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ó
Trang 2DANH SÁCH HÌNH ẢNH
Hình 1: Mô hình Ontology về bánh pizza _ 3 Hình 2: Mô hình Ontology lĩnh vực _ 4 Hình 3: Một mô hình mạng ngữ nghĩa _ 7 Hình 4: Mạng ngữ nghĩa dùng để giải toán tam giác _ 8 Hình 5: Không thể hiện thực Ontology dưới dạng ma trận liên kết _ 9 Hình 6: Siêu mô hình của một Ontology cài đặt bằng hướng đối tượng _ 10 Hình 7: Kiến trúc của một ứng dụng Ontology 13 Hình 8: Khung ứng dụng Jena hỗ trợ phát triển ứng dụng Ontology 16 Hình 9: Giao diện của công cụ Protégé _ 17 Hình 10: Các chức năng chính của MedicKBase 19 Hình 12: Quan hệ giữa bệnh và tình huống 21 Hình 11: Các phân hệ chính trong MedicKBase _ 21 Hình 13: Luồng suy diễn của MedicKBase _ 23 Hình 14: Sơ đồ xử lý nghẹt thở _ 24 Hình 15: Các luật của Khái niệm Thúc vào bụng với người lớn 25
Trang 3DANH SÁCH BẢNG BIỂU
Bảng 1: Các mô tả thuộc tính của OWL _ 14 Bảng 2: Các mô tả thuộc tính lớp của OWL 14 Bảng 3: Các tiên đề và sự kiện của OWL 15
Bảng 4: Thống kê người dùng tại website Protege _ 18
Trang 41 GIỚI THIỆU
Ngày nay, với sự bùng nổ thông tin, nhất là thông tin trên web đang được rất nhiều nhà nghiên cứu quan tâm Thế nhưng máy tính hiện nay chỉ có tác dụng nhận và hiển thị thông tin chứ không có khả năng đọc và hiểu được thông tin Do vậy, việc tìm kiếm, tách chiết, lập luận để đưa ra tri thức cần thiết càng ngày càng khó khăn Năm 1998, Tim Berners-Lee đã đề xuất ra web ngữ nghĩa (Semantic web), một sự phát triển của web hiện tại Theo ông, web ngữ nghĩa ra đời sẽ khắc phục được những nhược điểm quan trong của web hiện tại, làm cho máy tính có thể hiểu thông tin trên web và như thế việc xử lý thông tin trên web trở nên thuận lợi và chính xác hơn Cũng theo ông, nền tảng cơ bản của web ngữ nghĩa là Ontology
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ễn tri 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ệu cũ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ủa ontology 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
Mục tiêu của bài thu hoạch này là tiếp cận các kiến thức về ontology, cũng như ngôn ngữ OWL (Ontology Web Language), từ đó xây dựng thử nghiệm một hệ cơ
đề 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
Trang 5tự động, chính xác Năm 2003, F, Baader đã phát triển logic mô tả (Description Logic – DLs) và xem nó như là ngôn ngữ biểu diễn cho 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 (đưa ra năm 1965) đã đưa ra logic mô tả mờ (Fuzzy Description Logic) ) 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
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
Định nghĩa 1:
Thông thường, ontology được định nghĩa như một cấu trúc bao gồm những thành phần sau (Gruber 1993; Fensel 2001):
C – tập các khái niệm (Concept);
I – tập các thể hiện của khái niệm;
R – tập các quan hệ hai ngôi được định nghĩa trên C;
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
Định nghĩa 2:
Một ontology là một bộ tứ O = (C, P, R, A), trong đó:
C là một tập các khái niệm được định nghĩa trong một miền Một khái
niệm thường được xem như một lớp của ontology
P là một tập các thuộc tính Một thuộc tính p ∈ P được định nghĩa như một
thể hiện của một quan hệ ba ngôi có dạng p(c, v, f), trong đó c ∈ C là một khái niệm ontology, v là một giá trị thuộc tính gắn với c và f định nghĩ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
Trang 6cậ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ều} là tập các kiểu quan hệ
nhiều- 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
Pizza
Pizza topping Pizza base
Vegetarian Pizza
base
Margherita Pizza
Tomato topping
Cheese topping
Regular base
Spicy Beef
Pizza
Mozzarella topping
“puched card” (thẻ đục lỗ) và “video card” (card màn hình)
Định nghĩa 3:
Một Ontology lĩnh vực định nghĩa một tập các thuật ngữ gọi là khái niệm Các mối quan hệ giữa những khái niệm này diễn tả một thế giới mục tiêu
Trang 7Ontology lĩnh vực được định nghĩa qua bốn tầng, bao gồm tầng lĩnh vực, tầng phân hệ, tầng sự kiện, và tầng chứa các lớp Một ontology miền thể hiện một tên miền của một ontology và bao gồm nhiều phân hệ khác nhau được định nghĩa bởi các chuyên gia trong lĩnh vực Mỗi phân hệ được tổ hợp bới các tập sự kiện, kế thừa từ những bản thông tin bởi các chuyên gia lĩnh vực Mỗi sự kiện bao gồm một vài khái niệm của của tầng chứa lớp Trong tầng chứa lớp, mỗi khái niệm chứa một tên khái niệm, một tập thuộc tính và một tập tóa tử cho một ứng dụng lĩnh vực Ontology lĩnh vực có ba loại quan hệ, bao gồm khái quát hóa, quy nạp và liên đới Quan hệ giữ lĩnh vực và các phân hệ tương ứng là sự khái quát hóa, thể hiện quan hệ “thuộc loại” Quan
hệ giữa mỗi phân hệ và những sự kiện tương ứng là sự quy nạp Quan hệ quy nạp diễn tả quan hệ “là một phần của” Liên đới là một quan hệ ngữ nghĩa giữa các lớp trong một tầng
1 1
11, C2, , C q
A
1 1
11, C 2, , C q
O
2 2 2
21, C 2, , C q
A
2 2
21, C 2, , C q
O
3 3 3
31, C 2, , C q
A
3 3
31, C 2, , C q
O
4 4
41, C 2, , C q
O
4 4
41, C2, , C q
A
5 5 5
51, C 2, , C q
A
5 5
51, C2, , C q
C O O O
m m m
m C C q
A 1, 2, ,
m m m
Trang 8Một ontology thượng tầng (hay ontology nền) là một mô hình các đối tượng thuật ngữ thông dụng mà có thể áp dụng cho số lượng lớn các ontology miền Ontology thượng tầng chứa một từ điển cốt lõi trong đó mô tả những đối tượng thuật ngữ thuộc một tập hợp các lĩnh vực Có rất nhiều ontology được chuẩn hóa có thể sử dụng được, bao gồm Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO, and DOLCE WorldNet, đôi khi được xem như một ontology thượng tầng, thực ra không hoàn toàn là một ontology Mặc dù vậy, WorldNet được cài đặt như là một công cụ ngôn ngữ để nghiên cứu ontology lĩnh vực
2.2 Logic mô tả
Logic mô tả (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 Logic mô tả đượ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: bao gồm
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ò bằng cách sử dụng các tạo tử (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
Cú 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)
Trang 9hay lấy phầ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 (functionality), v.v Đặc biệt đối với phép giao và phép hợp, lôgic mô tả sử dụng các ký hiệu và để phân biệt chúng với ∧ và
∨ trong lôgic bậc nhất
Dưới đây là một ví dụ về định nghĩa cú pháp của lôgic mô tả:
một khái niệm nguyên tử là một khái niệm;
khái niệm đỉnh ( ) là một khái niệm;
khái niệm đáy ( ) là một khái niệm;
phần bù của một khái niệm C cũng là một khái niệm (ký hiệu là ¬C);
giao của hai khái niệm C và D cũng là một khái niệm (ký hiệu là C
3 ỨNG DỤNG CỦA ONTOLOGY
3.1 Mạng ngữ nghĩa
Người đặt nền tảng cho mạng thông tin toàn cầu Tim Berners-Lee đã nhiều lần
đề cập đến mạng ngữ nghĩa (Sematic Web) 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ác nhau Nhờ đó, 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
Trang 10Ý tưởng trọng tâm của là tạo ra những "metadata": chuỗi các cơ sở dữ liệu nối tiếp nhau, có nhiệm vụ bổ sung cho thông tin trên web để các máy tính có thể hiểu
và giải quyết những vấn đề ngữ nghĩa phức tạp
Mạng ngữ nghĩa được tổ chức dưới dạng một đồ thị, trong đó các nút biểu diễn các đối tượng và cung biểu diễn quan hệ giữa các đối tượng
Hình 3: Một mô hình mạng ngữ nghĩa
Trang 11Không chỉ thuận lợi cho việc tìm kiếm thông tin, mạng ngữ nghĩa còn hỗ trợ
cơ chế suy diễn khá hiệu quả mà điển hình là bài toán tam giác tổng quát
Hình 4: Mạng ngữ nghĩa dùng để giải toán tam giác
Việc tiếp cận ngữ nghĩa tài nguyên Web 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
3.2 Hệ chuyên gia
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
Trang 123.3 Lập trình hướng đối tượng
Ontology là một đồ thị thưa có kích thước lớn nên việc biểu diễn dưới dạng
ma trận liên kết là không khả thi
Hình 5: Không thể hiện thực Ontology dưới dạng ma trận liên kết
Khi ứng dụng vào thực tế, Ontology thường được biểu diễn dưới dạng frame
và điều này khá phù hợp với lập trình hướng đối tượng Ngôn ngữ lập trình hướng đối tượng hỗ trợ rất mạnh các khái niệm tương ứng với Ontology như lớp, thuộc tính (quan hệ) và các thực thể Do đó, đây là công cụ hoàn hảo để cài đặt Ontology
Trang 13Hình 6: Siêu mô hình của một Ontology cài đặt bằng hướng đối tượng
Ngược lại, Ontology mở rộng khả năng của lập trình hướng đối tượng Thay vì phải tập trung vào việc cài đặt cơ sở dữ liệu và các thuật toán xử lý, mô hình Ontology hướng nỗ lực của người thiết kế sang việc khai báo và mô tả tri thức Việc này còn cho phép những chuyên gia có thể tạo dựng nên những ứng dụng hữu ích mà không cần am hiểu nhiều về lập trình Đây rõ ràng là mục tiêu mà các ngôn ngữ lập trình thế hệ mới đang cố gắng hiện thực hóa
4 PHƯƠNG PHÁP XÂY DỰNG ONTOLOGY
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy nhiên vẫn chưa có một phương pháp chuẩn hóa nào để phát triển các ontologies Sau đây là quy trình phát triển gồm 7 bước do Stanford Center for Biomedical Informatics Research đưa ra (đây là nhóm phát triển phần mềm Protégé để trình diễn và soạn thảo Ontology)
Trang 14Bước 1: Xác định lĩnh vực và phạm vi của Ontology
Trong giai đoạn này cần xác định mục đích của việc xây dựng ontology là gì? Phục vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên quan đến lĩnh vực, phạm vi nào Quá trình khai thác, quản lý và bảo trì ontology được thực hiện ra sao?
Bước 2: Xem xét việc sử dụng lại các ontology có sẵn
Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng (Abstract), tầng miền xác định (Domain) và tầng mở rộng (Extension) Trong đó tầng trừu tượng có tính tái sử dụng rất cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất định Cộng đồng Ontology cũng đang lớn mạnh và có rất nhiều Ontology đã được tạo ra, với tâm huyết của nhiều chuyên gia Do đó trước khi bắt đầu xây dựng ontology, cần xét đến khả năng sử dụng lại các ontology đã có Nếu có thể sử dụng lại một phần các ontology đã có, chi phí
bỏ ra cho quá trình xây dựng ontology sẽ giảm đi rất nhiều
Bước 3: Liệt kê các thuật ngữ quan trọng
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
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