Vào những năm 70, khái niệm ontology đã được sử dụng dưới những tên khác nhau trong biểu diễn tri thức của trí tuệ nhân tạo hình thức, ví dụ như T-Box description logics mô tả các loại t
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
-۞ -University of Information Technology
Tổng quan ontology cho
biểu diễn tri thức
Trang 2Tổng quan về ontology .3
1 Định nghĩa ontology và các khái niệm liên quan 6
2 Phân loại và vòng đời ontology 8
3 Phương pháp hình thức trong mô tả ontology 12
4 Các ứng dụng dựa trên ontology 19
Kết luận và hướng bổ sung 21
Tài liệu tham khảo 21
Trang 3Tổng quan về ontology
0.1 Nguồn gốc
Thuật ngữ "Ontology" đã được xây dựng từ chữ “Ontos” của Hy Lạp nghĩa là
"những gì", "những gì tồn tại" và chữ “Logos” nghĩa là "thuyết giảng" hay
"nghiên cứu" Nó xuất hiện lần đầu tiên vào năm 1606 theo thuật ngữ Latin
“Ontologia” trong tác phẩm Ogdoas Scholastica của Jacob Lorhard
(1561-1609) Trong triết học, ontology được tạm dịch là “bản thể học” là một nhánh
triết học siêu hình cơ bản nghiên cứu liên quan đến các khái niệm về sự tồn tại, các phạm trù cơ bản của các thuộc tính hiện có và phổ biến nhất của các bản thể
và mối quan hệ của chúng
Từ thế kỷ thứ 3 trước công nguyên, Aristotle một nhà bác học và triết học của Hy Lạp cổ đại đã có quan tâm đến biểu diễn các tri thức hiện có của thế giới với một phương pháp xác định các lớp đối tượng với các thuộc tính chung trong một cấu trúc phân cấp nơi mà một số lớp có thể đại diện cho các lớp khác Đây cũng là nền móng cho sự ra đời ontology sau này
Khoa học máy tính mượn thuật ngữ Ontology từ các nhà triết học đầu những năm 80: nó có thể được tìm thấy trong một bài viết của McCarthy (McCarthy, 1980)
và trong cuốn sách của John Sowa (Sowa, 1984) trước khi nó trở nên nổi tiếng với các bài viết của Thomas Gruber (Gruber, năm 1993) Tuy nhiên, đến những năm 90 thì từ “ontology” mới được thông qua toàn thể cộng đồng
Thật ra, khái niệm và tạo tác phần mềm (software artifact *) mà chúng ta bây giờ đặt tên “ontologies” đã tồn tại trong khoa học máy tính rất lâu trước khi thuật ngữ “ontology” được lấy từ triết học Vào những năm 70, khái niệm ontology đã được sử dụng dưới những tên khác nhau trong biểu diễn tri thức của trí tuệ nhân
tạo hình thức, ví dụ như T-Box description logics mô tả các loại từ ngữ dùng
trong biểu diễn và đặc tính của chúng, hoặc các mạng ngữ nghĩa (Quillian, 1967), hoặc sự hổ trợ của đồ thị khái niệm (Sowa, 1984) mô tả đa thừa kế giữa các loại khái niệm và quan hệ
(*) software artifact – là một trong nhiều loại sản phẩm hữu hình được tạo ra trong quá trình
Trang 40.2 Sự cần thiết của ontology
Việc dùng thuật ngữ ontology vào khoa học máy tính là tìm được một cái tên và
định nghĩa phù hợp với nhu cầu cần thiết cho việc trừu tượng hóa các khái niệm
về bản thể trong các trường hợp khác nhau trong phần mềm và chúng ta đã
chuyển từ một lĩnh vực siêu hình, trừu tượng tới một đối tượng cụ thể cho việc nghiên cứu biểu diễn tri thức
Trong ngành khoa học máy tính và khoa họ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ật ngữ 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ây dựng một hệ thống Ontology
Một hệ thống Ontology định nghĩa một tập các từ vựng mang tính phổ biến trong lĩnh vực chuyên môn nào đó và quan hệ giữa chúng Định nghĩ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 khái niệm hoá chung được chia sẻ" của một miề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á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 lĩnh vực 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 [1]
Hãy xem xét hình 1-1 bên dưới, một khối lập phương ánh sáng được đặt trên bên
phải của một khối lập phương tối Các mô tả của cảnh này đòi hỏi hai điều:
1 một phát biểu của các sự kiện mô tả cảnh
2 một vốn từ vựng rõ ràng được sử dụng cho phát biểu
Trong biểu diễn tri thức, mô tả khái niệm (Conceptual description) được gọi là sự kiện và từ vựng khái niệm (Conceptual vocabulary) được gọi là một ontology Vì vậy, một ontology cung cấp một vốn từ vựng khái niệm để xây dựng cho việc mô tả
Trang 5Hình 1-1: một ontology cung cấp một từ vựng khái niệm để mô tả một thực tại (reality) [3]
0.3 Một số chức năng chính
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úc thô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ể Một Ontology cho phép chúng ta giới thiệu các kỷ thuật cho việc suy diễn, phân loại tự động, truy cập thông tin, và khi chia sẻ một ontology giữa các hệ thống khác nhau cũng có thể đảm bảo khả năng tương tác của họ
Hình 1-2: một số chức năng liên quan ontology
Trang 61 Định nghĩa ontology và các khái niệm liên quan
1.1 Các định nghĩa
Ontology là một thuật ngữ bắt nguồn từ triết học và được dùng trong trí tuệ nhân tạo và khoa học máy tính với nhiều nghĩa và cách định nghĩa khác nhau:
• Một ontology định nghĩa các thuật ngữ và các quan hệ cơ bản bao gồm các
từ vựng của một chủ đề nào đó cũng như các luật cho việc kết hợp các thuật ngữ và các quan hệ để xác định các phần mở rộng tới vốn từ đó [Neches et al
1991]
• Một ontology là một hình thức rõ ràng có thể biểu diễn được của một khái niệm, một lớp trừu tượng về một ứng dụng, một lĩnh vực nào đó được chia sẻ giữa nhóm cá thể [Gruber 1993]
• Một 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 cộng đồng [Russell & Norving 1995]
• Một ontology là một tập hợp các thuật ngữ có cấu trúc phân cấp để mô tả cho một miền hoặc lĩnh vực mà có thể được sử dụng như một nền tảng cơ bản cho cơ sở tri thức [Swarout et al 1996]
• Chủ đề của ontology là nghiên cứu các phạm trù vật chất tồn tại hoặc có thể tồn tại trong một số miền nào đó Sản phẩm của nghiên cứu này còn được gọi là ontology là một danh sách các loại vật chất được cho là tồn tại trong một miền quan tâm D từ quan điểm của một người dùng ngôn ngữ L cho mục đích nói về D [Sowa, 2000]
• Một ontology là một lý thuyết trong đó sử dụng một vốn từ vựng cụ thể để mô
tả các thực thể, các lớp, các thuộc tính và các chức năng liên quan với một quan điểm nhất định [Fonseca et al 2002]
Từ những định nghĩa này, chúng ta có thể xác định một số khía cạnh chủ yếu của ontologies:
• Các ontologies được sử dụng để mô tả cho một miền cụ thể (domain of
interest)
• Các thuật ngữ và quan hệ được định nghĩa rõ ràng trong miền đó
• Có một cơ chế để tổ chức các thuật ngữ
Trang 7• Có một sự đồng thuận giữa những người sử dụng ontology theo cách mà ý
nghĩa của các thuật ngữ được sử dụng nhất quán
1.2 Các khái niệm liên quan
Ontology: một nhánh của triết học liên quan tới đặc tính tự nhiên và tổ chức của
các sự vật hiện tượng
Từ vựng (Vocabulary/lexicon): là một khái niệm thường được dùng trong ngôn
ngữ học bao gồm các thuật ngữ được chuẩn hóa với một ngữ nghĩa đã được thừa nhận cho một lĩnh vực cụ thể nào đó trong giao tiếp, ví dụ như các từ điển
chuyên đề Một điểm chung giữa ontology và từ điển chuyên đề là đều bao gồm một số lượng lớn các khái niệm và thuật ngữ giúp chúng ta hiểu rõ ý nghĩa của các khái niệm đó trong một lĩnh vực
Miền hoặc lĩnh vực (Domain): là một đại diện trong những thứ (vật chất) tồn tại
trong một lĩnh vực cụ thể của thực tại, ví dụ như: y học, địa lý, sinh thái, pháp luật, v.v
Ý niệm (Notion): là cái gì đó hình thành trong ý nghĩ, chúng hợp thành suy nghĩ,
tư duy Nó dùng để cấu trúc tri thức và nhận thức về thế giới
Tăng cường và mở rộng (intension and extension): đây là sự khác biệt giữa
cách một ý niệm được xem xét: tăng cường là tập các thuộc tính và đặc tính mô
tả khái niệm còn mở rộng là tập những thứ được biểu diễn bởi khái niệm
Ví dụ: khái niệm “xe hơi”, sự tăng cường bao gồm các đặc điểm của một phương tiện đường bộ và một động cơ, thường có bốn bánh và chỗ ngồi cho từ một đến bốn người trong khi sự mở rộng bao gồm “xe màu trắng đậu ở trước trường CNTT”, một “xe Toyotal Rio với biển số 50N 5432”
Phân loại (Taxonomy): sự phân lớp, phân cấp các thực/cá thể dựa trên tính
tương tự, tương đồng
Bộ thuật ngữ và bộ khẳng định (Terminology-Box hay T-box và Assertion box
hay A-box): cơ sở tri thức gồm hai bộ phận T-box và A-box, T-box bao gồm các khái niệm và định nghĩa của chúng, nó cũng bao gồm các quan hệ phân cấp ‘is-a’, còn bộ phận A-box bao gồm các thể hiện của các khái niệm và một số khẳng định trên những thể hiện đó
Trang 8Tính đồng âm (Homonymy): một từ vựng có
thể tham chiếu tới vài khái niệm hoặc quan hệ
hay nói cách khác khái niệm giống nhau có
thể có các nghĩa khác nhau
Tính đồng nghĩa (Synonymy): một khái
niệm hoặc một quan hệ được tham chiếu bởi
vài từ vựng hay nói cách khác hai khái niệm
khác nhau có thể có cùng một ý nghĩa
Khái niệm hóa (Conceptualization): một cấu
trúc ngữ nghĩa tăng cường mã hóa các luật ràng buộc lên cấu trúc các thực tại
2 Phân loại và vòng đời ontology
2.1 Phân loại ontology
Ontology có thể có các loại khác nhau phụ thuộc trên một vài tiêu chí:
• Các ontology chia sẻ (shareable ontologies): một ontology thô sẽ dễ dàng chia
sẻ (shareable) giữa các thành phần khác trên sự đồng thuận về các khái niệm tổng quan cơ bản và do đó nó có thể được sử dụng on-line để hổ trợ các dịch
Trang 9• Top-level Ontology: còn gọi là ontology lớp cao, nhằm mô tả những khái
niệm tổng quan và trừu tượng, ví dụ như: engineering, person, v.v Các khái niệm đó độc lập với các bài toán hoặc
lĩnh vực cụ thể
• Domain Ontology: mô tả chi tiết và cụ
thể hơn các khái niệm đã chỉ ra ở phần
top-level ontology cho một lĩnh vực
chung nào đó, ví dụ như:
mechanical-engineering, software-engineering
Domain ontology được thực hiện nhiều
ở các lĩnh vực: y học, di truyền, địa lý,
du lịch, thông tin môi trường, v.v
• Task Ontology: mô tả chi tiết và cụ thể hơn các khái niệm đã chỉ ra ở phần top-level ontology cho một tác vụ hoặc một hoạt động nào đó, ví dụ như:
requirements analysis Xem thêm ví dụ chi tiết ở hình 3-2 bên dưới
Task ontology được thực hiện cho các tác vụ xây dự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ức má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, v.v
• Application Ontology: cung cấp một bộ từ vựng xác định được các yêu cầu để
mô tả các tác vụ (task) chắc chắn trong một ngữ cảnh của ứ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, 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ẹp hơ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à sử dụng lại
Hình 3-1 phân loại ontology
Trang 10Hình 3-2: task ontoloty
2.2 Vòng đời (life-cycle) của ontologies
Ontologies là các đối tượng sống và mỗi giai đoạn của vòng đời đưa ra các vấn
đề để phát triển và nghiên cứu Vòng đời của ontology bao gồm các giai đoạn:
• Khám phá nhu cầu (detection of needs)
• Lập kế hoạch và quản lý (management and planning)
Trang 11Hình 3-3: Các giai đoạn chính trong vòng đời của một ontoloty
Nhu cầu và đánh giá: việc khám phá ra các nhu cầu cũng như đánh giá sau quá
trình ontoloty được sử dụng thông qua các hình thức như các cuộc phỏng vấn (interviews), bảng câu hỏi (questionnaries), các cuộc điều tra (surveys), v.v
Thiết kế và phát triển: tại thời điểm đầu của hai giai đoạn này cùng chia sẽ một
số vấn đề:
• Chỉ rõ các giải pháp (như mockups và modelings, prototyping, v.v)
• Thu thập tri thức (phân tích văn bản, xử lý ngôn ngữ tự nhiên, khai phá dữ liệu, các phương pháp và công cụ trích tri thức, v.v)
• Khái niệm và mô hình hóa (phỏng vấn với các chuyên gia, meta-ontologies, v.v)
• Hình thức hóa (phân tích khái niệm hình thức, đồ thị khái niệm, semantic web formalisms RDF (Resource Description Framework), RDFS (Resource
Description Framework Schema), OWL (Ontology Web Language), v.v)
• Tích hợp các tài nguyên có sẳn
• Thực hiện
Phổ biến: giai đoạn này tập trung vào việc triển khai và thiết lập ontology
Những vấn đề của giai đoạn này được hạn chế bởi các giải pháp kiến trúc phần mềm Trong bối cảnh các ứng dụng web, người ta có thể dựa trên các chuẩn W3C Để chia sẻ tập tin, thì kiến trúc peer-to-peer hoặc phân tán có thể được sử dụng Để sự tích hợp các ứng dụng, thì kiến trúc web services là một giải pháp
Trang 12dụng) và tính không đồng nhất của nó (cú pháp, ngữ nghĩa, các giao thức, ) đưa các bài toán nghiên cứu có khả năng tương tác và linh hoạt hơn.
Sử dụng: giai đoạn này bao gồm tất cả các hoạt động trực tiếp dựa trên tính sẳn
có của ontology, ví dụ như chú thích các nguồn tài nguyên (resources) , suy diễn tri thức, hổ trợ quyết định, phân tích khối lượng lớn tri thức, v.v
Quản lý: Các hoạt động song song của quản lý và lập kế hoạch nhấn mạnh tầm
quan trọng của một công việc liên tục và chính sách toàn diện để phát hiện,
chuẩn bị và đánh giá lặp đi lặp lại cả chu kỳ sống của ontology và đảm bảo rằng các giải pháp vẫn trong chu kỳ hệ thống thông tin nơi các đóng góp mang lại tính hữu dụng và tính hữu dụng mang lại các đóng góp
3 Phương pháp hình thức trong mô tả ontology
• Các chức năng và các quy tắc (functions – rules)
Ngoài ra, ontology còn có thể bổ sung thêm một thành phần Hc ⊆C × C (C: khái niệm) là một tập quan hệ phân cấp các khái niệm Trong đó Hc (c1, c2) biểu diễn
c1 là khái niệm con của c2
3.1.1 Cá thể
Cá thể là thành phần cơ bản, nền tảng của một ontology là đối tượng cụ thể trong
thực tại như con người, động vật, cái bàn, hành tinh, v.v, một bản sao của một
Trang 13khái niệm trừu tượng với các giá trị thật cho các thuộc tính, ví dụ [2]:
Một ontology cùng với một tập các cá thể riêng biệt của các lớp tạo thành một hệ tri thức 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 mục đích chung của ontology là để cung cấp một cách thứ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
3.1.2 Khái niệm
Khái niệm (còn được gọi là lớp hay loại thực thể) là mô tả các tính năng phổ
biến mà các cá thể hoặc đối tượng có, ví dụ: người (Person), phương tiện xe cộ (vehicle)
Các khái niệm là tổng quát, trừu tượng hay cụ thể trong một lĩnh vực nào đó Mỗi khái niệm có một thuật ngữ liên quan, thường là một mô tả ngôn ngữ tự nhiên thể hiện tên của nó và một tập các thuộc tính đăc trưng cho nó Một khái niệm có thể có các khái niệm con (sub-concepts) liên quan sử dụng các mối quan
hệ thừa kế và phân cấp Ví dụ mô hình phân lớp khái niệm xe hơi:
Hình 4-1: mô hình phân lớp/khái niệm xe hơi [7]
Trang 143.1.3 Thuộc tính
Các đối tượng trong ontology có thể được mô tả thông qua việc khai báo các thuộc tính của chúng Các thuộc tính được sử dụng để lưu trữ các thông tin mà đối tượng có thể có Mỗi một thuộc tính đều có tên và giá trị của thuộc tính đó
Ví dụ, đối với một cá nhân có thể có các thuộc tính: Họ tên, ngày sinh, quê quán,
số CMND, v.v Giá trị của một thuộc tính có thể là một kiểu dữ liệu phức tạp
3.1.4 Quan hệ
Một quan hệ biểu diễn một kiểu tương tác giữa các khái niệm trong một lĩnh vực nào đó Một vài kiểu quan hệ có thể được phân biệt theo số các khái niệm như: quan hệ phản xạ (liên kết chỉ một khái niệm), quan hệ nhị phân (liên kết hai khái
niệm), quan hệ n nhiều (liên kết nhiều hơn hai khái niệm)[3] Ngoài ra quan hệ còn biểu diễn một kiểu tương tác giữa hai đối tượng hoặc cá thể Cũng có thể phân biệt quan hệ theo các loại khác nhau, 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ưu tập (collection)
• Loại quan hệ dành cho các quan hệ giữa các bộ sưu tập
Quan hệ giữa các đối tượng trong một ontology xác định các đối tượng có quan
hệ với nhau như thế nào Có ba loại quan hệ chính trong một ontology: {‘is-a’,
‘part-of’, ‘syn-of’}, trong đó ‘part-of’ gồm ‘subclass-of’ hoặc ‘superclass-of’, ví
dụ khái niệm Ford Explorer và Ford Bronco (hình 4-1) có thể được quan hệ bởi kiểu quan hệ tương đương <syn-of> > và biểu hiện đầy đủ là:
Ford Explorer syn-of Ford Bronco
Điều này cho chúng ta biết rằng Explorer là mô hình thay thế Bronco
Một kiểu quan hệ quan trọng của ontology là kiểu quan hệ xếp gộp
(subsumption: is-a-superclass-of, is-a-subclass-of) nghĩa là xếp một cá thể vào
một loại nào đó, xếp một cái riêng biệt vào một cái chung, v.v Kiểu quan hệ này
mô tả các đối tượng nào là thành viên của các lớp nào của các đối tượng, ví dụ:
các lớp Ford Explorer is-a-subclass-of 4-Wheel Drive