Trong bài báo này phát biểu bài toán khai thác luật tuần tự với ràng buộc Itemset ở vế trái của luật và đề xuất hai thuật toán MSRIC_R và MSRIC_P để giải quyết bài toán này. Trong đó, MSRIC_R thực hiện đưa ràng buộc vào giai đoạn sinh luật từ tập mẫu tìm được, còn MSRIC_P thực hiện ở giai đoạn tìm mẫu trước. Mời các bạn cùng tham khảo!
KHAI THÁC LUẬT TUẦN TỰ CÓ RÀNG BUỘC ITEMSET DỰA TRÊN TẬP MẪU THỎA RÀNG BUỘC Văn Thị Thiên Trang Khoa Công nghệ Thông tin, trường Đại học Công nghệ Tp Hồ Chí Minh, Việt Nam TĨM TẮT Trong báo này, chúng tơi phát biểu tốn khai thác luật với ràng buộc Itemset vế trái luật đề xuất hai thuật toán MSRIC_R MSRIC_P để giải tốn Trong đó, MSRIC_R thực đưa ràng buộc vào giai đoạn sinh luật từ tập mẫu tìm được, cịn MSRIC_P thực giai đoạn tìm mẫu trước Kết thực nghiệm cho thấy MSRIC_P hiệu In this paper, we state the problem of mining sequential rules with itemset contraint in the pre-condition of the rule and propose two algorithms, named MSRIC_R and MSRIC_P, to solve this problem MSRIC_R algorithm puts the constraints into the rule generating process, and MSRIC_P puts into the pattern mining process The experimental results show that MSRIC_P is more efficient than the other in all cases examined in this work Key words: Sequential rule, constraint, sequential pattern, prefix-tree, sequence database GIỚI THIỆU Luật sinh từ mẫu tuần tự, biểu diễn mối quan hệ hai loạt kiện, loạt kiện xảy sau loạt kiện Một luật khai thác biểu diễn dạng , nghĩa X có mặt chuỗi sở liệu (CSDL) với độ tin cậy cao khẳng định Y xuất chuỗi theo sau X Nó ứng dụng việc dị lỗi, phát xâm nhập bẫy lỗi, lĩnh vực y dược, thương mại điện tử Tùy thuộc vào lĩnh vực ứng dụng, nhu cầu khai thác luật khác Nếu khai thác trả tập đầy đủ luật tốn nhiều thời gian nhớ Một số nghiên cứu tiến hành khai thác luật khơng dư thừa nhằm tìm luật tổng quát nhất, thu gọn số lượng tập luật khai thác Tuy nhiên, khai thác theo yêu cầu người dùng luật tổng quát luật không dư thừa không đáp ứng Do đó, báo này, chúng tơi đề xuất tốn khai thác luật có ràng buộc Ràng buộc đại diện cho yêu cầu mối quan tâm người dùng Vì luật có dạng left right, ràng buộc xảy vế trái vế phải hai Trong nghiên cứu này, chúng tơi tìm hiểu ràng buộc vế trái, vế trái phải chứa số itemset người dùng Ví dụ, lĩnh vực y học, chuyên gia cần biết bệnh nhân ung thư có triệu chứng {đau ngực, ho, hạch} triệu chứng phổ biến giai đoạn gì, từ đưa chẩn đốn điều trị phù hợp Khi đó, tốn đặt cần tìm luật mà vế trái có chứa tập {đau ngực, ho, hạch} Có hai hướng giải toán này: Đưa ràng buộc vào sau trình khai thác: Tìm tập luật đầy đủ, sau kiểm tra ràng buộc luật để chọn luật thỏa ràng buộc; Đưa ràng buộc vào trình khai thác: Chỉ tìm luật thỏa ràng buộc trình khai thác 185 Ta thấy hướng giải thứ tốn thời gian nhớ phương pháp phải tìm tập mẫu đầy đủ tập luật đầy đủ nên đòi hỏi nhiều thời gian nhớ Hơn nữa, phải tốn thêm thời gian kiểm tra ràng buộc cho luật tập luật đầy đủ tìm Hướng giải thứ hai đưa ràng buộc vào q trình khai thác, đưa ràng buộc vào giai đoạn sinh luật giai đoạn tìm mẫu Như vậy, để giải tốn khai thác luật với ràng buộc Itemset vế trái, thực đưa ràng buộc vào trình khai thác, hai cách đưa ràng buộc vào giai đoạn tìm mẫu giai đoạn sinh luật Từ đó, đối chiếu so sánh đưa phương pháp tối ưu CÁC ĐỊNH NGHĨA VÀ PHÁT BIỂU BÀI TOÁN Cho tập I = {i1, i2, …, im} gồm m phần tử gọi item Itemset: Một itemset tập khơng có thứ tự khác rỗng, gồm item thuộc tập I, ký hiệu (i1, i2, …, ik ) với ij (1 j k) item Chuỗi: Một chuỗi (sequence) danh sách có thứ tự itemset Chuỗi S ký hiệu s1 s2… sn với si (1 i n) itemset Chiều dài chuỗi tổng số item có chuỗi Chuỗi có chiều dài k cịn gọi k-sequence Chuỗi con: Chuỗi Sa = a1 a2 … an gọi chuỗi chuỗi Sb =b1 b2 … bm ký hiệu Sa Sb, tồn số nguyên j1 < j2 < … < jn m cho a1 bj1, a2 bj2, …, an bjn Cơ sở liệu chuỗi: Cơ sở liệu chuỗi SDB tập hợp chuỗi liệu có dạng (sid, s), sid định danh chuỗi s chuỗi itemset Độ phổ biến: Độ phổ biến (support) mẫu p số lượng chuỗi CSDL chuỗi SDB có chứa p, ( ) |* | ký hiệu +| Mẫu tuần tự: Cho trước ngưỡng phổ biến tối thiểu (minSup) người dùng qui định, minSup 0, 1 Một mẫu p gọi phổ biến sup(p) minSup, p gọi mẫu Như vậy, mẫu chuỗi phổ biến tìm CSDL Tiền tố hoàn toàn, hậu tố Chuỗi Sa = a1 a2 … an gọi tiền tố hoàn toàn chuỗi Sb =b1 b2 … bm (n < m), = bi với i n Kí hiệu: Sa » Sb Sau loại bỏ phần tiền tố hoàn toàn Sb chuỗi Sa, phần chuỗi lại gọi hậu tố Sa Từ định nghĩa chuỗi con, ta có tiền tố Sa Sb Từ định nghĩa ta thấy chuỗi có kích thước k có (k-1) tiền tố hồn tồn Ví dụ, chuỗi A(BC)D có tiền tố A, AB A(BC) có tiền tố hoàn toàn A A(BC) Do đó, (BC)D hậu tố A D hậu tố A(BC) Luật biểu diễn mối quan hệ hai loạt kiện xảy tuần tự, biểu thị dạng XY (sup, conf), X loạt kiện xảy trước, Y loạt kiện xảy sau, sup giá trị độ phổ biến conf giá trị độ tin cậy luật Từ mẫu có, luật r xây dựng cách tách mẫu làm hai phần: phần tiền tố X phần hậu tố Y (nối tiền tố với hậu tố: X++Y, ta mẫu ban đầu) Độ phổ biến độ tin cậy luật xác định sau: Độ phổ biến: sup(r) = sup(X++Y) 100% Độ tin cậy: conf(r) = sup(X++Y) / sup(X) 100% Độ phổ biến luật số chuỗi CSDL có chứa mẫu tạo nên luật Độ tin cậy luật với khả chuỗi CSDL có chứa tiền tố luật dẫn đến chứa hậu tố luật 186 Với mẫu kích thước k, tạo (k-1) luật mẫu kích thước k có (k-1) tiền tố Ví dụ, với mẫu (A)(BC)(D) có kích thước 3, tạo luật (A)(BC)(D), (A)(BC)(D) Bài toán khai thác luật với ràng buộc itemset: Mẫu thỏa ràng buộc: Mẫu a1 a2 … an coi chứa itemset c i [1, n] cho c Luật thỏa ràng buộc: Cho ràng buộc c, luật r = a1 a2 … an b1 b2 … bm, vế trái luật a1 a2 … an có chứa itemset c r gọi luật thỏa-c Cho CSDL SDB, tập itemset ràng buộc ℂ = {c1, c2 ck}, ngưỡng phổ biến tối thiểu minSup ngưỡng tin cậy tối thiểu minConf người dùng Bài toán khai thác luật với ràng buộc itemset tìm tất luật thỏa mãn ngưỡng minSup minConf, vế trái luật có chứa itemset tập ℂ R = {r: XY| sup(r) minSup conf(r) minConf i: i k, X ci, ci ℂ} CÁC NGHIÊN CỨU LIÊN QUAN Phương pháp khai thác tập luật đầy đủ đề xuất Spiliopoulou [[1]] Sau khái qt thành thuật tốn Full Lo đồng sự, thuật tốn cố gắng tìm tất luật từ mẫu khai thác Khi sinh luật từ mẫu tuần tự, độ tin cậy luật phụ thuộc vào độ phổ biến tiền tố Do đó, với tiền tố mẫu tuần tự, ta phải lấy độ phổ biến tiền tố Thuật toán Full xác định độ phổ biến tiền tố cách duyệt toàn tập mẫu nên tốn nhiều thời gian Một số thuật toán cải tiến thuật toán Full MSR_PreTree [[4]], IMSR_PreTree [[5]] cách sử dụng đặc điểm cấu trúc tiền tố Dựa tiền tố, thuật toán tạo luật đáng tin cậy từ mẫu mà không cần duyệt lại tập mẫu nhiều lần Trong báo này, áp dụng cấu trúc liệu tiền tố để sinh luật thỏa ràng buộc itemset PHƢƠNG PHÁP ĐỀ XUẤT Để giải toán khai thác luật với ràng buộc itemset vế trái luật, báo đề xuất hai thuật tốn có tên MSRIC-R MSRIC-P, sử dụng cấu trúc tiền tố để lưu tập mẫu phổ biến tìm tiến hành sinh luật trực tiếp từ Cả hai thuật toán thực đưa ràng buộc vào trình khai thác Với MSRIC-R đưa ràng buộc vào giai đoạn sinh luật, MSRIC-P đưa ràng buộc vào giai đoạn tìm mẫu 4.1 Cấu trúc tiền tố Cây tiền tố có thứ tự, quan hệ nút cha với nút tương ứng quan hệ chuỗi chuỗi cha Cây tiền tố xây dựng sau: nút gốc gán nhãn chuỗi rỗng , nút mức k gán nhãn mẫu độ dài k Mở rộng mẫu độ dài k cách thêm vào item phổ biến ta nút cho mức (k + 1) Có hai cách mở rộng: mở rộng sequence (item thêm vào mẫu đóng vai trị itemset mới) mở rộng itemset (item thêm vào itemset cuối mẫu) Tính chất tiền tố: Mẫu X nút (trừ nút gốc) tiền tố tất mẫu nằm có gốc nút mở rộng sequence X [[4]] Các mẫu có dạng X a1 a2 … am (với itemset) 187 4.2 Thuật toán MSRIC-R Thuật toán MSRIC-R đưa ràng buộc vào giai đoạn sinh luật dựa ý tưởng sau: mẫu X tiền tố hoàn toàn tất mẫu nằm có gốc nút mở rộng sequence X; vậy, tiến hành sinh luật từ tất mẫu X a1 a2 … am (m > 0) nằm với vế trái luật X Khi đó, luật sinh có dạng X a1 a2 … am Lưu ý rằng, luật tạo phải thỏa ràng buộc itemset vế trái, phải kiểm tra mẫu X có chứa itemset ràng buộc không Để tránh phải kiểm tra ràng buộc cho mẫu vế trái luật, đề xuất mệnh đề sau Mệnh đề (Kiểm tra ràng buộc luật) Lấy X mẫu tiền tố, Y nút mở rộng X, ST(Y) có gốc Y Nếu X chứa itemset c mẫu P chứa itemset c, P ST(Y) Chứng minh: Vì Y nút mở rộng X nên theo định nghĩa mở rộng mẫu ta có X Y P ST(Y), Y P (theo cách xây dựng tiền tố) Do đó, X P (1) Theo giả thiết, X chứa itemset c tức i [1, size(X)], c xi X (2) Từ (1) (2) ta có P chứa c Dựa vào mệnh 1, thuật tốn MSRIC-R sinh luật trực tiếp từ mẫu bỏ qua bước kiểm tra ràng buộc cho số lượng lớn luật Mã giả thuật tốn trình bày Bảng Trước hết, thuật tốn tìm tập tất mẫu tuần tự, áp dụng phương pháp vector bit động cấu trúc tiền tố Kết tập mẫu lưu trữ tiền tố (dòng 2) Tại mức tiền tố, với gốc atom, sinh luật ứng với cách gọi thủ tục MINE-RULE-CHECK (dòng - 4) sau: Lấy X mẫu nút gốc root, X có chứa số itemset ràng buộc luật có vế trái X thỏa ràng buộc Do đó, thuật toán sinh luật với vế trái X, từ mẫu mở rộng sequence X mẫu có tiền tố hồn tồn X cách gọi thủ tục GENERATE-RULES (dịng 7) Tất nút mở rộng nút gốc root thời trở thành tiền tố mức kế tiếp, gọi đệ quy thủ tục với nút root, bao gồm nút mở rộng sequence itemset (dòng -16) Tuy nhiên, theo Mệnh đề 1, X chứa itemset ràng buộc mẫu thuộc mở rộng từ X Do đó, gọi đệ quy thủ tục ta không cần kiểm tra ràng buộc Thủ tục MINE-RULE tương tự thủ tục MINE-RULE-CHECK, khác chỗ bỏ qua bước kiểm tra ràng buộc Quá trình đệ quy lặp lại mức cuối Bảng Thuật tốn MSRIC-R Thuật tốn MSRIC-R Duyệt CSDL chuỗi tìm F1 tìm itemset phổ biến ℂ ; Phát triễn mẫu từ F1, tìm FP = Tất mẫu có support minSup, lưu trữ tiền tố; For each node atom at level in FP MINE-RULE-CHECK(atom); MINE-RULE-CHECK(root): Lấy Seq-Set = Mở rộng sequence nút root; Lấy Items-Set = Mở rộng itemset nút root; If (X = mẫu root có chứa itemset c ℂ ) then For each node nseq in Seq-set Gọi thủ tục GENERATE-RULES(X, ST(nseq)); Gọi thủ tục MINE-RULE(nseq); 10 For each node nitem in Items-Set 11 Gọi thủ tục MINE-RULE(nitem); 12 13 188 If (X không thỏa ràng buộc c nào, c ℂ ) then For each node nseq in Seq-set 14 15 16 Gọi thủ tục MINE-RULE-CHECK(nseq); For each node nitem in Items-Set Gọi thủ tục MINE-RULE-CHECK(nitem); GENERATE-RULES(X, ST(nseq)) For each pattern p in ST(nseq) Tạo luật r = X Y, với X++Y = p; If (sup(p)/sup(X) minConf) then R = R {r}; Else Dừng sinh luật với nút mở rộng từ p; 4.3 Thuật toán MSRIC-P Thuật toán MSRIC-P đưa ràng buộc vào trình khai thác, nhiên đưa giai đoạn khai thác mẫu Thuật toán MSRIC-P sinh trực tiếp luật thỏa ràng buộc từ tập mẫu thỏa ràng buộc tìm được, mà khơng cần phải kiểm tra ràng buộc luật thuật toán MSRIC-R Mệnh đề (Sinh luật thỏa ràng buộc) Lấy X mẫu tiền tố chứa tập mẫu FCP, Seq-T(X) có gốc nút mở rộng sequence X Luật tạo từ mẫu p Seq-T(X) với vế trái tiền tố X luật thỏa-c Chứng minh: Theo giả thiết X FCP nên X mẫu thỏa-c với c ℂ = {c1, c2 cn} Mặt khác, p Seq-T(X) nên ta có X » p Suy p có dạng X a1 a2 … am, m > 0, itemset Vậy ta tạo luật r từ p với vế trái tiền tố X có dạng X a1 a2 … am Vì X mẫu thỏa-c nên theo ta có r luật thỏa-c Bảng Thuật toán MSRIC-P Thuật toán MSRIC-P Đầu vào: SDB, ℂ = {c1, c2 , ck}, minSup, minConf Đầu ra: CR = {r: X Y| sup(r) minSup conf(r) minConf k: k n, X ck, ck ℂ } Duyệt CSDL chuỗi, tìm itemset ℂ phổ biến tìm FCP = Tất mẫu thỏa ràng buộc ℂ có support minSup, lưu trữ tiền tố, sử dụng thuật toán MSPIC-DBV; For each atom in FCP CR = CR Gọi thủ tục MINE-RULE(atom); Thuật toán MSRIC-P thực sinh luật theo cách thức MSRIC-R, mẫu X tiền tố hoàn toàn tất mẫu nằm Seq-T(X); vậy, thực sinh luật từ tất mẫu p = X a1 a2 … am Seq-T(X), với vế trái luật X Khi đó, luật r tạo từ p có dạng X a1 a2 … am Vì mẫu X FCP nên theo Mệnh đề ta có r luật thỏa-c Do đó, thuật tốn MSRIC-P sinh tập luật thỏa ràng buộc mà không cần thực giai đoạn kiểm tra ràng buộc cho tập luật sinh phương pháp đưa ràng buộc vào sau, không kiểm tra ràng buộc cho luật tạo MSRICR Thuật toán MSRIC-P trình bày Bảng gồm hai giai đoạn: Tìm tập FCP gồm mẫu phổ biến thỏa ràng buộc itemset từ CSDL, lưu cấu trúc tiền tố [[3]] Sinh luật r đáng tin cậy thỏa ràng buộc từ tập mẫu FCP 189 KẾT QUẢ THỰC NGHIỆM 5.1 Dữ liệu thực nghiệm Chúng tiến hành thực nghiệm CSDL tổng hợp C20T50S20I10N1kD100k Vì tập itemset ràng buộc ℂ người dùng đưa ra, để thực nghiệm tập ℂ phát sinh ngẫu nhiên Độ chọn lọc ràng buộc tỉ lệ (%) itemset chọn để sinh tập ℂ Kí hiệu selectivity Thực nghiệm so sánh thời gian thực thuật toán: MSRIC-B (đưa ràng buộc vào sau trình khai thác), MSRIC-R MSRIC-P với thay đổi giá trị minSup, minConf selectivity 5.2 Phân tích kết Về hiệu Thực nghiệm so sánh khai thác luật đầy đủ (khơng có ràng buộc) với luật có ràng buộc Itemset vế trái Kết thực nghiệm cho thấy CR R với ℂ Điều dĩ nhiên khai thác có ràng buộc trả tập luật thỏa ràng buộc mà người dùng yêu cầu Về thời gian (1) Selectivity thay đổi (2) minSup thay đổi (3) minConf thay đổi Hình So sánh thời gian khai thác luật thuật toán CSDL C20T50S20I10N1kD100k Các kết thực nghiệm chứng tỏ việc đưa ràng buộc vào trình khai thác hiệu so với đưa vào sau Hơn nữa, thời gian khai thác đưa ràng buộc vào giai đoạn khai thác mẫu vượt trội nhiều so với đưa vào giai đoạn sinh luật KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Trong báo này, đề xuất phương pháp khai thác luật với ràng buộc itemset vế trái cách hiệu cách đưa ràng buộc vào q trình khai thác, với hai thuật tốn MSRIC-R MSRIC-P Trong đó, MSRIC-P thực đưa ràng buộc vào giai đoạn tìm mẫu hiệu hơn, chứng tỏ nên sử dụng tập mẫu thỏa ràng buộc từ đầu để sinh luật có ràng buộc Hướng phát triển tiến hành nghiên cứu bổ sung thêm ràng buộc tập itemset cha, ràng buộc vế phải luật 190 TÀI LIỆU THAM KHẢO [1] M Spiliopoulou (1999), Managing Interesting Rules in Sequence Mining, Proceedings of European Conference on Principles of Data Mining and Knowledge Discovery, , pp 554-560 [2] T M Thai, L Bac, V Bay & T.P Hong (2016), Mining non-redundant sequential rules with dynamic bit vectors and pruning techniques, Appl Intell 45(2), pp 333-342 [3] V Trang, V Bay, & L Bac (2018), Mining sequential patterns with itemset constraints, Knowledge and Information Systems 57(2), pp 311-330 [4] V Trang, V Bay & L Bac (2011), Minning sequential rules based on prefix-tree, New Challenges for Intelligent Information and Database Systems Springer Berlin Heidelberg, pp 147-156 [5] V Trang, V Bay, & L Bac (2014), IMSR_PreTree: an improved algorithm for mining sequential rules based on the prefix-tree, Vietnam Journal Computer Science 1(2), pp 97-105 191 ... đoạn khai thác mẫu Thuật toán MSRIC-P sinh trực tiếp luật thỏa ràng buộc từ tập mẫu thỏa ràng buộc tìm được, mà khơng cần phải kiểm tra ràng buộc luật thuật toán MSRIC-R Mệnh đề (Sinh luật thỏa ràng. .. khai thác, đưa ràng buộc vào giai đoạn sinh luật giai đoạn tìm mẫu Như vậy, để giải toán khai thác luật với ràng buộc Itemset vế trái, thực đưa ràng buộc vào trình khai thác, hai cách đưa ràng buộc. .. n] cho c Luật thỏa ràng buộc: Cho ràng buộc c, luật r = a1 a2 … an b1 b2 … bm, vế trái luật a1 a2 … an có chứa itemset c r gọi luật thỏa- c Cho CSDL SDB, tập itemset ràng buộc ℂ = {c1,