YAGO ( Yet Another Great Ontology)

Một phần của tài liệu TỔNG QUAN VỀ ONTOLOGY VÀ ỨNG DỤNG TRONG BIỂU DIỄN TRI THỨC (Trang 45)

III. Giới thiệu một ontology

1.YAGO ( Yet Another Great Ontology)

a. Giới thiệu

YAGO là một cơ sở tri thức ngữ nghĩa khổng lồ. Hiện tại, YAGO lưu trữ hơn 2 triệu thực thể về con người, tổ chức, thành phố, và khoảng 20 triệu sự kiện liên quan đến những thực thể này. Một giao diện web cho phép người dùng đưa ra những câu hỏi trong form truy vấn trên trang chủ YAGO. YAGO đang được phát triển tại MPII (Max Planck Institute for Computer Science). YAGO được tự động trích thông tin từ Wikipedia và sử dụng WordNet để cấu trúc lại thông tin.

Hình 1.1: Những người “đằng sau” YAGO

YAGO là sự kết hợp của số lượng nhiều và chất lượng cao. Phần thông tin lõi của YAGO được lấy từ Wikipedia, một trong những “từ điển” thông dụng ngày nay. Nhưng thay vì sử dụng ngôn ngữ tự nhiên trong các đoạn văn bản trên Wikipedia, YAGO có cách tiếp cận khác là xây dựng các Wikipedia infoboxes category page. Các Infoboxes là các bảng chuẩn hoá chứa các thông tin cơ bản về thực thề được biểu diễn trong các đoạn văn bản, tạo điều kiện dễ dàng hơn trong việc phân tích cú pháp và khai thác so với việc sử dụng text ngôn ngữ tự nhiên. Các Category page là danh sách các đoạn văn bản thuộc một Category cụ thể (ví dụ như Lam Trường thuộc Category Ca sĩ Việt Nam,…). Mặt khác, WordNet cung cấp một hệ thống cấp bậc được thu thập cẩn thận của hàng nghìn khái niệm. Tuy nhiên, các khái niệm Wikipedia hoàn toàn khác so với trong WordNet. Vì vậy, chúng ta cần có một phương pháp tốt nhất để thống nhất hoàn toàn giữa WordNet và

các sự kiện được lấy từ Wikipedia với độ chính xác thật cao (>95%). Điều này cho phép YAGO khai thác hiệu quả nhất từ các thực thể của Wikipedia và có được sự phân loại rõ ràng các khái niệm từ WordNet. Hiện Để có thể đạt được độ chính xác cao trong việc khai thác thông tin, YAGO sử dụng phương thức “kiểm tra loại” (type checking). Type checking dùng những thông tin đã rút ra để xác định sự tương tự của thông tin vừa được rút ra.

YAGO được giới thiệu lần đầu tiên trong bài báo Yago: A Core of Semantic Knowledge của các tác giả F. M. Suchanek, G. Kasneci, and G. Weikum. Bài báo này mở rộng công việc trước đây bằng việc thêm sự khai thác các infoboxes, giới thiệu những kỹ thuật kiểm soát hiệu quả và định nghĩa một ngôn ngữ truy vấn mới.

b. Mô hình của YAGO

Để tạo nền tảng cho những dữ liệu ontology đã rút ra và chuẩn bị cho sự mở rộng sau này, YAGO phải có một mô hình dữ liệu chặt chẽ và hợp lý. Mô hình này phải thể hiện được các thực thể, các sự kiện, các quan hệ giữa các sự kiện và thuộc tính của các quan hệ.

Mô tả thông thường

Trong OWL và RDFS, tất cả các đồi tượng được biểu diễn như những thực thể trong mô hình YAGO. Hai thực thể có thể cùng nằm trong một quan hệ. Ví dụ, Ronaldo đoạt giải cầu thủ xuất sắc nhất thế giới, ta nói thực thể Ronaldo nằm trong quan hệ đoạt giải với thực thể cầu thủ xuất sắc nhất thế giới. Chúng ta viết như sau:

Ronaldo đoạt giải Cầu thủ xuất sắc nhất thế giới.

Số, ngày, chuỗi và các loại dữ liệu chữ khác đều được thể hiện như những thực thề. Ví dụ, Ronaldo sinh năm 1985, ta viết:

Ronaldo sinh năm 1985.

Thực thể là những đối tượng thu gọn, dựa trên tư tưởng ngôn ngữ. Ngôn ngữ sử dụng các từ để quy định cho các thực thể này. Trong mô hình YAGO, các từ là các thực thể. Điều này giúp YAGO có thể diễn tả một từ nào đó quy định cho một thực thể nào đó, ví dụ:

Một tình huống có thể xảy ra là từ đồng nghĩa và từ có nhiều nghĩa. Ví dụ, từ Ronaldo có thể xác định là thực thể Ronaldo Luis, một cầu thủ khác:

“Ronaldo” Means Ronaldo Luis

