Các loại vật này còn được gọi là khái niệm, thuậtngữ hay từ vựng có thể được sử dụng trong một lĩnh vực chuyên môn nào đó.Ontology cũng có thể hiểu là một ngôn ngữ hay một tập các quy tắ
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2Ý Kiến
Trang 3
Giới Thiệu 5
CHƯƠNG 1 Ontology là gì? 6
1.1 Khái niệm 6
1.2 Thành phần 7
1.2.1 Các cá thể (Individuals): 8
1.2.2 Các lớp (Classes): 8
1.2.3 Các thuộc tính (Attributes): 8
1.2.4 Các mối quan hệ (Relationships): 9
1.3 Phân loại 9
1.4 Xây dựng Ontology 11
1.4.1 Yêu cầu 11
1.4.2 Bước xây dựng 12
1.4.3 Ngôn ngữ OWL 15
1.4.4 Một số công cụ phát triển Ontology 16
CHƯƠNG 2 Ứng dụng Ontology trong quản lý trang thiết bị y tế 17
Trang 4Giới Thiệu
Thuật ngữ “Ontology” đã xuất hiện từ rất sớm Trong cuốn sách “Siêu hình”(Metaphysics) của mình, Aristotle đã định nghĩa: “Ontology là một nhánh của triếthọc, liên quan đến sự tồn tại và bản chất các sự vật trong thực tế” Hay nói cách khác,đối tượng nghiên cứu chủ yếu của Ontology xoay quanh việc phân loại các sự vật dựatrên các đặc điểm mang tính bản chất của nó Ontology là một thuật ngữ mượn từ triếthọc được tạm dịch là “bản thể học”, nhằm chỉ khoa học mô tả các loại thực thể trongthế giới thực và cách chúng liên kết với nhau Trong ngành khoa học máy tính và khoahọc thông tin, Ontology mang ý nghĩa là các loại vật và quan hệ giữa chúng trong một
hệ thống hay ngữ cảnh cần quan tâm Các loại vật này còn được gọi là khái niệm, thuậtngữ hay từ vựng có thể được sử dụng trong một lĩnh vực chuyên môn nào đó.Ontology cũng có thể hiểu là một ngôn ngữ hay một tập các quy tắc được dùng để xâydựng một hệ thống Ontology Một hệ thống Ontology định nghĩa một tập các từ vựngmang tính phổ biến trong lĩnh vực chuyên môn nào đó và quan hệ giữa chúng Sự địnhnghĩa này có thể được hiểu bởi cả con người lẫn máy tính Một cách khái quát, có thểhiểu Ontology là "một biểu diễn của sự khái niệm hoá chung được chia sẻ" của mộtmiền hay lĩnh vực nhất định Nó cung cấp một bộ từ vựng chung bao gồm các kháiniệ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ínhnà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ộcnà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 lĩnh vực mà có thể được giao tiếp giữa người và các hệ thống ứngdụng phân tán khác
Ontology được sử dụng trong trí tuệ nhân tạo, công nghệ Web ngữ nghĩa(Semantic Web), các hệ thống kỹ thuật, kỹ thuật phần mềm, tin học y sinh và kiến trúcthông tin như là một hình thức biểu diễn tri thức về thế giới hoặc một số lĩnh vực cụthể Việc tạo ra các lĩnh vực về Ontology cũng là cơ sở để định nghĩa và sử dụng của
cơ cấu một tổ chức kiến trúc(an enterprise architecture framework)
Trong bài thu hoạch này sẽ giới thiệu thế nào là ONTOLOGY, tại sao lại cầnONTOLOGY Ứng dụng của ONTOLOGY trong việc mô tả sản phẩm y tế
Trang 5CHƯƠNG 1 Ontology là gì?
1.1 Khái niệm
Nói một cách đơn giản Ontology là tập từ vựng để mô hình hóa thế giới bên ngoài,
nó đưa ra các khái niệm cơ bản và định nghĩa quan hệ giữa các khái niệm đó trong mộtmiền lĩnh vực Đồng thời Ontology còn cung cấp các ràng buộc, là các giả định cơ sở
về ý nghĩa mong muốn của bộ từ vựng
Ontology được xây dựng nhằm các mục đích sau:
Chia sẻ hiểu biết chung về cấu trúc thông tin giữa con người và phần mềmagent
Sử dụng lại tri thức về một miền lĩnh vực đã được xây dựng từ trước
Hình 1 Ontology
Trong hình trên ta thấy các ứng dụng khác nhau, muốn trao đổi thông tin với nhauthì cần phải có một tri thức chung, vì vậy các ứng dụng này đểu sử dụng một Ontology
để có thể chia sẻ tri thức cho nhau
Ontology được sử dụng rộng rãi trong công nghệ tri thức, trí tuệ nhân tạo, và khoahọc máy tính trong các ứng dụng liên quan đến quản lý tri thức, xử lý ngôn ngữ tựnhiên, thương mại điện tử, tích hợp thông tin, tìm kiếm thông tin, thiết kế cơ sở dữliệu…
Trang 61.2 Thành phần
Các thành phần thường gặp của Ontology bao gồm:
Các cá thể(individuals): các thực thể hoặc các đối tượng (các đối tượng cơbản hoặc cấp độ nền)
Các lớp(classes): các tập hợp, các bộ sưu tập, các khái niệm, các loại đốitượng, hoặc các loại khác
Các thuộc tính(attributes): các khía cạnh, đặc tính, tính năng, đặc điểm,hoặc các thông số mà các đối tượng (và các lớp) có thể có
Các quan hệ(relations): cách thức mà các lớp và các cá thể có thể liên kếtvới nhau
Các thuật ngữ chức năng(function terms): cấu trúc phức tạp được hìnhthành từ các mối quan hệ nhất định có thể được sử dụng thay cho một thuậtngữ cá thể trong một báo cáo(statement)
Các sự hạn chế(restrictions): những mô tả chính thức được tuyên bố vềnhững điều phải chính xác cho một số khẳng định được chấp nhận ở đầuvào
Các quy tắc(rules): tuyên bố có hình thức như một cặp nếu-thì (if-then) mô
tả suy luận logic có thể được rút ra từ một sự khẳng định trong từng hìnhthức riêng
Các tiên đề(axioms): các khẳng định (bao gồm các quy tắc) trong một hìnhthức hợp lý với nhau bao gồm các lý thuyết tổng thể mà Ontology mô tảtrong lĩnh vực của ứng dụng
Các sự kiện(events): sự thay đổi các thuộc tính hoặc các mối quan hệ
Sau đây chúng ta sẽ tìm hiểu một số thành phần quan trọng nhất của mộtOntology
1.2.1 Các cá thể (Individuals):
Các cá thể là các thành phần cơ bản, nền tảng của một Ontology Các cá thể trongmột Ontology có thể bao gồm các đối tượng cụ thể như con người, động vật, cái bàn…cũng như các cá thể trừu tượng như các thành viên hay các từ Một Ontology có thểkhông cần bất kỳ một cá thể nào, nhưng một trong những lý do chính của một
Trang 7Ontology là để cung cấp một ngữ nghĩa của việc phân lớp các cá thể, mặc dù các cáthể này không thực sự là một phần của Ontology.
Xe hơi (cars), các lớp của tất cả các xe ô tô, hoặc đối tượng trừu tượng có thể được
mô tả bởi các tiêu chí để được một chiếc xe hơi
Lớp học (class), đại diện cho lớp của tất cả các lớp học, hay đối tượng trừu tượng
có thể được mô tả bởi các tiêu chí để được một lớp học
Đồ vật (Thing), đại diện cho lớp của tất cả mọi đồ vật, hoặc đối tượng trừu tượng
có thể được mô tả bởi các tiêu chí để được đồ vật
Các Ontology biến đổi tuỳ thuộc vào cấu trúc và nội dung của nó: Một lớp có thểchứa các lớp con, có thể là một lớp tổng quan (chứa tất cả mọi thứ), có thể là lớp chỉchứa những cá thể riêng lẻ, Một lớp có thể xếp gộp vào hoặc bị xếp gộp vào bởi cáclớp khác Mối quan hệ xếp gộp này được sử dụng để tạo ra một cấu trúc có thứ bậc cáclớp, thường là với một lớp thông dụng nhất ở trên đỉnh và các lớp có kiểu rõ ràng cụthể ở phía dưới cùng
1.2.3 Các thuộc tính (Attributes):
Các đối tượng trong Ontology có thể được mô tả thông qua việc khai báo cácthuộc tính của chúng Mỗi một thuộc tính đều có tên và giá trị của thuộc tính đó Cácthuộc tính được sử dụng để lưu trữ các thông tin mà đối tượng có thể có Ví dụ, đối vớimột cá nhân có thể có các thuộc tính: Họ tên, ngày sinh, quê quán, số CMND… Giá trịcủa một thuộc tính có thể là một kiểu dữ liệu phức tạp
Trang 81.2.4 Các mối quan hệ (Relationships):
Mối quan hệ (còn gọi là quan hệ) giữa các đối tượng trong Ontology định rõ nhưthế nào các đối tượng này có liên quan đến các đối tượng khác Đặc trưng là một mốiquan hệ loại riêng biệt (hay lớp) mà quy định cụ thể trong chiều hướng các đối tượngnày có liên quan đến các đối tượng khác trong Ontology
Chủ yếu sức mạnh của Ontology đến từ khả năng mô tả các mối quan hệ Cùngvới nhau, tập hợp các mối quan hệ mô tả ngữ nghĩa trong một lĩnh vực nào đó Cácthiết lập của các loại quan hệ được sử dụng(các lớp của các quan hệ) và hệ thống phâncấp của nó mô tả sức mạnh biểu hiện của ngôn ngữ trong đó Ontology được thể hiện.Một kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (subsumption) Kiểu quan hệnày mô tả các đối tượng nào là các thành viên của các lớp nào của các đối tượng.Ontology có thể phân biệt giữa các loại khác nhau của các quan hệ
Ví dụ:
Loại quan hệ dành cho các quan hệ giữa các lớp
Loại quan hệ dành cho các quan hệ giữa các cá thể
Loại quan hệ dành cho các quan hệ giữa một cá thể và một lớp
Loại quan hệ dành cho các quan hệ giữa một đối tượng đơn lẻ và một bộ sưutập (collection)
Loại quan hệ dành cho các quan hệ giữa các bộ sưu tập
Loại quan hệ đôi khi là một lĩnh đặc trưng và sau đó được dùng để lưu trữ cácloại đặc trưng của sự kiện hoặc trả lời từng loại câu hỏi riêng biệt Nếu các địnhnghĩa của các loại quan hệ được bao gồm trong một Ontology, sau đó Ontologyđịnh nghĩa riêng ngôn ngữ Ontology của nó
1.3 Phân loại
Từ khi bắt đầu nghiên cứu về Ontology trong Khoa học máy tính, Ontology đãđược quan tâm với mong muốn tăng cường việc sử dụng lại hệ thống cơ sở tri thức bêntrong, và nó cũng đưa ra nhiều dạng Ontology mô tả khả năng khác nhau cho việc tái
sử dụng hệ thống cơ sở tri thức Sự phân loại Ontology có thể được tạo ra theo chủ đềcủa sự khái niệm hóa.Trong khía cạnh này, phần cốt lõi nhất được tổng kết theo hìnhbên cạnh
Trang 9Hình 2 Phân loại Ontology
Top-level Ontology: còn gọi là Ontology lớp cao, nhằm diễn tả những khái niệmtổng quan và trừu tượng có thể được chia sẻ qua nhiều lĩnh vực và ứng dụng Nó mượncác ý niệm triết học mô tả những khái niệm lớp cao cho mọi vật về sự tồn tại củachúng, như đối tượng vật chất hay đối tượng trừu tượng như là các ý niệm có đặc điểmchung về tri thức nhận thức thông thường về hiện tượng như thời gian, không gian, cáctiến trình Do sự tổng quan của đó, nó không sử dụng trực tiếp trong các ứng dụng,
mà thông qua các Ontology khác
Domain Ontology và task Ontology: các loại Ontology này lấy tri thức từ trongnhững lĩnh vực xác định, như trong y khoa, địa lý hay tri thức về một tác vụ riêng biệtnhư sự chẩn hoặc sự cấu hình Về mặt ý tưởng thì Ontology loại này thu hẹp hơn vàxác định hơn so với Top-level Ontology Sự khái niệm hóa trong một DomainOntology là giữ các tác vụ độc lập, khi những ý niệm trong một tác vụ Ontology đượcmiêu tả không có tính chất rõ rệt với chi tiết cụ thể đến một lĩnh vực Sự phát triển củaDomain Ontology được thực hiện nhiều ở các lĩnh vực: y học, di truyền, địa lý, dulịch, thông tin môi trường Còn Task Ontology được phát minh cho các tác vụ xâydựng, sắp xếp kế hoạch làm việc, giám sát trong một lĩnh vực khoa học, cơ sở tri thứcmáy tính dạy học, sự theo dõi phóng tên lửa, các tác vụ hướng dẫn điều trị bệnh Application Ontology: càng thu hẹp về phạm vi, Application Ontology cung cậpmột bộ từ vựng xác định được yêu cầu để mô tả sự ban hành các tác vụ chắc chắn
Top - Level Ontology
Application Ontology
Trang 10trong một ngữ cảnh ứng dụng cụ thể Đặc biệt, nó sử dụng cả Domain Ontology vàTask Ontology và mô tả vai trò của chúng trong một tác cụ thể.
Chúng ta có thể thấy hệ thống phân cấp của Ontology thông qua sự trình bày ởtrên: Ontology ở lớp thấp hơn kế thừa và chuyên môn hóa các khái niệm và mối quan
hệ từOntology lớp trên Ontology lớp thấp cụ thể hơn và phạm vi ứng dụng thu hẹphơn, còn Ontology ở lớp cao có khả năng rộng hơn, chủ yếu dành cho việc kế thừa và
Cấu trúc rõ ràng: đây là điều kiện cần cho máy có thể xử lý thông tin
Ngữ nghĩa hình thức miêu tả ý nghĩa tri thức một cách chính xác: Ý nghĩa của ngữ
nghĩa hình thức tồn tại trong một thời gian dài trong miền toán logic Việc sử dụngngữ nghĩa hình thức cho phép con người suy diễn tri thức Với tri thức trong Ontologychúng ta có thể suy diễn về:
Thành viên của lớp: Nếu x là một thể hiện của lớp C và C là lớp con của lớp D
thì chúng ta có x là thể hiện của lớp D
Các lớp tương đương: Nếu lớp A tương đương với lớp B và lớp B tương đương
với lớp C, thì lớp A cũng tương đương với lớp C
Tính nhất quán: Giả sử chúng ta khai báo x là thể hiện của lớp A và A là lớp con
của B∩ C, A là lớp con của lớp D, Lớp B và lớp D không có quan hệ với nhau(disjoint) Thì chúng ta không nhất quán bởi vì A nên là rỗng nhưng lại có thể hiện là
x Đây là một dấu hiệu của một lỗi trong Ontology
Phân loại : nếu chúng ta khai báo các cặp thuộc tính giá trị đã biết là điều kiện đủ
cho thành viên trong một lớp A, thì nếu một cá thể x thỏa mãn các điều kiện, chúng ta
có thể kết luận x phải là một thể hiện của A
Ngữ nghĩa là điều kiện tiên quyết cho việc hỗ trợ suy diễn: Hỗ trợ suy diễn rất
quan trọng bởi vì nó cho phép kiểm tra tính nhất quán của Ontology và tri thức, kiểmtra các quan hệ thừa giữa các lớp, tự động phân loại các thể hiện trong lớp
Trang 11Ngữ nghĩa hình thức và hỗ trợ suy diễn thường được cung cấp bởi việc ánh xạmột ngôn ngữ Ontology đến hình thức logic và sử dụng suy diễn tự động bởi các hìnhthức luôn tồn tại OWL được ánh xạ logic miêu tả và sử dụng các suy diễn đang tồn tạinhư FaCT và RACER Các logic mô tả là tập con của logic vị từ nhằm hỗ trợ suy diễnhiệu quả.
1.4.2 Bước xây dựng
Trong những năm gần đây, một loạt các phương pháp luận khác nhau được thiết
kế để trợ giúp cho việc tiến hành phát triển các nhiệm vụ được báo cáo trong tài liệu trítuệ nhân tạo Các phương pháp truyền thống gồm Cyc (Lenat & Guha 1990), Uschold
và King (Uschold $ King 1995), Gruninger và Fox (Gruninger $ Fox 1995), Kactus(Kactus 1996),và MethOntology (Fernandez-Lopez, Gomes-Perez & Juritso 1997).Các phương pháp luận cung cấp các chỉ dẫn chung và có cấu trúc Nếu làm theo có thểtăng quy trình phát triển và cải tiến chất lượng cho kết quả cuối cùng Theo như đánhgiá phương pháp luận “MethOntology” là phương pháp luận thiết kế Ontology phổbiến nhất (được hỗ trợ môi trường WebODE)
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy nhiên vẫnchưa có một phương pháp chuẩn hóa nào để phát triển các Ontology Quy trình pháttriể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)
Bướ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ĩnhvự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 rasao?
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ềnxá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ớitâ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
Trang 12đế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ácOntology đã 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ựngthà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 đưavà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ổngquan 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ĩacủ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 hayhợ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ộtlớ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 địnhphâ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:
Phương pháp từ trên xuống (top-down): bắt đầu với định nghĩa của các lớp tổng
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ụ: TrongOntology 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ớpNgườ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í, …
Phương pháp từ dưới lên (bottom-up): bắt đầu với định nghĩa của các lớp cụ thể
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áthơ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ânviên