Theo Berners-Lee ([6]), các nguyên lý chính của Web có ngữ nghĩa là:
1. Mọi thứ đều có thể được định danh bởi các danh hiệu tài nguyên phổ dụng (Universal Resource Identifier – URI):
Các URI bảo đảm rằng mỗi khái niệm không chỉ là các từ trong một tài liệu mà còn được ràng buộc với một định nghĩa riêng biệt mà ai cũng có thể tìm thấy trên Web. Các định vị tài nguyên phổ dụng (Universal Resourse Locator – URL) của Web hiện tại là một trường hợp riêng và phổ biến của URI.
2. Các tài nguyên và mối liên kết có thể có kiểu loại:
Web hiện tại bao gồm các tài nguyên và mối liên kết giữa chúng, tuy nhiên máy tính không hiểu được kiểu loại của các tài nguyên và mối liên kết đó là gì.
Ví dụ, giả sử có một URL của một người liên kết với một URL của một quyển sách do người đó viết. Tuy nhiên máy tính không hiểu được đối tượng của URL đầu là một “con người”, đối tượng của URL sau là một “quyển sách”, và loại của mối liên kết là “tác giả của”.
3. Chấp nhận thông tin không đầy đủ:
Cũng như Web hiện tại, Web có ngữ nghĩa không bị giới hạn, tức là một tài nguyên có thể liên kết với một tài nguyên bất kỳ khác bất chấp tài nguyên đó còn tồn tại hay không. Tuy nhiên, trong trường hợp như vậy, khi truy cập đến tài nguyên được liên kết đó, Web hiện tại sẽ báo lỗi “404 File Not Found”. Ở Web có ngữ nghĩa, các tính toán suy luận vẫn được tiến hành để dẫn ra kết luận mặc dù một số mối liên kết đã bị mất.
4. Không cần sự thật tuyệt đối:
Không phải tất cả mọi thông tin trên Web đều là sự thật, và sự đúng đắn của chúng được đánh giá bởi từng ứng dụng cụ thể xử lý thông tin đó. Web có ngữ nghĩa vì vậy phải có khả năng suy luận với các thông tin không chắc chắn, không chính xác, và có thể mâu thuẫn nữa. Theo Tim Berners-Lee, logic cổ điển không làm được điều này, mà cần đến logic mờ (Fuzzy Logic) ([140]).
5. Hỗ trợ sự tiến hoá:
Các khái niệm tương tự nhau thường được định nghĩa bởi nhiều nhóm người khác nhau, ở những nơi khác nhau, hoặc bởi cùng một nhóm người nhưng ở những thời điểm khác nhau. Web có ngữ nghĩa vì vậy cần cho phép việc mở rộng và kết hợp các công việc độc lập sử dụng các từ vựng khác nhau, cũng như việc thêm thông tin mới mà không luôn buộc phải sửa đổi thông tin cũ.
6. Thiết kế tối thiểu:
Để có thể chia sẻ và tích hợp thông tin, Web có ngữ nghĩa cần có những ngôn ngữ hay hệ thống được chuẩn hoá. Tuy nhiên các tiêu chuẩn này phải là tối thiểu để không ràng buộc quá nhiều việc phát triển các ứng dụng trên đó.
Hình 2.1.1 Các tầng của Web có ngữ nghĩa Unicode
Digital Signature
XML RDF Ontology
Logic Proof
Trust
URI
Các nguyên lý nói trên được hiện thực bằng các tầng của Web có ngữ nghĩa như ở Hình 2.1.1. Tầng Unicode và URI xác định các kí tự và phương tiện để định danh các đối tượng. Tầng XML (eXtensible Markup Language) cung cấp một ngôn ngữ chung để biểu diễn dữ liệu. Tầng RDF (Resource Description Framework) cung cấp một ngôn ngữ chung để biểu diễn siêu dữ liệu (Metadata), ví dụ như kiểu loại của các tài nguyên và mối liên kết. Tầng Ontology cung cấp các từ vựng và tiên đề cho các khái niệm và quan hệ được sử dụng. Tầng logic cho phép biểu diễn các luật. Tầng chứng minh (Proof) cho phép suy luận trên các luật. Tầng tin tưỏng (Trust) cung cấp các cơ chế để các ứng dụng biết có thể tin vào một chứng minh cụ thể nào đó không. Tầng chữ ký điện tử (Digital Signature) dùng để phát hiện sự thay đổi trong các tài liệu ở các tầng ngang nó như trên hình vẽ.
Với kiến trúc mô tả ở trên, các hoạt động nghiên cứu về Web có ngữ nghĩa tập trung vào ba hướng chính sau đây ([70]):
1. Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu (RDF) trên Web:
Nhóm làm việc RDFCore, bao gồm các thành viên từ nhiều trường và công ty khác nhau trên thế giới, của tổ chức World Wide Web Consortium (W3C) chủ trì công việc này. Mục tiêu chính của nhóm là nghiên cứu cải thiện và chuẩn hoá từng thành phần trong các ngôn ngữ XML và RDF, dựa trên các ý kiến phản hồi từ những người hiện thực. Đến nay, nhóm đã hoàn tất các khái niệm RDF và mô hình dữ liệu trừu tượng, đặc tả cú pháp RDF/XML, lược đồ RDF, và ngữ nghĩa RDF.
2. Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa:
Nhóm WebOnt của W3C chủ trì công việc này. Mục tiêu của nhóm là dựa trên và mở rộng các lược đồ RDF để có thể biểu diễn các quan hệ phức tạp hơn giữa các đối tượng. Dự án DAML+OIL, kết hợp của dự án DAML ở Trường Đại học Stanford, Mỹ, và dự án OIL của Trường Đại học Vrije, Hà Lan, đã khởi động cho hướng nghiên cứu này. Nhóm đã hoàn tất phiên bản đầu tiên của ngôn ngữ OWL (Web Ontology Language).
3. Phát triển nâng cao Web có ngữ nghĩa (Semantic Web Advanced Development - SWAD):
Hướng này nhằm để nghiên cứu thực hiện các dự án phát triển thêm các thành phần cơ sở hạ tầng cho Web có ngữ nghĩa, cụ thể như tạo các công cụ cho người phát triển hệ thống, rút trích thông tin và chú thích ngữ nghĩa một cách tự động, suy diễn và chứng minh luận lý, tích hợp Ontology và chia sẻ thông tin, ...
Hiện tại hai dự án SWAD tiêu biểu có quy mô lớn và mang tính dài hạn là SWAD-Europe và SWAD Oxygen. SWAD-Europe bao gồm 15 gói công việc khác nhau nghiên cứu những vấn đề như các dịch vụ Web có ngữ nghĩa, tích hợp thông tin với công nghệ XML, các hệ thống tin tưởng phân bố, ... Trong khi đó SWAD Oxygen ở Viện Công nghệ Massachusetts, Mỹ, đang nghiên cứu kết hợp các công nghệ khác nhau về xử lý tiếng nói, hình ảnh, chú thích ngữ nghĩa, ... để tạo ra một môi trường hợp tác tốt hơn giữa người và máy.
Trong ba hướng nghiên cứu chính nói trên, chúng tôi nghĩ rằng hướng thứ ba là hướng thích hợp với hoàn cảnh và điều kiện của Việt Nam, vì theo hai hướng đầu chúng ta khó có thể cạnh tranh được với các nhóm nghiên cứu lớn và uy tín cao trên thế giới trong việc đề nghị các ngôn ngữ chuẩn. Hơn nữa, theo hướng thứ ba chúng ta có thể phát triển sớm được các ứng dụng thực tiễn của Web có ngữ nghĩa ở Việt Nam.
Trong hướng thứ ba về SWAD nói trên, một vấn đề được các nhà khoa học quan tâm nhất và cũng là nền tảng nhất của Web có ngữ nghĩa là làm thế nào để nhúng ngữ nghĩa vào các tài liệu Web, mà hiện nay được viết bằng ngôn ngữ tự nhiên và chỉ có con người mới đọc hiểu được. Hơn nữa việc nhúng ngữ nghĩa này phải được thực hiện một cách tự động để có thể chuyển đổi hàng tỷ các tài liệu Web đã có sẵn sang các tài liệu tương ứng cho Web có ngữ nghĩa ([42], [111]). Muốn vậy, vấn đề đầu tiên cần giải quyết là rút trích tự động ngữ nghĩa của mỗi tài liệu Web rồi chú thích lại ngữ nghĩa này vào tài liệu đó. Về vấn đề này hiện tại có hai cách tiếp cận chính tuỳ theo cấp độ ngữ nghĩa muốn đạt đến. Cách thứ nhất là rút trích và chú thích ngữ nghĩa đầy đủ cho mỗi tài liệu Web, bao gồm các thực thể và quan hệ giữa chúng được đề cập trong tài liệu. Cách thứ hai là chỉ rút trích và chú thích ngữ nghĩa cho các thực thể có tên (Named Entity) trong tài liệu ([27], [32]).
Một ví dụ về cách thứ nhất là thông tin “Ngày 21-8, Hội chợ việc làm TPHCM năm 2003 do Sở Lao động - Thương binh - Xã hội và Báo Người Lao động phối hợp tổ chức đã chính thức khai mạc tại Cung văn hóa Lao động” (Báo điện tử Người Lao động, ngày 22/8/2003) có thể được biểu diễn bằng một đồ thị khái niệm (Conceptual Graph) như trong Hình 2.1.2, hoặc ở dạng tương đương bằng văn bản RDF. Các dự án như S-CREAM ([52]) và MnM ([131]) nghiên cứu theo hướng này, sử dụng rất nhiều các kỹ thuật học máy (Machine Learning) để rút trích các quan hệ giữa các thực thể, tuy nhiên chỉ làm được một cách bán tự động. Trong [142], các tác giả đề xuất một phương pháp học hoàn toàn tự động, sử dụng văn phạm liên kết (Link Grammar) và chuyển đổi các câu ở văn phạm này sang đồ thị RDF hoặc đồ thị khái niệm, nhưng độ chính xác đạt được chỉ khoảng 60% và chỉ áp dụng cho một miền hẹp cụ thể.
Hình 2.1.2 Biểu diễn ngữ nghĩa bằng đồ thị khái niệm
Ngữ nghĩa của các thực thể có tên tuy chỉ là một phần ngữ nghĩa của toàn bộ tài liệu, nhưng nếu có thể rút trích và chú thích chúng một cách tự động với độ chính xác tương đối cao thì cũng đã có ý nghĩa thực tiễn lớn. Một ứng dụng rất rõ ràng là trong việc đọc tin tức trên Web. Hiện tại các tin tức trên Web cũng chỉ mới ở dạng văn bản thông thường để con người đọc, và nhiều khi người đọc gặp phải các thực thể có tên, như “Cung văn hóa Lao động” trong ví dụ trên, nhưng không biết rõ nó ở đâu, hay các thông tin liên quan đến nó như thế nào. Một ví dụ khác là các quảng cáo của các công ty du lịch thường có nhiều thực thể có tên như địa danh, thắng cảnh, nhân vật mà người đọc rất quan tâm và muốn biết thêm chi tiết. Nếu có một hệ thống có khả năng rút trích và chú thích ngữ nghĩa tự động cho các thực thể có tên trong những bản tin như vậy, thì bản tin sẽ chuyển tải được nhiều thông tin đến người đọc hơn.
CUNG-VĂN-HOÁ: Lao động
NGÀY: 21/8/2003 HỘI-CHỢ: Việc làm TP.HCM
TỔ CHỨC: {Sở LĐ-TB-XH, Báo NLĐ}
THỜI-GIAN
NƠI-CHỐN NHÀ-TỔ-CHỨC
Các tài liệu Web có chú thích ngữ nghĩa cho các thực thể có tên cũng sẽ giúp cho việc tìm kiếm và khai thác thông tin trên đó được chính xác và hiệu quả hơn. Ví dụ một truy vấn về thành phố Sài Gòn sẽ được trả về các tài liệu đề cập đến TP.HCM hoặc “Sài Gòn” như một thành phố, chứ không phải các tài liệu chứa từ “Sài Gòn” như trong “Đội bóng Cảng Sài Gòn”, “Xí nghiệp may Sài Gòn”, hay “Công ty Saigon Tourist”. So sánh với các động cơ tìm kiếm (Search Engine) trên các tài liệu Web chỉ là các văn bản thô như Google hiện nay, kết quả trả về là tất cả các tài liệu Web có chứa các từ là, hoặc tương tự với, các từ khoá trong truy vấn, mà rất nhiều trong số đó không phải là tài liệu mà người tìm kiếm cần. Một ví dụ khác là, với một cơ sở tri thức cụ thể và các tài liệu có chú thích ngữ nghĩa, người sử dụng có thể đặt ra một truy vấn phức tạp như “Tìm các trang Web nói về các hội chợ diễn ra tại TP.HCM trong năm 2003”, mà các động cơ tìm kiếm hiện nay chưa hỗ trợ được.
Việc xác định ngữ nghĩa cho các thực thể có tên là không đơn giản và không thể chỉ dựa vào các từ điển. Ví dụ để xác định xem thực thể mà từ “Sài Gòn” trong một tài liệu ám chỉ đến là một thành phố hay là một đối tượng loại nào khác, cần phải biết được ngữ cảnh nơi từ đó xuất hiện. Một ví dụ khác về sự mập mờ ngữ nghĩa khi nhận dạng thực thể là trong một tài liệu có xuất hiện tên của một công ty và tên của một con đường và, ở thành phố Hồ Chí Minh chẳng hạn, có hai con đường có cùng tên gọi. Khi đó, để xác định đó là con đường nào, hệ thống phải dựa vào một cơ sở tri thức để xem công ty này có quan hệ với con đường nào thì sẽ liên kết ngữ nghĩa tên con đường trong tài liệu với con đường đó.
Vì vậy một hệ thống chú thích ngữ nghĩa cho các thực thể có tên cần có các thành phần cơ bản sau:
1. Ontology: định nghĩa các lớp thực thể, bao gồm sự phân loại của các khái niệm thực thể và quan hệ giữa chúng.
2. Các danh hiệu thực thể: phân biệt các thực thể với nhau và được liên kết với các mô tả ngữ nghĩa của chúng.
3. Cơ sở tri thức: mô tả các thông tin cụ thể về các thực thể.
Quá trình chú thích ngữ nghĩa cho một tài liệu trước hết dựa trên các thành phần này để rút trích thông tin từ tài liệu đó. Sau đó các tài liệu đã có chú thích sẽ được lập chỉ mục theo các thực thể có tên để phục vụ cho việc truy hồi thông tin (Information Retrieval) nhanh.