Ngôn ngữ SHOIN(D)

Một phần của tài liệu Logic mô tả ứng dụng trong web ngữ nghĩa (Trang 60 - 83)

Ngôn ngữ SHOIN(D) là một ngôn ngữ logic mô tả có khả năng diễn tả cao và nó là cơ sở logic nòng cốt cho ngôn ngữ OWL DL được trình bày ở 3.3. Ngôn ngữ SHOIN(D) là một mở rộng của ngôn ngữ S đã trình bày ở chương 1. SHOIN(D) mở rộng với: H- là tiên đề bao hàm quan hệ, O- kí hiệu cho các cá thể trong bộ thuật ngữ (TBox), I- kí hiệu cho quan hệ ngược, N- kí hiệu cho lượng từ số tuyệt đối, D miền dữ liệu cụ thể như integer, string, ... Trước khi nghiên cứu cú pháp và ngữ nghĩa của logic mô tả này ta xem xét khái niệm về miền cụ thể.

3.2.1. Miền cụ thể

SHOIN(D) cho phép lập luận với các kiểu dữ liệu cụ thể, như các kiểu string, integer được gọi là miền cụ thể. Một miền cụ thể được định nghĩa như sau:

Định nghĩa 3.1. Một miền cụ thể D bao gồm một cặp (D ,D), trong đó D là miền dịch của D và D là tập các vị từ của miền cụ thể với tiền định nghĩa n ngôi và một diễn dịch pD Dn

.

Cho V là tập các biến. Một phép giao vị từ có dạng:

Trong đó, pj là vị từ nj ngôi và vi

(j)

là các biến thuộc V, được gọi là thoả nếu tồn tại một hàm  ánh xạ các biến trong c thành giá trị dữ liệu trong D,

((v1(j)), ... ,(vnj(j)))pjD với 1  j  k, khi đó  được gọi là một giải pháp cho c.

Một miền D được gọi là có thể chấp nhận được nếu:

1) D chứa TD đối với D và nếu pD thì pD và

2) Bài toán thoả cho các phép giao hữu hạn của các vị từ là có thể quyết định được.

Trong đó, p là kí hiệu cho vị từ phủ định của p nghĩa là nếu p có n ngôi thì khi đó ta có pD =D

n \ pD.

Ví dụ 3.2 : Cho miền N=(N ,N), trong đó N là tập các số nguyên không âm và N = {, n} (trong đó:  là vị từ hai ngôi còn  n là vị từ một ngôi). N là không thể chấp nhận được do không thoả mãn điều kiện 1 trên. Để N trở thành có thể chấp nhận được thì N phải được mở rộng thành {TN, N}  {<,

, n, < n }. N là chấp nhận vì tồn tại thời gian đa thức để quyết định bài toán thoả của giao vị từ trên N.

3.2.2. Cú pháp

Cho C, Ra, Rc, Ia, Ic là những tập phân biệt từng đôi và hữu hạn, không rỗng của các khái niệm, các quan hệ trừu tượng, các quan hệ cụ thể, các cá thể trừu tượng và các cá thể cụ thể.

Một quan hệ trừu tượng S có quan hệ ngược của nó cũng là một quan hệ trừu tượng, ta kí hiệu là S-

(các quan hệ cụ thể không có quan hệ ngược). Một quan hệ không có các quan hệ con bắc cầu thì được gọi là quan hệ đơn giản.

CТ |  | A | C1⊓C2 | C1⊔C2 | C | R.C | R.C |  nS |  nS | {a1, a2, ... an} |  nT |  nT | T1, T2, ... . Tn.D |

T1, T2, ... . Tn.D. D  d | { c1, c2, ... . cn }

Trong đó, A là khái niệm nguyên thuỷ, R là quan hệ trừu tượng, S là quan hệ trừu tượng đơn giản, Ti là các quan hệ cụ thể, d là vị từ miền cụ thể, ai và là các cá thể trừu tượng và ci là các cá thể cụ thể, n là một số tự nhiên.

Một cách trực quan hơn, chúng ta có thể xem trong Bảng 3.1

Cơ sở tri thức của SHOIN(D)

Một TBox của SHOIN(D) gồm một tập hữu hạn các tiên đề bao hàm khái niệm C D và các tương đương khái niệm C  D thay cho C DD

C, trong đó C, D là các khái niệm.

