Thiết kế khối triển khai TBox

Một phần của tài liệu tìm hiểu về logic mô tả el và cài đặt ví dụ minh họa (Trang 51 - 74)

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

Không

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 ? Không Không Không Ký hiệu cuối cùng Không

- 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.

Một phần của tài liệu tìm hiểu về logic mô tả el và cài đặt ví dụ minh họa (Trang 51 - 74)