1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn biểu diễn tri thức và suy luận NGHIÊN CỨU VỀ ONTOLOGY VÀ BÀI TOÁN ZEBRA PUZZLE

50 469 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 1,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệu Trong khoa học máy tính và thông tin, ontology được định nghĩa là một biểu diễnhình thức cho tập hợp các khái niệm thuộc một lĩnh vực nào đó và quan hệ giữa nhữngkhái niệm này

Trang 2

Lời cảm ơn

Lời đầu tiên em xin chân thành cảm ơn Thầy Đỗ Văn Nhơn đã truyền đạt cho em những bài học thật bổ ích với những câu truyện đầy tính sáng tạo và lý thú.

Cảm ơn nhà trường đã tạo điều kiện cho em cùng các bạn trong lớp có thể học tập

và tiếp thu những kiến thức mới.

Em cũng chân thành cảm ơn các bạn trong lớp đã chia sẻ cho nhau những tài liệu

và hiểu biết về môn học để cùng hoàn thành tốt môn học này.

Trong thời gian vừa qua mặc dù em đã cố gắng rất nhiều để hoàn thành tốt đề tài của mình, song chắc chắn kết quả không tránh khỏi những thiếu sót Em kính mong được

sự cảm thông và tận tình chỉ bảo của Thầy.

TP.Hồ Chí Minh Tháng 03/2014

Học viên thực hiện

Phạm Phú Thanh Sang

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Trang 4

Ngày nay trí tuệ nhân tạo ngày càng phát triển mạnh mẽ, bằng chứng cụ thể

là có rất nhiều công trình đề tài nghiên cứu và đã đưa vào ứng dụng trong rất nhiềulĩnh vực phát triển kinh tế xã hội, trong đó biểu diễn tri thức là phần không thểthiếu, tri thức được con người biểu diễn sao cho máy tính có thu nhận được, diễnđạt, xử lý và suy luận Chính vì vậy biểu diễn tri thức đóng vai trò rất rất quantrọng trong trí tuệ nhân tạo

Một trong những phương thức biểu diễn tri thức phổ biến hiện nay làOntology, tuy ra đời hơi muộn so với các phương thức khác nhưng Ontology đãđược đón nhận rộng rãi trên thế giới

Trong khuôn khổ bài thu hoạch này em xin trình bày lý thuyết về Ontology,các phương pháp tiến hóa của ontology, và việc ứng dụng vào biểu diễn và giải cácbài toán logic (logic puzzle), minh họa bằng bài toán logic nổi tiếng của Einstein(Einstein’s riddle) có tên gọi là Zebra puzzle

Qua đây, em cũng xin gởi lời cám ơn chân thành đến PGS.TS Đỗ Văn Nhơn, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản cho chúng em

về môn học “Biểu diễn tri thức và suy luận”

Trang 5

MỤC LỤC

Trang 6

I TỔNG QUAN VỀ ONTOLOGY

I Giới thiệu

Trong khoa học máy tính và thông tin, ontology được định nghĩa là một biểu diễnhình thức cho tập hợp các khái niệm thuộc một lĩnh vực nào đó và quan hệ giữa nhữngkhái niệm này Nói cụ thể hơn, ontology cung cấp một bộ từ vựng chung dùng để mô tảmột lĩnh vực – nghĩa là một loại đối tượng hay khái niệm hiện hữu, cùng với các thuộctính và quan hệ giữa chúng – và lời đặc tả cho nghĩa của những từ trong bộ từ vựng Dựavào độ chính xác của đặc tả này, khái niệm ontology bao gồm một số mô hình dữ liệu hay

