KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 15 CẤU TRÚC CỦA CÁC CHUỖI PHỔ BIẾN DỰA TRÊN CÁC CHUỖI ĐÓNG VÀ CHUỖI SINH Tô Lan Nhia, Trần Ngọc Anha*, Dương Văn Hảia, Trương Chí Tí[.]
KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 CẤU TRÚC CỦA CÁC CHUỖI PHỔ BIẾN DỰA TRÊN CÁC CHUỖI ĐÓNG VÀ CHUỖI SINH Tô Lan Nhia, Trần Ngọc Anha*, Dương Văn Hảia, Trương Chí Tína a Khoa Tốn - Tin học, Trường Đại học Đà Lạt, Lâm Đồng, Việt Nam * Tác giả liên hệ: Email: anhtndalat@gmail.com Tóm tắt Bài tốn khai thác chuỗi phổ biến từ sở liệu có nhiều ứng dụng thực tiễn thương mại, truyền thơng, kinh tế, v.v Khó khăn lớn tốn khơng gian tìm kiếm lực lượng tập chuỗi phổ biến thường lớn (đặc biệt sở liệu lớn với ngưỡng phổ biến tối thiểu bé) Các thuật toán khai thác chúng thường tiêu tốn nhiều thời gian nhớ Ngồi ra, người sử dụng khó khăn việc hiểu quản lý số lượng lớn tập Gần đây, số tác giả đề xuất việc khai thác chuỗi phổ biến đóng chuỗi sinh phổ biến với số lượng thường bé hẳn so với số lượng chuỗi phổ biến Các tác giả rằng, từ chúng, ta thu tất chuỗi phổ biến khác, nhiên, chưa có thuật tốn tương ứng đề xuất Bài bào cấu trúc chuỗi phổ biến dựa chuỗi phổ biến đóng chuỗi sinh phổ biến Dựa cấu trúc này, ta phục hồi tất chuỗi phổ biến từ chuỗi phổ biến đóng chuỗi sinh phổ biến mà không cần quét lại sở liệu Quá trình phục hồi tạo nhiều chuỗi trùng lặp, đó, ta phải tốn nhớ để lưu trữ thời gian kiểm tra để loại bỏ chúng Để khắc phục khó khăn này, báo cáo đề xuất hai điều kiện để tỉa sớm chuỗi phổ biến trùng lặp q trình phục hồi Từ khóa: Khai thác chuỗi phổ biến; chuỗi phổ biến đóng; chuỗi sinh phổ biến 15 KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 STRUCTURE OF FREQUENT SEQUENCES BASED ON FREQUENT CLOSED SEQUENCES AND FREQUENT GENERATORS Tô Lan Nhia, Tran Ngọc Anha*, Duong Van Haia, Truong Chi Tina a The Faculty of Mathematics and Computer Science, Dalat University, Lamdong, Vietnam * Corresponding author: Email: anhtndalat@gmail.com Abstract Frequent sequence mining from database has many real applications such as communication, business, economic, etc The main difficulty of the problem is that the search space and the cardinality of the set of frequent sequences are often enormous (especially on big databases with small minimum support thresholds) The proposed algorithms for mining them consume much memory and time Furthermore, it is hard to the users for understanding and processing the result Recently, some authors propose the mining of frequent closed sequences and generators of which the cardinalities are usually smaller than that of frequent sequences They also show that, based on them, we can recover all remaining frequent sequences However, there is no algorithm for doing that The paper gives the structure of frequent sequences based on frequent closed sequences and frequent generators Thanks to the structure, all frequent sequences can be recovered without accessing the database Since the recovery can make many duplications, it needs to save and check to eliminate them To overcome this drawback, the paper proposes two pruning conditions and uses them to early prune duplications in the progress of recovering frequent sequences Keywords: Frequent sequence mining; frequent closed sequence; generator 16 KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 GIỚI THIỆU Khai thác liệu tiến trình rút trích thơng tin mẫu hữu ích (tường minh, không tầm thường, chưa biết trước đây) từ nguồn liệu lớn (như: sở liệu, kho liệu) thu thập từ ngành khoa học, kinh doanh kỹ thuật Khai thác liệu phần trình khám phá tri thức từ liệu Quá trình thường chứa ba bước (Han Kamber, 2000) Ở bước đầu tiên, liệu xử lý thô qua công đoạn sau: làm liệu, tích hợp liệu, chọn đặc trưng hữu ích, rút gọn số biến/số chiều liệu, biến đổi/rời rạc hóa liệu Sau đó, thuật tốn khai thác liệu áp dụng để rút trích thơng tin, tri thức tiềm ẩn Kết khai thác đánh giá bước hậu xử lý dựa yêu cầu người sử dụng tri thức biết trước Nếu kết khơng phù hợp, ta cần lặp lại q trình Khai thác chuỗi phổ biến (Agrawal Srikant, 1995) tốn khó, đóng vai trị quan trọng khai thác liệu có nhiều ứng dụng rộng rãi truyền thơng, thương mại, v.v Đã có nhiều thuật toán đề xuất để khai thác chuỗi phổ biến từ sở liệu Thuật toán PrefixSpan (Pei ctg, 2004) sử dụng định dạng liệu theo chiều ngang, tiếp cận phát triển mẫu sở liệu chiếu Các thuật toán SPADE (Zaki, 2001), SPAM (Ayres ctg, 2002) sử dụng định dạng theo chiều dọc cấu trúc bitmap Những cải tiến chúng CM-SPADE, CM-SPAM (Philip ctg, 2014a) sử dụng thông tin đồng xuất cặp thuộc tính phổ biến để tỉa sớm chuỗi cha khơng phổ biến Điểm chung thuật toán đề cập khai thác chuỗi phổ biến trực tiếp từ sở liệu Tuy nhiên, sở liệu lớn, đặc biệt với ngưỡng hỗ trợ tối thiểu bé, khơng gian tìm kiếm lực lượng tập chuỗi phổ biến (ký hiệu ℱ𝑟𝑒𝒮) q lớn Do đó, thuật tốn tiêu tốn nhiều nhớ chạy lâu trước cho kết Một tiếp cận gần hướng việc tìm tập chuỗi phổ biến tối đại (ký hiệu ℱℳ𝑎𝑥𝒮) sử dụng để tìm chuỗi phổ biến Chúng khơng cho phép rút gọn việc tính tốn lưu trữ mà cịn giúp phân tích kết dễ dàng Các chuỗi phổ biến tối đại (mọi chuỗi cha thật chuỗi phổ biến tối đại không chuỗi phổ biến) với số lượng bé nhiều xác định lớp tất chuỗi phổ biến (nhờ tính chất Apriori: tập chuỗi phổ biến chuỗi phổ biến với độ hỗ trợ lớn nó) Tuy nhiên, có nhiều chuỗi phổ biến khai thác trùng lặp (từ chuỗi phổ biến tối đại khác nhau) đánh thông tin độ hỗ trợ nên ℱℳ𝑎𝑥𝒮 khơng phù hợp cho việc tìm ℱ𝑟𝑒𝒮 Xuất phát từ lý thuyết dàn (Birkhoff, 1967), nghiên cứu gần tập trung vào nghiên cứu chuỗi phổ biến đóng Một chuỗi phổ biến đóng khơng có chuỗi phổ biến cha có độ hỗ trợ Nhờ đặc tính này, với số lượng vừa phải, không nhỏ số chuỗi phổ biến tối đại (thiếu thông tin cốt yếu độ hỗ trợ), không lớn số chuỗi phổ biến (thông tin độ hỗ trợ bị lưu trữ trùng lặp), tập chuỗi phổ biến đóng (ký hiệu ℱ𝒞𝑙𝑜𝒮) phù hợp với việc khai thác chuỗi phổ biến Từ chuỗi phổ biến đóng, ta dẫn nhóm chuỗi phổ biến khác có độ hỗ trợ, nói cách khác từ ℱ𝒞𝑙𝑜𝒮 ta dẫn ℱ𝑟𝑒𝒮 Các thuật tốn tiêu biểu tìm ℱ𝒞𝑙𝑜𝒮 Clospan (Yan, Han & Afshar, 2003), BIDE (Wang, Han & Chun, 2007), 17 KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 ClaSP (Gomariz ctg, 2013), CM-ClaSP (Philip ctg, 2014) FCloSM (Lê ctg, 2017) Có thể xem tập chuỗi phổ biến đóng biểu diễn đặc thích hợp (đã so sánh với ℱℳ𝑎𝑥𝒮) cho tập chuỗi phổ biến Trong nhiều nghiên cứu gần đây, tác giả quan tâm đến tập ℱ𝒢𝑒𝑛𝒮 chuỗi phổ biến mà chúng khơng có chuỗi phổ biến có độ hỗ trợ Một chuỗi phổ biến gọi chuỗi sinh phổ biến Hai thuật toán tiêu biểu tìm ℱ𝒢𝑒𝑛𝒮 VGEN (Philip ctg, 2014b) FGenSM (Lê ctg, 2017) Với lực lượng thường nhỏ so với lực lượng ℱ𝑟𝑒𝒮, việc khai thác ℱ𝒢𝑒𝑛𝒮 ℱ𝒞𝑙𝑜𝒮 thường diễn nhanh chóng tốn nhớ Một thuật tốn hiệu tìm đồng thời hai tập đề xuất gần FGenCloSM (Dương, Trương Lê, 2018) Một tìm chúng, ta biết ℱ𝑟𝑒𝒮 Câu hỏi đặt là, làm xác định (phục hồi) tất chuỗi phổ biến thuộc ℱ𝑟𝑒𝒮 từ ℱ𝒢𝑒𝑛𝒮 ℱ𝒞𝑙𝑜𝒮 mà quét lại sở liệu? Để trả lời câu hỏi này, cần biết cấu trúc chuỗi phổ biến dựa chuỗi phổ biến đóng chuỗi sinh phổ biến Đây mục tiêu báo cáo Trong q trình phục hồi, ta sinh trùng lặp chuỗi phổ biến, đó, ta phải tốn nhớ để lưu trữ thời gian kiểm tra để loại bỏ chúng Để vượt qua, báo cáo đề xuất hai điều kiện để tỉa sớm trùng lặp trình phục hồi Phần lại báo cáo gồm ba mục Ở mục 2, sau nhắc lại vài khái niệm sở, báo cáo đưa quan hệ tương đương chuỗi phổ biến sử dụng để phân hoạch tập tất chuỗi phổ biến ℱ𝑟𝑒𝒮 thành lớp tương đương Mục đưa cấu trúc lớp tương đương chuỗi phổ biến dựa vào chuỗi đóng chuỗi sinh lớp Nhờ cấu trúc này, ta hạn chế đáng kể trùng lặp xảy trình phục hồi chuỗi phổ biến từ chuỗi phổ biến đóng chuỗi sinh phổ biến Mục cuối kết luận PHÂN HOẠCH TẬP CÁC CHUỖI PHỔ BIẾN THÀNH CÁC LỚP TƯƠNG ĐƯƠNG 2.1 Một số khái niệm ký hiệu Gọi ℐ = {i , i , … , i } tập m thuộc tính phân biệt Một tập ℐ gọi kiện Sự kiện có nhiều thuộc tính viết cặp dấu ( ) khơng có phân cách thuộc tính Với kiện có thuộc tính, đơn giản ta viết thuộc tính Khơng tổng qt, giả sử thuộc tính kiện tăng dần theo thứ tự từ điển Một danh sách có thứ tự p kiện (p số nguyên dương) viết liền cặp dấu 〈 〉 gọi chuỗi Dữ liệu đầu vào sở liệu 𝒟 = {t , t , … , t } chứa n giao dịch, giao dịch mô tả chuỗi (gọi chuỗi đầu vào) Ta sử dụng ký hiệu ⊑ để định nghĩa quan hệ thứ tự chứa tập tất chuỗi sau: 18 KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 α⊑β ∃p ∈ 𝒩 ∗ , ⩽ j < j < ⋯ < j ⩽ q e ⊆ e , ∀k = 1, … , p Khi đó, ta gọi β chuỗi cha α ký hiệu: α ⊏ β (α ⊑ β ∧ α β) Gọi ts(α) ≝ {𝑡 ∊ 𝒟 | 𝑡 ⊒ α} tập tất chuỗi đầu vào chứa α Số lượng chuỗi đầu vào chứa α gọi độ hỗ trợ α, ký hiệu là: support(α) ≝ |ts(α)|1 Nếu độ hỗ trợ α lớn ngưỡng hỗ trợ tối thiểu msup cho trước, α gọi chuỗi phổ biến Tập tất chuỗi phổ biến định nghĩa ký hiệu: ℱ𝑟𝑒𝒮 ≝ {α | support(α) ≥ msup} Ví dụ Cho CSDL 𝒟 Bảng 1, với ℐ = {A, B, C, D, E, F, G, H} msup Chuỗi β = 〈D(AC)A〉 chuỗi phổ biến ts(β) = {t , t , t } support(β) = |ts(β)| = ≥ msup Bảng CSDL 𝓓𝟏 Định danh Chuỗi đầu vào t1 t2 t3 T4 Chuỗi σ gọi chuỗi đóng khơng tồn chuỗi cha có độ hỗ trợ với nó: ∄β ⊐ σ | suppport(σ) = support(β) Tập chuỗi đóng ký hiệu 𝒞𝑙𝑜𝒮 Cho trước chuỗi α, ta gọi Clo(α) ≝ {σ ∈ 𝒞𝒮 | (σ ⊒ α ∧ support(σ) = support(α))} tập chuỗi phổ biến đóng chứa (hay của) α có độ hỗ trợ với α Với chuỗi α bất kỳ, có nhiều chuỗi đóng tối tiểu (theo quan hệ thứ tự ⊑) chứa α, tức |Clo(α)| ⩾ Hơn nữa, Clo(σ) = {σ} ⇔ σ ∈ 𝒞𝑙𝑜𝒮 Chuỗi γ gọi chuỗi sinh khơng tồn chuỗi có độ hỗ trợ, ∄α ⊏ γ | support(γ) = support(α) Cho trước chuỗi α, ta gọi en(α) ≝ {γ ⊑ α | support(γ) = support(α)} tập chuỗi sinh chứa (hay của) α có độ hỗ trợ với α Ký hiệu |X| dùng để lực số phần tử tập hợp X Từ sau ta xét CSDL 𝒟 với msup 19 KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 Ví dụ Chuỗi phổ biến β cho Ví dụ chuỗi đóng α = 〈DA〉 ∄γ | (γ ⊐ β ∧ support(γ) = 3) chuỗi δ = 〈𝐷〉 chuỗi sinh α ∄δ′ | (δ′ ⊏ δ ∧ support(δ′) = support(δ)) Do msup = , support(δ) = support(α) = support(β) = 3, nên δ chuỗi sinh phổ biến Khi đó, Clo(β) = Gen(δ) = Ngồi ra, ta có Clo(δ) = {β, 〈D(AF)〉} Gen(〈D(AC)(AF)〉) = {〈DAF〉, 〈DCF〉} Gọi ℱ𝒞𝑙𝑜𝒮 ℱ𝒢𝑒𝑛𝒮 tập tất chuỗi phổ biến đóng tập tất chuỗi sinh phổ biến Trong nhiều CSDL, tỉ lệ tổng |ℱ𝒞𝑙𝑜𝒮| |ℱ𝒢𝑒𝑛𝒮| so với |ℱ𝑟𝑒𝒮| thường nhỏ, chẳng hạn 𝒟 với |ℱ𝒞𝑙𝑜𝒮| = 16 , |ℱ𝒢𝑒𝑛𝒮| = 20 |ℱ𝑟𝑒𝒮| = 1124, tỉ lệ khoảng 3.2% Tuy nhiên, từ chúng, ta thu tất chuỗi phổ biến khác mà không cần quét lại sở liệu Trước hết, ta xét quan hệ tương đương tập chuỗi, sau sử dụng để phân hoạch tập ℱ𝑟𝑒𝒮 thành lớp tương đương 2.2 Quan hệ tương đương tập chuỗi Quan hệ hai ~ tập chuỗi, định nghĩa sau: Với hai chuỗi α, β ta có: α ~ β ts(α) = ts(β) Dễ thấy ~ quan hệ tương đương Khi đó, phân hoạch tập chuỗi thành lớp tương đương Lớp tương đương chứa 𝛼 ký hiệu [𝛼], [𝛼] ≝ {𝛽 | ts(β) = ts(α)} Trong lớp tương đương, độ hỗ trợ bảo toàn, tức là: (1) α ~ β ⟹ support(α) = support(β), ∀β ∈ [𝛼] 2.3 Phân hoạch tập chuỗi phổ biến thành lớp tương đương Từ quan hệ tương đương ~ , ta phân hoạch tập tất chuỗi phổ biến ℱ𝑟𝑒𝒮 thành lớp tương đương Không tổng quát, ta cần xét lớp tương đương cách độc lập Vì chúng rời nhau, nên trình xác định chuỗi phổ biến thuộc ℱ𝑟𝑒𝒮 không bị trùng lặp từ lớp sang lớp (kiểu trùng lặp 1) Hơn nữa, ta giảm đáng kể việc tính tốn lưu trữ trùng lặp độ hỗ trợ lớp Đây sở cho thuật tốn song song hiệu khai thác tập chuỗi phổ biến môi trường song song phân tán Trước hết, gọi 𝒯𝒮 ≝ {ts(σ) | σ ∈ ℱ𝒞𝑙𝑜𝒮} Khi đó, với 𝓉𝓈 ∈ 𝒯𝒮, gọi ℱ𝒮(𝓉𝓈) ≝ {α ∈ ℱ𝑟𝑒𝒮 | ts(α) = 𝓉𝓈} (2) (3) lớp tương đương có đại diện 𝓉𝓈 Vì ~ quan hệ tương đương, nên ta có: Ta gọi tắt “lớp tương đương có đại diện 𝓉𝓈” “lớp tương đương 𝓉𝓈” 20 KỶ YẾU HỘI NGHỊ KHOA HỌC THƯỜNG NIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018 ℱ𝑟𝑒𝒮 = ∑𝓉𝓈∈𝒯𝒮 ℱ𝒮(𝓉𝓈) (4) Nghĩa là, {ℱ𝒮(𝓉𝓈), 𝓉𝓈 ∈ 𝒯𝒮} tạo phân hoạch (thô) ℱ𝑟𝑒𝒮 Một phân hoạch mịn ℱ𝑟𝑒𝒮 Mục 3.3 Ví dụ Ta có |ℱ𝑟𝑒𝒮| = 1124 chuỗi phổ biến 𝒯𝒮 5= 𝓉𝓈 , k = 1,6 , đó: 𝓉𝓈 = {t , t }, 𝓉𝓈 = {t , t , t }, 𝓉𝓈 = {t , t }, 𝓉𝓈 = {t , t , t , t }, 𝓉𝓈 = {t , t } 𝓉𝓈 = {t , t , t } Khi đó, ℱ𝑟𝑒𝒮 phân hoạch thành lớp tương đương Hình Hình Phân hoạch thô tập 𝓕𝒓𝒆𝓢 ứng với 𝓓𝟏 𝐦𝐬𝐮𝐩 Lớp tương đương [α] đại diện ts(α) chứa chuỗi tối đại thuộc Clo(α) chuỗi tối tiểu thuộc Gen(α) (theo quan hệ thứ tự ⊑) chuỗi biết thuộc ℱ𝒞𝑙𝑜𝒮 ℱ𝒢𝑒𝑛𝒮 tương ứng Các chuỗi cịn lại (thuộc ℱ𝑟𝑒𝒮) lớp chuỗi đứng sau chuỗi sinh đứng trước chuỗi đóng (theo ⊑) Vì vậy, biết chuỗi đóng chuỗi sinh lớp, ta hồn tồn xác định tất chuỗi cịn lại Nói cách khác, ta phục hồi lớp ℱ𝑟𝑒𝒮 tất chuỗi phổ biến từ ℱ𝒞𝑙𝑜𝒮 ℱ𝒢𝑒𝑛𝒮 mà không cần quét lại sở liệu Để sinh chuỗi phổ biến lại lớp, ta cần bổ sung thêm chuỗi chuỗi đóng vào chuỗi sinh Q trình phục hồi theo cách tạo chuỗi phổ biến trùng lặp (trong lớp), đó, ta phải tốn nhớ để lưu trữ thời gian kiểm tra để loại bỏ chúng CẤU TRÚC CỦA LỚP TƯƠNG ĐƯƠNG CÁC CHUỖI PHỔ BIẾN Khơng tính tổng qt, phần ta xét lớp tương đương 𝓉𝓈, 𝓉𝓈 ∈ 𝒯𝒮 Gọi Clo(𝓉𝓈) ≝ {σ ∈ ℱ𝒞𝑙𝑜𝒮 | ts(σ) = 𝓉𝓈} (5) Ký hiệu Σ biểu thị phép hợp tập rời Từ sau ta sử dụng giá trị 𝒯𝒮 21 ... vào chuỗi đóng chuỗi sinh lớp Nhờ cấu trúc này, ta hạn chế đáng kể trùng lặp xảy trình phục hồi chuỗi phổ biến từ chuỗi phổ biến đóng chuỗi sinh phổ biến Mục cuối kết luận PHÂN HOẠCH TẬP CÁC CHUỖI... định (phục hồi) tất chuỗi phổ biến thuộc ℱ