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

Một phần của tài liệu 28063_1712202001934183LVPhamHuuThang (Trang 38 - 44)

8. Bố cục của luận văn

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

Ontology được sử dụng như là một biểu mẫu trình bày tri thức về thế giới hay một phần của nó. Ontology thường miêu tả:

- Cá thể: Các đối tượng cơ bản, nền tảng. - Lớp: Các tập hợp, hay kiểu của các đối tượng.

- Thuộc tính: Thuộc tính, tính năng, đặc điểm, tính cách, hay các thông số mà các đối tượng có và có thể đem ra chia sẻ.

- Mối liên hệ: cách mà các đối tượng có thể liên hệ tới một đối tượng khác. Bộ từ vựng ontology được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp khả năng biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên Web và có khả năng hỗ trợ lập luận.

a. Cá thể (Individuals) – Thể hiện

Cá thể là thành phần cơ bản của một ontology. Các cá thể trong một ontology có thể bao gồm các đối tượng rời rạc như xe, động vật, thực vật…, cũng như các đối tượng trừu tượng như con số và từ.

b. Lớp (Classes) - Khái niệm

Lớ p là những nhóm, bộ hoặc tập hợp các đối tượng. 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 gộp vào lớp khác được gọi là lớp con của lớp gộp. Điều quan trọng của quan hệ xếp gộp là tính kế thừa.

c. Thuộc tính (Properties)

Các đối tượng trong ontology có thể được mô tả thông qua việc khai báo các thuộc tính của chúng. Mỗi một thuộc tính đều có tên và giá trị của thuộc tính đó. Các thuộc tính được sử dụng để lưu trữ các thông tin mà đối tượng có thể có. Ví dụ,

đối với một cá nhân có thể có các thuộc tính: Họ_tên, ngày_sinh, quê_quán, số_cmnd… Giá trị của một thuộc tính có thể có các kiểu dữ liệu phức tạp.

d. 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. 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 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.

Ontology thường phân biệt các nhóm quan hệ khác nhau. Ví dụ: -Quan hệ giữa các lớp

-Quan hệ giữa các thực thể

-Quan hệ giữa một thực thể và một lớp

-Quan hệ giữa một đối tượng đơn và một tập hợp -Quan hệ giữa các tập hợp.

1.3.5. Ngôn ngữ OWL

OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để mô tả các hệ cơ sở tri thức. OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ dữ liệu trên Internet thông qua những mô hình dữ liệu gọi là “ontology”. Ontology mô tả một lĩnh vực (domain) và diễn tả những đối tượng trong lĩnh vực đó cùng những mối quan hệ giữa các đối tượng này. OWL là phần mở rộng về từ vựng của RDF và được kế thừa từ ngôn ngữ DAML+OIL web ontology – một dự án được hỗ trợ bởi W3C. 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 trong tương lai. 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. Ngôn ngữ này đượ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. Vì OWL được viết bởi XML, các thông tin OWL có thể dễ dàng 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. Mục đích chính của OWL là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài sản, tích hợp mức doanh nghiệp và để chia sẻ cũng như tái sử dụng dữ liệu trên Web. OWL được phát triển bởi nó có nhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so với XML, RDF và RDFS, và vì OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội dung mà máy có thể biểu diễn được trên web.

Các phiên bản của OWL: Hiện nay có ba loại OWL: OWL Lite, OWL DL (Descrition logic), và OWL Full.

- 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. Điều này cho phép cung cấp các công cụ hỗ trợ OWL Lite dễ dàng hơn so với các bản khác.

OWL DL (OWL Logic): hỗ trợ cho những người dùng cần sự diễn cảm tối đa

trong khi cần duy trì tính tính toán toàn vẹn (tất cả các kết luận phải được đảm bảo để tính toán) và tính quyết định (tất cả các tính toán sẽ kết thúc trong khoảng thời gian hạn chế). OWL DL bao gồm tất cả các cấu trúc của ngôn ngữ OWL, nhưng chúng chỉ có thể được sử dụng với những hạn chế nào đó (Ví dụ: Trong khi một lớp có thể là một lớp con của rất nhiều lớp, một lớp không thể là một thể hiện của một lớp khác). OWL DL cũng được chỉ định theo sự tương ứng với logic mô tả, một lĩnh vực nghiên cứu trong logic đã tạo nên sự thiết lập chính thức của OWL.

OWL Full muốn đề cập tới những người dùng cần sự diễn cảm tối đa và sự tự

do của RDF mà không cần đảm bảo sự tính toán của các biểu thức. Ví dụ, trong OWL Full, một lớp có thể được xem xét đồng thời như là một tập của các cá thể và như là một cá thể trong chính bản thân nó. OWL Full cho phép một Ontology gia cố thêm ý nghĩa của các từ vựng được định nghĩa trước (RDF hoặc OWL).

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.

