CHƯƠNG 1: TỔNG QUAN VỀ ONTOLOGY, QUẢN LÝ TRI THỨC VÀ LOG MÁY CHỦ WEB 1.1 TỔNG QUAN VỀ ONTOLOGY 1.1 Tổng quan về Ontology Thuật ngữ “Ontology” đã xuất hiện từ rất sớm. Trong cuốn sách “Siêu hình” (Metaphysics) của mình, Aristotle đã định nghĩa: “Ontology là một nhánh của triết học, liên quan đến sự tồn tại và bản chất các sự vật trong thực tế” (McGuinness, D. Hay nói cách khác, đối tượng nghiên cứu chủ yếu của Ontology xoay quanh việc phân loại các sự vật dựa trên các đặc điểm mang tính bản chất của nó. Ontology là một thuật ngữ mượn từ triết học được tạm dịch là “bản thể học”, nhằm chỉ khoa học mô tả các loại thực thể trong thế giới thực và cách chúng liên kết với nhau.
Trong ngành khoa học máy tính và khoa học thông tin, Ontology mang ý nghĩa là các loại vật và quan hệ giữa chúng trong một hệ thống hay ngữ cảnh cần quan tâm. Các loại vật này còn được gọi là khái niệm, thuật ngữ hay từ vựng có thể được sử dụng trong một lĩnh vực chuyên môn nào đó. Ontology cũng có thể hiểu là một ngôn ngữ hay một tập các quy tắc được dùng để xây dựng một hệ thống Ontology. Một hệ thống Ontology định nghĩa một tập các từ vựng mang tính phổ biến trong lĩnh vực chuyên môn nào đó và quan hệ giữa chúng.
Sự định nghĩa này có thể được hiểu bởi cả con người lẫn máy tính. Một cách khái quát, có thể hiểu Ontology là “Một biểu diễn của sự khái niệm hoá chung được chia sẻ” của một miền hay lĩnh vực nhất định. Nó 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à các định nghĩa về các khái niệm và các thuộc tính này. 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ử 10 dụng trong một lĩnh vực 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.
Ontology được sử dụng trong trí tuệ nhân tạo, công nghệ Web ngữ nghĩa (Semantic Web), các hệ thống kỹ thuật, kỹ thuật phần mềm, tin học y sinh và kiến trúc thông tin như là một hình thức biểu diễn tri thức về thế giới hoặc một số lĩnh vực cụ thể. Việc tạo ra các lĩnh vực về Ontology cũng là cơ sở để định nghĩa và sử dụng của cơ cấu một tổ chức kiến trúc (An enterprise architecture framework).2 Thành phần của một Ontology Các thành phần thường gặp của Ontology bao gồm: Các cá thể (Individuals): Các thực thể hoặc các đối tượng (các đối tượng cơ bản hoặc cấp độ nền). Các lớp (Classes): Các tập hợp, các bộ sưu tập, các khái niệm, các loại đối tượng, hoặc các loại khác. Các thuộc tính (Attributes): Các khía cạnh, đặc tính, tính năng, đặc điểm, hoặc các thông số mà các đối tượng (và các lớp) có thể có.
Các quan hệ (Relations): Cách thức mà các lớp và các cá thể có thể liên kết với nhau. Các thuật ngữ chức năng (Function terms): Cấu trúc phức tạp được hình thành từ các mối quan hệ nhất định có thể được sử dụng thay cho một thuật ngữ cá thể trong một báo cáo (Statement). Các sự hạn chế (Restrictions): Những mô tả chính thức được tuyên bố về những điều phải chính xác cho một số khẳng định được chấp nhận ở đầu vào. 11 Các quy tắc (Rules): Tuyên bố có hình thức như một cặp nếu-thì (if- then) mô tả suy luận logic có thể được rút ra từ một sự khẳng định trong từng hình thức riêng.
Các tiên đề (Axioms): Các khẳng định (bao gồm các quy tắc) trong một hình thức hợp lý với nhau bao gồm các lý thuyết tổng thể mà Ontology mô tả trong lĩnh vực của ứng dụng. Các sự kiện (Events): Sự thay đổi các thuộc tính hoặc các mối quan hệ. Sau đây chúng ta sẽ tìm hiểu một số thành phần quan trọng nhất của một Ontology.1 Các cá thể (Individuals) Các cá thể là các 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ừ. Một Ontology có thể không cần bất kỳ một cá thể nào, nhưng một trong những lý do chính của một Ontology là để cung cấp một ngữ nghĩa của việc phân lớp các cá thể, mặc dù các cá thể này không thực sự là một phần của Ontology.2 Các lớp (Classes) Các lớp là các nhóm, tập hợp các đối tượng trừu tượng. Chúng có thể chứa các cá thể, các lớp khác, hay là sự phối hợp của cả hai. Các Ontology biến đổi tuỳ thuộc vào cấu trúc và nội dung của nó: Một lớp có thể chứa các lớp con, có thể là một lớp tổng quan (chứa tất cả mọi thứ), có thể là lớp chỉ chứa những cá thể riêng lẻ, một lớp có thể xếp gộp vào hoặc 12 bị xếp gộp vào bởi các lớp khác.
Mối quan hệ xếp gộp này được sử dụng để tạo ra một cấu trúc có thứ bậc các lớp, thường là với một lớp thông dụng nhất ở trên đỉnh và các lớp có kiểu rõ ràng cụ thể ở phía dưới cùng.3 Các thuộc tính (Attributes) 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ể là một kiểu dữ liệu phức tạp.4 Các mối quan hệ (Relationships) Mối quan hệ (còn gọi là quan hệ) giữa các đối tượng trong Ontology định rõ như thế nào các đối tượng này có liên quan đến các đối tượng khác. Đặc trưng là một mối quan hệ loại riêng biệt (hay lớp) mà quy định cụ thể trong chiều hướng các đối tượng này có liên quan đến các đối tượng khác trong Ontology. Chủ yếu sức mạnh của Ontology đến từ khả năng mô tả các mối quan hệ. Cùng với nhau, tập hợp các mối quan hệ mô tả ngữ nghĩa trong một lĩnh vực nào đó.
Các thiết lập của các loại quan hệ được sử dụng (các lớp của các quan hệ) và hệ thống phân cấp của nó mô tả sức mạnh biểu hiện của ngôn ngữ trong đó Ontology được thể hiện. Một kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (Subsumption). Kiểu quan hệ này mô tả các đối tượng nào là các thành viên của các lớp nào của các đối tượng. Ontology có thể phân biệt giữa các loại khác nhau của các quan hệ.
13 Ví dụ: Loại quan hệ dành cho các quan hệ giữa các lớp. Loại quan hệ dành cho các quan hệ giữa các cá thể. Loại quan hệ dành cho các quan hệ giữa một cá thể và một lớp. Loại quan hệ dành cho các quan hệ giữa một đối tượng đơn lẻ và một bộ sưu tập (collection).
Loại quan hệ dành cho các quan hệ giữa các bộ sưu tập. Loại quan hệ đôi khi là một lĩnh vực đặc trưng và sau đó được dùng để lưu trữ các loại đặc trưng của sự kiện hoặc trả lời từng loại câu hỏi riêng biệt. Nếu các định nghĩa của các loại quan hệ được bao gồm trong một Ontology, sau đó Ontology định nghĩa riêng ngôn ngữ Ontology của nó.3 Ngôn ngữ Ontology Ngôn ngữ Ontology (Ontology languages) là ngôn ngữ hình thức được sử dụng để xây dựng Ontology (Web_Ontology_Language [2]). Nó cho phép việc mã hóa tri thức trong một lĩnh vực cụ thể và thường bao gồm các quy tắc suy luận cung cấp cho việc xử lý các yêu cầu dựa trên tri thức đó.
Ngôn ngữ Ontology thường là ngôn ngữ khai báo, và hầu hết là những sự tổng hợp của ngôn ngữ cấu trúc, và thường được xây dựng dựa trên Logic thủ tục (First- Order Logic) hoặc dựa trên Logic mô tả (Description Logic). Có rất nhiều ngôn ngữ Ontology đã được thiết kế và đưa ra tuân theo sự tiêu chuẩn hóa, ta sẽ tìm hiểu một số ngôn ngữ Ontology thông dụng nhất trong ngữ cảnh của Web ngữ nghĩa và biểu diễn tri thức hiện nay.1 RDF (Resource Description Framework) - Tổng quan RDF RDF là nền tảng cho việc biểu diễn dữ liệu trong lĩnh vực Web ngữ 14 nghĩa (Aluç, G. Thông tin biểu diễn theo mô hình RDF là một phát biểu (statement) ở dạng cấu trúc bộ ba gồm ba thành phần cơ bản là: Subject, Predicate, Object. Trong đó: Subject chỉ đối tượng đang được mô tả đóng vai trò là chủ thể.
Predicate (còn được gọi là property) là kiểu thuộc tính hay quan hệ. Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu. Object có thể là một giá trị nguyên thủy như số nguyên, chuỗi.hoặc cũng có thể là một tài nguyên. Có thể liệt kê một số ưu điểm của việc lưu trữ dữ liệu RDF so với dữ liệu truyền thống là: Tổ chức dữ liệu đơn giản, đồng nhất nên thông tin dễ dàng thêm bớt chỉnh sửa.
Cấu trúc bộ ba giúp cho thông tin dễ truy xuất bởi các hệ thống suy luận, tìm kiếm ngữ nghĩa. Cũng nhờ vậy mà những bộ xử lí RDF có thể suy luận ra những thông tin mới không có trong hệ dữ liệu. Chia sẻ dữ liệu trên mạng dễ dàng nhờ sự đồng nhất. - Chia sẻ dữ liệu RDF: Mô hình RDF thể hiện được nhiều ưu điểm trong việc biểu diễn thông tin.
Chính vì vậy cần phải có một cách thức chung để truyền tải dữ liệu RDF trên internet. Đó là RDF/XML syntax do W3C đưa ra năm 1999. Đây là một ngôn ngữ dựa trên XML, nó bao gồm một tập các quy tắc và từ vựng để hỗ trợ cho biễu diễn thông tin RDF. RDF/XML syntax: RDF/XML có thể gây khó khăn cho người học bởi vì nó có thể có nhiều cách khi cùng biểu diễn một phát biểu, và một phần là do URI (Uniform Resource Identifier) dùng để định danh cho một tài nguyên 15 thì tương đối dài và khó đọc, khó viết.
Tuy nhiên vấn đề này có thể được xử lí bằng cách dùng XML namespace. Khai báo namespace: việc sử dụng namespace giúp cho tài liệu RDF ngắn gọn và dễ đọc hơn đối với người thiết kế.2 RDFS (RDF-Schema) RDF-Schema là một ngôn ngữ Ontology cơ bản.