1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số vấn đề về lưu trữ và chỉ mục trong cơ sở dữ liệu không gian

69 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 1,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các bước phân tích giải quyết vấn đề được trình bày trong luận văn theo trình tự sau:  Chương 1: Tổng quan về ontology trình bày định nghĩa, các thành phần và vai trò của ontology, côn

Trang 1

BÙI THỊ THU DUNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN TÍCH HỢP CÁC ONTOLOGY TRONG OWL

VÀ ỨNG DỤNG

Trang 2

Hà Nội -

2011

Hà Nội -

2011 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Phạm Thị Anh Lê

Hà Nội - 2013

BÙI THỊ THU DUNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

ĐẠI HỌC QUỐC GIA HÀ NỘI

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH VẼ 5

DANH MỤC BẢNG 7

DANH MỤC TỪ VIẾT TẮT 8

MỞ ĐẦU 9

CHƯƠNG 1 TỔNG QUAN VỀ ONTOLOGY 10

1.1 Định nghĩa ontology 10

1.2 Các thành phần của ontology 10

1.2.1 Các cá thể (Individuals) 10

1.2.2 Các lớp (Classes) 10

1.2.3 Các thuộc tính (Properties) 11

1.2.4 Các mối quan hệ (Relation) 12

1.3 Vai trò của ontology 14

1.4 Phân biệt ontology và cơ sở dữ liệu cổ điển 15

1.5 Phương pháp xây dựng ontology 16

1.5.1 Xác định miền quan tâm và phạm vi của ontology 17

1.5.2 Xem xét việc kế thừa các ontology có sẵn 17

1.5.3 Liệt kê các thuật ngữ quan trọng trong ontology 18

1.5.4 Xác định các lớp và phân cấp của các lớp 19

1.5.5 Định nghĩa các thuộc tính và quan hệ cho lớp 20

1.5.6 Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp 20

1.5.7 Tạo các thực thể cho lớp 21

1.6 Các ngôn ngữ biểu diễn ontology 21

1.7 Công cụ xây dựng ontology Protégé 21

CHƯƠNG 2 NGÔN NGỮ OWL 23

2.1 Định nghĩa OWL 23

Trang 4

2.2 Các đặc điểm của OWL 24

2.3 Các phiên bản của OWL 24

2.3.1 OWL Lite 25

2.3.2 OWL DL 25

2.3.3 OWL Full 25

2.4 Cú pháp và ngữ nghĩa của OWL DL 26

CHƯƠNG 3 TÍCH HỢP ONTOLOGY 29

3.1 Đặt vấn đề 29

3.2 Các bước tích hợp ontology 30

3.3 Ánh xạ ontology 31

3.3.1 Khái niệm ánh xạ 31

3.3.2 Khái niệm độ tương tự 32

3.3.3 Các bước ánh xạ ontology 33

3.3.4 Một số kỹ thuật ánh xạ 34

3.3.5 Thuật toán ánh xạ Align 36

3.4 Tích hợp ontology 40

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

3.4.2 Tích hợp sử dụng ContentMap 41

CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG 46

4.1 Bài toán ứng dụng 46

4.1.1 Yêu cầu thực tế 46

4.1.2 Bài toán ứng dụng 47

4.2 Thực hiện tích hợp 48

4.2.1 Xây dựng ontology 48

4.2.2 So khớp ontology 58

4.2.3 Tích hợp ontology 60

4.3 Đánh giá kết quả 65

KẾT LUẬN 68

TÀI LIỆU THAM KHẢO 69

Trang 5

DANH MỤC HÌNH VẼ

Hình 1.1 - Ontology biểu diễn quan hệ của xe cộ 12

Hình 1.2 - Cấu trúc lớp phân cấp 19

Hình 1.3 - Ràng buộc trong ontology 20

Hình 1.4 - Công cụ xây dựng ontology Protégé 22

Hình 2.1 - Các tầng cấu thành Web ngữ nghĩa 24

Hình 2.2 - Mối quan hệ giữa các phiên bản của OWL 24

Hình 3.1 - Ví dụ một về tích hợp ontology 29

Hình 3.2 - Ví dụ hai về tích hợp ontology 30

Hình 3.3 - Các bước tích hợp ontology 30

Hình 3.4 - Ánh xạ ontology 31

Hình 3.5 - Ví dụ về Ánh xạ ontology 31

Hình 3.6 - Quy trình ánh xạ ontology 33

Hình 3.7 - Kỹ thuật ánh xạ dựa vào mối quan hệ giữa các từ 35

Hình 3.8 - Kỹ thuật ánh xạ dựa vào cấu trúc 35

Hình 3.9 - Kỹ thuật ánh xạ dựa trên cấu trúc quan hệ 36

Hình 3.10 - Quan hệ giữa các lớp chính của Align 37

Hình 3.11 - Các bước chính của Align và các lớp xử lý liên quan 38

Hình 3.12 - Tích hợp ontology 40

Hình 3.13 - Quy trình tích hợp ontology với ContentMap 42

Hình 4.1 - Các lớp của OntologyBADINH 49

Hình 4.2 - Các thuộc tính của OntologyBADINH 50

Hình 4.3 - Các cá thể của OntologyBADINH 51

Hình 4.4 - Các rằng buộc trong OntologyBADINH 52

Hình 4.5 - Một phần của OntologyBADINH biểu diễn trên OWL 53

Hình 4.6 - Các lớp của OntologyTAYHO 54

Hình 4.7 - Các thuộc tính của OntologyTAYHO 55

Hình 4.8 - Các cá thể của OntologyTAYHO 56

Hình 4.9 - Các rằng buộc trong OntologyTAYHO 57

Hình 4.10 - Một phần của OntologyTAYHO biểu diễn trên OWL 57

Hình 4.11 - Một phần code của kết quả so khớp 59

Hình 4.12 - Một phần giao diện của kết quả so khớp 60

Hình 4.13 - Chọn ontology đầu vào 60

Hình 4.14 - Ánh xạ tường minh nhận được 61

Hình 4.15 - Thừa kế phát sinh qua ánh xạ cần đánh giá 62

Hình 4.16 - Một kế thừa phát sinh 62

Trang 6

Hình 4.17 - Thừa kế phát sinh trong mỗi ontology cần đánh giá 63

Hình 4.18 - Quan hệ tổng quát giữa hai ontology 64

Hình 4.19 - Giải pháp tích hợp khả thi 64

Hình 4.20 - Kết quả thu đƣợc khi tích hợp 65

Trang 7

DANH MỤC BẢNG

Bảng 2.1 - Bảng mô tả thuộc tính đối tƣợng OWL 26Bảng 2.2 - Bảng mô tả thuộc tính lớp OWL 27Bảng 2.3 - Bảng tiên đề và các sự kiện của OWL 27

Trang 8

DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Tên tiếng việt

1 OWL Ontology Web Language

2 OWL DL OWL Description Logic

3 RDF Resource Description Framework

4 RDF(S) Resource Desscription Framework (Schema)

5 URI Uniform Resource Identifier

6 XML Extensible Markup Language

Trang 9

MỞ ĐẦU Đặt vấn đề:

