Tải bản đầy đủ (.doc) (27 trang)

Thuật toán khớp Ontology dựa trên đồ thị trọng số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (251.43 KB, 27 trang )

MỤC LỤC
Lời cảm ơn 2
I. Giới thiệu 5
II. Các kỹ thuật khớp mức phân tử 8
2.1 Kỹ thuật khớp dựa vào so khớp chuỗi (String - based) 8
2.1.1 Tiền tố 10
2.1.2 Hậu tố 10
2.1.3 Khoảng cách soạn thảo 10
2.1.4 Khoảng cách n-gram 11
2.2 Các kỹ thuật dựa trên ngôn ngữ (Language-based) 12
2.2.1 Tách từ (Tokenization) 13
2.2.2 Biến đổi về dạng cơ bản của từ (Lemmatization) 14
2.2.3 Loại bỏ từ dừng (stopword elimination) 14
2.3 Các kỹ thuật dựa trên ràng buộc 14
2.3.1 So sánh kiểu dữ liệu 14
2.3.2 So sánh khoảng giá trị (Multiplicity comparison) 15
2.4 Cơ sở ngữ nghĩa (Linguistic resources) 16
2.5 Liên kết dùng lại (Alignment reuse) 16
III. Các kỹ thuật khớp mức cấu trúc 17
3.1 Các kỹ thuật dựa trên đồ thị 17
3.2 Các kỹ thuật dựa vào câu trúc có thứ bậc (taxonomy) 17
3.3 Kho cấu trúc (Repository of structures) 18
3.4 Các kỹ thuật dựa vào mô hình 19
3.5 Các kỹ thuật phân tích và thống kê dữ liệu 19
IV. Thuật toán khớp Ontology dựa trên đồ thị trọng số 19
KẾT LUẬN VÀ KIẾN NGHỊ 26
TÀI LIỆU THAM KHẢO 27
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Lời cảm ơn
Em xin bày tỏ lòng biết ơn chân thành đối với PGS.TS Đỗ Văn Nhơn,
người đã dạy cho em chuyên đề “Biểu diễn tri thức và ứng dụng”. Những


kiến thức Thầy truyền đạt đã giúp em lần đầu tiên được tiếp cận một cách
đầy đủ về khái niệm Biểu diễn tri thức và hiểu được các vấn đề ứng dụng
của nó, đặc biệt đã gợi ý cho em phương pháp xử lí các bài toán Biểu diễn
tri thức rất thiết thực cho chuyên môn.
Vì điều kiện thời gian và khả năng có hạn nên tiểu luận không thể
tránh khỏi những thiếu sót. Em rất mong nhận được ý kiến đóng góp của
thầy đề tiểu luận được hoàn thiện.
Xin chúc Thầy cùng các Thầy cô trong Trường Đại học Công
nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh lời chúc
sức khoẻ, hạnh phúc và đạt được nhiều thành công trong sự nghiệp
nghiên cứu và đào tạo nguồn nhân lực CNTT cho đất nước Việt Nam.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 2
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
MỞ ĐẦU
Sự ra đời của Word Wide Web đã đột ngột thay đổi việc sử dụng các
thông tin điện tử. World Wide Web là nguồn tài nguyên thông tin khổng lồ
và được truy cập bởi hàng triệu người. Cùng với thời gian, nguồn tài
nguyên đó ngày càng gia tăng. Tuy nhiên, đi kèm với lượng thông tin rất
nhiều và phong phú, đa dạng về mọi mặt thì việc tự động tìm kiếm và thu
thập những thông tin hữu ích và cần thiết theo nhu cầu người dùng lại trở
nên rất khó khăn, do đó nguồn tài nguyên trên Web chưa được khai thác
một cách hiệu quả. Hệ thống thông tin trên Web hiện nay tồn tại các vấn đề
nêu trên vì nội dung thông tin được cấu trúc hóa nhằm mục đích để con
người có thể hiểu được, vì thế rất khó để các máy có thể hiểu, xử lý và tích
hợp thông tin một cách có ý nghĩa. Vấn đề đặt ra là cần phải làm sao để
thông tin trở nên hữu ích và dễ dàng cho việc tìm kiếm ứng dụng. Để giải
quyết vấn đề đó, nhiều tổ chức nghiên cứu và kinh doanh đã phối hợp
nghiên cứu và phát triển Web có ngữ nghĩa (Semantic Web).
Với Web có ngữ nghĩa, người ta đang hướng tới xây dựng những bộ