mô hình khái niệm, ví dụ, các bảng phân loại (classifications), từ điển chuyên đề(thesauri), lược đồ cơ sở dữ liệu (database schemas), lý thuyết được tiên đề hoá đầy đủ(fully axiomatized theories)… Ontology có khuynh hướng xuất hiện ở mọi nơi Ontologyđược sử dụng trong các lĩnh vực trí tuệ nhân tạo, web ngữ nghĩa, kỹ thuật phần mềm,sinh-y tin học, khoa học thư viện và kiến trúc thông tin như là một dạng biểu diễn tri thức

về thế giới hay một phần của nó Ontology là một giải pháp đơn giản nhưng hiệu quả chonhiều ứng dụng như tích hợp thông tin, các hệ thống ngang hàng, thương mại điện tử, cácdịch vụ web ngữ nghĩa, các mạng xã hội… Chúng thực sự là những phương tiện thiếtthực đểkhái niệm hoá những thức ẩn được biểu diễn theo định dạng của máy tính

II Các thành phần của 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ônngữ đượ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 Cá thể (Individuals)

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

Trang 7

đích chung của ontology là cung cấp một phương tiện để phân loại các đối tượng, ngaycảkhi các đối tượng này không phải là một phần rõ ràng của ontology.

2 Lớp (Classes)

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ủacá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ạicác cá thể, các lớp khác, hay một tổ hợp của cả hai Một số ví dụ của lớp:

• Person, lớp của tất cả con người, 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 con người

• Vehicle, lớp của tất cả xe cộ, 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 chiếc xe

• Car, lớp của tất cả xe hơi, hay các đối tượng trừu tượng có thể được mô tả bởicác tiêu chuẩn làm một chiếc xe hơi

• Class, biểu diễn lớp tất cảcác lớp, 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 lớp

• 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àolớ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ểnnhiê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ó

Trang 8

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ượnglớ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.

3 Thuộc tính (Attributes)

Các đối tượng trong một ontology có thể được mô tả bằng cách liên hệ chúng vớinhữ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ủaquan 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ư:

<có tên> Ford Explorer

<có bộ phận> door (với số lượng tối thiểu và tối đa: 4)

<có một trong các bộ phận> {4.0L engine, 4.6L engine}

<có bộ phận> 6-speed transmission

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ệmkhá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

4 Quan hệ (Relationships)

Quan 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

Trang 9

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:

Ford Explorer được định nghĩa là một con của: Ford Bronco

Đ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ácquan 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ớpquan 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: Một Ontology biểu diễn quan hệ của xe cộ

superclass-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)

Trang 10

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 đốitượ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 trongphạm vi một cha cho mọi nút, nhưng đa số thì không như thế) Mộ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ệ meronymy 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ứctạ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ônluô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ủanhiều hơn một lớp Cấu trúc này được gọi là đồ thị chu trình có hướng Ngoài nhữngquan hệ chuẩn như ‘là lớp con của’ và ‘được định nghĩa là bộ phận của’, ontology thườngchứa thêm một số dạng quan hệ làm trau chuốt hơn ngữ nghĩa mà chúng mô hình hóa.Ontology thường phân biệt các nhóm quan hệ khác nhau Ví dụ nhóm các quan hệ về:

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à’

Trang 11

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ờimột câu hỏi như ‘những xe hơi nào được sản xuất tại Hoa Kỳ?”

III Phân loại Ontology

Ontology có thể được phân loại dựa trên phương pháp hình thành khái niệm.Theo H.Becketal, có các kiểu ontology như sau:

Ontology biểu diễn (Representation ontologies hay còn gọi là meta ontologies).

Kiểu ontology này nhằm khái niệm hoá và biểu diễn các tri thức theo kiểu hìnhthức Ontology kiểu này định nghĩa các khái niệm như là các lớp, các mối quan

hệ, các hàm hay các tiên đề được định danh (named-axiom)

Ontology chung (General ontology) hay còn gọi là ontology mức cao