Để con người và máy tính 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 các khái niệm, được định nghĩa trong các ontology Cùng với sự phát triển của Web ngữ nghĩa, kể từ khi ra đời cho đến nay đã có nhiều ontology được xây dựng cho các ứng dụng trong các lĩnh vực khác như giáo dục, y học, giao dịch thương mại điện tử 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, đó là sự 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 khác, 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 cho ứng dụng của mình Do đó, việc tích hợp các ontology là một điều cần thiết bởi nó là quá trình tìm kiếm các 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; sự tích hợp này giúp ích rất nhiều trong các lĩnh vực cần truy xuất, trao đổi thông tin một cách tự động và chính xác

Mục tiêu, nhiệm vụ:

Mục tiêu của luận văn là nghiên cứu về tích hợp ontology trong OWL và đưa tích hợp ontology vào một ứng dụng cụ thể

Cấu trúc luận văn:

Nội dung luận văn gồm phần mở đầu, bốn chương nội dung, phần kết luận

và tài liệu tham khảo Các bước phân tích giải quyết vấn đề được trình bày trong luận văn theo trình tự sau:

Chương 1: Tổng quan về ontology trình bày định nghĩa, các thành

phần và vai trò của ontology, công cụ và ngôn ngữ xây dựng ontology

Chương 2: Ngôn ngữ Ontology Web Languge (OWL) trình bày định

nghĩa, đặc điểm, phiên bản của OWL và cú pháp ngữ nghĩa của ngôn ngữ OWL Description Logic

Chương 3: Tích hợp ontology đưa ra lý do tại sao cần phải tích hợp

ontology, trình bày các khái niệm, thuật toán ánh xạ và tích hợp ontology

Chương 4: Tích hợp ontology vào ứng dụng đưa ra yêu cầu thực tế,

giải pháp và bài toán áp dụng để từ đó có thể lựa chọn công cụ và thuật toán tích hợp thích hợp, thiết kế ứng dụng và đánh giá

Kết luận: Tổng kết lại các kết quả đã thực hiện và đưa ra hướng phát triển của luận văn trong tương lai

Trang 10

CHƯƠNG 1 TỔNG QUAN VỀ ONTOLOGY 1.1 Định nghĩa ontology

Ontology là một mô hình dữ liệu mô tả một cách tường minh các khái niệm của các đối tượng trong một lĩnh vực nào đó cùng với các quan hệ giữa những đối tượng này Ontology phân loại rõ ràng các đối tượng và 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 và quan hệ chặt chẽ giữa các đối tượng được sắp xếp Ngoài bộ từ vựng, ontology còn cung cấp các ràng buộc, đôi khi các ràng buộc này được coi như các giả định cơ sở về

ý nghĩa mong muốn của bộ từ vựng, nó được sử dụng trong một miền mà có thể được giao tiếp giữa người và các hệ thống ứng dụng phân tán khác

Từ vựng trong một ontology có thể được biểu diễn bằng các khái niệm và các quan hệ được đặt tên; các định nghĩa khái niệm có thể được biểu diễn bằng các giới thiệu tương đương Các giả định cơ sở có thể được biểu diễn bằng các tiên đề khái niệm và quan hệ khái quát Đôi khi, một ontology tương ứng với một cơ sở tri thức logic mô tả Một ontology cũng chứa các trường hợp của các khái niệm và các mối quan hệ quan trọng của các cá thể này, nó được biểu diễn bằng các khẳng định của logic mô tả

1.2 Các thành phần của ontology

Các ontology hiện nay đều có nhiều điểm tương tự về mặt cấu trúc, bất kể ngôn ngữ được dùng để biểu diễn Hầu hết các ontology đều mô tả: các cá thể (đối tượng, thể hiện), lớp (khái niệm), thuộc tính và các quan hệ [3]

1.2.1 Các cá thể (Individuals)

Cá thể (hay thể hiện) là thành phần cơ bản, nền tảng của một ontology Các

cá thể trong một ontology có thể bao gồm các đối tượng cụ thể như con người, động vật, cái bàn cũng như các cá thể trừu tượng như các thành viên hay các

từ Nói đúng ra, một ontology không cần chứa bất kỳ một cá thể nào nhưng một trong những mục đích chung của ontology là cung cấp một phương tiện để phân loại các đối tượng, ngay cả khi các đối tượng này không phải là một phần rõ ràng của ontology

1.2.2 Các lớp (Classes)

Lớp (hay khái niệm) có thể được định nghĩa theo cách bên ngoài hay bên trong Theo định nghĩa bên ngoài, lớp là những nhóm hoặc bộ tập hợp các đối tượng Theo định nghĩa bên trong, lớp là các đối tượng trừu tượng được định nghĩa bởi giá trị của các mặt ràng buộc khiến chúng phải là thành viên của một

Trang 11

lớp khác Lớp có thể phân loại các cá thể, các lớp khác, hay một tổ hợp của cả hai Một số ví dụ của lớp:

Person, lớp của tất cả các con người, hay các đối tượng trừu tượng có

thể được mô tả bởi các tiêu chuẩn làm một con người

Vehicle, lớp của tất cả xe cộ, hay các đối tượng trừu tượng có thể được

mô tả bởi các tiêu chuẩn làm một chiếc xe

Car, lớp của tất cả xe hơi, hay các đối tượng trừu tượng có thể được mô

tả bởi các tiêu chuẩn làm một chiếc xe hơi

Class, biểu diễn lớp tất cả các lớp, hay các đối tượng trừu tượng có thể

được mô tả bởi các tiêu chuẩn để làm một lớp

Thing, biểu diễn lớp tất cả mọi thứ, hay các đối tượng trừu tượng có thể

được mô tả bởi các tiêu chuẩn để làm một thứ gì đó (và không phải không-là-gì cả)

Một lớp có thể gộp nhiều lớp hoặc được gộp vào lớp khác; một lớp xếp gộp vào lớp khác được gọi là lớp con (hay kiểu con) của lớp gộp (hay kiểu cha) Ví

dụ, Vechicle gộp Car, bởi vì bất cứ thứ gì là thành viên của lớp sau cũng đều là

thành viên của lớp trước Quan hệ xếp gộp được dùng để tạo nên một cấu trúc phân cấp các lớp, thông thường có một lớp tổng quát lớn nhất chẳng hạn

Anything nằm ở trên cùng và những lớp rất cụ thể như 2002 Ford Explorer nằm

ở dưới cùng Hệ quả cực kỳ quan trọng của quan hệ xếp gộp là tính kế thừa của các thuộc tính từ lớp cha đến lớp con Do vậy, bất cứ thứ gì hiển nhiên đúng với một lớp cha cũng hiển nhiên đúng với các lớp con của nó Trong một số ontology, một lớp chỉ được cho phép có một lớp cha, nhưng trong hầu hết các ontology, các lớp được cho phép có một số lượng lớp cha bất kỳ và trong trường hợp sau tất cả các thuộc tính hiển nhiên của từng lớp cha được kế thừa bởi lớp

con Do đó một lớp cụ thể của lớp thú (HouseCat) có thể là một con của lớp Cat

và cũng là một con của lớp Pet

• <có tên> Ford Explorer

Trang 12

• <có bộ phận> door (với số lượng tối thiểu và tối đa: 4)

• <có một trong các bộ phận> {4.0L engine, 4.6L engine}

• <có bộ phận> 6-speed transmission

Giá trị thuộc tính có thể thuộc kiểu dữ liệu phức; trong ví dụ này, động cơ liên hệ chỉ có thể là một trong số các dạng con của động cơ, chứ không phải là một cái đơn lẻ