ngữ nghĩa cho dữ liệu trên Internet, xây dựng một mạng dữ liệu ngữ nghĩa
liên kết toàn cầu, giúp ích cho việc tìm kiếm và truy tìm thông tin trên Web
hiện nay.
Trong Web có ngữ nghĩa, dữ liệu có cấu trúc và các Ontology mô tả
ngữ nghĩa của dữ liệu. Các Ontology cho phép người sử dụng tổ chức
thông tin theo các phân loại (taxonomy) khái niệm, mỗi khái niệm có các
thuộc tính, và Ontology còn mô tả các mối liên hệ giữa các khái niệm.
Ontology là thành phần trọng tâm của Web có ngữ nghĩa. Nó cho phép
các ứng dụng thống nhất với nhau về các thuật ngữ được dùng để trao đổi.
Tuy nhiên, trong nhiều trường hợp, cùng một loại thông tin được mô hình
hóa theo nhiều cách khác nhau gây khó khăn cho việc trao đổi thông tin.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 3
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Trong môi trường mở như Web, các Ontology được phát triển và bảo
trì một cách độc lập trong môi trường phân tán. Do đó hai hệ thống có thể
sử dụng hai Ontology khác nhau để mô tả cho hai lĩnh vực tương tự nhau,
vấn đề này được gọi là không thống nhất Ontology. Để tập hợp dữ liệu từ
các Ontology khác nhau, chúng ta phải biết các ánh xạ ngữ nghĩa giữa các
thành phần của chúng. Quá trình tìm các ánh xạ này được gọi là khớp
Ontology (Ontology Matching). Khớp Ontology nhằm vào tìm kiếm các
ánh xạ giữa mối quan hệ ngữ nghĩa giữa các thực thể của các Ontology
khác nhau. Nhiều giải pháp khớp khác nhau đã được đề xuất dựa trên nhiều
quan điểm như cơ sở dữ liệu, hệ thống thông tin, trí tuệ nhân tạo,…
Bên cạnh vai trò quan trọng của Web có ngữ nghĩa, các Ontology còn
được biết đến thông qua nhiều ứng dụng khác như: phục hồi và trích rút
thông tin, tích hợp thông tin, tích hợp thông tin trong doanh nghiệp, thương
mại điện tử, các hệ thống ngang hàng (peer-to-peer), các hệ thống thuật
ngữ tin sinh và y học,…
Đề tài này nhằm mục đích tìm hiều về Ontology và các kỹ thuật khớp

Ontology, trên cơ sở đó áp dụng vào một số bài toán khớp Ontology.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 4
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
I. Giới thiệu
Mục đích của khớp Ontology là để tìm ra mối quan hệ giữa các thực
thể biểu diễn trong các Ontology khác nhau. Thông thường, những mối
quan hệ này là các quan hệ tương đương được phát hiện thông qua thước
đo sự gióng và khác nhau giữa các thực thể của các Ontology.
Tiến trình khớp là tiến trình nhằm xác định liên kết A’ giữa một cặp
Ontology o và o’. Ngoài hai Ontology o và o’, tiến trình khớp có thể sử
dụng một số tham số khác, cụ thể là:
(i) Liên kết đầu vào A giữa 2 Ontology o và o’;
(ii) Các tham số khớp p, ví dụ: trọng số, ngưỡng;
(iii) Các tài nguyên mở rộng dùng bởi tiến trình khớp. Ví dụ: kiến
thức chung và từ điển chuyên ngành.
Có thể định nghĩa tiến trình khớp như sau:
Định nghĩa 1. Tiến trình khớp là một hàm f từ một cặp Ontology o và o’,
một liên kết vào A, tập hợp các tham số p, tập các thẻ và các tài nguyên r,
trả lại một liên kết A’ giữa các Ontology này:
A’ = f(o, o’, A, p, r)
Hình 1. Minh họa tiến trình khớp.
Tìm hiểu một số kỹ thuật khớp Ontology
o
A
o
'
A’
Matching
resources

parameters
Trang 5
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Trong trường hợp khớp nhiều hơn hai Ontology chúng ta sử dụng định
nghĩa khớp đa Ontology sau:
Định nghĩa 2: Tiến trình khớp đa Ontology có thể được xem như một
hàm f từ tập các Ontology {o
1
,…, o
n
}, một liên kết vào A, tập các tham số
p, tập cá thể và các tài nguyên r, trả về một liên kết A’ giữa các Ontology:
A’=f(o
1
,…, o
n
,A, p, r}
Dựa trên tiến trình khớp nói trên, người ta đã xây dựng nhiều kỹ thuật
khớp Ontology khác nhau, có thể phân loại các kỹ thuật này dựa theo hai
phân loại tổng hợp trong Shvaiko and Euzerat, 2005], dựa vào các thuộc
tính nổi bật của các chiều khớp.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 6
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Hình 2. Phân loại các kỹ thuật khớp
Tìm hiểu một số kỹ thuật khớp Ontology
Matching techniques
Element-level
Structure-level
String-based

name
similarity,
description
similarity,
global
namespase
Language-
based
Tokenisation,
lemmatisation
morphology,
elimiation
Linguistic
resounces
lexicons,
thesauri
Constraint
-based
Type
similarity,
key
properties
Alignment
reuse
Entire
schema or
ontology,
fragment
Upper level,
Domain

specific,
ontologies
SUMO,
DOLCE,
FMA
Data analysis
and statistics
frequency
distributation
Graph-based
Graph
honomophism,
path, children,
leases
Taxonomy
- based
Taxonomy
structure
Repository
of structures
Structure
metadata
Linguistic
resounces
lexicons,
thesauri
Syntactic External Syntactic External Semantics
Linguistic
Internal Retational
Terminological Structural Extensitional Semantic

