Hình 3.2 chỉ dẫn mô hình giải quyết bài toán thứ hai: học ontology hai ontology miền dựa trên việc đối sánh các khái niệm của hai ontology. Trong trường hợp tổng quát, hai khái niệm c1 và c2 là hai khái niệm bất kỳ thuộc O1 và O2 tương ứng. Hai khái niệm c1, c2 này có thể tương tự nhau (nghĩa là hai khái niệm này trùng nhau hoặc khoảng cách Google giữa hai khái niệm NCDG (c1, c2) nhỏ hơn một ngưỡng 2 > 0 cho trước) hoặc có thể khác nhau (nghĩa là khoảng cách Google giữa hai khái niệm NCDG (c1, c2) của hai ontology lớn hơn một ngưỡng 2 > 0 cho trước). Các bước hoạt động trong mô hình được giải thích như sau:
Đầu tiên, gọi C1 là tập hợp tất cả các khái niệm trong O1 và C2 là tập hợp tất cả các khái niệm trong O2. Chọn lọc tập B các khái niệm chung có trong cả hai ontology O1 và O2. Tập khái niệm B được coi là đồng nhất trong cả hai ontology. Xác định tập BP1 các cặp khái niệm trùng nhau ở hai ontology (c1, c2) (với c1C1 và c2C2, thỏa c1=c2).
Loại bỏ các khái niệm trùng nhau ở hai ontology, tính toán độ đo chuẩn Google đối với các cặp khái niệm (c1C1, c2C2).
Xác định tập BP2 các cặp khái niệm (c1C1, c2C2) mà NCDG (c1, c2) < 2 cho trước. Do 2 được chọn đủ nhỏ cho nên cặp khái niệm (c1, c2) trong BP2 cũng được coi là có tính tương đồng nhau để hội nhập.
Xác định tập BP3 các cặp khái niệm (c1C1, c2C2) còn lại mà (c1, c2) không thuộc về BP2, nghĩa là độ đo Google chuẩn NCDG (c1, c2) vượt ngưỡng (>=) 2 cho trước. Nếu chỉ đối sánh tên của hai khái niệm sử dụng độ đo Google chuẩn thì có thể coi hai khái niệm này là khác nhau. Tuy nhiên, trong thực tế, tên hai khái niệm có thể khác nhau, nhưng thuộc tính của chúng lại có thể tương đồng với nhau. Do đó, mô hình vẫn gọi thủ tục Matching (c1, c2) đối với các cặp khái niệm (c1, c2) thuộc về BP3 để tính toán độ tương đồng giữa các thuộc tính. Hai khái niệm có tên khác nhau (thuộc hai ontology miền khác nhau) có thể được xem là tương tự nhau nếu các thuộc tính của chúng tương tự nhau (nghĩa là các thuộc tính của chúng trùng nhau hoặc độ đo Goolge chuẩn của các thuộc tính nhỏ hơn ngưỡng 1 >0 cho trước).
Hiển thị danh sách các khái niệm trong BP1, các cặp khái niệm trong BP2, các cặp khái niệm còn lại BP3 và khoảng cách giữa chúng.
Sau đó, thủ tục Matching (c1, c2) tính toán độ tương đồng giữa các thuộc tính của hai khái niệm c1 và c2, với (c1, c2) lần lượt thuộc về BP1, BP2, BP3.
– Với mọi (c1, c2) thuộc về các cặp khái niệm trùng nhau BP1 thì thủ tục Matching (c1, c2) sẽ trả về:
• Đối với các cặp thuộc tính trùng nhau của c1 và c2, thì thủ tục Matching (c1, c2) sẽ trả về tập hợp L các thuộc tính a trùng nhau của c1 và c2: L = {a, với a là các thuộc tính chung của c1 và c2}. • Đối với các cặp thuộc tính khác nhau của c1 và c2, thì thủ tục
Matching (c1, c2) sẽ trả về:
▪ Một tập hợp AP1 các cặp thuộc tính có độ đo Google nhỏ hơn một giá trí giới hạn 1 >0 cho trước: AP1= {(a, b), với a là các thuộc tính của c1 và b là các thuộc tính của c2, thỏa NCDG (a, b) < 1}.
▪ Một tập hợp AP2 các cặp thuộc tính còn lại có độ đo Google không nhỏ hơn một giá trí giới hạn 1 cho trước: AP2 = {(a, b), với a là các thuộc tính của c1 và b là các thuộc tính của c2, thỏa NCDG (a, b) >= 1}.
– Với mọi (c1, c2) thuộc về các cặp khái niệm không trùng nhau và có độ đo Google chuẩn nhỏ hơn giới hạn 2 >0 cho trước BP2 thì thủ tục Matching (c1, c2) sẽ trả về:
• Đối với các cặp thuộc tính trùng nhau của c1 và c2, thì thủ tục Matching (c1, c2) sẽ trả về tập hợp L các thuộc tính a trùng nhau của c1 và c2: L = {a, với a là các thuộc tính chung của c1 và c2}. • Đối với các cặp thuộc tính khác nhau của c1 và c2, thì thủ tục
Matching (c1, c2) sẽ trả về:
▪ Một tập hợp AP1 các cặp thuộc tính có độ đo Google nhỏ hơn một giá trí giới hạn 1 >0 cho trước: AP1= {(a, b), với a là các thuộc tính của c1 và b là các thuộc tính của c2, thỏa NCDG (a, b) < 1}.
▪ Một tập hợp AP2 các cặp thuộc tính còn lại có độ đo Google không nhỏ hơn một giá trí giới hạn 1 cho trước: AP2 = {(a, b), với a là các thuộc tính của c1 và b là các thuộc tính của c2, thỏa NCDG (a, b) >= 1}.
– Với mọi (c1, c2) thuộc về các cặp khái niệm không trùng nhau và có độ đo Google chuẩn không nhỏ hơn 2 >0 cho trước BP3 thì thủ tục Matching (c1, c2) sẽ trả về:
• Đối với các cặp thuộc tính trùng nhau của c1 và c2, thì thủ tục Matching (c1, c2) sẽ trả về tập hợp L các thuộc tính a trùng nhau của c1 và c2: L = {a, với a là các thuộc tính chung của c1 và c2}. • Đối với các cặp thuộc tính khác nhau của c1 và c2, thì thủ tục
Matching (c1, c2) sẽ trả về:
▪ Một tập hợp AP1 các cặp thuộc tính có độ đo Google nhỏ hơn một giá trí giới hạn 1 >0 cho trước: AP1 = {(a, b), với a là các thuộc tính của c1 và b là các thuộc tính của c2, thỏa NCDG
▪ Một tập hợp AP2 các cặp thuộc tính còn lại có độ đo Google không nhỏ hơn một giá trí giới hạn 1: {(a, b), với a là các thuộc tính của c1 và b là các thuộc tính của c2, thỏa NCDG (a, b) >= 1}.
Như vậy, khi học hai ontology O1 và O2 theo thuật toán trên, kết quả cuối cùng sẽ bao gồm: BP1 các khái niệm trùng nhau, BP2 các cặp khái niệm khác nhau nhưng mức độ khác nhau ở trong giới hạn cho phép (NCDG <2), và BP3 các cặp khái niệm khác nhau với mức độ khác nhau ở vượt ngưỡng cho phép (NCDG >=2). Với từng trường hợp ở trên, ta cũng thu được các danh sách L các thuộc tính trùng nhau của các cặp khái niệm, tập hợp AP1 các cặp thuộc tính khác nhau nhưng mức độ khác nhau nhỏ hơn ngưỡng cho phép (NCDG<1) của các cặp khái niệm và tập hợp AP2 các cặp thuộc tính khác nhau nhưng mức độ khác nhau không nhỏ hơn ngưỡng cho phép (NCDG >=1) của các cặp khái niệm và khoảngcách giữa các thuộc tính.
3.1.4. Ví dụ minh họa đối sánh khái niệm
Trong phần này luận án xem xét một ứng dụng của độ đo Google đó là dùng để học các ontology. Trong thực tế cùng một đối tượng trong thế giới thực có thể được mô hình hóa và biểu diễn bằng các ontology khác nhau trong các hệ thống khác nhau. Để các hệ thống này có thể trao đổi dữ liệu và làm việc được với nhau thì các ontology này cần phải được thống nhất lại về nội dung của các khái niệm mà chúng biểu diễn. Xét một ví dụ biểu diễn một bộ truyền áp suất được sử dụng trong khai thác dầu khí với các bộ phận chính của thiết bị được mô tả. Các chỉ dẫn các thông số kỹ thuật (thuộc tính) của cùng thiết bị này được cung cấp bởi hai nhà cung cấp là Norsock và ShareCat, ở đây, coi hai tập các mô tả thiết bị dầu khí của Norsock và ShareCat đóng vai trò tương ứng là hai ontology O1 và O2. Một cách trực quan, dễ dàng tìm thấy những điểm khác nhau về thông tin (khái niệm) của thiết bị trên hai ontology này. Ví dụ, thông tin về Trọng lượng (Weight) của thiết bị nằm trong mục Thông tin chung (General) trong ontology O1 nhưng lại nằm trong mục Kích cỡ và trọng lượng (Dimenssions and Weight) ở ontology O2, hay thông tin về Kết nối (Process Connection) trong ontolgy O2 lại là các mục con của mục Thành phần/Cảm biến (Element/Sensor) trong ontology O1.
Để minh họa cho mô hình đề xuất trên đây, luận án chỉ xem xét sự đối sánh các ontology với thông tin phần tiêu đề (khái niệm) của hai ontology thông số kỹ thuật này. Các thuộc tính của ShareCat gồm có: Document Number, Revision, Plant/Platform, Process Datash. No., Tag number, SerialNo, Range From, SetPoint Low, Range To, SetPoint Height, Range Unit, P&ID, Area, Line/Equipment no., Service description và các thuộc tính của Norsock gồm có:
Tag number, Scale Range, Service description, Set/Alarm Point, P&ID, Area, Line / equipment no., P. O. Number. Kết quả thực hiện lược đồ đối sánh được đề xuất bao gồm:
• L = {Area, Line/equipment no., P&ID, Service description, Tag number}.
• Ma trận khoảng cách Google giữa các khái niệm này được tính như trong Bảng 3.1. Với giá trị = 0.2, nhận được tập AP1 = {(Process Datash. No., Set/Alarm Point), (Process Datash. No., P. O. Number)}.
• Tập thuộc tính L, các cặp thuộc tính trong AP1 và các cặp thuộc tính còn lại (AP2) trong Bảng 2.1 cùng với độ đo khoảng cách Google chuẩn của chúng được hiển thị. Kết quả này cung cấp một gợi ý đối sánh các thuộc tính của cùng một khái niệm trong hai ontology.
Bảng 3.1. Ma trận khoảng cách giữa các thuộc tính trong hai ontology
O2
O1
Scale Range Set/Alarm Point P. O. Number
Document Number 0,5822 0,6998 0,2390
Revision 0,7572 0,8403 0,4187
Plant/Platform 0,7391 0,3959 0,3564
Process Datash. No. 0,4956 0,1678 0,0757
SerialNo 0,7961 0,5603 0,4692
Range From 0,6055 0,7736 0,4852
SetPoint Low 0,5051 0,3176 0,2859
O2
O1
Scale Range Set/Alarm Point P. O. Number
SetPoint Height 1,0000 1,0000 1,0000
Range Unit 0,6545 0,5524 0,4973
3.2. MÔ HÌNH HỌC ONTOLOGY ANH - VIỆT DỰA TRÊN KỸ THUẬT HỌC MÁY VỚI CHỈ DỮ LIỆU DƯƠNG HỌC MÁY VỚI CHỈ DỮ LIỆU DƯƠNG
3.2.1. Wikipedia là một nguồn tài nguyên xây dựng ontology
Thời gian gần đây, Wikipedia thu hút sự quan tâm đặc biệt của cộng đồng nghiên cứu xây dựng ontology như một nguồn thông tin bán cấu trúc được sử dụng để xây dựng tự động ontology. Dựa trên nguồn tài nguyên Wikipedia và WordNet, F. M. Suchanek và cộng sự [73] xây dựng ontology YAGO (Yet Another Great Ontology) nổi tiếng và không ngừng được phát triển nâng cấp20. T. Kawakami và cộng sự [41] đề nghị một phương pháp xây dựng “ontology nhẹ” (lightweight ontology) chung dựa trên việc trích xuất bán tự động các quan hệ chung-riêng (rdfs: subClassOf), các quan hệ lớp-thể hiện (rdf: type), các khái niệm như Triple và các quan hệ giữa các khái niệm. Thông tin đầu vào bao gồm các cây danh mục, các mệnh đề định nghĩa, các danh sách và các hộp thông tin Wikipedia. Cách thức trích xuất bán tự động bốn loại đối tượng trên đây được trình bày một cách chi tiết. Ví dụ, để trích xuất quan hệ chung-riêng, các thao tác đối sánh xâu ngược (Backward string matching) và xóa bỏ từng phần đối sánh xâu ngược (Backward string matching part removal) được sử dụng. Các tác giả xác nhận phương pháp đề xuất có lợi thế hơn so với YAGO và DBpedia Ontology trong việc trích xuất các quan hệ.
Wikipedia tiếng Việt, một phần của Wikipedia, là một nguồn dữ liệu mở, được xây dựng năm 2003 theo dự án Wikipedia Foundation project21, và liên tục được cộng đồng người sử dụng cập nhật. Đến tháng 10 năm 2018, Wikipedia tiếng Việt có 14.016.694 trang trong đó có 1.195.029 khái niệm có cả phần mô tả
20https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/yago/ 21 https://vi.wikipedia.org/wiki/Wikipedia:Giới_thiệu
tóm tắt của khái niệm (abstract) và phần mô tả chi tiết của khái niệm (có thể bao gồm âm thanh, hình ảnh, và video…); một trang như vậy được gọi là một “khái niệm Wikipedia tiếng Việt”. Tồn tại các khái niệm dầu khí tiếng Việt có trong khái niệm Wikipedia Tiếng Việt, như "dầu mỏ" (oil), "địa vật lý" (geophysical), "địa chất dầu khí" (petroleum geology), "khai thác dầu khí" (oil and gas production), "khoan" (drill), "hóa dầu" (petrochemical); một trang như vậy được gọi là một “khái niệm dầu khí Wikipedia tiếng Việt”. Dù cho có thể có thời điểm Wikipedia tiếng Việt được thêm, sửa bằng các thông tin không chính xác, tuy nhiên, với nguyên lý làm việc và đội ngũ hùng hậu trên 630 nghìn thành viên, các thông tin không chính xác sẽ nhanh chóng bị xóa bỏ. Như vậy Wikipedia tiếng Việt là một nguồn tham khảo tin cậy và đây là một nguồn dữ liệu tốt để học ontology để mở rộng thành phần tiếng Việt trong ontology dầu khí Anh-Việt.