các bạn xem kĩ nội dung nhé mình để ở chế độ xem tối đa 70% tài liệu để các bạn tham khảo ! Hoc tốt nhé !
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI: TÌM HIỂU FUZZY ONTOLOGY VÀ
FUZZY-OWL
Giáo viên hường dẫn: ThS TRƯƠNG HẢI BẰNG
Sinh viên thực hiện: TRẦN THANH TOẢN
PHẠM ĐÌNH ÂN
Lớp: KHOA HỌC MÁY TÍNH Khóa: 01
TP.HỒ CHÍ MINH, 5-2010
Trang 3MỞ ĐẦU
Việc biểu diễn tri thức và Lập Luận Là vấn đề then chốt cho quá trình xử Lý thông tin
tự động trong các hệ thống thông minh Trong thời gian gần đây, một vấn đề quan trọng
đã và đang được nhiều nhà nghiên cứu quan tâm đó Là biểu diễn và xử Lý tri thức trên
Web Năm 1998, Tim Berners-Lee đã nghiên cứu và phát triển Semantic web (web ngữ
nghĩa), theo cách này các trang web không chỉ thực hiện chức năng nhận và hiển thị thông tin mà còn có khả năng tự động trích rút thông tin, truy vấn, Lập Luận trong cơ sở tri thức để có thể cho ra các thông tin một cách tự động, chính xác
Năm 2003, F-Baader đã phát triển Logic mô tả (Description Logic – DLs)
([11],[20],[19]) và xem nó như Là ngôn ngữ biểu diễn tri thức trên web ngữ nghĩa Từ đó việc nghiên cứu quá trính biểu diễn và Lập Luận trong web ngữ nghĩa được quan tâm tuy nhiên chỉ dừng Lại đối với tri thức chắc chắn
Năm 2006, Umberto Straccia dựa vào nền tảng của Logic mô tả và Lý thuyết tập mờ của Zadeh xây dựng Logic mô tả mờ (Fuzzy Description Logic) ([9]) nhằm phục vụ cho
việc xử lý tri thức không chắc chắn trên web ngữ nghĩa Từ đó việc nghiên cứu và phát triển Logic mô tả mờ như là một cơ sở cho việc biểu diễn tri thức và lập luận được đặt ra
Vấn đề then chốt của web ngữ nghĩa Là xây dựng các cơ sở tri thức (OntoLogy mờ)
[10] từ đó tạo ra cơ chế Lập Luận trên cơ sở tri thức đó cho ra các thông tin cần thiết Bài
báo đề cập việc sử dụng Logic mô tả mờ F-SHIN[10] cho Lập Luận trên (Fuzzy
Chương 1 Ontology: Chương này giới thiệu một số kiến thức cơ bản về ontology
và các vấn đề liên quan Trong chương này chúng ta sẽ tìm hiểu về các thành phần
cơ bản của Ontology cũng như các bước xây dựng Ontology Các kiến thức trong phần này kết hợp với Logic mô tả được giới thiệu trong chương tiếp theo là kiến thức cơ bản đề xây dựng Ontology mờ
Chương 2 Logic mô tả: Đây là chương giới thiệu về những nội dung cơ bản của
logic mô tả như khái lược về logic mô tả, các ngôn ngữ của logic mô tả, kiến trúc của một hệ cơ sở tri thức dựa trên logic mô tả, các bài toán quyết định
Chương 3 Fuzzy Ontology and fuzzy OWL: Đây là chương trình bày nghiên cứu
về việc sử dụng Logic mô tả mờ cho lập luận trên Ontology mờ
Trang 5Trên đây là những phần chính sẽ được trình bày trong đồ án Trên thực tế vẫn còn nhiều vấn đề cần phải tìm hiểu về Ontology mờ Em hy vọng mình sẽ có điều kiện để tiếp tục đi sâu hơn vào việc nghiên cứu ứng dụng của logic mô tả trong thời gian tới
Cuối cùng, em xin được gửi lời cám ơn của mình tới thầy giáo hướng dẫn thạc sỹ Trương Hải Bằng đã dìu dắt, hỗ trợ và giúp đỡ em hoàn thành đề tài này Phần trình bày của em chắc chắn còn nhiều thiếu sót, em rất mong được sự góp ý của thày để có thể hoàn thiện tốt hơn đề tài
Trang 7LỜI CẢM ƠN
Chúng em xin chân thành cám ơn các thầy cô trong khoa Khoa Học Máy Tính – Trường Đại Học Công Nghệ Thông Tin đã hỗ trợ tạo nhiều điều kiện thuận lợi cho chúng
em trong quá trình học tập cũng như quá trình thực hiện đồ án tốt nghiệp
Chúng em xin ghi nhận lòng biết ơn sâu sắc đến Th.S Trương Hải Bằng là người trực tiếp hướng dẫn em làm đồ án Cám ơn thầy đã tận tình hướng dẫn, truyền đạt cho em những kiến thức quí báu để em có thể hoàn thành đồ án này
Chúng em cũng xin chân thành cám ơn quý thầy cô trong Khoa Khoa Học Máy Tính
đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết trong suốt quá trình học tập và nghiên cứu tại khoa
Cuối cùng chúng tôi xin gởi lời cảm ơn đến bạn bè đã hỏi thăm, động viên và giúp đỡ chúng tôi trong quá trình thực hiện đồ án
Mặc dù chúng em đã nỗ lực hết sức để hoàn thành tốt đề tài của mình nhưng dù sao những sai sót trong đồ án là những điều không thể tránh khỏi Em rất mong nhận được
sự thông cảm và những ý kiến đóng góp tận tình của các thầy, cô giáo và các bạn cũng như những ai quan tâm tới lĩnh vực trong đồ án này
Tp.Hồ Chí Minh, ngày 30 tháng 8 năm 2010
Trang 9NHẬN XÉT (Của giảng viên hướng dẫn)
Trang 11
NHẬN XÉT (Của giảng viên phản biện)
Trang 13
MỤC LỤC
CHƯƠNG 1 TỔNG QUAN VỀ ONTOLOGY 1
1.1 Giới thiệu 1
1.2 Quá trình hình thành 1
1.3 Khái niệm về ontology 3
1.4 Các phần tử trong ontology 4
1.4.1 Các cá thể (Individuals) – Thể hiện 4
1.4.2 Các Lớp (Classes) - Khái niệm 4
1.4.3 Các thuộc tính (Properties) 5
1.4.4 Các mối quan hệ (Relation) 5
1.5 Phân loại: 7
1.6 Vai trò của Ontology 9
1.7 Phương Pháp xây dựng ontology 10
1.8 Ngôn ngữ Web Ontology (OWL) 15
1.9 Một vài mô hình ontology 18
1.10 Ngôn ngữ ontology 19
1.11 Tổng kết chương 21
CHƯƠNG 2 LOGIC MÔ TẢ (DESCRIPTION LOGIC) 21
2.1 Giới thiệu 21
2.2 Ngôn ngữ thuộc tính AL 23
2.2.1 Ngôn ngữ mô tả cơ bản AL 24
2.2.2 Ngữ nghĩa của các khái niệm AL 24
2.2.3 Họ ngôn ngữ logic mô tả AL 25
2.2.4 Ngôn ngữ mô tả là tập con của logic vị từ bậc nhất 26
2.3 Hệ cơ sở tri thức 27
2.3.1 Kiến trúc hệ logic mô tả 27
2.3.2 Bộ thuật ngữ (TBox) 27
Trang 142.3.2.1 Tiên đề thuật ngữ 28
2.3.2.2 Định nghĩa khái niệm 28
2.3.2.3 Mở rộng bộ thuật ngữ 29
2.3.2.4 Đệ quy 31
2.3.2.5 Thuật ngữ với các tiên đề bao hàm 31
2.3.3 Bộ khẳng định (ABox) 32
2.3.4 Cá thể 33
2.3.5 Suy luận 34
2.3.5.1 Loại trừ TBox 35
2.3.5.2 Lập luận đối với ABox 36
2.3.5.3 Ngữ nghĩa “đóng”, ngữ nghĩa “mở” 37
2.4 Các thuật toán suy luận 38
2.4.1 Thuật toán bao hàm cấu trúc 38
2.4.2 Thuật toán tableau 40
2.5 Mở rộng ngôn ngữ mô tả 44
2.5.1 Các constructor vai trò 45
3.5.2 Biểu diễn các giới hạn số 45
2.6 Tổng kết chương 46
CHƯƠNG 3 FUZZY ONTOLOGY AND FUZZY OWL 46
3.1 Logic mô tả mờ 46
3.1.1 Giới thiệu 46
3.1.2 Cú pháp và ngữ nghĩa của logic mô tả mờ 47
3.1.2.1 Toán tử mờ 47
3.1.2.2 Concrete Fuzzy Concepts 48
3.1.2.3 Fuzzy Numbers 48
3.1.2.4 Truth constants 49
3.1.2.5 Concept modifiers (bổ ngữ khái niệm) 49
3.1.2.6 Features (chức năng) 49
3.1.2.7 Datatype restrictions (giới hạn kiểu dữ liệu) 49
Trang 153.1.2.8 Diễn giải các khái niệm 50
3.1.2.9 Tiên đề 51
3.1.3 Một số ngôn ngữ logic mô tả mờ 52
3.1.3.1 Logic mô tả mờ F-SHIN : 52
3.1.3.1.1 Cú pháp 52
3.1.3.1.2 Ngữ nghĩa 53
3.1.3.2 Logic mô tả mờ SHOIN (D) 54
3.1.3.2.1 Nhắc lại logic mô tả SHOIN (D) 54
3.1.3.2.2 logic mô tả mờ SHOIN (D) 57
3.1.3.2.3 Logic mô tả mờ SROIQ 63
3.2 OntoLogy mờ 66
3.2.1 Nhắc lại định nghĩa ontology 66
3.2.2 Định nghĩa ontology mờ 67
3.2.2.1 Định nghĩa 1 67
3.2.2.2 Định nghĩa 2 68
3.2.2.3 Định nghĩa 3 70
3.2.2.4 Định nghĩa 4 71
3.2.2.5 Định nghĩa 5 71
3.2.2.6 Định nghia 6 71
3.2.2.7 Định nghĩa 7 72
3.2.3 Những lợi thế của fuzzy ontology 74
3.2.4 Cơ sở tri thức trong ontology mờ 75
3.3 Fuzzy OWL 77
CHƯƠNG 4 VÍ DỤ ÁP DỤNG 82
Trang 17Hình 1.6 sơ đồ ánh xạ các thành phần của mô hình thực thể kết hợp và dữ
Hình 3.1 (a) Crisp value; (b) L-function; (c) R-function; (d) (b) Triangular
function; (e) Trapezoidal function; (f) Linear hedge
48 Hình 3.2 (a) Trapezoidal function; (b) Triangular function; (c) L-function;
Trang 18Bảng 3.5 Cú pháp của các khái niệm và phương thức trong F-SHIN 53
Bảng 3.6 Ngữ nghĩa của các khái niệm và phương thức trong F-SHIN 54
Trang 19KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
F-OWL Fuzzy OWL
Trang 20CHƯƠNG 1 TỔNG QUAN VỀ ONTOLOGY
1.1 Giới thiệu
Chương này giới thiệu một số kiến thức cơ bản về ontology và các vấn đề liên quan Trong nền tảng Web ngữ nghĩa mới, ontology đóng một vai trò quan trọng do đây là phương tiện giúp cung cấp ngữ nghĩa cho các trang web Do đó các nghiên cứu về ontology cần thiết được hoàn thiện để phục vụ cho nhu cầu của chuẩn web mới và nó đang thu sự quan tâm rộng lớn từ giới nghiên cứu Kỹ nghệ ontology là lĩnh vực mới trong khoa học máy tính và khoa học thông tin, nghiên cứu các phương pháp và phương pháp luận để xây dựng các ontology Mục tiêu của nó nhằm làm rõ nghĩa các tri thức chứa đựng trong một lĩnh vực cụ thể Kỹ nghệ ontology đưa ra một phương hướng nhắm tới việc giải quyết các vấn đề hoạt động tương tác xuất hiện bởi các rào cản ngữ nghĩa, các rào cản liên quan đến các định nghĩa của các thuật ngữ hay các khái niệm Kỹ nghệ ontology là một tập hợp các nhiệm vụ liên quan đến việc phát triển các ontology cho một lĩnh vực cụ thể Bài toán so khớp ontology là một trong những nhiệm vụ như thế
1.2 Quá trình hình thành
Ontology bắt nguồn từ Hy Lạp, từ ontos có nghĩa là sự tồn tại (being), từ logos nghĩa
là diễn đạt (word); có nghĩa là diễn đạt sự tồn tại Nó ảnh hưởng một thời gian trong nền triết học của Hy Lạp Aristotle (384-332 trước CN) giới thiệu 10 phạm trù cơ bản nằm ở mức lá của cây ở hình 1.1, các phạm trù của ông có ảnh hưởng mạnh mẽ đến các
ontology sau này Sau đó Brentano bổ sung các phạm trù còn lại hình thành cây
Brentano, là một hình thức của ontology
Trang 21Hình 1.1 Cây Brentano về các phạm trù của Aristotle
Hình 1.2 Cây Porphyry
Một ontology khác được biết đến là cây Porphyry do triết gia Hy Lạp Porphyry, sống vào thế kỷ 3 sau Công Nguyên, vẽ ra dựa trên tư tưởng của Ariseoele được minh họa ở hình
Trang 221.2 Theo cây này vật chất là khái niệm cao nhất không thể tìm thấy khái niệm nào cao hơn Còn nhân loại là khái niệm thấp nhất, dưới nhân loại chỉ có cá nhân như: Socrates, Plato, Aristotle… Bên cạnh việc định nghĩa các phạm trù để biểu diễn ontology, Aristotle còn xây dựng nên tam đoạn luận làm nền móng cho logic học
1.3 Khái niệm về ontology
Theo triết học thì ontology được định nghĩa như sau: “ontology là một siêu hình học
nghiên cứu về sự tồn tại và hiện thân của tự nhiên” [Aristoteles]
Theo tin học thì ontology có những định nghĩa sau:
- Gruber (1993), “Ontology là một thuyết minh hình thức, rõ ràng của một nhận
thức chung” Định nghĩa của ông được phân làm 4 khái niệm chính: mô tả trừu tượng của hiện tượng (nhận thức ), diễn đạt rõ ràng bằng toán học (hình thức), các khái niệm và quan hệ giữa chúng phải được định nghĩa một cách chính xác và rỏ
ràng, tồn tại một sự đồng thuận của những người sử dụng ontology (chung)
- Rusell & Norving (1995), “Ontology là một mô tả hình thức của các khái niệm và quan hệ có thể tồn tại trong một cộng đồng cụ thể”
- Swartout (1996), “Ontology là một tập thuật ngữ có cấu trúc và bậc để diễn tả một phạm vi cụ thể và có thể được sử dụng như là bộ khung của cơ sở tri thức”
- Fensel (2000), “Ontology là mô tả một cách phổ biến, có khả năng dùng chung và
hình thức của các khái niệm quan trọng trong một phạm vi cụ thể”
- John F.Sowa (2000), “Ontlogy là một bản liệt kê các kiểu của những gì mà tồn tại
trong miền D từ khía cạnh mà người sử dụng ngôn ngữ L để mô tả D Các kiểu của Ontology bao gồm: vị tử, ý nghĩa từ, hay khái niệm và quan hệ của ngôn ngữ
L khi mô tả về D”
- Noy & Mc.Guinness (2001), “Ontology là một mô tả hình thức và rõ ràng của các
khái niệm trong phạm vi cụ thể, các thuộc tính của khái niệm mô tả đặc tính và tính chất của khái niệm, các ràng buộc của thuộc tính”
- Fonseca (2002), “Ontology là một lý thuyết mà sử dụng một bộ từ vựng cụ thể để
mô tả thực thể, thuộc tính và các thao tác trong một phạm vi cụ thể”
- Enrico Franconi (2003), “Ontology là một nhận thức hình thức về thế giới”
- Starlap (2003), “Ontology bao hàm các thuật ngữ, xác định ý nghĩa của và mối
quan hệ giữa chúng”
- A.Maedche & B.Motik & L.Stojanvic (2003), “Ontology là mô hình khái niệm
trong phạm vi ứng dụng nhất định, có thể chia sẻ và thực thi trên máy tính”
Theo các định nghĩa trên một Ontology phải có những tính chất sau:
Trang 23 Được sử dụng để mô tả một phạm vi ứng dụng cụ thể
ontology
1.4 Các phần tử trong ontology
Các ontology hiện nay đều có nhiều điểm tương tự về mặt cấu trúc, bất kể ngôn ngữ được dùng để biểu diễn Hầu hết các ontology đều mô tả các đối tượng (thể hiện), lớp (khái niệm), thuộc tính và các quan hệ
1.4.1 Các cá thể (Individuals) – Thể hiện
Cá thể (hay thể hiện) là thành phần cơ bản, “mức nền” của một ontology Các cá thể
trong một ontology có thể bao gồm các đối tượng rời rạc như con người, con thú, xe, nguyên tử, hành tinh, trang web, cũng như các đối tượng trừu tượng như con số và từ (mặc dù có một vài khác biệt về ý kiến liệu các con số và từ là lớp hay là đối tượng) Nói đúng ra, một ontology không cần chứa bất cứ cá thể nào, nhưng một trong những mục đích chung của ontology là cung cấp một phương tiện để phân loại các đối tượng, ngay cả khi các đối tượng này không phải là một phần rõ ràng của ontology
1.4.2 Các Lớp (Classes) - Khái niệm
Lớp – khái niệm – có thể được định nghĩa theo cách bên ngoài hay bên trong Theo
định nghĩa bên ngoài, chúng là những nhóm, bộ hoặc tập hợp các đối tượng Theo định nghĩa bên trong, chúng là các đối tượng trừu tượng được định nghĩa bởi giá trị của các mặt ràng buộc khiến chúng phải là thành viên của một lớp khác Lớp có thể phân loại các
cá thể, ác lớp khác, hay một tổ hợp của cả hai Một số ví dụ của lớp:
bởi các tiêu chuẩn làm một con người
các tiêu chuẩn làm một chiếc xe
tiêu chuẩn làm một chiếc xe hơi
tả bởi các tiêu chuẩn để làm một lớp
Trang 24 Thing, biểu diễn lớp tất cả mọi thứ, hay các đối tượng trừu tượng có thể được mô
tả bởi các tiêu chuẩn để làm một thứ gì đó (và không phải không-là-gì cả)
Một lớp có thể gộp nhiều lớp hoặc được gộp vào lớp khác; một lớp xếp gộp vào lớp
khác được gọi là lớp con (hay kiểu con) của lớp gộp (hay kiểu cha) Ví dụ, Vechicle gộp
Car, bởi vì bất cứ thứ gì là thành viên của lớp sau cũng đều là thành viên của lớp trước
Quan hệ xếp gộp được dùng để tạo nên một cấu trúc phân cấp các lớp, thông thường có
một lớp tổng quát lớn nhất chẳng hạn Anything nằm ở trên cùng và những lớp rất cụ thể như 2002 Ford Explorer nằm ở dưới cùng Hệ quả cực kỳ quan trọng của quan hệ xếp
gộp là tính kế thừa của các thuộc tính từ lớp cha đến lớp con Do vậy, bất cứ thứ gì hiển nhiên đúng với một lớp cha cũng hiển nhiên đúng với các lớp con của nó Trong một số ontology, một lớp chỉ được cho phép có một lớp cha, nhưng trong hầu hết các ontology, các lớp được cho phép có một số lượng lớp cha bất kỳ và trong trường hợp sau tất cả các thuộc tính hiển nhiên của từng lớp cha được kế thừa bởi lớp con Do đó một lớp cụ thể
của lớp thú (HouseCat) có thể là một con của lớp Cat và cũng là một con của lớp Pet
1.4.3 Các thuộc tính (Properties)
Các đối tượng trong một ontology có thể được mô tả bằng cách liên hệ chúng với những thứ khác, thường là các mặt hay bộ phận Những thứ được liên hệ này thường
được gọi là thuộc tính, mặc dù chúng có thể là những thứ độc lập Một thuộc tính có thể
là một lớp hay một cá thể Kiểu của đối tượng và kiểu của thuộc tính xác định kiểu của quan hệ giữa chúng Một quan hệ giữa một đối tượng và một thuộc tính biểu diễn một sự
kiện đặc thù cho đối tượng mà nó có liên hệ Ví dụ đối tượng Ford Explorer có các thuộc
tính như:
Giá trị thuộc tính có thể thuộc kiểu dữ liệu phức; trong ví dụ này, động cơ liên hệ chỉ
có thể là một trong số các dạng con của động cơ, chứ không phải là một cái đơn lẻ Các ontology chỉ mang đầy đủ ý nghĩa nếu các khái niệm có liên hệ với các khái niệm khác (các khái niệm đều có thuộc tính) Nếu không rơi vào trường hợp này, thì hoặc ta sẽ có
một phân loại (nếu các quan hệ bao hàm tồn tại giữa các khái niệm) hoặc một từ điển có
kiểm soát Những thứ này đều hữu ích nhưng không được xem là ontology.
1.4.4 Các mối quan hệ (Relation)
Trang 25Quan hệ giữa các đối tượng trong một ontology cho biết các đối tượng liên hệ với đối tượng khác như thế nào Thông thường một quan hệ là của một loại (hay lớp) cụ thể nào
đó chỉ rõ trong ngữ cảnh nào đối tượng được liên hệ với đối tượng khác trong ontology
Ví dụ trong ontology chứa khái niệm Ford Explorer và khái niệm Ford Bronco có thể
được liên hệ bởi một quan hệ loại <được định nghĩa là một con của> Phát biểu đầy đủ của sự kiện như sau:
Điều này cho ta biết Explorer là mô hình thay thế cho Bronco Ví dụ này cũng minh
họa rằng quan hệ có cách phát biểu trực tiếp Phát biểu ngược biểu diễn cùng một sự kiện nhưng bằng một ngữ nghịch đảo trong ngôn ngữ tự nhiên
Phần lớn sức mạnh của ontolgy nằm ở khả năng diễn đạt quan hệ Tập hợp các quan
hệ cùng nhau mô tả ngữ nghĩa của domain Tập các dạng quan hệ được sử dụng (lớp quan hệ) và cây phân loại thứ bậc của chúng thể hiện sức mạnh diễn đạt của ngôn ngữ dùng để biểu diễn ontology
Hình 1.3 Một Ontology biểu diễn quan hệ của xe cộ
asuperclass- of, hay ngược lại, „là dạng con của‟ – is-a-subtype-of – hay „là lớp con
của‟ – is-a-subclass-of) Nó định nghĩa đối tượng nào được phân loại bởi lớp nào
Ví dụ, ta đã thấy lớp Ford Explorer là lớp con của 4-Wheel Drive Car và lớp 4- Wheel
Drive Car lại là lớp con của Car
Sự xuất hiện của quan hệ „là lớp con của‟ tạo ra một cấu trúc phân cấp thứ bậc; dạng cấu trúc cây này (hay tổng quát hơn, là tập có thứ tự từng phần) mô tả rõ ràng cách thức các đối tượng liên hệ với nhau Trong cấu trúc này, mỗi đối tượng là „con‟ của một „lớp cha‟ (Một số ngôn ngữ giới hạn quan hệ là lớp con của trong phạm vi một cha cho mọi nút, nhưng đa số thì không như thế)
Trang 26Một dạng quan hệ phổ biến khác là quan hệ meronymy, gọi là „bộ phận của‟, biểu diễn
làm thế nào các đối tượng kết hợp với nhau đề tạo nên đối tượng tổng hợp Ví dụ, nếu ta
mở rộng ontology trong ví dụ để chứa thêm một số khái niệm như Steering Wheel (vô lăng), ta sẽ nói rằng “Vô lăng được định nghĩa là một bộ phận của Ford Explorer” vì vô lăng luôn luôn là một trong những bộ phận của xe Ford Explorer Nếu đưa quan hệ
eronymy vào ontology này, ta sẽ thấy rằng cấu trúc cây đơn giản và nhẹ nhàng trước đó
sẽ nhanh chóng trở nên phức tạp và cực kỳ khó hiểu Điều này không khó lý giải; một lớp nào đó được mô tả rằng luôn luôn có một thành viên là bộ phận của một thành viên thuộc lớp khác thì lớp này cũng có thể có một thành viên là bộ phận của lớp thứ ba Kết quả là các lớp có thể là bộ phận của nhiều hơn một lớp Cấu trúc này được gọi là đồ thị chu trình
và phân biệt các nhóm quan hệ khác nhau là ontology Gellish
Ví dụ, trong lĩnh vực xe ô tô, ta cần quan hệ „được sản xuất tại‟ để cho biết xe được lắp ráp tại chỗ nào Như vậy, Ford Explorer được sản xuất tại Louisville Ontology có thể cũng biết được Louisville „tọa lạc tại‟ Kentucky và Kentucky „được định nghĩa là‟ một bang và „là bộ phận của‟ Hoa Kỳ Phần mềm sử dụng ontology này sẽ có thể trả lời một câu hỏi như „những xe hơi nào được sản xuất tại Hoa Kỳ?”
1.5 Phân loại:
Theo cách phân loại của John F.Sowa, có 2 loại
Trang 27 Ontology hình thức (formal ontology): là ontology mô tả các khái niệm một
cách chi tiết đến các tiên đề và định nghĩa mà không quan tâm đến các mô tả náy
có thực hiện dễ dàng trên máy tính hay không Ontology hình thức thường có xu hướng nhỏ, nhưng các tiên đề và định nghĩa thường rất phức tạp trong suy luận và tính toán Những ontology này thường do các nhà triết học thiết kế
theo hướng tiên đề và định nghĩa được phát biểu dạng logic hoặc trong một vài ngôn ngữ hướng đối tượng để cho máy tính thực hiện việc chuyển đổi theo dạng logic Dạng logic này không có sự hạn chế về việc phát biểu các tiên đề và định nghĩa và cho máy tính thực hiện đễ dàng Các tiên đề và định nghĩa chỉ mô tả đến các vấn đề mà ứng dụng quan tâm Ontology thuật ngữ lớn nhưng các tiên đề và định nghĩa thường rất dễ dàng trong suy luận và tính toán Những ontology này
thường do các nhà tin học thiết kế
Theo cách phân loại của D.Fensel, có 7 loại:
thống
Ví dụ: Frame-Ontology
không gian,…
Ví dụ: ontology về bảng trao đổi giữa meter và inch
Ví dụ: Registry Ontology, dùng để quản lý các ontology khác
Ví dụ: ontology về lý thuyết hoặc các nguyên lý cơ bản của một miền
kết hợp liên quan đến nhiệm vụ mà có thể cùng hoặc không cùng phạm vi ứng dụng cụ thể
Ví dụ: ontology về kế hoạch phân công nhiệm vụ
thể
Ví dụ: ontology về phân công nhiệm vụ của các chuyến bay
vi ứng dụng nhất định
Ví dụ: ontology hình học
Trang 281.6 Vai trò của Ontology
Với ý nghĩa và cấu trúc như trên, Ontology đã trở thành một công cụ quan trọng trong lĩnh vực Web ngữ nghĩa Có thể kể ra một số lợi ích của Ontology như:
Để chia sẻ những hiểu hiểu biết chung về các khái niệm, cấu trúc thông tin giữa con người hoặc giữa các hệ thống phần mềm: đây là vai trò quan trọng nhất của
một Ontology, không những trong lĩnh vực Web ngữ nghĩa mà còn trong nhiều ngành và lĩnh vực khác Về phương diện này, có thể hình dung Ontology giống như một cuốn từ điển chuyên ngành, cung cấp và giải thích các thuật ngữ cho người không có cùng chuyên môn khi được yêu cầu Không chỉ được sử dụng bởi con người, Ontology còn hữu ích khi cần sự hợp tác giữa các hệ thống phần mềm Lấy ví dụ, Open Biological là bộ Ontology nổi tiếng được phát triển bởi trường đại học Stanford nhằm cung cấp các thuật ngữ một cách đầy đủ trong ngành sinh vật học Ontology này hiện đã được tích hợp vào một số ứng dụng Web trên Internet Sau đó, một phần mềm tra cứu hoặc dạy sinh học trên máy tính có thể kết nối với các ứng dụng Web trên để lấy thông tin cho mục tiêu chú giải
Cho phép tái sử dụng tri thức: đây là một vấn đề khó và là mục tiêu nghiên cứu
quan trọng trong những năm gần đây Nó liên quan đến bài toán trộn hai hay nhiều Ontology thành một Ontology lớn và đầy đủ hơn Nhưng vấn đề ở đây là tên các khái niệm được định nghĩa trong các Ontology này có thể giống nhau trong khi chúng được dùng để mô tả các loại vật hoàn toàn khác nhau Tuy nhiên cũng có thể có trường hợp ngược lại, khi tên các khái niệm khác nhau nhưng cùng
mô tả một sự vật Ngoài ra, làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới càng làm cho vấn đề trở nên phức tạp
Cho phép tri thức độc lập với ngôn ngữ: đây cũng là vấn đề liên quan đến lĩnh
vực tái sử dụng tri thức đã nói ở trên, tuy nhiên bài toán của nó là làm thế nào để một hệ thống Ontology có thể được dùng bởi các ngôn ngữ của các quốc gia khác nhau mà không phải xây dựng lại Giải pháp mà Ontology mang lại là cho phép tên các khái niệm và quan hệ trong Ontology mới tham khảo các khái niệm, định nghĩa của một hệ thống Ontology chuẩn thường được xây dựng bằng tiếng Anh Điều này có thể sẽ phá vỡ phần nào rào cản về mặt ngôn ngữ khi mà kết quả tìm kiếm sẽ không bó gọn trong từ khóa và ngôn ngữ mà nó sử dụng Ngoài ra, Ontology có thể sẽ trở thành hướng đi mới cho một lĩnh vực đã quen thuộc là dịch tài liệu tự động Có thể nói như vậy, bởi ngữ nghĩa các từ vựng trong văn bản sẽ được dịch chính xác hơn khi được ánh xạ vào đúng ngữ cảnh của nó
Cho phép tri thức trở nên nhất quán và tường minh: các khái niệm khác nhau
trong một hay nhiều lĩnh vực cụ thể có thể cùng tên và gây nhập nhằng về ngữ
Trang 29nghĩa, tuy nhiên khi được đưa vào một hệ thống Ontology thì tên mỗi khái niệm
là duy nhất Một giải pháp cho vấn đề này là Ontology sẽ sử dụng các tham khảo URI làm định danh thật sự cho khái niệm trong khi vẫn sử dụng các nhãn gợi nhớ bên trên để thuận tiện cho người dùng
khái niệm phân cấp được liên kết với nhau bởi các quan hệ Cơ bản mỗi khái niệm
có thể xem như là một lớp, mà đối tượng của lớp đó cùng các quan hệ đã góp phần tạo nên cấu trúc của bài toán hay vấn đề cần giải quyết
Ontology đã tích hợp lớp Ontology suy luận (Ontology Inference Layer) bên trong cho mục đích suy luận logic trên tập quan hệ giữa các đối tượng trong hệ thống
1.7 Phương Pháp xây dựng ontology
Có nhiều phương pháp khác nhau để xây dựng một Ontology, nhưng nhìn chung các phương pháp đều thực hiện hai bước cơ bản là: xây dựng cấu trúc lớp phân cấp và định nghĩa các thuộc tính cho lớp Trong thực tế, việc phát triển một Ontology để mô tả miền cần quan tâm là một công việc không đơn giản, phụ thuộc rất nhiều vào công cụ sử dụng, tính chất, quy mô, sự thường xuyên biến đổi của miền cũng như các quan hệ phức tạp trong đó Những khó khăn này đòi hỏi công việc xây dựng Ontology phải là một quá trình lặp đi lặp lại, mỗi lần lặp cải thiện và tinh chế dần sản phẩm chứ không phải là một quy trình khung với các công đoạn tách rời nhau
Ngoài ra, công việc xây dựng Ontology cũng cần phải tính đến khả năng mở rộng miền quan tâm trong tương lai, khả năng kế thừa các hệ thống Ontology có sẵn, cũng như tính linh động để Ontology có khả năng mô tả tốt nhất các quan hệ phức tạp trong thế giới thực Nội dung chương này sẽ đề cập đến một số nguyên tắc cơ bản của việc xây dựng Ontology qua các các công đoạn cụ thể sau đây (Quy trình phát triển gồm 7 bước
do Stanford Center for Biomedical Informatics Research đưa ra, đây là hóm phát triển phần mềm Protégé để trình diễn và xoạn thảo Ontology ):
Trang 30 Tạo các thực thể cho lớp
Bước 1: Xác định miền quan tâm và phạm vi của Ontology
Giống như mọi công đoạn đặc tả khác, đặc tả Ontology bắt đầu bằng việc trả lời những câu hỏi mang tính phân tích để nhận diện chính xác các yêu cầu Thông thường, các yêu cầu đối với một hệ thống Ontology là mô tả miền quan tâm nhằm phục vụ cơ sở tri thức trong việc giải quyết những mục đích chuyên biệt Do đó, những câu hỏi này thường là:
Cơ sở tri thức trong Ontology sẽ trả lời những câu hỏi gì?
Ai là người sẽ xây dựng, quản trị Ontology?
Nhìn chung, câu trả lời cho các câu hỏi dạng này có thể sẽ thường xuyên thay đổi trong suốt quá trình lặp xây dựng một Ontology Nhất là khi có sự thay đổi về mục đích hoặc cần bổ sung tính năng trong việc sử dụng cơ sở tri thức Tuy nhiên, việc trả lời chính xác các câu hỏi trên tại mỗi bước lặp sẽ giúp giới hạn phạm vi thực sự của mô hình cần mô tả và dự trù các kỹ thuật sẽ sử dụng trong quá trình phát triển Lấy ví dụ, nếu dự trù khả năng xảy ra sự khác biệt về ngôn ngữ giữa người phát triển và người sử dụng thì
Ontology phải được bổ sung cơ chế ánh xạ (mapping) qua lại các thuật ngữ giữa các ngôn
ngữ khác nhau Hoặc giả sử Ontology cần xây dựng có chức năng xử lý ngôn ngữ tự nhiên, ứng dụng dịch tài liệu tự động thì cũng cần thiết phải có kỹ thuật xác định từ đồng nghĩa chẳng hạn
Sau khi đã phát thảo phạm vi Ontology dựa trên việc trả lời những câu hỏi trên, người thiết kế sẽ trả lời các câu hỏi mang tính đánh giá, qua đó tiếp tục tinh chỉnh lại phạm vi của hệ thống cần xây dựng Các câu hỏi dạng này thường dựa trên cơ sở tri thức của
Ontology và được gọi là câu hỏi kiểm chứng khả năng (competency question):
Ontology đã có đủ thông tin để trả lời cho các câu hỏi được quan tâm trên cơ sở tri thức hay không?
Câu trả lời của cơ sở tri thức đã đáp ứng được mức độ, yêu cầu nào của người sử dụng?
Các ràng buộc và quan hệ phức tạp trong miền quan tâm đã được biểu diễn hợp lý chưa?
Bước 2: Xem xét việc kế thừa các Ontology có sẵn
Trang 31Đây là một công đoạn thường hay sử dụng để giảm thiểu công sức xây dựng một Ontology Bằng cách kế thừa các Ontology tương tự có sẵn, người xây dựng có thể thêm hoặc bớt các lớp, quan hệ giữa các lớp, thực thể để tinh chỉnh tùy theo mục đích của mình Ngoài ra, việc sử dụng lại các Ontology có sẵn cũng rất quan trọng khi cần sự tương tác giữa các ứng dụng khác nhau Lý do là các ứng dụng sẽ cần phải hiểu các lớp, thực thể, quan hệ của nhau để thuận tiện trong việc trao đổi hoặc thông nhất thông tin Vấn đề xây dựng một Ontology mới bằng cách kế thừa các hệ thống có sẵn liên quan
đến một bài toán rất phức tạp là trộn (merging) các Ontology Như đã nói trong mục
trước, tên các khái niệm được định nghĩa trong các Ontology này có thể giống nhau trong khi chúng được dùng để mô tả các loại vật hoàn toàn khác nhau Trong khi đó, cũng có thể xảy ra trường hợp ngược lại, khi tên các khái niệm khác nhau nhưng cùng mô tả một
sự vật Và một vấn đề nữa là làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới Tuy nhiên, hầu hết các Ontology sử dụng trong ngành khoa học máy tính nói chung và Web ngữ nghĩa nói riêng đều được xây dựng trên các hệ thống xây dựng và quản trị Ontology Có thể kể tên một số công cụ, chẳng hạn: Sesame, Protégé, Ontolingua, Chimaera, OntoEdit, OidEd Hiện nay, đa số các phần mềm này đều hỗ trợ chức năng tự động trộn các Ontology cùng hoặc thậm chí khác định dạng với nhau Mặc
dù vậy, ở mức nào đó, người xây dựng cũng cần phải kiểm tra lại một cách thủ công, nhưng đây có lẽ cũng không phải là một công việc phức tạp
Hiện có rất nhiều Ontology được chia sẻ trên Web Có thể kể ra một số Ontology nổi tiếng như: UNSPSC (www.unspsc.org) do Chương trình phát triển của Liên Hiệp Quốc hợp tác với tổ chức Dun & Bradstreet nhằm cung cấp các thuật ngữ của các sản phẩm và dịch vụ thương mại Các Ontology trong lĩnh vực thương mại khác như: RosettaNet (www.rosettanet.org), DMOZ (www.dmoz.org), eClassOwl, Open Biological, BioPax trong lĩnh vực sinh vật học, UMLS trong lĩnh vực mạng ngữ nghĩa, GO (Gene Ontology), WordNet (đại học Princeton)
Bước 3: Liệt kê các thuật ngữ quan trọng trong Ontology
Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì vậy khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các lớp trong ontology tương ứng Tất nhiên không phải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vị được cho thuật ngữ đó Do đó cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về phạm vi của ontology Việc liệt kê các thuật ngữ còn cho thấy được phần nào tổng quan về các khái niệm trong lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi
Bước 4: Xác định các lớp và phân cấp của các lớp
Trang 32Hình 1.4: Cấu trúc lớp phân cấp
Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về ngữ nghĩa của các thuật ngữ đã có để
có được các mô tả cho thuật ngữ đó,
mà còn phải định vị cho các lớp mới, loại bỏ ra khỏi ontology nếu nằm ngoài phạm vi của ontology hay hợp nhất với các lớp đã có nếu có nhiều thuật ngữ
có ngữ nghĩa như nhau (đồng nghĩa, hay đa ngôn ngữ) Ngoài ra không phải thuật ngữ nào cũng mang tính chất như một lớp
Một công việc cần phải tiến hành song song với việc xác định các lớp là xác định phân cấp của các lớp đó Việc này giúp định vị các lớp dễ dàng hơn
Có một số phương pháp tiếp cận trong việc xác định phân cấp của các lớp:
quát nhất trong lĩnh vực và sau đó chuyên biệt hóa các khái niệm đó Ví dụ: Trong Ontology về quản lý nhân sự, ta bắt đầu với lớp Người, sau đó chuyên biệt hóa lớp Người đó bằng cách tạo ra các lớp con của lớp Người như : Kỹ sư, Công nhân, Bác sỹ,… Lớp Kỹ sư cũng có thể chuyên biệt hóa bằng cách tạo ra các lớp con như Kỹ sư CNTT, Kỹ sư điện, Kỹ sư cơ khí, …
nhất, như các lá trong cây phân cấp Sau đó gộp các lớp đó lại thành các khái tổng quát hơn Ví dụ: ta bắt đầu với việc định nghĩa các lớp như: nhân viên lễ tân, nhân viên vệ sinh, nhân viên kỹ thuật Sau đó tạo ra một lớp chung hơn cho các lớp đó là lớp nhân viên
bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổng quát hóa và chuyên biệt hóa các lớp đó một cách thích hợp Ví dụ ta bắt đầu với lớp nhân viên trước,
là thuật ngữ hay gặp nhất trong quản lý nhân sự Sau đó chúng ta có thể chuyên biệt hóa thành các lớp con: nhân viên lễ tân, nhân viên vệ sinh,… hoặc tổng quát hóa lên thành lớp Người
Bước 5: Định nghĩa các thuộc tính và quan hệ cho lớp:
Lớp gốc
Lớp trung gian
Lớp lá
Trang 33Hình 1.5: Ràng buộc
Bản thân các lớp nhận được ở bước trên chỉ mới là những thuật ngữ phân biệt với nhau bằng tên gọi Về cơ bản, chúng chưa đủ để phục vụ cho việc biểu diễn tri thức Muốn như vậy, các thuộc tính của lớp cần được định nghĩa Thuộc tính của lớp là các thông tin bên trong của lớp, mô tả một khía cạnh nào đó của lớp và được dùng để phân biệt với các lớp khác Thuộc tính được chia làm nhiều loại khác nhau:
trong (intrinsic property) và thuộc tính bên ngoài (extrinsic property) Thuộc
tính bên trong mô tả các tính chất nội tại bên trong sự vật, ví dụ: chất, lượng, cấu tạo Trong khi đó, thuộc tính bên ngoài mô tả phần biểu hiện của sự vật, ví dụ: màu sắc, hình dạng
property) và thuộc tính phức (complex property) Thuộc tính đơn là các giá trị
đơn ví dụ: chuỗi, số , còn thuộc tính phức có thể chứa hoặc tham khảo đến một đối tượng khác
Một chú ý quan trọng nữa trong bước này là việc một lớp sẽ kế thừa toàn bộ các thuộc tính của tất cả các cha nó Do đó, cần phải xem xét một thuộc tính đã được định nghĩa ở các lớp thuộc mức cao hơn hay chưa Thuộc tính chỉ nên được định nghĩa khi nó là tính chất riêng của lớp đang xét mà không được biểu hiện ở các lớp cao hơn
Bước 6: Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp
Các ràng buộc giới hạn giá trị
mà một thuộc tính có thể nhận
Hai ràng buộc quan trọng nhất
đối với một thuộc tính là lượng
số (cardinality) và kiểu (type)
Ràng buộc lượng số quy định số
giá trị mà một thuộc tính có thể nhận Hai giá trị thường thấy của
ràng buộc này là đơn trị (single)
và đa trị (multiple) Nhưng một số phần mềm còn cho phép định nghĩa chính xác khoảng
giá trị của lượng số Ràng buộc thứ hai là về kiểu
Về cơ bản, các kiểu mà một thuộc tính có thể nhận là: chuỗi, số, boolean, liệt kê và
kiểu thực thể Riêng kiểu thực thể có liên quan đến hai khái niệm gọi là: miền (domain)
và khoảng (range) Khái niệm miền được dùng để chỉ lớp (hay các lớp) mà một thuộc
tính thuộc về Trong khi đó, khoảng chính là lớp (hay các lớp) làm kiểu cho giá trị thuộc tính kiểu thực thể
Ràng buộc
Trang 34Bước 7: Tạo các thực thể cho lớp
Đây là bước cuối cùng khép lại một vòng lặp xây dựng Ontology Công việc chính
lúc này là tạo thực thể cho mỗi lớp và gán giá trị cho các thuộc tính Nhìn chung, các thực thể sẽ tạo nên nội dung của một cơ sở tri thức và là vấn đề được quan tâm trong lĩnh vực Web ngữ nghĩa
1.8 Ngôn ngữ Web Ontology (OWL)
Web Ontology Language (OWL) là ngôn ngữ đánh dấu được sử dụng để xuất bản và chia sẻ dữ liệu sử dụng các ontology trên Internet OWL là một bộ từ vựng mở rộng của khung mô tả tài nguyên (RDF) và được kế thừa từ ngôn ngữ DAML+OIL Web ontology – một dự án được hỗ trợ bởi W3C
OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm
OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho Semantic Web trong tương lai OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc
xử lý nội dung thông tin của Web Ngôn ngữ này được kỳ vọng rằng sẽ cho phép các hệ thống máy tính có thể đọc được thay thế cho con người Vì OWL được viết bởi XML, các thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử dụng các hệ điều hành và các ngôn ngữ ứng dụng khác nhau Mục đích chính của OWL
là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài sản, tích hợp mức doanh nghiệp và để chia sẻ cũng như tái sử dụng dữ liệu trên Web OWL được phát triển bởi nó
có nhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so với XML, RDF và RDFS, và
vì OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội dung mà máy có thể biểu diễn được trên Web
Trang 35| <x, oI>RI) {xI |(# y.<x,y> RI) m}{xI
RI =(R I)+AnnotationPropety(R)
DifferentIndividuals(o1 on) oioj,1i<jn oiIojI,1i<jn
Bảng 1.3 Các tiên đề và các sự kiện của OWL
Ví dụ: Một phần của Ontology "ThuVien" trong cú pháp trừu tượng OWL
Trang 36Namespace(elp=<http://example.org/Libary#>)
Ontology(elp:Ontology
Class(elp:Sach)
Class(elp:Nguoi)
Class(elp:TacGia partial exp:Nguoi)
Class(elp:NguyenDuy partial exp:TacGia )
Class(elp:HoChiMinh partial exp:TacGia )
Class(elp:PhanThiTuoi partial exp:TacGia )
Class(elp: VN-KIMChoWebVietCoNguNghia partial exp:Sach)
Individual(elp: VN-KIMChoWebVietCoNguNghia type(elp:CaoHoangTru) value(elp:viet)
)
)
Các phiên bản của OWL
OWL được chia làm ba phiên bản ngôn ngữ con: OWL Lite, OWL DL, và OWL Full:
bậc và các ràng buộc đơn giản Ví dụ: Trong khi nó hỗ trợ các ràng buộc về tập hợp, nó chỉ cho phép tập hợp giá trị của 0 hay 1 Điều này cho phép cung cấp các công cụ hỗ trợ OWL Lite dễ dàng hơn so với các bản khác
Trang 37 OWL DL (OWL Description Logic): hỗ trợ cho những người dùng cần sự
diễn cảm tối đa trong khi cần duy trình tính tính toán toàn vẹn (tất cả các kết luận phải được đảm bảo để tính toán) và tính quyết định (tất cả các tính toán
sẽ kết thúc trong khoảng thời gian hạn chế) OWL DL bao gồm tất cả các cấu trúc của ngôn ngữ OWL, nhưng chúng chỉ có thể được sử dụng với những hạn chế nào đó (Ví dụ: Trong khi một lớp có thể là một lớp con của rất nhiều lớp, một lớp không thể là một thể hiện của một lớp khác) OWL DL cũng được chỉ định theo sự tương ứng với logic mô tả, một lĩnh vực nghiên cứu trong logic đã tạo nên sự thiết lập chính thức của OWL
tự do của RDF mà không cần đảm bảo sự tính toán của các biểu thức Ví dụ, trong OWL Full, một lớp có thể được xem xét đồng thời như là một tập của các cá thể và như là một cá thể trong chính bản thân nó OWL Full cho phép một ontology gia cố thêm ý nghiã của các từ vựng được định nghĩa trước (RDF hoặc OWL)
Các phiên bản này tách biệt về các tiện ích khác nhau, OWL Lite là phiên bản dễ hiểu nhất và phức tạp nhất là OWL Full
Mối liên hệ giữa các ngôn ngữ con của OWL
1.9 Một vài mô hình ontology
Hiện nay có rất nhiều ontology được ứng dụng rộng rãi, ta khảo sát một vài mô hình sau:
Mô hình thực thể kết hợp: đây có thể xem như một ontology đơn giản đã được phát
triển lâu đời Chúng ta có thể ánh xạ mô hình này sang các thành phần của ontology như hình 1.6
Trang 38Hình 1.6 sơ đồ ánh xạ các thành phần của mô hình thực thể kết hợp và dữ liệu sang
ontology và thể hiện
Ontology của protégé: (trình bày trong [21]) bao gồm class (lớp), slot (thuộc tính),
facet (ràng buộc), axiom (tiên đề) Mô hình này cũng là ontology đơn giản thường dùng trong các chương trình đơn giản không phức tạp Như các ứng dụng tra cứu thông tin đơn giản, các ứng dụng về web…
Ontology KAON: (trình bày trong [22],[23]) được xây dựng nhằm mục đích giải
quyết các vấn đề ngữ nghĩa trên các ứng dụng web Dựa trên mô hình này nhóm tác giả cũng đề xuất các phương pháp xử lý các thông tin phân tán Hình thành nên hệ thống ontology phân tán trên mạng
1.10 Ngôn ngữ ontology
Ngôn ngữ ontology là ngôn ngữ dùng để mô tả các thành phần của ontology
Để mô tả mọi thứ về các khái niệm của ontology đòi hỏi phải có một ngôn ngữ chung
để diễn đạt Có 2 loại ngôn ngữ chung nhất:
một ngôn ngữ tự nhiên Nó là một siêu ngôn ngữ có thể diễn đạt các ngôn ngữ khác như: ký số toán học, ngôn ngữ lập trình…
Trang 39 Ngôn ngữ dựa trên logic: Mọi thứ được phát biểu chính xác, rõ ràng trong bất kỳ ngôn ngữ tự nhiên nào đều co thể biểu diễn được trong logic Nhiều thứ khó có thể nắm được ý nghĩa một cách rõ ràng thì khó có thể biểu diễn được trong logic (ví dụ: tình yêu, thơ ca, câu nói đùa…) Tuy nhiên bất cứ thứ gì được thực hiện trên máy tính bằng ngôn ngữ lập trình thì đều có thể biểu diễn trong logic Và để giảm thiểu tính hình thức của logic người ta sử dụng một số ngôn ngữ lập trình dựa trên logic
Các ontology thường dùng cách biểu diễn các khái niệm bằng ngôn ngữ dựa trên logic
Các ngôn ngữ biểu diễn thường được dùng trong ontology:
Conceptual Graphs (CGs): (trình bày trong [24]) được thiết kế nhằm biểu diễn 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): (trình bày trong [24]) được thiết kế nhằm
dễ dàng phân tách cú pháp và một tập kí tự giới hạn để có thể trao đổi dược trong các hệ máy tính khác nhau
Conceptual Grap Interchange Form (CGIF): (trình bày trong [24]) là mức trung
gian của CGs và KIF Giúp cho CGs và KIF được chuyển đổi dễ dàng thông qua CGIF
Các ngôn ngữ biểu diễn web ngữ nghĩa: (trình bày trong [12] [13], [14], [15], [16])
XML, XML Schema, RDF, RDF Schema, OIL, DAML+OIL, OWL
Logic mô tả (description logic): (trình bày trong [17], [18]) được trình bày cụ thể ở
phần tiếp theo, đây là dạng logic dùng để mô tả các khái niệm trong phạm vi ứng dụng nhất định Lý thuyết của logic mô tả tập trung chủ yếu vào 2 thành phần:
Trang 40Hình 1.7: kiến trúc logic mô tả
Đa số các ngôn ngữ ontology hiện nay đều sử dụng các luật của logic mô tả
UML: (trình bày trong [19]) được sử dụng nhằm biểu diễn các phân tích thiết kế của
CHƯƠNG 2 LOGIC MÔ TẢ (DESCRIPTION LOGIC)
2.1 Giới thiệu
“Logic mô tả” là thuật ngữ mới nhất trong họ biểu diễn tri thức (KR), trước khi cụm
từ “logic mô tả” phổ biến như hiện nay, người ta nói đến logic mô tả dưới những cụm từ