Chương 1 Phát triển các hệ thống thông tin cộng đồng dựa trên ontology
1.1 Khái niệm ontology
Khái niệm “Ontology” có nguồn gốc từ nghiên cứu triết học về bản thể học, nó mang ý nghĩa về quan hệ giữa các khái niệm, đó là cơ sởđể sử dụng Ontology trong các ngành khoa học, để định nghĩa các thuật ngữ chuyên ngành và mô tả quan hệ
giữa các thuật ngữđó.
Trong lĩnh vực Công nghệ thông tin, ontology là một tập hợp tất cả các thuật ngữ và định nghĩa các khái niệm, miêu tả cấu trúc của thông tin trong một lĩnh vực. Có nhiều định nghĩa về ontology đã được đề xuất trong những năm cuối của thập kỷ
qua. Tuy nhiên định nghĩa được xem là mô tả tốt nhất các đặc tính chủ chốt của một ontology: “Ontology là đặc tả hình thức, rõ ràng của khái niệm được chia sẻ”. Khái niệm ởđây ám chỉđến một mô hình trừu tượng về một vài hiện tượng trong thế giới thực, nó xác định những khái niệm liên quan của hiện tượng đó. Tính rõ ràng có nghĩa là loại của khái niệm được sử dụng và các ràng buộc khi sử dụng của nó được
định nghĩa tường minh. Tính hình thức ám chỉ rằng ontology có thể hiểu được bằng máy.
Một ontology là một mô hình dữ liệu dùng để biểu diễn một tập các khái niệm sử dụng trong một miền ứng dụng và các quan hệ giữa các khái niệm đó. Ontology
được dùng để suy luận về các đối tượng thuộc miền ứng dụng đó. Các ontology
được sử dụng như một dạng của biểu diễn tri thức về thế giới hoặc một vài phần của thế giới. Các ontology thường được mô tả như sau:
- Các cá thể (individuals): là các đối tượng cơ sở hoặc đối tượng mức nền. - Các lớp (Classes): các bộ (sets), các tập hợp, hoặc các kiểu của đối tượng - Các thuộc tính (Attributes): các đặc tính, đặc trưng, đặc điểm, hoặc các
tham số mà các đối tượng có hoặc chia sẻ
- Các quan hệ (Relations): Các cách mà đối tượng có thểđược liên kết tới một đối tượng khác
- Các sự kiện (Events): Sự thay đổi của các thuộc tính hoặc các quan hệ
Đặc điểm của ontology
- Ontology được chuẩn hóa: để máy tính có thể hiểu được mà không cần
đến tác động của con người, các thuật ngữ lưu trữ trong ontology phải
42
- Ontology dễ hiểu đối với người sử dụng: để người sử dụng, các chuyên gia, và các nhà tạo lập ontology, đều có thể phát triển, chia sẻ và hiểu thông tin trong ontology, không phải chỉ riêng máy tính hiểu cấu trúc của ontology.
- Ontology bao trùm toàn bộ một lĩnh vực: do mục đích xây dựng ontology bao gồm toàn bộ các nghĩa khác nhau của một khái niệm, và có thể tái sử
dụng trong các lĩnh vực khác nhau, không phải chỉ sử dụng trong một
ứng dụng chuyên biệt.
- Ontology có thể chia sẻ được: các thuật ngữ được xây dựng trong ontology đều bắt nguồn từ những khái niệm cơ bản (như “con người”, “tổ
chức”,”giáo sư”…). Tuy các ontology được xây dựng riêng cho từng lĩnh vực sẽ sử dụng các thuật ngữ có khác nhau, nhưng đều bắt nguồn từ
những khái niệm này. Do đó, có thể kết hợp các ontology giữa các chuyên ngành khác nhau để giải quyết các bài toán lớn hơn, ví dụ: kết hợp ontology của các đại lý du lịch với ontology về các dịch vụ khách sạn, các phương tiện giao thông, có thể giúp khách du lịch tìm được hành trình du lịch phù hợp với các yêu cầu về thời gian, giá cả của họ.
Thành phần của ontology
Hiện nay, các ontology dùng chung một số các cấu trúc tương tự nhau, không quan tâm đến ngôn ngữ trong cấu trúc mà nó biểu diễn. Nhưđã nói ở trên, đa số các ontology mô tả các cá thể (instances), các lớp (các khái niệm), các thuộc tính, và các quan hệ. Trong phần này chúng ta sẽ xem xét các thành phần đó
a. Cá thể
Các cá thể là các thành phần cơ sở, mức nền của một ontology. Các cá thể trong một ontology có thể chứa các đối tượng nền (cơ sở) như là người, động vật, bàn, xe máy, phân tử, hành tinh, cũng như đối với các cá thể trừu tượng như các số và từ. Nói đúng ra, một ontology không cần chứa bất kỳ cá thể nào, nhưng một trong những mục tiêu chung của một ontology đó là cung cấp nghĩa của phân lớp các cá thể, thậm chí các cá thểđó rõ ràng không phải là thành phần của ontology.
b. Lớp (khái niệm)
Các lớp là các nhóm, tập hợp trừu tượng của các đối tượng. Chúng có thể chứa các cá thể, các lớp khác, hoặc cả hai. Ví dụ: Person, là một lớp của người; Molecule, lớp của các phân tử; Vehicle, lớp của các phương tiện giao thông; …
Các ontology khác nhau về các đặc điểm sau: hoặc các lớp chứa các lớp khác hoặc một lớp có thể phụ thuộc vào chính nó, hoặc có một lớp chung (đó là, một lớp chứa mọi thứ)….
43
Các lớp của một ontology có thể là extensional hoặc intensional. Một lớp là extensional nếu và chỉ nếu nó được mô tả duy nhất bởi các thành viên của nó. Chính xác hơn, một lớp C là mở rộng nếu và chỉ nếu cho bất kỳ một lớp C’ nào, nếu C’ có các thành viên giống hệt C, vì vậy C và C’ là giống nhau. Nếu một lớp không thỏa mãn điều kiện này, thì nó là intensional.
Một điều quan trọng là một lớp có thể gộp các lớp khác hoặc được gộp bởi các lớp khác. Ví dụ, Vehicle gộp Car, do vậy mọi thành viên của Car là thành viên của Vehicle. Việc gộp quan hệđược sử dụng để tạo thứ tự bậc của các lớp, ví dụ với lớp chung như “Thing” sẽ là đỉnh, các lớp khác sẽở thấp hơn.
Một phân hoạch là một tập của các lớp có quan hệ với nhau và kết hợp với các luật cho phép các đối tượng được đặt vào các lớp thích hợp. Nếu các luật phân hoạch bảo đảm rằng một thực thể không thể nằm trong hai lớp thì phân hoạch đó
được gọi là một phân hoạch tách rời. Nếu các luật phân hoạch đảm bảo rằng mọi
đối tượng nền trong một siêu lớp là một trường hợp của tí nhất một trong các lớp phân hoạch, thì phân hoạch đó được gọi là phân hoạch vét cạn.
c. Thuộc tính
Các đối tượng trong ontology có thể được mô tả bởi các thuộc tính gán cho chúng. Mỗi thuộc tính có ít nhất một tên và một giá trị, và được sử dụng để chứa thông tin đặc tảđối tượng mà thuộc tính này mô tả. Giá trị của một thuộc tính có thể
là một kiểu dữ liệu phức tạp. d. Quan hệ
Một điểm quan trong khi sử dụng các thuộc tính đó là mô tả các quan hệ giữa các đối tượng trong ontology. Đặc trưng một quan hệđó là một thuộc tính mà giá trị
của nó là các đối tượng khác trong ontology. Sức mạnh của các ontology nằm ở khả
năng mô tả các mối quan hệ. Tập hợp của các quan hệ mô tả ngữ nghĩa của miền
ứng dụng.
Kiểu quan trọng nhất của quan hệ là quan hệ gộp (is-superclass-of, đảo của is-a, is-subtype-of hoặc is-subclass-of). Các định nghĩa này nói rằng các đối tượng là các thành viên của các lớp.
Bổ sung của các quan hệ is-a được tạo bởi một nguyên tắc phân loại thứ bậc, một cấu trúc giống như cây mô tả rõ ràng các đối tượng liên hệ tới các đối tượng khác. Trong một cấu trúc như vậy, mỗi đối tượng là con của một lớp cha (một vài ngôn ngữ giới hạn quan hệ is-a một cha cho tất cả các nút, nhưng một số ngôn ngữ
lại không).
Một kiểu thông dụng của các quan hệ đó là part-of (quan hệ meronymy), biểu diễn các đối tượng kết hợp cùng nhau từ các đối tượng khác. Nếu chúng ta đưa các
44
quan hệ meronymy vào ontology của chúng ta, cấu trúc cây đơn giản sẽ trở nên phức tạp và khó có thể diễn giải một cách thủ công. Điều này không khó hiểu, một thực thể được môt tả như một phần của thực thể khác (part-of) có thể cũng là một phần (part-of) của thực thể thứ ba. Vì vậy, các thực thể có thể có rất nhiều cha. Ví dụ cấu trúc DAG (directed acyclic graph).
Cũng như các quan hệ chuẩn is-a và part-of, các ontology thường chứa thêm các kiểu quan hệ cải thiện về ngữ nghĩa hơn nữa mô hình của chúng. Các quan hệ này thường là sử dụng trong các miền ứng dụng cụ thể và được sử dụng để trả lời các kiểu câu hỏi cụ thể.