Matching techniques
Kind of input
Basic techniques
Granularity/ Input interpretation
Trang 7
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Các phân loại được biểu diễn dạng cây với các lá, mỗi lá là một kỹ
thuật khớp và các ví dụ cụ thể của chúng. Một số phương pháp cơ bản để
đánh giá sự giống nhau hoặc các mối quan hệ giữa các thực thể Ontology
sẽ được trình bày chi tiết dưới đây.
II. Các kỹ thuật khớp mức phân tử.
Các kỹ thuật mức phân tử xem xét các thực thể Ontology hoặc các
trường hợp của chúng một cách riêng biệt, bỏ qua mối quan hệ giữa chúng
với các thực thể khác hoặc các trường hợp của chúng.
2.1 Kỹ thuật khớp dựa vào so khớp chuỗi (String - based)
Các kỹ thuật khớp dựa vào so khớp chuỗi thường dùng để khớp các
tên và các mô tả tên của các thực thể Ontology. Những kỹ thuật này xem
các chuỗi như dãy các chữ cái trong một bảng chữ cái. Chúng dựa vào đặc
trưng sau: các chuỗi càng giống nhau thì càng có khả năng để chỉ rõ cùng
các khái niệm. Thông thường, các hàm khoảng cách ánh xạ một cặp các
chuỗi đến một số thực, số thực có giá trị càng nhỏ thì các chuỗi càng giống
nhau. Kỹ thuật khớp dựa vào so khớp chuỗi được sử dụng rộng rãi trong
các hệ thống khớp tiền tố, hậu tố, khoảng cách soạn thảo và khoảng cách n-
gram.
Có nhiều cách để so sánh các chuỗi phụ thuộc vào cách các chuỗi
được xem xét: chẳng hạn, dãy chính xác các chữ cái, dãy không đúng các
chữ cái, tập các chữ cái, tập các từ.
Ta cần phân biệt giữa: (i) các kỹ thuật dùng để rút gọn các chuỗi so
sánh đến một dạng chung, (ii) các kỹ thuật chuỗi con hoặc dãy con dựa vào
các chữ cái chung giống nhau giữa các chuỗi, (iii) các khoảng cách soạn

thảo giúp cho việc đánh giá một chuỗi như thế nào có thể là một bản lỗi của
chuỗi khác, (iv) các thước đo thống kê mà sự thiết lập ý nghĩa quan trọng
của một từ trong một chuỗi phù hợp với mối quan hệ giữa hai chuỗi và (v)
các hướng so sánh.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 8
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Trước khi so sánh các chuỗi thực sự có ý nghĩa trong ngôn ngữ tự
nhiên, chúng ta xem xét các trường hợp thực tế sau:
- Trường hợp tiêu chuẩn hóa: Biến đổi mỗi ký tự chữ cái trong chuỗi
thành chữ thường. Ví dụ, CD  cd và SciFi  scifi.
- Loại bỏ các ký hiệu dấu. Ví dụ, Montréal  Montreal.
- Chuẩn hóa khoảng trống: Chuẩn hóa tất cả các ký tự để trống
(khoảng trống, xuống dòng, hoặc dãy các ký tự trống, xuống dòng) thành
một ký tự trống đơn.
- Xóa bỏ các dấu liên kết các từ. Ví dụ, peer-reviewed  peer
reviewed.
- Loại bỏ các ký tự số. Ví dụ, book25545-18  book.
- Loại bỏ các dấu chấm câu. Ví dụ C.D.  CD.
Định nghĩa 3. Đẳng thức xâu: Một đẳng thức xâu là một hàm
[ ]
10: →×SS
σ