Một RBox bao gồm một tập hữu hạn các tiên đề bắc cầu Trans(R) và các tiên đề bao hàm quan hệ có dạng RSTU, trong đó R, S là các quan hệ trừu tượng, T, U là các quan hệ cụ thể.

Một ABox bao gồm một tập hữu hạn các tiên đề khẳng định khái niệm, quan hệ và các tiên đề tương đương hoặc không tương đương cá thể:

a: C ; <a, b> : R hay <a, c>: T ; a  b a  b (hoặc kí hiệu: C(a), R(a, b), T(a, c), a  b a  b tương ứng)

Một cơ sở tri thức của SHOIN(D) là =<T, R, A>, trong đó T là TBox, R là RBox và A là ABox đã được chỉ ra ở Bảng 3.2.

Khái niệm A L C Nguyên thuỷ A Phủ định  C Giao C1⊓ C2 Hợp C1⊔ C2 Tồn tại  R.C Với mọi R.C Q (N ) Lớn hơn hoặc bằng  n S.C ( n S) Nhỏ hơn hoặc bằng  n S.C ( n S) O Cá thể trừu tượng {a1, a2, ... , an } Quan hệ Nguyên thuỷ R - ( I) Ngược R- Bảng 3.1. Cú pháp ngôn ngữ SHOIN(D)

Bảng 3.2. Cơ sở tri thức của SHOIN(D)

3.2.3. Ngữ nghĩa

Một diễn dịch I đối với một miền cụ thể D là một cặp I=(I

, .I) bao gồm tập không rỗng I

(được gọi là miền), độc lập với D và một hàm dịch .I mà nó ánh xạ mỗi khái niệm nguyên thuỷ A thành một tập AI I, mỗi quan hệ R Ra thành một tập con RI I  I, mỗi a  Ia thành một phần tử aI  I

, mỗi c  Ic là một phần tử trong D, mỗi TRc thành một tập con TI I  D

và mỗi vị từ cụ thể n ngôi d thành dDD n

.

Ánh xạ .I được mở rộng cho các khái niệm và các quan hệ phức như sau:

Cơ sở tri thức

Các tiên đề khái niệm (TBox)

Bao hàm C ⊐ D

Tương đương C  D

Các tiên đề quan hệ (RBox)

H Bao hàm R ⊐ S, T ⊐ U

S Bắc cầu Trans(R)

Các tiên đề khẳng định (ABox)

Cá thể C(a)

Quan hệ R(a, b), T(a, c) Tương đương a  b

