Trong một vài năm gần đây, việc áp dụng ontology như một hình thức biểu diễntri thức trong các lĩnh vực ứng dụng khác nhau đã có những bước tiến quan trọng.Ontology mô tả không chỉ khái
Trang 1Mục Lục
Mục Lục 1
Lời Cảm Ơn 2
Lời Mở Đầu 3
I Tổng Quan Về Biểu Diễn Tri Thức Và Ontology 4
1 Khái niệm Biểu Diễn Tri Thức Ontology 4
2 Ứng Dụng Phương Pháp Biểu Diễn Tri Thức với Ontology 7
II Mô Hình KIF 12
1 Giới thiệu 12
2 Tính năng và đặc điểm mô hình KIF 12
3 Tìm hiểu mô hình KIF 13
a Khái niệm (Conceptualization) 13
b Cú pháp KIF 14
c Ngữ nghĩa của KIF 17
4 Dùng KIF biểu diễn tri thức trong ngôn ngữ tự nhiên 22
III So sánh mô hình KIF với mô hình COKB-ON 23
IV Tổng Quan Chương Trình Biểu Diễn KIF 25
1 Ngôn ngữ lập trình 25
2 Hiện thực và demo chương trình 26
3 Phụ lục chương trình 29
Kết Luận 36
Tài Liệu Tham Khảo 37
Nhận Xét Của Giáo Viên 38
Trang 2em trong việc nghiên cứu thêm.
Thông qua bài tiểu luận này, em mong được xem như hệ thống hoá kiến thức vàmột số điểm tìm hiểu vấn đề trong môn học Biểu Diễn Tri Thức và Ứng Dụng,cũng như cách tiếp cận Ontology vào thực tế Tuy nhiên, do một số hạn chế vềthời gian, cho nên bài báo cáo chắc chắn còn nhiều thiếu sót Rất mong được sựhướng dẫn và giúp đỡ của các thầy và các bạn
Một lần nữa xin cảm ơn thầy hướng dẫn chúng em tận tình trong môn học BiểuDiễn Tri Thức và Ứng Dụng vừa qua
Xin cảm ơn !
Trang 3Lời Mở Đầu
Ngày nay, khoa học máy tính và công nghệ thông tin phát triển mạnh mẽ và thâmnhập vào hầu hết mọi lĩnh vực hoạt động của con người Nhu cầu về các hệ thốngthông minh đã trở thành một nhu cầu thiết yếu Đó là lý do ra đời Trí tuệ nhân tạo,một lĩnh vực của khoa học máy tính chuyên nghiên cứu, phát triển các hệ thốngngày càng thông minh hơn Trong đó, biểu diễn tri thức và xây dựng các hệ giải làmột phần cơ bản quan trọng của trí tuệ nhân tạo
Trong một vài năm gần đây, việc áp dụng ontology như một hình thức biểu diễntri thức trong các lĩnh vực ứng dụng khác nhau đã có những bước tiến quan trọng.Ontology mô tả không chỉ khái niệm và thuộc tính mà còn cung cấp các quan hệcũng như các tiên đề phục vụ cho việc suy luận Ontology có rất nhiều lợi thế nhưcho phép thêm ngữ nghĩa vào dữ liệu, quản lý và cập nhật tri thức, tích hợp dữ liệucũng như tái sử dụng các thành phần dễ dàng hơn Nhờ đó, ontology là mô tảchính thức của một số bộ từ vựng chuyên môn Công dụng quan trọng nhất củaontology là biểu diễn tri thức Ontology đã được sử dụng thành công trong các hệthống chuyên gia, mạng ngữ nghĩa… Do hình thức lý thuyết là logic mô tả,ontology có lợi thế cả về diễn đạt ngữ nghĩa lẫn cơ chế suy luận
Trong đề tài này tìm hiểu các biểu diễn tri thức thông qua mô hình KIF, cách tiếpcận mô hình KIF, so sánh với mô hình COKB-ON, áp dụng mô hình KIF vào biểudiễn ngôn ngữ tự nhiên Thêm vào đó, thông qua việc sử dụng các lib của opensource để demo chương trình
Thông qua báo cáo bài thu hoạch và tìm hiểu thêm ontology cũng như mô hìnhKIF, em mong muốn mang các ứng dụng của trí tuệ nhân tạo đến gần hơn vớingười sử dụng Do thời gian thực hiện đề tài có hạn, nên cũng không tránh khỏinhững sai xót, em rất mong được sự đóng góp ý kiến quý báo của các Thầy, Cô vàcác bạn
Trang 4I Tổng Quan Về Biểu Diễn Tri Thức Và Ontology
Ngày nay, những chương trình ứng dụng thông thường, những ứng dụng truy xuất database dần dần không đáp ứng hết tất cả các yêu cầu và bài toán đặt ra của con người Và việc biểu diễn tri thức và lập luận trong việc xử lý thông tin tự động trong các hệ thống thông minh ra đời là yêu cầu tất yếu cho các ứng dụng dạng KBS (Knowledge Base System) , hoặc hệ chuyên gia (Expert System) hoặc các hệ hổ trợ ra quyết định (Decision System Support) ra đời
Trong khoa học máy tính và trí tuệ nhân tạo, ngôn ngữ ontology xem như ngôn ngữ chính quy cho việc nghiên cứu biểu diễn tri thức và lập luận suy diễn Chúng cho phép khái quát hóa các kiến thức về các lĩnh vực cụ thể và thường bao gồm các quy tắc lý luận rằng hỗ trợ chế biến của nhận thức đó Ngôn ngữ
Ontology thường ngôn ngữ khai báo, gần như luôn luôn khái quát của ngôn ngữ khung, và thường được dựa trên một trong hai logic lệnh đầu tiên hoặc trên mô tả logic
1 Khái niệm Biểu Diễn Tri Thức Ontology
Ontology là một thuật ngữ mượn từ triết học nhằm chỉ khoa học mô tả các loại thực thể trong thế giới thực và cách chúng liên kết với nhau Trong khoa học máy tính, một cách khái quát, Ontology là "một biểu diễn của sự khái niệm hoá chung được chia sẻ" của một miền nhất định Nó cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tính quan trọng và các định nghĩa về các khái niệm và các thuộc tính này Ngoài bộ từ vựng, Ontology còn cung cấp các ràng buộc, đôi khi các ràng buộc này được coi như các giả định cơ sở về ý nghĩa mong muốn của bộ từ vựng, nó được sử dụng trong một miền mà có thể được giao tiếp giữa người và các hệ thống ứng dụng phân tán khác
Theo lúc ban đầu, ontology được định nghĩa như một cấu trúc bao gồm những thành phần sau (bởi Gruber 1993; Fensel 2001):
I – tập các thể hiện của khái niệm;
Z – tập các tiên đề, là các công thức logic biểu diễn các ràng buộc toàn
vẹn trong tập các thể hiện và khái niệm
Một định nghĩa khác cho mô hình Ontology:
Một ontology là một bộ tứ O = (C, P, R, A), trong đó:
niệm thường được xem như một lớp của ontology
một thể hiện của một quan hệ ba ngôi có dạng p(c, v, f), trong đó c ∈ C
Trang 5là một khái niệm ontology, v là một giá trị thuộc tính gắn với c và f địnhnghĩa các mặt giới hạn trên v Một vài mặt giới hạn bao gồm loại (ft), lực lượng (fc) và phạm vi (fr) Mặt giới hạn ft có thể là bất kỳ kiểu dữ liệu nào được hỗ trợ bởi trình soạn thảo ontology, ví dụ như ft ∈
{boolean, integer, float, string, symbol, instance, class, …} Mặt giới hạn lực lượng fc định nghĩa cận trên và cận dưới của số lượng giá trị thuộc tính Mặt giới hạn phạm vi fr chỉ định một phạm vi các giá trị có thể gán cho thuộc tính
R = {r | r C × C × Rt} là một tập các quan hệ ngữ nghĩa hai ngôi
được định nghĩa giữa các khái niệm trong C Rt = {một-một, một-nhiều,nhiềunhiều} là tập các kiểu quan hệ
A là một tập các tiên đề Mỗi tiên đề là một chân lý hoặc luật suy diễn.
Sau đây là một ví dụ kinh điển về mô hình ontology về tập khái niệm và các mối quan hệ của chúng:
Hình 1: Mô hình ontology về cái nhà
Trang 6Hình 2: Mô hình ontology về làm bánh pizza
Mô tả Logic (Description logics, viết tắt DL) là một họ các ngôn ngữ biểu diễn tri thức có thể sử dụng để biểu diễn tri thức thuật ngữ của một miền ứng dụng theo một cách có cấu trúc và được hiểu rõ một cách hình thức Mặt khác, cái tên logic
mô tả có ý nói đến các mô tả về khái niệm được dùng để mô tả một miền và ngữ nghĩa dựa trên logic (logic-based semantics) thu được qua việc dịch từ logic mệnh
đề bậc nhất
Mô tả Logic được thiết kế như là một mở rộng của khung ngữ nghĩa (semantic frame) và lưới ngữ nghĩa (semantic network), vốn không được trang bị một ngữ nghĩa dựa trên logic hình thức
Cú pháp:
Một tập các ký hiệu mệnh đề dùng để ký hiệu các tên khái niệm (concept name)
Một tập các ký hiệu mệnh đề đôi để ký hiệu các tên vai trò (role name);
Một định nghĩa đệ quy để định nghĩa các thuật ngữ khái niệm từ các tên khái niệm và tên vai trò các khởi tạo (constructor)
Trong lôgic mô tả, các tên khái niệm được xem là các khái niệm nguyên tử,các tên vai trò được coi là các vai trò nguyên tử Nhìn chung, một khái niệm đại diện cho tập các cá thể thuộc về nó, và một vai trò đại diện cho một quan hệ giữa các khái niệm
Trang 7Cú pháp của một thành viên trong gia đình lôgic mô tả được đặc trưng bởi định nghĩa đệ quy của nó, các định nghĩa đệ quy này định nghĩa các tạo tử có thể được dùng để tạo các thuật ngữ khái niệm.
Một số tạo tử thông dụng bao gồm các tạo tử lôgic trong logic bậc nhất nhưphép giao (intersection) hay tuyển (conjunction) của các khái niệm, phép hợp(union) hay hội (disjunction) của các khái niệm, phép phủ định (negation) hay lấyphần bù (complement) của các khái niệm, hạn chế giá trị (hạn chế với mọi -
universal restriction), hạn chế tồn tại (existential resctriction), v.v Các tạo tử khác
có thể còn bao gồm các hạn chế đối với các vai trò thường thấy trong các quan hệ nhị phân, ví dụ, tính đảo (inverse), tính bắc cầu (transitivity), chức năng
Các cá thể đó thường được cho là thuộc một miền xác định cho trước Sau
đó, ngữ nghĩa của các khái niệm và vai trò không nguyên tử được định nghĩa theo các khái niệm và vai trò nguyên tử Điều này được thực hiện bằng một định nghĩa
đệ quy tương tự như trong cú pháp
2 Ứng Dụng Phương Pháp Biểu Diễn Tri Thức với Ontology
a Mạng ngữ nghĩa (Semantic network)
Một mạng lưới ngữ nghĩa (còn gọi là frame network) là một mạng lưới đại diện cho mối quan hệ ngữ nghĩa (semantic relationship) giữa các khái niệm
(concept) Điều này thường được sử dụng như là một hình thức biểu diễn tri thức
Nó là một đồ thị có hướng hoặc vô hướng bao gồm các đỉnh, mà đại diện cho khái niệm, và các cạnh
Trang 8Sau này, mạng web ngữ nghĩa (Sematic web) ra đời cũng dựa trên ý tưởng này Trong đó, các hệ thống có thể giao tiếp với nhau, phân tích và diễn giải ý nghĩa của mọi dữ liệu trên site, rồi tập hợp nội dung liên quan từ nhiều nguồn khácnhau Ví dụ: một công ty du lịch sẽ biết khách hàng của họ có bao nhiêu đứa con, công việc, sở thích riêng để tìm ra điểm nghỉ mát lý tưởng nhất cho cả gia đình.
Sau này mạng xã hội web ngữ nghĩa (social sematic web) ra đời, có thể được xem như là một trang web của hệ thống kiến thức tập thể, có thể cung cấp thông tin hữu ích dựa trên sự đóng góp của con người và nhận thông tin tốt hơn khi có nhiều người tham gia Nó kết hợp công nghệ, chiến lược và phương pháp từSemantic Web, phần mềm xã hội và Web 2.0
Việc tiếp cận ngữ nghĩa thông qua các Ontology thì mềm dẻo hơn vì người
sử dụng có thể lựa chọn bộ từ vựng và các ràng buộc trong các Ontology Ví dụ, các ứng dụng trong các miền khác nhau có thể sử dụng các Ontology khác nhau Đặc biệt, các Ontology có thể được sử dụng để đặc tả ý nghĩa của các tài nguyên Web (thông qua các chú thích) bằng cách xác nhận các tài nguyên như các trường hợp cụ thể của một số khái niệm quan trọng và hay hoặc khẳng định các tài
nguyên có quan hệ với các tài nguyên khác thông qua một số thuộc tính quan trọng đã định nghĩa trong các Ontology
b Hệ nền tảng tri thức (Knowledge based systems)
Hệ nền tảng tri thức dựa trên các công cụ trí tuệ nhân tạo làm việc trong một lĩnh vực hẹp để cung cấp các quyết định thông minh với sự suy luận Kiến thức được mua lại và được đại diện bằng cách sử dụng luật biểu diễn tri thức quy định, khung và các kịch bản Những lợi thế cơ bản được cung cấp bởi hệ thống như vậy là tài liệu hướng dẫn kiến thức, hỗ trợ quyết định thông minh, tự học, lý luận và giải thích Hệ nền tảng tri thức là những hệ thống dựa trên các phương pháp và kỹ thuật trí tuệ nhân tạo và là thành phần cốt lõi của hệ chuyên gia vào việc ra quyết định khuôn khổ giới hạn nào đó
c Hệ chuyên gia (Expert system)
Với năng biểu diễn tri thức và cơ chế suy luận dựa trên logic mô tả,
ontology là mô hình tuyệt vời cho các hệ chuyên gia So với phương pháp biểu diễn bằng luật sinh vốn chỉ hỗ trợ quan hệ nếu… thì…, ontology cho phép biểu diễn tri thức của chuyên gia một cách đa dạng và phong phú hơn qua nhiều loại quan hệ khác nhau mà người dùng có thể tự định nghĩa
Dựa trên lý thuyết trí tuệ nhân tạo, một hệ chuyên gia là một hệ thống máy tính mô phỏng các khả năng ra quyết định của một chuyên gia về con người Hệ chuyên gia được thiết kế để giải quyết các vấn đề phức tạp bằng cách lý luận về kiến thức, giống như một chuyên gia, và không theo thủ tục như lập trình thông thường Các hệ thống chuyên gia đầu tiên được tạo ra trong những năm 1970 và sau đó tăng lên nhanh chóng trong những năm 1980 Hệ chuyên gia là những hình thức đầu tiên của AI phần mềm thành công
Trang 9Một hệ thống chuyên gia có một cấu trúc độc đáo, khác nhau từ các chươngtrình truyền thống Nó được chia thành hai phần, một cố định, độc lập của hệ thống chuyên gia: động cơ suy luận, và một biến: cơ sở tri thức Để chạy một hệ chuyên gia, sẽ suy luận các kiến thức cơ bản giống như một con người Trong những năm 80, chương trình giao diện để giao tiếp với người sử dụng Sau này là chương trình trò chuyện với người sử dụng, cụ thể siri của Apple.
d Hệ hỗ trợ quyết định (Decision Support System - DSS)
Hệ hỗ trợ quyết định (DSS) là hệ thống thông tin hỗ trợ kinh doanh, hoạt động
tổ chức ra quyết định DSS phục vụ việc quản lý, hoạt động, và mức độ quy hoạchcủa một tổ chức và giúp đỡ để đưa ra quyết định, có thể thay đổi nhanh chóng vàkhông dễ dàng xác định trước Hệ hỗ trợ quyết định có thể là một cách trọn vẹntrên máy vi tính, con người hoặc kết hợp cả hai
DSS bao gồm các hệ thống dựa trên tri thức Một DSS được thiết kế là hệthống tương tác nhằm mục đích giúp các nhà hoạch định chính sách các thông tinhữu ích từ sự kết hợp của dữ liệu thô, tài liệu, và kiến thức cá nhân, hoặc mô hìnhkinh doanh để xác định và giải quyết vấn đề và đưa ra quyết định Ví dụ ứng dụng
hỗ trợ quyết định có thể thu thập và trình bày bao gồm: hàng tồn kho của các tàisản thông tin (bao gồm cả nguồn dữ liệu di sản và quan hệ, hình khối, kho dữ liệu,
và các siêu thị dữ liệu), so sánh số liệu bán hàng từ một thời kỳ và tiếp theo, dựkiến con số doanh thu dựa trên giả định doanh số bán sản phẩm
d Các lợi ích và ứng dụng khác của Ontology
- Ontology là hệ biểu diễn ngữ nghĩa nên cung cấp khả năng hiểu tri thức chomáy tính, tạo điều kiện xây dựng các hệ thống xử lý tự động
Trang 10- Ontology có khả năng tích hợp Điều này cho phép những Ontology về cácmiền thông tin khác nhau có thể tích hợp, trộn lẫn, ánh xạ với nhau, tạo sự liêngiao tiếp giữa các ứng dụng khác nhau.
- Ontology có thể dùng lại Điều này giúp cho việc xây dựng Ontology mớiđược giảm nhẹ công sức, đồng thời tạo ra khả năng mở rộng dịch vụ của các ứngdụng một cách dễ dàng nhất là dịch vụ Web (Web services)
- Ontology có thể được chia sẻ bởi nhiều ứng dụng, không phụ thuộc nền hệđiều hành Một ứng dụng trên hệ Unix có thể hoàn toàn sử dụng dữ liệu trongOntology được xây dựng bởi ứng dụng trên hệ Windows
- Ontology có thể giải quyết vấn đề đa ngôn ngữ Các ứng dụng có thể xử lý
dữ liệu được viết bởi các ngôn ngữ khác nhau (ví dụ tiếng Anh và tiếng Pháp) mộtcách giống nhau với một Ontology ánh xạ các thuộc tính của các ngôn ngữ nàyđến cùng một ngữ nghĩa Ví dụ của ứng dụng này là trong tìm kiếm đồng thời trênnhiều ngôn ngữ
- Ontology biểu diễn ngôn ngữ dựa trên logic Mọi thứ được phát biểu chínhxác, rõ ràng trên ngôn ngữ tự nhiên nào đều biểu diễn được logic Nhiều thứ khó
có thể nắm được ý nghĩa 1 cách rõ ràng thì khó có thể biểu diễn trên logic (nhưtình yêu, thơ ca ) Tuy nhiên, bất cứ thứ gì có thực hiện trên máy tính bằng ngônngữ lập trình đều có thể biểu diễn logic Các ontology thường dùng biểu diễn cáckhái niệm bằng các ngôn ngữ dựa trên logic
- Ontology biểu diễn theo ngữ nghĩa con người nên người dùng hoàn toàn hiểuđược và có thể soạn thảo, tinh lọc, tùy biến Ontology theo ý muốn Điều này giúptạo ra các ứng dụng thông minh, mang tính tùy biến cao, là hướng phát triển củatương lai
Các ứng dụng Ontology có thể biểu diễn ngôn ngữ tự nhiên
- Conceptual Graphs (CGs): được John F Sowa (Sowa 1976) sử dụng để biểu diễn
mô hình của ngôn ngữ tự nhiên vào ngôn ngữ được trình bày như logic mà con người có thể đọc dễ dàng
- Knowledge Interchange Format (KIF): thiết kế nhằm phân tách cú pháp và tập ký
tự trao đổi trong các hệ máy tính và có thể áp dựng biểu diễn ngôn ngữ tự nhiên.Các biểu diễn CGs và KIF đều có thể chuyển đổi lẫn nhau và ngược lại CGs dễ cho người đọc và biểu diễn nhiều thứ hơn nhưng khó cho máy tính thực hiện, còn KIF thì ngược lại Vì vậy các ontology thường dùng kết hợp giữa 2 cách trên
Ví dụ:
Để biểu diễn câu “John đi đến Boston bằng xe bus”
Trang 11Ta có:
4 khái niệm: [Người: John], [Đi], [Thành Phố: Boston], [Xe bus]
3 quan hệ: (nhân viên), (đích đến), (phương tiện)
Sau đây là quy tắc biểu diễn các khái niệm và các quan hệ
Biểu diễn bằng CGs:
[Đi: *x] [Người: ‘John’ *y] [Thành phố: ‘Boston’ *z] [Xe bus: *w]
(Nhân viên ?x ?y) (Đích đến ?x ?z) (Phương tiện ?x w)
Biểu diễn bằng KIF:
(exist ((?x Đi) (?y Người) (?z Thành Phố) (?w Xe buýt))
(and (Tên ?y John) (Tên ?z Boston)(Nhân viên ?x ?y) (Đích đến ?x ?z) (Phương tiện ?x ?w)))
Từ cách biểu diễn trên, ta thấy các suy luận có thể hiện thực được bằng cách chuyển đổi graph thành công thức logic bằng cách có bộ suy diễn
Trang 12II Mô Hình KIF
Thông thường, khi một chương trình đọc một cơ sở kiến thức trong KIF, nó
chuyển đổi các dữ liệu đang có vào hình thức nội bộ kiểu định dạng của riêng mình (danh sách, mảng, tập hợp,…) Tất cả các tính toán được thực hiện bằng cách sử dụng các phương thức nội bộ và có thể sử dụng nội bộ khi chương trình cần phải giao tiếp với một chương trình khác
Áp dụng mô hình KIF có thể biểu diễn ngôn ngữ tự nhiên, và cũng được dung trong việc biểu diễn tri thức cho Postscript, postscript thường được sử dụng bởi các chương trình định dạng văn bản và đồ họa trong việc truyền đạt thông tin về các tài liệu đến máy in Postscript là một dạng có thể biểu diễn, lưu trữ và phục hồiđược trong nhiều lĩnh vực, nó cũng là một ngôn ngữ lập trình có thể đọc được và
do đó tạo điều kiện cho việc phát triển độc lập của các chương trình thao tác tri thức
Chính vì mô hình KIF có các thành phần như sau:
- Mô hình với thành phần khái niệm và thành phần quan hệ
- Ngôn ngữ đặc tả
Nên mô hình KIF cũng chính là một dạng khái niệm Ontology
2 Tính năng và đặc điểm mô hình KIF
Các tính năng chung quan trọng sau đây cho định nghĩa của KIF:
a Ngôn ngữ khai báo có ngữ nghĩa (declarative semantics):
Có thể hiểu được ý nghĩa của các biểu thức trong ngôn ngữ mà không cần một trình thông dịch nào cho các thao tác biểu hiện Bằng cách này, KIF khác các ngônngữ khác được dựa trên các thông dịch viên cụ thể như Emycin và Prolog
b Ngôn ngữ biểu thị được toàn diện (logically comprehensive):
Trang 13Nó cung cấp cho sự biểu hiện của câu tùy ý bằng các vị từ Bằng cách này, nó khác với ngôn ngữ truy vấn cơ sở dữ liệu quan hệ (bị hạn chế bởi phép toán giới hạn) và Prolog (được giới hạn mệnh đề Horn).
b Ngôn ngữ cung cấp cho việc biểu diễn tri thức cho một tri thức khác
(Metaknowledge):
Cho phép chúng ta biểu diễn tri thức một cách tường minh và cho phép chúng tagiới thiệu tri thức mới mà không thay đổi ngôn ngữ
Ngoài ra, còn các đặc điểm tuyệt vời của KIF như sau:
a Chuyển dịch (Translatability): KIF cho phép chuyển đổi kiến thức cơ bản khai báo từ các ngôn ngữ biểu diễn tri thức gốc
b Dễ đọc (Readability): KIF có thể dùng như là một ngôn ngữ để tương tác với con người, con người dễ đọc tạo điều kiện cho việc sử dụng nó trong mô tả ngữ nghĩa ngôn ngữ đại diện, sử dụng nó như một ngôn ngữ xuất bản ví dụ như kiến thức cơ bản, sử dụng của nó trong việc hỗ trợ kiến thức cho con người
c Tính khả dụng (Useability): tuy là ngôn ngữ đại diện, nhưng KIF sử dụng được như ngôn ngữ giao tiếp Cụ thể biểu diễn kiến thức trong otology và các kiếnthức cơ bản
3 Tìm hiểu mô hình KIF
Theo lý thuyết của các mô hình ontology:
O = {C, R, A 0}
Với C (Concept): là tập các khái niệm, đơn vị của nhận thức và nền tảng tri thức.
R (Relation): là tập các quan hệ nội tại và các quan hệ các đối tượng
A 0 (Axiom): tập các tiền đề ban đầu
Thì mô hình KIF cũng có có những đặc điểm này và cụ thể hóa thêm nữa
a Khái niệm (Conceptualization)
Kiến thức chuẩn hóa của mô hình KIF cũng bao gồm các niệm như sau:
- Đối tượng (Objects)
- Tính năng (Functions)
- Quan hệ (Relations)
Đối tượng (Objects):
Các khái niệm về đối tượng được sử dụng ở đây khá rộng Đối tượng có thể
cụ thể (ví dụ như một nguyên tử carbon cụ thể, Mặt Trời, …) hoặc trừu tượng (ví dụ như số 2, các thiết lập của tất cả các số nguyên, các khái niệm
về công lý, các khái niệm toán học,…) Đối tượng có thể là nguyên tố hoặc composite (ví dụ như một mạch điện)
Mục đích khác nhau của một ngôn ngữ đại diện khai báo KIF là việc bao
Trang 14gồm các đối tượng cơ bản nhất định này, ta lấy ví dụ khái niệm toán học:
- Tất cả các số thực
- Tất cả các số phức
- Tất cả các danh sách hữu hạn của tập đối tượng
- Tất cả các tập của các đối tượng
Chức năng (Functions):
Chức năng là một loại mối tương quan giữa các đối tượng Đối với tất cả các dãy hữu hạn của các đối tượng (được gọi là các đối số), một chức năng liên kết một đối tượng duy nhất (gọi là giá trị) Một chức năng được định nghĩa là một tập hợp các danh sách hữu hạn của các đối tượng, một cho mỗi
sự kết hợp của các đối số có thể Ví dụ, hàm chứa một danh sách có các số nguyên
Quan hệ (Relations):
Mối quan hệ là một loại mối tương quan giữa các đối tượng Một mối quan
hệ là một tập hợp danh sách hữu hạn của các đối tượng tùy ý (có thể độ dài khác nhau) Ví dụ, quan hệ nhỏ hơn các phần tử trên danh sách, cho thấy thấy thứ tự nhỏ hơn
b Cú pháp KIF
Cú pháp của First-Order KIF (tạm dịch KIF theo thứ tự dịch từ trên xuống), được mô tả bằng 3 lớp:
- Lớp 1: là các ký tự cơ bản (basic characters) của ngôn ngữ
- Lớp 2: là các từ (lexemes) bao gồm các ký tự ở lớp 1 kết nối với nhau
- Lớp 3: là các biểu thức ngữ pháp (grammatically legal expressions) bằng cách kết nối các lexemes với nhau
Ký tự nonterminal*: có nghĩa xuất hiện không lần hoặc nhiều lần
Ký tự nonterminal+: có nghĩa xuất hiện một lần hoặc nhiều lần;
Các ký tự space, tab, return tham khảo đến các ascii codes 32, 9, 13
Cú pháp của KIF sử dụng dạng biên dịch BNF
BNF (Backus Normal Form Backus-Naur Form) là một trong kỹ thuật cho ngữ pháp phi ngữ cảnh (context-free grammars), thường được sử dụng để mô tả cú pháp của ngôn ngữ được sử dụng trong máy tính, chẳng hạn như ngôn ngữ lập trình máy tính, định dạng tài liệu, giao thức truyền thông, kỹ thuật cho các văn bản ngữ pháp ngữ cảnh chính hình thức
Ký tự của KIF phân loại gồm chữ hoa, chữ thường, chữ số, ký tự chữ cái, các ký tự đặc biệt, khoảng trắng, và các ký tự khác
Trang 15Chuỗi các từ (Character Strings):
Một chuỗi các từ là một loạt các ký tự trong dấu ngoặc kép Ký tự escapes
\ để cho phép bao gồm dấu ngoặc kép và ký tự \ chính nó
<stringchar> ::= <wordchar> | <white> | (|)
<docstring> ::= “<stringchar>*”
Từ (Words):
Word là một ký tự hoặc ký số theo sau bởi wordchar hợp lệ
<word> ::= {<alpha> | <other>} <wordchar>
<wordbody> ::= <wordchar>+
Biến đối tượng (Object Variables):
Biến đối tượng là 1 từ (word) mà đầu tiên là dấu ?
Tất cả các word đều gọi constants
<constant> ::= <word> - <objvariable> – <sentop>
Trang 16Câu (sentence) theo chuẩn BNF bao gồm 4 loại:
<sentence> ::= <atomsent>|<logsent>|<quantsent> | (<sentence>
<docstring>)
Atomic Sentence (atomsent):
Atomic sentence bao gồm 1 hoặc nhiều các object term hoặc là
equation sentence
<atomsent> ::= (<objterm>+) | <equalsent>
Equation Sentence (equalsent):
Equation sentence bao gồm toán tử = và 2 object term
<equalsent> ::= (= <objterm> <objterm>)
Logical Sentence (logsent):
Cú pháp của câu dạng logic bao gồm các phép toán logic kết nối các sentence với nhau, như toán tử not biểu thị cho việc phủ định, and cho phép kết nối, or cho phép phân chia…
<logsent> ::= (not <sentence>)|
({and|or} <sentence>*)|
({implies|iff} <sentence> <sentence>)
Quantified Sentence (quantsent):
Cú pháp của câu dạng qualified bao gồm các phép toán forall , hoặc exist cho các biến và các câu
<quantsent> ::= ({forall|exists}(<objvariable>*) <sentence>)
Trang 17<docform> ::= (documentation [<word>] <docstring>)
c Ngữ nghĩa của KIF
Nền tảng ngữ nghĩa của KIF là các khái niệm bao gồm term của các đối tượng object và các mối quan hệ giữa các object đó Bất kỳ tên nào trong tập bao đóng cũng có thể được sử dụng như là tên một function hay là một mối quan hệ Ngữ nghĩa phải được gán vào giá trị nào đó củabiểu thức (expression) thông qua chức năng và mối quan hệ với nhau cũng như nội tại của chính nó
Với KIF, các mối quan hệ và các chức năng là các object trong một tập
vũ trụ luận (universe of discourse, là tập hợp các phần tử khác rỗng) KIF sử dụng một ngữ nghĩa cơ bản cộng một phần mở rộng với tất cả các đối tượng trong miền Bản chất của việc mở rộng liên kết với một đối tượng xác định loại đối tượng đó là: quan hệ (relation) là phần mở rộng đó là tập hợp của n-tuple, chức năng (function) là một lớp học đặc biệt của quan hệ có phần mở rộng là chức năng, và cá nhân (individuals)
có phần mở rộng là empty
Ta cùng nhau tìm hiểu ngôn ngữ First-Order KIF
Ngôn ngữ KIF được biểu diễn bằng các thành phần cơ bản như sau:
ext : hàm mở rộng (extension function)
i : hàm suy diễn (interpretation function)
s : hàm giá trị về ngữ nghĩa (semantic value function)
t : hàm thỏa mãn (satisfaction function)
Trang 18LI : ngôn ngữ suy luận
LKIF : ngôn ngữ First-Order KIF
λe : cú pháp mapping λe: LI LKIF từ biểu thức trong LI thành câu trong
Với sự duy diễn I, hàm mở rộng có các đặc tính sau:
Ngữ nghĩa cho term:
Với tập duy diễn I, hàm mở rộng ngữ nghĩa có các đặc tính sau cho mỗi loại:
Giá trị ngữ nghĩa của biến đối tượng (object variables):
Giá trị ngữ nghĩa của biến đối tượng v là đối tượng được gán đến biến trong tập suy diễn I
Giá trị ngữ nghĩa của hằng số (constants):
Giá trị ngữ nghĩa của hằng số s là đối tượng được gán đến hằng số trongtập suy diễn I
Giá trị ngữ nghĩa của số hạng hàm (function term):
trong tập suy diễn I;
Trang 19Câu cơ bản (atomic sentences):
Một câu cơ bản là true nếu và chỉ nếu bộ dữ liệu của các đối tượng như nhau từ giá trị các đối số là thành viên của tập hợp của bộ dữ liệu trong
mở rộng quan hệ biểu thị bằng mối quan hệ hằng trong tập suy diễn I