- Mọi ontology hợp lệ dựa trên OWL Lite đều là ontology hợp lệ trên OWL DL;

- Mọi ontology hợp lệ dựa trên OWL DL đều là ontology hợp lệ trên OWL Full;

- Mọi kết luận hợp lệ dựa trên OWL Lite đều là kết luận hợp lệ trên OWL DL; - Mọi kết luận hợp lệ dựa trên OWL DL đều là kết luận hợp lệ trên OWL Full.

1.3.6. Hệ truy vấn SPARQL

- SPARQL là một giao thức và ngôn ngữ truy vấn RDF. Nó tương thích với cấu trúc cụ thể của RDF và dựa trên bộ ba của chúng. SPARQL cho phép thực hiện các câu truy vấn thêm, xóa, tìm kiếm và chỉnh sửa dữ liệu định dạng RDF. Nó cũng được dùng để truy vấn RDFS hoặc từ vựng OWL (được viết dưới dạng RDF) [14].

Sau đây là một ví dụ truy vấn SPARQL đơn giản:

SELECT ? linhvucnghiencuu

WHERE {

? linhvucnghiencuu rdf:type ll:linhvucnghiencuu }

Ngôn ngữ truy vấn SPARQL đặc tả bốn loại truy vấn khác nhau cho các mục đích khác nhau:

- Truy vấn SELECT được dùng để trích xuất các giá trị, là một tập con hoặc toàn bộ các biến được ràng buộc trong một truy vấn. Các biến chứa các giá trị trả về được liệt kê sau từ khóa SELECT. Trong mệnh đề WHERE, có thể liệt kê danh sách các mẫu đồ thị truy vấn

- Truy vấn CONSTRUCT trả về đồ thị RDF với các biến liên quan.

- Truy vấn DESCRIBE trả về một đồ thị RDF “mô tả” tài nguyên tìm được. - Truy vấn ASK trả về kết quả tìm kiếm một mẫu (đồ thị) dưới dạng True/False.

Dưới đây là một số lý do để tôi chọn ngôn ngữ truy vấn SPARQL cho luận văn của mình:

dựng, quản lý đưa ra các chuẩn liên quan đến WWW – khuyến nghị sử dụng, và nó được chấp nhận rộng rãi trong cộng đồng web ngữ nghĩa và trí tuệ nhân tạo.

- Cú pháp của ngôn ngữ SPARQL khá đơn giản.

- SPARQL có thể được sử dụng với bất kỳ ngôn ngữ mô hình hóa nào.

1.4. MỘT SỐ PHẦN MỀM BIÊN TẬP ONTOLOGY

Về mặt lý thuyết, người xây dựng và quản trị ontology có thể không cần các công cụ hỗ trợ, thay vào đó có thể thực hiện trực tiếp bằng các ngôn ngữ. Tuy nhiên, cách thứ hai sẽ không khả thi khi ontology có kích thước lớn và cấu trúc phức tạp. Thêm vào đó, việc xây dựng và quản trị ontology không chỉ đòi hỏi việc tạo cấu trúc lớp phân cấp, định nghĩa các thuộc tính, ràng buộc.., mà còn bao hàm việc giải quyết các bài toán liên quan trên nó. Dưới đây là một số phần mềm biên tập ontology.

1.4.1. Phần mềm WebODE

WebODE được sử dụng như một web server với giao diện web. Phần lõi chính của môi trường này là một dịch vụ ontology, trong đó tất cả các dịch vụ và ứng dụng khác đều có thể sử dụng dịch vụ này. Phần soạn thảo ontology cung cấp công cụ kiểm tra, tạo các luật tiên đề và phân tích các trong HTML, hợp nhất ngữ nghĩa trong ontology, nhập và xuất các ontology với nhiều định dạng khác nhau như XML, XML/RDF, DAML+OIL…

1.4.2. Phần mềm Jena