Các ontology chỉ mang đầy đủ ý nghĩa nếu các khái niệm có liên hệ với các khái niệm khác (các khái niệm đều có thuộc tính) Nếu không rơi vào trường hợp này, thì hoặc ta sẽ có một phân loại (nếu các quan hệ bao hàm tồn tại giữa các khái niệm) hoặc một từ điển có kiểm soát Những thứ này đều hữu ích nhưng không được xem là ontology

1.2.4 Các mối quan hệ (Relation)

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 Thông thường một quan hệ là của một loại (hay lớp) cụ thể nào đó chỉ rõ trong ngữ cảnh nào đối tượng được liên hệ với đối tượng khác trong ontology Ví dụ trong ontology chứa khái niệm Ford Explorer

và khái niệm Ford Bronco có thể được liên hệ bởi một quan hệ loại <được định nghĩa là một con của> Phát biểu đầy đủ của sự kiện như sau:

• Ford Explorer được định nghĩa là một con của: Ford Bronco

Điều này cho ta biết Explorer là mô hình thay thế cho Bronco Ví dụ này cũng minh họa rằng quan hệ có cách phát biểu trực tiếp Phát biểu ngược biểu diễn cùng một sự kiện nhưng bằng một ngữ nghịch đảo trong ngôn ngữ tự nhiên Phần lớn sức mạnh của ontolgy nằm ở khả năng diễn đạt quan hệ Tập hợp các quan hệ cùng nhau mô tả ngữ nghĩa của domain Tập các dạng quan hệ được

sử dụng (lớp quan hệ) và cây phân loại thứ bậc của chúng thể hiện sức mạnh diễn đạt của ngôn ngữ dùng để biểu diễn ontology

CAR

2- WHEEL DRIVE

FORD BRONCO

VEHICLE

TRUCK

4- WHEEL DRIVE

FORD EXPLORER

Hình 1.1 - Ontology biểu diễn quan hệ của xe cộ

Trang 13

A-superclass-of – „lớp cha của‟, hay ngược lại, „là dạng con của‟ –

is-a-subtype-of – hay „là lớp con của‟ – is-a-subclass-is-a-subtype-of ) Nó định nghĩa đối tượng nào được phân loại bởi lớp nào Ví dụ, ta đã thấy lớp Ford Explorer là lớp con của 4-Wheel Drive Car và lớp 4-Wheel Drive Car lại là lớp con của Car

Sự xuất hiện của quan hệ „là lớp con của‟ tạo ra một cấu trúc phân cấp thứ bậc; dạng cấu trúc cây này (hay tổng quát hơn, là tập có thứ tự từng phần) mô tả

rõ ràng cách thức các đối tượng liên hệ với nhau Trong cấu trúc này, mỗi đối tượng là „con‟ của một „lớp cha‟ (Một số ngôn ngữ giới hạn quan hệ là lớp con của trong phạm vi một cha cho mọi nút, nhưng đa số thì không như thế)

Một dạng quan hệ phổ biến khác là quan hệ meronymy, gọi là „bộ phận của‟, biểu diễn làm thế nào các đối tượng kết hợp với nhau đề tạo nên đối tượng tổng hợp Ví dụ, nếu ta mở rộng ontology trong ví dụ để chứa thêm một số khái niệm như Steering Wheel (vô lăng), ta sẽ nói rằng “Vô lăng được định nghĩa là một bộ phận của Ford Explorer” vì vô lăng luôn luôn là một trong những bộ phận của xe Ford Explorer Nếu đưa quan hệ meronymy vào ontology này, ta sẽ thấy rằng cấu trúc cây đơn giản và nhẹ nhàng trước đó sẽ nhanh chóng trở nên phức tạp và cực kỳ khó hiểu Điều này không khó lý giải; một lớp nào đó được

mô tả rằng luôn luôn có một thành viên là bộ phận của một thành viên thuộc lớp khác thì lớp này cũng có thể có một thành viên là bộ phận của lớp thứ ba Kết quả là các lớp có thể là bộ phận của nhiều hơn một lớp Cấu trúc này được gọi là

đồ thị chu trình có hướng

Ngoài những quan hệ chuẩn như „là lớp con của‟ và „được định nghĩa là bộ phận của‟, ontology thường chứa thêm một số dạng quan hệ làm trau chuốt hơn ngữ nghĩa mà chúng mô hình hóa Ontology thường phân biệt các nhóm quan hệ khác nhau Ví dụ nhóm các quan hệ về:

là ontology Gellish

Trang 14

Ví dụ, trong lĩnh vực xe ô tô, ta cần quan hệ „được sản xuất tại‟ để cho biết

xe được lắp ráp tại chỗ nào Như vậy, Ford Explorer được sản xuất tại Louisville Ontology có thể cũng biết được Louisville „tọa lạc tại‟ Kentucky và Kentucky „được định nghĩa là‟ một bang và „là bộ phận của‟ Hoa Kỳ Phần mềm

sử dụng ontology này sẽ có thể trả lời một câu hỏi như „những xe hơi nào được sản xuất tại Hoa Kỳ?”

1.3 Vai trò của ontology

Với ý nghĩa và cấu trúc trên, ontology trở thành một công cụ quan trọng trong Web ngữ nghĩa Có thể kể ra một số lợi ích của ontology như sau:

thông tin giữa con người hoặc giữa các hệ thống phần mềm: đây là

vai trò quan trọng nhất của một ontology, không những trong lĩnh vực Web ngữ nghĩa mà còn trong nhiều ngành và lĩnh vực khác Về phương diện này, có thể hình dung ontology giống như một cuốn từ điển chuyên ngành, cung cấp và giải thích các thuật ngữ cho người không có cùng chuyên môn khi được yêu cầu Không chỉ được sử dụng bởi con người, ontology còn hữu ích khi cần sự hợp tác giữa các

hệ thống phần mềm Lấy ví dụ, Open Biological là bộ ontology nổi tiếng được phát triển bởi trường đại học Stanford nhằm cung cấp các thuật ngữ một cách đầy đủ trong ngành sinh vật học Ontology này hiện đã được tích hợp vào một số ứng dụng Web trên Internet Sau đó, một phần mềm tra cứu hoặc dạy sinh học trên máy tính có thể kết nối với các ứng dụng Web trên để lấy thông tin cho mục tiêu chú giải

Cho phép tái sử dụng tri thức: đây là một vấn đề khó và là mục tiêu

nghiên cứu quan trọng trong những năm gần đây Nó liên quan đến bài toán trộn hai hay nhiều ontology thành một ontology lớn và đầy đủ hơn Nhưng vấn đề ở đây là tên các khái niệm được định nghĩa trong các ontology này có thể giống nhau trong khi chúng được dùng để mô

tả các loại vật hoàn toàn khác nhau Tuy nhiên, cũng có thể có trường hợp ngược lại khi tên các khái niệm khác nhau nhưng cùng mô tả một

sự vật Ngoài ra, làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới càng làm cho vấn đề trở nên phức tạp

đến lĩnh vực tái sử dụng tri thức đã nói ở trên, tuy nhiên bài toán của

nó là làm thế nào để một hệ thống ontology có thể được dùng bởi các ngôn ngữ của các quốc gia khác nhau mà không phải xây dựng lại

Trang 15

