MỤC LỤC
1
ONTOLGY VÀ ỨNG DỤNG CỦA ONTOLOGY VÀO BÀI TOÁN TAM GIÁC
I. Giới thiệu
Ngày nay, với sự bùng nổ thông tin, nhất là thông tin trên web
đang được rất nhiều nhà nghiên cứu quan tâm. Thế nhưng máy tính
hiện nay chỉ có tác dụng nhận và hiển thị thông tin chứ không có khả
năng đọc và hiểu được thông tin. Do vậy, việc tìm kiếm, tách chiết, lập
luận để đưa ra tri thức cần thiết càng ngày càng khó khăn. Năm 1998,
Tim Berners-Lee đã đề xuất ra web ngữ nghĩa (Semantic web), một sự
phát triển của web hiện tại. Theo ông, web ngữ nghĩa ra đời sẽ khắc
phục được những nhược điểm quan trong của web hiện tại, làm cho
máy tính có thể hiểu thông tin trên web và như thế việc xử lý thông tin
trên web trở nên thuận lợi và chính xác hơn. Cũng theo ông, nền tảng
cơ bản của web ngữ nghĩa là Ontology.
Trong một vài năm gần đây, việc áp dụng ontology như một hình thức
biểu diễn tri thức trong các lĩnh vực ứng dụng khác nhau đã có những
bước tiến quan trọng. Ontology mô tả không chỉ khái niệm và thuộc tính
mà còn cung cấp các quan hệ cũng như các tiên đề phục vụ cho việc suy
luận. Ontology có rất nhiều lợi thế như cho phép thêm ngữ nghĩa vào dữ
liệu, quản lý và cập nhật tri thức, tích hợp dữ liệu cũng như tái sử dụng
các thành phần dễ dàng hơn. Nhờ đó, ontology là mô tả chính thức của
một số bộ từ vựng chuyên môn.
Công dụng quan trọng nhất của ontology là biểu diễn tri thức.
Ontology đã được sử dụng thành công trong các hệ thống chuyên gia,
mạng ngữ nghĩa… Do hình thức lý thuyết là logic mô tả, ontology có lợi
thế cả về diễn đạt ngữ nghĩa lẫn cơ chế suy luận.
Mục tiêu của bài thu hoạch này là tiếp cận các kiến thức về ontology,
cũng như xây dựng thử nghiệm một hệ cơ sở tri thức về lĩnh vực hình học
phẳng mà cụ thể là giải bài toán tam giác.
2
Thông thường, ontology được định nghĩa như một cấu trúc bao gồm
những thành phần sau (Gruber 1993; Fensel 2001)
• C – tập các khái niệm (Concept);
• I – tập các thể hiện của khái niệm
• R – tập các quan hệ hai ngôi được định nghĩa trên C;
• Z – tập các tiên đề, là các công thức logic biểu diễn các ràng
buộc toàn vẹn trong tập các thể hiện và khái niệm
Định nghĩa 2:
Một ontology là một bộ tứ O = (C, P, R, A), trong đó:
• C là một tập các khái niệm được định nghĩa trong một miền.
Một khái niệm thường được xem như một lớp của ontology
• P là một tập các thuộc tính. Một thuộc tính p € P được định
nghĩa như một thể hiện của một quan hệ 3 ngôi có dạng
p(c,v,f), trong đó c € C là một khái niệm ontology, v là một giá
trị thuộc tính gắn với c và f là định nghĩa các mặt giới hạn
trên v. Một vài mặt giới hạn bao gồm lọai (f
t
), lực lượng (f
c
) và
phạm vi (f
r
). Mặt giới hạn f
t
có thể là bất kỳ kiểu dữ liệu nào
được hổ trợ bởi trình soạn thảo ontology, ví dụ như f
t
€
{Boolean, integer, float, string, symbol, instance, class,…}.
Mặt giới hạn lực lượng f
miền thể hiện một tên miền của một ontology và bao gồm nhiều phân hệ
khác nhau được định nghĩa bởi các chuyên gia trong lĩnh vực. Mỗi phân
5
hệ được tổ hợp bởi các tập sự kiện, kế thừa từ những bản thông tin bởi
các chuyên gia lĩnh vực. Mỗi sự kiện bao gồm một vài khái niệm của của
tầng chứa lớp. Trong tầng chứa lớp, mỗi khái niệm chứa một tên khái
niệm, một tập thuộc tính và một tập tóan tử cho một ứng dụng lĩnh vực.
Ontology lĩnh vực có ba loại quan hệ, bao gồm khái quát hóa, quy nạp và
liên đới. Quan hệ giữ lĩnh vực và các phân hệ tương ứng là sự khái quát
hóa, thể hiện quan hệ “thuộc loại”. Quan hệ giữa mỗi phân hệ và những
sự kiện tương ứng là sự quy nạp. Quan hệ quy nạp diễn tả quan hệ “là
một phần của”. Liên đới là một quan hệ ngữ nghĩa giữa các lớp trong một
tầng.
Hình 2: Mô hình ontology lĩnh vực
Ontology thượng tầng:
Một ontology thượng tầng (hay ontology nền) là một mô hình các đối
6
tượng thuật ngữ thông dụng mà có thể áp dụng cho số lượng lớn các
ontology miền. Ontology thượng tầng chứa một từ điển cốt lõi trong đó mô
tả những đối tượng thuật ngữ thuộc một tập hợp các lĩnh vực. Có rất
nhiều ontology được chuẩn hóa có thể sử dụng được, bao gồm Dublin
Core, GFO, OpenCyc/ResearchCyc, SUMO, and DOLCE. WorldNet, đôi
khi được xem như một ontology thượng tầng, thực ra không hoàn toàn
là một ontology. Mặc dù vậy, WorldNet được cài đặt như là một công cụ
ngôn ngữ để nghiên cứu ontology lĩnh vực.
b. Logic mô tả
Logic mô tả (Description logics, viết tắt DL) là một họ các ngôn ngữ
biểu diễn tri thức có thể sử dụng để biểu diễn tri thức thuật ngữ của một
miền ứng dụng theo một cách có cấu trúc và được hiểu rõ một cách hình
thức. Mặt khác, cái tên logic mô tả có ý nói đến các mô tả về khái niệm
phân biệt chúng với và trong lôgic bậc nhất.∧ ∨
Dưới đây là một ví dụ về định nghĩa cú pháp của logic mô tả:
• một khái niệm nguyên tử là một khái niệm;
• khái niệm đỉnh ( ) là một khái niệm;
• khái niệm đáy ( ) là một khái niệm;
• phần bù của một khái niệm C cũng là một khái niệm (ký
hiệu là ¬C);
• giao của hai khái niệm C và D cũng là một khái niệm ;
• nếu C là một khái niệm và R là một tên vai trò, thì R.C (hạn
chế giá trị) cũng là một khái niệm;
• nếu R là một tên vai trò, thì R.(hạn chế tồn tại) cũng là một
khái niệm
Ngữ nghĩa:
Ngữ nghĩa của lôgic mô tả được định nghĩa bằng cách giải nghĩa các
khái niệm như là các tập hợp gồm các cá thể, và các vai trò như là các tập
gồm các cặp cá thể. Các cá thể đó thường được cho là thuộc một miền
8
xác định cho trước. Sau đó, ngữ nghĩa của các khái niệm và vai trò không
nguyên tử được định nghĩa theo các khái niệm và vai trò nguyên tử. Điều
này được thực hiện bằng một định nghĩa đệ quy tương tự như trong cú
pháp.
III. Phương pháp xây dựng Ontolog
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy
nhiên vẫn chưa có một phương pháp chuẩn hóa nào để phát triển các
ontologies. Sau đây là quy trình phát triể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ó
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 định phâ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ụ: Trong Ontology 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ớp Ngườ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át hơn. Ví dụ: ta bắt đầu với việc
10
đị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ân viên.
Phương pháp kết hợp: kết hợp giữa phương pháp từ trên
xuống và từ dưới lên: bắt đầu từ định nghĩa các lớp dễ thấy trước và
sau đó tổng quát hóa và chuyên biệt hóa các lớp đó một cách thích
hợp. Ví dụ ta bắt đầu với lớp nhân viên trước, là thuật ngữ hay gặp
nhất trong quản lý nhân sự. Sau đó chúng ta có thể chuyên biệt hóa
thành các lớp con: nhân viên lễ tân, nhân viên vệ sinh,… hoặc tổng
quát hóa lên thành lớp Người.
Bước 5: Xác định các thuộc tính
Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các
thuật ngữ đã liệt kê được. Hầu hết các thuật ngữ còn lại (sau khi đã xác
định lớp) là thuộc tính của các lớp đó. Với mỗi thuộc tính tìm được, ta
với Ontology như lớp, thuộc tính (quan hệ) và các thực thể. Do đó, đây là
công cụ hoàn hảo để cài đặt Ontology.
Dưới đây là siêu mô hình của một Ontology cài dẵt bằng hướng đối
tượng:
12
Ngược lại, Ontology mở rộng khả năng của lập trình hướng đối
tượng. Thay vì phải tập trung vào việc cài đặt cơ sở dữ liệu và các thuật
toán xử lý, mô hình Ontology hướng nỗ lực của người thiết kế sang việc
khai báo và mô tả tri thức. Việc này còn cho phép những chuyên gia có
thể tạo dựng nên những ứng dụng hữu ích mà không cần am hiểu nhiều
về lập trình. Đây rõ ràng là mục tiêu mà các ngôn ngữ lập trình thế hệ mới
đang cố gắng hiện thực hóa.
c. Mạng ngữ nghĩa
Người đặt nền tảng cho mạng thông tin toàn cầu Tim Berners-Lee đã
nhiều lần đề cập đến mạng ngữ nghĩa. Trong đó, các hệ thống có thể giao
tiếp với nhau, phân tích và diễn giải ý nghĩa của mọi dữ liệu trên site, rồi
13
tập hợp nội dung liên quan từ nhiều nguồn khác nhau. Nhờ đó, một công
ty du lịch sẽ biết khách hàng của họ có bao nhiêu đứa con, công việc, sở
thích riêng để tìm ra điểm nghỉ mát lý tưởng nhất cho cả gia đình.
Ý tưởng trọng tâm của là tạo ra những "metadata": chuỗi các cơ sở
dữ liệu nối tiếp nhau, có nhiệm vụ bổ sung cho thông tin trên web để các
máy tính có thể hiểu và giải quyết những vấn đề ngữ nghĩa phức tạp.
Mạng ngữ nghĩa được tổ chức dưới dạng một đồ thị, trong đó các nút
biểu diễn các đối tượng và cung biểu diễn quan hệ giữa các đối tượng
Một mô hình mạng ngữ nghĩa
Không chỉ thuận lợi cho việc tìm kiếm thông tin, mạng ngữ nghĩa còn
hỗ trợ cơ chế suy diễn khá hiệu quả mà điển hình là bài toán tam giác
tổng quát.
Việc tiếp cận ngữ nghĩa tài nguyên Web thông qua các Ontology thì
tố của tam giác. Mạng ngữ nghĩa cho bài toán này có cấu trúc như sau :
Đỉnh của đồ thị bao gồm hai loại :
• Đỉnh chứa công thức (ký hiệu bằng hình chữ nhật)
• Đỉnh chứa yếu tố của tam giác (ký hiệu bằng hình tròn)
Cung : chỉ nối từ đỉnh hình tròn đến đỉnh hình chữ nhật cho biết yếu
tố tam giác xuất hiện trong công thức nào (không có trường hợp cung nối
giữa hai đỉnh hình tròn hoặc cung nối giữa hai đỉnh hình chữ nhật).
* Lưu ý : trong một công thức liên hệ giữa n yếu tố của tam giác, ta
giả định rằng nếu đã biết giá trị của n-1 yếu tố thì sẽ tính được giá trị của
yếu tố còn lại. Chẳng hạn như trong công thức tổng 3 góc của tam giác
bằng 180
0
thì khi biết được hai góc, ta sẽ tính được góc còn lại.
Cơ chế suy diễn thực hiện theo thuật toán "loang" đơn giản sau :
B1 : Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu
tố đã có giá trị)
B2 : Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh
ứng với những yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh
nào nữa.
16
Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1
đỉnh hình tròn đã được kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và
tính giá trị đỉnh còn lại này thông qua công thức ở đỉnh hình chữ nhật).
Về mặt chương trình, ta có thể cài đặt mạng ngữ nghĩa giải bài
toán tam giác bằng một mảng hai chiều A trong đó :
Cột : ứng với công thức. Mỗi cột ứng với một công thức tam giác
khác nhau (đỉnh hình chữ nhật).
Dòng : ứng với yếu tố tam giác. Mỗi dòng ứng với một yếu tố tam
giác khác nhau (đỉnh hình tròn).
Phần tử A[i, j] = -1 nghĩa là trong công thức ứng với cột j có yếu tố
các đỉnh hoặc cung mới để bổ sung các tri thức cần thiết.
Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu.
Mạng ngữ nghĩa cho phép các đỉnh có thể thừa kế các tính chất từ
các đỉnh khác thông qua các cung loại "là", từ đó, có thể tạo ra các liên
kết "ngầm" giữa những đỉnh không có liên kết trực tiếp với nhau.
18
Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người
ghi nhận thông tin.
Nhược điểm
Cho đến nay, vẫn chưa có một chuẩn nào quy định các giới hạn
cho các đỉnh và cung của mạng. Nghĩa là bạn có thể gán ghép bất kỳ khái
niệm nào cho đỉnh hoặc cung!
Tính thừa kế (vốn là một ưu điểm) trên mạng sẽ có thể dẫn đến
nguy cơ mâu thuẫn trong tri thức. Sở dĩ có điều này là vì có sự không rõ
ràng trong ngữ nghĩa gán cho một nút của mạng. Bạn đọc có thể phản đối
quan điểm vì cho rằng, việc sinh ra mâu thuẫn là do ta thiết kế mạng dở
chứ không phải do khuyết điểm của mạng!. Tuy nhiên, xin lưu ý rằng, tính
thừa kế sinh ra rất nhiều mối liên "ngầm" nên khả năng nảy sinh ra một
mối liên hệ không hợp lệ là rất lớn!
Hầu như không thể biển diễn các tri thức dạng thủ tục bằng mạng
ngữ nghĩa vì các khái niệm về thời gian và trình tự không được thể hiện
tường minh trên mạng ngữ nghĩa.
V. Tài liệu tham khảo
[1] Definitions overview of Fuzzy Ontology, Trương Hải Bằng,
Dương Hoàng Thanh,IT@EDU Conference 2010.
[2] Website Bách khoa toàn thư mở Wikipedia về Ontology,
/>19