Trong trường hợp này ta sẽ dùng những yếu tố khác để phân biệt các từ trong các thực thể khác nhau. Ở đây, 2 thực thể này đều thuộc 1 class là class Cầu thủ, nhưng lại khác nhau về Quốc tịch. Vì vậy, ta diễn tả sự khác nhau quan quan hệ Có Quốc tịch:

Christiano Ronaldo Có Quốc tịch Bồ Đào Nha

Các class cũng là các thực thể, một class cũng có thể là con của một class khác, và các class được sắp xếp thành một hệ thống có cấp bậc.

Trong mô hình YAGO, quan hệ cũng là những thực thể. Điều này tạo thuận lợi cho việc diễn tả thuộc tính của quan hệ bên trong mô hình.

Trong YAGO, bộ 3 gồm một thực thể, một quan hệ và một thực thể khác được gọi là một sự kiện. Mỗi sự kiện có có nhận dạng riêng. Giống như RDFS, mô hình YAGO xem các nhận dạng sự kiện là các thực thể. Điểu này cho phép chúng ta thể hiện một sự kiện nào đó được lấy từ một nguồn nào đó. Ví dụ, từ sự kiện (Ronaldo sinh năm 1985) có nhận dạng sự kiện là #1, sau đó ta có sự kiện (#1 tìm thấy ở Wikipedia) để xác định sự kiện là được lấy từ Wikipedia.

Những thực thể không là sự kiện cũng không là quan hệ được xem là nhựng thực thể phổ biến. Các thực thể này không phải là các class mà là các cá thể (individual). Nhìn chung, một YAGO ontology là một phương thức cơ bản sắp xếp, liên kết các nhận dạng sự kiện với các bộ ba sự kiện.

Các “đồ thị mô hình hoá khái niệm” (reification graph)

Một Reification graph gồm :

o Một tập node N. Trong YAGO là các thực thể phổ biến.

o Một tập các cạnh nhận dạng I. Trong YAGO là các nhận dạng sự kiện. o Một tập nhãn L. Trong YAGO là các tên quan hệ.

Phương thức chung của Refication graph là:

Ta gọi dãy các hàm này là các cạnh của đồ thị. Theo trực giác, các cạnh của Reification graph không chỉ nối 2 node, mà còn có thể nối một node và một cạnh hay thậm chí 2 cạnh. Mỗi cạnh là duy nhất và có một nhận dạng riêng trong tập I, có một nhãn trong tập L. Chú ý, một Reification graph dạng GN,I,L: I  N x L x N định nghĩa một đa đồ thị có hướng thông thường với các node N và dãy các cạnh được đánh nhãn (GN,I,L).

Một YAGO ontology gồm một tập hữu hạn các thực thể phổ biến C, một tập hữu hạn các tên quan hệ R, và một tập hữu hạn các nhận dạng sự kiện I là một Reification graph với tập node I U C U R và tập nhãn R, hàm tổng quát:

Tạo một YAGO ontology (hay các dạng Reification graph) bằng cách lập danh sách các phần tử của phương thức theo dạng:

Thành: (adsbygoogle = window.adsbygoogle || []).push({});

Quan hệ nhiều ngôi (n-ary relation)

Một vài sự kiện cần nhiều hơn hai đối số (ví dụ như Ronaldo đoạt giải cầu thủ xuất sắc nhất thế giới năm 2008). Một cách thông dụng để xử lý vần đề này là sử dụng quan hệ nhiều ngôi (n-ary relation). RDFS và OWL không cho phép quan hệ nhiều ngôi. Một cách chuẩn để xử lý vấn đề này ttrong các hình thức này là tạo ra một quan hệ nhị phân mới cho mỗi đối số (như: người đoạt giải, giải thưởng và năm). Sau đó, một sự kiện đa ngôi có thể được biểu diễn bằng một thực thể sự kiện mới ( Ronaldo đoạt giải ) được liên kết bởi các quan hệ nhị phân:

Giải cầu thủ xuất sắc nhất thế giới Giải thưởng Ronaldo đoạt giải Ronaldo Người đoạt giải Ronaldo đoạt giải

2008 Năm Ronaldo đoạt giải

Mô hình YAGO đưa ra một cách giải quyết tự nhiên hơn cho vấn đề này: nó dựa trên giả định với mỗi quan hệ đa ngôi, một cặp chính của các đối số có thể được nhận dạng. Trong ví dụ trên, mô hình YAGO biểu diễn như sau:

#1: Ronaldo Đoạt giải Cầu thủ xuất sắc nhất thế giới

#2:#1 Năm 2008

Và ta có thể rút gọn thành:

Ronaldo Đoạt giải Cầu thủ xuất sắc nhất thế giới Năm 2008 49

Ngữ nghĩa

Trong phần này chúng ta sẽ tìm hiểu ngữ nghĩa mô hình lý thuyết của YAGO. Chúng ta qui định một tập quan hệ R cho bất kỳ YAGO ontology nào đều phải chứa ít nhất các quan hệ: type, subClassOf, domain, range, và subRelationOf. Tập các thực thể phổ biến C chứa ít nhất các class entity, class, relation và atr. Ngoài ra, nó phải chứa các class là các dữ liệu dạng khác như sau:

Giả sử, cho một tập thực thể phổ biến C và một tập quan hệ R.Tập các sự kiện nhận dạng được sử dụng bởi YAGO y cho bởi I=domain(y). Để xác định ngữ nghĩa của YAGO ontology, ta xét tất cả các sự kiện có khả năng F = (ICR) x R x (IC

R)

Ta có:

Nếu một tập hợp chứa các sự kiện f1,…,fn, thì thêm sự kiện f vào tập này, theo quy tắc sau:

Ngoài ra, nó còn có các luật sau:

Định lý 1:

Cho tập sự kiện F, tập S lớn nhất từ FS là có hạn và duy nhất.

Cho một YAGO ontology y, các quy tắc  có thể áp dụng cho tập các sự kiện của nó,

range(y). Chúng ta gọi tập lớn nhất có thể được tạo ra từ việc áp dụng các quy tắc  là tập các sự kiện thu được từ y, D(y). Hai YAGO ontology y1,y2 là bằng nhau nếu các nhận dạng sự kiện trong y2 có thể được thay tên bởi một thay thế ánh xạ:

Tình trạng bế tắc suy diễn của một YAGO ontology y được tính bằng cách thêm các sự kiện có thể suy luận vào y. Mỗi sự kiện có thể suy diễn (a,r,b) cần một nhận dạng sự kiện mới, fa,r,b.

Một cấu trúc cho một YAGO ontology là một bộ 3: o Một tập U (tổng quát).

o Một hàm biểu hiện

o Một hàm mở rộng

Giống như RDFS, một cấu trúc YAGO cần định nghĩa sự mở rộng quan hệ bằng hàm mở rộng. Hàm mở rộng liên kết ý nghĩa của một ký hiệu quan hệ với một quan hệ trên các phần tử tồng quát. Chúng ta cần định nghĩa một phương thức dịch:

Ta nói một sự kiện (e1,r,e2) là đúng nếu nếu nó nằm trong sự phiên dịch quan hệ. Một mô hình YAGO ontology y là một cấu trúc:

o Tất cả các sự kiện của y*là đúng trong cấu trúc. o Nếu Ψ(x,TYPE,String) đối với x, thì D(x)=x

o Nếu Ψ(r,TYPE,atr) đối với r, thì không tồn tạ Ψ(x,r,x).

Định lý 2:

Cơ sở chuẩn của một YAGO ontology nhất quán là duy nhất. (adsbygoogle = window.adsbygoogle || []).push({});

Ngôn ngữ truy vấn

Cho một mẫu đồ thị mô hình hoá khái niệm (Reification graph) GN,I,L với tập biến V, V ∩

(N ∪ I ∪ L) = ∅, là một Reification graph với tập node N∪V, tập nhận dạng I∪V và tập nhãn L∪V. Việc so khớp mẫu P với một Reification graph là thay thế:

σ(P) ⊂ G. σ(P) được gọi là một match (phù hợp).

Ví dụ: “When did Elvis win the Grammy Award?” ta dùng công thức:

Hay:

Thông thường, mỗi thực thể xuất hiện trong truy vấn cũng phải xuất hiện trong ontology, nếu không sẽ không tìm được kết quả phù hợp với truy vấn. Tuy nhiên, chúng ta không

thể đưa vào ontology tất cả các dữ liệu có thể bởi vì một YAGO ontology là hữu hạn. Ví dụ như các ngày, tháng, năm cụ thể. Do đó, chúng ta sẽ dùng các quan hệ lọc (như After), nó không nằm trong kết quả tìm được, nhưng được dùng để lọc ra các kết quả tìm kiếm. Một quan hệ lọc là một hàm trợ giúp quyết định để nối kết 2 dữ liệu là 0 hoặc 1. Sau đó, một mẫu lọc P cho một Reification graph GN,I,L với tập kiểu dữ liệu L, một tập biến V, V∩(N∪I∪R∪L)=∅ và một tập các quan hệ lọc F, là một Reification graph với tập node N∪V∪L, tập các nhận dạng I∪V và tập nhãn R∪V∪F. Ví dụ, ta có câu truy vấn: “

Which singers were born after 1930?”. Ta sẽ dùng một mẫu lọc gồm tập dữ liệu {1930} và tập quan hệ lọc {AFTER}:

Một kết quả phù hợp với mẫu lọc là một so khớp σ cho mẫu P\{(i, (a1,r,a2))|r∈F}, ∀(i, (a1,r,a2))∈P, r∈F:r(σ(a1),σ(a2))=1. Trong ví dụ, kết quả truy vấn phải có sự ràng buộc $x

và $y bằng AFTER($y,1930)=1. Sau đó, một kết quả phù hợp với mẫu lọc là một kết quả truy vấn được chấp nhận.

c. Giao diện Demo YAGO

Ta thử một truy vấn:

Ta sẽ được một số kết quả sau:

Cấu trúc kết quả truy vấn:

Một phần của tài liệu TỔNG QUAN VỀ ONTOLOGY VÀ ỨNG DỤNG TRONG BIỂU DIỄN TRI THỨC (Trang 45)