Giải pháp mà ontology mang lại là cho phép tên các khái niệm và quan hệ trong ontology mới tham khảo các khái niệm, định nghĩa của một hệ thống ontology chuẩn thường được xây dựng bằng tiếng Anh Điều này có thể sẽ phá vỡ phần nào rào cản về mặt ngôn ngữ khi mà kết quả tìm kiếm sẽ không bó gọn trong từ khóa và ngôn ngữ mà nó sử dụng Ngoài ra, ontology có thể sẽ trở thành hướng đi mới cho một lĩnh vực đã quen thuộc là dịch tài liệu tự động Có thể nói như vậy, bởi ngữ nghĩa các từ vựng trong văn bản sẽ được dịch chính xác hơn khi được ánh xạ vào đúng ngữ cảnh của nó

khác nhau trong một hay nhiều lĩnh vực cụ thể có thể cùng tên và gây nhập nhằng về ngữ nghĩa, tuy nhiên khi được đưa vào một hệ thống ontology thì tên mỗi khái niệm là duy nhất Một giải pháp cho vấn

đề này là ontology sẽ sử dụng các tham khảo URI làm định danh thật

sự cho khái niệm trong khi vẫn sử dụng các nhãn gợi nhớ bên trên để thuận tiện cho người dùng

một tập các khái niệm phân cấp được liên kết với nhau bởi các quan

hệ Cơ bản mỗi khái niệm có thể xem như là một lớp, mà đối tượng của lớp đó cùng các quan hệ đã góp phần tạo nên cấu trúc của bài toán hay vấn đề cần giải quyết

ngữ ontology đã tích hợp lớp ontology suy luận (Ontology Inference Layer) bên trong cho mục đích suy luận logic trên tập quan hệ giữa các đối tượng trong hệ thống

1.4 Phân biệt ontology và cơ sở dữ liệu cổ điển

Điều quan trọng nhất của ontololy là nó có khả năng biểu diễn các mệnh

đề logic, để từ đó cho phép các chương trình thiết kế các bộ lập luận dựa trên ontololy Có thể đưa ra một vài điểm khác nhau cơ bản của cơ sở dữ liệu thông

thường với ontololy dựa trên lập luận logic như sau:

 Dữ liệu trong cơ sở dữ liệu bình thường là dữ liệu đóng, có nghĩa là khi ta có một truy vấn tới cơ sở dữ liệu mà không có thông tin đúng cho truy vấn đó thì xem như câu trả lời mà truy vấn đó trả về là "Sai" Còn đối với ontololy thì nếu thiếu thông tin thì nó sẽ trả lời là "Không biết"

Trang 16

 Câu trả lời khi truy vấn cơ sở dữ liệu thì sẽ cho kết quả chính xác còn ontology thì không Ví dụ, có một cá thể Hoa, Hoa có người bạn là Hồng, Hoa có người bạn là Nhỏ Có một cá thể là Kiên, đố với câu hỏi: Kiên có phải là bạn của Hoa không thì cơ sở dữ liệu sẽ cho câu trả lời là "Không" Còn đối với ontololy thì sẽ cho câu trả lời là "Không biết"

 Cơ sở dữ liệu thông thường chỉ chấp nhận những dữ liệu mà không trùng tên (tức khóa không được trùng nhau), nhưng đối với ontololy lại khác Do vậy, đối với câu hỏi: Hoa có bao nhiêu người bạn thì đối với cơ sở dữ liệu thông thường sẽ trả lời là "Hai", còn đối với ontololy

sẽ trả lời là "Ít nhất là một"

1.5 Phương pháp xây dựng ontology

Có nhiều phương pháp khác nhau để xây dựng một ontology, nhưng nhìn chung các phương pháp đều thực hiện hai bước cơ bản là: xây dựng cấu trúc lớp phân cấp và định nghĩa các thuộc tính cho lớp Trong thực tế, việc phát triển một ontology để mô tả miền cần quan tâm là một công việc không đơn giản, phụ thuộc rất nhiều vào công cụ sử dụng, tính chất, quy mô, sự thường xuyên biến đổi của miền cũng như các quan hệ phức tạp trong đó Những khó khăn này đòi hỏi công việc xây dựng ontology phải là một quá trình lặp đi lặp lại, mỗi lần lặp cải thiện và tinh chế dần sản phẩm chứ không phải là một quy trình khung với các công đoạn tách rời nhau

Ngoài ra, công việc xây dựng ontology cũng cần phải tính đến khả năng

mở rộng miền quan tâm trong tương lai, khả năng kế thừa các hệ thống ontology

có sẵn, cũng như tính linh động để ontology có khả năng mô tả tốt nhất các quan

hệ phức tạp trong thế giới thực Nội dung phần này sẽ đề cập đến một số nguyên tắc cơ bản của việc xây dựng ontology qua các các công đoạn cụ thể sau đây (Quy trình phát triển gồm 7 bước do Stanford Center for Biomedical Informatics Research đưa ra, đây là nhóm phát triển phần mềm Protégé để trình diễn và soạn thảo ontology) [7]:

 Xác định miền quan tâm và phạm vi của ontology

 Xem xét việc kế thừa các ontology có sẵn

 Liệt kê các thuật ngữ quan trọng trong ontology

 Xây dựng các lớp và cấu trúc lớp phân cấp

 Định nghĩa các thuộc tính và quan hệ cho lớp

 Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp

 Tạo các thực thể cho lớp

Trang 17

1.5.1 Xác định miền quan tâm và phạm vi của ontology

Giống như mọi công đoạn đặc tả khác, đặc tả ontology bắt đầu bằng việc trả lời những câu hỏi mang tính phân tích để nhận diện chính xác các yêu cầu Thông thường, các yêu cầu đối với một hệ thống ontology là mô tả miền quan tâm nhằm phục vụ cơ sở tri thức trong việc giải quyết những mục đích chuyên biệt Do đó, những câu hỏi này thường là:

 Ontology cần mô tả miền nào?

 Ontology phục vụ cho mục đích chuyên biệt gì?

 Cơ sở tri thức trong ontology sẽ trả lời những câu hỏi gì?

 Ontology nhằm vục vụ đối tượng nào?

 Ai là người sẽ xây dựng, quản trị ontology?

Nhìn chung, câu trả lời cho các câu hỏi dạng này có thể sẽ thường xuyên thay đổi trong suốt quá trình lặp xây dựng một ontology Nhất là khi có sự thay đổi về mục đích hoặc cần bổ sung tính năng trong việc sử dụng cơ sở tri thức Tuy nhiên, việc trả lời chính xác các câu hỏi trên tại mỗi bước lặp sẽ giúp giới hạn phạm vi thực sự của mô hình cần mô tả và dự trù các kỹthuật sẽ sử dụng trong quá trình phát triển Lấy ví dụ, nếu dự trù khả năng xảy ra sự khác biệt về ngôn ngữ giữa người phát triển và người sử dụng thì ontology phải được bổ sung cơ chế ánh xạ (mapping) qua lại các thuật ngữ giữa các ngôn ngữ khác nhau Hoặc giả sử ontology cần xây dựng có chức năng xử lý ngôn ngữ tự nhiên, ứng dụng dịch tài liệu tự động thì cũng cần thiết phải có kỹ thuật xác định từ đồng nghĩa chẳng hạn