1),(,,
=∈∀
xxSyx
σ
và nếu x ≠ y, σ(x,y) = 0.
Thước đo này không giải thích được hai xâu khán nhau như thế nào.

Vì thế người ta sử dụng khoảng cách Hamming để so sánh hai xâu bằng
cách đếm số các vị trí khác nhau trong hai xâu.
Định nghĩa 4. Khoảng cách Hamming. Khoảng cách Hamming là một
hàm
[ ]
10: →× SS
σ
mà:
[ ] [ ]
( )
( )
ts
tstsis
ts
ts
i
,max
),(
),min(
1
−+≠
=

=
δ
Hai xâu được xem là giống nhau khi xâu này là xâu con của xâu kia.
Định nghĩa 5. Kiểm tra xâu con. Kiểm tra xâu con là một hàm:
[ ]
10: →× SS
σ

mà ∀ x,y ∈ S, nếu tồn tại p, s ∈ S trong đó x = p + y + s
hoặc y = p + x + s, thì σ(x,y) = 1, ngược lại σ(x,y) = 0.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 9
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Thước đo này có thể được tinh chế thành một xâu con tương tự các
thước đo tỷ lệ của các thành phần con chung giữa hai xâu.
Định nghĩa 6. Xâu con giống nhau. Xâu con giống nhau là một hàm
[ ]
10: →× SS
σ
mà ∀ x,y ∈ S, và t là xâu con chung dài nhất của x và y:
yx
t
yx
+
=
2
),(
σ
Dễ dàng thấy rằng các thước đo này quả thực giống nhau. Định nghĩa
này có thể được dùng để xây dựng các hàm dựa vào tiền tố chung dài nhất
và hậu tố chung dài nhất.
2.1.1 Tiền tố
Nhận hai chuỗi đầu vào và so sánh sự giống nhau của tiền tố.
Ví dụ: net = network; hay hot = hotel.
2.1.2 Hậu tố
Nhận hai chuỗi đầu vào và so sánh sự giống nhau của hậu tố.
Ví dụ: phone = telephone; hay word = sword.
2.1.3 Khoảng cách soạn thảo

Một khoảng cách soạn thảo giữa hai đối tượng là giá trị tối thiểu của
các phép toán được áp dụng cho một trong các đối tượng để thu được đối
tượng khác. Khoảng cách soạn thảo được thiết kế để đo sự đồng dạng giữa
các xâu mà có thể chứa các lỗi chính tả.
Định nghĩa 7. Khoảng cách soạn thảo. Đưa ra một tập Op các phép toán
xâu (Op = S  S), và một hàm giá trị w: Op  R, mà với cặp các xâu bất
kỳ tồn tại một dãy các phép toán biến đổi xâu đầu tiên thành xâu thứ hai
(và ngược lại), khoảng cách soạn thảo là một hàm không đồng dạng
[ ]
10: →× SS
σ
trong đó δ(s,t) là giá trị của dãy con ít giá trị nhất của các
phép toán biến đổi s thành t.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 10
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng








=


=
Ii
Op

tsOpOpOp
i
ni
wts
))(( );(
1
min),(
δ
Trong xâu khoảng cách soạn thảo, các phép toán thường được xem xét
gồm phép chèn một ký tự ins(c,i), thay thế một ký tự bởi một ký tự khác
sub(c,c’,i) và xóa bỏ một ký tự del(c,i)
-1
. Có thể dễ dàng kiểm tra thấy các
phép toán này được quy cho một giá trị và khoảng cách giữa hai xâu là
tổng giá trị của mỗi phép toán trên giá trị nhỏ nhất của tập các phép toán.
Khoảng cách δ(s,t) từ một chuỗi s đến một chuỗi t là một số tối thiểu
các thao tác soạn thảo đơn giản (chèn, xóa, thay thế, đổi chỗ) để biến đổi
chuỗi s thành chuỗi t.
Ví dụ: δ(“Virginia”, “Vermont”)=5
Virginia  Verginia  Verminia  Vermonia  Vermonta 
Vermont
2.1.4 Khoảng cách n-gram
n-gram cũng được dùng để so sánh các xâu. Nhận hai xâu đầu vào và
tính toán số n-gram chung, ví dụ: dãy n ký tự giữa chúng. Ví dụ, 3-gram
cho xâu “article” là: art, rti, tic, icl, cle.
Định nghĩa 8. Đồng dạng n-gram. Đặt ngram(s,n) là tập các xâu con của s
độ dài n. Đồng dạng n-gram là hàm: σ: S x X  R mà:
( )
1,min
),(),(

),(
+−

=
nts
ntngramnsmgram
ts
σ
Hàm này hoàn toàn hiệu quả khi chỉ một vài ký tự bị mất.
Ví dụ: đồng dạng 3-gram giữa “article” và “aricle” là 2/4 = 0,5; trong
khi đồng dạng 3-gram giữa “article” và “paper” là 0 và đồng dạng 3-gram
giữa “article” và particle là 5/5 = 1.
Trong trường hợp các xâu quá nhỏ, có thể thêm các ký tự vào đầu
hoặc cuối các xâu để xử lý xâu.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 11
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
2.2 Các kỹ thuật dựa trên ngôn ngữ (Language-based)
Các kỹ thuật dựa trên ngữ nghĩa xem các tên như các từ trong một vài
ngôn ngữ tự nhiên, ví dụ tiếng Anh. Các kỹ thuật này dựa vào các kỹ thuật
xử lý ngôn ngữ tự nhiên khai thác các thuộc tính hình thái học của các từ
đầu vào.
Chúng ta xem các chuỗi như dãy các ký tự. Khi xem xét hiện tượng
ngôn ngữ, các chuỗi này trở thành các văn bản. Các văn bản này có thể
được phân đoạn thành các từ: dễ dàng xác định dãy các chữ cái nhận được
từ một mục trong một từ điển (theoretical, peer, reviewed, journal, article).
Những từ này không xuất hiện trong một cặp mà trong một dãy có cấu trúc
cú pháp. Các từ thông thường, như peer, mang một ý nghĩa và tương ứng
với một vài khái niệm, nhưng các khái niệm này hữu ích hơn khi được vận
dụng đúng trong một văn bản như các thuật ngữ, ví dụ “peer-review”, hoặc

“peer-reviewed journal”.
Thuật ngữ là các cụm từ xác định các khái niệm: chúng vì thế thường
được dùng để gán nhãn các khái niệm trong các Ontology.
Các phương pháp ngôn ngữ dựa vào việc sử dụng các kỹ thuật xử lý
ngôn ngữ tự nhiên (Natural Language Processing – NLP) giúp trích rút ý
nghĩa các thuật ngữ từ một văn bản. So sánh các thuật ngữ này và mối quan
hệ của chúng giúp đánh giá sự tương tự của các thực thể Ontology tên và
chú giải. Mặc dù điều này dựa vào một vài kiến thức ngôn ngữ học, chúng
ta phân biệt các phương pháp này chỉ dựa vào các thuật toán và sử dụng các
tài nguyên mở rộng như từ điển.
Các phương pháp bên trong: Tiêu chuẩn hóa ngôn ngữ học
Tiêu chuẩn hóa ngôn ngữ học nhắm vào rút gọn mỗi dạng của một
thuật ngữ đến một vài dạng tiêu chuẩn có thể được thừa nhận dễ dàng. Ví
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 12
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
dụ thuật ngữ (theory paper) có thể xuất hiện dưới nhiều dạng khác nhau
(Bảng 1). Có ba kiểu chính của biến đổi thuật ngữ: hình thái học (biến đổi
dạng và hàm của một từ dựa vào cùng gốc), cú pháp (biến đổi cấu trúc ngữ
pháp của một thuật ngữ) và ngữ nghĩa (biến đổi dạng của thuật ngữ, thường
sử dụng hypernym (từ hoặc cụm từ mà nghĩa của nó chứa nghĩa của từ
khác) hoặc hyponym (từ hoặc cụm từ mà nghĩa của nó được bao gồm trong
nghĩa của từ khác).
Bảng 1. Các dạng của thuật ngữ theory paper
Kiểu Kiểu con Ví dụ
Morphological Inflection
Derivation
Inflectional-
Derivational
Theory papers

Theoretical paper
Theoretical papers
Syntactic Insertion
Permutation
Coordination
Theory review paper
Paper on theory
Philosophy and theory paper
Morphosyntactic Derivation-
Coordination
Inflection-Permutation
Philosophical and theoretical paper
Papers on theory
Semantic Foundational paper
Multiligual French Article theorique
2.2.1 Tách từ (Tokenization)
Tokenization phân tích các chuỗi đầu vào thành dãy các phần tử dựa
vào dấu hiệu đoán nhận dấu tách câu như dấu chấm, dấu cách, các ký tự
trống, các số,…
Ví dụ: Hands-Free_Kits  <hands, free, kits>
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 13
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Peer-reviewed periodic publication  <peer, reviewed, periodic,
publication>.
2.2.2 Biến đổi về dạng cơ bản của từ (Lemmatization)
Các chuỗi nằm dưới các phần tử được phân tích hình thái học để rút
gọn chúng về các dạng cơ bản và đưa ra tất cả các dạng cơ bản có thể có
của chúng.
Ví dụ: reviewed  review

Kits  kit
2.2.3 Loại bỏ từ dừng (stopword elimination)
Các phần tử được thừa nhận như các mạo từ, các giới từ, các liên từ,…
(thường các từ như “to” hoặc “a”), được đánh dấu để loại bỏ bởi vì chúng
được xem như các từ không có ý nghĩa (rỗng) để khớp.
Ví dụ: collection of article collection article
Một khi các kỹ thuật này được áp dụng, các thực thể Ontology được
biểu diễn như tập các thuật ngữ chứ không phải các từ.
2.3 Các kỹ thuật dựa trên ràng buộc
Các kỹ thuật dựa trên ràng buộc là các thuật toán giải quyết các ràng
buộc nội tại được áp dụng để định nghĩa các thực thể, như các kiểu, các yếu
tố trong tập (vô số) các thuộc tính, các khóa. Các kỹ thuật này dựa vào cấu
trúc nội tại của các thực thể.
2.3.1 So sánh kiểu dữ liệu
So sánh thuộc tính bao gồm so sánh kiểu dữ liệu thuộc tính. Ở đây
chúng ta phân biệt giữa kiểu dữ liệu tương ứng với cách các giá trị được
lưu trữ trong máy tính (như integer, float, string hoặc uri) và phạm vi mô tả
tập con của các kiểu dữ liệu thực tế (như [1012 hoặc “*book”). Trong mục
này ta xem xét các kiểu dữ liệu.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 14
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Các kiểu dữ liệu không tách rời hoàn toàn, mặc dù có các luật mà một
đối tượng của một kiểu có thể được xem như một đối tượng của kiểu khác
và các luật mà một giá trị của một vài kiểu có thể được biến đổi trong biểu
diễn bộ nhớ của kiểu khác.
Ví dụ: integer < real
Date 2 [1=4=2005 30=6=2005] < date[year=2005]
Trạng thái gần giữa các kiểu dữ liệu lớn nhất khi các dữ liệu cùng
kiểu, nhỏ hơn khi các kiểu tương thích (ví dụ:integer và float là tương

thích) và nhỏ nhất khi chúng không tương thích. Thêm vào đó, phạm vi so
sánh lý tưởng nên dựa vào so sánh kiểu dữ liệu và so sánh các tập giá trị
biến đổi bởi các phạm vi này. Khả năng tương thích giữa các kiểu dữ liệu
thuộc tính có thể được quyết định bằng cách sử dụng một bảng tra cứu cơ
bản.
Kỹ thuật này cho cách kết quả khớp mong đợi, tuy nhiên, cũng có
những trường hợp kỹ thuật này cho kết quả không đúng. Vì thế, phương
pháp này không thể được sử dụng riêng rẽ mà phải kết hợp với các phương
pháp khác.
2.3.2 So sánh khoảng giá trị (Multiplicity comparison)
Hai khoảng giá trị có thể tương thích nếu giao của các khoảng cách
tương ứng khác rỗng.
Định nghĩa 9. Multiplicity similarity [8, tr97]: Đưa ra hai đoạn [be] và
[b’e’], multiplicity similarity là một sự giống nhau giữa các khoảng cách
nguyên không âm σ: 2
t
x 2
t


[0 1] thỏa mãn:
[ ] [ ]
( )








>>
=
otherwise
bbee
bbee
eborebif
eb
)',min()',max(
)',max()',min(
''0
'',eb,
σ
Ví dụ: nếu so sánh đoạn [0 6] với [2 8], [8 12] và [0 +∞], so sánh sẽ
tương ứng là 0.5,0 và 6/MAXINT.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 15
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
2.4 Cơ sở ngữ nghĩa (Linguistic resources)
Cơ sở ngữ nghĩa sử dụng các tài nguyên mở rộng như các từ vựng
hoặc các từ điển vùng để khớp các từ.
- Cơ sở ngữ nghĩa: WordNet
Những quan hệ giữa lược đồ/ontologies có thể được tính toán dưới
dạng những mối quan hệ từ vựng:
A ⊆ B nếu A – từ nghĩa hẹp của B.
Ví dụ: Brand ⊆ Name
A ⊇ B nếu A – từ nghĩa rộng của B.
Ví dụ: Europe ⊇ Greece
A=B nếu như chúng tương đương
Ví dụ: Quantily = Amount
A ⊥ B nếu như chúng là những từ trái nghĩa hoặc anh em trong phần

phân cấp.
Ví dụ: Microprocessor ⊥ PC_Board
Khoảng cách cấp bậc trong Wordnet: Hai đầu
vào được gọi là tương đương nếu khoảng cách cấp
bậc của chúng nhỏ hơn một ngưỡng cho phép
Ví dụ: red = pink
Cơ sở chú thích: So sánh chú thích trong
Wordnet.
Cơ sở các từ điển đồng nghĩa đặc biệt: Thông thường được xây dựng
để lưu trữ tri thức các lĩnh vực đặc biệt.
Ví dụ: PO = Purchase Order
uom = UnitOfMeasure
line = item
2.5 Liên kết dùng lại (Alignment reuse)
Các kỹ thuật liên kết dùng lại biểu diễn một cách khác khai thác các
tài nguyên nội tại, các liên kết bản ghi của các Ontology đã khớp trước đó.
Trong trường hợp, khi chúng ta cần khớp Ontology o’ và o’’, đưa ra các
liên kết giữa o và o’, và giữa o và o’’ sẵn có từ tài nguyên nội tại. Liên kết
dùng lại được thúc đẩy bởi nhiều Ontology được khớp giống các Ontology
đã khớp, đặc biệt là nếu chúng mô tả cùng lĩnh vực ứng dụng. Những kỹ
thuật này đặc biệt hứa hẹn khi quan hệ với các Ontology lớn hơn gồm có
Tìm hiểu một số kỹ thuật khớp Ontology
Chromatic color
red pink
Trang 16
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
hàng trăm và hàng nghìn thực thể. Trong những trường hợp này, đầu tiên,
các vấn đề khớp lớn hơn được phân chia thành các vấn đề con, vì thế sinh
ra một tập hợp các vấn đề khớp các đoạn Ontology. Sau đó, dùng lại các
kết quả khớp trước đó có thể cho ứng dụng hiệu quả ở mức các đoạn

Ontology hơn ở mức thực thể Ontology.
III. Các kỹ thuật khớp mức cấu trúc
Các kỹ thuật mức cấu trúc tính toán sự tương ứng bằng việc phân tích
các thực thể hoặc các trường hợp của chúng xuất hiện cùng nhau trong một
cấu trúc như thế nào. Trái ngược với các kỹ thuật mức phân tử, các kỹ thuật
mức cấu trúc xem xét các thực thể Ontology hoặc các trường hợp của
chúng để so sánh mối quan hệ của chúng với các thực thể khác hoặc các
trường hợp của chúng.
3.1 Các kỹ thuật dựa trên đồ thị
Các kỹ thuật dựa trên đồ thị là các thuật toán đồ thị xem các Ontology
đầu vào (gồm có các lược đồ cơ sở dữ liệu và các phân loại) như là các đồ
thị có cấu trúc đã được gán nhãn. Thông thường, so sánh sự giống nhau
giữa cặp các nút từ hai Ontology dựa vào việc phân tích vị trí của chúng
trong hai đồ thị. Nếu hai nút của hai Ontology giống nhau, các nút láng
giềng của chúng cũng phải giống nhau.
Cùng với các kỹ thuật dựa trên đồ thị hoàn toàn, còn có các kỹ thuật
dựa trên cấu trúc khác rõ ràng hơn, ví dụ cây bao trùm.
3.2 Các kỹ thuật dựa vào câu trúc có thứ bậc (taxonomy)
Các kỹ thuật dựa vào cấu trúc có thứ bậc là các thuật toán đồ thị mà
chỉ xem xét mối quan hệ chuyên môn. Các kỹ thuật này là các liên kết is-a
kết nối các từ giống nhau (được hiểu như tập con hoặc tập ở trên của mỗi từ
khác), vì thế các láng giềng của chúng có thể cũng giống nhau theo cách
này hay cách khác. Các kỹ thuật dựa vào cấu trúc có thứ bậc thường được
dùng để so khớp các lớp.
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 17
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Có nhiều phương pháp được đề xuất để so sánh các lớp dựa vào cấu
trúc có thứ bậc. Một trong những phương pháp chung nhất là dựa vào việc
đếm số cạnh trong cùng thứ bậc giữa hai lớp.

Thông thường người ta sử dụng bảng dữ liệu WordNet (cơ sở dữ liệu
từ vựng điện tử dùng cho tiếng anh, dựa vào khái niệm các từ đồng nghĩa)
và thước đo khoảng cách sau :
Định nghĩa (Cấu trúc topo không đồng dạng trong hệ thống thứ bậc)
[8, tr100] : hàm : o x o  R là hàm không đồng dạng trên thứ bậc
≤= ,oH
thỏa mãn:
)],'(),([min)',(,',
0
ceceeeoee
c
δδδ
+=∈∀

Trong đó δ(e,c) là số cạnh trung gian giữa phần tử e và phần tử c.
Định nghĩa (Wu-Palmer similarity) [8. tr101]: Hàm σ : o x o  R là
giống nhau trên bậc H =

,o
thỏa mãn:
),'(2)','()',(
),'(2
)',(
pcccccccc
pcc
cc
∧×+∧+∧
∧×
=
δδδ

δ
σ
trong đó p là gốc của thứ bậc, δ(c,c’) là số cạnh trung gian giữa lớp c
và lớp c’, và c ∧ c’ = {c’’ ∈ o ; c ≤c’’∧ c’ ≤c’’}.
3.3 Kho cấu trúc (Repository of structures)
Kho cấu trúc chứa các Ontology và các phân đoạn của chúng cùng với
các thước đo sự giống nhau, ví dụ các hệ số trong khoảng [0 1]. Không
giống liên kết dùng lại, kho cấu trúc chỉ chứa sự giống nhau giữa các
Ontology chứ không phải giữa các liên kết. Để đơn giản việc trình bày,
chúng ta gọi các Ontology hoặc các phân đoạn của chúng như các cấu trúc.
Khi các cấu trúc mới được khớp, chúng được kiểm tra đầu tiên dựa vào các
cấu trúc giống nhau đã có sẵn trong kho. Mục đích là để xác định cấu trúc
đủ giống nhau để đánh giá vấn đề khớp chi tiết hơn, hoặc dùng lại các liên
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 18
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
kết hiện nay, vì thế, tránh các phép toán khớp trên các cấu trúc không giống
nhau. Rõ ràng, việc xác định sự giống nhau giữa các cấu trúc nên được tính
toán thấp hơn khớp chúng chi tiết đầy đủ. Để khớp hai Ontology đề xuất sử
dụng một vài siêu dữ liệu mô tả các cấu trúc này, như tên cấu trúc, tên gốc,
số các nút, độ dài đường dẫn tối đa,…Những chỉ báo này sau đó được phân
tích và tập hợp thành một hệ số đơn, đánh giá sự giống nhau giữa chúng. Ví
dụ, hai cấu trúc có thể được tìm thấy như một so khớp thích hợp nếu chúng
có cùng số nút.
3.4 Các kỹ thuật dựa vào mô hình
Các kỹ thuật dựa vào mô hình xử lý đầu vào dựa vào sự thể hiện ngữ
nghĩa của nó, ví dụ các ngữ nghĩa mô hình lý thuyết. Nếu hai thực thể
giống nhau, chúng chia sẻ cùng các thể hiện. Vì thế, chúng là các phương
pháp suy diễn vững chắc. Ví dụ: các kỹ thuật định đề thỏa mãn và lập luận
logic mô tả.

3.5 Các kỹ thuật phân tích và thống kê dữ liệu
Các kỹ thuật phân tích và thống kê dữ liệu là những kỹ thuật lợi
dụng một mẫu đại diện của một mẫu để tìm các quy tắc và sự không thống
nhất. Điều này giúp nhóm các mục cùng một nhóm hoặc tính toán khoảng
cách giữa chúng. Trong số các kỹ thuật phân tích dữ liệu chúng ta thảo luận
sự phân loại khảng cách cơ sở, phân tích dạng các khái niệm và phân tích
sự tương ứng; trong số các phương pháp phân tích thống kê chúng ta xem
xét phân phối thường xuyên. Các kỹ thuật này được xem xét như các chiến
lược khớp.
IV. Thuật toán khớp Ontology dựa trên đồ thị trọng số
Như đã trình bày trong phần trước, có rất nhiều kỹ thuật khớp
Ontology. Phần này trình bày một phương pháp khớp Ontology theo hướng
khớp mức cấu trúc. Phương pháp này sử dụng đồ thị để biểu diễn các
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 19
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Ontology và các lược đồ, dựa vào sự tương tự về từ vựng của từ gốc tính
toán trọng số của mỗi nút trên đồ thị. Nhận thấy, trong đồ thị nếu các nút
cha khớp thì các con của chúng có thể cũng khớp. Điều này giúp chúng ta
xây dựng một thuật toán nhanh và hiệu quả cho việc khớp các đồ thị khác
nhau biểu diễn Ontology hoặc lược đồ. Để tính trọng số các đỉnh trên đồ thị
chúng ta có thể sử dụng các phương pháp khác để xác định sự tương tự về
từ vựng giữa chúng. Một khi đã tính các trọng số, chúng ta có thể so khớp
hai Ontology mà chỉ cần một lượt duyệt đồ thị.
Vấn đề khớp Ontology cũng xuất hiện trong phạm vi liên quan đến
việc tích hợp các lược đồ từ các cơ sở dữ liệu không đồng nhất khác nhau.
Những lược đồ này nếu được biểu diễn trong một khung đồ thị cũng có thể
được khớp bằng thuật toán này. Lược đồ có thể được biểu diễn dạng đồ thị
với các nút là các thuộc tính và mối quan hệ giữa các cạnh.
Ví dụ: bảng “students”:

CREATE TABLE Students (sid CHAR (20),
Name CHAR (20),
Login CHAR (20),
Age INTEGER,
Gap REAL
UNIQUE (name, age),
CONSTRAINT
StudentsKey PRIMARY KEY (sid)
Có thể biểu diễn bảng trên bằng đồ thị được chỉ ra dưới đây:
Hình 3. Biểu diễn đồ thị của lược đồ

Tìm hiểu một số kỹ thuật khớp Ontology
students
sid
name
login
age
gap
column
primarykey
column type
attributes
Trang 20
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng

Thuật toán:
Xét hai Ontology O
1
và O
2

được biểu diễn dưới dạng đồ thị như minh
họa ở hình 4. Thuật toán này dựa trên thực tế đơn giản là nếu hai nút A và
A’ của hai Ontology được biểu diễn dạng đồ thị khớp với nhau thì có khả
năng là các nút B và B’ (các con) cũng sẽ khớp.
Hình 4. Biểu diễn các Ontology
Đầu tiên, chúng ta khớp các nút với một vài thước đo từ vựng. Trong
tài liệu này, chúng tôi chọn một số thuật toán như dãy con chung dài nhất,
khoảng cách Hamming (mục 2.1), khoảng cách Levenshtein (mục 2.1) để
Tìm hiểu một số kỹ thuật khớp Ontology
A
B C
D E
A’
B’
C’
D’
Trang 21
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
tính sự tương tự về từ vựng giữa các nút của O
1
và O
2
, kết quả được lưu
vào một ma trận; mỗi phần tử của mặt trận được gọi là lex_sim giữa hai nút
của O
1
và O
2
. Lex_sim có thể có giá trị từ 0 đến 1 phụ thuộc vào mức độ
tương tự về một từ vựng giữa hai nút. Thuật toán minh họa dưới đây sử

dụng dãy con chung dài nhất để tính lex_sim:
Giả sử hai nút A và A’ thuộc hai Ontology có tên (hoặc nhãn) tương
ứng là X và Y. Các xâu X và Y có số ký tự lần lượt là n và m. Để tính độ
dài dãy con chung dài nhất của X và Y ta tính độ dài L[I,j] của dãy con
chung dài nhất của X[0 i] và Y[0 j] với mọi
1m0,j,1n0,i −=−=
.
for (i = -1 to n-1) do
L[i,-1] = 0
for (j = 0 to m-1) do
L[-1,j] = 0
for (i = 0 to n-1) do
for (j = 0 to m-1) do
if(X[i] == Y[j]) then
L[i,j] = L[i-1,j-1] + 1
Else
L[i,j] = max{L[i-1,j],L[I,j-1]}
L[n-1,m-1] chính là độ dài của dãy con chung dài nhất của X và Y, và
từ L[n-1,m-1] chúng ta có thể tìm ra lex_sim theo công thức:
Lex_sim(A, A’) = 2*L[n-1,m-1]/(m+n)
Lúc này, mỗi nút có một thước đo lex_sim, chúng ta lấy thước đo
lex_sim này như việc chấp thuận nút mà các con và cháu của nó sẽ khớp.
Vì thế, một sự tương tự về từ vựng của nút được phổ biến rộng rãi đến các
con. Mỗi nút được kết hợp với một trọng số. Ma trận trọng số của một nút
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 22
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
ở mức i được tính dựa theo lex_sim của nút đó có tính đến trọng số của các
nút ở mức trước đó có liên quan đến nó.
Giả sử A là một nút của Ontology 1, A’ là một nút của Ontology 2.

Khi đó trọng số được tính theo công thức:
weight(A,A’)=α*lex_sim(A, A’)+(1-α)* weight (parent(A),
parent(A’)) với 0 ≤α≤1.
Nếu A hoặc A’ là gốc (nghĩa là một trong hai nút không có cha) thì
trọng số được tính theo công thức:
weight(A,A’) = lex_sim(A,A’)
Công thức trên tính toán các trọng số của các nút có sử dụng các trọng
số của các mức cha.
Ví dụ: Xét hai Ontology trong hình 5.
Hình 5. CS department Ontologies
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 23
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Các bước thực hiện so khớp hai Ontology:
- Đọc hai Ontology từ hai tệp.
- Biểu diễn hai Ontology dưới dạng đồ thị.
- Tính toán trọng số các đồ thị.
- Thực hiện so sánh các nút trong đồ thị và cuối cùng đưa ra các
kết quả khớp.
Với hai Ontology trong hình 5 ta có thể tính lex_sim dựa vào thuật
toán tính dãy con chung dài nhất. Kết quả tính lex_sim của hai Ontology
này được thể hiện trong bảng 2
Bảng 2. Kết quả tính lex_sim dựa vào dãy con chung dài nhất.
CSDept2
Education
Courses
Staff
Academic
Staff
Adminidtrative

Junior
Lecturer
Senior
Lecturer
Professor
CSDept1 0.857 0.174 0.333 0.2 0.154 0.19 0.286 0.125
UnderGrad
Courses
0.174 0.562 0.095 0.207 0.229 0.333 0.333 0.32
Tìm hiểu một số kỹ thuật khớp Ontology
CS Dept1
CS Dept2
UnderGrad
Course
Grad
Course
Human
Resource
Official Faculty
Profession Associate
Profession
Assistant
Profession
Professor Sensior
Lecturer
Junior
Lecturer
Academic Staff Administrative Staff
Staff Education
Courses

Trang 24
Bài thu hoạch – Môn Biểu diễn tri thức và ứng dụng
Grad
Courses
0.222 0.593 0.125 0.25 0.2 0.32 0.32 0.4
Human
Resource
0.1 0.483 0.111 0.231 0.312 0.444 0.37 0.364
Faculty 0.143 0.174 0.167 0.3 0.154 0.19 0.19 0
Official 0 0.167 0.308 0.286 0.222 0.182 0.182 0.118
Associate
Professor
0.08 0.353 0.174 0.323 0.324 0.375 0.375 0.667
Assistant
Professor
0.08 0.294 0.261 0.323 0.378 0.312 0.312 0.667
Professor 0.125 0.24 0.143 0.091 0.143 0.261 0.261 1
Sau khi tính lex_sim giữa các nút của hai Ontology, chúng ta tính
trọng số của các nút này bằng cách sử dụng công thức tính trọng số chỉ ra ở
trên, ta thu được bảng 3.
Bảng 3. Bảng ma trận trọng số
CSDept2
Education
Courses
Staff
Academic
Staff
Adminidtrative
Junior
Lecturer

Senior
Lecturer
Professor
CSDept1 0.857 0.174 0.333 0.2 0.154 0.19 0.286 0.125
UnderGrad
Courses
0.174 0.562 0.476 0.27 0.281 0.267 0.267 0.26
Grad
Courses
0.222 0.725 0.491 0.292 0.267 0.26 0.26 0.3
Human
Resource
0.1 0.67 0.484 0.282 0.323 0.322 0.285 0.282
Faculty 0.143 0.137 0.133 0.392 0 319 0.236 0.236 0.141
Official 0 0.133 0.204 0.385 0.353 0.232 0.232 0.2
Associate
Professor
0.08 0.248 0.158 0.228 0.229 0.384 0.384 0.529
Assistant
Professor
0.08 0.218 0.202 0.228 0.256 0.352 0.352 0.529
Professor 0.125 0.191 0.143 0.112 0.138 0.326 0.326 0.696
Tìm hiểu một số kỹ thuật khớp Ontology
Trang 25

×