(upper ontology) Kiểu ontology này nhằm phân loại một tập các thực thể tồn tạitrong thế giới vật chất Nó thường biểu diễn các khái niệm chung, không phụthuộc vào vấn đề hay miền cụ thể nào được mô tả trong ontology đó Tri thứcđịnh nghĩa trong kiểu ontology này thường là sự vật (thing), sự kiện (event), thờigian (time), không gian(space) hoặc các khái niệm chung khác

Ontology miền (Domain ontologies) Tri thức được định nghĩa trong kiểu

ontology này là tri thức xác định một miền nào đó Từ vựng, khái niệm được mô

tả trong kiểu ontology này có mối quan hệ gần gũi với các miền tri thức tổngquát, ví dụ như hàng không, y tế…

Ontology ứng dụng (Application ontology) Mô tả các phần tri thức phụ thuộc vào

một miền tri thức riêng biệt cũng như nhiệm vụ cụ thể nào đó Một ontologyứng dụng thường biểu diễn các khái niệm liên quan trực tiếp đến việc giải quyết bài toán

IV Phương thức 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ảlĩnh vực 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ụ

Trang 12

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ộtquá trình lặp đi lặp lại, mỗi lần lặp cải thiện, tinh chế và phát triển 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 Công việc xây dựngOntology cũng cần phải tính đến khảnăng mở rộng lĩnh vực 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

Một số nguyên tắc cơ bản của việc xây dựng Ontology thông qua các công đoạnsau đây:

 Xác định miền quan tâm và phạm vi của Ontology

 Xem xét việc kế thừa các Ontology có sẵn

 Liệt kê các thuật ngữ quan trọng trong Ontology

 Xây dựng các lớp và cấu trúc lớp phân cấp

 Định nghĩa các thuộc tính và quan hệ cho lớp

 Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp

 Tạo các thực thể cho lớp

1 Xác định lĩnh vực quan tâm và phạm vi của Ontology

Thông thường, các yêu cầu đối với một hệ thống Ontology là mô tả lĩnh vực quantâ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 Côngviệc đặc tả để xác định, phân tích, nhận diện chính xác yêu cầu được thực hiện bằng cáchtrả lời những câu hỏi sau:

 Ontology cần mô tả lĩnh vực nào?

 Ontology phục vụ cho mục đích chuyên biệt gì?

 Cơ sở tri thức trong Ontology sẽ giải quyết những câu hỏi gì?

 Ontology nhằm vục vụ đối tượng nào?

 Ai là người sẽ xây dựng, quản trị Ontology?

Trang 13

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 đổitrong suốt quá trình xây dựng một Ontology Nhất là khi có sự thay đổi về mục đích hoặccầ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áccá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 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ácnhau Hoặc giả sử Ontology cần xây dựng có chức năng xử lý ngôn ngữ tự nhiên, ứngdụ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

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ạiphạ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ứccủ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ễnhợp lý chưa?

5 Xem xét việc kế thừa các Ontology có sẵn

Đâ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ộtOntology 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êmhoặ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ủamình 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ữacác ứng dụng khác nhau, các ứng dụng sẽ cần phải hiểu các lớp, thực thể, quan hệ củanhau để 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ênquan đến một bài toán rất phức tạp là trộn (merging) các Ontology Ví dụ trong trường

Trang 14

hợp tên các khái niệm được định nghĩa trong các Ontology này có thể giống nhau trongkhi chúng được dùng để mô tả các loại vật hoàn toàn khác nhau, và cũng có thể xảy ratrườ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óichung 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 Tên một số công cụ như: 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ộncá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 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 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ứcDun & 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ậthọc, UMLS trong lĩnh vực mạng ngữ nghĩa, GO (Gene Ontology), WordNet (đại họcPrinceton)

6 Liệt kê các thuật ngữ quan trọng trong Ontology

Đây là bước rất hữu ích, làm tiền đề cho hai bước tiếp theo là xây dựng cấu trúclớp phân cấp và định nghĩa các thuộc tính cho lớp Công đoạn này bắt đầu bằng việc liệt

