Ý tưởng chính của thuật toán BBCL để giải quyết bài toán này là sử dụng các mô hình của KB kết hợp với mô phỏng hai chiều trong mô hình đó (để mô hình hóa tính
Thuật toán 4.1: BBCL - Học khái niệm trong logic mô tả với Ngữ cảnh (1) Input : KB, Σ† ⊆Σ\ {Ad}, Φ† ⊆Φ, E =hE+, E−i,k
Output: Khái niệm C trong LΣ†,Φ† sao cho: • KB |=C(a) với mọia ∈E+, và
• KB |=¬C(a) với mọia ∈E−.
1 C:=∅; C0 :=∅;
2 while not (too hard to extend C)do
3 Xây dựng mô hình hữu hạn (tiếp theo)I của KB hoặcI =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|= (Cij vF C))then 8 C:=C∪ {Cij}; 9 else 10 C0 :=C0∪ {Cij}; 11 if (KB |= (F C)(a),∀a∈E+)then 12 go to 20;
13 while not (too hard to extend C) do
14 D:=D1uD2u · · · uDl, với D1, D2, . . . , Dl được chọn ngẫu nhiên từ C0; 15 if (KB |=¬D(a),∀a ∈E− and KB 6|= (DvF C))then 16 C:=C∪ {D}; 17 if (KB |= (F C)(a),∀a∈E+)then 18 go to 20; 19 returnfailure; 20 foreach (D∈C) do 21 if (KB |=F (C\ {D})(a),∀a∈E+)then 22 C:=C\ {D}; 23 C:=F C;
24 returnCrs :=simplify (C); /* rút gọn khái niệm C */
không phân biệt được) và cây quyết định (để phân lớp dữ liệu) cho việc tìm kiếm khái niệm C. Thuật toán này sử dụng Hàm partition được nêu ở Mục 4.2 để làm mịn
miền ∆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 BBCL cho phép xây dựng tập C gồm các phần tử là các khái niệm
D thỏa mãn điều kiện KB |=¬D(a) với mọi a ∈ E− và C0 là tập các 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 thêm vào C0. Sau này, khi cần thiết, các khái niệm trong C0 có thể được lấy ra, thực hiện phép giao và tiến hành kiểm tra xem nó có thỏa mãn điều kiện để thêm vàoC hay không. Như vậy, trong quá trình học chúng ta luôn cóKB |=¬(F
C)(a)với mọi a ∈E−. Để lấy được kết quả trả về là F
C, thuật toán thực hiện việc mở rộng C sao cho KB |= (F
C)(a) với càng lúc càng nhiều cá thể a∈E+ cho đến khi tất cả các cá thể a∈E+ đều thỏa mãn KB |= (F
C)(a).
Điều kiện “not (too hard to extend C)” trong Bước 2 và 13 của thuật toán BBCL 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 13 phụ thuộc vào việc chọn ngẫu nhiên các khái niệm từ tập C0. Đây là những điều kiện mở và chúng ta có thể xây dựng các điều kiện này tùy thuộc vào từng yêu cầu cụ thể của bài toán. Chẳng hạn, với điều kiện dừng trong Bước 2, chúng ta có thể xây dựng số lần lặp không quá một giới hạn cho trước hoặc khi mô hìnhI quá lớn, với điều kiện dừng trong Bước 13, chúng ta cũng có thể lặp theo số lần giới hạn cho trước.
Việc xây dựng diễn dịch I là mô hình của KB ở Bước 3 có thể được thực hiện bằng các thuật toán tableaux đã được đề xuất cho logic mô tả ALC [38], ALCI [41], SH [43], SHI [28, 40], SHIQ [31], SHOIQ [29], SROIQ [26]. Nếu logic LΣ,Φ có tính chất mô hình hữu hạn thì các diễn dịch I được xây dựng sao cho I là mô hình hữu hạn của KB. Ngược lại, các diễn dịchI được xây dựng sao choI là mô hình hữu hạn của KB hoặcI =I0
|k, trong đó I0 là một mô hình không hữu hạn của KB vàk là một tham số của thuật toán học (chẳng hạn, k = 5).
Chúng ta nhận thấy rằng, khi khái niệmCij được thêm vàoCthìaI ∈/ CiIj với mọi
a ∈E−. Đây là một điều kiện rất tốt để chúng ta có thể hy vọng rằng KB |=¬Cij(a) với mọi a ∈ E−. Sử dụng các thuật toán tableaux như đã đề cập ở trên (thông qua các bộ suy luận), thuật toán BBCL tiến hành kiểm tra xem KB |= ¬Cij(a) có thỏa mãn với mọia ∈E− hay không. Nếu điều này thỏa mãn,Cij sẽ được thêm vào tậpC. Ngược lại, Cij được thêm vào C0 với kỳ vọng sau này có thể sử dụng được nó trong quá trình lấy giao của các khái niệm trongC0. 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 giao của một nhóm các khái
niệmD1, D2, . . . , DltrongC0thì có thểKB |=¬(D1uD2u· · ·uDl)(a)với mọia ∈E−. Do đó, khi quá trình mở rộng C gặp khó khăn bằng cách sử dụng cácCij (là các khái niệm đặc trưng tương ứng của các khối Yij 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 giao của các khái niệm trong C0 để xem xét bổ sung vào tập C.
Hàm simplify trong Bước 24 cho phép rút gọn khái niệm C thành một khái niệm tương đươngCrs. Việc rút gọn 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 theo các luật De Morgan và các luật chuyển đổi tương đương khác. Quá trình này sử dụng dạng chuẩn lưu trữ khái niệm đã đề cập ở Mục 1.3.2 của Chương 1.