Sau khi đã phác thảo phạm vi ontology dựa trên việc trả lời những câu hỏi trên, người thiết kế sẽ trả lời các câu hỏi mang tính đánh giá, qua đó tiếp tục tinh chỉnh lại phạm vi của hệ thống cần xây dựng Các câu hỏi dạng này thường dựa trên cơ sở tri thức của ontology và được gọi là câu hỏi kiểm chứng khả năng (competency question):

 Ontology đã có đủ thông tin để trả lời cho các câu hỏi được quan tâm trên cơ sở tri thức hay không?

 Câu trả lời của cơ sở tri thức đã đáp ứng được mức độ, yêu cầu nào của người sử dụng?

 Các ràng buộc và quan hệ phức tạp trong miền quan tâm đã được biểu diễn hợp lý chưa?

1.5.2 Xem xét việc kế thừa các ontology có sẵn

Đây là một công đoạn thường hay sử dụng để giảm thiểu công sức xây dựng một ontology Bằng cách kế thừa các ontology tương tự có sẵn, người xây

Trang 18

dựng có thể thêm hoặc bớt các lớp, quan hệ giữa các lớp, thực thể… để tinh chỉnh tùy theo mục đích của mình Ngoài ra, việc sử dụng lại các ontology có sẵn cũng rất quan trọng khi cần sự tương tác giữa các ứng dụng khác nhau Lý

do là các ứng dụng sẽ cần phải hiểu các lớp, thực thể, quan hệ của nhau để thuận tiện trong việc trao đổi hoặc thông nhất thông tin

Vấn đề xây dựng một ontology mới bằng cách kế thừa các hệ thống có sẵn liên quan đến một bài toán rất phức tạp là trộn (merging) các ontology Như đã nói trong mục trước, tên các khái niệm được định nghĩa trong các ontology này

có thể giống nhau trong khi chúng được dùng để mô tả các loại vật hoàn toàn khác nhau Trong khi đó, cũng có thể xảy ra trường hợp ngược lại, khi tên các khái niệm khác nhau nhưng cùng mô tả một sự vật Và một vấn đề nữa là làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới Tuy nhiên, hầu hết các ontology sử dụng trong ngành khoa học máy tính nói chung

và Web ngữ nghĩa nói riêng đều được xây dựng trên các hệ thống xây dựng và quản trị ontology Có thể kể tên một số công cụ, chẳng hạn: Sesame, Protégé, Ontolingua, Chimaera, OntoEdit, OidEd… Hiện nay, đa số các phần mềm này đều hỗ trợ chức năng tự động trộn các ontology cùng hoặc thậm chí khác định dạng với nhau Mặc dù vậy, ở mức nào đó, người xây dựng cũng cần phải kiểm tra lại một cách thủ công, nhưng đây có lẽ cũng không phải là một công việc phức tạp

Hiện có rất nhiều ontology được chia sẻ trên Web Có thể kể ra một số ontology nổi tiếng như: UNSPSC (www.unspsc.org) do Chương trình phát triển của Liên Hiệp Quốc hợp tác với tổ chức Dun & Bradstreet nhằm cung cấp các thuật ngữ của các sản phẩm và dịch vụ thương mại Các ontology trong lĩnh vực thương mại khác như: RosettaNet (www.rosettanet.org), DMOZ (www.dmoz.org), eClassOwl,… Open Biological, BioPax trong lĩnh vực sinh vật học, UMLS trong lĩnh vực mạng ngữ nghĩa, GO (GeneOntology), WordNet (đại học Princeton)…

1.5.3 Liệt kê các thuật ngữ quan trọng trong ontology

Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì vậy khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các lớp trong ontology tương ứng Tất nhiên không phải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vị được cho thuật ngữ đó

Do đó cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa cho các thuật ngữ

đó, cũng như cân nhắc về phạm vi của ontology Việc liệt kê các thuật ngữ còn cho thấy được phần nào tổng quan về các khái niệm trong lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi

Trang 19

1.5.4 Xác định các lớp và phân cấp của các lớp

Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về ngữ nghĩa của các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà còn phải định vị cho các lớp mới, loại bỏ ra khỏi ontology nếu nằm ngoài phạm

vi của ontology hay hợp nhất với các lớp đã có nếu có nhiều thuật ngữ có ngữ nghĩa như nhau (đồng nghĩa, hay đa ngôn ngữ) Ngoài ra, không phải thuật ngữ nào cũng mang tính chất như một lớp

có thể chuyên biệt hóa bằng cách tạo ra các lớp con như Kỹ sư CNTT,

Kỹ sư điện, Kỹ sư cơ khí, …

 Phương pháp từ dưới lên (bottom-up): bắt đầu với định nghĩa của các lớp cụ thể nhất, như các lá trong cây phân cấp Sau đó gộp các lớp đó lại thành các khái niệm tổng quát hơn Ví dụ: ta bắt đầu với việc định nghĩa các lớp như: nhân viên lễ tân, nhân viên vệ sinh, nhân viên kỹ thuật Sau đó tạo ra một lớp chung hơn cho các lớp đó là lớp nhân viên

 Phương pháp kết hợp: kết hợp giữa phương pháp từ trên xuống và từ dưới lên: bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổng quát hóa và chuyên biệt hóa các lớp đó một cách thích hợp Ví dụ, ta bắt đầu với lớp nhân viên trước, là thuật ngữ hay gặp nhất trong quản lý nhân sự Sau đó, chúng ta có thể chuyên biệt hóa thành các lớp con:

Trang 20

nhân viên lễ tân, nhân viên vệ sinh,… hoặc tổng quát hóa lên thành lớp Người

1.5.5 Định nghĩa các thuộc tính và quan hệ cho lớp

Bản thân các lớp nhận được ở bước trên chỉ mới là những thuật ngữ phân biệt với nhau bằng tên gọi Về cơ bản, chúng chưa đủ để phục vụ cho việc biểu diễn tri thức Muốn như vậy, các thuộc tính của lớp cần được định nghĩa Thuộc tính của lớp là các thông tin bên trong của lớp, mô tả một khía cạnh nào đó của lớp và được dùng để phân biệt với các lớp khác Thuộc tính được chia làm nhiều loại khác nhau:

 Về mặt ý nghĩa, các thuộc tính có thể được chia làm hai loại: thuộc tính bên trong (intrinsic property) và thuộc tính bên ngoài (extrinsic property) Thuộc tính bên trong mô tả các tính chất nội tại bên trong

sự vật, ví dụ: chất, lượng, cấu tạo… Trong khi đó, thuộc tính bên ngoài mô tả phần biểu hiện của sự vật, ví dụ: màu sắc, hình dạng…

 Về mặt giá trị, các thuộc tính cũng được chia làm hai loại: thuộc tính đơn (simple property) và thuộc tính phức (complex property) Thuộc tính đơn là các giá trị đơn ví dụ: chuỗi, số…, còn thuộc tính phức có thể chứa hoặc tham khảo đến một đối tượng khác

Một chú ý quan trọng nữa trong bước này là việc một lớp sẽ kế thừa toàn

bộ các thuộc tính của tất cả các cha nó Do đó, cần phải xem xét một thuộc tính

đã được định nghĩa ở các lớp thuộc mức cao hơn hay chưa Thuộc tính chỉ nên được định nghĩa khi nó là tính chất riêng của lớp đang xét mà không được biểu hiện ở các lớp cao hơn

1.5.6 Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp

Các ràng buộc giới hạn giá trị mà một thuộc tính có thể nhận Hai ràng buộc quan trọng nhất đối với một thuộc tính là lượng số (cardinality) và kiểu (type) Ràng buộc lượng số quy định số giá trị mà một thuộc tính có thể nhận Hai giá trị thường thấy của ràng buộc này là đơn trị (single) và đa trị (multiple) Nhưng một số phần mềm còn cho phép định nghĩa chính xác khoảng giá trị của lượng số Ràng buộc thứ hai là về kiểu

Hình 1.3 - Ràng buộc trong ontology

Trang 21

Về cơ bản, các kiểu mà một thuộc tính có thể nhận là: chuỗi, số, boolean, liệt kê và kiểu thực thể Riêng kiểu thực thể có liên quan đến hai khái niệm gọi là: miền (domain) và khoảng (range) Khái niệm miền được dùng để chỉ lớp hay các lớp) mà một thuộc tính thuộc về Trong khi đó, khoảng chính là lớp (hay các lớp) làm kiểu cho giá trị thuộc tính kiểu thực thể

1.5.7 Tạo các thực thể cho lớp

Đây là bước cuối cùng khép lại một vòng lặp xây dựng ontology Công việc chính lúc này là tạo thực thể cho mỗi lớp và gán giá trị cho các thuộc tính Nhìn chung, các thực thể sẽ tạo nên nội dung của một cơ sở tri thức và là vấn đề được quan tâm trong lĩnh vực Web ngữ nghĩa

1.6 Các ngôn ngữ biểu diễn ontology

Các ngôn ngữ xây dựng ontology có thể được phân loại như sau:

 Các ngôn ngữ cổ điển như ngôn ngữ biểu diễn Cyc (Cycl), Ontolingua, LOOM, OCML, Flogic và KIF

 Các ngôn ngữ chuẩn của Web như XML và RDF (Resource Description Framework)

 Các ngôn ngữ dựa trên Web như Simple HTML Ontology Extentions (SHOE), XML based ontology exchange language (XOL), OIL, DAML+OIL và OWL

Trong chương 2, luận văn sẽ đi trình bày chi tiết một trong những ngôn ngữ thông dụng nhất hiện nay là ngôn ngữ OWL, đặc biệt là OWL Desciption Logic

1.7 Công cụ xây dựng ontology Protégé

Hiện nay có nhiều công cụ hỗ trợ xây dựng ontology Thông thường, một công cụ cung cấp giao diện xây dựng lớp, thuộc tính, tiên đề, ràng buộc và phân cấp lớp tương thích với các chuẩn phát triển phần mềm dựa trên Web Có một số công cụ phát triển ontology thông dụng như Ontolingua, WebOnto, WebODE, Protégé, OntoEdit, OntoBuilder,

Luận văn chỉ giới thiệu vắn tắt công cụ xây dựng ontology thông dụng nhất và cũng được áp dụng để xây dựng ontology trong luận văn này là Protégé

Protégé được tạo bởi nhóm Standford Medical Informatics thuộc Stanford University Protégé là một phương tiện với giao diện mang tính độc lập, cho phép chỉnh sửa, quan sát và kiểm soát (kiểm tra các điều kiện rằng buộc) các ontology Kèm theo đó là sự kết hợp bán tự động của các ontology nhờ vào bộ phận Prompt

Trang 22

Mô hình dữ liệu hình cây ở Protégé là kết quả của mô hình cấu trúc khung

và chứa các lớp, các thuộc tính và các giá trị, rằng buộc của các thuộc tính cũng như các đối tượng của các lớp và các thuộc tính Nó cho phép định nghĩa, thành lập các mô hình dữ liệu mang tính chất riêng biệt trước khi xây dựng ontology

Protégé có một giao diện hết sức thân thiện và dễ sử dụng Với giao diện

đó, việc điều khiển và thay đổi ontology (dưới dạng RDF hay OWL) hoặc là xây dựng ontology được thực hiện rất dễ dàng

Hình 1.4 - Công cụ xây dựng ontology Protégé

Trang 23

CHƯƠNG 2 NGÔN NGỮ OWL 2.1 Định nghĩa OWL

Vào năm 2004, Ontology Web Language (OWL) được cho ra đời bởi tổ chức W3C OWL là một ngôn ngữ ontology dùng để mô tả các lớp, thuộc tính,

và quan hệ giữa chúng với nhau Ngôn ngữ này gắn liền với nguồn thông tin, dữ liệu Web

OWL là một ngôn ngữ đánh dấu được sử dụng để biểu diễn và chia sẻ các thông tin dữ liệu sử dụng các ontology trên Internet OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm OWL được xem như là một

kỹ thuật trọng yếu để cài đặt cho Web ngữ nghĩa OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc xử lý nội dung thông tin của Web [8]

Một số hạn chế về mặt logic khi không có OWL:

 Sự tương đương của các lớp: đó là khi có hai lớp (class) mang cùng một khái niệm giống nhau Lý do là người xây dựng các lớp đó sử dụng các từ ngữ khác nhau để gọi tên các lớp

Ví dụ: có hai ontology, trong đó có hai lớp khác nhau Một ontology có một lớp là "Máy bay", ontology còn lại có một lớp là "Tàu bay" Sẽ hiệu quả hơn nếu

có thể chỉ ra rằng hai lớp này tương đương nhau

 Sự kết hợp của các lớp: đó là khi ta muốn xây dựng một lớp mới bằng cách kết hợp các lớp đã có, chẳng hạn tổ hợp (Union), giao (Intersection), bù (Complement)

Ví dụ: lớp "Con người" là sự kết hợp của hai lớp "Đàn ông" và "Đàn bà"

 Sự tách lớp: Là quá trình ngược lại của kết hợp

Ví dụ: hai lớp "Đàn ông" và "Đàn bà" là hai lớp được tách ra từ lớp "Con người"

 Điều kiện rằng buộc về thuộc tính: sẽ là hiệu quả, thực tế hơn nếu có thể giới hạn về số lượng giá trị của cùng một thuộc tính (property)

Ví dụ: về độ sâu nhất của đại dương, độ dài của một con sông, sẽ thực tế hơn nếu chúng ta muốn chỉ có duy nhất một thuộc tính "maxDepth" hay một

"officialLength"

 Tính chất đặc biệt của một thuộc tính:

Ví dụ: tính chất bắc cầu (lớn hơn, nhỏ hơn), tính chất duy nhất (chẳng hạn như mẹ đẻ là duy nhất)

Trang 24

2.2 Các đặc điểm của OWL

Ngôn ngữ OWL được kỳ vọng rằng sẽ cho phép các hệ thống máy tính có thể đọc được thay thế cho con người OWL được viết bằng XML, các thông tin OWL có thể dễ dàng được trao đổi giữa các kiểu hệ thống máy tính khác nhau,

sử dụng các hệ điều hành và các ngôn ngữ ứng dụng khác nhau

