Hệ thống được xây dựng dựa trên các class sau: - MainFrame: class chính của chương trình.
Đọc mô tả khái niệm
Tách các ký hiệu xuất hiện bên vế phải
Đọc ký hiệu thứ i
Thay thế ký hiệu = mô tả phức của nó iStop ← true i ← 0 isStop ← false i ← i +1 isStop = true ?
Lưu lại kết quả
Là ký hiệu tên Mô tả phức cuối cùng ? Có Không Có Không Có Không Ký hiệu cuối cùng Không Có
- TBoxPanel, ABoxPanel: hai class thực hiện các chức năng hiển thị cơ sở tri thức ban đầu.
- InclusionPanel: class thực hiện các chức năng khử phép bao hàm trong tập định nghĩa của TBox.
- ExpensePanel: class thực hiện các chức năng triển khai TBox.
- NormalizeTBox: class thực hiện các chức năng hiển thị kết quả chuẩn hóa cuối cùng của TBox.
- AddConcept: Thêm các khái niệm vào trong TBox.
- GraphTbox: Hiển thị cây đồ thị mô tả của TBox đã ở dạng chuẩn hóa. DynamicTree: cây dựng để hiển thị các kết quả thu được
Các lớp được mô tả chi tiết như sau:
• DynamicTree
Trong chương trình, ta sẽ sử dụng Tree để hiển thị kết quả. Lớp DynamicTree ở đây được kế thừa từ lớp JTree trong Java, có tác dụng xây dựng một cây động, nghĩa là một cây có thể thêm, xóa các nút trên cây. Các biến và hàm của lớp này được thể hiện ở hình 4.10.
Hình 4.11. Lớp DynamicTree
• Lớp TboxPanel
Lớp này có chức năng là đọc cơ sở tri thức ban đầu từ file Tbox.tbox, sau đó kiểm tra để phân loại khái niệm nguyên thủy và khái niệm phức hợp. - Biến Hash_Atomic và Hash_Tbox là hai tập lưu trữ tập các khái niệm
nguyên thủy và các khái niệm phức của TBox.
- Hàm loadTbox( ): đọc nội dung của cơ sở tri thức, và lưu trữ vào hai tập Hash_Atomic và Hash_Tbox.
- Hàm processTbox(String): xử lý để phân loại xem đó là khái niệm nguyên thủy hay khái niệm phức.
Hình 4.12. Lớp TboxPanel
• Lớp InclusionPanel
Đây là lớp thực hiện các chức năng khử phép bao hàm trong các mô tả phức của TBox. Lớp này sẽ lấy ra các khái niệm nguyên thủy và các khái niệm phức ban đầu, sau đó duyệt xem khái niệm nào chứa phép bao hàm rồi tiến hành khử phép bao hàm, tiếp theo sẽ lưu các khái niệm nguyên thủy, và các khái niệm phức đã được khử phép bao hàm, đồng thời lớp còn thực hiện các chức năng hiển thị cơ sở tri thức ban đầu là cơ sở tri thức khi chưa thực hiện phép khử bao hàm và thực hiện chức năng hiển thị cơ sở tri thức sau khi đã thực hiện phép khử bao hàm.
- Biến Hash_Atomic, Hash_Rule: lưu trữ tập các khái niệm nguyên thủy và các khái niệm phức sau khi đã được khử phép bao hàm.
- Hàm setHashtable(Hashtable, Hashtable): đọc và lấy lại tập các khái niệm nguyên thủy và khái niệm phức ban đầu.
- Hàm processTbox( ): thực hiện thuật toán khử phép bao hàm.
- Hàm showTBoxOrigin( ) và showTreeOrigin( ): hiển thị các khái niệm nguyên thủy, khái niệm phức và các mô tả của các khái niệm phức của cơ sở tri thức chưa được khử phép bao hàm.
- Hàm showTBoxNew( ) và showTreeNew( ): hiển thị các khái niệm nguyên thủy, khái niệm phức và các mô tả của các khái niệm phức của cơ sở tri thức đã được khử phép bao hàm.
Hình 4.13. Lớp InclusionPanel
• Lớp ExpensePanel
Đây là lớp thực hiện các chức năng khai triển TBox, dựa trên kết quả khử phép bao hàm đã được thực hiện trước đó.
- Biến Hash_Atomic: tập các khái niệm nguyên thủy đã được khử phép bao hàm.
- Biến Hash_Rule: tập các mô tả khái niệm phức đã được khử phép bao hàm. - Biến Hash_Rule2: tập các mô tả khái niệm phức sau khi đã được triển khai. - Hàm setHashtable(Hashtable, Hashtable): lấy lại tập các khái niệm nguyên thủy và các khái niệm phức sau khi tiến hành khử phép bao hàm.
Hình 4.14. Lớp ExpensePanel
• Lớp AboxPanel
- Biến hash: lưu trữ tập các cá thể cùng các khẳng định của các cá thể. - Hàm loadAbox( ): đọc nội dung cơ sở tri thức, lấy thông tin về các cá thể và lưu trữ và trong tập hash.
• Lớp NormalizeTbox
Lớp này thực hiện chức năng hiển thị nội dung TBox thu được sau cả hai phép chuẩn hóa trên.
Hình 4.16. Lớp NormalizeTBox
• Lớp GraphTbox.
Lớp này thực hiện chức năng chuyển TBox đã ở dạng chuẩn hóa sang dạng cây đồ thị.
Hình 4.17. Lớp GraphTbox
Lớp này thực hiện chức năng thêm các khái niệm mới và các vai trò mới vào trong cơ sở tri thức ban đầu TBox.
- Hàm writetofile: Thêm các khái niệm mới và các vai trò mới vào trong file TBox.tbox ban đầu.
Hình 4.18. Lớp Addconcept
• Lớp MainClass