CHƯƠNG 1 CƠ SỞ LÝ LUẬN TỔNG QUAN VỀ SEMANTIC WEB VÀ HỆ HỎI - ĐÁP Toàn chương giới thiệu tổng quan về Semantic Web và hệ Hỏi – Đáp, đồng thời nêu lên sự khác nhau cơ bản giữa Semantic Web và Web hiện tại. Bên cạnh đó, chương này còn đề cập đến các ngôn ngữ để xây dựng web Semantic và những công trình nghiên cứu ứng dụng Semantic. Đây là chương tiền đề để tiến hành xây dựng các chương sau. LÝ THUYẾT VỀ SEMANTIC WEB 1.
Giới thiệu về Semantic Web a. Semantic Web là gì Khái niệm World Wide Web của Tim Berners-Lee đưa ra vào tháng 12/1991 đã làm thay đổi cách giao tiếp của con người với dữ liệu trên Internet, các thao tác click chuột để truy cập các hình ảnh, di chuyển giữa các trang Web thay cho các dòng lệnh phức tạp. Cùng với các trình duyệt Web như Mosaic (1993) hay Netcape (1995), hàng triệu trang Web đã ra đời ngay sau đó làm Internet trở thành một kho dữ liệu khổng lồ và hỗn độn, việc tìm kiếm thông tin trên Web trở nên khó khăn hơn. Vấn đề đặt ra là làm sao có thể khai thác thông tin trên Web hiệu quả hơn? Thách thức trên thúc đẩy sự ra đời của ý tưởng “Semantic Web”, là thế hệ tiếp theo của Web mà đã được Tim Berners-Lee phát thảo từ năm 1998.
Theo ông, “Semantic Web là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn”. Một ví dụ đơn giản về Semantic Web Khi có yêu cầu tìm kiếm với từ khóa “Điện thoại di động”, ứng dụng Semantic Web trên máy tính sẽ hiển thị kết quả là: “Mua bán điện thoại online”, “Siêu thi điện thoại di động”, “Điện thoại di động giá rẻ”,… không phải là những kết quả có chứa từ ngữ liên quan như Web hiện tại thực hiện. Ví dụ: - Tìm kiếm với từ khóa: “tác phẩm của Nguyễn Khoa Điềm” - Kết quả tìm kiếm : Web hiện tại Semantic Web Trường ca Mặt đường khát vọng: Đất nước 1. So sánh web truyền thống với Web Semantic a.
Điểm giống nhau 5 Cả hai đều sử dụng liên kết URI, nhưng ở Web Semantic sử dụng nhiều mối liên kết URI hơn, do đó làm tăng tính chính xác của thông tin. Điểm khác nhau Đối với web thông thường: Đây là không gian chứa đựng thông tin chỉ hướng vào việc biểu diễn nội dung trong ngôn ngữ tự nhiên mà con người mới hiểu được. Đối với Web Semantic: Đây là không gian chứa đựng thông tin trong đó thông tin được biểu diễn thông qua một ngôn ngữ máy và con người cũng có thể hiểu được. Những điểm giống nhau và khác nhau được thể hiện ở hình 1.2 - Đặc điểm khác nhau giữa Web Semantic với web truyền thống 1.
Kiến trúc Semantic Web Mặc dù có rất nhiều những tổ chức cũng như những trường đại học lớn nghiên cứu với những hướng khác nhau tuy nhiên phần lớn những tổ chức đều thống nhất theo mô hình sau đây.1: Kiến trúc Semantic Web[9] - Lớp Unicode và URI: nhằm đảm bảo việc sử dụng tập ký hiệu quốc tế và xác định các tài nguyên trên mạng. - Lớp XML (Extensible Markup Language): cung cấp cú pháp chung nhưng không ràng buộc về ngữ nghĩa cho các tài liệu có cấu trúc, làm cơ sở cho sự trao đổi dữ liệu trên Web. - Lớp XML SCHEMA định nghĩa cấu trúc các tài liệu XML, cho phép mở rộng XML bằng các kiểu dữ liệu mới. - Lớp RDF (Resource Description Framework): cung cấp cấu trúc mô tả các đối tượng hay tài nguyên trên mạng và quan hệ giữa chúng.
RDF cho phép gán kiểu cho các tài nguyên và làm nền tảng cho Ontology. - Lớp RDF SCHEMA cung cấp một phương tiện để đặc tả các từ vựng mô tả tính chất và quan hệ giữa các tài nguyên RDF. - Lớp ONTOLOGY định nghĩa các từ vựng dùng để mô tả các thuộc tính, lớp trong một miền ngữ vựng nhất định. - Lớp LOGIC cung cấp các luật suy diễn.
Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng ontology có mục đích là để máy có thể lập luận 7 được trong khi cơ sở lập luận chủ yếu dựa vào logic. Chính vì vậy mà các ontology được ánh xạ sang logic, cụ thể là logic mô tả để có thể hỗ trợ lập luận. - Lớp PROOF sử dụng các luật của lớp Logic để kiểm tra tính đúng đắn của một suy diễn nào đó. Lớp LOGIC và PROOF trong kiến trúc đã thể hiện rõ hơn góc độ ngữ nghĩa và cung cấp cho mô hình này khả năng suy luận thông minh.
Ví dụ: Hùng là cha của Trung, Hùng là em trai Ngọc thì khi đó ta có thông tin mới là Ngọc là bác của Trung. Cơ sở của các suy luận này dựa trên FOL (First-Order-Logic). - Lớp TRUST hiện vẫn đang trong giai đoạn phát triển, nhằm mục đích đánh giá mức độ tin cậy và quyết định có nên tin tưởng các bằng cớ từ một kết quả suy luận nào đó hay không. Thông thường Trust chính là một hàm lượng giá áp dụng trên một tập các thông tin, thông tin nào có giá trị lượng giá cao hơn sẽ được chọn cho một mục đích nào đó, ví dụ để thể hiện trong kết quả tìm kiếm.
Định nghĩa Ontology Aristotle đã định nghĩa thuật ngữ “Ontology” trong cuốn sách “Metaphysics” (Siêu hình) như sau: “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ế”. 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ó. Trong ngành khoa học máy tính, “Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định nghĩa cho một lĩnh vực nào đó nhằm vào việc biểu diễn và trao đổi thông tin. Vai trò của Ontology - Chia sẻ những hiểu biết chung về các khái niệm, cấu trúc 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.
Ta có thể hình dung Ontology như một cuốn từ 8 đ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ó chuyên môn yêu cầu. - Cho phép tái sử dụng tri thức: đây là 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ó là bài toán trộn hai hay nhiều Ontology nhỏ thành một Ontology lớn và đầy đủ hơn. - Cho phép tri thức độc lập với ngôn ngữ: đây cũng là vấn đề liên quan đến tái sử dụng tri thức, nhưng ở vai trò này, bài toán đặt ra là làm thế nào để một hệ thống Ontology có thể được sử dụng bởi các ngôn ngữ của các quốc gia khác nhau mà không cần xây dựng lại.
- Cho phép tri thức trở nên nhất quán và tường minh: trong một hay nhiều lĩnh vực cụ thể, có thể có các khái niệm khác nhau nhưng có cùng tên, điều này sẽ gây nhập nhằng về ngữ nghĩa. Tuy nhiên, trong hệ thống Ontology thì mỗi khái niệm phải là duy nhất. - Cung cấp một phương tiện cho công việc mô hình hóa: bản thân Ontology là 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.
- Cung cấp một phương tiện cho việc suy luận: hiện nay một số ngôn 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. Các phần tử trong ontology Individuals – Các cá thể Các cá thể là các thành phần cơ bản, nền tảng của một ontology. Một cá thể được định nghĩa để phân biệt với các tất cả các đối tượng trong ontology đó. Ví dụ cá thể “Nguyễn Văn Sơn” thuộc lớp con người là một định nghĩa duy nhất trong ontology đang xét.
9 Một ontology có thể không chứa bất kỳ cá thể nào (chỉ bao gồm các lớp), tuy nhiên để diễn đạt ngữ nghĩa gần với tư duy con người hơn thì những cá thể là sự chọn lựa phát triển thích hợp nhất. Classes – Các lớp Lớp là tập hợp các đối tượng lại với nhau. Những đối tượng trong một lớp có thể là các lớp con hoặc các cá thể (induvidual). Một lớp có thể chứa nhiều lớp con, nhiều cá thể hoặc có thể không chứa đối tượng nào cả.
Tùy theo ngữ cảnh của ontology đang xét mà ta có thể có các lớp tương ứng. Một ontology có thể có nhiều lớp sơ khai (lớp không là con của bất kỳ lớp nào) khác nhau. Tuy nhiên để dễ dàng cấu trúc theo định dạng cây người ta đưa tất cả các lớp này vào lớp có tên là Thing. Ý nghĩa của lớp Thing là lớp khởi đầu cho tất cả các lớp trong ontology.
Properties - Các thuộc tính Để mô tả tất cả các đối tượng trong ontology ta cần phải đưa vào những đối tượng này các thuộc tính. Bất kỳ một thuộc tính nào cũng bao gồm tên và giá trị của nó. Tên dùng để xác định định danh của thuộc tính còn giá trị là nội dung của thuộc tính ứng với định danh đó. Ví dụ một đối tượng con người với thuộc tính “hasName” và giá trị của thuộc tính là “Nguyễn Trung Dũng”.
Giá trị của một thuộc tính đôi khi là một giá trị phức hợp (bao gồm nhiều giá trị và thuộc tính khác). Ví dụ một người có địa chỉ là tập hợp của những thông tin: số nhà, đường, quận… Relation - Quan hệ Để kết hợp các lớp và các cá thể lại với nhau người ta ontology phát sinh những mối quan hệ ràng buộc. Quan hệ mà ta dễ dàng nhận thấy được đó là quan hệ phân cấp (lớp hoặc cá thể là con của một lớp khác). 10 Hiện nay, các nghiên cứu về những quan hệ của các đối tượng bên trong ontology chưa nhiều và đang tiếp tục phát triển.
Tất cả các quan hệ đã được xây dựng và xử dụng đều là những quan hệ cơ bản như quan hệ phân cấp, các ràng buộc đơn giản…Do vậy, khi xây dựng một ontology với những quan hệ chưa được định nghĩa ta cần phải khai báo cho ontology của mình. Các ngôn ngữ Semantic Web a. XML được W3C (World Wide Web Consortium) chính thức thông qua vào tháng 2 năm 1998. Thực chất, XML phát triển không phải với mục đích hiển thị trang Web mà là trợ giúp cấu trúc cho tài liệu và dữ liệu để chúng có thể trao đổi giữa các ứng dụng hoặc các tổ chức.