Jena (http://jena.sourceforge.net) là một công cụ mã nguồn mở để triển khai web ngữ nghĩa cho các lập trình viên Java được phát triển bởi HP Labs Semantic web research (http://www.hpl.hp.com/semWeb). Jena-1 phát hành lần đầu tiên vào năm 2000 và có trên 10.000 lượt tải về. Jena-2 sau những cải tiến về mặt kiến trúc bên trong đã cung cấp nhiều tính năng hơn, phát hành vào tháng 8-2003. Phiên bản mới nhất là Jena 3.2.0.

Jena là một Java framework dùng để xây dựng các ứng dụng web ngữ nghĩa. Jena cung cấp môi trường lập trình cho RDF, RDFS, OWL và SPARQL - ngôn ngữ truy vấn cho RDF. Jena bao gồm các thành phần và tính năng sau:

- RDF API: Giao diện lập trình cho RDF. - OWL API: Giao diện lập trình cho OWL.

- Xuất và đọc các file RDF theo dạng RDF/XML, N3 và N-Tribles.

- Cho phép lưu trữ trong bộ nhớ, lưu trữ cố định trong các tập tin đơn hay trong các hệ quản trị cơ sở dữ liệu (MySQL, PostgreSQL, Oracle, Microsoft SQL Server…).

- Hệ truy vấn SPARQL.

1.4.3. Phần mềm Protégé

Đây là bộ phần mềm mã nguồn mở Java được nghiên cứu và phát triển từ năm 1998 bởi nhóm nghiên cứu của Mark Musen thuộc đại học Stanford, California. Protégé được hỗ trợ mạnh mẽ bởi cộng đồng các nhà khoa học, chính phủ và doanh nghiệp, sử dụng Protégé để xây dựng các giải pháp dựa trên tri thức trong các lĩnh vực đa dạng như y sinh học, thương mại điện tử và mô hình tổ chức.

Hiện tại, Protégé đã có phiên bản 5.2.0 hỗ trợ OWL 2. Công cụ Protégé có thể chia làm 2 loại là: Protégé-Frame và Protégé-OWL:

- Protégé - Frame cung cấp cho người dùng một giao diện chứa đầy đủ công cụ và kiến thức để hỗ trợ người dùng xây dựng và lưu trữ các ontology chuyên ngành dựa trên khung, tùy biến các hình thức nhập dữ liệu, và nhập dữ liệu tức thời.

- Protégé-OWL là một công cụ mở rộng của Protégé hỗ trợ các web ontology Language (OWL). Công cụ soạn thảo Protégé-OWL cho phép người dùng lưu và xem các ontology OWL và RDF, xem và chỉnh sửa các lớp, cá thể, thuộc tính, quan hệ và các ràng buộc, kiểm tra tính đúng đắn của ontology.

Theo ý kiến chủ quan của bản thân trong quá trình tìm hiểu và sử dụng thì tôi nhận thấy công cụ Protégé-Frame là phù hợp hơn cho nhu cầu xem chỉnh sửa và nhập dữ liệu cho ontology, trong khi nếu muốn xây dựng ontology mới và có giao diện phù hợp với việc xây dựng cấu trúc cho ontology thì dùng Protégé-OWL sẽ dễ dàng sử dụng hơn. Ngoài ra, Protégé-OWL cũng hỗ trợ cho ngôn ngữ OWL tốt hơn là Protégé-Frame. Vì vậy, nhóm sẽ sử dụng công cụ Protégé-OWL để xây dựng ontology [18].

Các ưu điểm của Protégé là:

- Hỗ trợ đầy đủ ba phiên bản của ngôn ngữ OWL là OWL-Full, OWL-Lite và OWL-DL.

- Nhờ sử dụng mô hình hướng đối tượng của ngôn ngữ Java, Protégé rất hiệu quả trong việc mô hình hóa các lớp, thực thể, quan hệ…

- Giao diện thiết kế trực quan có tính tương tác cao. Người sử dụng có thể định nghĩa các thành phần của ontology trực tiếp từ các form. Nó hỗ trợ xây dựng các thành phần của một ontology rất nhanh và hiệu quả.

- Cho phép biểu diễn trực quan ontology dưới dạng các sơ đồ. - Cho phép xây dựng ontology từ nhiều nguồn khác nhau.

- Protégé tự động lưu một bản tạm của ontology. Nếu có lỗi phát sinh trong quá trình thao tác thì ontology cũ sẽ tự động được phục hồi.

- Cung cấp chức năng tìm kiếm lỗi, kiểm tra tính nhất quán và đầy đủ của ontology.

- Cho phép các lớp và thuộc tính của ontology này có thể được sử dụng trong một Namespace khác mà chỉ cần sử dụng các URL để tham khảo.

- Hỗ trợ suy luận trực tiếp trên ontology dựa trên Interface chuẩn DL Implementation Group (DIG).

- Hỗ trợ sinh mã tự động. Protégé cho phép chuyển ontology thành mã nguồn RDF/XML, OWL, DIG, Java, EMF Java Interfaces, Java Schema Classes. Các mã này có thể được nhúng trực tiếp vào ứng dụng và là đầu vào cho các thao tác trên ontology khi cần.

- Dựa trên phân tích yêu cầu bài toán, có rất nhiều công cụ có thể hỗ trợ để thực hiện giải quyết bài toán, nhưng tôi quyết định chọn các công cụ sau đây để xây dựng và phát triển ứng dụng.

Một phần của tài liệu 28063_1712202001934183LVPhamHuuThang (Trang 38 - 44)