Mô tả:
1. Đọc kết quả TBox thu được từ quá trình khử phép bao hàm.
Đọc tập các mô tả khái niệm phức
Có chứa phép bao
hàm?
Thêm khái niệm nguyên thủy mới
Xây dựng mô tả mới. Thay thế mô tả cũ
Còn luật để duyệt?
Lưu lại tập các mô tả phức
Không
Có
Không Có
2. Triển khai các luật
3. Lưu lại kết quả cuối cùng thu được.
Quá trình triển khai luật được thực hiện như sau:
Hình 4.10. Sơ đồ quá trình triển khai TBox 4.4. Lập trình xây dựng hệ thống
4.4.1. Mô hình cài đặt hệ thống
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
4.4.2. Giao diện chương trình
Hình 4.20. Giao diện hiển thị cơ sở tri thức trước khi chuẩn hóa.
Hình 4.22. Giao diện triển khai TBox
Hình 4.24. Giao diện hiển thị cây đồ thị của TBox đã chuẩn hóa
4.5. Chương trình thử nghiệm
4.5.1. Bài toán “Gia đình”4.5.1.1. Nội dung cơ sở tri thức 4.5.1.1. Nội dung cơ sở tri thức
a) Khái niệm nguyên thủy
Khái niệm Giải thích Điều kiện
ConNguoi Con Người
Bảng 4.1. Các khái niệm nguyên thủy của bài toán “Gia đình” b) Khái niệm phức
Khái niệm Biểu thức Giải thích
Nu ConNguoi Phụ nữ
Nam ConNguoi Đàn ông
Me ≡ Nu ∃coCon.ConNguoi Người mẹ
Father ≡ Nam ∃coCon.ConNguoi Người cha
ChaMe ≡ ConNguoi ∃coCon.ConNguoi Cha mẹ
Ba ≡ Me ∃coCon.ChaMe Người bà
Ong ≡ Cha ∃coCon.ChaMe Người ông
Vo ≡ Nu ∃coChong.Nam Người vợ
Chong ≡ Nam ∃coVo.Nu Người chồng
Bảng 4.2. Các khái niệm phức của bài toán “Gia đình” c) Quan hệ nguyên thủy
Quan hệ Giải thích Domain Range
coCon Có con ConNguoi ConNguoi
coChong Có chồng ConNguoi ConNguoi
coVo Có vợ ConNguoi ConNguoi
4.5.1.2. Kết quả hiện thị cơ sở tri thức chưa được chuẩn hóa
Hiển thị TBox
Hình 4.26. Nội dung TBox của bài toán “Gia đình”
Hiển thị ABox
Hình 4.27. Nội dung ABox của bài toán gia đình
4.5.1.3. Kết quả thu được khi tiến hành khử phép bao hàm Tập các luật ban đầu của TBox có nội dung như sau:
Hình 4.28. Tập luật ban đầu của TBox trong bài toán “Gia đình”
Trong tập luật này ta thấy có luật số 4 và 5 có chứa phép bao hàm.
Nam ConNguoi Nu ConNguoi
Cách khử bao hàm được tiến hành như sau:
Hình 4.29. Khử phép bao hàm trong TBox của bài toán “Gia đình”
- Để khử phép bao hàm ta thêm khái niệm mới vào vế phải của phép bao hàm, khi đó luật mới sẽ là giao của khái niệm mới với khái niệm ban đầu.
Kết quả thu được sau khi khử phép bao hàm là - Tập các khái niệm mới:
Hình 4.30. Các khái niệm nguyên thủy mới của TBox trong bài toán “Gia đình” sau khi khử phép bao hàm
- Tập luật mới:
Hình 4.31. Các luật của TBox trong bài toán “Gia đình” sau khi thực hiện phép khử phép bao hàm
4.5.1.4. Kết quả thu được sau khi khai triển TBox
Khai triển TBox là làm cho vế phải của các mô tả khái niệm phức không xuất hiện các ký hiệu tên. Chương trình thực hiện như sau:
- Khái niệm Nu không phải là khái niệm nguyên thủy. Thay Nu is-a (GiongCai and ConNguoi)
- Khái niệm Nam không phải là khái niệm nguyên thủy. Thay Nam is-a (GiongDuc and ConNguoi)
- Với định nghĩa Cha ≡ Nam ∃coCon.ConNguoi, ta có: Khai triển luật:
Cha is-a (Nam and (exist coCon.ConNguoi)) ---> Luat moi thu duoc la:
Cha is-a (ConNguoi and GiongDuc) and (exist coCon.ConNguoi) - Với định nghĩa Ong ≡ Cha ∃coCon.ChaMe
---> Luật mới thu được sẽ là:
Ong is-a ((ConNguoi and GiongDuc) and (exist coCon.ConNguoi) and (exist coCon.ChaMe))
Tương tự với các luật còn lại, ta sẽ thu được kết quả của các tập luật đã được khai triển.
4.5.1.5. Kết quả hiển thị cơ sở tri thức đã được chuẩn hóa
Hình 4.32. Kết quả thu được sau khi chuẩn hóa TBox trong bài toán
4.5.1.6 Kết quả hiện thị cây đồ thị mô tả của EL TBox đã chuẩn hóa
Hình 4.33. Cây đồ thị mô tả EL
KẾT LUẬN
Logic mô tả EL là một họ biểu diễn tri thức hình thức, ngày càng được ứng dụng rộng rãi. Logic mô tả EL đang là một hướng nghiên cứu đang được nhiều nhà nghiên cứu quan tâm, nhằm hướng tới sự tối ưu về biểu diễn tri thức và độ phức tạp trong tính toán chỉ còn là đa thức. Trong đồ án này, em bước đầu tìm hiểu về Logic mô tả EL và ứng dụng của Logic mô tả EL trong SNOMED, GaLen và Gene Ontology.
Trước tiên, đồ án đã trình bày được các lý thuyết cơ bản về Logic mô tả EL. Sau đó, đồ án đã đưa ra được các vấn đề cơ bản của Logic mô tả EL và các thủ tục quyết định trên bài toán bao hàm của EL. Cuối cùng, em đã đưa ra được một ví dụ minh họa cho nội dung lý thuyết đã trình bày ở trên.
Do thời gian và khả năng tìm hiểu về Logic mô tả EL còn nhiều hạn chế, chưa nêu được họ Logic mô tả EL như EL+, EL++, EL kết hợp với phép phủ định, với giới hạn số, với phép hợp, với lượng từ với mọi… nên đồ án còn có những thiếu sót. Em rất mong nhận được sự đánh giá và góp ý bổ sung của các thầy giáo, cô giáo và các bạn để đồ án được hoàn thiện hơn.
DANH SÁCH THUẬT NGỮ
Tiếng Việt Tiếng Anh
Kết hợp Combination
Nội nhập Internalization
Logic mô tả Description Logic
Ngôn ngữ mô tả Description language
Ngôn ngữ thuộc tính Attributed language
Khái niệm Concept
Vai trò Role
Khái niệm nguyên tố Atomic concept
Quan hệ nguyên tố Atomic role
Khái niệm nguyên thủy Primitive concept
Quan hệ nguyên thủy Primitive role
Khái niệm phức Complex concept
Khái niệm đỉnh Top concept
Giao Conjunction
Lượng từ tồn tại Existential quantification, exist restriction Phép thông dịch Interpretation Hàm dịch Interpretation function Ngữ nghĩa Semantics Khẳng định Assertion Thuật ngữ Terminology
Cơ sở tri thức Knowledge base
Bộ thuật ngữ Terminology box
Bộ khẳng định Assertional box
Bao hàm khái niệm Concept inclusion
Chu trình thuật ngữ Terminology cycle
Chuẩn hóa Normalization
Bài toán thỏa Satisfiability
Bài toán bao hàm Subsumption
Bài toán tương đương Equivalence
Bài toán không giao Disjointness
TÀI LIỆU THAM KHẢO
[1]. B.Suntisrivaraporn. Optimization and Implementation of Subsumption
Algorithms for the Description Logic EL with cyclic Tboxes and General Concept Inclusion Axioms. Master thesis, TU Dresden, Germany, 2005.
[2] Bernhard Nebel. TerminoLogical cycles: Semantics and computational properties. In John F.Sowa, editor, Principles of Semantic Networks, pages 331- 361. Morgan Kaufmann, Los Altos, 1991.
[3] Franz Baader: TerminoLogical cycles in a description Logic with existential restriction. In Geog Gottlob and Toby Walsh, editors, Proceedings of the 18th International Joint Conference on Artificial Intelligence. Morgan Kaufmann, 2003. [4] Franz Baader: Using automata theory for characterizing the semantics of terminoLogical cycles. Annals of Mathematics and Artificial Intelligence, 1996. [5] Franz Baader, ‘The instance problem and the most specific concept in the description Logic EL w.r.t. terminoLogical cycles with descriptive se- mantics’, in Proceedings of the 26th Annual German Conference on Ar- tificial Intelligence, KI 2003, volume 2821 of Lecture Notes in Artificial Intelligence, pp. 64–78, Hamburg, Germany, (2003). Springer-Verlag.
[6] S . Brandt. Subsumption and instance problem in ELH w.r.t. general tboxes. LTCS-Report LTCS-04-04, Chair for Automata Theory, Institute for Theoreti- cal Computer Science, Dresden University of Technology, Germany, 2004. See http://lat.inf.tu-dresden.de/research/reports.html.
[7] Bernhard Nebel. TerminoLogical cycles: Semantics and computational properties. In John F. Sowa, editor, Principles of Semantic Networds. Morgan Kaufmann, Los Altos, 1991.
[8] Một vài ví dụ Ontoloty sử dụng EL làm ngôn ngữ mô tả: http://lat.inf.tu-dresden.de/~meng/toyont.htm
[9] William F. Dowling and Jean Galler. Linear-time algorithms for testing the satisfiability of propositional horn formulae. Journal of Logic Programming, 1984
[10] Gene Ontoloy Consortium
See
http://www.geneontoloty.org/GO.consortiumlist.ht [11] Allegro Common LISP. Franz Inc.
[12] R. M. Quillian. Semantic Memory. In Minsky, editor, Semantic Information Processing, pages 216-270. MIT Press, 1968
[13] M. L. Minsky. A framework for representing knowledge. In Winston, editor, The Psychology of Computer Vision, pages 211-277. McGraw-Hill, 1975
[14] Franz Baader: Termin Logi al cycles in KL-ONE-based knowledge
representation languages. In Proceedings of the Eighth National Conference on Artificial Intelligence, AAAI-90,Boston USA ), 1990
[15] M. Schmidt-SchauB and G. Smolka. Attributive concept descriptive with complements. Artificial Intelligence, 48(1):1-26, 1991
[16] Monik R. Henzinger, Thomas A. Henzinger, and Peter W. Kopke: Computing simulations on finite and infinite graphs. In 36th Annual Symposium on Foundation of Computer Science,Milwaukee, Wisconsin , 1995. IEEE Computer Society Press
[17] Reasoning in ELH. General Concept Inclusion Axioms. Sebastian Brandt, Theoretical Computer Science,TU Dresden.
brandt@tcs.inf.tu-dresden.
Trang web http://lat.inf.tu-dresden.de/research/reports/2004/Brandt-LTCS-04- 03.pd
[18] The Instance Problem and the Most Specific Concept in the Description Logic EL Termin Logi al Cycles with Descriptive Semantics. Theoretical Computer Science, TU Dresden, D-01062Dresden, Germany
baader@inf.tu-dresden.
[19] Data Complexity of Instance Checking in The EL Family of Description Logics Adila Alfa Krisnadhi Born on September 6, 1980 in Pringsewu, Indonesia Submission date: March 9, 2007
Trang webhttp:// lat.inf.tu-dresden.de/research/papers/2007/Krisnadhi-Msc07.pdf [20] Yevgeny Kazakov and Hans De Nivelle. Subsumption of concepts in FL0 for (Cyclic) terminologies with respect to descriptive semantics is PSPACE-complete. In Proceedings of the 2003 International Workshop on Description Logics (DL 2003), CEUR-WS, 2003.
[21] M. Buchheit, F.M. Donini, and A.Scheaf. Decidable reasoning in terminoLogical knowledge presentation systems. Journal of Artificial Intelligence Research, 1, pages 109-138, 1993.
[22] Ian Horrocks, Ulrike Satler, and Stephan Tobies. Practical reasoning for expressive description Logics. In Harald Ganzinger, David McAllester, and Andrei Voronkov, editors, Proceedings of Automated Reasoning (LPAR’99), pages 161- 180. Springer-Verlag, 1999.
[23] R. Cote, D. Rothwell, J.Palotay, R.Beckett, and L.Brochu. The systematized nomenclature of human and veterinary medicine. Technical report, SNOMED International, Northfield, IL, 1993.
[24] A.Rector, W. Nowlan, and A.Glowinski. Goals for concept represntation in the GALEN project. In Proceedings of the 17th annual Sympposium on Computer Applications in Medical Care (SCAMC), Washington, USA, pages 414-418, 1993.