Mặc dù các ontology được phát triển cho các ứng dụng khác nhau nhưng nó thường trùng lặp về thông tin và không dễ dàng để có thể kết hợp các ontology này vào một ứng dụng mới.. Một số đị
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
- -TIỂU LUẬN MÔN HỌC:
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
ĐỀ TÀI:
KHỚP ONTOLOGY VÀ ỨNG DỤNG
GVHD: PGS.TS ĐỖ VĂN NHƠN HVTH: NGUYỄN MINH PHÁT
MSHV: CH1301047
TP HỒ CHÍ MINH Tháng 3/2014
Trang 2MỤC LỤC
Lời cảm ơn 1
MỞ ĐẦU 2
I Tổng quan về Ontology Matching 4
1 Một số định nghĩa 4
2 Quy trình Ontology Matching 5
II Các kỹ thuật OM 7
1 Các kỹ thuật khớp mức phân tử 9
1.1 Kỹ thuật khớp dựa vào so khớp chuỗi (String - based) 9
1.1.1 Tiền tố 10
1.1.2 Hậu tố 10
1.1.3 Khoảng cách soạn thảo 10
1.1.4 Khoảng cách n-gram 11
2 Các kỹ thuật dựa trên ngôn ngữ (Language-based) 12
2.1 Các phương pháp bên trong: Tiêu chuẩn hóa ngôn ngữ học 12
2.1.1 Tách từ (Tokenization) 13
2.1.2 Biến đổi về dạng cơ bản của từ (Lemmatization) 13
2.1.3 Loại bỏ từ dừng (stopword elimination) 13
3 Các kỹ thuật dựa trên ràng buộc 14
3.1 So sánh kiểu dữ liệu 14
3.2 So sánh khoảng giá trị (Multiplicity comparison) 15
3.3 Cơ sở ngữ nghĩa (Linguistic resources) 15
3.4 Liên kết dùng lại (Alignment reuse) 16
4 Các kỹ thuật khớp mức cấu trúc 16
4.1 Các kỹ thuật dựa trên đồ thị 17
4.2 Các kỹ thuật dựa vào câu trúc có thứ bậc (taxonomy) 17
4.3 Kho cấu trúc (Repository of structures) 18
4.4 Các kỹ thuật dựa vào mô hình 18
4.5 Các kỹ thuật phân tích và thống kê dữ liệu 19
III Ứng dụng Ontology Matching trong bài toán tích hợp tiến trình nghiệp vụ các doanh nghiệp 19
1 B2Bi - bài toán tích hợp các doanh nghiệp 19
2 Xây dựng mô hình ứng dụng OM cho bài toán tích hợp các doanh nghiệp 19
2.1 Mô hình tổng quát của bài toán 19
2.2 Xây dựng khung ứng dụng OM System 20
2.3 Matching Engine 21
IV Kết luận và hướng phát triển 22
TÀI LIỆU THAM KHẢO 24
Trang 3Xin chúc Thầy cùng các Thầy cô trong Trường Đại học Công nghệ Thôngtin - Đạ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ựcCNTT cho đất nước Việt Nam
Trang 4MỞ ĐẦU
Ngày này, khoa học máy tính và công nghệ thông tin phát triển mạnh mẽ, thâm nhậphầu hết vào các lĩnh vực hoạt động của con người Nhu cầu về hệ thống thông minh đãtrở thành nhu cầu thiết yếu Đó là lý do ra đời Trí Tuệ nhân tạo, một lĩnh vực của khoahọc máy tính chuyện nghiên cứu, phát triển các hệ thống ngày càng thông minh hơn.Trong đó, Biểu diến tri thức là một phần rất cơ bản và quan trọng trong các hệ thống trí
tuệ nhân tạo Như John Naisbitt đã nói:“Chúng ta đang chìm ngập trong thông tin
nhưng lại khát khao tri thức” Đúng vậy, World Wide Web chứa một lượng thông tin
khổng lồ, chúng được tạo ra từ các tổ chức, cộng đồng và nhiều cá nhân với nhiều lý dokhác nhau 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 theonhu 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 choviệc tìm kiếm ứng dụng Để giải quyết vấn đề đó, nhiều tổ chức nghiên cứu và kinhdoanh đã phối hợp nghiên cứu và phát triển Web có ngữ nghĩa (Semantic Web).VớiWeb 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ệutrê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ệctìm kiếm và truy tìm thông tin trên Web hiện nay
Ontology là thành phần trọng tâm của Web có ngữ nghĩa Để con người hoặc máy
móc có thể giao tiếp được với nhau thì cần một sự thống nhất chung về một tập khác khái niệm, được định nghĩa trong các ontology Kể từ khi ra đời cho đến nay, đi đôi với
sự phát triển của Web ngữ nghĩa, ngày càng có nhiều tổ chức cá nhân xây dựng các ontology cho chính các ứng dụng riêng lẽ của họ Số lượng ontology ngày càng nhiều tạo nên sự phong phú về ngữ nghĩa nhưng cũng mang lại những khó khăn nhất định Mặc dù các ontology được phát triển cho các ứng dụng khác nhau nhưng nó thường trùng lặp về thông tin và không dễ dàng để có thể kết hợp các ontology này vào một ứng dụng mới Hơn thế nữa, những người sử dụng ontology hay bản thân các nhà xây dựng ontology lại không chỉ sử dụng ontology của chính họ mà còn muốn mở rộng hay tích hợp các ontology từ nhiều nguồn khác nhau
Trang 5Khớp Ontology (Ontology Matching) nhằm vào tìm kiếm các ánh xạ giữa mốiquan 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ớpkhác nhau đã được đề xuất dựa trên nhiều quan điểm như cơ sở dữ liệu, hệ thống thôngtin, trí tuệ nhân tạo,…
Đề 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
Trang 6I Tổng quan về Ontology Matching
1 Một số định nghĩa
Định nghĩa 1.1: ”Ontology Matching là quá trình tìm kiếm mối quan hệ hay sự
tương đồng giữa các tập thực thể của các ontology khác nhau”[2]
Định nghĩa 1.2: “Ontology Alignment là tập các sự tương đồng giữa hai hay
Trang 7Định nghĩa 1.3 (Similarity): Cho O là một tập hợp các thực thể, độ tương tự σ :
O× O → R là một ánh xạ có đầu vào là cặp thực thể thuộc O× O và cho kết quả là một giá trị số biểu diễn độ tương tự giữa cặp thực thể thỏa mãn các tính chất sau:
∀x, y ∈ O, σ(x, y) ≥ 0
∀x ∈ O, ∀y, z ∈ O, σ(x, x) ≥ σ(y, z)
∀x, y ∈ O, σ(x, y)= σ(y,x)
Định nghĩa 1.4 (Dissimilarity): Cho O là một tập hợp các thực thể, độ sai khác
δ: O × O → R là một ánh xạ có đầu vào là cặp thực thể thuộc O× O và cho kết quả là một giá trị số biểu diễn độ sai khác giữa cặp thực thể thỏa mãn các tính chất sau:
∀x, y ∈ O, δ(x, y) ≥ 0
∀x ∈ O, δ(x, x)=0
∀x, y ∈ O, δ(x, y)= δ(y,x)
2 Quy trình Ontology Matching
Quy trình OM là một quy trình bao gồm nhiều bước và là một quy trình lặp Đốivới hầu hết các phương pháp hiện nay, quy trình này được chia thành các bước cơ bản Trong một số phương pháp khác, trật tự các bước có thể khác nhau, hoặc một số bướctrong quy trình có thể được sát nhập vào nhau nhưng nhìn chung các phương pháp đều
có cùng các thành phần cơ bản Ta có thể chia quy trình thành 6 bước cơ bản sau:
Hình 3 Quy trình Ontology Matching
Xây dựng các đặc trưng: Đây là bước khởi đầu của quy trình OM sử dụng các
giá trị đầu vào là các ontology và alignment (nếu có) Để chọn lựa ontology đầu vào,đầu tiên chúng ta sẽ dựa vào tập các khái niệm dùng để định nghĩa ontology Ngoài ra,dựa vào các đặc điểm chung của các thành phần của ontology đầu vào, trong bước này
ta sẽ phân loại chúng theo từng nhóm Các nhóm thuộc tính này sẽ được sử dụng trongquá trình so khớp ở các bước tiếp theo
Trang 8Tìm và lựa chọn cặp thực thể: Trong bước này, các alignment đầu vào, nếu có,
sẽ được sử dụng đến Dựa vào sự phân loại thuộc tính ở bước một và các alignment ứng
cử viên, ta sẽ chọn ra các cặp thực thể của hai ontology để thực hiện việc OM trongbước tiếp theo Việc chọn ra các cặp phù hợp, loại bỏ các cặp không phù hợp làm choquá trình OM diễn ra nhanh hơn và kết quả chính xác, giảm thiểu độ dư thừa
Tính toán độ tương tự: Độ tương tự là thước đo xác định sự giống nhau giữa
hai thực thể cần OM Việc tính toán giá trị này được thực hiện thông qua một tập cáchàm tương tự
Kết hợp các độ tương tự: Dựa vào các giả thuyết đầu vào, sau khi tính toán độ
tương tự ta có thể đưa ra kết quả OM giữa các ontology Tuy nhiên, có rất nhiều phươngpháp để tính toán các độ tương tự cho ra các kết quả khác nhau Do đó, việc kết hợp cáckết quả này để cho ra kết luận đúng đắn nhất là rất quan trọng Nhiều nhóm nghiên cứuđã đưa ra các công thức kết hợp các độ tương tự nhưng việc đưa ra công thức cho kếtquả tối ưu nhất thì vẫn đang trong giai đoạn nghiên cứu
Đưa ra kết luận: Sau khi đã kết hợp được các độ tương tự và đưa ra kết quả
cuối cùng, ta cần đưa ra kết luận dựa vào kết quả đó, hay nói cách khác là kết quả cầnphải được thông dịch nhằm khẳng định hai thực thể của hai ontology có tương tự nhauhay không Để thực hiện điều này, hầu hết các hệ thống hiện nay điều sử dụng một giá
trị ngưỡng nhất định Nếu kết quả cuối cùng lớn hơn giá trị ngưỡng này thì kết luận là
hai thực thể tương tự nhau, ngược lại là không
Quy trình lặp: Quá trình lặp này sẽ giúp cho việc đưa ra kết quả chính xác hơn,
tránh bỏ sót và loại bỏ các trường hợp không phù hợp Tuy nhiên, để tránh sự lặp vô hạn, người ta thường đưa ra các điều kiện để dừng vòng lặp Các điều kiện đó là :
Quá trình lặp dừng lại sau một số bước nhất định
Quá trình lặp dừng lại sau một thời gian nhất định
Các giá trị thay đổi vẫn không vượt quá ngưỡng
Khi vòng lặp dừng lại, ta đưa ra kết quả cuối cùng Ứng với ví dụ trên, ta có kếtquả cuối cùng được thể hiện trong Bảng 1:
Bảng 1 Bảng kết quả sau quá trình OM
Trang 9Ontology O1 Ontology O2 Similarity Alignment object
0.95 0.9 0.85 0.8 0.75 0.75 0.6 0.3
yesyesyesyesyesyes
no no
II Các kỹ thuật OM
Mục đích của quy trình OM là nhằm tìm ra mối quan hệ giữa các thực thể được
mô tả ở các ontology khác nhau Một cách thông thường, mối quan hệ giữa các thực thểcũng chính là mối quan hệ được tìm thấy thông qua việc tìm ra các độ tương tự giữa cácthực thể của các ontology
Trang 10Hình 4 Phân loại các kỹ thuật khớp
Language-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
Linguistic
Basic techniques Granularity/ Input interpretation
Trang 11Cá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ặccá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.
1 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ủachú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ặccác trường hợp của chúng
1.1 Kỹ thuật khớp dựa vào so khớp chuỗi (String - based)
Kỹ thuật string-based thường được sử dụng để so khớp tên hoặc mô tả về tên củacác thực thể ontology Kỹ thuật này xem một string như là một chuỗi các ký tự alphabet.Nguyên tắc OM chủ yếu là: càng nhiều chuỗi giống nhau, thì khả năng cùng mô tả vềmột khái niệm càng cao Để tính toán độ tương tự giữa hai chuỗi, các nhóm nghiên cứuđã đưa ra một số phương pháp sau:
Dựa trên khoảng cách Hamming
Dựa vào độ tương tự của chuỗi con để tính ra độ tương tự giữa các chuỗi mẹ
Số phép toán hiệu chỉnh để hai chuỗi giống nhau
Định nghĩa 3 Đẳng thức xâu: Một đẳng thức xâu là một hàm :SS 0 1 mà
1 ) , (
,
x y S x x 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ácnhau trong hai xâu
Định nghĩa 4 Khoảng cách Hamming Khoảng cách Hamming là một hàm
s
t s i
,max)
,
(
) , min(
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: :SS 0 1 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
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
Tìm hiểu một số kỹ thuật khớp Ontology Trang 10
Trang 12Định nghĩa 6 Xâu con giống nhau Xâu con giống nhau là một hàm :SS 0 1
mà x,y S, và t là xâu con chung dài nhất của x và y:
y x
t y
x
) , (
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àinhất
1.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
1.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
1.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áchsoạ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ínhtả
Đị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ácphé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 :SS 0 1 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
Op Op
n i
w t
s
)) ( (
);
) , (
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épchè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ủatậ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ácsoạ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
Trang 13Ví dụ: (“Virginia”, “Vermont”)=5Virginia”, “Virginia”, “Vermont”)=5Vermont”)=5
Virginia Verginia Verminia Vermonia Vermonta Vermont
1.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 “Virginia”, “Vermont”)=5article” 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à:
min
) , ( )
, ( )
, (
n t ngram n
s mgram t
s
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 “Virginia”, “Vermont”)=5article” và “Virginia”, “Vermont”)=5aricle” là 2/4 = 0,5; trong khi đồngdạng 3-gram giữa “Virginia”, “Vermont”)=5article” và “Virginia”, “Vermont”)=5paper” là 0 và đồng dạng 3-gram giữa “Virginia”, “Vermont”)=5article” 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ácxâu để xử lý xâu
Ví dụ : ta sẽ so sánh chuỗi “Virginia”, “Vermont”)=5Article” với các chuỗi “Virginia”, “Vermont”)=5aricle” và “Virginia”, “Vermont”)=5particle”
Nếu áp dụng công thức tính khoảng cách Hamming :
Aricle và aricle: δ(s,t) = = 0.71
Nếu áp dụng việc tính độ tương tự các chuỗi con chung giống nhau giữa hai
chuỗi mẹ: Aricle và aricle :
Aricle và particle :
Kỹ thuật OM string-based sẽ có hiệu quả cao khi người xây dựng ontology sửdụng các từ giống nhau để định nghĩa cho các khái niệm Tuy nhiên, vấn đề chính mà kỹthuật này hay gặp phải đó là trường hợp các từ đồng âm khác nghĩa hoặc các từ đồngnghĩa Lúc này, kết quả nếu chỉ dựa vào kỹ thuật này sẽ không có độ chính xác cao.Chính vì vậy, kỹ thuật không thường được sử dụng một mình mà thường được sử dụng
đi kèm với các kỹ thuật khác
2 Các kỹ thuật dựa trên ngôn ngữ (Language-based)
Tìm hiểu một số kỹ thuật khớp Ontology Trang 12