intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Một phương pháp gióng hàng Ontology trong OWL-DL

Chia sẻ: Minh Minh | Ngày: | Loại File: PDF | Số trang:10

25
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong bài báo này tác giả tìm hiểu phương pháp gióng hàng ontology (ontology alignment) trên ngôn ngữ OWL-Lite và OWL-DL. Trên cơ sở khảo sát công cụ OLA (Owl Lite Alignment) với kĩ thuật ánh xạ OWL Lite ontology, chúng tôi đề xuất một phương pháp tính độ tương tự của các thành phần giữa các OWL-DL ontology.

Chủ đề:
Lưu

Nội dung Text: Một phương pháp gióng hàng Ontology trong OWL-DL

  1. JOURNAL OF SCIENCE OF HNUE FIT., 2013, Vol. 58, pp. 28-37 This paper is available online at http://stdb.hnue.edu.vn MỘT PHƯƠNG PHÁP GIÓNG HÀNG ONTOLOGY TRONG OWL-DL Đỗ Thị Ngọc Khang1 và Phạm Thị Anh Lê2 1 Trường THPT Trung Giã, 2 Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Hà Nội 2 Email: lepta@hnue.edu.vn Tóm tắt. Trong bài báo này chúng tôi tìm hiểu phương pháp gióng hàng ontology (ontology alignment) trên ngôn ngữ OWL-Lite và OWL-DL. Trên cơ sở khảo sát công cụ OLA (Owl Lite Alignment) với kĩ thuật ánh xạ OWL Lite ontology, chúng tôi đề xuất một phương pháp tính độ tương tự của các thành phần giữa các OWL-DL ontology. Phương pháp tính độ tương tự được thực hiện trên các thành phần ontology cụ thể và được thử nghiệm bằng việc xây dựng một hệ thống OWL-DL Alignment (ODA). Đánh giá thực nghiệm cho thấy hệ thống đạt kết quả với độ tương tự có mức chính xác cao. Từ khóa: Gióng hàng ontology, OWL-DL. 1. Giới thiệu Trong thực tế, nhiều hệ tri thức sử dụng ontology như một cách tiếp cận để biểu diễn tri thức theo định dạng có cấu trúc. Con người luôn có nhu cầu chia sẻ và tái sử dụng tri thức từ nhiều nguồn khác nhau. Tái sử dụng tri thức cũng là một bước rất quan trọng trong quá trình thiết kế ontology. Khi xây dựng một ontology, người ta tìm những khái niệm, tiên đề, cá thể,. . . từ các ontology có cùng chủ đề để sử dụng lại. Tuy nhiên, mỗi ontology lại có cách biểu diễn tri thức khác nhau, tùy thuộc vào các ứng dụng cụ thể. Do đó, các phương pháp tìm kiếm những khái niệm tương đồng trong phần mô tả của các cặp ontology là rất cần thiết. Các phương pháp này được gọi là ánh xạ (mapping) hay gióng hàng (alignment) ontology. Nhiều kĩ thuật alignment [2] đã được nghiên cứu thực hiện như: đánh giá dựa trên nhãn của các thực thể trong ontology (gọi tắt là thực thể), dựa vào cấu trúc nội tại của các thực thể, cấu trúc quan hệ (độ tương tự tính dựa trên việc phân tích vị trí của chúng trong đồ thị). . . Một số phương pháp đã được sử dụng phổ biến: ANCHORPROMPT (Noy et al., 2001), IF-MAP (Kalfoglou et al., 2003), ASCO (Bach et al., 2004), GLUE (Doan et al., 2004), QOM (Ehrig et al., 2004a) và OLA (Euzenat et al., 2004b). Các phương pháp đều biểu diễn ontology theo định dạng ngôn ngữ đánh dấu (xml, RDF(S), và OWL-Lite2). Ngoài ra, các phương pháp này đánh giá độ tương tự ít nhiều dựa trên cấu trúc của ontology đó. OLA là một công cụ sử dụng thuật toán mới cho việc tính toán độ tương tự của hai ontology sử dụng ngôn ngữ OWL-Lite [4]. Thuật 28
  2. Một phương pháp gióng hàng Ontology trong OWL-DL toán gióng hàng các ontology được OLA thực hiện với bốn bước cơ bản. Đầu tiên, xây dựng mô hình đồ thị OL-graph [2] biểu diễn các ontology OWL-Lite. Bước 2, tính toán độ tương tự nội tại (id, label) của cặp đối tượng được xét. Bước 3, tính toán độ tương tự về cấu trúc của cặp dựa vào độ tương tự của các láng giềng cấp một. Bước 4, tính độ tương tự tổng thể dựa trên độ tương tự nội tại và độ tương tự về cấu trúc đã tính ở trên áp dụng đối với đối tượng là: lớp và thuộc tính. Mặt khác, như chúng ta đã biết, OWL Lite có những hạn chế về khả năng biểu diễn tri thức [8]. Trong khi đó, OWL-DL là một phiên bản được sử dụng rất phổ biến bởi tính biểu đạt của ngôn ngữ và hỗ trợ việc lập luận hiệu quả. Từ những phân tích về chức năng của OLA chủ yếu hỗ trợ OWL Lite ontology, chúng tôi đề xuất một phương pháp gióng hàng các ontology trong ngôn ngữ OWL DL. 2. Nội dung nghiên cứu 2.1. Gióng hàng các ontology 2.1.1. Khái niệm ontology Trong khoa học máy tính, ontology được định nghĩa là một biểu diễn hình thức cho tập hợp các khái niệm thuộc một lĩnh vực nào đó và quan hệ giữa những khái niệm này. Cụ thể hơn, ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tính quan trọng, các mô tả về các khái niệm và các thuộc tính phức tạp. Các ontology thường miêu tả: cá thể (thể hiện), lớp (khái niệm), thuộc tính và các quan hệ [1]. Khái niệm (lớp) có thể biểu diễn một nhóm, bộ, tập hợp các đối tượng hoặc là các đối tượng trừu tượng - biểu diễn các giá trị ràng buộc. Ví dụ: AccommodationRating biểu diễn lớp tất cả các mức tiêu chuẩn chất lượng của một chỗ ở. Cá thể là thành phần cơ bản của một ontology. Tham khảo ví dụ ontology du lịch, trong lớp AccommodationRating có các thể hiện: OneStarRating (Một sao), TwoStarRating (Hai sao), ThreeStarRating (Ba sao). Mỗi cá thể là một thể hiện duy nhất của lớp. Thuộc tính được dùng để mô tả các tính chất, đặc điểm của cá thể (lớp) trong ontology. Một thuộc tính cũng có thể là một lớp hay một cá thể. Ví dụ như: cá thể HaNoi có các thuộc tính: HaNoi Capital (là thủ đô) FourSeasons (có đủ 4 mùa) WestLake (Hồ Tây) Quan hệ giữa các đối tượng trong một ontology cho biết các đối tượng liên hệ với đối tượng khác như thế nào. Chẳng hạn, ontology chứa khái niệm Accommodation và khái niệm Thing được liên hệ bởi quan hệ . Điều này cho ta biết Accomodation là mô hình thay thế cho Thing. Để biểu diễn các thành phần của ontology, người ta sử dụng các ngôn ngữ ontology. Trong lĩnh vực web ngữ nghĩa, có khá nhiều ngôn ngữ như XML, RDF, DAML+OIL, OWL. . . 29
  3. Đỗ Thị Ngọc Khang, Phạm Thị Anh Lê Trong đó, OWL là một trong những ngôn ngữ phổ biến nhất, có các phiên bản khác nhau: OWL-Lite, OWL-DL và OWL-FULL. Trong bài báo này, chúng tôi giới thiệu OWL-DL [8]. Chúng tôi sẽ trình bày ngắn gọn cú pháp cơ bản của ngôn ngữ này qua ví dụ sau: Phần mô tả lớp AccommodationRating và cá thể HaNoi đề cập ở phần trên được biểu diễn bằng cú pháp trừu tượng của ngôn ngữ OWL-DL như sau: Namespace(p =< http://www.semanticweb.org/ontologies/2012/4/travel2.owl# #>) Ontology( < http://www.semanticweb.org/ontologies/2012/4/travel2.owl# #> Class(p:AccommodationRating) SubClassOf (owl:Thing) EnumeratedClass (p:AccommodationRating p:OneStarRating p:ThreeStarRating p:ThreeStarRating) Individual (p: HaNoi) p:HaNoi type(p:Capital) value (p:hasAccomodation p:FourSeasons) value (p:hasPart p:WestLake) Đoạn mã trên sử dụng 6 thành phần OWL-DL chính là: Class cho phép định nghĩa một tài nguyên như là một lớp hoặc khái niệm cho các tài nguyên khác, subClassOf cho phép định nghĩa cấu trúc phân cấp giữa các lớp, và EnumeratedClass cho phép mô tả lớp tương đương với lớp hiện tại là một tập các cá thể, Individual cho phép định nghĩa một tài nguyên là cá thể, type cho phép mô tả một cá thể thuộc loại (lớp) đã có, value cho phép mô tả mối quan hệ giữa cá thể với lớp (thể hiện). 2.1.2. Gióng hàng các ontology Như chúng ta đã biết, một bước trong quá trình thiết kế ontology là tái sử dụng các dữ liệu trong các ontology đã có. Tuy nhiên, trong thực tế, nhiều ontology có cùng chủ đề thì vẫn tồn tại những khác biệt như quy cách đặt tên, cấu trúc thiết kế. . . Các phương pháp gióng hàng nhằm tìm các cặp thực thể tương đồng giữa các ontology [3]. OLA là một phần mềm được xây dựng để đánh giá độ tương tự trong các OWL Lite ontology. Sau khi phân tích mỗi ontology bằng OWL API, OLA sẽ sinh ra hai đồ thị OL-graph [2]. Với OL-graph, các nút biểu diễn các thành phần: lớp, đối tượng, bản số, kiểu dữ liệu; cạnh của đồ thị biểu diễn các quan hệ giữa các nút. Độ tương tự của các thực thể (cặp nút) trên hai đồ thị được xét dựa trên hai yếu tố: là kiểu thành phần mà nút đó biểu diễn (độ tương tự về ngôn ngữ) và phần mô tả cho nút đó: các lớp cha, con, các thuộc tính và các cạnh được gắn nhãn là kiểu quan hệ liên kết nút được xét với nút có quan hệ với nó (độ tương tự về cấu trúc). Tuy nhiên, việc áp dụng OLA cho các OWL DL ontology chưa phù hợp với một số cú pháp: EquivalentClasses, EnumeratedClass, EquivalentProperties, SameIndividual... Hơn nữa, thuật toán tính độ tương tự của OLA không xét tới độ tương tự các láng giềng cấp 2 và chỉ thể hiện độ tương tự của lớp, thuộc tính và bỏ qua các cá thể. File mô tả kết quả đầu ra chưa phù hợp với các hệ soạn thảo ontology thông dụng. Từ những hạn chế trên, chúng tôi đề xuất một phương pháp đánh giá độ tương tự cho các thành phần của ontology với ngôn ngữ mô tả OWL-DL. Hệ thống ODA mà chúng tôi xây dựng vẫn trên cơ sở thuật toán của OLA nhưng có tham khảo phương pháp gióng hàng các ontology với cặp ontology sử dụng ngôn ngữ mô tả OWL-DL đã được OAEI đánh giá năm 2011, kết hợp 30
  4. Một phương pháp gióng hàng Ontology trong OWL-DL với một số điều chỉnh: bổ sung đánh giá độ tương tự cho các mệnh đề mô tả thuộc tính lớp tương đương, sử dụng thuật toán Hunggary để chọn các cặp đối tượng sao cho tổng số độ tương tự của hai ontology là lớn nhất và tạo lại mẫu file chứa kết quả phù hợp để hiệu chỉnh với các hệ soạn thảo ontology thông dụng. Tên gọi của hệ thống này là: OWL-DL Alignment. Sau đây là các bước cơ bản của kĩ thuật mà chúng tôi sử dụng. 2.2. Gióng hàng OWL-DL ontology Trong phần này, chúng tôi xây dựng hệ thống ODA gióng hàng ontology trong ngôn ngữ OWL-DL. Hệ thống cũng thực hiện ba bước cơ bản: xây dựng đồ thị RDF (O-graph), tính độ tương tự giữa các cặp thực thể và đưa ra kết quả về các cặp thực thể tương đồng (sử dụng thuật toán Hungary). 2.2.1. Xây dựng đồ thị RDF Đầu tiên, chúng tôi biểu diễn mỗi ontology bởi một đồ thị RDF sử dụng công cụ Jena api [5]. Trong Jena, toàn bộ thông tin được biểu diễn bằng một tập các bộ 3 RDF trong một cấu trúc dữ liệu gọi là “mô hình”. Mô hình chính là đồ thị RDF chứa tập các nút RDF liên kết với nhau bởi các cạnh là các quan hệ có gắn nhãn. Mỗi quan hệ chỉ đi theo một hướng. Ví dụ: example:ijd travel:name "HaNoi" travel:type “Capital” có thể được hiểu là tài nguyên example:ijd có thuộc tính travel:name với giá trị "HaNoi". Mô hình này giống như một đồ thị có hướng với 2 kiểu nút cơ bản: URI và Literal (các giá trị của thuộc tính). Các tài nguyên thường được mô tả bởi các URI. Còn cạnh trong đồ thị được gán nhãn bởi tên thuộc tính. Như vậy, mỗi cạnh trong đồ thị là một phát biểu (statement) gồm bộ 3: subject là nút khởi đầu cạnh, predicate là thuộc tính hay quan hệ được gắn nhãn cho cạnh và object có thể là nút kết thúc hoặc là tài nguyên (resource) hoặc giá trị (literal). Jena api cung cấp một số phương thức để trích lấy các thành phần cơ cản của một ontology. Tuy nhiên, không phải mọi mô tả đều trả về kết quả mong muốn. Với thành phần lớp tương đương và thuộc tính tương đương, api này không trả về đầy đủ danh sách lớp, thuộc tính và ràng buộc kèm theo (nếu có); với danh sách các lớp, thuộc tính cha và con không trả về các danh sách cấp 1, cấp 2,... mà trộn lẫn vào chung một tập hợp; thuộc tính kiểu, danh sách các cá thể tương tự và khác biệt của cá thể nếu lớn hơn 1 thì sẽ trả về thiếu một lớp trong danh sách đầy đủ... Do đó, ta cần đi xây dựng lại các phương thức này để đảm bảo thực hiện các bước sau của thuật toán. Việc tính toán độ tương tự giữa các cặp thực thể có khá nhiều độ đo. Trong hệ thống ODA, qua thử nghiệm và đánh giá, chúng tôi sử dụng độ tương tự về ngôn ngữ, độ tương tự láng giềng và độ tương tự tổng thể. 2.2.2. Độ tương tự về ngôn ngữ Có khá nhiều thuật toán cho phép đo độ tương tự về ngôn ngữ như: kĩ thuật dựa trên xâu (string-based), dựa trên khoảng cách Hamming, dựa trên tài nguyên về ngôn ngữ, ... Ở đây, trên cơ sở tham khảo [6] chúng tôi sử dụng: độ tương tự LEVENSHTEIN dùng để đo độ tương tự về tên các đối tượng; độ tương tự Q-GRAM dùng để đo độ tương tự giữa các comment của đối tượng 31
  5. Đỗ Thị Ngọc Khang, Phạm Thị Anh Lê trong ontology; độ tương tự JARO-WINKLER đo độ tương tự nhãn (label) của 2 đối tượng. Hàm SIMCL (dùng một trong ba thuật toán trên - tùy theo kiểu thành phần tương ứng), trọng số gán cho phần descriptor là IID . Độ tương tự về ngôn ngữ cho: lớp, thuộc tính và thể hiện (class, properties và instance) được tính: Với lớp, thể hiện ta xét nhãn, chú thích (label và comment) và tên lớp (thể hiện); thuộc tính ta xét bổ sung phần độ tương tự cho type (character), sao cho tổng các trọng số (độ tương tự) là bằng 1. Riêng trường hợp lớp tương đương với lớp đang xét (có thể kèm ràng buộc) thì độ tương tự về ngôn ngữ cho thành phần đó sẽ được tính như sau: Nếu phần mô tả lớp tương đương chỉ đơn giản là tên lớp tương đương không ràng buộc, ta xét như bình thường với các thuộc tính khác. Còn nếu đó là mệnh đề phức hợp, ta tiến hành lọc từng mệnh đề trong danh sách lớp tương đương, sau đó thực hiện sinh các mệnh đề tương đương với mệnh đề đang xét sao cho thuộc tính owl:intersectionOf (and), owl:unionOf (or), owl:oneOf (tập hợp) có tính chất giao hoán. Xét ví dụ: Phần mã mô tả trên: “Accomodation and has_Rating some OneStarRating, TwoStarRating” Và mệnh đề trên tương đương với các mệnh đề sau: “has_Rating some OneStarRating, TwoStarRating and Accomodation; has_Rating some” “TwoStarRating , OneStarRating and Accomodation; Accomodation and has_Rating some TwoStarRating, OneStarRating” Sau khi thực hiện xong bước trên ta tiến hành đánh giá độ tương tự của các mệnh đề. Chúng tôi sử dụng thuật toán Q-GRAM similarity, thuật toán thích hợp để đo độ tương tự của các xâu dài, lọc lấy cặp mệnh đề có độ tương tự lớn nhất tính vào độ tương tự của cặp đối tượng. Với độ tương tự của láng giềng cấp 2, ta không xét láng giềng của các lớp có ràng buộc kèm theo, chỉ xét láng giềng của các lớp không có ràng buộc và chỉ đối sánh độ tương tự ngôn ngữ cho phần mô tả lớp tương đương có ràng buộc sau khi đã sinh các mô tả tương đương dựa theo quy tắc đã trình bày ở trên. Ta thấy rằng, độ tương tự về ngôn ngữ là một thành phần quan trọng nhưng chưa đủ để đánh giá độ tương tự của các đối tượng. Do vậy, chúng tôi tiến hành đo độ tương tự láng giềng. 32
  6. Một phương pháp gióng hàng Ontology trong OWL-DL 2.2.3. Độ tương tự láng giềng Trọng số gán cho độ tương tự ngôn ngữ là IIC và cho láng giềng là IIL . Độ tương tự của láng giềng tính bằng độ tương tự về ngôn ngữ của cặp nút và độ tương tự về cấu trúc của cặp nút. Các nút láng giềng được tổ chức theo cấu trúc category (nút có cùng kiểu): có hai cấp láng giềng. Láng giềng cấp 1: các láng giềng trực tiếp có thể là class, instances hoặc properties. Chúng có quan hệ trực tiếp với nút đang xét. Các ontology cùng kiểu thì đưa vào cùng một nhóm. Láng giềng cấp 2 (không trực tiếp): có quan hệ trực tiếp với nút đang xét ở mục láng giềng cấp 1, và được tính tương tự với láng giềng cấp 1. Công thức được tính dựa trên hàm MSim [6] với 2 vectơ là VN1 và VN2 ứng với 2 ontology (N1 và N2 ): P ′ (i,i′ )∈P airs(E,E ′ ) SimCLS (i, i ) M sim(E, E ) =′ (2.1) M ax(|E|, |E ′ |) Trong đó, SimCLS là độ tương tự về ngôn ngữ của các cặp (i, i′ ) trong tập (E, E ′ ), là các thành phần cùng kiểu tương ứng ở hai ontology đang xét. Tổng các độ đo SimCLS sẽ là giá trị lớn nhất của các độ đo SimCLS theo các cặp (i, i′ ). Max(|E|, |E ′ |) là số phần tử của tập lớn hơn trong hai tập E và E ′ đang xét. Độ tương tự của láng giềng sẽ tính theo công thức: X Y X Y SimN = ( ( ′ M Sim(E, E ′ ))) (2.2) (E,E ) i∈(1,2) V i (E,E ′ ) Ở đó, i là mức (level), IIV 1 và IIV 2 được gán mặc định các giá trị 0.8 và 0.2 tương ứng. Tỉ lệ II(E,E ′ ) được tính tùy theo từng kiểu nhóm láng giềng. Bước tiếp theo chúng tôi tính độ tương tự tổng thể cho cặp đối tượng. 2.2.4. Độ tương tự tổng thể Độ tương tự tổng thể của hai cặp đối tượng được tính dựa trên độ tương tự về ngôn ngữ và độ tương tự của các láng giềng. Y Y SimA (e1 , e2 ) = SimCL (e1 , e2 ) + SimN (e1 , e2 )[3] (2.3) CL N Với IICL và IIN là hệ số tương ứng sao cho IICL + IIN = 1. Lúc này ta đã có được độ tương tự của các cặp đối tượng, tiếp theo là làm thế nào để mỗi đối tượng trong nhóm A của ontology 1 đều chọn được một đối tượng trong nhóm A của ontology 2 sao cho tổng độ tương tự của hai nhóm là cao nhất. Nếu điều này thỏa mãn thì độ tương tự của từng cặp đối tượng trong nhóm được lọc sẽ là cặp có độ tương tự lớn nhất. Để thực hiện điều đó, chúng tôi sử dụng thuật toán Hungary. 2.2.5. Thuật toán Hungary Bài toán được phát biểu như sau: Có m đối tượng nhóm 1 của ontology 1 (đánh số 1,. . . ,m), và n đối tượng nhóm 2 của ontology 2 (đánh số 1,...,n). Mỗi đối tượng nhóm 1 đều có độ tương tự nhất định với một đối tượng nhóm 2. Ta cần ghép cặp đối tượng sao cho độ tương tự c[i, j] >= r (giá trị ngưỡng). Cần ghép một đối tượng nhóm này chỉ với một đối tượng nhóm kia sao cho tổng độ tương tự đạt giá trị lớn nhất. Để giải quyết bài toán trên, chúng tôi xây dựng đồ thị hai phía đầy đủ G = (XU Y, E) (với X = {x[1], x[2], . . . , x[m]} và Y = {y[1], y[2], . . . , y[n]}) bằng một ma trận C kích cỡ m × n 33
  7. Đỗ Thị Ngọc Khang, Phạm Thị Anh Lê có C[i, j] = trọng số của các cạnh nối cặp đỉnh x[i] và y[j]. Giả thiết C[i, j] >= r (r là giá trị ngưỡng) (với mọi i, j). Trước khi áp dụng thuật toán Hungary, ta chuyển ma trận C thành ma trận D bằng quy tắc giá trị của phần tử trong D sẽ bằng giá trị của phần tử lớn nhất trong ma trận C trừ đi giá trị hiện thời của phần tử đó. Việc tiếp theo là tìm bộ ghép đầy đủ trọng số nhỏ nhất khi đó bộ ghép này cũng chính là các cặp đối tượng cần tìm. Định lí 1: Loại bỏ khỏi G những cạnh trọng số lớn hơn 0. Nếu những cạnh có trọng số 0 còn lại tạo ra bộ ghép k cạnh trong G thì đây là bộ ghép cần tìm. Định lí 2: Với đỉnh x[i], nếu ta cộng thêm một số ∆ (dương hay âm) vào tất cả những cạnh liên thuộc với x[i] (tương đương với việc cộng thêm ∆ vào tất cả các phần tử thuộc hàng i của ma trận C) thì không ảnh hưởng tới bộ ghép đầy đủ có trọng số nhỏ nhất. Như vậy, ta thấy ý tưởng của thuật toán là: Từ đồ thị G, ta tìm chiến lược cộng hoặc trừ một cách hợp lí trọng số của các cạnh liên thuộc với từng đỉnh để được một đồ thị mới mà có các cạnh trọng số không âm, và các cạnh trọng số 0 của đồ thị mới đó chứa một bộ ghép đầy đủ k cạnh [7]. Cuối cùng, chúng tôi thực hiện định dạng lại file theo mẫu phù hợp. Phần tiếp theo, chúng tôi trình bày một số đánh giá từ một số bộ dữ liệu đầu vào khi thử nghiệm hệ thống. 2.3. Thử nghiệm Hình 1. Cặp ontology t1.owl và t2.owl được xây dựng trên Protégé Chúng tôi đã xây dựng hệ thống thử nghiệm để thực hiện gióng hàng các ontology với các cặp ontology được biểu diễn bởi ngôn ngữ OWL-DL sử dụng hệ soạn thảo Protégé. Hệ thống viết bằng ngôn ngữ lập trình java soạn thảo trên NetBean và có sử dụng một số thư viện như: jena api (hỗ trợ tạo đồ thị rdf), simmetrics (gói thư viện hỗ trợ tính toán độ tương tự một số độ do thường gặp như: LEVENSHTEIN, Q-GRAM và JARO-WINKLER). kĩ thuật sử dụng là gióng hàng cho các ontology sử dụng ngôn ngữ mô tả OWL-DL. Hệ thống cho phép người dùng chọn hai OWL-DL ontology khác nhau nhưng có cùng chủ đề. Cụ thể, chúng tôi sử dụng hai file biểu diễn hai ontology về chủ đề du lịch: t1.owl và t2.owl. Sau đó, chúng tôi chọn giá trị ngưỡng cho độ tương tự tính được. Khi được kích hoạt chức năng “Alignment”, hệ thống sẽ tiến hành tính độ tương tự của các cặp đối tượng cùng kiểu trong 34
  8. Một phương pháp gióng hàng Ontology trong OWL-DL hai ontology và xuất ra một file RDF (cho phép mở và hiệu chỉnh trên hệ soạn thảo Protégé) gồm các cặp đối tượng của hai ontology với độ tương tự tương ứng đạt giá trị ngưỡng có cấu trúc sau: thay vì Hình 2.Mẫu file kết quả sinh bởi ODA Hình 3. Mẫu file kết quả sinh bởi OLA Dễ thấy, nội dung chính của file là phần mô tả các bộ 3 RDF gồm: subject có thể là lớp, cá thể, thuộc tính; predicate là subClassOf (với subject là lớp), là subPropertyOf (với subject là thuộc tính) và là sameAs (với subject là cá thể); và object có thể là lớp (với subject là lớp), là cá thể (với subject là cá thể) và là thuộc tính (với subject là thuộc tính). Cách mô tả này dễ hiểu với người dùng, việc hiệu chỉnh còn đảm bảo phù hợp với các công cụ trợ giúp tạo ontology mới từ hai ontology ban đầu. Kèm theo với mỗi bộ 3 là thuộc tính kiểu dữ liệu float có giá trị là độ tương tự của cặp đối tượng được xét. Sau đây là một mẫu minh họa: 0.9800000190734863 Đoạn mã trên mô tả lớp has_Rating ở travel2.owl là thuộc tính con của lớp has_Rating ở travel1.owl với độ chính xác đạt 0.9800000190734863. Nếu muốn chỉ ra hai lớp đó tương đương với độ chính xác 0.9800000190734863 thì ta chỉ cần bổ sung đoạn mã mô tả lớp has_Rating ở travel1.owl là thuộc tính con của lớp has_Rating ở travel2.owl với độ chính xác đạt 0.9800000190734863. Kết quả thu được cho thấy: do hệ thống có xét các láng giềng mức 1 và 2 trong đánh giá độ tương tự của các đối tượng nên độ chính xác cao hơn. Xem bảng 1 với các cặp: Hoatdong và Activity. Đối với các lớp chỉ có cha và không có con thì hệ thống ưu tiên lớp con hơn lớp cha nên độ tương tự sẽ giảm xuống một chút so với OLA. Xét cặp: Safari và Safari ở bảng 1. Với lớp có cả lớp cha và lớp con, do lớp cha được hệ thống xét là không quan trọng bằng danh sách các lớp con nên độ tương tự tính bằng hệ thống lớn hơn so với độ tương tự tính bằng OLA. Xét cặp Adventure và Adventure ở bảng 1. Với hai lớp có chung phần lớp tương đương thì hệ thống ưu tiên cho phần 35
  9. Đỗ Thị Ngọc Khang, Phạm Thị Anh Lê mô tả này cao hơn cho các thuộc tính khác. Xét trường hợp của cặp Rating và Phanloai trong bảng 1. Phần các cá thể, hệ thống vẫn tiến hành đối sánh và đánh giá độ tương tự như trong bảng 1. Bảng 1. Độ tương tự của một số đối tượng trong mẫu tính bằng ODA và OLA t1.owl t2.owl OLA ODA Accommodation Accommodation 1.0 0.6623176336288452 Safari Safari 0.937 0.865600049495697 Adventure Adventure 0.79 0.9056875705718994 Phanloai Rating Không tính 0.5390900373458862 Hoatdong Activity Không tính 0.4767000377178192 Camp Camtrai 0.6 0.6483891010284424 TwoStarRating TwoStarRating Không tính 0.5779600143432617 ThreeStarRating ThreeStarRating Không tính 0.5779600143432617 OneStarRating OneStarRating Không tính 0.5779600143432617 VungTau Accomodation Không tính 0.9869091510772705 Samson Samson Không tính 0.9869091510772705 Contact Contact 1.0 0.6801999807357788 Beach Beach 0.8981818181818182 0.9465892314910889 Has_City HasCity 1.0 0.9226250648498535 Has_Rating hasRating 0.7390909090909092 0.5769439935684204 Dichden Destination 0.49090909090909085 0.6290644407272339 Trong phần đánh giá độ tương tự về ngôn ngữ, mặc dù có rất nhiều thuật toán để thực hiện công việc này nhưng theo kinh nghiệm [6] thì: LEVENSHTEIN similarity (thuật toán ở desktop) dùng để đo độ tương tự về tên các đối tượng; Q-GRAM similarity dùng để đo độ tương tự giữa các comment của đối tượng trong ontology; JARO-WINKLER similarity đo độ tương tự nhãn (label) của hai đối tượng là phù hợp nhất. Đồng thời nên thiết lập tỉ lệ name, comment và label tùy theo đối tượng có đủ ba thành phần hay không. Nếu có đủ ba thành phần thì tỉ lệ: name (buộc có): comment: label là: 0.8 : 0.1 : 0.1. Đối với tỉ lệ giữa độ tương tự về ngôn ngữ và độ tương tự các láng giềng, do các láng giềng có vai trò quan trọng hơn nên chúng tôi đặt tỉ lệ là 0.3: 0.7. Các láng giềng có thể chia thành những nhóm khác nhau. Chúng tôi đề xuất đặt trọng số cho các nhóm dựa trên mức độ quan trọng của mỗi nhóm. Như vậy, chúng tôi nhận thấy với một số điều chỉnh, hệ thống ODA có thể đánh giá được độ tương tự cho lớp có cùng ràng buộc equivalent Class và xét độ tương tự của các láng giềng cấp 2 bổ sung vào độ tương tự của đối tượng được xét để kết quả chính xác hơn. Kết quả trả về là những cặp đối tượng sao cho tổng độ tương tự của nhóm là lớn nhất. 3. Kết luận Trên cơ sở tìm hiểu kĩ thuật gióng hàng cho các cặp ontology sử dụng ngôn ngữ mô tả OWL-Lite và OWL-DL, bước đầu chúng tôi đã đề xuất một phương pháp tính độ tương tự của các thành phần giữa các cặp OWL-DL ontology. Kết quả đã được đánh giá bằng hệ thống gióng hàng các ontology trong lĩnh vực du lịch, đã đạt được kết quả tốt hơn so với OLA. Tuy nhiên, hệ thống còn tồn tại những hạn chế sau: phần lớp equivalent có ràng buộc ở đây 36
  10. Một phương pháp gióng hàng Ontology trong OWL-DL mới chỉ đối sánh dạng mệnh đề mô tả và xét cho lớp, chưa có chức năng hỗ trợ suy luận; Còn với thuộc tính và đối tượng, chúng tôi chưa xét tới các mệnh đề tương đương có ràng buộc. Ngoài ra, trong phần tính độ tương tự về ngôn ngữ, hệ thống chưa xét tới độ tương tự wordnet. Chúng tôi đề xuất bổ sung bằng cách sử dụng thư viện wordnet và xét thêm vào phần độ tương tự về ngôn ngữ. Nếu độ tương tự wordnet lớn hơn thì lấy độ tương tự này thay thế. Phần thiết lập trọng số cho từng thành phần láng giềng dựa trên kinh nghiệm của tác giả, chưa có đánh giá so sánh với các lựa chọn khác. Để chọn được các hệ số tốt, ta cần khảo sát trên các bộ dữ liệu lớn để tìm ra nhóm láng giềng quan trọng hơn. Tuy nhiên, với bộ dữ liệu lớn để duyệt toàn bộ hai mức láng giềng sẽ tốn nhiều thời gian. Chúng tôi thấy cần cải tiến cách duyệt và truy xuất cơ sở dữ liệu lớn để bảo đảm tính tối ưu cho hệ thống. Trong thời gian tới, chúng tôi sẽ bổ sung thêm nhiều độ đo để tính độ tương tự về ngôn ngữ để đảm bảo hiệu quả cao hơn; cải tiến hiệu quả của các thuật toán tính toán độ tương tự; nghiên cứu việc lựa chọn hệ số giữa các láng giềng sao cho phù hợp để đảm bảo tính tối ưu cho kết quả tính toán được. TÀI LIỆU THAM KHẢO [1] Gruber, R, A Translation, 1993. Approach to Portable Ontology Specification. Knowledge Acquisition 5, pp. 199-200. [2] J Euzenat, P Valtchev, 2004. Similarity-based ontology alignment in OWL-Lite, Université du Québec à Montréal ACEI, pp. 333-343. [3] Marc Ehrig. 2007. Ontology Alignment Bridging the Semantic Gap. Springer. [4] Patrizia Ghislandi, ISBN 978-953-51-0475-9, 2013. Hard cover Publisher: InTech eLearning. Theories, Design, Software and Applications, 73. [5] The core RDF API, http://jena.apache.org/documentation/rdf/ Copyright c 2011-2012 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. [6] Sami ZGHAL1, Marouen KACHROUDI, Sadok BEN YAHIA and Engelbert MEPHU NGUIFO - OACAS: results for OAEI 2011. [7] Lê Minh Hoàng, Giải thuật và lập trình. 1999 - 2002, 283 - 300 [8] Marek Obitko, http://www.obitko.com/tutorials/ontologies-semantic-web/owl-dl-semantics.html, Department of Cybernetics, Faculty of Electrical Engineering Czech Technical University, Prague, Czech Republic, 2007. ABSTRACT An Ontology Alignment method in OWL-DL This paper presents the alignment method of ontologies (Ontology Alignment) in OWL-Lite and OWL-DL. We study the OLA (Owl Lite Alignment) tool with a mapping method for OWL-Lite ontologies. As a result, we propose a method for computing the similarity of components between OWL-DL ontologies. This method is performed on the specific ontology components and is tested by an OWL-DL Alignment (ODA) system. Experimental evaluation shows that the result of our system achieved were highly accurate. 37
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2