.1 1 Các bƣớc chính của Align và các lớp xử lý liên quan

Một phần của tài liệu (LUẬN văn THẠC sĩ) thích hợp các ontology trong OWL và ứng dụng (Trang 38 - 40)

Align sử dụng OntoSim để tính toán độ tƣơng tự giữa các thành phần của các ontology. OntoSim rất linh hoạt, ngoài khả năng tính toán độ tƣơng tự phục vụ quá trình ánh xạ, nó còn hỗ trợ việc phát triển độ tƣơng tự mới. Đặc biệt, nó có khả năng cung cấp thuật toán tập hợp ma trận tƣơng tự:

- Sơ đồ tập hợp cho phép làm sáng tỏ một tập các giá trị với chỉ một con số.

- Tách riêng một tập con các giá trị trong ma trận liên quan đến một số phƣơng pháp nhƣ: Hausdorff, sự kết hợp trung bình hay trọng lƣợng lớn nhất…

OntoSim cũng có thể hoạt động với một bộ các thông số tƣơng tự (chuỗi, đối tƣợng).

Ngƣỡng độ tƣơng tự của Align đƣợc sử dụng thƣờng là tập hợp của nhiều thông số.

Đối với ánh xạ giữa các lớp, độ tƣơng tự đƣợc Align tính bằng tổng của độ tƣơng tự về ngữ nghĩa (lexical nhằm biểu diễn tên lớp), độ tƣơng tự về thuộc tính dữ liệu (DatatypeProperty nhằm biểu diễn định dạng của lớp là chuỗi ký tự

hay số) và các thuộc tính đối tƣợng (ObjectProperty, nhằm biểu diễn các tính chất của lớp nhƣ có tên là, tại địa chỉ là…):

<node id="Class"> <param default="0.5">Lexical</param> <param default="0.25">DatatypeProperty</param> <param default="0.25">ObjectProperty</param> <param default="0">SuperClass</param> <param default="0">Object</param> </node>

Đối với ánh xạ giữa các thuộc tính, độ tƣơng tự là tổng của các độ tƣơng tự sau: <node id="ObjectProperty"> <param default="0.2">Lexical</param> <param default="0.4">Class</param> <param default="0">Object</param> <param default="0.15">Cardinality</param> <param default="0.25">Relation</param> </node>

Ngoài ra, còn có các công thức tính độ tƣơng tự khác nữa đối với định dạng của thuộc tính, định dạng của quan hệ, quan hệ giữa các đối tƣợng… Khi ngƣỡng độ tƣơng tự của các ánh xạ càng cao, thì độ chính xác càng cao và ngƣợc lại. Tuy nhiên, sẽ có khả năng một số ánh xạ đƣợc đánh giá có độ tƣơng tự không cao lắm nhƣng vẫn là một ánh xạ chính xác, vậy nên việc chọn độ tƣơng tự áp dụng cho ứng dụng là rất quan trọng.

 Thuật toán LEVENSHTEIN [6]

Trong phƣơng pháp đo độ tƣơng tự của các cặp tƣơng đồng, Align sử dụng thuật toán LEVENSHTEIN. Thuật toán này nhận hai tham số là hai chuỗi ký tự và trả cho ta khoảng cách giữa chúng. Khoảng cách giữa hai chuỗi ký tự là số bƣớc ít nhất biến chuỗi này thành chuỗi kia thông qua ba phép biến đổi là: xóa một ký tự, thêm một ký tự hay thay ký tự này bằng ký tự khác.

Để tính toán khoảng cách Levenshtein, ta sử dụng thuật toán quy hoạch động, tính toán trên mảng hai chiều (n+1)*(m+1), với n, m là độ dài của chuỗi cần tính:

int LevenshteinDistance(char s[1..m], char t[1..n]) // d is a table with m+1 rows and n+1 columns declare int d[0..m, 0..n]

d[i, 0] := i for j from 0 to n d[0, j] := j for i from 1 to m for j from 1 to n

{if s[i] = t[j] then cost := 0 else cost := 1

d[i, j] := minimum(d[i-1, j] + 1, // trƣờng hợp xoá d[i, j-1] + 1, // trƣờng hợp thêm d[i-1, j-1] + cost // trƣờng hợp thay thế )

}

return d[m, n]

Ví dụ: Khoảng cách Levenshtein giữa hai chuỗi "kitten" và "sitting" là 3, vì phải dùng ít nhất ba lần biến đổi :

kitten -> sitten (thay "k" bằng "s") sitten -> sittin (thay "e" bằng "i") sittin -> sitting (thêm kí tự "g")

3.4 Tích hợp ontology

3.4.1. Khái niệm tích hợp

Tích hợp ontology là quá trình tìm ra tập hợp các điểm chung và riêng giữa hai ontology khác nhau O1 và O2 nhằm tạo ra một ontology mới O3. Về mặt cấu trúc thì tất cả những điểm riêng đƣợc giữ lại còn những điểm chung giữa hai ontology thì sẽ chỉ có một yếu tố đƣợc giữ lại làm đại diện. Về mặt thông tin, ontology O3 có chứa tất cả thông tin mà O1 và O2 đã có.

Một phần của tài liệu (LUẬN văn THẠC sĩ) thích hợp các ontology trong OWL và ứng dụng (Trang 38 - 40)

Tải bản đầy đủ (PDF)

(69 trang)