CHƯƠNG 1: GIỚI THIỆU VỀ ONTOLOGY 1.1 Khái niệm Ontology Ontology là một hình thức mô tả chính qui và tường minh các khái niệm được chia sẻ. Một ontology được thể hiện bằng các khái niệm và mối quan hệ giữa các khái niệm. Ontology là một trong các hình thức biểu diễn tri thức rộng rãi và tiên tiến nhất hiện nay. Với hình thức biểu diễn tri thức này, mô hình của các khái niệm và mối quan hệ giữa các khái niệm trong miền tri thức cho phép tri thức có thể được được chia sẻ giữa các ứng dụng.1: Ví dụ minh họa biểu diễn tri thức trong Ontology Ontology được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như thư viện điện tử, xử lý ngôn ngữ tự nhiên, kỹ thuật phần mềm, trí tuệ nhân tạo.
Tuy nhiên, một trong những ứng dụng phổ biến nhất của ontology là trong lĩnh vực web ngữ nghĩa (Semantic Web). Đây chính là nền tảng cung cấp ngữ nghĩa cho dữ liệu, cho phép dữ liệu có thể được hiểu bởi máy tính.2 Các thành phần của Ontology Ontology bao gồm các thành phần: thực thể (Individuals), lớp (Classes), thuộc tính (Properties) và quan hệ (Relations). [9] ⮚ Thực thể Thực thể là các thành phần cơ bản của ontology. Các thực thể là các đối tượng cụ thể, ví dụ về địa danh, điểm đến, khách sạn, nhà hàng,.
Ví dụ về các thực thể: Hồ Hoàn Kiếm, Khách Sạn Thắng Lợi, Nhà Hàng Sen Hồ Tây, Trung tâm thương mại Tràng Tiền Plaza … 10 ⮚ Lớp Lớp là các nhóm hay tập hợp các đối tượng có chung một số thuộc tính. Lớp có thể bao gồm các lớp con, các thực thể hoặc bao gồm cả hai. Một lớp có thể gộp vào hoặc bị gộp vào các lớp khác. Một lớp gộp vào lớp khác được gọi là lớp con (subclass) của lớp gộp.
Ví dụ: - Lớp Lưu trú có các lớp con là: Khách sạn, Nhà nghỉ, Homestay, … - Lớp Hồ có các thực thể là: Hồ Hoàn Kiếm, Hồ Tây, Hồ Trúc Bạch, … ⮚ Thuộc tính Thuộc tính được sử dụng để chỉ ra mối quan hệ giữa các thực thể (thuộc tính đối tượng) hoặc giữa thực thể và kiểu dữ liệu được mô tả (thuộc tính kiểu dữ liệu). Ví dụ: - Thuộc tính đối tượng “ở gần” chỉ ra mối quan hệ về khoảng cách gần nhau giữa địa điểm Tràng Tiền Plaza và Hồ Hoàn Kiếm - Thuộc tính kiểu dữ liệu với một địa điểm du lịch có thể có các thuộc tính: tên địa điểm, địa chỉ, số điện thoại, đánh giá… Giá trị của một thuộc tính dữ liệu có thể có các kiểu dữ liệu khác nhau như kiểu chuỗi, kiểu số… ⮚ Mối quan hệ Mối quan hệ được sử dụng để xác định sự liên quan của đối tượng này với một đối tượng khác bằng các thuộc tính tương ứng. Cùng với đó là tập hợp các quan hệ mô tả ngữ nghĩa của miền như quan hệ đồng nghĩa, trái nghĩa và các quan hệ khác. Điểm mạnh của Ontology là khả năng mô tả các mối quan hệ.
Tập hợp các kiểu quan hệ được sử dụng và hệ thống phân cấp của chúng mô tả sức mạnh biểu đạt của ngôn ngữ mà Ontology được thể hiện. Ví dụ: - Mối quan hệ “anh em ruột” giữa Nguyễn Văn An và Nguyễn Văn Bình. - Mối quan hệ về khoảng cách “ở gần” giữa hai địa điểm Tràng Tiền Plaza và Hồ Hoàn Kiếm.3 Ngôn ngữ OWL OWL (Web Ontology Language) được thiết kế cho các ứng dụng cần xử lý nội dung thông tin thay vì chỉ trình bày thông tin cho con người. OWL được sử dụng để trình bày rõ ràng ý nghĩa của các thuật ngữ và mối quan hệ giữa các thuật ngữ đó.
Sự thể hiện các thuật ngữ và mối quan hệ qua lại giữa chúng được gọi là Ontology. OWL làm tăng khả năng diễn đạt nội dung web so với XML, RDF và RDF Schema (RDF-S) bằng cách bổ sung thêm từ vựng cùng với ngữ nghĩa chính quy. OWL là bản sửa đổi của ngôn ngữ bản thể luận web DAML + OIL kết hợp các kinh nghiệm từ việc thiết kế và ứng dụng DAML + OIL. [9] 11 OWL có ba ngôn ngữ con tăng dần theo mức độ biểu đạt nội dung: OWL Lite, OWL DL và OWL Full.
Các phiên bản này được thiết kế cho các cộng đồng người triển khai và người dùng theo các nhu cầu cụ thể. OWL Lite: Hỗ trợ cho người sử dụng cần sự phân lớp và các ràng buộc đơn giản. OWL Lite có độ phức tạp hình thức thấp hơn OWL DL. Lợi ích của OWL Lite là nó là một ngôn ngữ ít đòi hỏi hiểu biết từ người dùng và nó cũng ít yêu cầu hơn đối với các nhà thiết kế để thực thi các thiết bị và ứng dụng cũng như tiếp cận sâu các dạng DL và Full.
OWL DL (OWL Description Logic): Hỗ trợ cho những người dùng cần sự biểu đạt tối đa trong khi vẫn duy trì được tính hoàn chỉnh của tính toán và tất cả các tính toán sẽ hoàn thành trong khoảng thời gian hữu hạn. OWL DL cũng được đặt tên tương ứng với các logic mô tả, một lĩnh vực nghiên cứu trong logic đã hình thành nền tảng chính thức của OWL. OWL Full: Đề cập tới những người dùng cần sự biểu đạt tối đa và sự tự do về cú pháp của RDF mà không cần đảm bảo sự tính toán. Ví dụ, một lớp là một tập của các thực thể và cũng là thực thể của chính nó.
OWL Full làm cho ontology tăng ý nghĩa của các từ vựng được định nghĩa trước (RDF hoặc OWL). Mỗi ngôn ngữ con này là một phần mở rộng của ngôn ngữ trước đơn giản hơn của nó, cả về những gì có thể được diễn đạt một cách hợp lệ và những gì có thể được kết luận một cách hợp lệ. Dựa trên nhu cầu thực tế, chúng ta sẽ xem xét và lựa chọn ngôn ngữ con phù hợp nhất. Mô tả ngôn ngữ OWL Lite OWL Lite chỉ sử dụng một số tính năng của ngôn ngữ OWL, có nhiều hạn chế so với OWL DL hoặc OWL Full.
Ví dụ, các lớp trong OWL Lite chỉ có thể được định nghĩa theo các lớp cha được đặt tên và chỉ một số loại hạn chế lớp nhất định mới có thể được sử dụng. Các tính năng OWL Lite dưới đây liên quan đến Lược đồ RDF được bao gồm: Class: Một lớp xác định một nhóm các thực thể có cùng chung một số thuộc tính. Ví dụ, Hồ Hoàn Kiếm và Hồ Tây đều là thực thể của lớp “Hồ”. Các lớp có thể được tổ chức phân cấp bằng cách sử dụng subClassOf.
Lớp tổng quát nhất được tích hợp sẵn có tên là Thing, là lớp của tất cả các thực thể và là lớp cha của tất cả các lớp OWL khác. Ngoài ra còn có một lớp được tích hợp sẵn có tên là Nothing là lớp không có thực thể và là lớp con của tất cả các lớp OWL. rdfs:subClassOf: Phân lớp được tạo ra để thể hiện một lớp là lớp con của một lớp khác. Ví dụ, lớp “Khách sạn” là một lớp con của lớp “Lưu trú”.
Từ điều này có thể suy ra rằng nếu một thực thể là khách sạn, thì thực thể đó cũng là một cơ sở lưu trú. 12 rdf:Property: Thuộc tính được sử dụng để chỉ ra mối quan hệ giữa các thực thể hoặc giữa các thực thể và giá trị dữ liệu. Ví dụ: thuộc tính “ở gần” được sử dụng để liên kết giữa một thực thể của lớp “Khách sạn” với một thực thể khác của lớp “Nhà hàng” (thuộc tính liên kết này gọi là ObjectProperty) và thuộc tính “đánh giá” được sử dụng để liên kết một thực thể của lớp “Khách sạn” với một thực thể kiểu dữ liệu integer (thuộc tính liên kết này gọi là DatatypeProperty). Cả owl: ObjectProperty và owl:DatatypeProperty là các lớp con của lớp RDF rdf:Property.
rdfs: subPropertyOf: Phân cấp thuộc tính thể hiện một thuộc tính là thuộc tính con của một hoặc nhiều thuộc tính khác. Ví dụ: “anh em họ” là thuộc tính con của “họ hàng”. Từ điều này có thể suy ra rằng nếu một thực thể có liên quan với thực thể khác bởi thuộc tính “anh em họ”, thì nó cũng liên quan đến thực thể kia bởi thuộc tính “họ hàng”. rdfs: domain: Miền của thuộc tính giới hạn các thực thể mà thuộc tính có thể được áp dụng.
Nếu một thuộc tính liên kết một thực thể với một thực thể khác và thuộc tính bị giới hạn trong một lớp cụ thể, thì thực thể đó phải thuộc về lớp đó. Ví dụ: thuộc tính “hạng sao” giới hạn trong miền “Khách sạn”. Từ đó có thể suy ra rằng nếu Khách sạn Thắng Lợi có “hạng sao” là 4 sao, thì Khách sạn Thắng Lợi nằm trong miền “Khách sạn”. rdfs: domain được gọi là giới hạn toàn cục vì giới hạn được nêu trên thuộc tính chứ không chỉ trên thuộc tính khi nó được liên kết với một lớp cụ thể.
rdfs: range: Phạm vi thuộc tính giới hạn các thực thể mà thuộc tính có thể có như giá trị của nó. Nếu một thuộc tính liên kết hai thực thể và thuộc tính nằm trong phạm vi của một lớp, thì thực thể phải thuộc về phạm vi của lớp đó. Ví dụ, thuộc tính “ở gần” có phạm vi thuộc lớp “Địa điểm”. Từ đó suy ra rằng nếu Nhà Hát Lớn có quan hệ “ở gần” với Hồ Hoàn Kiếm thì Nhà Hát Lớn là thuộc lớp “Địa điểm”.
Individual: Các thực thể là đối tượng của các lớp và các thuộc tính có thể được sử dụng để liên kết giữa thực thể này với thực thể khác. Ví dụ: một thực thể tên là “Nhà Hát Lớn” là đối tượng của lớp “Nhà hát” và thuộc tính “ở gần” có thể được sử dụng để liên hệ thực thể “Nhà Hát Lớn” với thực thể “Hồ Hoàn Kiếm”. Các tính năng OWL Lite sau đây có liên quan đến tương đương và không tương đương. equivalentClass: Hai lớp có thể được cho là tương đương, hay còn gọi là hai lớp đồng nghĩa khi chúng có các đối tượng giống nhau.
Ví dụ, lớp “Ô tô” là tương đương với lớp “Xe hơi”. Từ điều này có thể suy ra rằng bất kỳ thực thể nào là đối tượng của lớp “Ô tô” cũng là đối tượng của lớp “Xe hơi” và ngược lại. equivalentProperty: Hai thuộc tính có thể được cho là tương đương, hay còn gọi là các thuộc tính đồng nghĩa khi chúng liên kết một thực thể với cùng một tập hợp các thực thể khác. Ví dụ, “có lãnh đạo là” là equivalentProperty với “có sếp 13 là”.
Từ đó có thể suy ra rằng nếu Bình liên quan đến Cường bởi thuộc tính “có lãnh đạo là”, thì Bình cũng liên quan đến Cường bởi thuộc tính “có sếp là” và ngược lại.