kê tất cả các thuật ngữ xuất hiện trong miền quan tâm (có thể đồng nghĩa hoặc chồngnhau)như tên khái niệm, quan hệ, thuộc tính Thông thường, các thuật ngữ là danh từ sẽtrở thành các lớp, tính từ sẽ trở thành thuộc tính, còn động từ sẽ là quan hệ giữa các lớp

7 Xây dựng các lớp và cấu trúc lớp phân cấp

Đây là một trong hai bước quan trọng nhất của công việc xây dựng mộtOntology Nhiệm vụ của bước này là định nghĩa các lớp từ một số thuật ngữ đã liệt kêtrong bước trên, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệ lớp cha-lớp con

Trang 15

Lớp ở vị trí càng cao sẽ có mức độ tổng quát càng cao Vị trí đầu tiên thuộc về lớp gốc,tiếp theo là các lớp trung gian, và cuối cùng là lớp lá Lớp lá là lớp không thể triển khaiđược nữa và chỉ được biểu hiện bằng các thực thể.

Quan hệ giữa thực thể của lớp con với lớp cha là quan hệ “is-a”, nghĩa là mộtthực thể của lớp con cũng “là-một” thực thể của lớp cha Có nhiều hướng tiếp cận khácnhau cho vấn đề xây dựng cấu trúc lớp phân cấp Có thể kể ra ba hướng như sau:

Hướng xây dựng từ trên xuống (top-down): bắt đầu bằng các lớp có mức độ

tổng quát cao nhất, sau đó triển khai dần đến lớp lá

Hướng xây dựng từ dưới lên (bottom-up): ngược với hướng xây dựng cấu trúc

lớp phân cấp từ trên xuống, hướng này bắt đầu bằng việc xác định các lớpđược cho là cụ thể nhất, sau đó tổng quát hóa đến khi được lớp gốc

Cách kết hợp (combination): cách này kết hợp cả hai hướng xây dựng trên.

Đầu tiên chọn các lớp nổi bật nhất trong lĩnh vực quan tâm, sau đó tổng quáthóa và cụ thể hóa cho đến khi được cấu trúc mong muốn

8 Định nghĩa các thuộc tính và quan hệ cho lớp

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ớinhau 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ácthô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ânbiệt với các lớp khác Thuộc tính được chia làm nhiều loại khác nhau:

• Về mặt ý nghĩa, các thuộc tính có thể được chia làm hai loại: thuộc tính bêntrong (intrinsic property) và thuộc tính bên ngoài (extrinsic property) Thuộctí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

• Về mặt giá trị, các thuộc tính cũng được chia làm hai loại: thuộc tính đơn(simple property) và thuộc tính phức (complex property) Thuộc tính đơn là

Trang 16

các giá trị đơn ví dụ: chuỗi, số còn thuộc tính phức có thể chứa hoặc thamkhả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ácthuộ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 địnhnghĩ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

9 Định nghĩa các thuộc tính và quan hệ cho 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 quantrọng nhất đối với một thuộc tính là số yếu tố (cardinality) và kiểu (type) Ràng buộc sốyếu tố 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àngbuộ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 số yếu tố 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ựcthể 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ựcthể Lấy ví dụ, lớp động vật trong hình sau có thuộc tính “loại thức ăn” thuộc kiểu thựcthể (cỏ cây, côn trùng ) Lúc này, miền của loại thức ăn là động vật, sinh vật Cònkhoảng của nó chính là lớp cỏ, cây

10 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ệcchí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 Ngôn ngữ Ontology

Ngôn ngữ Ontology (Ontology languages) là ngôn ngữ hình thức được sử dụng

để xây dựng Ontology Nó cho phép việc mã hóa tri thức trong một lĩnh vực cụ thể vàthường bao gồm các quy tắc suy luận cung cấp cho việc xử lý các yêu cầu dựa trên trithức đó Ngôn ngữ Ontology thường là ngôn ngữ khai báo, và hầu hết là những sự tổng