Hình 2.1 - Các tầng cấu thành Web ngữ nghĩa OWL là một chuẩn của web Về cơ bản, OWL sử dụng URI (Unique Resource Identifiers, ví dụ như http://w3c.org) để tìm kiếm địa chỉ và các khung mẫu mô tả như RDF (Resource Description Framworks) nhằm mở rộng các khả năng của ontology OWL là một mở rộng từ vựng của RDF và RDFS (Resource Description Framworks Schema) bằng cách cung cấp mô tả của các lớp, thuộc tính và các cá thể Điều này sẽ tăng khả năng đọc và phân tích nội dung web của máy tính

Mục đích của OWL là cung cấp các chuẩn để tạo ra một nền tảng quản lý thông tin dữ liệu, để chia sẻ cũng như tái sử dụng dữ liệu trên Internet

2.3 Các phiên bản của OWL

OWL cung cấp ba ngôn ngữ con được thiết kế cho các giao tiếp riêng của việc cài đặt và sử dụng: OWL Lite, OWL Description Logic, và OWL Full:

Hình 2.2 - Mối quan hệ giữa các phiên bản của OWL

Trang 25

2.3.1 OWL Lite

OWL Lite cung cấp tập các đặc tính giới hạn, có thể chưa đầy đủ cho mọi

ứng dụng nhưng được thiết kế để đảm bảo tốc độ xử lý tương đối hiệu quả OWL Lite hỗ trợ cho những người dùng chủ yếu cần sự phân lớp theo thứ bậc

và các ràng buộc đơn giản Ví dụ: Trong khi nó hỗ trợ các ràng buộc về tập hợp,

nó chỉ cho phép tập hợp giá trị của 0 hay 1 Chính vì việc hạn chế trong biểu diễn mà OWL không được sử dụng phổ biến

2.3.3 OWL Full

OWL Full là dạng ngôn ngữ đầy đủ nhất của OWL OWL Full được thiết

kế để đảm bảo sự tương thích với RDFS và không hạn chế gì trong việc biểu diễn tri thức Ví dụ: OWL Full cho phép một lớp vừa là một tập các thể hiện lại vừa có thể là một thể hiện; điều này không được cho phép trong OWL DL Chính vì khả năng biểu diễn mạnh mẽ như vậy nên OWL Full có nhược điểm là

có thể không đơn định và không tìm thuật toán suy diễn đầy đủ

Các phiên bản này tách biệt về các tiện ích khác nhau, OWL Lite là phiên bản dễ hiểu nhất và phức tạp nhất là OWL Full

Có sự tương thích xuôi giữa các dạng của OWL với nhau:

- Mọi Ontology OWL Lite hợp lệ đều là Ontology OWL DL hợp lệ

- Mọi Ontology OWL DL hợp lệ đều là Ontology OWL Full hợp lệ

- Mọi kết luận OWL Lite đúng là một kết luận OWL DL đúng

- Mọi kết luận OWL DL đúng là một kết luận OWL Full đúng

Khi phát triển ontology nên xem xét ngôn ngữ con nào phù hợp Sự lựa chọn OWL Lite hay OWL DL phụ thuộc vào sự mở rộng mà người sử dụng yêu cầu, cấu trúc nhiều diễn tả hơn được cung cấp bởi OWL DL Sự lựa chọn giữa OWL DL và OWL Full phụ thuộc vào sự mở rộng yêu cầu các tính năng siêu

mô hình của lược đồ RDFS (ví dụ: định nghĩa các lớp của các lớp, hoặc gắn các thuộc tính vào các lớp)

OWL Full được xem như mở rộng của RDF, trong khi OWL Lite và OWL DL có thể coi như sự mở rộng RDF Mỗi dữ liệu OWL là một dữ liệu RDF, và mỗi dữ liệu RDF là một dữ liệu OWL Full, nhưng chỉ một vài dữ liệu

Trang 26

RDF là một OWL Lite hay OWL DL Bởi điều này, một vài chú ý phải được thực hiện khi người dùng muốn chuyển từ RDF sang OWL

Khi diễn tả OWL DL hay OWL Lite được xem là phù hợp, một vài sự tính toán phải được thực hiện để đảm bảo rằng các dữ liệu RDF ban đầu tuân theo các ràng buộc thêm vào bắt buộc của OWL DL và OWL Lite Thêm nữa, mỗi URI được sử dụng như tên lớp phải được xác nhận rõ ràng kiểu OWL: Class, mỗi thuộc tính phải được xác nhận thuộc ít nhất một lớp, URI được sử dụng cho các lớp, các thuộc tính, các cá thể

2.4 Cú pháp và ngữ nghĩa của OWL DL

Trong khuôn khổ bài luận văn này, OWL DL sẽ được sử dụng nhiều trong quá trình sử dụng về mặt lý thuyết cũng như ứng dụng Vậy nên, OWL DL sẽ được nói đến sâu hơn trong phần này

Ngôn ngữ OWL DL cho phép định nghĩa các ontology, giúp xây dựng bộ

từ vựng cho Web ngữ nghĩa, hỗ trợ chú thích ngữ nghĩa cho tài nguyên Web

Các mô tả thuộc tính đối tượng OWL:

Cú pháp trừu tượng Cú pháp DL Ngữ nghĩa

ObjectProperty(S inverseOf(R)) R- (R-)I  I  I

Bảng 2.1 - Bảng mô tả thuộc tính đối tượng OWL

Các mô tả thuộc tính lớp OWL:

I

, o2 I

} restriction(R

|y.<x,y>  RI

yCI} (R.{o})I=(xI

| <x, oI>RI) {xI

|(# y.<x,y>  RI)  m}

Trang 27

Bảng 2.2 - Bảng mô tả thuộc tính lớp OWL

Các tiên đề và các sự kiện của OWL:

Cú pháp trừu tƣợng Cú pháp DL Ngữ nghĩa

Class(A partial C1 Cn) A  C1 Cn AI C1I Cn IClass(A complete C1 Cn) A  C1 Cn AI = C1I Cn I

RI)1}

{<x,y>|(# y.<x,y>(R

-)I)1}

RI =(R I)+AnnotationPropety(R)

