II. NỘI DUNG
2.6.2 Khai phá dựa vào các ràng buộc thêm về luật (rule constraints)
Ràng buộc luật chỉ ra mối quan hệ cha-con, giá trị của các biến và các hàm kết hợp. Nó có thể được sử dụng cùng với metarule hoặc sử dụng riêng lẽ. Giả sử xét các biến S1, S2 trong A hoặc B trong luật A→ B
- Ràng buộc quan hệ cha con: S1 ⊆/⊂ S2
- Ràng buộc miền giá trị của các biến: là ràng buộc có dạng:
o S1θ value, trong đó θ ∈ {=, <>, <, <=, >, >=}
o value ∈/∉ S1
o ValueSet θ S1 hoặc S1θ ValueSet. Trong đó, θ∈ {=, <>, ⊆, ⊂, ⊄} - Ràng buộc các hàm kết hợp: là rác ràng buộc có dạng:
o Agg(S1) θ value . Trong đó Agg() ∈ {min, max, sum, count, avg}
θ∈ {=, <>, <, <=, >, >=}
Ví dụ: Giả sử có cơ sở dữ liệu đa chiều AllElectronics như sau:
- sales (customer_name, item_name, transaction_id)
- lives (customer_name, region, city)
- item (item_name, category, price)
- transaction (transaction_id, date, month, year)
Ở đây, lives, item và transaction là các bảng 3 chiều, liên kết đến bảng sales thông qua các thuộc tính customer_name, item_name, transaction_id.
Yêu cầu đặt ra là “tìm các mặt hàng bán giá rẻ (tổng giá nhỏ hơn $100), các mặt hàng đó được lấy từ các mặt hàng đắt giá được khuyến mãi (giá nhỏ nhất là $500), trong cùng một loại hàng đã bán cho khách hàng ở Vancover trong năm 1999”. Yêu cầu này được mô tả dưới dạng câu lệnh truy vấn khai phá dữ liệu DMQL như sau:
1) mine association as
2) lives(C,_,”vancover”) ∧ sales+(C,?{I},?{J}) ⇒ sales+(C,?{J},?{T}) 3) from sales
4) where S.year = 1999 and T.year=1999 and I.category=J.category 5) group by C, I.category
6) having sum (I.price) <= 100 and min(J.price)>=500 7) with support threshold =1%
8) with confidence threshold=50%
Ở đây dòng 1 chỉ ra loại ràng buộc tri thức, dòng 2 chỉ ra metarule. Đây là một hình thức viết tắt cho metarule sau:
lives(C,_,”Vancover”) ∧ sales(C,?I1, S1) ∧…∧ sales(C,?Ik, Sk) ˄ I = (I1,…,Ik) ˄ S =(S1,…, Sk)⇒ sales (C,?I1,T1) ∧…∧ sales(C,?Jm, Tm) ˄ J = (J1, …,Jm) ˄ T =(T1,…, Tm)
Nghĩa là một hoặc nhiều mẫu tin trong bảng sales trong phần “sales(C,?I , S )∧…∧sales(C,?I,S)” sẽ nằm tại các tiên đề quy tắc (bên
trái), dấu “?” nghĩa là một và chỉ một phần tử I1,…,Ik cần được in ra. “I = (I1,…,Ik)” nghĩa là tất cả các I trong tiên đề được lấy từ tập I thu được từ câu lệnh tự SQL với ràng buộc ở dòng 4.
Metarule có thể cho phép sinh luật có dạng như sau: lives(C,_,”vancouver”) ˄ sales(C,”Census_CD”,_) ˄
sales(C,”MS/Office97”,_) ⇒ sales(C,”MS/SQLServer”,_) [1.5%, 68%] nghĩa là nếu một khách hàng ở Vancouver mua “Census_CD” và “MS/Office97”, thì 68% khả năng người đó sẽ mua “MS/SQLServer”, và 1,5% khả năng xảy ra trường hợp tất cả khách hàng mua cả 3 loại sản phẩm nói trên.
Ràng buộc dữ liệu chỉ ra trong phần “lives(_,_,”Vancouver”) trong phần metarule (nghĩa là, tất cả khách hàng ở Vancouver) được miêu tả trong dòng 3, chỉ ra rằng thực tế chỉ có bảng Sales cần được tham chiếu rõ ràng. Trong cơ sở dữ liệu đa chiều, biến tham chiếu rất đơn giản. Ví dụ “S.year=1999”.
Trong cả 3 chiều được sử dụng (lives, item và transaction). Mức độ ràng buộc như sau: bảng lives: xét customer_name từ thành phố Vancouver; bảng Item: xét item_name và category; bảng transaction: xét transaction_id và year.
Ràng buộc luật bao gồm một phẩn trong lệnh đề where (dòng 4) và having (dòng 6), như “S.year=1999”, “T.year=1999”, “I.category=J.category”, “sum(I.price)<=100”, ”min(J.price)>=500”. Cuối cùng, dòng 7 và 8 chỉ ra độ hỗ trợ tối thiểu là 1% và độ tin cậy tối thiểu là 50%.
Tính chất của các ràng buộc luật:
-Anti-monotone: Một ràng buộc Ca là inti-monotone nếu trường hợp S không thỏa mãn Ca thì tất cả các trường hợp lớn hơn S đều không thỏa mãn ràng buộc này
Ví dụ: sum(S.Price) <= value, S.year = 1999
- Monotone: Một ràng buộc Cm là monotone nếu mới mọi trường hợp S thỏa mãn Cm thì tất cả các trường hợp lớn hơn S đều thỏa mãn ràng buộc này
- Succinctness: Một tập con của phần tử Is là succinct nếu nó có thể biểu diễn dưới dạng σp(I) để lựa chọn vị từ p.
Ví dụ: min(S.Price) <= value
- Convertible: Ràng buộc là convertibe nếu thỏa 1 trong các t.chất sau:
o là các ràng buộc không có tính chất anti-monotone, monotone và succinctness
o là các ràng buộc hoặc là anti-monotone hoặc là monotone nếu các phần tử trong tập mục đang kiểm tra có thứ tự
Ví dụ: Nếu các phần tử sắp theo thứ tự tăng dần thì avg(I.price) <= 100 là một convertible anti-monotone constraint.
Nếu các phần tử sắp theo thứ tự giảm dần thì avg(I.price) <= 100 là một convertible monotone constraint.
Bảng liệt kê tính chất của các ràng buộc:
- Các tiếp cận trực tiếp:
o Áp dụng các giải thuật truyền thống
o Kiểm tra ràng buộc cho từng kết quả đạt được, nếu thỏa mãn thì trả về kết quả sau cùng
- Cách tiếp cận dựa trên tính chất của các ràng buộc:
o Phân tích toàn diện các tính chất của các ràng buộc
o Kiểm tra các ràng buộc càng sớm càng tốt trong quá trình khai phá, đảm bảo không gian dữ liệu thu hẹp càng sớm càng tốt.