Trang 17

hợp của ngôn ngữ cấu trúc, và thường được xây dựng dựa trên Logic thủ tục (First-OrderLogic)hoặc dựa trên Logic mô tả (Description Logic) Có rất nhiều ngôn ngữ Ontology

đã được thiết kế và đưa ra tuân theo sự tiêu chuẩn hóa, ta sẽ tìm hiểu một số ngôn ngữOntology thông dụng nhất trong ngữ cảnh của Web ngữ nghĩa và biểu diễn tri thức hiệnnay

1 RDF (Resource Description Framework)

Tổng quan:

RDF là nền tảng cho việc biểu diễn dữ liệu trong lĩnh vực Web ngữ nghĩa Thôngtin biểu diễn theo mô hình RDF là một phát biểu (statement)ở dạng cấu trúc bộ ba gồm

ba thành phần cơ bản là: subject, predicate, object Trong đó:

 Subject chỉ đối tượng đang được mô tả đóng vai trò là chủ thể

 Predicate (còn được gọi là property) là kiểu thuộc tính hay quan hệ

 Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu Object có thể làmột giá trị nguyên thủy như số nguyên, chuỗi hoặc cũng có thể là một tàinguyên

Ví dụ:

Hình: Object có thể là tài nguyên hoặc giá trị nguyên thủy, nhưng subject và predicate thì bắt

buộc phải là các tài nguyên

Đây là phát biểu mô tả một chủ thể person-1 có kiểu thuộc tính name với giá trị là

An Phát biểu có thể được tạm hiểu là: person-1 có tên An Có thể liệt kê một số ưu điểmcủa việc lưu trữ dữ liệu RDF so với dữ liệu truyền thống là:

Trang 18

 Tổ chức dữ liệu đơn giản, đồng nhất nên thông tin dễ dàng thêm bớt chỉnhsửa

 Cấu trúc bộ ba giúp cho thông tin dễ truy xuất bởi các hệ thống suy luận, tìmkiếm ngữ nghĩa Cũng nhờ vậy mà những bộ xử lí RDF có thể suy luận ranhững thông tin mới không có trong hệ dữ liệu

 Chia sẻ dữ liệu trên mạng dễ dàng nhờ sự đồng nhất

Chia sẽ dữ liệu RDF:

Mô hình RDF thể hiện được nhiều ưu điểm trong việc biễu diễn thông tin Chính

vì vậy cần phải có một cách thức chung để truyền tải dữ liệu RDF trên internet Đó làRDF/XML syntax do W3C đưa ra năm 1999 Đây là một ngôn ngữ dựa trên XML, nóbao gồm một tập các quy tắc và từ vựng để hỗ trợ cho biễu diễn thông tin RDF

RDF/XML syntax: RDF/XML có thể gây khó khăn cho người học bởi vì nó có

thể có nhiều cách khi cùng biểu diễn một phát biểu, và một phần là do URI (UniformResource Identifier) dùng để định danh cho một tài nguyên thì tương đối dài và khó đọc,khó viết.Tuy nhiên vấn đề này có thể được xử lí bằng cách dùng XML namespace

Khai báo namespace: việc sử dụng namespace giúp cho tài liệu RDF ngắn gọn

và dễ đọc hơn đối với người thiết kế Chẳng hạn như ta có một địa chỉ là

“http://www.semantic.vn/2009/01/rdf-syntax-ns#”

Nếu ta gán nó cho một namespace, ví dụ như xmlns: rdf, thì từ nay về sau ta chỉviệc dùng rdf: phone thay cho “http://www.semantic.vn/2009/01/rdf-syntax-ns#phone”

Định danh một chủ thể: Chúng ta dùng cú pháp sau để biểu diễn một bộ ba

{subject, predicate, object}, ví dụ: {person-1, name, An} {person-1, phone, 0909213456}

