Trong mỗi sự lặp lại, độ tương tự của một ứng cử viên đối sánh được tính toán lại dựa trên độ tương tự của các cặp thực thể lân cận.. Kĩ thuật dựa trên chuỗi String-Based Techniques Kĩ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẶNG THỊ THƯỜNG
PHƯƠNG PHÁP TÌM CẶP KHÔNG ĐỒNG NGHĨA
TỰ ĐỘNG ÁP DỤNG CHO BÀI TOÁN
ĐỐI SÁNH ONTOLOGY
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Phạm Hồng Thái
Trang 2
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành tới TS Phạm Hồng Thái, người đã tận tình chỉ dạy, hướng dẫn và giúp đỡ tôi trong suốt quá trình thực hiện luận văn tốt nghiệp Tôi cũng xin được gửi lời cảm ơn sâu sắc tới Ths Trần Mai Vũ đã đóng góp ý kiến quý báu giúp tôi có thể hoàn thành tốt luận văn Với kiến thức đã có và các công trình đang tìm hiểu nghiên cứu trong lĩnh vực khai phá dữ liệu thầy đã giúp tôi hiểu rõ hơn về nhiều vấn đề trong quá trình thực hiện đề tài
Tôi xin cảm ơn các Thầy, Cô giáo ở Khoa Công nghệ thông tin, Phòng Đào tạo - Trường Đại học Công nghệ - ĐHQGHN đã giảng dạy và truyền thụ cho tôi những kiến thức quý báu trong suốt thời gian tôi học tập và nghiên cứu tại trường
Tôi cũng xin tỏ lòng biết ơn về sự động viên giúp đỡ của gia đình và bạn bè, những người luôn quan tâm sát cánh bên tôi và là nguồn động viên khích lệ, tạo cho tôi có được những điều kiện tốt nhất trong suốt quá trình học tập của mình
Tuy đã rất cố gắng nhưng do thời gian và trình độ có hạn nên chắc chắn luận văn vẫn còn những thiếu sót và hạn chế nhất định Kính mong nhận được sự góp ý của Thầy Cô và các bạn để luận văn được hoàn thiện hơn
Tôi xin chân thành cảm ơn!
Hà nội, tháng 12 năm 2014
Đặng Thị Thường
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng tôi Tất cả tài liệu tham khảo đã chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo Các kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong các công trình nào khác
Tác giả
Đặng Thị Thường
Trang 4MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC KÍ TỰ VIẾT TẮT 5
DANH MỤC BẢNG 6
DANH MỤC HÌNH 7
MỞ ĐẦU 8
Chương 1 GIỚI THIỆU VỀ ONTOLOGY VÀ KHÁI QUÁT BÀI TOÁN ĐỐI SÁNH 9
1.1 Giới thiệu về Ontology 9
1.2 Giới thiệu một số Ontology và ứng dụng thực tế 10
1.2.1 Ontology cho hệ thống Du lịch 10
1.2.2 Ontology cho các khái niệm y sinh 10
1.2.3 Ontology về quan hệ từ vựng và thực thể 10
1.3 Định nghĩa về bài toán đối sánh 11
1.3.1 Định Nghĩa[15] 11
1.3.2 Ví dụ về bài toán đối sánh 12
1.4 Lược đồ các bước giải quyết bài toán đối sánh 13
1.5 Phương pháp đánh giá 15
1.5.1 Kịch bản đánh giá 15
1.5.2 Biện pháp đánh giá 16
Chương 2 MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN GIẢI BÀI TOÁN ĐỐI SÁNH ONTOLOGY 18
2.1 Hướng tiếp cận dựa trên mức đối tượng (element-level) 18
2.1.1 Phương pháp dựa trên phân tích chuỗi (String-based method) 19
2.1.2 Phương pháp dựa trên ngôn ngữ 22
2.2 Hướng tiếp cận dựa trên mức cấu trúc (structure-level) 24
2.2.1 Kỹ thuật dựa trên cây (Taxonomy-based techniques) 24
2.2.2 Kỹ thuật dựa trên đồ thị 24
2.3 Giới thiệu một số hệ thống đối sánh ontology đã có 25
2.3.1 H-Match 25
2.3.2 S-Match 26
Trang 52.3.3 Cupid 27
Chương 3 MÔ HÌNH GIẢI QUYẾT BÀI TOÁN ĐỐI SÁNH ONTOLOGY DỰA TRÊN PHƯƠNG PHÁP PHÂN LỚP 28
3.1 Mô hình giải quyết bài toán 28
3.1.1 Miền dữ liệu 30
3.1.2 Phương pháp phát hiện dữ liệu âm sử dụng đồ thị khoảng cách 32
3.2 Thuật toán k-NN (Nearest Neighbour) 33
3.3 Thuật toán SVM (Support Vector Machines) 34
3.3.1 Giới thiệu 34
3.3.2 Thuật toán SVM 35
3.4 Phương pháp hồi qui logistic 36
3.5 Độ đo đánh giá mô hình phân lớp 37
Chương 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 39
4.1 Môi trường thực nghiệm và các thành phần cài đặt 39
4.1.1 Môi trường thực nghiệm 39
4.1.2 Thành phần cài đặt 39
4.2 Dữ liệu thực nghiệm 40
4.3 Tập đặc trưng và phương pháp đánh giá mô hình đề xuất 42
4.3.1 Tập đặc trưng 42
4.3.2 Phương pháp đánh giá mô hình đề xuất 43
4.4 Thực nghiệm đánh giá hiệu quả khi thay đổi các tham số thành phần tìm dữ liệu âm tự động 43
4.5 Thực nghiệm đánh giá hiệu quả của mô hình bằng các phương pháp khác nhau 44
KẾT LUẬN 46
TÀI LIỆU THAM KHẢO 47
Trang 6DANH MỤC KÍ TỰ VIẾT TẮT
Dữ Liệu Description logics GUI Graphical User Interface API Application Program Interface CLI Command Line Interface
OWL Web Ontology Language
TFIDF Term frequency inverse document
frequency XML Extensible markup Language
Trang 7DANH MỤC BẢNG
Bảng 1.1 Bảng kết quả đối sánh 12
Bảng 4.1 Môi trường thực nghiệm 39
Bảng 4.2 Các gói chức năng cài đặt 39
Bảng 4.3 Các thư viện nguồn được mở rộng 39
Bảng 4.4 Thống kê số lượng thuật ngữ HPO và MP 40
Bảng 4.5 Đánh giá sử dụng kiểm thử chéo 44
Bảng 4.6 Kết quả thực nghiệm so sánh tìm dữ liệu tự động và thủ công 45
Trang 8DANH MỤC HÌNH
Hình 1.1 Ví dụ Ontology 9
Hình 1.2 Đối sánh Ontology 11
Hình 1.3 Ví dụ về đối sánh ontology 12
Hình 1.4 Bước thiết lập bài toán đối sánh ontology 13
Hình 2.1 Quá trình đối sánh H-Match 25
Hình 2.2 Kiến trúc S-Match 26
Hình 2.3 Cấu trúc Cupid 27
Hình 3.1 Mô hình đối sánh Ontology 29
Hình 3.2 Những thuật ngữ đầu tiên của hai Ontology 32
Hình 3.3 Phương pháp sinh cặp không đồng nghĩa 33
Hình 3.4 Phân lớp nhị phân sử dụng k- NN 34
Hình 3.5 Phân lớp nhị phân sử dụng SVM 35
Hình 3.6 Biểu diễn siêu phẳng lề cực đại cho bộ phân lớp SVM nhị phân 36 Hình 4.1 Định dạng thuật ngữ trong file Obo 40
Hình 4.2 Định dạng file Obo chứa các cặp thuật ngữ đồng nghĩa HPO 41
Trang 9MỞ ĐẦU
Đối sánh ontology (Ontology matching) là một bài toán quan trọng trong lĩnh vực khai phá web nói chung và lĩnh vực web ngữ nghĩa nói riêng Kết quả khả quan trong việc giải quyết bài toán này sẽ hỗ trợ tốt cho việc mở rộng các hệ thống ontology sẵn có
Bài toán này nhận được nhiều sự quan tâm của cộng đồng nghiên cứu, trong các hội nghị lớn về Web ngữ nghĩa như: WWW, ISWC, SemWeb.Pro,… đều xuất hiện các phiên trình bày về bài toán đối sánh ontology Bên cạnh đấy, cũng có khá nhiều các ứng dụng hay kho dữ liệu lớn đang áp dụng bài toán này như: Freebase, Yago, S-Match, H-Match, Cupid …
Mặc dù nhận được nhiều sự quan tâm của cộng đồng nghiên cứu và ứng dụng, bài toán đối sánh ontology vẫn là bài toán mở với nhiều thách thức được đặt ra Một trong những thách thức lớn nhất đó chính là việc làm sao áp dụng các phương pháp tự động để giảm chi phí trong quá trình đối sánh
Từ những vấn đề nêu trên, cho thấy việc tìm ra phương pháp tìm cặp đồng nghĩa
áp dụng cho bài toán đối sánh ontology có đầy đủ cơ sở khoa học và thực tiễn
Nội dung đề tài tập trung vào các phương pháp đối sánh ontology dựa vào độ tương tự giữa hai xâu nói chung và phương pháp đối sánh ontology sử dụng phương pháp học máy nói riêng Bên cạnh đấy, luận văn lựa chọn một miền dữ liệu cụ thể và đưa ra các tìm hiểu, đánh giá về các đặc trưng của miền dữ liệu đã lựa chọn Dựa trên các phương pháp và đặc trưng đã tìm hiểu được, luận văn xây dựng một mô hình giải quyết toán áp dụng cho một miền dữ liệu đó Phần cuối cùng của đề tài sẽ là các kết quả thực nghiệm của mô hình và các ý kiến đánh giá
Nội dung chính trong luận văn gồm 4 chương:
Chương 1: Giới thiệu về Ontology và bài toán đối sánh
Chương 2: Một số hướng tiếp cận giải quyết bài toán đối sánh ontology
Chương 3: Mô hình giải quyết bài toán đối sánh onology dựa trên bài toán phân lớp thống kê
Chương 4: Thực nghiệm và đánh giá
Trang 10Chương 1 GIỚI THIỆU VỀ ONTOLOGY
VÀ KHÁI QUÁT BÀI TOÁN ĐỐI SÁNH 1.1 Giới thiệu về Ontology
Ngày nay, thuật ngữ “Ontology” đã trở nên phổ biến đối với nhiều miền lĩnh vực trong đời sống Trong lĩnh vực của ngành trí tuệ nhân tạo, một Ontology là sự mô tả về những khái niệm và những quan hệ của các khái niệm đó nhằm mục đích thể hiện một góc nhìn về thế giới Trong miền ứng dụng khác của khoa học, một Ontology bao gồm tập các từ vựng cơ bản hay một tài nguyên trên một miền lĩnh vực cụ thể, nhờ đó các nhà nghiên cứu có thể lưu trữ, quản lí và trao đổi tri thức cho nhau theo một cách tiện lợi nhất [4]
Hiện nay tồn tại nhiều khái niệm về ontology, trong đó có nhiều khái niệm mâu thuẫn với các khái niệm, luận văn này giới thiệu một định nghĩa mang tính khái quát
và sử dụng phổ biến được Kincho H Law đưa ra như sau: “Ontology là biểu hiện một tập các khái niệm (đối tượng), trong một miền cụ thể và những mối quan hệ giữa các khái niệm này” [14]
Trang 111.2 Giới thiệu một số Ontology và ứng dụng thực tế
1.2.1 Ontology cho hệ thống Du lịch
Du lịch là một lĩnh vực phong phú được xem xét ở nhiều khía cạnh và phương diện khác nhau Ontology xây dựng cho hệ thống du lịch với mong muốn sẽ là cái nhìn khái quát nhất về thế giới du lịch, dựa trên việc tổng hợp các quan điểm của các thành phần tham gia khác nhau với các loại hình dịch vụ khác nhau Có thể thấy rõ dịch vụ
du lịch rất đa dạng và nó ngày càng được mở rộng Ví dụ dưới đây minh họa cho ứng dụng ontologies bằng cách xây dựng ontology cho các loại hình dịch vụ:
Ăn ở: Khách sạn
Mô tả thông tin khách sạn, mô tả hình thức thanh toán, Các thiết bị trong khách sạn, vị trí của khách sạn, độ lớn của khách sạn, chi tiết về phòng ở, loại giường, vị trí phòng, ngày đặt phòng, địa chỉ khách sạn, tên người đặt phòng, và các dịch vụ khác như phục vụ đồ ăn trong khách sạn, …
Phương tiện đi lại: Máy bay
Mô tả thông tin chung về chuyến bay, thông tin máy bay, thông tin về sân bay, thời gian cụ thể bay, giá cả, địa chỉ cụ thể, thông tin khách hàng, nội dung thông điệp kiểm tra tính khả dụng của chuyến bay, thông tin đặt vé máy bay, thông tin hợp đồng đặt vé máy bay, nội dung thông điệp yêu cầu thay đổi dịch vụ hoặc cập nhật
Phương tiện đi lại: Tàu hỏa
Mô tả các dịch vụ du lịch cả dịch vụ cơ bản và dịch vụ kết hợp, dịch vụ di chuyển, dịch vụ di chuyển bằng tàu hỏa, phương tiện tàu hỏa, các tiện ích sử dụng trên tàu hỏa, ghế ngồi, vé tàu, ga tàu, chặng tàu giữa hai ga, thông điệp yêu cầu đặt mua vé tàu và thông điệp đáp ứng yêu cầu đặt mua, thông điệp chi tiết về hành trình đi tàu
Dịch vụ thuê xe
Mô tả mô hình xe (loại xe), quản lí lượng xe, thông tin cụ thể về thời gian, giá cả, địa chỉ cụ thể, thông tin khách hàng, thông tin giá tiền, thông tin về thuê xe, Nội dung thông điệp yêu cầu và thông điệp đáp ứng yêu cầu kiểm tra tính khả dụng của một loại
xe cụ thể, thông điệp yêu cầu đặt thuê xe, thông tin bản hợp đồng thuê xe…
Các dịch vụ tổng hợp khác từ các dịch vụ cơ bản
Đi cùng với ontology về các loại hình dịch vụ là ontology cho các thành phần tham gia khác nhau (khách hàng, nhà cung cấp, nhà môi giới)…
1.2.2 Ontology cho các khái niệm y sinh
Các ontology về dịch bệnh, kiểu hình (phenotype), gene như: Human Phenotype Ontology (HPO), Gene ontology, Disease ontology
1.2.3 Ontology về quan hệ từ vựng và thực thể
Trang 12Các ontology mô tả cấu trúc và quan hệ giữa các từ vựng và thực thể như: Freebase, Yago…
1.3 Định nghĩa về bài toán đối sánh
1.3.1 Định Nghĩa[15]
Cho hai ontology, đối sánh ontology này với một ontology khác có nghĩa là đối với mỗi thực thể (khái niệm, mối quan hệ, hay đối tượng) trong ontology thứ nhất chúng ta đều cố gắng tìm được một thực thể tương ứng với nó trong ontology thứ hai Phép đối sánh ở đây có thể xem là quan hệ một – một
Hình 1.2 Đối sánh Ontology
Trang 131.3.2 Ví dụ về bài toán đối sánh
Bảng 1.1 Bảng kết quả đối sánh
Ví dụ minh họa cho đối sánh Ví dụ gồm 2 ontologies đơn được gắn kết Hai
ontologies O 1 và O 2 miêu tả miền của ôtô được đưa ra trong hình 1.3 Ontology đầu tiên được miêu tả trong mục ontology Ontology thứ hai bao gồm miền giống
Ontology O 1 nhưng được mô hình hóa khác ở một mức độ không đáng kể Dưới thing bao gồm toàn bộ các khái niệm, tồn tại một vehicle, lần lượt có các phân lớp con là
Trang 14automobile, Volkwagen, và Porscher Thêm nữa, có motor và speed Automobile lần lượt có thuộc tính motor và speed Porsche được mô tả cụ thể với thuộc tính: Marc’s Porsche và Motor123456 Đối sánh hợp lí giữa hai ontologies được đưa ra trong bảng 1.1 Mỗi đường nối bao gồm hai thực thể tương ứng nối từ ontology 1và ontology 2 Trong hình 1.3, đối sánh được mô tả bởi đường dẫn đậm màu cho mỗi liên kết của hai thực thể tương ứng Rõ ràng, things và objects, hai vehicles, cars và automobile, cũng như hai speeds cùng là các khái niệm Mối quan hệ speed và property tương ứng với nhau, bởi vì chúng đều chỉ tới speed Thêm vào đó, hai thực thể Porsche KA-123 và Marc’s Porsche cũng giống nhau, cả hai đều có đặc tính nhanh Để phân biệt giữa hai ontologies, ontology 1 là không gian tên o1 và ontology
2 là không gian tên o2
Liên kết = {o1: object → o2:thing, o1: vehicle → o2:vehicle,…}
1.4 Lược đồ các bước giải quyết bài toán đối sánh
Các bước giải quyết bài toán đối sánh là một quy trình bao gồm nhiều bước và là một quy trình lặp Vớ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ể thay đổi và không giống nhau, hay một số bước có thể được gộp vào nhau tuy nhiên 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 có thể chia thành 6 bước cơ bản sau:
Hình 1.4 Bước thiết lập bài toán đối sánh ontology Đầu vào:
Đầu vào cho quá trình xử lí có hai hay nhiều hơn ontologies, nó cần thiết để liên kết với một cái khác
Trang 15Xây dựng các đặc trưng:
Là bước khởi đầu của quy trình đối sánh ontology (OM) sử dụng các giá trị đầu vào là các ontology và đối sánh (nếu có) Để chọn lựa ontology đầu vào, trước tiên sẽ dựa vào tập khái niệm dùng để định nghĩa nó Bên cạnh đó, dựa vào các đặc điểm chung của các thành phần ontology đầu vào, ở 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 trong quá trình đối sánh ở các bước tiếp theo Ví dụ quá trình đối sánh chỉ có thể dựa vào một tập con ngôn ngữ OWL, chỉ có thể phân loại, hoặc thậm chí chỉ miêu tả ngôn ngữ của thực thể (ví dụ, nhãn “car” để miêu tả khái niệm o1:car)
Tìm và lựa chọn cặp thực thể:
Dựa vào sự phân loại thuộc tính ở bước một sẽ chọn ra các cặp thực thể tương ứng để thực hiện đối sánh ontology bước tiếp theo Chọn để tính toán sự giống nhau của các ứng cử viên của các cặp khái niệm nhất định { (e, f) | e O1, f O2 } Và không để ý đến cái khác Ví dụ chỉ so sánh O1: car với O2: automobile và không so sánh O2: hasMotor
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 đối sánh Ontology Để miêu tả hai thực thể từ các cặp ứng cử viên đối sánh, bước này chỉ ra sự giống nhau
Ví dụ: sim label (O 1 : car, O 2 : automobile) = sim syntatic (“car”,”automobile”) = 0)
Việc tính toán giá trị này được thực hiện thông qua một tập các hàm tương tự và
nó không những trả về sự giống nhau mà còn trả lại cả hai giá trị 0 hoặc 1
Kết hợp các độ tương tự:
Nhìn chung, có nhiều giá trị tương tự cho một cặp ứng cử viên của thực thể bởi
có rất nhiều phương pháp để tính toán độ tương tự và mỗi phương pháp cho ra kết quả khác nhau Các giá trị tương tự khác nhau cho một cặp ứng cử viên phải được kết hợp lại để tạo thành một bộ giá trị tương tự Ví dụ:
(simlabel(O1: car,O2: automobile) + simsubconcepts(O1: car,O2: automobile) + siminstanes(O1: car,O2: automobile))/3 = 0.5).
Đư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, dựa vào kết quả đó để đưa ra kết luận cuối cùng, hay nói cách khác là kết quả cần phải được kiểm định nhằm khẳng định hai thực thể của hai ontology có tương tự nhau hay không Để thực hiện điều này, hầu hết các hệ thống hiện nay đều sử dụng một giá trị ngưỡng nhất
Trang 16đị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
Sự lặp lại:
Độ tương tự của một cặp thực thể ảnh hưởng đến độ tương tự của các cặp thực
thể lân cận, ví dụ nếu các thực thể này là tương đương sẽ ảnh hưởng đến sự tương tự của các khái niệm và ngược lại Vì vậy, độ tương tự được phổ biến rộng rãi thông qua các ontologies theo các liên kết trong ontology Một vài thuật toán thực hiện lặp lại trong toàn bộ quá trình xử lí để khởi động lượng cấu trúc tri thức Trong mỗi sự lặp lại,
độ tương tự của một ứng cử viên đối sánh được tính toán lại dựa trên độ tương tự của các cặp thực thể lân cận Cuối cùng, nó có thể có một độ tương tự mới (ví dụ sim(o1: car, o2: automobile)= 0.85), sau đó cho kết quả trong đối sánh mới (ví dụ align(o1: car)= o2: automobile) Sự lặp lại giúp đưa ra kết quả chính xác hơn, tránh bỏ sót và loại bỏ trường hợp không phù hợp Và để tránh sự lặp lại vô hạn, sự lặp lại kết thúc khi không có đối sánh mới nào được đưa ra Chú ý rằng trong lần lặp sau, một hoặc các bước từ 1 đến 5 có thể bỏ qua, bởi vì tất cả các đặc trưng có thể đã có sẵn trong định
dạng tương ứng hoặc bởi vì tính toán độ tương tự có thể chỉ cần thiết trong bước trước
Đầu ra:
Đầu ra là một sự mô tả của alignment, ví dụ một bảng đối sánh biểu thị mối quan
hệ giữa ontology O1 và O2 và có thể thêm vào các giá trị tin cậy
1.5 Phương pháp đánh giá
1.5.1 Kịch bản đánh giá
Kịch bản đánh giá được đưa ra bởi các mục đích định nghĩa của đối sánh ontology Đối với mỗi đánh giá chúng ta có hai ontologies riêng biệt Không thêm dữ liệu vào, tức là, không có đối sánh được định nghĩa trước có sẵn Các đối sánh đang tạo dựa trên một vài chiến lược đối sánh nhất định, có nghĩa, các tham biến được thiết lập cố định cho quá trình đối sánh Hệ thống chỉ trả lại các đối sánh đã được xác định
rõ Giá trị tương tự và các đối sánh có thể chưa chắc chắn thì không thể xem xét trong đánh giá Vì rất khó khăn để đưa ra các giá trị của nó như một biện pháp đánh giá toàn diện Các cặp đối sánh tạo ra sau khi được xác nhận, tính hợp lệ mâu thuẫn với các đối sánh chính xác, mà trước đó được tạo ra Các đối sánh tạo ra trước được coi như là tiêu chuẩn vàng Đây là một khẳng định chắc chắn vì con người thường sẽ không hoàn toàn đồng ý với tiêu chuẩn này Thêm vào đó chú trọng đến các biện pháp đánh giá Vì giá trị tuyệt đối của các đối sánh là phụ thuộc rất nhiều vào các ontologies, chúng ta sẽ quan tâm đến hiệu suất tương đối của các chiến lược khác nhau, chứ không phải là các giá trị tuyệt đối của các biện pháp đánh giá
Trang 171.5.2 Biện pháp đánh giá
Lựa chọn các biện pháp để đánh giá một phương pháp tiếp cận mới luôn là một bài toán khó, đặc biệt khi con người dễ dàng bị cáo buộc rằng đã chọn các biện pháp thực hiện thuận tiện cho phương pháp tiếp cận riêng Để tránh tình trạng này chúng ta
sử dụng biện pháp chuẩn, tuy không hoàn toàn phù hợp với đánh giá của đối sánh ontology Vì cần đánh giá đối sánh ontology từ các yêu cầu quan điểm khác nhau, vì vậy cần các loại biện pháp khác nhau:
Biện pháp tuân thủ cung cấp những nhận thức về chất lượng của đối sánh xác
định
Biện pháp thực hiện cho thấy các phương pháp tiếp cận như thế nào thì liên
quan tới nguồn có sử dụng máy tính
Biện pháp liên quan đến người dùng trợ giúp cho việc xác định rõ ràng toàn
bộ các quan điểm cá nhân về sự thỏa mãn của người sử dụng
Các biện pháp liên quan đến bài toán, cho phép đánh giá đối sánh tốt như thế nào đối với sử dụng hoặc ứng dụng
Biện pháp tuân thủ
Chúng ta đưa ra hai tiêu chuẩn đánh giá chất lượng của quá trình đối sánh: tính chính xác và hồi tưởng Bởi vì tỉ lệ các đối sánh thực tế trong số các cặp thực thể có thể có là nhỏ, do đó sẽ tập trung vào các đối sánh được xác định đúng (true Positives: TP), các đối sánh đúng mà xác định nhầm lẫn (False Positive: FP), và các đối sánh sai
mà xác định là sai (False Negative: FN), các đối sánh sai mà xác định đúng là sai (True Negative: TN) Đối với hầu hết các phương pháp tiếp cận đều sẽ sử dụng các biện pháp đánh giá chính như: Độ chính xác (P), Độ hồi tưởng (R), Độ đo (F)
Biện pháp thực hiện
Thời gian là một yếu tố quan trọng đối với nhiều ca sử dụng Yêu cầu từ các phản ứng xảy ra tức thời để xử lí theo nhóm Hầu hết các công cụ đã có sẵn không giải quyết yếu tố này một cách rõ ràng Đối với mục đích của chúng ta, nó sẽ tính bằng giây, tương ứng với một phần nghìn giây Liên quan mật thiết với thời gian là vấn đề của khả năng mở rộng (cả về hệ thống và nội dung) để có thể đáp ứng được tốc độ phát triển mà không phải thay đổi gì đến bên trong hệ thống Xác định khả năng mở rộng xem thực hiện một phương pháp tiếp cận cũng là thực tế đối với phạm vi lớn Điều này thường được xác định trước ở mức lý thuyết Cuối cùng, sử dụng bộ nhớ là một biện pháp thực hiện hiệu quả, nhưng do khó khăn trong hệ thống đo, nó sẽ không
Trang 18được xem xét trong đánh giá của chúng ta Tuy nhiên, bộ nhớ cũng đóng vai trò gián tiếp trong quá trình này và vì vậy được thể hiện một phần thông qua biện pháp này
Biện pháp liên quan đến người sử dụng
Hầu hết các thuật toán đòi hỏi sự tương tác của kĩ sư và người sử dụng đều có hiểu biết về tri thức nhân loại, ở các mức độ khác nhau Tuy nhiên, một số tương tác người sử dụng ứng dụng là không được như mong muốn hoặc chỉ có thể ở mức cân bằng Kỹ thuật tự động hóa ở các mức độ khác nhau nằm trong khoảng từ đối sánh thủ công hoàn toàn đến tự động hoàn toàn, trong đối sánh thủ công có thể nhận được sự trợ giúp bởi giao diện người dùng đồ họa (Graphical Uer Interface: GUI) Chúng ta không chỉ phân biệt giữa thiết bị tự động và thao tác thủ công mà còn đo lường mức độ tương tác người sử dụng yêu cầu Cuối cùng, biện pháp liên quan người sử dụng cũng bao gồm sự thỏa mãn các đối tượng của người sử dụng
Biện pháp liên quan đến bài toán
Biện pháp liên quan đến bài toán chỉ tập trung vào sự phù hợp của một phương pháp tiếp cận đối với bài toán cụ thể hoặc ca sử dụng Những biện pháp này có tính chất chủ quan ở mức cao Thông qua bài toán này, chúng ta chỉ có thể sử dụng biện pháp liên quan đến bài toán nhất định, qua đó nó là tối ưu hóa với ca sử dụng khác nhau Cuối cùng, biện pháp này chỉ trả về kết quả có sức thuyết phục trong hệ thống với ứng dụng thực tế
Các biện pháp tuân thủ khác
Có nhiều biện pháp tuân thủ cần thiết được thảo luận, và hữu ích đối với sự đánh giá đối sánh ontoloy
Trang 19Chương 2 MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN
GIẢI BÀI TOÁN ĐỐI SÁNH ONTOLOGY
2.1 Hướng tiếp cận dựa trên mức đối tượng (element-level)
Kĩ thuật dựa trên mức đối tượng xét các thực thể ontology hay đối tượng trong sự tách biệt từ mối quan hệ của chúng với các thực thể hay đối tượng
Kĩ thuật dựa trên chuỗi (String-Based Techniques)
Kĩ thuật dựa trên chuỗi thường được sử dụng để đối sánh tên và mô tả tên của các thực thể ontology Kĩ thuật này xem các chuỗi kí tự như một dãy các kí tự trong bảng chữ cái Chúng được dựa trên đặc trưng sau: sự tương tự các chuỗi, có nhiều khả năng chúng được chỉ cùng một khái niệm Thông thường, hàm khoảng cách ánh xạ một cặp các chuỗi đến một số thực, như vậy một giá trị nhỏ hơn của dãy số thực chỉ ra
sự tương tự lớn hơn giữa các chuỗi Một vài ví dụ về kĩ thuật dựa trên chuỗi được sử dụng rộng rãi trong hệ thống đối sánh là tiền tố, hậu tố, chỉnh sửa và khoảng cách n- gram
Kĩ thuật dựa trên ngôn ngữ (Language-Based Techniques)
Kĩ thuật dựa trên ngôn ngữ coi tên như các từ trong một vài ngôn ngữ tự nhiên,
ví dụ English Chúng dựa trên kĩ thuật xử lí ngôn ngữ tự nhiên khai thác các thuộc tính hình thái của các từ đầu vào Một vài kĩ thuật đã được trình bày trong phần (kĩ thuật nội tại)
Thông thường, chúng được áp dụng cho tên của các thực thể trước sự tác động dựa trên chuỗi hoặc kỹ thuật từ vựng để hoàn thiện kết quả của chúng Tuy nhiên, chúng ta xem kĩ thuật dựa trên ngôn ngôn ngữ như một lớp riêng biệt của kĩ thuật đối sánh, khi đó chúng có thể được mở rộng một cách tự nhiên, ví dụ trong một tính toán khoảng cách (so sánh kết quả của chuỗi hoặc tập các chuỗi)
Ngày nay lớp này bao gồm các lớp tài nguyên ngôn ngữ của lần xuất bản đầu tiên, bao trùm việc sử dụng các nguồn tài nguyên ngôn ngữ, ví dụ như từ điển hoặc bộ
từ điển lớn có sự phân miền rõ ràng, để đối sánh với các từ (trong trường hợp này tên của các thực thể ontology được xem như các từ của một ngôn ngữ tự nhiên) dựa trên các mối quan hệ ngôn ngữ giữa chúng, ví dụ từ đồng nghĩa, từ có quan hệ bao hàm ngữ nghĩa của từ khác Một số phương pháp như được mô tả trong phần (kỹ thuật bên ngoài) Nguồn tài nguyên, như là danh sách các từ đồng nghĩa và từ vựng, cũng có thể được sử dụng như “ontology" thay vì các nguồn tài nguyên ngôn ngữ, tức là, được sử dụng để giải thích các khái niệm thay cho các thuật ngữ Trong trường hợp này, các
Trang 20nguồn tài nguyên giống nhau xuất hiện trong kỹ thuật dựa trên nguồn không chính thức
Kĩ thuật dựa trên ràng buộc
Kĩ thuật dựa trên ràng buộc là thuật toán giải quyết sự ràng buộc nội tại được áp dụng để xác định các thực thể, ví dụ các kiểu, tập hợp (số bội) của thuộc tính, và khóa
Kĩ thuật dựa trên nguồn tài nguyên không chính thức
Ontologies có thể được gắn với nguồn tài nguyên không chính thức, ví dụ chú
thích trang bách khoa toàn thư hoặc hình ảnh Kĩ thuật dựa trên nguồn tài nguyên không chính thức bao gồm các kĩ thuật được sử dụng để suy diễn các mối quan hệ giữa
các thực thể ontology dựa trên mối liên quan như thế nào của nguồn tài nguyên Điển hình, hai lớp chú thích tập hình ảnh giống nhau có thể được coi là tương đương Các kĩ thuật trên thường khai thác khả năng phân tích dữ liệu và phương pháp thống kê cũng như các phương pháp sử dụng lợi ích của (mức độ lớn) ngữ liệu của các thực thể có
liên quan với nhau để tìm thấy tìm ra qui tắc và khác biệt giữa chúng
Kĩ thuật dựa trên nguồn tài nguyên chính thức miền riêng
Kĩ thuật nguồn tài nguyên dựa trên miền riêng sử dụng lợi ích ontologies mở rộng để thực hiện đối sánh Thông thường, chúng kết hợp đối sánh giữa các ontologies
để bắt đầu đối sánh từ một hay nhiều ontologies mở rộng Trong vài năm gần đây một vài bộ đối sánh ontologies dựa trên bối cảnh sử dụng nguồn tài miền riêng được đề xuất, bằng cách sử dụng các ontologies miền riêng, ontologies tầng trên, liên kết dữ liệu và nguồn tài nguyên khác Lớp kĩ thuật này bao gồm các kĩ thuật và phổ biến cả
ontologies hình thức mức trên và ontologies hình thức miền riêng Cả hai lớp tập trung
vào các khía cạnh khác nhau của kĩ thuật dựa trên nguồn tài nguyên miền riêng, cụ thể trên các loại ontologies hoặc các loại đối sánh được sử dụng như một nguồn tài nguyên bên ngoài
2.1.1 Phương pháp dựa trên phân tích chuỗi (String-based method)
Phương pháp này sử dụng những lợi ích từ việc phân tích cấu trúc của một chuỗi (dãy các ký tự) Có rất nhiều cách để so sánh các chuỗi với nhau tùy thuộc vào việc chúng được thể hiện như thế nào, ví dụ một dãy các kí tự đúng, một dãy các kí tự sai, một tập các từ, một tập các kí tự… những độ đo phổ biến nhất được trình bày dưới đây
để so sánh các chuỗi [7]:
a Chuẩn hóa chuỗi
Trước khi so sánh các chuỗi thực tế, trong đó nó có ý nghĩa trong ngôn ngữ tự nhiên, quá trình sự chuẩn hóa có thể giúp cải thiện kết quả so sánh một dãy con Đặc biệt:
Chuyển đổi kí tự in hoa trong chuỗi thành bản sao chữ thường Ví dụ đĩa CD
Trang 21thành cd and SciFi thành scifi
Loại bỏ dấu phụ thay thế các kí tự có dấu phụ bằng sự thay thế thường xuyên nhất của chúng Ví dụ thay thế Montréal bằng Montreal
Chuẩn hóa tất cả các kí tự để trắng, ví dụ phần trống, lập bảng, chuyển dòng, hay chuẩn hóa dãy này vào một kí tự trống
Chuẩn hóa các liên kết giữa các từ, ví dụ thay thế các dấu nháy đơn và gạch chân phần trống thành dấu gạch ngang hoặc khoảng trống Ví dụ peer-reviewd thành peer reviewd
Loại bỏ số Ví dụ book24545-18 thành book
Loại dấu chấm Ví dụ C.D thành CD
Tiến hành chuẩn hóa chuỗi cần được sử dụng cẩn thận bởi nhiều lí do Cụ thể:
Chúng thường phụ thuộc ngôn ngữ
Chúng thường phụ thuộc vào thứ tự: không đảm bảo mang lại kết quả giống nhau khi được áp dụng bất kì thứ tự nào
Chúng có thể làm mất kết quả một vài thông tin ý nghĩa; ví dụ carbon 14, thành carbon
Làm mất tính tách câu, nó rất hữu ích cho phân tích cú pháp câu
Chúng có thể giảm các biến thể, nhưng tăng đồng nghĩa Ví dụ ở Pháp livre
và livres’ là các từ có nghĩa khác nhau tương ứng với book và delivered
b Độ tương đồng của chuỗi
So sánh trực tiếp các kí tự của hai chuỗi, nếu các tất cả các kí tự trong chuỗi đều giống nhau thì độ tương đồng của chuỗi trả về giá trị 1 và ngược lại trả về giá trị 0 nếu chúng không giống nhau
Định nghĩa: Độ tương đồng là một độ đo tương tự : S x S → [0,1] nếu x, y
S (x, x) = 1 và nếu x ≠ y, (x, y) = 0
Độ đo này không giải thích các chuỗi như thế nào là khác nhau Một cách trực tiếp hơn để so sánh hai chuỗi là dùng khoảng cách Hamming, nó đếm số lượng vị trí tại đó hai chuỗi là khác nhau Ở đây chúng ta trình bày cách đã được chuẩn hóa theo chiều dài của chuỗi dài nhất
Định nghĩa: Khoảng cách Hamming là một độ đo sự không tương tự : S x S →
[0,1], trong đó:
|)t
|
|,smax(|
||
t
|
|s
||
]i[t]i[s)
ts(
|) t
|
|, min(|
1 i
s, t là hai chuỗi cần so sánh
Trang 22|s|, |t| lần lượt là số kí tự của s và t
c Kiểm tra chuỗi con
Các phương án khác nhau có thể thu được từ độ tương đồng của chuỗi, chẳng hạn chú ý rằng các chuỗi là rất giống nhau khi chuỗi này là con của chuỗi khác
Định nghĩa: Kiểm tra chuỗi con là một độ đo sự tương tự : S x S → [0, 1] sao
cho 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
Định nghĩa: Độ tương tự chuỗi con là một độ đo sự tương tự : S x S → [0 1]
sao cho x, y S, và với t là chuỗi con chung dài nhất của x và y thì:
2 | | ( , )
của nó) Ví dụ reviewed article thì cụ thể hơn ariticle Nó cũng có thể được sử dụng đối với so sánh chuỗi và những chữ viết tắt giống nhau, ví dụ ord và order
Sự tương tự n-gram cũng thường sử dụng trong so sánh chuỗi Nó tính toán số
lượng n-gram, tức là, chuỗi của n kí tự, giữa chúng Ví dụ trigrams đối với chuỗi article là art, rti, tic, icl,cle
Định nghĩa (Sự tương tự n-Gram): Đặt ngram(s, n) là một tập các chuỗi con
của s có độ dài n n-gram tương tự là một độ đo tương tự : S x S → R sao cho
Trang 23Do đó, ví dụ độ tương tự giữa article và aricle sẽ là 2/4 = 0.5, trong khi giữa
ariticle và paper sẽ là 0
d Khoảng cách chỉnh sửa (Edit Distance)
Là một độ đo thể hiện chi phí nhỏ nhất của các phép toán được áp dụng để biến đổi chuỗi thứ nhất thành chuỗi thứ hai Khoảng cách chỉnh sửa được thiết kế để đo sự tương tự giữa các chuỗi mà có thể bao gồm cả lỗi chính tả
Định nghĩa (Khoảng cách chỉnh sửa): Cho trước tập Op các phép toán chuỗi (op
: S → S), và hàm chi phí ω : Op → R, sao cho với cặp chuỗi bất kì đều tồn tại dãy phép toán biến đổi xâu thứ nhất thành xâu thứ hai (và ngược lại) Khoảng cách chỉnh sửa là độ đo không giống nhau : S x S → [0, 1] trong đó (s,t), là chi phí nhỏ nhất
của chuỗi các phép toán mà chuyển đổi s thành t
Các phép toán gồm: chèn kí tự ins(c,i), thay thế một kí tự bằng kí tự khác sub(c, c’,i) và xóa kí tự del(c,i) Dễ thấy ins(c,i) = del(c,i) -1 và sub(c,c’,i) = sub(c’,c,i) -1 Mỗi phép toán được gắn một chi phí và khoảng cách giữa hai chuỗi là tổng chi phí nhỏ nhất của mỗi phép tính trong tập phép toán
Tóm lại, phương pháp dựa trên chuỗi (String-based methods) 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ừ đồng nghĩ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 này 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.1.2 Phương pháp dựa trên ngôn ngữ
Ngày nay, chúng ta coi các chuỗi như một dãy kí tự Khi đang xem xét hiện
tượng ngôn ngữ, chuỗi này trở thành văn bản (theoretical peer-reviewed journal article) Văn bản có thể phân chia thành các từ, dễ dàng xác định dãy các kí tự được
nhận từ một mục từ trong từ điển (theoretical, peer, reviewed, journal, article)
Thuật ngữ là cụm từ mà khái niệm được xác định rõ ràng, vì vậy chúng thường xuyên được sử dụng đối với việc đặt tên cho các khái niệm trong Ontologies Do đó, đối sánh ontology có thể nhận được lợi ích và xác định rõ ràng chúng trong các chuỗi Phương pháp dựa trên ngôn ngữ dựa vào sử dụng những kỹ thuật xử lý ngôn ngữ
tự nhiên giúp trích xuất các thuật ngữ có ý nghĩa từ một văn bản để tìm ra quan hệ giữa những thuật ngữ trong hai Ontology Phương pháp này có thể chỉ sử dụng tài nguyên
Trang 24bên trong Ontology (ví dụ về hình thái của thuật ngữ, cú pháp hay các thuộc tính) hoặc
sử dụng cả những tài nguyên bên ngoài (ví dụ tập từ điển như WordNet) Về bản chất, phương pháp này phân loại các thuật ngữ dựa trên ngữ nghĩa của chúng, vì vậy một thuật ngữ có thể được biểu diễn bởi nhiều cách khác nhau
Phương pháp nội tại (Intrinic methods)
Phương pháp này chủ yếu dựa vào cấu trúc nội tại của các thực thể và sử dụng các điều kiện như tập thuộc tính, miền giá trị thuộc tính Nó thực hiện việc nối những cặp thuật ngữ với sự trợ giúp của việc phân tích hình thái và cú pháp của các thuật ngữ sau khi đã được chuẩn hóa Sự chuẩn hóa ngôn ngữ nhằm làm giảm hình thái của thuật ngữ để tiêu chuẩn hóa hình thái có thể dễ dàng nhận ra Các biến thể về hình thái chủ
yếu được tìm ra bởi thuật toán stemming bằng cách loại bỏ một số những thành phần
được thêm vào thuật ngữ như dạng số nhiều hay động từ được chia để đưa về một chuẩn chung Ví dụ như các từ match, matching, matches sẽ được chuyển về dạng nguyên thể là match, hay Computer, computed, computes computerize sẽ được chuẩn hóa đưa về dang nguyên thể là compute Thuật toán này được đưa ra bởi Porter [20],
và được sử dụng chủ yếu trong tiếng anh để loại bỏ các hậu tố của hình thái các thuật ngữ, bên cạnh đó nó cũng đã được thực hiện cho một vài ngôn ngữ khác như tiếng Đức Các hình thái của thuật ngữ không chỉ được tạo ra từ việc loại bỏ hậu tố, mà sự
đa dạng của các thuật ngữ còn được thể hiện bằng nhiều cách khác nhau khi không có
sự tác động đến các hậu tố Trong một vài trường hợp, hai thuật ngữ có sự khác biệt ở một số âm tiết cuối cùng khác so với từ nguyên gốc, những trường hợp này vẫn có thể
được xác định bởi thuật toán stemming ví dụ như “Baby” và “Babies”, “Country” và
“Countries” Các trường hợp khác, hai thuật ngữ lại khác nhau một phần hoặc toàn bộ
ví dụ như “buy” và “bought” hoặc “teach” và “taught”, “think” và “thought”
Phương pháp bên ngoài (Extrinsic methods)
Phương pháp này cho phép chúng ta sử dụng thêm những nguồn bên ngoài như
từ điển hoặc những tập từ vựng Điển hình là từ điển WordNet, rất dễ dàng để xác định những mối quan hệ gần gũi giữa hai thuật ngữ như là đồng nghĩa (synonym) hoặc tính một số khoảng cách về ngữ nghĩa giữa chúng để đưa ra mối quan hệ có thể có giữa hai thuật ngữ Ngoài ra còn một độ đo đơn giản nữa đó là sử dụng tính bắc cầu của tính đồng nghĩa, chúng ta có thể dễ dàng lấy được từ đồng nghĩa của một từ cho trước với
Trang 25Tuy nhiên độ đo này lại không thể phân biệt được khoảng cách của hai từ là bao nhiêu nếu chúng không đồng nghĩa hoặc chúng có quan hệ gần tới mức nào nếu chúng đồng nghĩa
2.2 Hướng tiếp cận dựa trên mức cấu trúc (structure-level)
Trái ngược với kỹ thuật mức đơn, kỹ thuật mức cấu trúc xem xét ontologies thực thể hoặc đối tượng của chúng để so sánh mối quan hệ của chúng với thực thể khác hay đối tượng khác
Phương pháp này cố gắng tìm ra những sự tương tự của hai thuật ngữ dựa trên sự tương tự của hai Ontology chứa nó về mặt cấu trúc Phương pháp này được thực hiện dựa trên một giả thiết là hai thuật ngữ tương đồng với nhau về mặt ngữ nghĩa khi hàng xóm lân cận của chúng là tương tự với nhau Sự tương đồng về ngữ nghĩa giữa các thuật ngữ có thể được tìm thấy bằng cách xem xét các cấu trúc của chúng cả về cấu trúc bên trong (bao gồm các giá trị miền, các thuộc tính, các tính chất của thuật ngữ) lẫn cấu trúc bên ngoài (bao gồm các mối quan hệ giữa thuật ngữ với những thuật ngữ khác xung quanh nó) thay vì xem xét chính bản thân thuật ngữ về tên hay định danh của chúng Phương pháp dựa trên cấu trúc cũng thường được kết hợp với các phương pháp sử dụng các độ đo tương tự về từ vựng hay các phương pháp học máy nhằm cải thiện kết quả
2.2.1 Kỹ thuật dựa trên cây (Taxonomy-based techniques)
Kỹ thuật dựa trên cây cũng là thuật toán đồ thị mà chỉ xem xét mối quan hệ sự
chuyên môn hóa Trực giác đằng sau kĩ thuật cây là liên kết is-a (cha – con) kết nối
các thuật ngữ mà đã được tương tự (được hiểu như một tập con hoặc tập cha của nhau), vì vậy hàng xóm lân cận cũng có thể tương tự bằng cách này hay cách khác Trực giác này có thể khai thác vài cách khác nhau được trình bày trong các phần khác
2.2.2 Kỹ thuật dựa trên đồ thị
Kĩ thuật dựa trên đồ thị là thuật toán đồ thị mà xem các ontologies đầu vào (bao gồm lược đồ cơ sở dữ liệu, và nguyên tắc phân loại) như đồ thị được gán nhãn Thông thường, so sánh sự giống nhau giữa một cặp nút từ hai ontologies được dựa trên phân tích vị trí của chúng bên trong đồ thị Trực giác đằng sau này là, nếu hai nút từ hai ontologies giống nhau, láng giềng của chúng cũng phải giống nhau bằng cách này hay cách khác
Cùng với kỹ thuật hoàn toàn dựa trên đồ thị, có rất nhiều kỹ thuật dựa trên cấu trúc khác, ví dụ các cây liên quan