Individual(o type(C1) type(Cn)

>Ri I

, 1 i nSameIndividual(o1 on) o1 = = on o1

I

= = on

I

DifferentIndividuals(o1 on) oioj, 1i<jn oiIojI, 1i<jn

Bảng 2.3 - Bảng tiên đề và các sự kiện của OWL

Một phần của ontology "ThuVien" trong cú pháp trừu tƣợng OWL:

Namespace(elp=<http://example.org/Libary#>)

Ontology(elp:Ontology

Trang 28

Class(elp:Sach) Class(elp:Nguoi) Class(elp:TacGia partial exp:Nguoi) Class(elp:NguyenDuy partial exp:TacGia ) Class(elp:HoChiMinh partial exp:TacGia ) Class(elp:PhanThiTuoi partial exp:TacGia ) ObjectProperty(elp:viet)

Class(elp:TacGia Complete elp: Nguoi

restriction(elp:viet allValuesFrom( unionOf (elp:Sach)))) Class(elp: < ProgrammingTheSemanticWeb partial exp:Sach) Individual(elp: < ProgrammingTheSemanticWeb

type(elp:TobySegaran) value(elp:viet)) )

Trang 29

CHƯƠNG 3 TÍCH HỢP ONTOLOGY 3.1 Đặt vấn đề

Như đã nói ở trên, để con người và 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ề các khái niệm Đó là các khái niệm được định nghĩa trong các ontology Tuy nhiên, 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 rẽ 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 Việc tích hợp ontology cho phép tìm ra những thông tin hay quan hệ giữa các nguồn tài nguyên dựa trên những ontology đã có

Ví dụ 1: trường hợp đơn giản, hai ontology miêu tả hai quan hệ khác nhau nhưng cùng dựa trên một tài nguyên thông tin và cùng sử dụng những định danh như nhau:

Hình 3.1 - Ví dụ một về tích hợp ontology

Ví dụ 2: Cùng sử dụng nguồn tài nguyên như nhau trong những ontology khác nhau, nhưng hướng tới những định danh khác nhau:

Trang 30

Hình 3.2 - Ví dụ hai về tích hợp ontology

3.2 Các bước tích hợp ontology

Hình 3.3 - Các bước tích hợp ontology

- Thông tin đầu vào:

Hai ontology cần tích hợp là ontology O1 và O2 Mỗi ontology có các cá thể, các lớp, các thuộc tính và các mối quan hệ tương ứng Trong phạm vi luận văn này, cả hai ontology cần tích hợp đều được xây dựng trên cùng một ngôn ngữ là OWL

- Kết quả đầu ra:

Ontology kết quả của quá trình tích hợp hai ontology O1 và O2 là ontology O3

- Phương pháp tích hợp: Để tích hợp hai ontology được cần làm hai bước như sau:

Bước 1- Ánh xạ ontology: Ở bước này, sau khi so khớp hai ontology ban đầu sẽ thu được một ontology ánh xạ

Bước 2- Tích hợp ontology: Với ontology ánh xạ thu được ở bước 1, kết hợp với hai ontology ban đầu thu được ontology O3 Đây chính là kết quả tích hợp mà ta mong muốn

Hai bước này sẽ được mô tả kỹ hơn ở các phần tiếp theo

Trang 31

Kết quả của bước này là một ontology ánh xạ chứa các điểm tương đồng giữa hai ontology cần tích hợp Những cặp yếu tố tương đồng được tìm ra dựa trên các tính chất của chúng Đó có thể là các cặp lớp, các cặp thuộc tính hay các cặp thực thể dựa vào sự tương đồng của tên hay vị trí của chúng trong các ontology cần tích hợp

Hình 3.5 - Ví dụ về Ánh xạ ontology

Trang 32

3.3.2 Khái niệm độ tương tự

Các điểm tương đồng được đánh giá bởi một con số gọi là độ tương tự

Độ tương tự giữa các yếu tố càng lớn thì các ánh xạ càng chính xác và độ tin cậy của chúng càng cao Độ tương tự giữa hai yếu tố lớn nhất là 1

Độ tương tự của các cặp tương đồng có thể được định nghĩa một cách trực quan như sau:

 Độ tương tự giữa hai yếu tố A và B có liên quan tới sự giống nhau của chúng Sự giống nhau càng nhiều thì độ tương tự càng lớn

 Độ tương tự giữa hai yếu tố A và B có liên quan tới sự khác biệt giữa chúng Sự khác biệt càng nhiều thì độ tương tự càng thấp

 Độ tương tự lớn nhất giữa hai yếu tố A và B đạt được khi A và B giống hệt nhau Khi đó A và B là đồng nhất

Về mặt toán học, độ tương tự giữa hai yếu tố được tính bằng tổng của độ tương tự các yếu tố liên quan Ví dụ, độ tương tự giữa hai lớp A và B chính là tổng của độ tương tự về ngữ nghĩa của A và B cộng với độ tương tự về cấu trúc của A và B

Độ tương tự về cấu trúc của A và B được tính đến các thành phần liên hệ trực tiếp như thuộc tính, lớp mẹ, lớp con Với các thành phần liên hệ trực tiếp này, độ tương tự có thể chỉ được tính đơn giản là về ngữ nghĩa Theo Align [14], các công thức tính độ tương tự về cấu trúc cụ thể như sau:

Để tính được độ tương tự về ngữ nghĩa giữa các chuỗi ký tự, có một số công thức cụ thể được sử dụng như sau:

 Độ tương tự dựa vào sự giống nhau của hai chuỗi ký tự:

cedit(x, y) = 1+𝑒𝑑𝑖𝑡𝐷𝑖𝑠𝑡 (𝑥,𝑦)1Trong đó, editDist (x,y) là số ký tự nhỏ nhất cần chèn vào hay xóa đi để chuyển từ chuỗi ký tự này sang chuỗi ký tự kia

 Độ tương tự dựa vào số bộ ba khác nhau giữa hai chuỗi ký tự:

ctri(x, y) = 1+ 𝑡𝑟𝑖 𝑥 + 𝑡𝑟𝑖 𝑦 −2×|𝑡𝑟𝑖 (𝑥)∩𝑡𝑟𝑖 (𝑦)| 1Trong đó, tri(x) là tập các bộ ba trong x Ví dụ: tri(tươngtự)={tươ,ươn,ơng, ngt, gtự}

Độ tương tự được áp dụng và phát triển trong nhiều lĩnh vực Trong các lĩnh vực khác nhau có những cách tính độ tương tự khác nhau

Trang 33

3.3.3 Các bước ánh xạ ontology

Quy trình ánh xạ ontology là một quy trình bao gồm nhiều bước và là một quy trình lặp Đối 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 nhau, trật tự các bước có thể khác nhau hoặc một số bước trong 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 này thành 6 bước cơ bản sau [4]:

Hình 3.6 - Quy trình ánh xạ ontology

 Xây dựng các đặc trưng: Đây là bước khởi đầu của quy trình sử dụng các giá trị đầu vào là các ontology Để 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 trong quá trình đối sánh ở các bước tiếp theo

 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, ta sẽ chọn ra các cặp thực thể của hai ontology để thực hiện việc ánh xạ ontology trong bướ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 cho quá trình ánh xạ 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 ánh xạ 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ự

 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ả ánh xạ giữa các ontology Tuy nhiên, có rất nhiều phương phá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ác kết quả này để cho ra kết luận đúng đắn nhất là rất quan trọng Nhiều nghiên cứu đã đưa ra các

Trang 34

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ết quả 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ần phải được thông dịch 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 đ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à:

i Quá trình lặp dừng lại sau một số bước nhất định

ii Quá trình lặp dừng lại sau một thời gian nhất định

iii Các giá trị thay đổi vẫn không vượt quá ngưỡng

3.3.4 Một số kỹ thuật ánh xạ

Mục đích của quy trình ánh xạ ontology 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ác thực thể của các ontology

 Kỹ thuật ánh xạ sử dụng các tài nguyên về ngôn ngữ

Các nguồn tài nguyên về ngôn ngữ như các bộ từ điển từ vựng, các từ điển chuyên đề được sử dụng nhằm đối sánh các từ (trong trường hợp này, tên của các thực thể ontology được xem như là các từ biểu diễn trong ngôn ngữ tự nhiên) dựa trên các mối quan hệ giữa chúng như dựa vào các từ đồng nghĩa, từ bao hàm…

Phương pháp ánh xạ chủ yếu khi sử dụng các nguồn tài nguyên này là dựa vào tập các từ có một mối quan hệ nào đó với mỗi từ cần đối sánh, ví dụ như tập các từ đồng nghĩa Nếu hai tập này có nhiều từ chung nghĩa là độ tương tự giữa hai từ gốc càng cao Tuy nhiên, phương pháp này có hạn chế là phụ thuộc vào tính chính xác của nguồn tài nguyên đang sử dụng

Ngày đăng: 16/03/2021, 11:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w