Và biểu diễn ví dụ trên trong tài liệu RDF :

<rdf :RDF xmlns:rdf=„http://www.semantic.vn/2009/01/rdf-syntax-ns#‟>

<rdf :Description rdf:about= „#person-1‟>

<rdf :Name rdf:literal= „An‟>

<rdf :Phone rdf:literal= „0909213456‟>

Trang 19

</rdf :Description>

</rdf :RDF>

Thuộc tính rdf: about dùng để chỉ định URI của một resource, còn #person-1 cho

ta biết rằng person-1 đã được khai báo trong cùng tài liệu này (trong ví dụ trên chúng takhông chỉ ra person-1 đã được khai báo ở đâu) Nếu person-1 không được khai báo thìchúng ta phải đưa URI của nó vào để sử dụng hoặc là dùng namespace để đại diện choURI đó Chúng ta dùng thuộc tính rdf :ID để gán định danh cho một tài nguyên :

<rdf :Description rdf :ID= “person-1”>

<rdf:type rdf 1”/>

:resource=“http://www.semantic.vn/2009/01/rdf-syntax-ns#person-</rdf :Description>

Ở đây, tài nguyên http://www.semantic.vn/2009/01/rdf-syntax-ns#person-1 đãđược định danh bởi person-1 Thuộc tính ID giúp cho chúng ta sử dụng tài nguyênperson-1 mà không phải dùng lại URI của nó dài dòng mà phức tạp

Trang 20

Hình: So sánh giữa RDF và RDFS

Trong hình vẽ chúng ta thấy, ở tầng RDF chỉ biểu diễn được thông tin ở dạng bộ

ba Đến tầng RDFS, thông tin đã được phân loại rõ ràng Chẳng hạn như Quan ThanhTho có kiểu là Lecturer và Lecturer là lớp con của Academic Staff…

Các lớp và thuộc tính trong RDF/RDFS:

 RDF/RDFS định nghĩa 13 lớp cơ bản:

rdfs :Resource (Chỉ định đây là một tài nguyên)

rdfs :Class (Dùng để khởi tạo một lớp)

rdfs :Literal (Lớp các giá trị nguyên thủy: chuỗi, số nguyên…)

Trang 21

rdf :Statement (Cho biết tài nguyên thuộc lớp này là một phát biểu-statement) rdf :Bag

rdf :type (Xác định kiểu cho một tài nguyên)

rdfs :subClassOf (Cho biết là „lớp con của‟)

rdfs:subPropertyOf („Thuộc tính con của‟ thuộc tính)

rdfs:domain (Chỉ định vùng)

rdfs :range (Chỉ định tầm vực)

rdfs:label (Gán nhãn cho một tài nguyên)

rdfs:comment (Chú thích)

rdf :member (Thành viên của một lớp chứa - container)

rdf :first (Phần tử đầu tiên trong một danh sách RDF)

rdf :rest (Danh sách các phần tử còn lại)

rdfs :seeAlso (Các thông tin bổ sung)

rdfs :isDefinedBy (Được định nghĩa bởi)

rdf :value (Gán một giá trị nào đó cho chủ thể)

rdf :subject (Chủ thể của một phát biểu)

rdf :predicate (Thuộc tính của một phát biểu)

rdf :object (Giá trị thuộc tính của một phát biểu)

Với những lớp và thuộc tính được liệt kê trên đây, RDF/RDFS đủ mạnh để xâydựng các Ontology Tuy nhiên bản thân nó còn chứa đựng nhiều hạn chế như là chưa hỗtrợ tốt về mặt suy luận, cũng như chưa có ràng buộc về kiểu và số yếu tố mà các ngônngữ thế hệ sau sẽ khắc phục (chúng ta sẽ bàn về điều này trong phần OWL)

Trang 22