Cú pháp Ngữ nghĩa Т I   A AI I C I \ CI C⊓D CI  DI C⊔D CI  DI R.C {xI |y.<x,y>  RI yCI} R.C {xI | y.<x,y>  RI  yCI} R- {<y,x> | <x,y>  RI}  n S {xI |(# y.<x,y>  RI)  n}  n S {xI |(# y.<x,y>  RI)  n} {a1, a2, ... , an} {a 1 I , a2I, ... , anI}I (T1, T2, ... , Tn.d) {xI | [T1 I (x)  ...  Tn I (x)]dD } Bảng 3.3. Ngữ nghĩa của các khái niệm SHOIN(D)

Ngữ nghĩa của cơ sở tri thức

Thoả một tiên đề E trong một diễn dịch I=(I

, .I) kí hiệu là I |= E được định nghĩa như sau:

I | = (a, b) : R nếu <aI, bI>  RI I | = (a, b) : T nếu <aI, bI>  TI

I | = a  b nếu aI  bI

Một quan hệ đơn giản trừu tượng S được coi là có tính chất hàm nếu diễn dịch của quan hệ S đó luôn là hàm. Một quan hệ hàm S có thể luôn luôn đạt được từ một quan hệ trừu tượng bằng tiên đề Т⊐ ( 1S). Do vậy, khi ta nói một quan hệ là hàm, chúng ta giả định Т⊐ ( 1S) ở trong một ABox.

Đối với một tập các tiên đề , ta nói rằng I thoả  nếu I thoả từng tiên đề của , khi đó ta có kí hiệu I | = , khi đó ta nói I là mô hình của .

I là thoả một cơ sở tri thức =<T, R, A>, kí hiệu là I | = , nếu I là mô hình của T, R và A.

Một tiên đề E là hệ quả logic của cơ sở tri thức , kí hiệu là  | = E, nếu mọi mô hình của  đều thoả E.

3.3. Ngôn ngữ OWL DL

Ngôn ngữ OWL hỗ trợ máy có thể hiểu được tài nguyên dễ hơn so với sự hỗ trợ của RDFS, do có khả năng cung cấp các mô tả lớp và thuộc tính (bộ từ vựng) và các tiên đề mới (các ràng buộc) cùng với ngữ nghĩa hình thức. Các mô tả lớp, thuộc tính và các tiên đề của OWL thì rất giống với các mô tả lớp, các thuộc tính và các tiên đề của DAML+OIL, mà DAML+OIL tương đương với logic mô tả SHOIQ(D+), trong đó D+

kí hiệu cho các kiểu dữ liệu với các vị từ khác nhau. Trên thực tế, nhóm xây dựng Ontology Web phát biểu rằng việc thiết kế OWL là dựa trên DAML+OIL.

OWL có ba ngôn ngữ con có khả năng biểu diễn tăng dần tương ứng là: OWL Lite, OWL DL, OWL Full như đã giới thiệu ở 2.3. Chúng ta biết rằng

SHIF(D) và SHOIN(D). Do vậy, chúng có thể khai thác các nghiên cứu logic mô tả hiện có, ví dụ như các ngữ nghĩa hoàn toàn xác định và các thuộc tính hình thức đã được nghiên cứu có kết quả tốt, đặc biệt là khả năng quyết định và sự phức tạp của các dịch vụ lập luận cơ sở. OWL Lite và OWL DL là có thể quyết định được. OWL Lite là ngôn ngữ con của OWL DL, nên ở đây chúng ta tập trung với ngôn ngữ OWL DL. Chúng ta không tập trung vào OWL Full, mặc dù khả năng biểu diễn của nó là cao hơn song nó là không thể quyết định và nó không có cơ sở dựa trên logic mô tả.

3.3.1. Cú pháp

OWL DL cung cấp một cú pháp trừu tượng và một cú pháp RDF/XML cũng như ánh xạ từ cú pháp trừu tượng sang cú pháp RDF/XML.

Về khái quát, cú pháp trừu tượng bị ảnh hưởng nhiều bởi các frame và bởi thiết kế của OIL trong trường hợp riêng. Một Ontology OWL trong cú pháp trừu tượng có thể chứa lần lượt các chú thích, các tiên đề và các sự kiện (nghĩa là các tiên đề cá thể). Cú pháp trừu tượng cho các mô tả lớp, thuộc tính và các tiên đề (tương ứng với cú pháp của logic mô tả) được liệt kê trong các bảng 3.4, 3.5 và 3.6.

Cú pháp trừu tượng Cú pháp DL Ngữ nghĩa

ObjectProperty(R) R RI I I

ObjectProperty(S inverseOf(R)) R- (R-)I  I I

Cú pháp trừu tượng Cú pháp DL Ngữ nghĩa Class(A) Class(owl:Thing) Class(owl:Nothing) A Т  AI I Т I =I  I = intersectionOf(C1, C2, ...) C1⊓C2 (C1⊓C2)I = C1I C2 I unionOf(C1, C2, ...) C1⊔C2 (C1⊔C2)I = C1I C2 I complementOf(C) C (C)I = I\ C I oneOf(o1, o2, ...) {o1}⊔{o2} ({o1}⊔{o2})I = {o1I, o2I} restriction(R someValuesFrom(C)) restriction(R allValuesFrom(C)) restriction(R hasValue({o})) restriction(R minCardinality(m)) restriction(R maxCardinality(m)) R.C R.C R.{o}  mR  mR {xI | y.<x,y>  RI  yCI} {xI |y.<x,y>  RI yCI} (R.{o})I=(xI| <x, oI>RI) {xI |(# y.<x,y>  RI)  m} {xI |(# y.<x,y>  RI)  m}

Bảng 3.5. Các mô tả thuộc tính lớp OWL

Cú pháp trừu tượng Cú pháp DL Ngữ nghĩa

Class(A partial C1 ... Cn) A ⊐ C1⊓...⊓Cn AI C1I ... Cn I Class(A complete C1 ... Cn) A  C1⊓...⊓Cn AI= C1I ... Cn I EnumeratedClass(A o1 ... on) A  {o1}⊓...⊓{o}n AI= {o1I, ...,on I} SubClassOf(C1,C2) C1 ⊐ C2 C1I C2I EquivalentClasses(C1...Cn) C1...Cn C1I = ... = CnI DisjointClasses(C1 ...Cn) Ci⊐Cj, (1i<jn) CiI  CjI = (1i<jn) SubPropertyOf(R1, R2) R1 ⊐ R2 R1I R2I EquivalentProperties(R1... Rn) R1...Rn R1I = ... = RnI

ObjectProperty(R super(R1)...super(Rn) domain(C1)... domain(Ck) range(C1) ... range(Ch) [Symmetric] [Functional] R⊐ Ri 1R ⊐ Ci Т⊐R.Ci RR- RI RiI RI  CiI I RI I CiI RI =(R-)I  I 

Trans(R) RI =(R I)+

AnnotationPropety(R)

Individual(o type(C1) ... type(Cn) value(R1,o1)... value(Rn,on)) o:Ci, 1 i n <o,oi>:Ri, 1 i n oICiI, 1 i n <oI,oiI>RiI, 1 i n SameIndividual(o1 ...on) o1 = ... = on o1I= ... = onI

DifferentIndividuals(o1 ...on) oioj,1i<jn oiIojI,1i<jn

Bảng 3.6. Các tiên đề và các sự kiện của OWL

Bảng 3.7 trình bày một phần của Ontology "Dongvat" trong cú pháp trừu tượng OWL. Lưu ý rằng OWL không cung cấp kiểu dữ liệu lựa chọn như >20, nên khái niệm Voitruongthanh không được biểu diễn trong OWL.

Bảng 3.7. Một Ontology ví dụ trong cú pháp trừu tượng của OWL DL

Namespace(elp=<http://example.org/Animal#>) Ontology(elp:Ontology

Class(elp:Dongvat) Class(elp:Thucvat)

Class(elp:Bo partial exp:Dongvat elp:DongvatchianThucvat ) Class(elp:Cuu partial exp:Dongvat elp:DongvatchianThucvat ) Class(elp:Voi partial exp:Dongvat elp:DongvatchianThucvat

restriction(elp:songo someValuesFrom(elp: Moitruongsong))) Class(elp:Moitruongsong)

Class(elp:DongvatanThit)

Class(elp:DongvatchianThucvat Complete elp: Dongvat

restriction(elp:eat allValuesFrom(

unionOf (elp:Thucvat restriction(elp:motphancua

someValueFrom(elp:Thucvat)))))) ObjectProperty(elp:motphancua Transitive)

ObjectProperty(elp:an) ObjectProperty(elp:songo)

DisjointClasses(elp:DongvatchianThucvat DongvatanThit) Individual(elp: Ganesh type(elp:Voi)

value(elp:songo Individual(elp:Nam-Sahara type(elp:Moitruongsong)))) )

Cú pháp OWL RDF/XML là một biến thể của cú pháp OWL DL. RDF thì có quá ít lượng từ để cung cấp cho OWL một cú pháp tốt. Tuy nhiên, dạng cú pháp RDF/XML của một Ontology OWL DL thì lại có giá trị, nếu nó có thể được dịch (theo ánh xạ luật) từ dạng cú pháp trừu tượng của Ontology.

3.3.2. Ngữ nghĩa

Vì OWL DL có cơ sở là logic mô tả, các ngữ nghĩa lý thuyết mô hình của nó thì rất giống với các ngữ nghĩa đã cung cấp cho logic mô tả, ngoại trừ các kí hiệu cho các lớp và các thuộc tính trong OWL DL. Bảng 3.1, 3.2, 3.3 cũng chỉ ra ngữ nghĩa của các mô tả thuộc tính đối tượng, các mô tả khái niệm, cũng như các tiên đề OWL DL và các công việc tương ứng.

3.5. Tổng kết chương

Chương này giới thiệu ngôn ngữ OWL DL là ngôn ngữ biểu diễn Ontology. Ngôn ngữ này có cơ sở tương ứng với logic mô tả SHOIN(D). Trong chương này cũng trình bày về cú pháp và ngữ nghĩa của SHOIN trên miền cụ thể D. Cú pháp và ngữ nghĩa của OWL DL thực chất tương ứng là ngôn ngữ logic mô tả SHOIN(D). Ngôn ngữ OWL DL cho phép định nghĩa các Ontology, giúp xây dựng bộ từ vựng cho Web ngữ nghĩa, hỗ trợ chú thích ngữ nghĩa cho tài nguyên Web.

Chương 4 VÍ DỤ MINH HOẠ

Chương này đưa ra một ví dụ về xây dựng Ontology biểu diễn trên cơ sở logic mô tả và sự hỗ trợ của khả năng lập luận của DL cho quá trình xây dựng, duy trì và phát triển với sự trợ giúp của hai công cụ phát triển là Protégé và Racer.

4.1. Giới thiệu về công cụ PROTÉGÉ và bộ lập luận RACER 1.4.1. PROTÉGÉ

Protégé là một một công cụ mã nguồn mở Java được phát triển tại khoa tin học y học Stanford. Nó có một cộng đồng hàng nghìn người sử dụng. Mặc dù phát triển của Protégé có mục đích ban đầu cho các ứng dụng sinh trắc học, nhưng hệ thống là độc lập và đã có rất nhiều miền ứng dụng khác nhau sử dụng sự hỗ trợ của công cụ này.

Protégé - OWL là một trong các công cụ chính trong Protégé, là một thư viện cho ngôn ngữ Web Ontology (OWL) và RDF(S). Nó cung cấp các lớp và các phương thức để nạp và ghi các tệp OWL, cung cấp khả năng xây dựng các mô hình dữ liệu OWL và thực hiện lập luận trên DL. Bên cạnh đó nó còn cung cấp một giao diện đồ hoạ trực quan, dễ sử dụng.

Cụ thể Protégé- OWL cung cấp các khả năng chính sau: - Soạn thảo các Ontology cho OWL

- Duy trì, phát triển và kiểm tra Ontology

Việc cung cấp khả năng soạn thảo Ontology của Protégé là trực quan, thân thiện. Nó cho phép soạn thảo các lớp khái niệm, các thuộc tính, các mô tả thuộc tính và các cá thể. Nó hỗ trợ xây dựng các thành phần của một Ontology rất nhanh và hiệu quả.

Sử dụng khả năng biểu diễn tri thức bằng DL, Protégé còn khả năng hỗ trợ lập luận dựa trên thuật toán quyết định của DL để kiểm tra tính thoả trong Ontology và hỗ trợ phân lớp khái niệm cũng như các thuộc tính trong Ontology. Cụ thể là sử dụng hai dịch vụ lập luận sau:

- Kiểm tra tính nhất quán (tính phi mâu thuẫn) trong Ontology xây dựng, khái niệm (lớp) nào được phát hiện có mâu thuẫn sẽ bị khoanh đỏ.

- Kiểm tra tính bao hàm của các khái niệm đã mô tả và đưa ra một tổ chức phân cấp mới logic, khoa học và chặt chẽ hơn. Đây chính là việc sử dụng dịch vụ lập luận của bài toán bao hàm trong DL. Protégé giúp phân cấp lại và trong quá trình phân cấp này có kết hợp kiểm tra tính thoả của các lớp. Nếu lớp nào phát hiện có mâu thuẫn thì cũng bị khoanh đỏ như trên.

Hai khả năng này, Protégé hỗ trợ giúp chúng ta có thể duy trì và phát triển Ontology với hàng triệu khái niệm và các quan hệ phức tạp mà khả năng tư duy của con người là khó kiểm soát được. Khả năng này hỗ trợ đắc lực cho việc đảm bảo chất lượng một Ontology xây dựng để phục vụ cho Web ngữ nghĩa, bộ từ vựng ngữ nghĩa cho các tài nguyên Web và cũng như trong một số lĩnh vực khác.

Bên cạnh đó, Protégé còn hỗ trợ truy vấn dữ liệu trong Ontology. Khả năng này dựa trên logic FOL, là cơ sở để dẫn đến ứng dụng cho việc khai thác Ontology trên Web ngữ nghĩa, và cũng chính là cơ sở để máy có thể hiểu được tài nguyên Web và có thể xử lý tự động.

1.4.2. Bộ lập luận RACER

RACER được viết tắt của "Renamed ABox and Concept Expression

Một phần của tài liệu Logic mô tả ứng dụng trong web ngữ nghĩa (Trang 60 - 83)