1.1 Nguồn gốc của logic mô tả Logic mô tả bắt nguồn từ mạng ngữ nghĩa semantic networks và frame, biểu diễn những khái niệm và lập luận trong chúng có quan hệ với nhau.. Tuy nhiên, về
Trang 2Mục lục
Lời cảm ơn Error! Bookmark not defined
Những thuật ngữ viết tắt 3
Mở đầu 5
Chương 1 Tổng quan về logic mô tả 1 1 Nguồn gốc của logic mô tả 7
1.2 Biểu diễn tri thức và lập luận 9
1.3 Sơ lược lịch sử nghiên cứu về logic mô tả 11
1.4 Các lĩnh vực ứng dụng logic mô tả 12
1.4.1 Lĩnh vực công nghệ phần mềm 13
1.4.2 Lĩnh vực xử lý ngôn ngữ tự nhiên 13
1.4.3 Lĩnh vực thư viện số và web 14
1.4.4 Các lĩnh vực khác 15
Chương 2 Biểu diễn tri thức và lập luận trong logic mô tả 2.1 Biểu diễn tri thức 16
2.1.1 Cơ sở tri thức 16
2.1.2.1 Cú pháp và ngữ nghĩa của ngôn ngữ AL .18
2.1.2.2 Họ ngôn ngữ AL .20
2.1.2.3 Ngôn ngữ mô tả một bộ phận của logic vị từ .22
2.1.3 Thuật ngữ (Terminologies) 23
2.1.3.1 Tiên đề trong TBox 23
2.1.3.2 Tiên đề bao hàm (inclusion axiom) trong TBox .27
2.1.4 ABox 28
2.1.4.1 Cá thể trong ABox .28
2.1.4.2 Tập cá thể trong ngôn ngữ mô tả .30
2.2 Lập luận 30
2.2.1 Tác vụ lập luận (suy diễn) cho TBox 31
Trang 32.2.2 Cơ chế lập luận trong ABox 33
2.2.3 Luật 34
2.2.4 Thuật toán lập luận 35
2.2.4.1 Thuật toán bao hàm (subsumption algorithm) 36
2.2.4.2 Thuật toán thoả (satisfiability algorithm) 37
Chương3 Logic mô tả cho web ngữ nghĩa 3.1 Logic mô tả và web ngữ nghĩa 43
3.1.1 Web ngữ nghĩa là gì? 43
3.1.2 Logic mô tả cho Web ngữ nghĩa 45
3.2 Nền tảng của web ngữ nghĩa 46
3.2.1 Logic mô tả SHIQ 46
3.2.2 Cú pháp biểu diễn web ngữ nghĩa RDF 50
3.2.3 Ontology 51
3.3 Cơ sở logic mô tả trong ngôn ngữ cho web ngữ nghĩa 52
3.3.1 Ontology inference layer - OIL 52
3.3.2 DAML + OIL 60
3.3.3 Ngôn ngữ mô tả cấu trúc web OWL 63
3.4 Ứng dụng lập luận logic mô tả vào phân tích và thiết kế web 70
Chương 4 Cài đặt thử nghiệm thuật toán lập luận 4.1 Cài đặt thuật toán lập luận 74
4.2 Một số kết quả thử nghiệm thuật toán 79
Kết luận 82
Tài Liệu Tham Khảo 83
Trang 4Những thuật ngữ viết tắt
AL : Attributive Language, ngôn ngữ logic mô tả cung cấp các
khái niệm nguyên tử (atomic concept), khái niệm top (T), khái niệm bottom ( ), phép phủ định khái niệm nguyên tử ( A), phép giao ( ), các ràng buộc với mọi ( R.C) và ràng buộc tồn tại đối với khái niệm top ( R.T)
ALC : AL mở rộng bằng phép phủ định đầy đủ cho khái niệm bất
kỳ ( C)
DAML+OIL: DARPA Agent Markup Language và Ontology Inference
Language, sự kết hợp giữa hai ngôn ngữ cho web ngữ nghĩa
DL : Description Logic, logic mô tả
GCI : General Concept Inclusion axiom, khái niệm bao hàm tổng
RDF : Resource Description Framework, cú pháp để thể hiện cho
các ngôn ngữ web ngữ nghĩa
Trang 5XML : eXtensible Markup Language
W3C : Word Wide Web Consortium
Trang 6Mở đầu
Công việc biểu diễn tri thức và lập luận trên cơ sở tri thức trong các hệ thống xử lý thông tin giữ một vai trò quan trọng cho việc thành công của hệ thống Xuất phát từ sự quan trọng đó, nhiều tổ chức nghiên cứu khoa học đã
bỏ công nghiên cứu, tìm kiếm những công cụ để biểu diễn tri thức một cách thuận lợi nhất và logic mô tả là một trong những công cụ để biểu diễn tri thức được các tổ chức nghiên cứu khoa học sử dụng đến
Logic mô tả (Description logics - DL) là thuật ngữ được sử dụng gần đây để biểu đạt những hình thức biểu diễn tri thức trong một lĩnh vực nào đó Trước kia, thuật ngữ này được dùng để chỉ ngôn ngữ biểu diễn tri thức, ngôn ngữ khái niệm hay ngôn ngữ biểu diễn cơ sở tri thức KL-ONE DL cho phép định nghĩa những khái niệm liên quan đến lĩnh vực, sử dụng những khái niệm này để chỉ ra những thuộc tính của những đối tượng, những cá thể trong lĩnh vực đó Bản thân tên gọi DL đã thể hiện một trong những thuộc tính của ngôn ngữ này là mô tả Về mặt ngữ nghĩa, có thể xem chúng là ngôn ngữ con của logic vị từ Một đặc trưng khác là nhấn mạnh vào phần lập luận và xem việc lập luận như một dịch vụ trung tâm Lập luận là các cơ chế cho phép suy luận được tri thức mới và giúp đưa ra những quyết định từ tri thức đã có trong cơ
sở tri thức DL cung cấp nhiều cách suy luận được dùng rộng rãi trong những
hệ thống xử lý thông tin thông minh, ngoài ra còn được sử dụng để xây dựng
và hiểu thế giới, phân loại những khái niệm, những cá thể
Hiện nay, logic mô tả đã và đang được ứng dụng trong nhiều lĩnh vực khác nhau như: Xử lý ngôn ngữ tự nhiên, công nghệ phần mềm, cơ sở dữ liệu,
y học, Web ngữ nghĩa
Cộng đồng nghiên cứu về logic mô tả trên thế giới hiện nay có hơn 100 nhóm nghiên cứu đang hoạt động và nhiều tổ chức khoa học khác cũng đang
Trang 7rất quan tâm đến logic mô tả cũng như các ứng dụng của chúng trong công nghiệp
Trong nghiên cứu về logic mô tả, nội dung luận văn gồm 4 chương :
Chương 1: Trình bày một cách tổng quan về logic mô tả Trong phần
này cung cấp một cái nhìn tổng quan về logic mô tả: Sự ra đời của logic mô
tả, thành tựu và lịch sử nghiên cứu về logic mô tả, cũng như ứng dụng trong những ngành khoa học khác của logic mô tả
Chương 2: Trình bày cách biểu diễn tri thức và lập luận trong logic mô
tả Đây là chương trọng tâm của luận văn nhằm làm sáng tỏ chức năng biểu diễn tri thức, lập luận trên cơ sở tri thức trong những ngôn ngữ logic mô tả điễn hình Cùng với việc biểu diễn tri thức, ta sẽ sử dụng những dịch vụ lập luận được hỗ trợ cho logic mô tả để đưa ra những tri thức mới hay đưa ra những quyết định Việc sử dụng hai thuật toán lập luận (thuật toán bao hàm
và thuật toán thoả) được giới thiệu trong phần này là đề tài nghiên cứu được quan tâm trong logic mô tả
Chương 3: Trình bày về một lĩnh vực đang được quan tâm của logic
mô tả là dùng logic mô tả cho việc phát triển web ngữ nghĩa Web ngữ nghĩa giúp cho việc thiết kế và tìm kiếm thông tin trên web hiệu quả hơn Với mục đích như thế, các logic mô tả mở rộng đã trở thành một ngôn ngữ nền tảng trong việc mô tả những trang web, cùng với những thuật toán lập luận của logic mô tả đã giúp việc tìm kiếm các thông tin trên web thuận lợi hơn Chương này sẽ đề cập đến ý nghĩa của web ngữ nghĩa và các ngôn ngữ mở rộng từ logic mô tả phục vụ cho web ngữ nghĩa
Chương 4: Trình bày việc cài đặt thử nghiệm các thuật toán lập luận
trong logic mô tả Đây là những thuật toán đã được sử dụng để lập luận trong
Trang 8các hệ thống xử lý thông tin Chương trình thử nghiệm thuật toán lập luận được cài đặt để giải quyết bài toán bao hàm, bài toán thoả trong logic mô tả
Chương 1
Tổng quan về logic mô tả
Chương này đề cập đến những động cơ thúc đẩy sự phát triển của logic
mô tả như là một hình thức cho việc biểu diễn tri thức cũng như một số ý tưởng cơ bản quan trọng cho nền tảng của những hệ thống đã được tạo ra trong logic mô tả truyền thống
Trong chương này, đầu tiên đề cập đến nguồn gốc của logic mô tả, sau
đó sẽ đề cập một cách tổng quát các đặc tính của logic mô tả, các giai đoạn nghiên cứu về logic mô tả và cuối cùng chúng ta điểm qua các lĩnh vực ứng dụng của logic mô tả
1.1 Nguồn gốc của logic mô tả
Logic mô tả bắt nguồn từ mạng ngữ nghĩa (semantic networks) và
frame, biểu diễn những khái niệm và lập luận trong chúng có quan hệ với nhau Cấu trúc của một khái niệm được mô tả bởi một ngôn ngữ (được gọi là ngôn ngữ khái niệm) và những phép toán logic
Với cách tiếp cận của logic kinh điển, việc biểu diễn tri thức thường thông qua các biến vị từ, những phép toán vị từ và lập luận xác định hệ quả logic Theo cách tiếp cận của phi logic, dựa vào những giao diện đồ hoạ, tri thức được biểu diễn thông qua các cấu trúc dữ liệu đặc biệt và lập luận đựơc hoàn thành bằng những thủ tục có các thao tác giống nhau Trong số đó có hai ngôn ngữ sử dụng nhiều nhất đó là mạng ngữ nghĩa và Frame Mặt dù có
Trang 9những khác nhau trong cách ký hiệu giữa mạng ngữ nghĩa và Frame nhưng cả hai thể hiện tri thức bằng hình thức trực quan Do thuộc tính này, chúng trở thành cơ sở cho sự biểu diễn tri thức trước đây Đáng tiếc là chúng đã không được chấp nhận lâu dài, vì không biểu diễn đầy đủ những đặc tính ngữ nghĩa
và kết quả là các hệ thống có sự khác nhau trong cách sử dụng Tuy nhiên, về mặt ngữ nghĩa, Frame có thể thay cho logic vị từ, các phần tử cơ sở trong Frame được định nghĩa rõ ràng những tính chất như những vị từ một ngôi mô
tả những tập hợp các cá thể và vị từ hai ngôi mô tả mối quan hệ giữa các cá thể Mặt dù không thể hiện hết tất cả các ràng buộc về ngữ nghĩa như những logic vị từ, nhưng chúng được xem là một thành phần con của logic vị từ
Nghiên cứu về logic mô tả được bắt đầu từ những hệ thống sử dụng
thuật ngữ (terminological) để nhấn mạnh đến việc thiết lập những thuật ngữ
cơ sở mô tả về một lĩnh vực Những năm gần đây, logic mô tả trở nên phổ biến Khi dùng logic mô tả trong các hệ thống biểu diễn tri thức thường dùng
từ “khái niệm” (concept) được đề cập đến như là một “biểu thức” của logic
mô tả, chúng dùng để mô tả những cá thể và từ “thuật ngữ” (terminology) để
diễn tả một cấu trúc được xây dựng, cung cấp một thể hiện biểu diễn cho lĩnh vực quan tâm
Nghiên cứu về logic mô tả đã được nghiên cứu cả phần lý thuyết, cùng với cài đặt những hệ thống biểu diễn tri thức và phát triển ứng dụng trong nhiều lĩnh vực của logic mô tả Nghiên cứu lý thuyết kết hợp chặt chẽ với thực hành đã trở thành phương pháp luận cho việc nghiên cứu logic mô tả Bên cạnh đó, nhiều hệ thống được xây dựng trên nền tảng logic mô tả với những chuẩn mô tả và những khả năng biểu diễn tri thức khác nhau Thêm vào đó, các chuẩn và những thuật toán tính toán trong lập luận cũng được nghiên cứu chi tiết Những nghiên cứu này xuất phát từ việc sử dụng những
Trang 10cấu trúc được cài đặt trong hệ thống hoặc sự cần thiết của các cấu trúc cho những hệ thống đặc biệt và kết quả đã có những hệ thống mới hiệu quả hơn
1.2 Biểu diễn tri thức và lập luận
Đơn vị cơ bản để xây dựng cú pháp của logic mô tả là các khái niệm
nguyên tử “atomic concept” (còn được gọi là concept name) mô tả tập cá thể trong lĩnh vực, các quan hệ nguyên tử “atomic role” mô tả mối quan hệ giữa
các cá thể Sau đó, từ những ký hiệu cơ sở này ta đi xây dựng các loại cấu trúc mới, ví dụ như giao của hai khái niệm C D được dùng để chỉ ra những cá thể mà thuộc cả C và D Một biểu thức khái niệm trong logic mô tả diễn tả tập hợp tất cả các cá thể thoả những tính chất xác định trong biểu thức Do đó, khái niệm C D được nhìn nhận dưới góc độ của logic vị từ C(x) D(x), phạm vi của các biến là tất cả những cá thể trong lĩnh vực thể hiện và C(x) đúng với tất cả các cá thể thuộc khái niệm C Trong logic mô tả còn tập trung vào những cấu trúc để thiết lập mối quan hệ giữa những khái niệm Ví dụ như giới hạn giá trị được viết R.C yêu cầu tất cả những cá thể trong mối quan hệ
R đều thuộc khái niệm C
Về phần ngữ nghĩa, những khái niệm được xác định bởi một tập thể hiện: Một khái niệm được thể hiện như một tập những cá thể và những quan
hệ được thể hiện như tập hợp những cặp cá thể Lĩnh vực của sự thể hiện có thể được chọn tuỳ ý và có thể là vô hạn Tính vô hạn của lĩnh vực và tính mở của ngữ nghĩa là những đặc tính riêng biệt của logic mô tả
Những khái niệm nguyên tử được thể hiện là một tập con của những thể hiện trong lĩnh vực, trong khi đó ngữ nghĩa của những cấu trúc khác nhau được xác định bởi tập hợp những cá thể được mô tả bởi cấu trúc đó Ví dụ ta
có cấu trúc như C D là tập những cá thể thuộc phần chung của những cá thể được mô tả bởi C và D Giả sử chúng ta có Person, Male, Woman, Doctor là
Trang 11những khái niệm nguyên tử, hasChild là quan hệ nguyên tử Sử dụng các phép toán giao, hợp và phủ định của những khái niệm chúng ta có thể mô tả khái niệm “những người có giới tính nam” và “trai hoặc gái” như sau:
Person Male Male Male Hầu hết những ngôn ngữ cung cấp lượng từ tồn tại đầy đủ và ràng buộc giá trị để chúng có thể mô tả các khái niệm như:
1) “Người phụ nữ có con và tất cả chúng đều là con gái”
Woman hasChild Male 2) “Người có con trai”
Person hasChild.Male Lượng từ tồn tại và lượng từ với mọi có ý nghĩa trong việc mô tả mối quan hệ giữa những khái niệm Một loại quan hệ khác của quan hệ giới hạn là quan hệ ràng buộc về số lượng là ràng buộc lực lượng của những tập hợp cá thể thoả quan hệ Ví dụ như ( 5hasChild) ( 2hasChild.Doctor) Ràng buộc về số lượng đôi khi cũng được xem là đặc tính riêng biệt của logic mô tả mặc dù chúng ta có thể tìm thấy một vài cấu trúc tương tự trong một số ngôn ngữ cơ
sở dữ liệu
Từ những cấu trúc đã giới thiệu, logic mô tả sử dụng chúng để biểu diễn tri thức cho lĩnh vực mà hệ thống đề cập Việc biểu diễn tri thức thông qua hai thành phần TBox và ABox và được xem là cơ sở tri thức trong các hệ
thống TBox chứa đựng tập hợp những thuật ngữ “Terminology” của lĩnh vực
quan tâm và ABox là tập những xác nhận của các cá thể thuộc những khái niệm hay những quan hệ trong TBox Bên cạnh việc lưu trữ tri thức trong các
cơ sở tri thức, việc lập luận trong logic mô tả đóng vai trò quan trọng cho việc
Trang 12thành công của các hệ thống sử dụng logic mô tả Những dịch vụ lập luận cho TBox và ABox cùng với những thuật toán lập luận như thuật toán bao hàm
(Subsumption algorithm), thuật toán thoả (Satisfiability algorithm) đã cung
cấp cho logic mô tả những công cụ lập luận hữu hiệu để giải quyết các bài toán thực tế Trong chương tiếp theo sẽ đề cập đến việc biểu diễn tri thức cũng như lập luận trong logic mô tả đầy đủ hơn Nhiều nghiên cứu về thuật toán lập luận được thực hiện nhằm cải thiện độ phức tạp tính toán trong các thuật toán để được những thuật toán tối ưu và từ đó xây dựng những hệ thống thông tin hữu hiệu hơn
1.3 Sơ lược lịch sử nghiên cứu về logic mô tả
Quá trình nghiên cứu về logic mô tả có thể chia ra làm bốn giai đoạn như sau:
Giai đoạn 1: Giai đoạn vào đầu những năm 80, tập trung nghiên cứu về
những hệ thống như KL-ONE, LOOM chủ yếu nghiên cứu cấu trúc những thuật toán Những hệ thống này đã sử dụng những thuật toán có cấu trúc như thuật toán bao hàm cho việc lập luận Những nghiên cứu lúc đó tập trung vào các ngôn ngữ mô tả diễn cảm nhưng không có các phép phủ định, lượng từ tồn tại và lượng từ với mọi Những thuật toán đó được sử dụng rất hiệu quả, nhưng đã gặp một trở ngại lớn trong việc mô tả những logic mô tả không rõ ràng
Giai đoạn 2: Giai đoạn vào giữa những năm 80, trong giai đoạn này tập
trung phát triển những thuật toán bảng cho logic mô tả và nghiên cứu về độ phức tạp của kết quả nhận được và cố gắng tìm ra những thuật toán tối ưu cho việc lập luận trong logic mô tả
Giai đoạn 3: Giai đoạn vào những năm cuối của thập niên 80 và những
năm đầu của thập niên 90 nghiên cứu về những thuật toán bảng cho logic mô
Trang 13tả diễn cảm và tìm ra những thuật toán tối ưu nhất đồng thời nghiên cứu mối liên hệ giữa logic mô tả đến các ngôn ngữ logic khác như modal logic, xác định logic mô tả là một ngôn ngữ con của logic vị từ và những hệ thống đã được tạo ra trong giai đoạn này như FACT, RACE
Giai đoạn 4: Bắt đầu từ cuối những năm 90 cho đến nay, đây là giai
đoạn mà các ứng dụng của logic mô tả được tập trung nghiên cứu và hoàn thiện chúng, tập trung theo hướng tạo ra các ứng dụng và công cụ từ logic mô
hệ thống Nghiên cứu về các thuật toán lập luận giúp chúng ta phân tích được những khả năng cũng như giới hạn của những hệ thống Logic mô tả được sử dụng để cài đặt trong nhiều hệ thống và đã chứng minh được tính hiệu quả khi
sử dụng logic mô tả Logic mô tả đã được ứng dụng trong nhiều lĩnh vực và sau đây là một số lĩnh vực ứng dụng điển hình của logic mô tả:
Trang 141.4.1 Lĩnh vực công nghệ phần mềm
Công nghệ phần mềm là một trong những lĩnh vực đầu tiên ứng dụng logic mô tả được thực hiện trong hệ thống AT&T Ý tưởng chính sử dụng logic mô tả để cài đặt hệ thống thông tin phần mềm “Software Information System” là một hệ thống sẽ cung cấp cho những nhà phát triển phần mềm giúp anh ta tìm thấy những thông tin cần thiết trong hệ thống phần mền lớn Một trong số những ứng dụng mới nhất của logic mô tả là hệ thống LaSSIE của tác giả Devambu, hệ thống này cho phép người dùng xây dựng thêm quy tắt phân loại cho những khái niệm có quan hệ với nhau trong lĩnh vực để cài đặt các code chương trình Hệ thống LaSSIE đã có nhiều thành công, nhưng cuối cùng gặp phải những khó khăn trong việc bảo trì cơ sở tri thức Nhiều ứng dụng logic mô tả cho công nghệ phần mềm được mô tả chi tiết trong tài liệu [2]
1.4.2 Lĩnh vực xử lý ngôn ngữ tự nhiên
Logic mô tả cũng như mạng ngữ nghĩa và Frame, xử lý ngôn ngữ tự nhiên là một lĩnh vực ứng dụng chính Đặc biệt, khi logic mô tả bắt đầu xuất hiện, phần lớn logic mô tả không chỉ là ứng dụng cho xử lý ngôn ngữ tự nhiên, mà còn nghiên cứu sâu vào những chuẩn khác nhau của các hệ thống
sử dụng ngôn ngữ tự nhiên
Sử dụng logic mô tả trong việc xử lý ngôn ngữ tự nhiên tập trung chủ yếu vào việc trình diễn ngữ nghĩa tri thức để có thể truyền đạt được ý nghĩa của câu Tập trung vào ý nghĩa của từ và ngữ cảnh, trình diễn được những tình huống và lĩnh vực diễn đạt của văn bản
Công việc chính dành cho việc giải quyết những bài toán về sự khác nhau của ngữ nghĩa trong các cú pháp khác nhau được sử dụng trong câu, quá trình xử lý đó được gọi là biểu diễn ngữ nghĩa Hơn thế nữa, biểu diễn ngữ
Trang 15nghĩa tri thức bằng logic mô tả được dùng để hỗ trợ cho những ngôn ngữ tự nhiên Sự diễn cảm của ngôn ngữ tự nhiên đã dẫn đến những nghiên cứu tập trung vào những mở rộng của logic mô tả
Ngày nay, một số dự án lớn phục vụ việc xử lý ngôn ngữ tự nhiên dựa trên logic mô tả đã và đang được thực hiện[6]
1.4.3 Lĩnh vực thư viện số và web
Mối liên hệ giữa mạng ngữ nghĩa và sự liên kết những cấu trúc được
cài đặt trong siêu văn bản (hypertext) đã thúc đẩy sự phát triển của ứng dụng
logic mô tả cho việc trình diễn thông tin cho các thư mục, cũng như việc phân lớp và sự phản hồi thông tin trong thư viện số Những ứng dụng này đã chứng minh hiệu quả của logic mô tả cho việc trình diễn sự phân loại khá phổ biến trong sơ đồ phân loại của thư viện, và chúng đã thể hiện được tính tiện lợi của lập luận bao hàm cho sự phân lớp và phục hồi thông tin Một số câu hỏi đã được đặt ra cho các kỹ thuật lập luận nhằm để xác định các cá thể trong việc phân lớp đã thúc đẩy việc sử dụng các ngôn ngữ logic mô tả mở rộng
Có thể xem World Wide Web như một mạng ngữ nghĩa, xây dựng những hệ thống đáp ứng những thắc mắc về ngữ nghĩa của web, cho phép người sử dụng đưa ra các câu hỏi về web như việc đặt ra những truy vấn trong
cơ sở dữ liệu Dựa trên mối quan hệ giữa logic mô tả và mạng ngữ nghĩa, một lượng lớn các kế hoạch sử dụng logic mô tả cho việc mô phỏng những cấu trúc web được đề xuất và đã phát triển, cho phép khám phá khả năng lập luận của logic mô tả trong việc thu thập và quản lý thông tin
Gần đây đã có nhiều nỗ lực trong việc sử dụng ngôn ngữ đánh dấu để nắm bắt thông tin chứa đựng trong những trang web, nhờ mối quan hệ giữa logic mô tả và ngôn ngữ đánh dấu như là XML đã mô tả rõ ràng các đặc điểm này, vì thế đã xác định được những đặc tính của logic mô tả cho việc biểu
Trang 16diễn tài liệu XML Hơn thế nữa, việc quan tâm đến những chuẩn cho việc biểu diễn tri thức đã dẫn đến sự phát triển các ngôn ngữ như DAML-ONT, ontology language, OIL được xem là những ngôn ngữ mở rộng của logic mô
tả cho ứng dụng web ngữ nghĩa Những ứng dụng logic mô tả cho web ngữ nghĩa được mô tả chi tiết trong Chương 3
1.4.4 Các lĩnh vực khác
Ngoài các lĩnh vực trên, logic mô tả còn được ứng dụng trong nhiều lĩnh vực khác với những hệ thống khá nổi tiếng được ứng dụng trong thực tế Logic mô tả ứng dụng trong lĩnh vực y tế với những hệ chuyên gia được xây dựng dựa trên nền tảng logic mô tả Trong lĩnh vực quản lý dữ liệu, những thuật toán lập luận của logic mô tả đã được ứng dụng để giải quyết một số công việc phổ biến như phân loại dữ liệu, tìm kiếm dữ liệu và nhiều ứng dụng trong các lĩnh vực khác cũng đang được triển khai trong thực tế
Chương này với mục đích giới thiệu tổng quan về logic mô tả, do đó chỉ tập trung cho việc trình bày những thông tin tổng quan nhất về logic mô tả
và một số phần đã được giới thiệu trong chương này sẽ được làm rõ ràng hơn trong các chương tiếp theo
Trang 17Chương 2
Biểu diễn tri thức và lập luận trong logic mô tả
Việc biểu diễn tri thức và lập luận từ những tri thức đã có để đưa ra những tri thức mới hay những quyết định trong các hệ thống xử lý thông tin là công việc được nghiên cứu trong suốt quá trình nghiên cứu về logic mô tả Trong chương này, chúng ta sẽ đề cập đến những chức năng biểu diễn tri thức
và lập luận một cách cụ thể
2.1 Biểu diễn tri thức
2.1.1 Cơ sở tri thức
Một hệ thống biểu diễn tri thức (knowledge representation) được xây
dựng bằng logic mô tả cung cấp những công cụ hữu hiệu, dễ dàng trong việc cài đặt cơ sở tri thức, lập luận và vận dụng những cơ sở tri thức này
TBox
ABox
Description language
Reasoning
KB
Rules Applications
programs
Trang 18Hình 2.1: Mô tả một cơ sở tri thức trong hệ thống DL
Một cơ sở tri thức bao gồm hai thành phần TBox và ABox Trong đó
TBox là tập các thuật ngữ (Terminology) là bộ từ vựng của một lĩnh vực ứng
dụng còn ABox chứa những xác nhận (assertions) về những cá thể trong bộ từ
vựng này
Bộ từ vựng bao gồm những khái niệm (concept) diễn tả những tập các
cá thể và những quan hệ (role) diễn tả những mối quan hệ hai ngôi giữa những cá thể Bên cạnh đó còn có những khái niệm nguyên tử (atomic
concept), những quan hệ nguyên tử (atomic role) và những khái niệm mô tả
(description concept) mà hệ thống DL cho phép sử dụng để xây dựng những
mô tả phức tạp cho những khái niệm và những mối quan hệ Ngôn ngữ dùng cho việc xây dựng những mô tả là một đặc trưng của những hệ thống được xây dựng bởi logic mô tả Các hệ thống khác nhau được phân biệt bằng những ngôn ngữ mô tả chúng Vì thế, TBox và ABox có thể xem như định nghĩa trong logic vị từ, trong một vài trường hợp khác chúng được xem như là mở rộng của logic vị từ
Một hệ thống logic mô tả không chỉ lưu trữ terminology và assertions,
chúng còn đưa ra các dịch vụ lập luận Các dịch vụ này chúng ta sẽ tìm hiểu
rõ ở phần sau Trong bất kỳ một ứng dụng, một hệ thống biểu diễn tri thức luôn đặt trong một môi trường rộng lớn Những đối tượng khác tương tác với thành phần biểu diễn tri thức được thực hiện bằng việc truy vấn cơ sở tri thức
và chỉnh sửa nó bằng cách thêm vào hoặc bớt đi những khái niệm, những quan hệ và những xác nhận Cơ chế giảm hay tăng những xác nhận được thực
Trang 19hiện bởi những luật, đây chính là phần mở rộng của logic chuẩn, là nòng cốt
để giải thích về tính logic
2.1.2 Ngôn ngữ mô tả
Cơ sở để mô tả là các khái niệm nguyên tử (atomic concept) và các quan hệ nguyên tử (atomic role) Những mô tả phức tạp thì được quy nạp
bằng những khái niệm mô tả
Chúng ta sử dụng ký hiệu A và B cho những khái niệm nguyên tử, R cho quan hệ nguyên tử và C, D cho những khái niệm mô tả Những ngôn ngữ
mô tả được phân biệt nhau bởi cú pháp của chúng Ta sẽ lần lượt tìm hiểu các ngôn ngữ khác nhau Ngôn ngữ AL (attributive language) được giới thiệu lần
đầu vào năm 1991 của các tác giả Schmidt-SchauB và Smolka AL là một ngôn ngữ cơ bản nhất được quan tâm đến Những ngôn ngữ khác thuộc họ ngôn ngữ này là mở rộng của ngôn ngữ AL
2.1.2.1 Cú pháp và ngữ nghĩa của ngôn ngữ AL
Những khái niệm mô tả trong AL được tạo thành theo cú pháp như sau:
C, D -> A | (khái niệm nguyên tử)
T | (khái niệm đỉnh hay vũ trụ) | (khái niệm đáy)
A | (phủ định nguyên tử)
C D | (giao) R.C | (hạn chế giá trị) R.T (lượng từ tồn tại)
Trang 20Trong ngôn ngữ AL, phép phủ định chỉ được áp dụng cho các khái niệm nguyên tử và lượng từ tồn tại chỉ được phép đi với khái niệm đỉnh T (Top concept)
Ví dụ, ta có Person và Female là những khái niệm nguyên tử thì Person Female và Person Female là những khái niệm mô tả trong AL Giả sử
ta có một quan hệ nguyên tử hasChild chúng ta có thể xây dựng các khái niệm Person hasChild.T và Person hasChild.Female diễn tả những người có con và tất cả các con của họ là con trai
Để xác định ngữ nghĩa của những khái niệm trong AL chúng ta xét bộ thể hiện I bao gồm: Một tập I
khác rỗng là lĩnh vực thể hiện và một hàm thể hiện xác định một khái niệm nguyên tử A là một tập AI
I và quan hệ nguyên tử R là quan hệ hai ngôi RI
I x I Hàm thể hiện được mở rộng cho những khái niệm mô tả bằng những định nghĩa quy nạp sau:
TI = I
I
= ( A)I = I \ AI
(C D)I = CI DI
( R.C)I = {a I | b (a, b) RI -> b CI}
( R. T)I = {a I | b (a, b) RI } Hai khái niệm C và D được gọi là tương đương và được viết C D nếu
CI DI cho tất cả các thể hiện I Ví dụ hai khái niệm hasChild.Female hasChild.Student và hasChild.(Female Student) là tương đương
Trang 212.1.2.2 Họ ngôn ngữ AL
Chúng ta sẽ thu được những ngôn ngữ diễn cảm hơn nếu chúng ta thêm những cấu trúc phức tạp vào AL Những cấu trúc mở rộng của ngôn ngữ ALnhư sau:
+ Hợp của những khái niệm (được ký hiệu bởi U), được viết là A D
và được thể hiện (A D)I
= AI DI + Lượng từ tồn tại đầy đủ (ký hiệu bởi ), được viết R.C và được thể hiện ( R.C)I
= {a I | b (a, b) RI b CI}
Chú ý: R.C khác với R.T vì những khái niệm tuỳ ý được phép xảy ra trong phạm vi lượng từ tồn tại còn trong R.T lượng từ tồn tại chỉ được phép xảy ra đối với khái niệm đỉnh T
+ Lượng từ ràng buộc số lượng (ký hiệu N) được viết nR (ràng buộc
ít nhất) và nR (ràng buộc nhiều nhất), ở đây n có phạm vi là số tự nhiên và chúng được thể hiện như sau:
( nR)I = {a I | # (b | (a, b) RI ) n}
( nR)I = {a I | # (b | (a, b) RI ) n}
trong đó # diễn tả lực lượng của tập hợp
+ Phủ định những khái niệm tuỳ ý (được ký hiệu C), được viết là C và được thể hiện: ( C)I
= I \ CIViệc thêm vào các thành phần này cho phép chúng ta có thể mô tả được những khái niệm phức tạp hơn Ví dụ ta có thể mô tả khái niệm “những người
có ít nhất một người con hoặc có nhiều nhất là 3 người con và một trong 3 người con đó là một người con trai” ta có khái niệm mô tả như sau:
Person ( 1 hasChild ( 3 hasChild hasChild.Female))
Trang 22Mở rộng AL bằng bất kỳ một tập con nào của những cấu trúc trên mang lại một ngôn ngữ AL đặc biệt Chúng ta có tên mỗi ngôn ngữ mở rộng của ngôn ngữ AL bằng một chuỗi như sau:
AL[U][E][N][C]
Ở đây một ký tự đại diện cho một cấu trúc tương ứng, thí dụ ALEN là
mở rộng của AL bởi lượng từ tồn tại đầy đủ và lượng từ ràng buộc về số lượng
Từ quan điểm ngữ nghĩa, không phải tất cả những ngôn ngữ này là khác biệt nhau Tuy nhiên, những ngữ nghĩa này cho phép chúng ta viết lại những công thức dưới dạng công thức tương đương mới như: C D ( C D) và R.C R C Vì thế phép hợp và lượng từ tồn tại có thể được biểu diễn bằng cách sử dụng phép phủ định và phép giao Ngược lại, sự kết hợp của phép hợp và lượng từ tồn tại đầy đủ đem lại khả năng biểu diễn những khái niệm mang tính phủ định Vì thế, chúng ta giả sử rằng phép hợp
và lượng từ tồn tại đầy đủ đã có sẵn trong mọi ngôn ngữ có chứa phép phủ định Sau đây chúng ta sử dụng ký hiệu C thay cho những ký hiệu UE trong ngôn ngữ, ví dụ chúng ta sẽ viết ALC thay vì phải viết ALUE
restriction(N)
( nR) {d1 | |{(d1,d2) RI }| n}
( nR) {d1 | |{(d1,d2) RI }| n}
Trang 23Hình 2.2: Bảng cú pháp và ngữ nghĩa của ngôn ngữ AL
2.1.2.3 Ngôn ngữ mô tả một bộ phận của logic vị từ
Ngữ nghĩa của các khái niệm được định nghĩa trong ngôn ngữ mô tả là một bộ phận của logic vị từ Từ một bộ thể hiện cụ thể xác định mọi khái niệm nguyên tử, quan hệ một ngôi và hai ngôi vào thể hiện lĩnh vực I
Nếu ta xem những khái niệm nguyên tử và quan hệ nguyên tử như những vị từ một ngôi và hai ngôi, bất kỳ một khái niệm C nào cũng có thể được chuyển một cách hiệu quả sang một công thức của logic vị từ C(x) Với biến tự do x, bộ thể hiện I tập hợp những phần tử của I
sang công thức A(x), những thành phần giao, hợp, phủ định thì được dịch thành phép hội, hợp và phủ định logic tương ứng, khái niệm C được dịch thành công thức C(x) và R là một quan
hệ nguyên thuỷ, bị ràng buộc bởi giới hạn các lượng từ với mọi và lượng từ tồn tại, ta thu được công thức chuyển đổi như sau:
R.C(y) = x.R(y, x) C(x) R.C(y) = x.R(y, x) C(x)
Ở đây y là một biến mới, còn ràng buộc số lượng được biểu diễn bởi công thức :
Trang 24để biết thêm về mối quan hệ này chúng ta có thể tìm hiểu thêm trong tài liệu[20]
2.1.3 Thuật ngữ (Terminologies)
Những tiên đề trong thuật ngữ (terminological axioms) nói lên cách những khái niệm (concepts) và những quan hệ (roles) có quan hệ như thế nào
Chúng được lưu trữ trong cơ sở tri thức với tên gọi TBox ký hiệu T
2.1.3.1 Tiên đề trong TBox
Trong trường hợp tổng quát, tiên đề trong TBox (terminological axiom)
có hình thức như sau:
C D (R S) hoặc C D (R S) Trong đó C, D là những khái niệm và R, S là những quan hệ Công thức thứ nhất được gọi là bao hàm, công thức thứ hai được gọi là tương đương
Một thể hiện I thoả khái niệm bao hàm C D nếu CI
DI và nó thoả khái niệm tương đương C D nếu CI
DI Một thể hiện I thoả T nếu và chỉ nếu I thoả với mọi phần tử của T Nếu thoả một tiên đề (tương ứng tập tiên
đề) thì nói rằng nó là một mô hình (model) của tiên đề (tương ứng tập tiên đề)
Hai tiên đề hay hai tập tiên đề là tương đương nếu chúng có cùng một mô hình
Nếu vế trái của tiên đề tương đương là một khái niệm nguyên tử thì được gọi là định nghĩa, các định nghĩa này được dùng để mô tả (định nghĩa) những khái niệm mới
Ví dụ: Tiên đề định nghĩa khái niệm Mother như sau:
Mother Woman hasChild.person
Trang 25Những khái niệm được định nghĩa có thể sử dụng như một sự tóm tắt trong những mô tả khác Ví dụ, chúng ta mô tả khái niệm Father Man hasChild.person, khái niệm Parent chúng ta có thể mô tả như sau:
Parent Father Mother
Chúng ta gọi tập các định nghĩa như thế là một Terminology hay TBox Nếu không một khái niệm nào được định nghĩa hơn một lần thì một khái niệm nguyên tử A có nhiều nhất một tiên đề trong T, bên trái chứa A
Ví dụ một TBox (terminology) với những khái niệm liên quan đến quan
hệ họ hàng:
Woman Person Female Man Person Woman Mother Woman hasChild.Person Father Man hasChild.Person Parent Father Mother
Grandmother Mother hasChild.Parent MotherWithManyChildren Mother 3hasChild
MotherWithoutDaughter Mother hasChild Woman
Wife Woman hasHusband.Man Chúng ta chia các khái niệm xảy ra trong TBox thành hai loại: Loại thứ nhất gồm các khái niệm xảy ra bên trái của những tiên đề gọi là những ký
hiệu tên (name symbol, hay khái niệm tên) và được ký hiệu là NT, và loại thứ hai là những khái niệm xảy ra bên phải của những tiên đề và được gọi là
những ký hiệu cơ sở (base symbol, hay khái niệm cơ sở) và ký hiệu là BT
Trang 26Những ký hiệu tên thường gọi là những khái niệm được định nghĩa và những
ký hiệu cơ sở là những khái niệm nguyên tử
T chứa một chu trình (cyclic) nếu và chỉ nếu tồn tại một khái niệm nguyên tử trong T mà nó sử dụng chính nó để định nghĩa cho nó, ngược lại T được gọi là không chứa chu trình (acyclic)
Mở rộng duy nhất sẽ không tồn tại nếu một terminology chứa chu trình
Ví dụ một tiên đề có chu trình như sau:
Human’ Animal hasParent.Human’
Mặt khác, một thuật ngữ là một định nghĩa (definitorial) nếu nó không chứa chu trình (acyclic) Trong trường hợp này, chúng ta có thể mở rộng bằng
cách thay thế các khái niệm đại diện trong các định nghĩa bằng các định nghĩa của chúng Quá trình thay thế dừng lại khi các khái niệm đại diện đã được thay thế hết, chúng ta thu được một TBox hay một thuật ngữ T’ chỉ chứa những định nghĩa có dạng A C’, trong đó C’ chỉ chứa những ký hiệu cơ sở
và không chứa các ký hiệu tên và gọi T’ là mở rộng của T Kích thước mở rộng từ thuật ngữ gốc là theo luật số mũ[8]
Ví dụ mở rộng của TBox hay thuật ngữ không chứa chu trình nói về các mối quan hệ trong họ hàng được trình bày ở ví dụ trên như sau:
Woman Person Female Man Person (Person Female) Mother (Person Female) hasChild.Person Father (Person (Person Female))
hasChild.Person Parent ((Person Female) hasChild.Person)
Trang 27((Person (Person Female)) hasChild.Person)
Grandmother ((Person Female) hasChild.Person)
hasChild (((Person Female) hasChild.Person) ((Person (Person Female)) hasChild.Person))
MotherWithManyChild ((Person Female) hasChild.Person)
3hasChild MotherWithoutDaughter ((Person Female) hasChild.Person)
hasChild.( (Person Female)) Wife (Person Female)
hasHusband.(Person (Person Female))
Mệnh đề 2.1: Cho T là một thuật ngữ không chứa chu trình (acyclic
terminology) và T’ là mở rộng của T, ta có:
i) T và T’ có cùng những ký hiệu tên và ký hiệu cơ sở,
ii) T và T’ là tương đương,
iii) Cả hai T và T’ là định nghĩa (definitorial)
Chứng minh
Cho T là một thuật ngữ không chứa chu trình (acyclic Terminology)
Giả sử rằng trong T có chứa các định nghĩa A C và B D, ở đây B là những khái niệm xảy ra trong C Ta thay các khái niệm của B xảy ra trong C bằng
Trang 28những khái niệm D ta được một khái niệm C’ Trong acyclic terminology T ta thay các định nghĩa A C bằng A C’ ta có một acyclic terminoloy T’ Do việc thay thế như thế, nên acyclic T và T’ thu được từ T có cùng những ký hiệu tên và những ký hiệu cơ sở Hơn nữa, các phép thay thế diễn ra là những phép thay tương đương do đó T và T’ có cùng mô hình, nên T và T’ tương đương nhau Như vậy i) và ii) đã được chứng minh Bây giờ giả sử rằng J là thể hiện của những khái niệm cơ sở Ta có I là thể hiện cho các khái niệm tên
và các khái niệm cơ sở nên ta có AI
= C’J, nếu A C’ là định nghĩa của A trong T’ thì rõ ràng I là một mô hình của T’ và đó là mở rộng của mô hình J trong T’, điều này chỉ ra rằng T’ là definitorial Kết luận iii) đã được chứng
minh
Định lý 2.1: Mỗi định nghĩa trong thuật ngữ của ALC tương đương với một thuật ngữ không có chu trình (acyclic terminology)
Chứng minh
Định lý đã được chứng minh bởi Schild năm 1991[8]
2.1.3.2 Tiên đề bao hàm (inclusion axiom) trong TBox
Trong thực tế, có những khi chúng ta không thể định nghĩa một cách đầy đủ cho những khái niệm mô tả Trong trường hợp này, ta dùng đến những tiên đề bao hàm để bổ sung ý nghĩa Một tiên đề bao hàm có bên trái là một
khái niệm nguyên tử được gọi là một đặc biệt hoá (specialization) Một tập những tiên đề A là một thuật ngữ tổng quát hoá (generalized terminology) nếu
bên trái của mỗi tiên đề là một khái niệm nguyên tử và khái niệm nguyên tử này chỉ dùng nhiều nhất một lần ở bên trái của tiên đề Có thể chuyển một thuật ngữ tổng quát hoá T thành một thuật ngữ hợp quy tắc, bằng cách chọn các tiên đề bao hàm A C trong T và thay thế A C bằng một định nghĩa A
Trang 29A” C ở đây A’’ là một ký hiệu cơ sở mới và thuật ngữ thu được là chuẩn hoá của thuật ngữ T
Mệnh đề 2.2: Cho T là một thuật ngữ tổng quát hoá và T” là một chuẩn
hoá của nó ta có:
i) Mỗi mô hình của T” là một mô hình của T
ii) Đối với mỗi mô hình I của T có một mô hình I” của T” mà có cùng lĩnh vực như I và tương đồng với I về những khái niệm nguyên tử và những quan hệ trong T
Chứng minh
Chúng ta thấy rằng một mô hình I” của T” thoả mãn AI” =(A” C)I” = A”I” CI”, nghĩa là AI” CI” Ngược lại, nếu I là một mô hình của T, mở rộng I” của I được xác định bởi A”I”= AI là một mô hình của T”, bởi vì AI
CI Điều này có nghĩa là AI
= AI CI = A”I” CI” và do đó I” thoả A A” C
Về mặt lý thuyết, các tiên đề bao hàm (inclusion axiom) không được
đưa vào TBox Tuy nhiên, trong thực hành chúng là một công cụ tiện lợi để giới thiệu vào những TBox, nếu những khái niệm không được định nghĩa một cách đầy đủ
Trang 30như a, b, c Sử dụng những khái niệm C và những quan hệ R chúng ta có thể tạo ra hai loại xác nhận trong ABox như sau:
Một thể hiện I = ( I
, I) không chỉ ánh xạ những khái niệm vào những tập hợp trong lĩnh vực thể hiện, ánh xạ những quan hệ nguyên tử đến những quan hệ trong lĩnh vực mà còn ánh xạ mỗi tên cá thể a đến một phần tử aI I
Nếu a, b là những tên cá thể khác nhau thì aI
bI Thể hiện I thoả C(a) nếu
aI CI và thoả R(a,b) nếu (aI, bI) RI Một thể hiện thoả một ABox A nếu nó thoả mọi xác nhận có trong A, trong trường hợp này chúng ta gọi là một mô hình của ABox Một mô hình của A và T là sự thu gọn của thế giới cụ thể nơi
mà những khái niệm được thể hiện là tập con của lĩnh vực mô tả
Trang 312.1.4.2 Tập cá thể trong ngôn ngữ mô tả
Để tiện lợi trong việc mô tả, nhiều khái niệm cần được mở rộng, từ đó những tên cá thể (còn được gọi là nominal) được phép sử dụng trong ABox cũng như trong những ngôn ngữ mô tả Một trong những thành phần cơ bản
nhất là tập hợp các cá thể hay còn được gọi là collection of individual hoặc one-of được viết như sau:
{a1, a2, , an} trong đó a1, a2, , an là những tên cá thể và được thể hiện như sau:
2.2 Lập luận
Mục đích của các hệ thống biểu diễn tri thức không chỉ là việc lưu trữ các khái niệm, những quan hệ và những xác nhận Trong một cơ sở tri thức bao gồm TBox và ABox, ngữ nghĩa của chúng tương đương với tập các tiên
đề trong logic vị từ Do đó, những tiên đề này chứa các tri thức và có thể làm
rõ ràng hơn thông qua những lập luận Ví dụ trong cơ sở tri thức ở trên ta có thể suy ra rằng Mary là một Grandmother mặt dù tri thức này không được phát biểu rõ ràng trong cơ sở tri thức
Trang 322.2.1 Tác vụ lập luận (suy diễn) cho TBox
Khi xây dựng mô phỏng lĩnh vực, yêu cầu kỹ sư tri thức phải xây dựng một terminology (được gọi là TBox T) bằng cách định nghĩa các khái niệm mới từ những định nghĩa trước đó Trong suốt quá trình xử lý này, điều quan trọng là tìm ra một định nghĩa khái niệm mới có ý nghĩa hay không hoặc có mâu thuẫn hay không
Kiểm tra tính thoả của một khái niệm là chìa khoá của lập luận Một số suy luận của khái niệm có thể quy về tính thoả hoặc không thoả Ngoài ra còn lập luận về tính bao hàm, tương đương, không giao nhau cùng với những thuật toán kiểm tra tính bao hàm để nhận ra khái niệm trong TBox và các dịch
vụ lập luận này được định nghĩa như sau:
Tính thoả (Satisfiability): Một khái niệm C là thoả được trong TBox
nếu tồn tại một mô hình I của T mà CI
không rỗng Lúc đó ta gọi I là mô hình của C
Tính bao hàm (Subsumption): Một khái niệm C được bao hàm bởi
khái niệm D trong T nếu CI
DI cho mọi mô hình I của T, trong trường hợp này chúng ta có thể viết là C T D hoặc T |= C D
Tính tương đương (Equivalence): Hai khái niệm C và D là tương
đương nhau nếu CI
= DI với mọi mô hình I của T Trong trường hợp này ta viết C T D hoặc T |= C D
Tính không giao nhau (Disjointness): Hai khái niệm C và D được gọi
là không giao nhau trong T nếu CI
DI = với mọi mô hình của T
Trong trường hợp đặc biệt TBox rỗng, khi đó chúng ta viết một cách đơn giản |= C D nếu C được bao hàm bởi D và |= C D nếu C và D là tương đương nhau
Trang 33Thông thường, cơ chế lập luận cơ bản được cung cấp trong những hệ thống DL là kiểm tra tính bao hàm của những khái niệm Điều này dẫn đến các cách cài đặt khác nhau cho lập luận (suy diễn) và những chuyển đổi về bài toán bao hàm
Mệnh đề 2.3: (biến đổi thành bao hàm) Cho các khái niệm C, D ta có:
Mệnh đề 2.4: (Biến đổi về không thoả) Cho hai khái niệm C, D ta có:
i) C D C D là không thoả;
ii) C D cả hai (C D) và ( C D) là không thoả;
iii) C D = C D là không thoả
Những kết quả này đã thúc đẩy những nghiên cứu về ngôn ngữ mô tả, xem tính thoả được như một phương thức suy luận dẫn đến những thuật toán mới cho việc lập luận trong DL
Trong ngôn ngữ AL không chứa phủ định đầy đủ, bao hàm và tương đương không thể chuyển thành không thoả theo cách được chỉ ra trong mệnh
đề 2.4 vì thế cách lập luận này rất phức tạp
Trang 34Từ mệnh đề 2.3 với cách nhìn trong trường hợp có độ phức tạp xấu nhất thì bao hàm là lập luận tổng quát nhất cho bất kỳ một ngôn ngữ AL Trong mệnh đề 2.4, chúng ta chỉ ra rằng không thoả là một trường hợp đặc biệt cho những bài toán khác
Mệnh đề 2.5: Cho khái niệm C, những phát biểu sau là tương đương:
i) C không thoả;
ii) C ;
iii) C ;
iV) C T =
Khử TBox: Để phát triển những thủ tục lập luận trở nên dễ dàng hơn
chúng ta giả sử rằng TBox rỗng Chúng ta có thể biến đổi các dịch vụ suy diễn của TBox thành các dịch vụ suy diễn trong TBox rỗng bằng cách: Mỗi khái niệm C trong TBox có chứa A mà A được định nghĩa A D, D chỉ chứa các ký hiệu cơ bản thì ta thay A xuất hiện trong C bằng khái niệm D, ta sẽ được một TBox mới và TBox này được gọi là TBox mở rộng của TBox trước khi thay thế và hai TBox này tương đương với nhau
Ví dụ, chúng ta có thể thu được một mở rộng của khái niệm Woman Man trong TBox ở ví dụ trên thành
Person Female Person (Person Female) (*)
Từ đó thay vì chúng ta lập luận kiểm tra khái niệm Woman Man là không giao nhau thì ta đi kiểm tra khái niệm (*) là không thoả
2.2.2 Cơ chế lập luận trong ABox
Trong phần này chúng ta sẽ nói về các công việc lập luận trong ABox
Trang 35Một ABox A là phù hợp (Consistent) đối với TBox T nếu có thể hiện
là mô hình cho cả A và T, và để đơn giản ta nói rằng A là consistent
Chức năng lập luận quan trọng nhất trong ABox đó là kiểm tra một
minh hoạ (Instance checking):
A |= (A |= C(a), A |= R(a,b)) nếu mọi mô hình của A cũng thoả với
Lập luận này có thể chuyển đổi thành lập luận kiểm tra consistency cho ABox như sau: A|= C(a) nếu và chỉ nếu A { C(a)} là inconsistent
Bài toán trích xuất (Retrieval):
Cho khái niệm C tìm tất cả các cá thể a trong ABox để ABox đó dẫn ra được C(a) nghĩa là {a| A|= C(a)}
Bài toán nhận biết (Realization):
Cho một cá thể a trong một ABox, tìm một khái niệm C đặc trưng nhất theo quan hệ subsumption để ABox dẫn ra được C(a) nghĩa là {C | A|= C(a)}
2.2.3 Luật
Một cơ sở tri thức bao gồm TBox T và ABox A, ta mô tả cơ sở tri thức bằng K= (T,A) Trong một số hệ thống DL dùng những luật để biểu diễn tri thức, các luật được sử dụng có một dạng chung như sau:
C D
Ở đây C và D là những khái niệm Ngữ nghĩa của luật là “nếu một cá thể được xác nhận là một thể hiện của C, thì nó cũng là một thể hiện của D”
những luật như thế thường được gọi là trigger rules Ngữ nghĩa một tập hữu
hạn những trigger rule có thể được mô tả bằng thủ tục lập luận Cơ sở tri thức được xây dựng như sau: K(0)
= K và K(i+1) thu được từ K(i) thêm vào một xác
Trang 36nhận mới D(a) nếu như chứa một luật C D nhưng không chứa D(a) Kết quả của việc áp dụng các luật là nhận được một cơ sở tri thức K(n)
mà có cùng TBox như K(0)
và ABox được làm tăng lên bởi những thành viên được giới thiệu từ những luật
Một khác biệt quan trọng giữa trigger rule C D và tiên đề bao hàm
(inclusion axiom) C D là đối với các trigger rule, chúng không tương đương
với luật ngược D C Thêm vào đó, khi áp dụng một trigger rule, chúng không cần giải thích Ví dụ, ta có hai mệnh đề bao hàm sau C D và C D
có nghĩa rằng mọi đối tượng đều thuộc D, trong khi đó không tồn tại trigger rule C D và C D có thể áp dụng cho cá thể a
Để nắm bắt được ngữ nghĩa của các luật như trên, ta phải chấp nhận logic mô tả như những toán tử K, không đề cập đến những đối tượng trong lĩnh vực nghiên cứu nhưng đề cập đến những cơ sở tri thức của lĩnh vực Do
đó, K là một toán tử tri thức (epistemic operator) Đầu tiên, K-operator được
định nghĩa cho ALC [8] Một cơ sở tri thức luật là một bộ ba K = (T, A, R),
trong đó T là TBox, A là ABox và R là những trigger rule, được viết dưới dạng inclusion axiom KC D Thủ tục mở rộng như trên là một cơ sở tri thức K’ = (T, A’) thu được từ (T, A) bằng cách áp dụng những trigger rule
như được mô tả ở trên
2.2.4 Thuật toán lập luận
Trong phần này chúng ta lần lượt tìm hiểu các thuật toán dùng cho việc lập luận trong logic mô tả Việc cài đặt các thuật toán này ta sẽ tiếp tục làm rõ trong chương tiếp theo
Trang 372.2.4.1 Thuật toán bao hàm (subsumption algorithm)
Bao hàm là một dịch vụ lập luận cơ bản nhất được thực hiện hầu hết trong các hệ thống biểu diễn tri thức Nó giải quyết được các yêu cầu phân lớp các thông tin cũng như phân loại các khái niệm
Bao hàm khác với khái niệm tập con, bao hàm là quan hệ giữa hai khái niệm không phải giữa hai tập hợp Ví dụ, khái niệm Đại học Công Nghệ có quan hệ bao hàm với khái niệm Đai học Quốc Gia nhưng ta nói tập sinh viên Đại học Công Nghệ là tập con của tập sinh viên Đại học Quốc Gia
Định nghĩa 2.1: Một khái niệm mô tả của ALC được gọi là ở dạng chuẩn khi và chỉ khi nó có dạng: A1 A2 Am R1.C1
i) Với mọi i, 1 i k tồn tại j, 1 j m sao cho Bi = Aj
ii) Với mọi i, 1 i l tồn tại j, 1 j n sao cho Si = Rj và Cj Di
Thuật toán bao hàm
Trang 38Thuật toán làm việc theo hai pha: Đầu tiên, những khái niệm được viết dưới dạng chuẩn sau đó những cấu trúc được đưa ra so sánh Chi tiết của thuật toán:
1 Tất cả các cụm giao nhau được trải phẳng, tức là A (B C) A
B C, giao của các lượng từ với mọi được gộp lại, tức là R.C R.D R.(C D)
2 So sánh các cấu trúc: Cho C = C1 Cm và D = D1 Dn C D nếu và chỉ nếu đối với mọi Ci:
Ci là khái niệm nguyên tử hoặc khái niệm dạng R thì tồn tại khái niệm Dj để mà Ci = Dj
Ci là một khái niệm của dạng R.C’ thì tồn tại khái niệm Dj có dạng R.D’ để C’ D’
Thuật toán trên có độ phức tạp là O(|C| x |D|) [11] Một thuật toán tương tự được mở rộng cho ngôn ngữ ALN có độ phức tạp như trên Ở đây, không đề cập chi tiết vào độ phức tạp của các thuật toán, về độ phức tạp của thuật toán chúng ta có thể tìm thấy trong tài liệu [11]
2.2.4.2 Thuật toán thoả (satisfiability algorithm)
Thay vì trực tiếp kiểm tra tính bao hàm của những khái niệm mô tả, những thuật toán sử dụng phép phủ định để chuyển thuật toán kiểm tra bao
hàm (subsumption) thành thuật toán thoả hoặc không thoả (satisfiability or unsatisfiability) của những khái niệm mô tả Thuật toán này có tên là Tableu-
Based Satisfiability Chức năng thuật toán này có thể thấy qua ví dụ sau:
Ví dụ: Giả sử rằng chúng ta muốn kiểm tra khái niệm ( R.A) ( R.B)
có được bao hàm bởi khái niệm R.(A B) Điều này có nghĩa là chúng ta
Trang 39dùng thuật toán thoả để kiểm tra khái niệm: C = ( R.A) ( R.B) ( R.(A B)) là không thoả
Trước khi đi vào chi tiết thuật toán ta có một số khái niệm sau:
Định nghĩa 2.2: Dạng chuẩn phủ định (Negative Normal Form NNF):
Dạng chuẩn phủ định là dạng mà toán tử phủ định chỉ xảy ra trước những khái niệm tên (những khái niệm nguyên tử) Trong ngôn ngữ ALC các khái niệm có thể chuyển về một dạng NNF tương đương bằng cách sử dụng các công thức sau:
(C1 C2) C1 C2
(C1 C2) C1 C2
R.C R C R.C R C
C C
Hệ ràng buộc:
Nếu cho một thể hiện I của một lĩnh vực chứa phần tử a, chúng ta có
a ( R.C)I ngữ nghĩa cho chúng ta biết rằng phải có phần tử b để (a,b) RI và
b CI Từ đó chúng ta quan niệm rằng nếu có phần tử x thuộc khái niệm R.C được biểu diễn x: R.C phải có phần tử y sao cho x và y có quan hệ R được viết xRy và y thuộc thể hiện của C được viết y:C
Giả sử rằng chúng ta muốn xây dựng một thể hiện tổng quát S để cho tập tương ứng với khái niệm R.C chứa ít nhất một phần tử, ta có thể phát biểu yêu cầu này như một ràng buộc của x: R.C Theo ngữ nghĩa, ta biết rằng
S phải chứa một phần tử y để xRy và y:C và do đó ta có thể thêm một ràng buộc mới vào S Chúng ta cũng biết rằng nếu S thoả được với những ràng
Trang 40buộc mới này thì nó cũng thoả được với ràng buộc ban đầu Điều này dẫn đến các luật chuyển đổi mà chúng ta sẽ được tìm hiểu sau đây
Một ràng buộc là một thực thể có một trong những cấu trúc sau:
x:C : Ràng buộc khái niệm xRy : Ràng buộc quan hệ
x y : Ràng buộc của những phần tử khác nhau
Một tập hợp các ràng buộc thì được gọi là hệ ràng buộc
Những luật chuyển đổi của thuật toán thoả:
Luật
Nếu hệ ràng buộc S chứa ràng buộc x:(C D) và S không chứa x:C, x:D thì luật sẽ sinh ra một ràng buộc mới S’ = S {x:C, x:D} hay S {x:C, x:D} S
Luật
Nếu hệ ràng buộc S chứa ràng buộc x:(C D) và S không chứa x:C, x:D thì luật sẽ sinh ra một ràng buộc mới S’ = S {x:C} hoặc S’’= S {x:D} hay S {x:C} S hoặc S {x:D} S