Các lớp và thuộc tính thường dùng trong RDF/RDFS chủ yếu là: Resource, Class,Property, type, label, subClassOf, subPropertyOf, domain, và range Trong đó domain làmiền tài nguyên sử dụng thuộc tính đó, còn range là phạm vi giá trị có thể gán cho thuộctính đó Ví dụ ta có lớp thuộc tính là hasChild thì domain của hasChild là lớp Person, cònrange là lớp số nguyên dương chẳng hạn (số con từ 1 trở lên).

12 OWL (Ontology Web Language)

OWL là ngôn ngữ ontology khá mạnh, nó ra đời sau RDFS nên biết kế thừanhững lợi thế của ngôn ngữ này đồng thời bổ sung thêm nhiều yếu tố giúp khắc phụcđược những hạn chế của RDFS OWL giúp tăng thêm yếu tố logic cho thông tin và khảnăng phân loại, ràng buộc kiểu cũng như số yếu tố tương đối mạnh

Ta hãy tìm hiểu sơ qua các lớp và thuộc tính của OWL để thấy được những ưuđiểm của OWL so với RDFS

Classes Properties

owl:AllDifferent owl:allValuesFrom owl:TransitiveProperty owl:Class owl:backwardCompatibleWith owl:inverseOf

owl:DataRange owl:cardinality owl:maxCardinality

owl:DataTypeProperty owl:complementOf owl:minCardinality

owl:DeprecatedProperty owl:distinctMembers owl:oneOf

owl:DeprecatedClass owl:differentFrom owl:onProperty

owl:FunctionalProperty wl:disjointWith owl:priorVersion

owl:InverseFunctionalProperty owl:equivalentClass owl:sameAs

owl:Nothing owl:equivalentProperty owl:sameIndividualAs owl:ObjectProperty owl:hasValue owl:someValuesFrom

owl:Ontology owl:imports owl:subClassOf

owl:Restriction owl:incompatiblewith owl:unionOf

owl:SymmetricProperty owl:intersectionOf owl:versionInfo

Trong OWL có thêm một số thuộc tính hỗ trợ suy luận và ràng buộc

• Hỗ trợ suy luận:

o Tính chất bắt cầu:

Nếu như chúng ta có một lớp thuộc tính “contain” và gán cho nó thuộc tính

owl:transitivePropertive thì thuộc tính “contain” này sẽ có tính chất bắt cầu.

Giả sử ta có thông tin A contain B và B contain C, thì hệ thống sẽ tự suy luận ra

Trang 23

một thông tin khác là A contain C, và đây là biểu diễn thuộc tính contain trongOWL:

