Bài toán học khái niệm cho cơ sở tri thức trong logic mô tả với Ngữ cảnh (2) tương tự như bài toán học khái niệm cho cơ sở tri thức với Ngữ cảnh (1). Điểm khác ở đây là điều kiện thứ hai được thay thế bởi một điều kiện yếu hơn. Cụ thể, khái niệm C
thỏa mãn các điều kiện sau:
• KB |=C(a) với mọia∈E+, và • KB 6|=C(a), với mọi a∈E−.
trong đó E+ chứa các mẫu dương và E− chứa các mẫu âm của khái niệmC.
Chúng tôi đề xuất Thuật toán BBCL2 để giải quyết bài toán học khái niệm cho cơ sở tri thức trong logic mô tả với Ngữ cảnh (2). Thuật toán này dựa trên Thuật toán dual-BBCL với ý tưởng là sử dụng các mô hình của KB và mô phỏng hai chiều trong các mô hình đó để tìm kiếm khái niệm C. Tương tự như Thuật toán BBCL, Hàm partition được sử dụng để làm mịn phân hoạch {∆I} của diễn dịch I là mô hình của KB nhằm đạt được phân hoạch nhất quán với tập các đối tượng cần học E =hE+, E−icho trước.
Thuật toán BBCL2 tiến hành xây dựng tập E0− và mở rộng nó sao cho E0− phủ càng lúc càng nhiều các cá thể trong E−, tậpCgồm các phần là các khái niệm D sao cho KB |= D(a) với mọi a ∈ E+ và tập C0 gồm khái niệm để trợ giúp cho việc xây dựng tập C. Khi một khái niệm D không thỏa mãn điều kiện KB |= D(a) với mọi
a ∈E+ nhưng nó là một khái niệm ứng viên “tốt” thì khái niệm D được đưa vàoC0. Sau này, khi cần thiết, các khái niệm trong C0 được lấy ra, thực hiện phép hợp và kiểm tra xem nó có thỏa mãn điều kiện để thêm vào Chay không. Như vậy, trong quá trình học chúng ta luôn có:
• KB |= (dC)(a)với mọi a∈E+, và • KB 6|= (dC)(a)với mọi a∈E0−.
Thuật toán mở rộng C sao cho KB 6|= (dC)(a) với càng lúc càng nhiều a ∈ E−. Như vậy, mở rộng C đồng nghĩa với việc mở rộng E0−. Khi E0− =E− thuật toán trả về khái niệm dC sau khi đã thực hiện việc chuẩn hóa và đơn giản hóa.
Thuật toán 4.2: BBCL2 - Học khái niệm trong logic mô tả với Ngữ cảnh (2) Input : KB, Σ†, Φ†,E =hE+, E−i, K
Output: Khái niệm C sao cho: • KB |=C(a) với mọia ∈E+, và • KB 6|=C(a) for all a∈E−.
1 C:=∅; C0 :=∅; E0− :=∅;
2 while not (too hard to extend C) and (E0− 6=E−) do 3 Xây dựng mô hình hữu hạn I của KB hoặc I =I0
|K;
4 Y:=partition (I, Σ†,Φ†, E); /* phân hoạch ∆I theo Hàm partition */
5 foreach (Yij ∈Y,∃a∈E− :aI ∈Yij and ∀a ∈E+:aI 6∈Yij) do 6 if (KB |=¬Cij(a),∀a∈E+)then 7 if (KB 6|= (dCv ¬Cij))then 8 C:=C∪ {¬Cij}; 9 E0− :=E0−∪ {a∈E− |aI ∈Yij}; 10 else 11 C0 :=C0∪ {¬Cij};
12 while not (too hard to extend C) and (E0− 6=E−) do
13 D:=D1tD2t · · · tDl, với D1, D2, . . . , Dl được chọn ngẫu nhiên từ C0; 14 if (KB |=D(a),∀a ∈E+) then 15 if (KB 6|= (dC)vD) and (∃a∈E−\E0− :KB 6|= (dCuD)(a)) then 16 C:=C∪ {D}; 17 E0− :=E0−∪ {a|a ∈E−\E0−,KB 6|= (dC)(a)}; 18 if (E0− =E−) then 19 foreach (D∈C) do 20 if (KB 6|=d(C\ {D})(a),∀a∈E−)then 21 C:=C\ {D}; 22 C:=dC;
23 returnCrs :=simplify (C); /* rút gọn khái niệm C */
24 else
Tương tự như thuật toán BBCL, điều kiện “not (too hard to extend C)” trong Bước 2 và 12 của thuật toán BBCL2 là khác nhau. Điều kiện trong Bước 2 phụ thuộc vào kết quả làm mịn phân hoạch miền của diễn dịch I, trong khi đó điều kiện trong Bước 12 phụ thuộc vào việc chọn ngẫu nhiên các khái niệm từ tập C0. Việc xây dựng các diễn dịch I là mô hình của KB ở Bước 3 của thuật toán này cũng được thực hiện như trong thuật toán BBCL.
Chúng ta nhận thấy rằng, khi khái niệm ¬Cij được thêm vàoC thì aI ∈(¬Cij)I với mọia ∈E+. Đây là một điều kiện rất tốt để chúng ta hy vọng rằngKB |=¬Cij(a) với mọi a ∈ E+. Sử dụng các thuật toán tableaux đối với từng logic mô tả cụ thể (thông qua các bộ suy luận), thuật toán BBCL tiến hành kiểm tra xemKB |=¬Cij(a) có thỏa mãn với mọi a∈E+ hay không. Nếu điều này thỏa mãn, ¬Cij được thêm vào tập C. Ngược lại,¬Cij được thêm vào tậpC0 với hy vọng sau này có thể sử dụng được nó trong quá trình lấy hợp của một số khái niệm trong C0. Nghĩa là, một khái niệm
D ∈ C0 không thỏa mãn KB |= D(a) với mọi a ∈ E+, nhưng khi lấy hợp của một nhóm các khái niệm D1, D2, . . . , Dl trong C0 thì có thể KB |= (D1tD2t. . .tDl)(a) với mọi a∈E+. Do đó, khi quá trình mở rộngC gặp khó khăn bằng cách sử dụng các
Cij (là khái niệm đặc trưng tương ứng của các khốiYij trong phân hoạch Yđạt được thông qua việc phân hoạch miền của mô hình KB), chúng ta có thể chuyển sang lấy hợp của các khái niệm trong C0 để xem xét bổ sung vào tập C.
Tương tự như thuật toán BBCL, Hàm simplify để rút gọn khái niệm trong Bước 24 có thể thực hiện thông qua chuẩn hóa khái niệm, sau đó tiến hành đo độ giống nhau của các khái niệm và gộp chúng lại với nhau theo các luật De Morgan và các luật chuyển đổi tương đương khác.