{

owl:TransitiveProperty {rdf:ID,"contain"}

owl :Class {rdf :about, #Man}

{owl :disjointWith, #Woman}

Trang 24

• Cho phép giới hạn các kiểu dữ liệu được định nghĩa trong XML Schema hay bởingười dùng Trong DAML, một thuộc tính có thể nhận giá trị trên nhiều khoảngkhác nhau, tạo nên tính uyển chuyển trong việc mô tả dữ liệu

• Cho phép định nghĩa thuộc tính unique để xác định các đối tượng

• Cho phép mô tả các quan hệ như hoán đổi và bắc cầu

DAML sau đó tiếp tục trở thành nền tảng cho một ngôn ngữ Ontology khác làOWL DAML về cơ bản rất giống với OWL (ngoại trừ tên một số ít thuật ngữ, cú phápđược sửa đổi), tuy nhiên khả năng mô tả các ràng buộc kém hơn Theo thống kê, đã cókhoảng 5 triệu phát biểu DAML từ hơn 20.000 Website trên Internet vào năm 2002

VI Công cụ phát triển Ontology

Về lý thuyết, người xây dựng và phát triển Ontology có thể không cần các công

cụ hỗ trợ, có thể thực hiện trực tiếp bằng các ngôn ngữ Tuy nhiên, sẽ không khả thi khiOntology có kích thước lớn và cấu trúc phức tạp Thêm vào đó, việc xây dựng và pháttriển Ontology không chỉ đòi hỏi việc tạo cấu trúc lớp phân cấp, định nghĩa các thuộctính, ràng buộc mà còn bao hàm việc giải quyết các bài toán liên quan trên nó Có rấtnhiều bài toán liên quan đến một hệ thống Ontology như:

• Trộn hai hay nhiều Ontology

• Chuẩn đoán và phát hiện lỗi

• Kiểm tra tính đúng đắn và đầy đủ

Trang 25

• Ánh xạ qua lại giữa các Ontology

• Suy luận trên Ontology

• Sao lưu và phục hồi một Ontology

• Xóa, sửa và tinh chỉnh các thành phần bên trong Ontology

• Tách biệt Ontology với ngôn ngữ sử dụng (DAML, OWL )

Những khó khăn trên đã khiến các công cụ trở thành một thành phần không thểthiếu, quyết định đến chất lượng của một hệ thống Ontology Hiện có rất nhiều công cụ

có khả năng hỗ trợ người thiết kế giải quyết những bài toán liên quan Có thể kể ra một

số như: Sesame , Protégé , Ontolingua , Chimaera , OntoEdit , OidEd , Apollo , RDFedt ,WebODE , KAON , ICOM , DOE , WebOnto Chúng ta sẽ tìm hiểu một số công cụ phổbiến nhất

1 Protégé

Protégé là bộ phần mềm mã nguồn mở Java nổi tiếng Protégé được nghiên cứu

và phát triển từ năm 1998 bởi nhóm nghiên cứu của Mark Musen, ĐH Stanford nhằmquản lý các thông tin trong lĩnh vực sinh y học Đây là dự án được nhận được sự quantâm và tài trợ từ rất nhiều tổ chức, trong đó có Bộ Quốc Phòng Mỹ Mã nguồn Protégé có

http://smi-protege.stanford.edu/repos/protege/owl/trunk/src/edu/stanford/smi/

Các ưu điểm của Protégé là:

• Hỗ trợ đầy đủ ba phiên bản của ngôn ngữ OWL là OWL-Full, OWL-Lite vàOWL-DL

• Nhờ sử dụng mô hình hướng đối tượng của ngôn ngữ Java, Protégé tỏ ra rất hiệuquả trong việc mô hình các lớp, thực thể, quan hệ

• Giao diện thiết kế trực quan có tính tương tác cao Người sử dụng có thể địnhnghĩa các thành phần của Ontology trực tiếp từ các form

• Cho phép biểu diễn trực quan Ontology dưới dạng các sơ đồ

• Cho phép xây dựng Ontology từ nhiều nguồn khác nhau

Ngày đăng: 19/05/2015, 02:03

HÌNH ẢNH LIÊN QUAN

Hình 2.3 cho thấy sự mở rộng của ontology trong Hình 2.2 với một nhóm thể hiện. - Tiểu luận môn biểu diễn tri thức và suy luận NGHIÊN CỨU VỀ ONTOLOGY VÀ BÀI TOÁN ZEBRA PUZZLE
Hình 2.3 cho thấy sự mở rộng của ontology trong Hình 2.2 với một nhóm thể hiện (Trang 31)
Hình trên cho  thấy  đồ thị ontology PO sử dụng lại đồ thị ontology BO. Các khái niệm “Research Project” và “Industrial Project”, được thêm vào trong ontology PO. - Tiểu luận môn biểu diễn tri thức và suy luận NGHIÊN CỨU VỀ ONTOLOGY VÀ BÀI TOÁN ZEBRA PUZZLE
Hình tr ên cho thấy đồ thị ontology PO sử dụng lại đồ thị ontology BO. Các khái niệm “Research Project” và “Industrial Project”, được thêm vào trong ontology PO (Trang 32)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w