Luận văn Ứng dụng web ngữ nghĩa trong lưu trữ và quản lí các tài liệu số

Tài liệu Luận văn Ứng dụng web ngữ nghĩa trong lưu trữ và quản lí các tài liệu số: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ    Lương Đỗ Long ỨNG DỤNG WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ CÁC TÀI LIỆU SỐ LUẬN VĂN THẠC SĨ KHOA HỌC HÀ NỘI - 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ    Lương Đỗ Long ỨNG DỤNG WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ CÁC TÀI LIỆU SỐ Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60.48.05 LUẬN VĂN THẠC SĨ KHOA HỌC Cán bộ hướng dẫn khoa học: PGS. TS Đỗ Trung Tuấn HÀ NỘI - 2011 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn: “ỨNG DỤNG WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ CÁC TÀI LIỆU SỐ” là kết quả nghiên cứu của riêng tôi, không sao chép của riêng ai. Các số liệu và bảng biểu là hoàn toàn chính xác và nội dung luận văn có tham khảo và sử dụng các tài liệu, thông tin đuợc đăng tải trên các tác phẩm, tạp chí và các trang web theo danh mục tài liệu của luận văn. Hà nội, ngày 02 tháng 05 năm 2011 Tác giả luận văn Lương Đỗ Long ii LỜI CẢM Ơ...

pdf68 trang | Chia sẻ: haohao | Lượt xem: 1207 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Ứng dụng web ngữ nghĩa trong lưu trữ và quản lí các tài liệu số, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ    Lương Đỗ Long ỨNG DỤNG WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ CÁC TÀI LIỆU SỐ LUẬN VĂN THẠC SĨ KHOA HỌC HÀ NỘI - 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ    Lương Đỗ Long ỨNG DỤNG WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ CÁC TÀI LIỆU SỐ Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60.48.05 LUẬN VĂN THẠC SĨ KHOA HỌC Cán bộ hướng dẫn khoa học: PGS. TS Đỗ Trung Tuấn HÀ NỘI - 2011 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn: “ỨNG DỤNG WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ CÁC TÀI LIỆU SỐ” là kết quả nghiên cứu của riêng tôi, không sao chép của riêng ai. Các số liệu và bảng biểu là hoàn toàn chính xác và nội dung luận văn có tham khảo và sử dụng các tài liệu, thông tin đuợc đăng tải trên các tác phẩm, tạp chí và các trang web theo danh mục tài liệu của luận văn. Hà nội, ngày 02 tháng 05 năm 2011 Tác giả luận văn Lương Đỗ Long ii LỜI CẢM ƠN Trước tiên tôi xin chân thành cảm ơn PGS.TS Đỗ Trung Tuấn, người thầy đã hướng dẫn tận tình, chỉ bảo thẳng thắn và đã động viên tôi rất nhiều để tôi hoàn thành bản luận văn này. Tôi xin chân thành cảm ơn các thầy, cô giáo của Trường Đại học Công nghệ đặc biệt là các thầy, cô giáo trong bộ môn Hê thống Thông tin đã giảng dạy, động viên và tạo điều kiện thuận lợi cho tôi trong quá trình học tập và làm luận văn. Sau cùng, tôi xin đuợc gửi lời cám đến các bạn đồng nghiệp, các bạn học viên cao học khóa 15 - những người đã động viên, giúp đỡ tôi trong suốt quá trình học tập và thực hiện luận văn này. Hà nội, Mùa hè năm 2011 Tác giả luận văn Lương Đỗ Long iii MỤC LỤC Chương 1. TỔNG QUAN VỀ WEB NGỮ NGHĨA .................................................1 1.1. Khái niệm Web ngữ nghĩa và Siêu dữ liệu.....................................................1 1.1.1. Khái niệm................................................................................................1 1.1.2. Siêu dữ liệu .............................................................................................2 1.2. Kiến trúc Web ngữ nghĩa ...............................................................................3 1.3 Ngôn ngữ Cơ cấu mô tả tài nguyên và Bản thể luận........................................8 1.3.1 Ngôn ngữ mô tả tài nguyên RDF ..............................................................8 1.3.2 Bản thể luận ...........................................................................................15 1.3.3 Lược đồ RDF và truy vấn RDF...............................................................16 Kết luận..............................................................................................................23 Chương 2. TIẾP CẬN WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ TÀI LIỆU SỐ................................................................................................................24 2.1 Web ngữ nghĩa và thư viện số.......................................................................24 2.1.1 Thư viện số ngữ nghĩa ............................................................................24 2.1.2. Tổ chức tri thức trong thư viện ..............................................................26 2.1.3. Web ngữ nghĩa trong thư viện số ...........................................................26 2.2. Kiến trúc của thư viện số ngữ nghĩa.............................................................30 2.3. Bản thể luận cho thư viện số ngữ nghĩa .......................................................31 2.3.1. Bản thể luận biểu ghi thư mục ...............................................................31 2.3.2. Bản thể luận cho cấu trúc nội dung ........................................................33 2.3.3. Cơ bản về sự phân loại ..........................................................................34 2.3.4. Xây dựng Bản thể luận ..........................................................................36 2.4. Thư viện số ngữ nghĩa và mạng xã hội.........................................................37 2.5. Tìm kiếm trong thư viện ngữ nghĩa..............................................................38 iv 2.5.1. Tìm kiếm dựa trên sự phân loại .............................................................38 2.5.2. Tìm kiếm ngữ nghĩa ..............................................................................38 Kết luận..............................................................................................................40 Chương 3. Xây dựng thư viện số ngữ nghĩa dựa trên phần mềm JeromeDL...........41 3.1 Giới thiệu phần mềm JeromeDL...................................................................41 3.2. Kiến trúc và Bản thể luận trong JeromeDL ..................................................42 3.2.1. Kiến trúc của JeromeDL ........................................................................42 3.2.2. Bản thể luận trong JeromeDL ................................................................44 3.3. Truy vấn trong JeromeDL............................................................................48 3.4. Sử dụng JeromeDL ......................................................................................51 Kết luận..............................................................................................................53 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..............................................................54 TÀI LIỆU THAM KHẢO......................................................................................56 v Bảng kí hiệu thuật ngữ viết tắt Tên viết tắt Tiếng Việt Tiếng Anh WWW Mạng toàn cầu World Wide Web W3C Tổ chức Mạng toàn cầu World Wide Web Consortium RDF Cơ cấu mô tả tài nguyên Resource Description Framework RDFS Lược đồ Cơ cấu mô tả tài nguyên Resource Description Framework Scheme XML Ngôn ngữ đánh dấu mở rộng eXtensible Markup Language vi Danh mục hình ảnh Hình 1.1. Kiến trúc của Web ngữ nghĩa ..........................................................................................4 Hình 1.2. Đồ thị RDF...................................................................................................................11 Hình 1.3. Quan hệ kế thừa............................................................................................................17 Hình 1.4. Không gian miền và giới hạn của thuộc tính RDFS .......................................................20 Hình 2.1. Các thành phần hỗ trợ thư viện số ngữ nghĩa .................................................................26 Hình 2.2. Biểu diễn cấu trúc tài liệu dưới dạng RDF.....................................................................29 Hình 2.3. Kiến trúc thư viện số ngữ nghĩa ....................................................................................31 Hình 2.4. Bản thể luận BibTeX ....................................................................................................32 Hình 2.5. Một dạng cây phân cấp .................................................................................................35 Hình 2.6. Một Bản thể luận Cys ...................................................................................................35 Hình 2.7. Quá trình tìm kiếm trong thư viện số ngữ nghĩa ............................................................39 Hình 2.8. Quá trình chia sẻ dữ liệu RDF.......................................................................................40 Hình 3.1. Giao diện của JeromeDL ..............................................................................................42 Hình 3.2. Kiến trúc của JeromeDL ...............................................................................................43 Hình 3.3. Bản thể luận MarcOnt...................................................................................................44 Hình 3.4. Bản thể luận cấu trúc nội dung ......................................................................................46 Hình 3.5. Mạng xã hội trong JeromeDL .......................................................................................48 Hình 3.6. Các bước trong truy vấn JeromeDL...............................................................................49 Hình 3.7. Giao diện chức năng tìm kiếm ngữ nghĩa ......................................................................52 Hình 3.8. Giao diện chức năng xuất bản tài liệu............................................................................53 vii Danh mục bảng biểu Bảng 1. Các lớp trong RDFS........................................................................................................18 Bảng 2. Các thuộc tính trong RDFS .............................................................................................19 Bảng 3. Các lớp, thuộc tính, thể hiện của Bản thể luận MarcOnt...................................................45 Bảng 4. Các lớp, thuộc tính, thể hiện của Bản thể luận cấu trúc nội dung ......................................47 viii MỞ ĐẦU Web ngữ nghĩa (hay Semantic Web) là thế hệ mở rộng của Web hiện tại được đưa ra bởi Tim Berners-Lee vào khoảng năm 1998. Mục tiêu ban đầu của Semantic Web là để hỗ trợ người dùng tìm kiếm thông tin trên mạng một cách nhanh chóng, chuẩn xác và thông minh hơn so với các công cụ tìm kiếm truyền thống. Theo định nghĩa của tổ chức World Wide Web Consortium (W3C), web ngữ nghĩa là sự mở rộng của WWW hiện tại bằng cách thêm vào các mô tả ý nghĩa (hay ngữ nghĩa) của thông tin dưới dạng mà chương trình mà máy tính có thể hiểu được và do vậy cho phép xử lí thông tin có hiệu quả hơn. Web ngữ nghĩa cố gắng làm sao để máy tính hiểu được các khái niệm, mối quan hệ giữa các khái niệm, các thuộc tính và các tiến trình của chúng. Trong trường hợp này, máy tính có khả năng ra kết luận và trích xuất ra thông tin mới và có giá trị từ các dữ liệu đã tồn tại. Web ngữ nghĩa không phải là Trí tuệ nhân tạo (AI), nhưng nó có thể xem là một loại web thông minh, hay thế hệ phát triển tiếp theo của web. Nền tảng cơ bản làm nên web ngữ nghĩa là các siêu dữ liệu (metadata) và bản thể luận. Siêu dữ liệu có thể hiểu đơn giản là dữ liệu về dữ liệu, còn bản thể luận định nghĩa về các từ vựng được sử dụng trong các miền ứng dụng khác nhau. Các siêu dữ liệu có thể dùng để biểu diễn cho mọi loại tài nguyên (thực thể hoặc các khái niệm). Một cách để biểu diễn các khái niệm, và mối quan hệ giữa chúng trong một tài liệu là sử dụng ngôn ngữ mô tả tài nguyên RDF (Resource Description Framework). Các tài liệu số (tài nguyên) thường đường lưu trữ và truy cập qua các cổng thông tin và các thư viện số. Các thư viện số ngoài chức năng lưu trữ các tài liệu số, còn có chức năng cho phép người sử dụng tìm kiếm các tài liệu có liên quan một cách nhanh nhất. Các siêu dữ liệu là một trong những cách tiếp cận cho việc biên mục, phân loại và hỗ trợ tìm kiếm các tài liệu số. Trong cách biểu diễn bởi các siêu dữ liệu, các tài liệu số được “cấu trúc hóa” vào các siêu dữ liệu. Bất kì thông tin nào trong các thư viện số cũng có thể được biểu diễn bởi các siêu dữ liệu, với cách biểu diễn này sẽ thuận lợi cho việc quản lí và người dùng dễ dàng tìm kiếm ra các tài liệu gốc. Ngoài ra, cách tiếp cận này cho phép các thư viện số dễ dàng chia sẻ các tài nguyên với nhau dựa trên một chuẩn đặc tả chung. Việc tích hợp ngữ nghĩa vào các ix thư viện số dựa trên kiến trúc của Web ngữ nghĩa làm cho thư viện số có nhiều ưu điểm hơn so với cách tiếp cận thông thường. Luận văn này tìm hiểu chung nhất về kiến trúc của web ngữ nghĩa, dựa trên cách tiếp cận web ngữ nghĩa, tìm hiểu cách tích hợp ngữ nghĩa vào các thư viên số. Cấu trúc của luận văn gồm 3 chương: Chương 1: Tổng quan về Web ngữ nghĩa Tìm hiểu chung nhất về kiến trúc của web ngữ nghĩa, các thành phần cơ bản làm nên web ngữ nghĩa. Chương 2: Tiếp cận Web ngữ trong lưu trữ và quản lí tài liệu số Tìm hiểu một trong những cách quản lí tài liệu số đó là thư viện số. Nghiên cứu cách tích hợp ngữ nghĩa vào các tài nguyên trong thư viện số: cơ chế biên mục và phân loại dựa trên ngữ nghĩa Chương 3: Xây dựng thư viện số ngữ nghĩa dựa trên phần mềm JeromeDL Giới thiệu phần mềm mã nguồn mở JeromeDL trong việc xây dựng các thư viện số ngữ nghĩa. 1 Chương 1. TỔNG QUAN VỀ WEB NGỮ NGHĨA Trong chương này, sẽ giới thiệu công nghệ cơ bản được sử dụng trong luận văn, bao gồm định nghĩa về web ngữ nghĩa, những nồ lực trong việc xây dựng web ngữ nghĩa từ web hiện tại, giới thiệu kiến trúc web ngữ nghĩa của tổ chức World WideWeb Consortium (W3C). Tìm hiểu về Bản thể luận và ngôn ngữ bản thể luận. 1.1. Khái niệm Web ngữ nghĩa và Siêu dữ liệu 1.1.1. Khái niệm Sau khi ra đời của Internet và World Wide Web (WWW), rất nhiều những nỗ lực đã được thực hiện và các công nghệ được phát triển nhằm mục đích làm cho World Wide Web tốt hơn, nhanh hơn, và thông minh hơn. Nhiều công nghệ, kiến nghị sau khi xuất hiện đã trở thành chuẩn chung chỉ trong một thời gian ngắn. Một trong những nỗ lực này là web ngữ nghĩa. Web ngữ nghĩa có thể được xem là sự mở rộng của web hiện tại. Web ngữ nghĩa không phải là Trí tuệ nhân tạo, nhưng có thể xem là một dạng web thông minh. Web ngữ nghĩa là sự mở rộng của WWW bằng cách thêm vào các mô tả ngữ nghĩa của thông tin dưới dạng mà chương trình máy tính có thể “hiểu” và do vậy cho phép xử lý thông tin hiệu quả hơn [3]. Xét về mặt bản chất, Semantic Web ngữ nghĩa chỉ là một công cụ để con người cũng như máy tính sử dụng để biểu diễn thông tin, hay nói chính xác hơn thì Web ngữ nghĩa chỉ là một dạng dữ liệu trên Web. Khác với các dạng thức dữ liệu được trình bày trong HTML, dữ liệu trong Semantic Web được đánh dấu, phân lớp, mô hình hóa, được bổ sung thêm các thuộc tính, các mối liên hệ… theo các lĩnh vực cụ thể, qua đó giúp cho các phần mềm máy tính có thể hiểu được dữ liệu và tự động xử lý được những dữ liệu đó. Có thể kể ra đây những ưu điểm của web ngữ nghĩa so với web hiện tại:  Máy tính có thể hiểu được thông tin trên Web: Web ngữ nghĩa định nghĩa các khái niệm và bổ sung quan hệ dưới dạng máy tính có thể hiểu được. Do 2 đó, việc tìm kiếm, đánh giá, xử lý, tích hợp thông tin có thể được tiến hành một cách tự động.  Thông tin được tìm kiếm nhanh chóng và chính xác hơn: Với Web ngữ nghĩa, máy tính có thể xác định một thực thể thuộc lớp hay thuộc tính cụ thể nào dựa trên ngữ cảnh chứa nó. Do đó thu hẹp không gian tìm kiếm và cho kết quả nhanh, chính xác hơn.  Khả năng suy luận thông minh: Dựa vào các luật suy diễn trên cơ sở tri thức về các thực thể, máy tính có khả năng sinh ra những kết luận mới.  Dữ liệu liên kết động: Thay thế cách liên kết sử dụng hyperlink tĩnh trong Web cũ, Web ngữ nghĩa liên kết dữ liệu từ nhiều nguồn khác nhau một cách hiệu quả hơn dựa trên định danh của tài nguyên (URI) và quan hệ giữa chúng. Cách liên kết này đôi khi còn được gọi là liên kết bằng siêu dữ liệu. Trong web ngữ nghĩa, với sự trợ giúp của các công nghệ khác, chúng ta có thể trợ giúp cho máy tính hiểu được các khái niệm, mối quan hệ giữa chúng, xử lí nhanh chóng, chính xác các truy vấn từ người dùng. 1.1.2. Siêu dữ liệu Một trong những nền tảng cơ bản làm nên web ngữ nghĩa là các siêu dữ liệu. Siêu dữ liệu dùng để mô tả tài nguyên thông tin, còn gọi là dữ liệu về dữ liệu. Mỗi thực thể hay khái niệm có thể có một hay nhiều siêu dữ liệu. Cho ví dụ, một khóa luận tốt nghiện có [một tác giả], [tên khóa luận], [cán bộ hướng dẫn], ... là các siêu dữ liệu về khóa luận. Chúng ta có thể đơn giản hóa việc phân loại và truy vấn dữ liệu bằng cách dùng các siêu dữ liệu. Mối liên hệ giữa siêu dữ liệu và tài nguyên thông tin mà nó mô tả có thể được thể hiện ở một trong hai cách sau:  Các phần tử metadata được chứa trong một biểu ghi tách biệt bên ngoài đối tượng mô tả.  Các phần tử metadata có thể được nhúng (gắn) vào bên trong tài nguyên mà nó mô tả. Trước đây với tài liệu truyền thống, các mô tả dữ liệu nằm ngoài đối tượng mô tả, như vậy siêu dữ liệu được lưu trữ một cách tách biệt bên ngoài đối tương mô tả. 3 Với tài liệu số, siêu dữ liệu của chúng được nhúng (gắn) trong bản thân tài nguyên hoặc liên kết với tài nguyên mà nó mô tả như trong trường hợp các thẻ meta của tài liệu HTML i. Sơ đồ siêu dữ liệu Sơ đồ siêu dữ liệu là tập hợp những yếu tố siêu dữ liệu được thiết kế cho mô tả một dạng tài nguyên thông tin cụ thể. Như vậy siêu dữ liệu là sơ đồ hình thức được xác định để mô tả tài nguyên thông tin cho đối tượng số hoặc không số. Thí dụ tập hợp yếu tố siêu dữ liệu Dublin Core có sơ đồ bao gồm 15 yếu tố cơ bản để mô tả tài nguyên thông tin. ii. Ngữ nghĩa Định nghĩa các yếu tố hoặc ý nghĩa đực gán cho các yếu tố siêu dữ liệu thì được gọi là ngữ nghĩa của sơ đồ. Mỗi sơ đồ siêu dữ liệu có ngữ nghĩa và cú pháp được quy định riêng. Ví dụ trong yếu tố siêu dữ liệu Dublin Core yếu tố “Creator” – dùng để xác định là tác giả của tài liệu, hoặc yếu tố “Title” – được hiểu là nhan đề của tài liệu. iii. Nội dung Giá trị (dữ liệu) của từng yếu tố được gọi là nội dung. Đó chính là giá trị của mỗi yếu tố siêu dữ liệu. Nhờ các sơ đồ dữ liệu, các chương trình xử lý tự động sẽ nhận biết đoạn dữ liệu nào sẽ thuộc thành phần nào, chẳng hạn đoạn dữ liệu này được nhận biết là nhan đề, đoạn dữ liệu kia được nhận biết là tác giả của tài liệu. 1.2. Kiến trúc Web ngữ nghĩa Để có được những khả năng như đã đề cập ở phần trên, web ngữ nghĩa cần có một hạ tầng chặt chẽ với nhiều lớp hỗ trợ. Dưới đây là kiến trúc tổng quát nhất của web ngữ nghĩa do tổ chức W3C đề xuất: 4 Hình 1.1. Kiến trúc của Web ngữ nghĩa i. Unicode và định danh tài nguyên thống nhất Tầng thấp nhất là tài nguyên (một đối tượng, một thực thể hay một khái niệm, v.v...), chúng được mô tả bằng các định danh tài nguyên thống nhất - Uniform Resource Identifier (URI). Mục đích của tầng này là xác định tính duy nhất của mỗi tài nguyên. Một tài nguyên có duy nhất một URI, tập con của URI là định vị tài nguyên thống nhất: Uniform Resource Locator (URL), nó chứa phương thức truy cập và vị trí của tài liệu trên mạng. Một tập con khác của URI là tên tài nguyên thống nhất : Uniform Resource Name (URN), cho phép xác định một tài nguyên mà không cần phải chứa địa chỉ và phương thức truy cập đến nó, ví dụ chỉ số ISBN là một URN. Việc sử dụng URI là rất quan trọng, vì nó cho phép xây dựng một hệ thống phân tán, trong đó các tài nguyên nằm ở nhiều nơi khác nhau trên mạng. Một biến thể khác của URI là định danh tài nguyên được quốc tế hóa: Internationalized Resource Identifier (IRI), nó cho phép sử đụng các kí tự Unicode trong định danh [1]. Để mã hóa các thông tin, dữ liệu ta sử dụng chuẩn mã hóa Unicode, đây là chuẩn thống nhất dùng để mã hóa các tập kí tự quốc tế. Nó cho phép tất cả các ngôn ngữ của tất cả các nước có thể được mã hóa thống nhất, tránh hiện tượng mỗi quốc gia lại sử dụng một chuẩn mã hóa riêng, gây khó khăn cho trao đổi dữ liệu. 5 ii. Biểu diễn XML Tầng tiếp theo là Ngôn ngữ đánh dẫu mở rộng: Extensible Markup Language (XML), nó được dùng để biểu diễn dữ liệu mà máy tính có thể hiểu và xử lí dữ liệu được. XML là công nghệ chính và là chuẩn của web hiện tại và trong tương lai. Với XML, máy tính có thể tích hợp và tương tác trao đổi dữ liệu với nhau. XML cung cấp một phương tiện dùng văn bản để mô tả thông tin và áp dụng một cấu trúc kiểu cây cho thông tin đó. Tại mức căn bản, mọi thông tin đều thể hiện dưới dạng text, chen giữa là các thẻ đánh dấu với nhiệm vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó. Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Bộ ký tự toàn cầu (Universal Character Set). Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành một tài liệu XML. Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thường là một phần nào đó của các ký tự thuộc tài liệu, được mã hóa dưới dạng một chuỗi các bit và lưu trữ trong một tệp văn bản. Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện. RFC3023 định nghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễn bằng XML mà không nói gì đến ngữ nghĩa của dữ liệu. Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép, và ý nghĩa của các phần tử và thuộc tính có tính chất mở và có thể được định nghĩa bởi một lược đồ tùy biến được (XML Scheme), XML cung cấp một cơ sở cú pháp (Document Type Definition - DTD) cho việc tạo lập các ngôn ngữ đánh dấu dựa XML theo yêu cầu. Cú pháp chung của các ngôn ngữ đó là cố định — các tài liệu phải tuân theo các quy tắc chung của XML, bảo đảm rằng tất cả các phần mềm hiểu XML ít ra cũng phải có khả năng đọc (phân tích cú pháp) và hiểu bố cục tương đối của thông tin trong các tài liệu đó. Lược đồ chỉ bổ sung một tập các ràng buộc cho các quy tắc cú pháp. Các lược đồ thường hạn chế tên của phần tử và thuộc tính và các cấu trúc thứ bậc được phép, ví dụ, chỉ cho phép một phần tử tên 'ngày sinh' chứa một phần tử tên 'ngày' và một phần tử có tên 'tháng', mỗi phần tử phải chứa đúng một ký tự. Có một khái niệm rất quan trọng trong XML là Không gian tên XML (XML namespace). Không gian tên XML là cơ chế cho phép gom các tên phân tử và thuộc tính vào một nhóm. Nó thường xuyên được dùng để phối hợp việc dùng tên phần tử (hay thuộc tính) từ nhiều nguồn khác nhau trong một tài liệu XML, mà vẫn tránh được nguy cơ trùng tên. Một Không gian tên là tập hợp các tên có thể dùng trong tài 6 liệu XML, như tên các phần tử, thuộc tính,..., nó gom các tên này vào các vùng riêng. iii. Trao đổi dữ liệu RDF Cơ cấu mô tả tài nguyên - RDF được W3C giới thiệu để cung cấp một cú pháp chuẩn để tạo, thay đổi và sử dụng các chú thích trong Web ngữ nghĩa. Một mệnh đề RDF là một bộ ba có dạng: [chủ đề], [thuộc tính], [đốitượng]. Trong đó, [chủ đề] là tài nguyên mà được mô tả bằng [thuộc tính] và [đối tượng]. [Thuộc tính] thể hiện mối quan hệ giữa [chủ đề] và [đối tượng]. Còn [đối tượng] ở đây có thể là một tài nguyên hoặc một giá trị. Ba thành phần trên trong RDF đều là các URI. Ví dụ về biểu diễn RDF của siêu dữ liệu Dublin Core: Lương Đỗ Long Các dạng khảo sát hàm số Giới thiệu các dạng khảo sát hàm số thường hay gă ̣p trong các kì thi đại học 2000-01-20 Chi tiết về RDF sẽ được đề cập chi tiết ở phần sau. iv. Lược đồ RDF Để xác định ra cấu trúc và ngữ nghĩa của RDF, ngôn ngữ lược đồ RDF: RDF Scheme (hay RDFS) đã được đề xuất. RDFS là một ngôn ngữ Bản thể luận đơn giản của web ngữ nghĩa, được coi là một ngôn ngữ cơ sở của web ngữ nghĩa. RDFS 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, bao gồm: - Định nghĩa các lớp tài nguyên - Định nghĩa các quan hệ giữa các lớp - Định nghĩa các loại thuộc tính mà các lớp trên có 7 - Định nghĩa các mối quan hệ giữa các thuộc tính. v. Bản thể luận Đối với mỗi miền ứng dụng cụ thể, sẽ có một tập các khái niệm và các mối quan hệ, ràng buộc giữa chúng tạo thành một bản thể luận. Một khái niệm có thể là một lớp, một thuộc tính của một lớp hay bộ từ vựng sử dụng trong miền ứng dụng đó. Bộ từ vựng bản thể luận được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên web và có khả năng hỗ trợ lập luận. Để xây dựng được các bộ từ vựng này, người ta đã sử dụng các ngôn ngữ bản thể luận để biểu diễn chúng như: RDFS, OIL, DAML, DAML+OIL, hay ngôn ngữ bản thể luận cho web (OWL), ... Các ngôn ngữ này cung cấp khả năng biểu diễn và hỗ trợ lập luận khác nhau và chúng dựa trên nền tảng là các ngôn ngữ logic mô tả tương ứng khác nhau. Để cung cấp các luật suy diễn dựa trên các ngôn ngữ bản thể luận, một số ngôn ngữ luật đang được phát triển và chuẩn hóa, chẳng hạn, ngôn ngữ Qui tắc trao đổi định dạng (Rule Interchange Format RIF ). Để truy vấn dữ liệu RDF trong một cơ sở tri thức, ngôn ngữ truy vấn RDF: Simple Protocol and RDF Query Language – SPARQL đã được đề xuất. Ngôn ngữ SPARQL là ngôn ngữ truy vấn tương tự như ngôn ngữ truy vấn có cấu trúc SQL dùng để thao tác với các hệ hệ quản trị CSDL quan hệ vi. Tầng Logic 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 được. Mà 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. Vì logic mô tả có biểu diễn ngữ nghĩa hình thức và cung cấp các dịch vụ lập luận, là cơ sở để hỗ trợ máy tính có thể lập luận và hiểu tài nguyên. vii. Tầng chứng minh Tầng này đưa ra các luật để suy luận. Cụ thể từ các thông tin đã có ta có thể suy ra các thông tin mới. Ví dụ: A là cha của B, A là em trai C thì khi đó ta có thông tin mới là C là bác của B. Để có được các suy luận này thì cơ sở là FOL (First- Order-Logic). Và tầng này hiện nay các nhà nghiên cứu đang xây dựng các ngôn ngữ luật cho nó như: SWRL, RuleML. 8 Để đảm bảo dữ liệu đầu vào đáng tin cậy, có thể sử dụng mật mã, chẳng hạn như sử dụng chữ kí điện tử để thẩm định xuất xứ của nguồn dữ liệu [2] viii. Tầng xác nhận Đảm bảo tính tin cậy của các ứng dụng trên Web ngữ nghĩa. Ví dụ: có một mệnh đề: X là A, một mệnh đề khác lại xác định X không là A, như thế Web ngữ nghĩa là không đáng tin cậy? Câu trả lời ở đây được xem xét trong các ngữ cảnh. Mỗi ứng dụng trên web ngữ nghĩa sẽ có một ngữ cảnh cụ thể, chính vì thế các mệnh đề trên có thể nằm trong các ngữ cảnh khác nhau khi đó ngữ nghĩa tương ứng khác nhau nên các mệnh đề đó vẫn đúng, đáng tin cậy trong ngữ cảnh của nó. Để có được sự chứng minh về độ tin cậy thì các lập luận được áp dụng là không đơn điệu và có các cơ chế kiểm tra chứng minh kết hợp với công nghệ chữ ký điện tử để xác nhận độ tin cậy. Các ngôn ngữ chứng minh là ngôn ngữ cho ta chứng minh một mệnh đề là đúng hay sai. ix. Giao diện người dùng và ứng dụng Đây là tầng trực tiếp giao tiếp với người dùng và ứng dụng, tầng này cung cấp giao diện cho người dùng và các dịch vụ khác truy cập. 1.3 Ngôn ngữ Cơ cấu mô tả tài nguyên và Bản thể luận 1.3.1 Ngôn ngữ mô tả tài nguyên RDF Ngôn ngữ biểu diễn dữ liệu và tri thức là một khía cạnh quan trọng của Semantic Web. Như đã đề cập ở bên trên, XML là nền tảng cơ bản làm nên web ngữ nghĩa, tuy nhiên XML không đủ khả năng để tạo ra ngữ nghĩa trong web. Mặc dù XML cho phép người dùng thêm dữ liệu tùy ý vào cấu trúc tài liệu nhưng nó không đề cập gì đến ngữ nghĩa của tài liệu hàm chứa. Ngôn ngữ Cơ cấu mô tả tài nguyên - RDF được đề xuất nhằm khắc phục những nhược điểm của XML không thể giải quyết được. Định nghĩa cơ bản của ngôn ngữ RDF là dùng để mã hóa các siêu dữ liệu của các tài nguyên vào một bộ ba (RDF Triple): [chủ ngữ], [vị ngữ] và [đối tượng]. Ta biết rằng mỗi một thực thể hay khái niệm đều có các thuộc tính, mỗi thuộc tính đều có các giá trị, vì vậy mọi tài nguyên cũng đều có thể được biểu diễn qua ngôn ngữ RDF. XML cung cấp cú pháp để mã hóa dữ liệu, RDF là một cơ cấu chỉ ra điều gì đó về dữ liệu. RDF cung cấp một mô hình dữ liệu, và một cú pháp đơn giản sao cho 9 các hệ thống độc lập có thể trao đổi và sử dụng nó. RDF được thiết kế sao cho hệ thống máy tính có thể hiểu được và có thể đọc được thông tin, chứ không phải để trình bày dữ liệu cho người dùng. Là một thành phần của Web ngữ nghĩa, được đặt trên XML, RDF sử dụng cú pháp của XML để biểu diễn thông tin, điều này có nghĩa là các tài liệu RDF được viết bằng XML. Ngôn ngữ XML dùng để biểu diễn thông tin trong RDF được gọi là RDF/XML. Thông qua định dạng này, các thông tin trong RDF có thể được trao đổi dễ dàng giữa các hệ thống máy tính cũng như các hệ điều hành hay các ngôn ngữ lập trình ứng dụng khác nhau. RDF mô tả các nguồn tài nguyên bởi bộ ba [chủ ngữ], [vị ngữ], [ đối tượng]. Một [vị ngữ] là một khía cạnh, tính chất, thuộc tính, hay mối liên hệ mô tả cho một tài nguyên. Một phát biểu bao gồm một tài nguyên riêng biệt, một thuộc tính được đặt tên, và giá trị thuộc tính cho tài nguyên đó ([đối tượng]). Giá trị này cơ bản có thể là một tài nguyên khác hay một giá trị mang tính nghĩa đen hay dạng chuỗi văn bản tùy ý. [Chủ ngữ] và đối tượng được xác định qua Định danh tài nguyên thống nhất – URI, chẳng hạn chúng có thể là một liên kết của một trang web. Các [vị ngữ] cũng được xác định qua URI, do đó bất kì ai cũng có thể định nghĩa ra một khái niệm mới, một thuộc tính mới, bằng cách chỉ cần định nghĩa URI cho chúng. Bởi vì RDF sử dụng URI để biểu diễn các thông tin trong một tài liệu, các URI đảm bảo rằng các khái niệm không chỉ chứa văn bản thuần túy mà nó còn là định danh tài nguyên duy nhất mà tất cả người dùng có thể tìm kiếm được trên mạng. Trong RDF, các URI đóng một vai trò rất quan trọng: Chúng ta có thể tạo ra các (siêu) dữ liệu dựa trên bất kỳ một nguồn tài nguyên nào trên Web, ngữ nghĩa được đưa vào các nguồn tài nguyên Web thông qua các URI, và URI cho phép liên kết giữa các phần tử dữ liệu thông qua các thuộc tính. i. Mô hình dữ liệu RDF Sự kết hợp của một nguồn tài nguyên ([chủ ngữ]), một thuộc tính ([vị ngữ]) và một giá trị của thuộc tính được ([đối tượng]) được đặt trong một Phát_biểu. Ví dụ một câu nói như sau: “Giám đốc của công ty Garden Network là Nguyễn Văn A”. Như vậy, ta có thể biểu diễn bởi một Phát_biểu với các “thông số” sau: - Chủ ngữ của Phát_biểu RDF là: “Công ty Garden Network” - Tính chất là: “Giám đốc” - Đối tượng là: “Nguyễn Văn A” 10 Mô hình cơ bản của RDF gồm ba bộ phận sau:  Tài nguyên: là tất cả những gì được mô tả bằng biểu thức RDF  Thuộc tính: là đặc tính hay quan hệ mô tả tính chất tài nguyên  Phát_biểu: mỗi phát biểu gồm ba thành phần sau - [Chủ ngữ]: địa chỉ hay vị trí tài nguyên muốn mô tả. - [Vị ngữ]: xác định tính chất của tài nguyên. - [ Đối tượng]: nội dung gán cho thuộc tính. ii. RDF và Cơ sở dữ liệu quan hệ Trong các Cơ sở dữ liệu quan hệ truyền thống, dữ liệu được lưu dưới dạng các bảng. Trong mỗi bảng, mỗi hàng là một bản ghi không có giới hạn về số lượng các trường. Ví dụ ta có bảng sau: ISBN Tên Tác giả NXB Số trang Giá bán 10001111 Lập trình C Lê A ĐHQG 250 45.000 10111112 Vi xử lí Trần H Giáo dục 300 50.000 Nếu lưu các dữ liệu trên dưới dạng RDF, đòi hỏi các dữ liệu phải được chia nhỏ để lưu dưới dạng các bộ ba: ISBN Tên 10001111 Lập trình C 10111112 Vi xử lí Phát_biểu: {10001111, Tên, “Lập trình C”} So với CSDL quan hệ, cách lưu trữ dưới dạng RDF có những ưu điểm sau: - Tổ chức dữ liệu đơn giản, đồng nhất nên thông tin dễ dàng chỉnh sửa - Cấu trúc bộ ba giúp ta dễ truy xuất các thông tin 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 ra những tri thức mới - Chia sẻ dữ liệu trên mạng nhờ sự đồng nhất. 11 iii. Đồ thị RDF Tập hợp các bộ ba tạo thành đồ thị RDF (đồ thị có hướng). Các nút trong đồ thị là [chủ ngữ] và [đối tượng], các cung trong đồ thị là [Vị ngữ] và luôn có hường từ [chủ ngữ] tới [đối tượng]. Dùng đồ thị làm cho thông tin thể hiện rõ ràng và dễ hình dung hơn. Hình 1.2. Đồ thị RDF iv. Cú pháp của RDF Mô hình RDF thể hiện một mô hình ở mức trừu tượng để định nghĩa siêu dữ liệu. Cú pháp RDF được dùng để tạo ra và trao đổi siêu dữ liệu, vì thế RDF dựa trên cú pháp XML. Cú pháp cơ bản của RDF có dạng như sau: [1] RDF ::= [''] description* [''] [2] description ::= '' propertyElt* '' [3] idAboutAttr ::= idAttr | aboutAttr [4] aboutAttr ::= 'about="' URI-reference '"' [5] idAttr ::= 'ID="' IDsymbol '"' [6] propertyElt ::= '' value ''| '' [7] propName ::= Qname [8] value ::= description | string [9] resourceAttr ::= 'resource="'tham chiếu URI'"' [10] Qname ::= [ NSprefix ':' ] name [11] URI-reference ::= string, interpreted per [URI] [12] IDsymbol ::= (bất kỳ ID nào hợp lệ nào của XML) [13] name ::= (bất kỳ tên hợp lệ nào của XML) [14] NSprefix ::= (bất kỳ tiếp đầu ngữ namespace hợp lệ nào) [15] string ::= (bất kỳ chuỗi nào Ví dụ: Xét phát biểu sau {ketquasoxo.html, create-date, “10-10-2010”} Cú pháp RDF/XML để biểu diễn cho phát biểu trên như sau: 12 1: 2: 4: 5: 10-10-2010 6: 7: Trong đó: Dòng 1: là khai báo XML, cho biết nội dung theo sau dựa trên cú pháp XML và phiên bản XML được dùng. Dòng 2 và 3: bắt đầu với thẻ rdf:RDF , cho biết rằng nội dung XML tiếp theo mô tả RDF. Từ khóa này xác định tài liệu này được biểu diễn dưới dạng RDF. Tiếp theo là phần khai báo không gian tên XML được sử dụng trong tài liệu, tùy vào nhu cầu và mục đích sử dụng mà ta có thể dùng các không gian tên khác nhau cho từng tài liệu. Dòng 4, 5, 6: mô tả những mệnh đề RDF. Để mô tả bất kỳ phát biểu nào dạng RDF/XML có thể dùng rdf:Description, và rdf:about , đây chính là [chủ ngữ] của phát biểu. Thẻ bắt đầu rdf:Description trong dòng 4 cho biết bắt đầu mô tả về một tài nguyên, và tiếp tục định danh tài nguyên này dùng thuộc tính rdf:about để chỉ ra URI của tài nguyên.. Dòng 5 cung cấp 1 phần tử thuộc tính, với Qname là exterms:creation-date như là thẻ của nó. Nội dung của phần tử thuộc tính này là [đối tượng] của Phát_biểu, có giá trị là kiểu chuỗi kí tự “10 tháng 10 năm 2010 “. Dòng 7: cho biết kết thúc của thẻ rdf:RDF bắt đầu ở dòng 2 và cũng là thẻ kết thúc của tài liệu RDF.  Bộ chứa RDF Để mô tả tập hợp của nhiều đối tượng như một bài báo khoa học được viết bởi nhiều tác giả, danh sách các sinh viên trong một khóa học, v.v... RDF cung cấp nhiều kiểu và nhiều thuộc tính tích hợp sẵn giúp mô tả được những tập như vậy, trong đó có kiểu khai báo “bộ chứa” (container), dùng để lưu danh sách các tài nguyên hoặc các kiểu giá trị (Một bộ chứa là một nguồn tài nguyên chứa những cái gì đó, những cái gì đó được đặt trong bộ chứa được gọi là các thành viên).Các phần tử của một bộ chứa có thể là các tài nguyên URI (có thể là rỗng) hay là các giá trị 13 kiểu chuỗi kí tự. RDF định nghĩa 3 loại đối tượng “bộ chứa”: Bag, Sequence, và Alternative. là danh sách không có thứ tự của các tài nguyên hoặc các giá trị. Bag cho phép những giá trị có thể trùng lặp nhau. Vi dụ Nguyễn Văn A Lê Thị C Trần B là danh sách có thứ tự của các tài nguyên hoặc các giá trị. Chẳng hạn dùng Sequence để lưu trữ các giá trị theo thứ tự bảng chữ cái. Sequence cho phép những giá trị có thể trùng lặp nhau. Ví dụ: Nguyễn A Nguyễn B Nguyễn C Nguyễn D 14 là một danh sách các tài nguyên hoặc các giá trị, được dùng để biểu diễn các giá trị lựa chọn của một thuộc tính (người dùng chỉ có thể được lựa chọn một trong các giá trị đó). Ví dụ: pdf doc latex  Tập hợp RDF Tập hợp RDF (Collection RDF) được sử dụng để mô tả các nhóm chỉ chứa những thành viên đã được đặc tả. Như ta đã biết, trong RDF, một bộ chứa RDF cho thấy các thành viên của nó là các nguồn tài nguyên, nó không cho biết rằng những thành viên nào không được phép. Một tập hợp được mô tả bởi thuộc tính rdf:parseType="Collection". Ví dụ: 15 1.3.2 Bản thể luận Trong khoa học máy tính, một bản thể luận là một mô hình dữ liệu biểu diễn một lĩnh vực và được sử dụng để suy luận về các đối tượng trong lĩnh vực đó và mối quan hệ giữa chúng. Bản thể luậ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, bản thể luận 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ử dụng trong một miền mà có thể được giao tiếp giữa người và các hệ thống ứng dụng phân tán hỗn tạp khác. Bản thể luận được xem là “trục xương sống” của Semantic Web. Danh sách dưới đây sẽ phân tích vai trò của ontology trong ngữ cảnh ứng dụng Web có ngữ nghĩa.  Chia sẻ sự hiểu biết chung giữa các ứng dụng và con người..  Cho phép sử dụng lại tri thức. Ví dụ, nếu một bản thể luận đã được phát triển các ứng dụng có thể sử dụng lại.  Đưa ra các giả thiết rõ ràng về miền: Đặc tả rõ ràng về miền tri thức sẽ giúp cho người mới dễ tìm hiểu ngữ nghĩa của miền lĩnh vực.  Phân tách tri thức lĩnh vực với tri thức thao tác.  Phân tích tri thức lĩnh vực. Phân tích hình thức của các khái niệm, cần thiết cho việc tái sử dụng và mở rộng ontology. Bộ từ vựng bản thể luận được xây dựng trên cơ sở của cơ cấu mô tả tài nguyên (RDF) và lược đồ RDF, nó cung cấp khả năng biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên Web và có khả năng hỗ trợ lập luận. Có một số kỹ thuật lập mô hình và biểu diễn bản thể luận như frames, logic bậc nhất, logic mô tả, kĩ nghệ phần mềm, ... Mặc dù các kỹ thuật này có thể biểu diễn cùng một cơ sở tri thức với các mức độ hình thức và chi tiết khác nhau, nhưng chúng đều có cùng các thành phần cơ bản sau: 16 i. Các cá thể – Thể hiện Các cá thể là các thành phần cơ bản của một bản thể luận. Các cá thể trong một bản thể luận có thể là các đối tượng cụ thể như con người, động vật, máy tính... cũng có thể là các đối tượng trừu tượng như các thành viên trong một tổ chức nào đó, hay một từ ngữ nào đó. Một bản thể luận có thể không cần có một cá thể nào. ii. Các lớp – Khái niệm 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 bản thể luận 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 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 kiểu iii. Các thuộc tính 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ể có các kiểu dữ liệu phức tạp. iv. Các mối quan hệ Một trong những ứng dụng quan trọng của việc sử dụng các thuộc tính là để mô tả mối liên hệ giữa các đối tượng trong ontology. 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. 1.3.3 Lược đồ RDF và truy vấn RDF 1.3.3.1 Lược đồ RDF RDF cung cấp một cách để mô tả các phát biểu đơn giản về các resource, sử dụng các thuộc tính và giá trị đã được định nghĩa trước. Tuy nhiên, RDF chỉ cho 17 phép định nghĩa các quan hệ, chứ không nói rõ chỉ có thể có các loại quan hệ nào, hay các kiểu đối tượng có thể có trong miền hiện tại. Để làm được điều này, chúng ta sẽ phải sử dụng một phiên bản mở rộng của RDF, gọi là lược đồ RDF (RDF Scheme - RDFS). Lược đồ RDF là một ngôn ngữ bản thể luận dạng đơn nhất, nó cung cấp một khung để mô tả các lớp, thuộc tính của ứng dụng cụ thể. Các lớp trong RDFS giống như các lớp trong lập trình hướng đối tượng, cho phép các tài nguyên được định nghĩa như là một thực thể của lớp, hay lớp con của lớp. Để thực hiện phân chia các lớp và các lớp con, RDFS sử dụng các phần tử như: rdfs:Class và rdfs:subClassOf. Ví dụ: Xét lược đồ sau: lớp B là con của lớp A Hình 1.3. Quan hệ kế thừa Sử dụng RDFS để định nghĩa, chú thích các mối quan hệ trên, ta có: Khi lớp RDFS là tài nguyên RDF, ta có thể dùng rdfs:Class thay vì dùng rdf:Description, ví dụ trên được viết lại: <rdf:RDF xmlns:rdf="" 18 xmlns:rdfs="" xml:base=""> i. Định nghĩa lớp Các tài nguyên trên Web có thể chia thành các nhóm gọi là lớp. Các thành viên của nhóm được xem như là thể hiện của lớp đó. Thông qua các định danh URI, các tài nguyên được truy xuất và có thể được mô tả bằng các thuộc tinh RDF. Thuộc tính rdf: type được sử dụng để chỉ ra một tài nguyên là một thể hiện của một lớp. Bảng 1. Các lớp trong RDFS [1] Phần tử Mô tả Lớp con của (rdfs:subClassOf) Kiểu (rdf:type) rdfs:Resource Tất cả các tài nguyên rdfs:Resource rdfs:Class rdfs:Class Tất cả các lớp rdfs:Resource rdfs:Class rdfs:Literal Giá trị đơn giản rdfs:Resource rdfs:Class rdfs:Datatype Kiểu dữ liệu rdfs:Class rdfs:Class rdf:XMLLiteral Giá trị đơn giản XML rdfs:Literal rdfs:Datatype rdf:Property Các thuộc tính rdfs:Resource rdfs:Class rdf:Statement Các khai báo rdfs:Resource rdfs:Class rdf:List Các danh sách rdfs:Resource rdfs:Class rdfs:Container Container rdfs:Resource rdfs:Class rdf:Bag Container không có thứ tự rdfs:Container rdfs:Class rdf:Seq Container có thứ tự rdfs:Container rdfs:Class rdf:Alt Container thay thế rdfs:Container rdfs:Class rdfs:Container MembershipProperty Thuộc tính quan hệ thành viên rdf:Property rdfs:Class 19 ii. Định nghĩa thuộc tính Mô tả các tính chất của khái niệm. Lược đồ RDF cung cấp một bộ từ vựng để mô tả làm thế nào mà các thuộc tính và lớp có thể được sử dụng cùng nhau trong RDF. Bảng 2. Các thuộc tính trong RDFS [1] Phần tử Mô tả rdfs:domain rdfs:range rdfs:range Hạn chế các đối tượng rdf:Property rdfs:Class rdfs:domain Hạn chế các đối tượng rdf:Property rdfs:Class rdf:type Thể hiện của rdfs: Resource rdfs:Class rdfs:subClassOf Lớp con của rdfs:Class rdfs:Class rdfs:subPropertyOf Thuộc tính con của rdf:Property rdf:Property rdfs:label Nhãn có nghĩa (dành cho người dùng dễ hiểu) rdfs: Resource rdfs:Literal rdfs:comment Lời chú giải (dành cho người dùng dễ hiểu) rdfs: Resource rdfs:Literal rdfs:member Thành viên của container rdfs: Resource rdfs: Resource rdf:first Phần tử đầu tiên rdf:List rdfs: Resource rdf:rest Phần còn lại của danh sách rdf:List rdf:List rdf:_1, rdf_2 Thành viên của Container rdfs:Container rdfs: Resource rdfs:seeAlso Thông tin xem thêm rdfs: Resource rdfs: Resource rdfs:isDefineBy Định nghĩa bởi rdfs: Resource rdfs: Resource rdf:value Các giá trị có cấu trúc rdfs: Resource rdfs: Resource rdf:object Đối tượng của khai báo rdf:Statement rdfs: Resource rdf:predicate Predicate khai báo rdf:Statement rdfs: Resource rdf:subject Chủ thể của khai báo rdf:Statement rdfs: Resource Thuộc tính quan trọng nhất được sử dụng trong trường hợp này là rdfs:range và rdfs:domain 20 Hình 1.4. Không gian miền và giới hạn của thuộc tính RDFS dùng để chỉ giá trị của một thuộc tính là thể hiện của một lớp. Ví dụ ta có phát biểu sau: ex:Person rdf:type rdfs:Class . ex:author rdf:type rdf:Property . ex:author rdfs:range ex:Person . Phát biểu này chỉ rằng ex:Person là một lớp, ex:author là một thuộc tính, và thuộc tính ex:author có [đối tượng] là thực thể của lớp ex:Person. Tuy nhiên một thuộc tính có thể có nhiều rdfs:range, chẳng hạn: ex:hasMother rdfs:range ex:Female . ex:hasMother rdfs:range ex:Person . Thuộc tính rdfs:range có thể được sử dụng để chỉ ra giá trị của kiểu chuỗi kí tự ex:age rdf:type rdf:Property . ex:age rdfs:range xsd:string. được sử dụng để chỉ rằng một thuộc tính là thuộc tính của một lớp nào đó. Ví dụ như ta muốn thuộc tính ex:author là thuộc tính của lớp ex:Book,ta có phát biểu sau: ex:Book rdf:type rdfs:Class . ex:author rdf:type rdf:Property . ex:author rdfs:domain ex:Book . Và một thuộc tính cũng có nhiều thuộc tính rdfs:domain khác: 21 exterms:weight rdfs:domain ex:PC. exterms:weight rdfs:domain ex:MotorVehicle. Các luật suy diễn trong lược đồ RDF Có 6 trường hợp suy diễn theo các cấp loại lớp, thuộc tính, lớp con, thuộc tính con, miền, giới hạn. Trường hợp 1: Suy diễn về loại của lớp IF (c2, subClassOf, c1) AND (x, type, c2) THEN (x, type, c1) Ví dụ: IF (Man, subClassOf, Person) AND (Nam, type, Man) THEN (Nam, type, Person) Trường hợp 2: Suy diễn về thuộc tính của lớp IF (p2, subPropertyOf, p1) AND (x, p2, y) THEN (x, p1, y) Ví dụ: IF (author, subPropertyOf, creator) AND (Nam, author, KhoaLuan) THEN (Nam, creator, KhoaLuan) Trường hợp 3: Suy diễn về lớp con của lớp IF (c2, subClassOf, c1) AND (c3, subClassOf, c2) THEN (c3, subClassOf, c1) Ví dụ: IF (ClassB, subClassOf, ClassA) AND (ClassC, subClassOf, ClassB) 22 THEN (ClassC, subClassOf, ClassB) Trường hợp 4: Suy diễn về thuộc tính con của thuộc tính IF (p2, subPropertyOf, p1) AND (p3, subPropertyOf, p2) THEN (p3, subPropertyOf, p1) Ví dụ: IF (parent, subPropertyOf, ancestor) AND (father, subPropertyOf, parent) THEN (father, subPropertyOf, ancestor) Trường hợp 5: Suy diễn trong miền (domain) IF (p1, domain, c1) AND (x, p1, y) THEN (x, type, c1) Ví dụ: IF (author, domain, Human) AND (Nam, author, KhoaLuan) THEN (Nam, type, Human) Trường hợp 6: Suy diễn trong dãy giới hạn (range) IF (p1, range, c1) AND (x, p1, y) THEN (y, type, c1) Ví dụ: IF (author, range, Document) AND (Nam, author, KhoaLuan) THEN (KhoaLuan, type, Document) 1.3.3.2 Ngôn ngữ truy vấn RDF RDF là một cách để mô tả thông tin về các tài nguyên Web một cách linh động. Với lượng thông khổng lồ trên Web cần phải có ngôn ngữ truy vấn các tài liệu RDF một cách nhanh chóng và chính xác. Tổ chức W3C đã phát triển ngôn ngữ 23 truy vấn trong các tài liệu RDF dựa trên cú pháp của ngôn ngữ truy vấn SQL trong CSDL quan hệ. Trong phần này sẽ giới thiệu sơ lược ngôn ngữ truy vấn RDF thông dụng là SPARQL. Chi tiết về ngôn ngữ SPARQL xem tại SPARQL là một ngôn ngữ để truy cập thông tin từ các lược đồ RDF. Nó cung cấp các tính năng sau: - Trích thông tin từ các dạng của URI - Trích thông tin từ các lược con - Xây dựng đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn Một câu truy vấn bao gồm 2 mệnh đề, mệnh đề SELECT và mệnh đề WHERE. Mệnh đề SELECT định danh các biến mà ứng dụng quan tâm và mệnh đề WHERE bao gồm các mẫu điều kiện cho các bộ ba. Ví dụ: PREFIX rdf syntax : SELECT ?x WHERE {?x rdf syntax : type } Các giá trị được đặt trong dấu ‘’ dùng để chỉ một định danh URI. Các giá trị được đặt trong dấu (“”) là các giá trị chuỗi kí tự. Biến trong ngôn ngữ truy vấn có giá trị toàn cục. Biến thường bắt đầu với kí tự ‘?’ hay kí tự ‘$’ để chỉ một biến. SPARQL cung cấp một cơ chế viết tắt. Tiếp đầu ngữ (prefix) dùng để làm gọn các URI trong truy vấn. Kết luận Trong chương này đã trình bày khái quát về Web ngữ nghĩa, một lĩnh vực được xem là có tiềm năng cực lớn cho việc giải quyết các vấn đề còn tồn đọng trong Web hiện tại. Tìm hiểu kiến trúc cơ bản làm nên Web ngữ nghĩa, và các thành phần nền tảng của nó, đó là URI, XML, Ngôn ngữ bản thể luận, Ngôn ngữ RDF và lược đồ RDF, v.v.... 24 Chương 2. TIẾP CẬN WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ TÀI LIỆU SỐ Một trong những cách lưu trữ và quản lí các tài liệu số là các thư viện số. Thư viện số là thư viện mà ở đó các bộ sưu tập được lưu trữ dưới dạng số (tương phản với các định dạng in, vi dạng, hoặc các phương tiện khác) và có thể truy cập bằng máy tính. Nội dung số có thể được lưu trữ cục bộ hoặc truy cập từ xa qua mạng máy tính. Thư viện số là một loại hệ thống truy hồi thông tin - Information Retrieval System. Đối tượng quản lí chính của một hệ thống phần mềm thư viện số là các tệp tin tài liệu. Như đã đề cập ở phần trên mọi loại tài nguyên đều có thể miêu tả dưới dạng các siêu dữ liệu. Việc tìm kiếm ngữ nghĩa dựa trên các siêu dữ liệu rõ ràng là thuận lợi cho người dùng hơn so với các tìm kiếm theo từ khóa trong một hệ thống thư viện số với số lượng tài liệu khổng lồ. Trong các hướng tiếp cận tiêu biểu về ứng dụng Web ngữ nghĩa, thư viện số là ứng dụng tiêu biểu. 2.1 Web ngữ nghĩa và thư viện số 2.1.1 Thư viện số ngữ nghĩa Đối tượng quản lí chính của thư viện số là các tài liệu số (sách, báo, tạp chí điện tử, các tài nguyên đa phương tiện, v.v...). Trong thư viện số, số lượng tài liệu có thể lên tới hàng trăm triệu tài liệu, ngoài chức năng lưu trữ tài liệu, còn phải hỗ trợ người dùng tra cứu tài nguyên trong một kho dữ liệu khổng lồ với thời gian nhanh nhất và chính xác nhất. Các thư viện số truyền thống cho phép người dùng tìm kiếm thông qua cấu trúc phân mục tài liệu hoặc qua tìm kiếm từ khóa nhờ kĩ thuật lập chỉ mục cho nội dung trong tài liệu. Cơ chế phân mục trả lại danh sách các tài liệu tương ứng với câu truy vấn kiểu như: “Liệt kê ra tất cả các tài liệu có tiêu đề bắt đầu bằng chứ A” hoặc “Liệt kê các tài liệu về Mạng chia sẻ ngang hàng”, còn cơ chế tìm kiếm theo từ khóa trả lại danh các tài liệu mà nội dung có chứa từ khóa trong câu truy vấn, chẳng hạn “Các tài liệu có chứa cụm từ [Khoa học máy tính] nhưng không chứa cụm từ 25 [Phần cứng máy tính]”. Tuy nhiên cả hai cơ chế này đều không hỗ trợ đầy đủ cho các câu truy vấn kiểu như: “liệt kê các tài liệu liên quan đến ngôn ngữ lập trình hướng đối tướng”. Nếu truy vấn trong hệ thống thư viện tìm kiếm theo từ khóa, thì hệ thống sẽ trả lại một tập các danh sách có chứa từ khóa trên, nếu kho tài nguyên có chứa tài liệu “Xây dựng ứng dụng Windows với C#” (C# là một ngôn ngữ lập trình hướng đối tượng) mà nội dung tài liệu không chứa cụm từ “lập trình hướng đối tượng” thì hệ thống sẽ không tìm thấy. Hoặc với truy vấn “liệt kê các tài liệu mạng đồng đẳng” thì máy tính không hiểu được [Mạng ngang hàng] và [Mạng đồng đẳng] là hai khái niệm tương đương. Như vậy cơ chế tìm kiếm theo từ khóa và theo kiểu duyệt thư mục không giải quyết được các câu truy vấn phức tạp và mang tính trừu tượng cao. Để hỗ trợ các câu truy vấn loại này, một trong các giải pháp là thêm dữ liệu ngữ nghĩa cho hệ thống thư viện số. Các thông tin tin ngữ nghĩa được biểu diễn bởi các siêu dữ liệu đi kèm với mỗi đối tượng tài liệu, cùng với một hay nhiều bản thể luận được cung cấp với ngữ cảnh ngữ nghĩa tương ứng, sẽ trả lời được (phần nào) các câu truy vấn mang tính trừu tượng. Một thư viện số được tích hợp thêm ngữ nghĩa cho các tài nguyên được gọi là thư viện số ngữ nghĩa. Thư viện số ngữ nghĩa các các đặc điểm chung sau [6]: - Tích hợp nhiều nguồn thông tin dựa trên các siêu dữ liệu khác nhau (các tài liệu, hồ sơ người dùng, đánh dấu, phân loại,...) - Cung cấp khả năng tương tác với các hệ thống khác (không chỉ các thư viện số với nhau) thông qua các siêu dữ liệu (RDF là một trong những tài nguyên thông dụng được dùng để trao đổi dữ liệu giữa các thư viện số với các dịch vụ khác). - Cung cấp khả năng tìm kiếm theo ngữ nghĩa mạnh mẽ hơn so với các cách tìm kiếm thông thường và tra cứu tài liệu một cách dễ dàng. Các thành phần hỗ trợ để xây dựng thư viện số ngữ nghĩa bao gồm: Web ngữ nghĩa, Thu viện số, và Công nghệ Web 2.0 [6]. Cũng giống như web và web ngữ nghĩa, thư viện số ngữ nghĩa là sự mở rộng của thư viện số bởi việc mô tả và trình bày các nguồn tài nguyên theo định dạng mà máy tính có thể hiểu và xử lí được. 26 Thư viện số ngữ nghĩa cũng có thể xem là sự mở rộng của thư viện số, nhờ ứng dụng của web ngữ nghĩa (hay còn gọi là thư viện số 2.0). Web ngũ nghĩa Web 2.0 Thư viện số Thư viện số ngũ nghĩa Hình 2.1. Các thành phần hỗ trợ thư viện số ngữ nghĩa 2.1.2. Tổ chức tri thức trong thư viện Hệ thống tổ chức tri thức nhằm mục đích làm rõ cơ cấu tổ chức bên trong của một hệ thống. Nó biểu diễn các mối quan hệ (ngữ nghĩa) giữa các đối tượng, các khái niệm trong một hệ thống, nhằm mục đích tổ chức, trao đổi thông tin và quản lí tri thức một cách hiệu quả. Trong thư viện số ngữ nghĩa, các tri thức bao gồm [6]:  Lược đồ phân loại và biên mục các tài liệu  Nội dung tiêu đề tài liệu (tên tài liệu)  Các tệp tin xác minh (quan lí phiên bản các tài liệu, các thông tin quan trọng (từ khóa), tên của tác giả, nơi xuất xứ tài liệu, v.v...)  Tập các từ vựng (chẳng hạn các từ điển)  Các lược đồ (ngữ nghĩa, bản thể luận) 2.1.3. Web ngữ nghĩa trong thư viện số Ta biết rằng nguyên liệu chính để xây dựng web ngữ nghĩa là các siêu dữ liệu, trong các thư viện số cũng vậy, các tài liệu cũng phải được biểu diễn bởi các siêu dữ liệu. Nếu tài liệu là những khối xây dựng căn bản của thư viện số, thì ngôn ngữ đánh dấu và các siêu dữ liệu là những yếu tố tổ chức. Ngôn ngữ đánh dấu được dùng để chỉ rõ cấu trúc của tài liệu riêng lẻ và kiểm soát phương thức trình bày cho 27 người sử dụng. Các siêu dữ liệu được dùng để xúc tiến việc truy cập đến những phần thích hợp của tài liệu qua việc tìm kiếm. Trong các thư viện số có sự khác biệt quan trọng giữa siêu dữ liệu hiện và siêu dữ liệu ẩn. Siêu dữ liệu hiện được xác định bởi con người sau khi xem xét cẩn thận và phân tích tài liệu. Siêu dữ liệu ẩn được trích xuất tự động từ nội dung tài liệu nhờ kĩ thuật khai thác văn bản. Công việc này thường khó thực hiện chính xác. Khai thác văn bản, được định nghĩa như một tiến trình phân tích văn bản để trích thông tin hữu ích cho mục đích cụ thể, đó là một đề tài nghiên cứu nóng bỏng hiện nay. Một trong những chuẩn siêu dữ liệu thông dụng và nổi tiếng là DublinCore. Chuẩn Dublin Core là một tập hợp những thành phần siêu dữ liệu được thiết kế đặc biệt cho việc sử dụng không chuyên. Được dùng chủ yếu cho việc mô tả tài liệu số. Chuẩn Dublin Core bao gồm 15 yếu tố cơ bản và các yếu mỏ rộng bao gồm:  Nhan đề (Title): Nhan đề của tài liệu  Tác giả (Creator): Tác giả của tài liệu, bao gồm cả tác giả cá nhân và tác giả tập thể.  Chủ đề (Subject): Chủ đề tài liệu đề cập dùng để phân loại tài liệu. Có thể thể hiện bằng từ, cụm từ/(Khung chủ đề), hoặc chỉ số phân loại/ (Khung phân loại).  Tóm tắt (Description): Tóm tắt, mô tả nội dung tài liệu. Có thể bao gồm tóm tắt, chú thích, mục lục, đoạn văn bản để làm rõ nội dung  Nhà xuất bản (Publisher): Nhà xuất bản, nơi ban hành tài liệu có thể là tên cá nhân, tên cơ quan, tổ chức, dịch vụ...  Tác giả phụ (Contributor): Tên những người cùng tham gia cộng tác đóng góp vào nội dung tài liệu, có thể là cá nhân, tổ chức...  Ngày tháng (Date): Ngày, tháng ban hành tài liệu. Có thể dùng chuẩn ISO 8601  Loại (kiểu) (Type): Mô tả bản chất của tài liệu. Dùng các thuật ngữ mô tả phạm trù kiểu: trang chủ, bài báo, báo cáo, từ điển...  Khổ mẫu (Format): Mô tả sự trình bày vật lý của tài liệu, có thể bao gồm; vật mang tin, kích cỡ độ dài, kiểu dữ liệu (.doc, .html, .jpg, xls, phần mềm....)  Định danh (Identifier): Các thông tin về định danh tài liệu, các nguồn tham chiếu đến, hoặc chuỗi ký tự để định vị tài nguyên: URL (Uniform Resource Locators) (bắt đầu bằng http://), URN (Uniform Resource Name), ISBN 28 (International Standard Book Number), ISSN (International Standard Serial Number), SICI (Serial Item & Contribution Identifier), ...  Nguồn (Resource): Các thông tin về xuất xứ của tài liệu, tham chiếu đến nguồn mà tài liệu hiện mô tả được trích ra/tạo ra, nguồn cũng có thể là: đường dẫn (URL), URN, ISBN, ISSN...  Ngôn ngữ (Language): Các thông tin về ngôn ngữ, mô tả ngôn ngữ chính của tài liệu  Liên kết (Relation): Mô tả các thông tin liên quan đến tài liệu khác. có thể dùng đường dẫn (URL), URN, ISBN, ISSN...  Diện bao quát (Coverage): Các thông tin liên quan đến phạm vi, quy mô hoặc mức độ bao quát của tài liệu. Phạm vi đó có thể là địa điểm, không gian hoặc thời gian, tọa độ...  Bản quyền (Right): Các thông tin liên quan đến bản quyền của tài liệu  Các yếu tố mở rộng: Thực tế sử dụng Dublin Core cho thấy mỗi yếu tố cơ bản còn gộp chứa trong nó một vài thành tố phụ nhằm diễn đạt chi tiết hơn nội dung chính yếu tố đó. Các thành tố phụ được coi là các yếu tố mở rộng và được thể hiện thông qua những khung mã hóa cụ thể. Ví dụ, khi thể hiện nội dung của một tài liệu, người ta cung cấp một vài cách tiếp cận khác nhau như qua ký hiệu phân loại, tiêu đề đề mục, từ khoá, … Cú pháp chung nhất cho Dublin Core như sau: content= “giá trị trường”> Tương tự như đối với các tài liệu truyền thống, mỗi tài liệu số cần có một biểu ghi thư mục mô tả làm cơ sở cho việc tìm kiếm và quản lý tài liệu đó. Đối với các hệ thống thư viện số giản đơn biểu ghi thư mục chứa thông tin liên kết trực tiếp tới địa chỉ tệp tin tài liệu số, người đọc đến thư viện, tìm một biểu ghi thư mục và đưa cho thủ thư để lấy ra tài liệu cần tham khảo. Trong hệ thống thư viện số, các biểu ghi thư mục siêu dữ liệu được dùng để trình bày về các siêu dữ liệu tài liệu. Các biểu ghi thư mục cũng được biểu diễn dưới dạng RDF. 29 Hình 2.2. Biểu diễn cấu trúc tài liệu dưới dạng RDF Các bản thể luận cũng đóng vai trò quan trong trọng các thư viện số ngữ nghĩa. Bản thể luận không chỉ làm cho tri thức có thể sử dụng lại dễ dàng hơn, nó còn là nền tảng của việc tạo ra các chuẩn bởi vì nó làm rõ các khái niệm bên cạnh một thuật ngữ hoặc một mô hình. Việc tìm kiếm các tài liệu trong thư viện số ngữ nghĩa là tìm kiếm các tài liệu có ý nghĩa tương tự nhau chứ không chỉ là những từ ngữ tương tự nhau. Cho ví dụ, với một biểu ghi thư mục siêu dữ liệu sau: Nhan đề Lập trình Java cho các thiết bị di động Tác giả Nguyễn Văn Anh Chủ đề Ngôn ngữ Java Tóm tắt Hướng dẫn viết các ứng dụng cho các thiết bị di động sử dụng ngôn ngữ lập trình Java Nhà xuất bản Đại học Quốc Gia Hà Nội Tác giả phụ ... Với câu truy vấn sau: 30 “Nhà xuất bản=Đại học Quốc Gia Hà nội” AND “Tác giả=Nguyễn Văn Anh” AND “Chủ đề=Ngôn ngữ lập trình hướng đối tượng” Nếu được truy vấn trong các hệ thống tìm kiếm theo từ khóa thì sẽ không thấy được tài liệu [Học các ngôn ngữ lập trình hiện đại qua các dự án]. Ngược lại nếu ta có tri thức “Java là ngôn ngữ Lập trình hướng đối” được mô hình hóa trong bản thể luận (quan hệ kế thừa) thì khi truy vấn trong thư viện số ngữ nghĩa sẽ ra được chính xác tài liệu. Từ ví dụ nhỏ trên ta thấy rằng, các ứng dụng ngữ nghĩa có thuận lợi rất lớn cho người dùng không phải là chuyên gia về lĩnh vực cụ thể. Các tài liệu số chỉ chứa các siêu dữ liệu, phục vụ cho việc quản lí và tìm kiếm đơn giản. Để trả lời các câu truy vấn phức tạp từ người dùng ta cần phải làm cho máy tính hiểu và xử lí được các thông tin chứa trong các siêu dữ liệu. Cụ thể hơn, ta cần phải có biểu diễn được ngữ nghĩa trong các tài liệu. Tương tự như trong web ngữ nghĩa, các biểu ghi thư mục siêu dữ liệu bản thân nó đã chứa tri thức về tài liệu (dạng đơn giản, tiềm ẩn), nhưng nó chưa đủ để máy tính “suy luận” được, chỉ con người mới có thể suy luận được. Các siêu dữ liệu trong thư viện số mới chỉ là những nguyên liệu ban đầu để xây dựng một thư viện ngữ nghĩa, do đó ta cần phải bổ sung bản thể luận vào các biểu ghi thư mục siêu dữ liệu. Các ngôn ngữ bản thể luận trong Web ngữ nghĩa như: lược đồ RDF, Ngôn ngữ bản thể luận web (OWL) được áp dụng để xây dựng ngữ nghĩa cho các tài liệu số. Trong thư viện số ngữ nghĩa, ý nghĩa của nội dung tài liệu được thể hiện tốt hơn, và những liên kết logic được thực hiện giữa những thông tin liên quan với nhau. Tuy nhiên, việc xây dựng bản thể luận cho một lĩnh vực cụ thể là một công việc đầy khó khăn và thách thức. 2.2. Kiến trúc của thư viện số ngữ nghĩa Các đối tượng bắt buộc phải có trong một thư viện ngữ nghĩa là các siêu dữ liệu và các tài nguyên, và một hệ thống thư viện ngữ nghĩa cần phải cung cấp các dịch vụ: trao đổi dữ liệu với hệ thống khác, chú giải cho người dùng, các dịch vụ tìm kiếm. Kiến trúc của thư viện số ngữ nghĩa cần phải có các thành phần tương ứng để đảm bao cung cấp các dịch vụ trên một cách thống nhất, hình vẽ dưới đây mô tả 31 một kiến trúc cơ bản của thư viện số ngữ nghĩa (dựa trên hệ thống thư viện số Alexandria và DELOS) [9]. Hình 2.3. Kiến trúc thư viện số ngữ nghĩa Đây là một kiểu kiến trúc bao gồm ba tầng chính:  Tầng Dữ liệu trừu tượng : Cung cấp cơ chế để truy cập vào các nguồn tài nguyên.  Tầng Truy cập và thao tác dữ liệu: Hỗ trợ viện quản lí thư viện, Các dịch vụ cơ bản, Các dịch vụ truy cập thông tin, Hỗ trợ trao đổi dữ liệu.  Tầng Trình diễn dữ liệu: Cung cấp giao diện hỗ trợ người dùng. 2.3. Bản thể luận cho thư viện số ngữ nghĩa 2.3.1. Bản thể luận biểu ghi thư mục Với công nghệ web ngữ nghĩa, sự biểu diễn của các chuẩn mô tả biểu ghi thư mục như các bản thể luận là một sự lựa chọn tất yếu. Các định dạng siêu dữ liệu có thể được tăng thêm tính ngữ nghĩa khi được biểu diễn bởi các khái niệm trong bản thể luận, nó cung cấp khả năng sử dụng các khái niệm đã được định nghĩa và có thể suy diễn dữ liệu tiềm ẩn từ các mô tả thư mục. Thông thường một thư viện số các sử dụng các chuẩn siêu dữ liệu để tổ chức các biểu ghi thư mục. Một trong những định dạng biểu ghi thư mục phổ biến là 32 MART21, BibTeX và Dublin Core..., tuy nhiên các chuẩn này được định nghĩa cho quá trình sử dụng của con người, chỉ có con người mới hiểu được, không định nghĩa ngữ nghĩa của các siêu dữ liệu để máy tính hiểu được. Ví dụ Một bản thể luận biểu ghi thư mục của BiBTeX được biểu diễn như hình dưới đây: Hình 2.4. Bản thể luận BibTeX Việc chuyển đổi từ biểu ghi thư mục sang Bản thể luận bao gồm ba bước chính [8]. - Bước 1: Chuyển các biểu ghi thư mục truyền thống (MART21, Dublin Core, BibTeX) sang các tệp tin XML. - Bước 2: Chuyển các tệp tin XML từ bước 1 sang các bộ ba RDF. Các bộ ba RDF chưa có các thông tin ngữ nghĩa, chúng đơn thuần chỉ biểu diễn các trường và các giá trị của đối tượng. Ví dụ: Ta có một bản ghi BibTeX như sau: @Article{LeA:vnucs_1_1:editorial, author = “Lê A”, title =”{Cơ sở dữ liệu động và ứng dụng}”, journal =”Tạp chí khoa học máy tính – Đại học Quốc Gia”, year = ”2011”, 33 volumn =”1”, number =”1”, pages =”6”, months = Tháng 1, note =”path| editorial|”} Được viết dưới dạng RDF như sau: Lê A Cơ sở dữ liệu động và ứng dụng Tạp chí khoa học máy tính – Đại học Quốc Gia 2011 1 1 6 January \path|| Bước 3: Chuyển các bộ ba RDF sang dạng Bản thể luận. Bước này thực hiện tương đối phức tạp, yêu cầu cần phải định nghĩa ra các nguyên tắc cụ thể để chuyển đổi. 2.3.2. Bản thể luận cho cấu trúc nội dung Các thư viện số hiện đại không chỉ lưu trữ các siêu dữ liệu thư mục, nó còn có dữ liệu dạng điện tử biểu diễn nội dung của tài liệu. Phụ thuộc vào kiểu của tài liệu mà cấu trúc bên trong của mỗi tài liệu có thể được mô tả bởi các siêu dữ liệu. Cho ví dụ, một quyển sách điển tử chứa trong thư viện, nội dung được chia thành nhiều 34 chương, mỗi chương có thể được biểu diễn bởi một tệp tin siêu dữ liệu, và tệp tin khác mô tả mối quan hệ của từng chương (hình 2.2). Bởi việc bao hàm khái niệm cấu trúc nội dung trong Bản thể luận và mô tả các khái niệm này trong các siêu dữ liệu, chúng ta có thể cung cấp một khung nhìn tổng thể cho việc truy tìm các siêu dữ liệu và nội dung tài liệu. 2.3.3. Cơ bản về sự phân loại Trong việc xác định ngữ nghĩa cho các tài liệu, cần phải xác định tài nguyên đó thuộc lớp nào, có những tính chất phân biệt gì. Do đó cần có cơ chế để máy tính có thể phân loại được các tài nguyên. Vấn đề này liên quan đến lĩnh vực gọi là Taxonomy (một ngành khoa học về nguyên lí phân loại). Có hai phương pháp phân loại chính là hình thức và không hình thức. Cách phân loại không hình thức đòi hỏi không cần độ chính xác cao, chỉ mang tính chất tương đối, chẳng hạn, nói C++ là một ngôn ngữ lập trình hay là một ngôn ngữ lập trình hướng đối tượng cũng không ảnh hưởng gì. Phương pháp phân loại hình thức có hai dạng đó là: Phân loại phân cấp và Phân loại phân nhóm. i. Phân loại phân cấp Phân loại phân cấp sử dụng một số cấu trúc phân cấp như danh sách phân cấp hoặc cây phân cấp. Trong đó, danh sách phân cấp là cách đơn giản nhất và tự nhiên nhất, một danh sách phân cấp thường được bắt đầu với các thực thể lớn và sau đó dẫn ra các thực thể nhỏ hơn. Ví dụ về một danh sách phân cấp Khoa học tự nhiên Toán học Vật Lý Hóa học Khoa học xã hội và nhân văn Văn học Lịch sử Địa lý 35 Danh sách phân cấp không thể hiện được một số ràng buộc về ngữ nghĩa khi phân loại sự vật hiện tượng. Để tăng thêm sự ràng buộc và khắc phục hạn chế trên của danh sách phân cấp, người ta sử dụng một cấu trúc phân cấp khác được gọi là cây phân cấp. Trong cấu trúc này, một phân tử chỉ có thể là một dạng của một phần tử cấp cao hơn có đường nối đến nó. Hình 2.5. Một dạng cây phân cấp Tuy nhiên, cây phân cấp và danh sách phân cấp cũng không thể hiện được các quan hệ phức tạp thường thấy trong phân loại. Ví dụ tài liệu “Các phương pháp Toán Lí” có thể vừa thuộc lớp Toán học, vừa thuộc lớp “Vật Lý”. Điều này dẫn đến sự ra đời của một cấu trúc phân loại phức tạp hơn là Bản thể luận Cys, nó tương tự cây phân cấp nhưng mỗi node có thể có nhiều cha (tương ứng việc một tài liệu có thể được phân loại vào nhiều nhón khác nhau). Hình 2.6. Một Bản thể luận Cys ii. Phân loại phân nhóm 36 Phân loại phân nhóm là phân loại các thực thể thành các mục khác nhau (biên mục). Tùy theo ngữ cảnh cụ thể mà mỗi phân mục này có thể được gọi là: kiểu, loại, hạng,... hay lớp mà mỗi tài liệu thuộc về. Ví dụ, các tài liệu có thể được chia thành các kiểu: Sách, Tạp chí, Bài báo, Luận Văn, Báo cáo,.... Có hai dạng là phân loại theo cách liệt kê và định nghĩa:  Liệt kê: Là tiến hành liệt kê mỗi phần tử cụ thể vào từng phân mục mà nó thuộc về. Ví dụ Ngôn ngữ lập trình: {Java, C/C++, php,...}; Hệ quản trị cơ sở dữ liệu {MySQL, SQL Server, Oracle,.. }.  Định nghĩa: Được thực hiện bằng cách chỉ ra các tính chất của mỗi nhóm, sau đó, có thể xác định mỗi phần tử đó thỏa mãn các tính chất chung của phân nhóm đó không. Cách phân loại này mang tính chất chọn lọc, loại bỏ các phần tử không thỏa mãn tính chất ra khỏi phân nhóm. 2.3.4. Xây dựng Bản thể luận Có nhiều phương pháp khác nhau để xây dựng một Bản thể luận, nhưng nhìn chung các phương pháp đều thực hiệ n hai bước cơ bản là: xây dựng cấu trúc lớ p phân cấp và định nghĩa các thuộc tính cho lớp. Trong thực tế, việc phát triển một Bản thể luận để mô tả lĩnh vực cần quan tâm là một công việc không đơn giản, phụ thuộc rất nhiều vào công cụ sử dụng, tính chất, quy mô, sự thường xuyên biến đổi của miền cũng như các quan hệ phức tạp trong đó. Những khó khăn này đòi hỏi công việc xây dựng Bản thể luận phải là một quá trình lặp đi lặp lại, mỗi lần lặp cải thiện, tinh chế và phát triển dần sản phẩm chứ không phải là một quy trình khung với các công đoạn tách rời nhau. Công việc xây dựng Bản thể luận cũng cần phải tính đến khả năng mở rộng lĩnh vực quan tâm trong tương lai, khả năng kế thừa các hệ thống Bản thể luận có sẵn, cũng như tính linh động để Bản thể luận có khả năng mô tả tốt nhất các quan hệ phức tạp trong thế giới thực. Một số nguyên tắc cơ bản trong xây dựng Bản thể luận thông qua các bước sau:  Xác định miền quan tâm và phạm vi của Bản thể luận  Xem xét việc kế thừa các Bản thể luận có sẵn.  Liệt kê các thuật ngữ quan trọng trong Bản thể luận  Xây dựng các lớp và cấu trúc lớp phân cấp 37  Định nghĩa các thuộc tính và quan hệ cho lớp  Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp  Tạo các thực thể cho lớp Trong thư viện số ngữ nghĩa Bản thể luận có thể bao gồm các khối sau:  Khối các khái niệm mô tả tri thức về lĩnh vực dưới dạng các chủ đề và phân nhóm, phân cấp của chúng. Với mỗi nhóm chủ đề, có thể có các thuộc tính mô tả kèm theo.  Khối các lớp mô tả nhóm các loại tài nguyên được chia sẻ trong hệ thống. Với mỗi nhóm tài nguyên, các biểu ghi thư mục được lựa chọn sử dụng để mô tả.  Khối các nhóm đối tượng người sử dụng của hệ thống. 2.4. Thư viện số ngữ nghĩa và mạng xã hội Với sự phát triển mạnh mẽ của công nghệ Web người dùng không chỉ tiếp nhận thông tin một cách thụ động một chiều, mà còn là nhân tố trực tiếp tham gia vào quá trình đóng góp tri thức cho cộng động. Mạng xã hội (hay mạng xã hội ảo) là một trong những dịch vụ kết nối các thành viên với nhau để chia sẻ thông tin với nhiều mục đích khác nhau mà không phân biệt không gian và thời gian. Trong mạng xã hội, mọi thành viên đều có thể đưa ra ý kiến của mình về một vấn đề, và chia sẻ các thông tin cho các thành viên khác. Với các thư viện truyền thống, không có khả năng cung cấp các dịch vụ khác ngoài việc cung cấp cho người dùng tài liệu mình cần. Việc tích hợp mạng xã hội vào các thư viện số làm cho người dùng có nhiều thông tin hơn khí chọn lựa cho mình một tài liệu thỏa mãn mà không mất thời gian, đồng thời cũng có thể chia sẻ cho cộng đồng các thông tin hữu ích về các tài nguyên, nhằm thúc đẩy sự liên kết và phát triển của tổ chức. Chẳng hạn người dùng có thể bình luận, đánh giá về một tài nguyên để người khác tham khảo trong việc chọn tài liệu, hoặc có thể chia sẻ một tài liệu hay cho những người bạn của mình. Hơn nữa, người dùng có thể đánh dấu trong tài liệu (bookmark), để bạn của mình vào xem nhằm tiết kiệm thời gian lục tìm tài liệu. Để quản lí được sự liên kết giữa các thành viên trong cộng đồng, một trong những giải pháp được đề xuất là sử dụng bản thể luận FOAF (The Friend Of A friend), nhằm biểu diễn cộng đồng người sử dụng. FOAF dựa trên lược đồ RDF nhằm mô tả hồ sơ cá nhân (trong thư viện số là tập các tài liệu, bookmark, danh 38 sách bạn bè, các thông tin cá nhân khác của người dùng), và mạng xã hội mà người đó tham gia theo cách ngữ nghĩa. Chi tiết về FOAF có thể xem tại [17]. 2.5. Tìm kiếm trong thư viện ngữ nghĩa Tìm kiếm thông tin là dịch vụ cần phải có trong bất cứ hệ thống thông tin nào, bởi vì đó là phương thức để truy cập thông tin. Chức năng tìm kiếm sẽ khai thác các thuộc tính và thể loại thông tin và các mối quan hệ giữa chúng. Sau khi người sử dụng mô tả loại tài liệu mà mình cần thông qua từ khóa hoặc các mô tả cơ bản về tài liệu, hệ thống sẽ tự động thực hiện tìm kiếm thông tin trong CSDL tài liệu và trả lại kết quả cho người dùng. Hầu hết các hệ thống thư viện đều hỗ trợ việc tìm kiếm các siêu dữ liệu (các trường trong biểu ghi thư mục). Với sự phát triển của các công nghệ tìm kiếm, kĩ thuật tìm kiếm dựa trên nội dung tài liệu đã được giới thiệu, tuy nhiên chúng thường giới hạn trong một phạm vi rất hạn chế của các định dạng tài liệu (html, txt,...). Trong phạm vi của luận văn này, chỉ đề cập đến việc tìm kiếm ngữ nghĩa trên các siêu dữ liệu. 2.5.1. Tìm kiếm dựa trên sự phân loại Cách tìm kiếm này dựa trên sự phân loại tài liệu theo phân loại Bản thể luận (đề cập 2.3.3). Bằng cách duyệt các mục, các lớp người dùng có thể không cần nhập thông tin mà vẫn có kết quả. Ví dụ người dùng muốn tìm các tài liệu trong lĩnh vực Giải tích có thể duyệt theo thứ tự sau: Lĩnh vực Khoa học Tự nhiên Toán Học Toán học Sơ Cấp Giải tích. 2.5.2. Tìm kiếm ngữ nghĩa Cách tìm kiếm phổ biến và thông dụng nhất hiện nay là cách tìm kiếm theo từ khóa, hệ thống sẽ lọc ra các tài liệu có các thông tin chính xác hoặc gần chính xác với từ khóa. Trong cách thư viện ngữ nghĩa, các từ khóa sẽ được kết hợp với các điều kiện ngữ nghĩa như: Tác giả, Ngôn ngữ, Nhà xuất bản, Thể loại,... Người dùng nhập vào câu truy vấn (bao gồm từ khóa và thông tin ngữ nghĩa), hệ thống sẽ phân tích câu truy vấn từ ngôn ngữ tự nhiên (quá trình xử lí ngôn ngữ tự nhiên), chuyển chúng sang dạng ngôn ngữ truy vấn RDF (chẳng hạn SPARQL). Hệ 39 thống sẽ dùng câu truy vấn RDF để tìm các kết quả tương ứng trong kho tài nguyên . Kết quả trả về được mô tả dưới dạng XML, giao diện hệ thông sẽ phân tích các tệp tin XML và hiển thị cho người dùng. Hình 2.7. Quá trình tìm kiếm trong thư viện số ngữ nghĩa Trong thư viện số ngữ nghĩa, tài nguyên RDF có thể được chia sẻ, vì thế khi các thư viện được liên kết với nhau, người dùng chỉ cần truy cập vào một thư viện, nếu tài liệu không có trong CSDL nội tại, hệ thống sẽ tìm trong các thư viện khác. 40 Hình 2.8. Quá trình chia sẻ dữ liệu RDF Các giao thức sử dụng trong việc chia sẻ dữ liệu có thể sử dụng các giao thức thông thường mà không cần phải cải tiến thêm như: Dienst, Z39.50, OAI-PMH, các giao thức P2P (ALVIS, OCKHAM, HyperCuP), v.v... Kết luận Trong chương này, đề cập đến một cách tiếp cận mới trong việc xây dựng hệ thống lưu trữ các tài liệu số đó là thư viện số ngữ nghĩa. Thư viện số ngữ nghĩa là sự mở rộng của thư viện số và kết hợp với công nghệ Web 2.0 và web ngữ nghĩa. Thư viện số ngữ nghĩa đã khắc phục những hạn chế của thư viện số hiện tại: quản lí các tài nguyên một cách hiệu quả hơn, khắc phục những hạn chế của các phương pháp tìm kiếm thông thường, kết hợp được với các nguồn tài nguyên khác nhau. Cũng giống như web ngữ nghĩa, Bản thể luận đóng vai trò không thể thiếu được trong thư viện số ngữ nghĩa. Bản thể luận làm cơ sở cho việc phân loại tri thức trong thư viện số, hỗ trợ quá trình suy diễn trong tìm kiếm ngữ nghĩa. Xây dựng bản thể luận cho các biểu ghi thư mục là bước cơ bản trong xây dựng thư viện số ngữ nghĩa. 41 Chương 3. Xây dựng thư viện số ngữ nghĩa dựa trên phần mềm JeromeDL 3.1 Giới thiệu phần mềm JeromeDL JeromeDL là một phần mềm mã nguồn mở về thư viện số ngữ nghĩa (dưới giấy phép của BSD Open Source) [16], chạy trên nền Web được viết bằng ngôn ngữ Java. JeromeDL được thiết kế nhằm đáp ứng đầy đủ các nghiệp vụ của thư viện, nó tương tác với người dùng thông qua giao diện Web, như những thư viện số khác nó cho phép người dùng tìm kiếm, duyệt tài liệu, xuất bản tài liệu lên web một cách dễ dàng và hỗ trợ nhiều loại định dạng tài liệu, mỗi tài liệu đều lưu trữ các biểu ghi thư mục phục vụ cho việc tìm kiếm theo các trường. Ngoài ra, JeromeDL áp dụng công nghệ Web ngữ nghĩa và Mạng xã hội để cải tiến các chức năng duyệt và tìm kiếm các tài nguyên trong thư viện. 42 Hình 3.1. Giao diện của JeromeDL Trong JeromeDL hỗ trợ đầy đủ các siêu dữ liệu biểu ghi thư mục thông dụng như Dublin Core, BibTeX, MARC21. Tất cả các tài liệu trog JeromeDL đều được biểu diễn dưới định dạng RDF dùng để truy vấn và trao đổi dữ liệu với các ứng dụng khác. Với mạng xã hội trong JeromeDL và các dịch vụ ngữ nghĩa, người dùng có thể đánh dấu lại (bookmarks) các tài liệu, hay các tiêu đề cần quan tâm, đồng thời mọi thành viên trong các nhóm bạn bè có thể xem bookmarks của nhau, chú giải và chia sẻ các tri thức cho cộng đồng. Ngoài ra người dùng có thể đánh giá, bình luận về nội dung của tài liệu, phản hồi lại đánh giá của người khác. 3.2. Kiến trúc và Bản thể luận trong JeromeDL 3.2.1. Kiến trúc của JeromeDL Tương tự như kiến trúc tổng quát của các thư viện số, JeromeDL cung cấp một giao diện người dùng và tầng Middleware, cùng với tầng xử lí các danh mục tài liệu và các tài nguyên. Tầng Middleware làm nhiệm vụ xử lí các truy vấn tìm kiếm, quản lí tài nguyên và hồ sơ người dùng. Nó cũng cung cấp các giao diện cho công tác quản trị, và cổng giao tiếp với các hệ thống khác. Kiến trúc của JeromeDL được mô tả như hình sau [10]: 43 Tì m k iế m tà i n gu yê n D uy ệt tà i n gu yê n H iể n th ị t ài n gu yê n Q uả n lí ng ư ờ i d ùn g Q uả n lí tà i n gu yê n Hình 3.2. Kiến trúc của JeromeDL Trong kiến trúc của JeromeDL đặc biệt nhấn mạnh vào phần ứng dụng Web ngữ nghĩa dựa trên các siêu dữ liệu. Các phần chính của JeromeDL bao gồm:  Quản lí tài nguyên: Các tài nguyên được miêu tả ngữ nghĩa theo bản thể luận Jerome (đề cập ở phần sau), cộng với một tập chỉ mục của nội dung tài nguyên và các miêu tả trong các biểu ghi thư mục MARC21 và BibTeX. Trong JeromeDL, người dùng bình thường chỉ có thể thêm tài nguyên vào CSDL thông qua giao diện Web, để thực hiện việc quản trị, JeromeDL cung cấp riêng một giao diện cho quản trị viên, cho phép quản li và thêm các siêu dữ liệu (Các biểu ghi thư mục MARC21, BibTeX, và Bản thể luận) vào cơ sở tri thức, khi một tài liệu được đưa lên, nó phải được quản tri viên phê duyệt thì mới được xuất bản cho người dùng.  Tìm kiếm và duyệt tài nguyên: thực hiên truy vấn tài nguyên theo yêu cầu của người dùng dựa trên các dữ liệu ngữ nghĩa  Quản lí hồ sơ người dùng: Quản lí người sử dụng thư viện, và mối quan hệ của người dùng với cộng đồng sử dụng thư viện. 44  Quản lí chia sẻ tài nguyên: Cung cấp một cổng giao tiếp với các hệ thống khác. Cơ sở dữ liệu của JeromeDL không chỉ được truy vấn nội bộ trong hệ thống mà nó còn cho phép các thư viện và ứng dụng khác sử dụng. 3.2.2. Bản thể luận trong JeromeDL Trong JeromeDL có 3 loại Bản thể luận, đó là Bản thể luận về các Biểu ghi thư mục, Bản thể luận về cấu trúc của các tài liệu, Bản thể luận FOAFRealm (dựa trên Bản thể luận FOAF, mô tả về mối quan hệ giữa người dùng và sự tương tác của họ với các tài nguyên). i. Bản thể luận Biểu ghi thư mục Mục đích chính của việc xây dựng các Bản thể luận Biểu ghi thư mục là để chú giải cho các tài nguyên, vì vậy không cần thiết phải mô tả đầy đủ toàn bộ nội dung của tài liệu. Hiện tại có rất nhiều định dạng cho việc xây dựng các biểu ghi thư mục (Dublin Core, BibTeX, MARC21), JeromeDL đề xuất một Bản thể luận có thể bao quát được toàn bộ các định dạng biểu ghi thư mục khác nhau, đó là MarcOnt. Với MarcOnt ta có thể dễ dàng chuyển đổi qua lại giữa các định dạng, bởi vì nó được kế thừa từ Dublin Core, BibTeX, MARC21. hasEditor Hình 3.3. Bản thể luận MarcOnt Trong JeromeDL để chuyển đổi từ các định dạng biểu ghi thư mục sang dạng ngữ nghĩa cũng bao gồm ba bước chính. Cho ví dụ, để chuyển đổi một biểu ghi thư mục MARC21 sang dạng ngữ nghĩa MartOnt gồm các bước sau: (1) Chuyển các têp 45 tin MARC21 sang định dạng XML, gọi là tệp tin MARC-XML; (2) Chuyển các tệp tin MARC21-XML về dạng RDF (tệp tin MARC-RDF); (3) Chuyển đồ thị RDF tới dạng MartOnt. Các lớp, các thuộc tính và các thể hiện cụ thể của MarcOnt được liệt kê chi tiết như dưới đây. Bảng 3. Các lớp, thuộc tính, thể hiện của Bản thể luận MarcOnt Các lớp marcont:AccessMedium, marcont:Article, marcont:Book, marcont:Booklet, marcont:Cluster, marcont:Collection, marcont:Conference, marcont:Coverage, marcont:DemoSession, marcont:Event, marcont:Faculty, marcont:Inbook, marcont:Incollection, marcont:Inproceedings, marcont:Institute, marcont:Journal, marcont:Lab, marcont:LightingTalk, marcont:Manual, marcont:Mastersthesis, marcont:Meeting, marcont:Misc, marcont:Organization, marcont:PhDthesis, marcont:PosterSession, marcont:Presentation, marcont:Proceedings, marcont:PublicationMedium, marcont:Resource, marcont:Review, marcont:ShortTalk, marcont:SocialMedium, marcont:Talk, marcont:Techreport, marcont:Tutorial, marcont:University, marcont:Unpublished, marcont:WebSite, marcont:Workshop Các thuộc tính marcont:hasAbstract, marcont:hasAddress, marcont:hasAffiliation, marcont:hasAuthor, marcont:hasBeginDate, marcont:hasContents, marcont:hasContributor, marcont:hasCoverage, marcont:hasCreator, marcont:hasDCMIType, marcont:hasDOI, marcont:hasDate, marcont:hasDescription, marcont:hasDomain, marcont:hasEdition, marcont:hasEditor, marcont:hasEndDate, marcont:hasHumanCreator, marcont:hasISBN, marcont:hasISSN, marcont:hasIdentifier, marcont:hasJournal, marcont:hasKeyword, marcont:hasMonth, marcont:hasNote, marcont:hasNumber, marcont:hasOrder, marcont:hasOrganization, marcont:hasOriginalPublicationMedium, marcont:hasPages, marcont:hasPagesFrom, marcont:hasPagesTo, marcont:hasPublisher, marcont:hasRelatedEvent, marcont:hasReview, marcont:hasReviewDate, marcont:hasReviewer, marcont:hasReviewComment, marcont:hasSchool, marcont:hasSeries, marcont:hasSource, marcont:hasSponsor, marcont:hasTitle, marcont:hasTopic, marcont:hasURL, marcont:hasVolume, marcont:hasYear, marcont:howPublished, marcont:isPartOf, marcont:isPeerOf, marcont:presentedAt, marcont:publishedIn 46 Các thể hiện marcont:IElectronic, marcont:IInternational, marcont:IInternet, marcont:ILocal, marcont:INational, marcont:IPrinted ii. Bản thể luận Cấu trúc nội dung Không chỉ xây dựng các bản thể luận cho các biểu ghi thư mục, JeromeDL cũng xây dựng bản thể luận cho cấu trúc nội dung tài liệu. Cấu trúc của nội dung tài liệu có thể được tổ chức khác nhau tùy theo vào loại tài liệu, ví dụ: một quyển sách có thể được chia thành các chương, một tài liệu video lại được chia thành các phần, các tập khác nhau. Hình 3.4. Bản thể luận cấu trúc nội dung JeromeDL cố gắng xây dựng Bản thể luận cấu trúc nội dung một cách uyển chuyển nhất sao cho khi thêm hay bớt một khái niệm không ảnh hưởng đến các dữ liệu đã tồn tại trước đo. Bản thể luận Cấu trúc nội dung cùng với biểu ghi thư mục đã cung cấp một cách nhìn tổng thể trong mô tả các tài liệu và hỗ trợ đây đủ cho việc tìm kiếm. 47 Bảng 4. Các lớp, thuộc tính, thể hiện của Bản thể luận cấu trúc nội dung Các lớp jeromedl:BinaryResource, jeromedl:Chapter, jeromedl:ComputedResource, jeromedl:Context, jeromedl:DynamicCollection, jeromedl:DynamicCollectionType, jeromedl:ImageResource, jeromedl:InformationObject, jeromedl:MediaPart, jeromedl:MediaResource, jeromedl:Page, jeromedl:Part, jeromedl:Resource, jeromedl:ResourceType, jeromedl:ResourcesAggregationService, jeromedl:SubmissionStatusType Các thuộc tính jeromedl:actsOn, jeromedl:hasAttachment, jeromedl:hasBookType, jeromedl:hasCollectionOrder, jeromedl:hasCollectionSpecification, jeromedl:hasCollectionType, jeromedl:hasContext, jeromedl:hasCopyrightsOwner, jeromedl:hasCover, jeromedl:hasCurrentVersion, jeromedl:hasDescription, jeromedl:hasFileSize, jeromedl:hasInvocationParam, jeromedl:hasMimeType, jeromedl:hasNumberOfPages, jeromedl:hasPages, jeromedl:hasPart, jeromedl:hasParts, jeromedl:hasPosition, jeromedl:hasPreviousVersion, jeromedl:hasRepresentation, jeromedl:hasSimplerRepresentation, jeromedl:hasSpecification, jeromedl:hasSubmissionStatus, jeromedl:hasUploadDate, jeromedl:hasVersionComment, jeromedl:hasVersionCreator, jeromedl:hasVersionDate, jeromedl:hasVersionNumber, jeromedl:invokesService, jeromedl:isPeerReviewed, jeromedl:isPreprintVersion, jeromedl:isScaledToFit, jeromedl:isSizeWithSubCollections, jeromedl:isUnion, jeromedl:isUploadedBy, jeromedl:isVisible, jeromedl:publishedAt iii. Bản thể luận FOAFRealm Để quản lí hồ sơ người dùng, JeromeDL sử dụng bản thể luận FOAFRealm. FOAFTRealm là sự cải tiến của FOAF với nhiều khái niệm mới cho phù hợp với mạng xã hội gắn liền với các siêu dữ liệu trong thư viện. Chi tiết về FOAFRealm có thể xem tại [15]. JeromeDL đã tận dụng lợi thế tối đa của mạng xã hội trong việc hỗ trợ người dùng. Người dùng có thể tạo ra bookmarks các tài liệu, bình luận gợi ý cho mọi người các tài liệu thuộc lĩnh vực mà họ quan tâm, và những người bạn của họ có thể tham chiếu đến. 48 Hình 3.5. Mạng xã hội trong JeromeDL 3.3. Truy vấn trong JeromeDL Thuật toán tìm kiếm trong JeromeDL bao gồm ba bước chình, được mô tả như hình 3.6. Trong mỗi bước yêu cầu các siêu dữ liệu khác nhau [7]:  Bước A: Đầu tiên là tìm kiếm qua tập chỉ mục của nội dung tài nguyên và nội dung chú giải của người  Bước B: Tìm kiếm trên các mô tả biểu ghi thư mục.  Bước C: Bước cuối cùng là tìm kiếm theo ngữ nghĩa với định hướng người dùng, bước này dựa trên mô tả ngữ nghĩa về tài nguyên và thông tin về sự phân loại 49 Hình 3.6. Các bước trong truy vấn JeromeDL Thuật toán tìm kiếm trong JeromeDL được thiết kế nhằm thỏa mãn các mục tiêu sau [7]: - Các kết quả trả về của truy vấn có thể không chứa trực tiếp các giá trị trong câu truy vấn - Các giá trị trong cấu truy vấn phải được phân giải dưới ngữ cảnh người dùng. Các mục tiêu trên có thể đặt được bởi việc tổ hợp của kĩ thuật tìm kiếm trên nội dung văn bản, tìm kiếm trên các biểu ghi thư mục, và tìm kiếm ngữ nghĩa dựa trên mô tả ngữ nghĩa của tài nguyên. Giai đoạn tìm kiếm ngữ nghĩa được chuẩn bị bởi các truy vấn RDF, ngoài ra câu truy vấn được công thêm các thông tin về sở thích của người dùng nhằm loại bỏ các kết quả không cần thiết. Một người dùng có thể chỉ ra các lĩnh vực mà người đó quan tâm trong hồ sơ của mình, các thông tin bình luận, chú giải của người dùng trên các tài nguyên của mạng lưới bạn bè cũng được sử dụng để tim kiếm. Giả mã của thuật toán tìm kiếm được mô tả chi tiết như dưới đây. procedure SEMANTIC_SEARCH(QO) : RO 50 // – fulltext search – phase A – RO.results ←FULLTEXT_QUERY(QO.fulltext); // – properties search – for each p ∈ QO.properties do begin if p.name == ”keyword” then for each v ∈ p.values do values ←GET_SIMPLE_FORM(v); end for end if RO ←FIND_RESOURCES(p); end for end procedure SEMANTIC_SEARCH procedure FIND_RESOURCES(property) : RO // – phase B – RO.results ←XMLQ(property, Type.Marc21); RO.results ←RO.results ∨ XMLQ(property, Type.BibTeX); // – phase C – RO.results ←RO.results ∨ RDFQ(property); if not SizeOf(RO.results)∈ then RO ←EXPAND_QUERY(property, RO); end if end procedure FIND_RESOURCES Ở đây QO là đối tượng truy vấn với tên các thuộc tính và giá trị của nó làm tiêu chí tìm kiếm; RO là đối tượng kết quả trả về. Thủ tục FULLTEXT_QUERY (bước A) tìm kiếm các tài nguyên dựa trên các tập chỉ mục văn bản mang nội dung 51 tài liệu. Trường hợp chỉ mục nội dung không tương thích, hệ thống sẽ tìm kiếm trong các lời bình luận, chú giải của người dùng. Ở bước C, thủ tục RDFQ thực hiện truy vấn vào kho chứa RDF. Trường hợp số bản ghi trả về (số lượng tài liệu) nằm ngoài phạm vi , thủ tục EXPAND_QUERY được gọi. Trường hợp số bản ghi nhỏ hơn giá trị MIN, hệ thống sẽ tìm kiếm dựa trên các khái niệm tương đương hoặc cao hơn, chẳng hạn với một từ khóa người dùng đưa vào sẽ tìm kiếm trong một miền các từ khóa có nghĩa tương tự nhau (ví dụ: P2P ~ Mạng chia sẻ ~ Mạng đồng đẳng). Trường hợp số bản ghi lớn hơn giá trị MAX, hệ thống sẽ loại bỏ các tài nguyên mà có các khái niệm tương đương, hoặc lấy các kết quả ở mức thấp hơn trong cây phân loại [7]. JeromeDL cũng cung cấp một cơ sở hạ tầng truyền thông cho các hệ thống khác truy nhập vào hệ thống. JeromeDL dựa trên giao thức SOAP, sử dụng Web services để xây dựng một mạng chia sẻ ngang hàng P2P cho phép JeromeDL kết nối với các dịch vụ khác. 3.4. Sử dụng JeromeDL JeromeDL chia đối tượng sử dụng thành bốn loại khác nhau: - Người dùng không đăng kí: Đối tượng loại này không có hồ sơ trong CSDL của hệ thống. Họ có thể duyệt và tìm kiếm tài liệu, nhưng không thể sử dụng các chức năng như tạo bookmarks. - Người dùng đã đăng kí (thành viên): Đối tượng này có một tài khoản trong CSDL và được quản lí trong bản thể luận FOAFRealm. - Các nhóm người dùng: Là tập hợp các thành viên trong một nhóm liên kết nào đó. Các thành viên trong nhóm này có thể xuất bản các tài liệu lên thư viện. - Quản trị hệ thống: Đây là các thành viên có quyền lực cao nhất trong hệ thống. Họ có sử dụng tất cả các chức năng trong hệ thống, chẳng hạn phê duyệt các tài liệu, đánh lại chỉ mục, làm mới CSDL, cấu hình mạng, v.v... Hệ thống JeromeDL cung cấp cho người dùng các kiểu tìm kiếm sau: - Tìm kiếm đơn giản dựa trên từ khóa - Tìm kiếm nâng cao dựa trên các biểu ghi thư mục 52 - Tìm kiếm ngữ nghĩa: người dùng có thể cung cấp trực tiếp câu truy vấn RDF hoặc sử dụng các mẫu truy vấn có sẵn, chẳng hạn: “Show me all resources written by a friends of mine” (Liệt kê tất cả các tài liệu được viết bởi bạn tôi) Hình 3.7. Giao diện chức năng tìm kiếm ngữ nghĩa Sau khi tìm kiếm kết quả, có thể hiển thị tài liệu bởi việc chọn một kết quả từ danh sách trả về, sau đó có thể đánh giá, tạo bookmarks. Để xuất bản tài liệu, người dùng chọn tài liệu cần xuất bản và cung cấp các thông tin (các siêu dữ liệu) mà JeromeDL đề xuất. 53 Hình 3.8. Giao diện chức năng xuất bản tài liệu Kết luận Trong chương này đã giới thiệu về hệ thống thư viện số ngữ nghĩa JeromeDL. Đây là một hệ thống phần mềm mã nguồn mở cung cấp khá đầy đủ các chức năng của một thư viện số ngữ nghĩa. JeromeDL xây dựng ba loại bản thể luận: Bản thể luận về các biểu ghi thư mục MarcOnt, Bản thể luận về cấu trúc nội dung tài liệu, Bản thể luận FOAFRealm quản lí các thành viên trong mạng xã hội. Dựa trên các bản thể luận này, cho phép xây dựng nên một công cụ tìm kiếm ngữ nghĩa (bao gồm cả tìm kiếm theo từ khóa dựa trên chỉ mục). 54 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Web ngữ nghĩa ra đời đã đánh dấu một bước phát triển mới trong công nghệ Web, nó tạo ra một cách thức mới trong việc tiếp cận thông tin. Tuy nhiên việc ứng dụng Web ngữ nghĩa vào cách lĩnh vực cụ thể vẫn đang còn nhiều thách thức, và cần sự hỗ trợ của những lĩnh vực chuyên ngành khác nhau. Luận văn này đã trình bày về một ứng dụng điển hình và cụ thể nhất của Web ngữ nghĩa đó là thư viện số ngữ nghĩa. Tuy chưa bao hàm được hết các vấn đề, song từ những kết quả đặt được có thể rút ra một số kết luận:  Web ngữ nghĩa cung cấp một cơ chế cho phép máy tính “hiểu” và xử lí được các thông tin.  Thư viện số ngữ nghĩa là sự kết hợp của công nghệ Web ngữ nghĩa và Web 2.0. Bằng cách tích hợp ngữ nghĩa vào các thư viện số làm cho thư viện số ngữ nghĩa có nhiều ưu điểm nổi trội so với các thư viện khác, nó hỗ trợ cơ chế tìm kiếm ngữ nghĩa và chia sẻ các tài nguyên với các hệ thống khác một cách thuận lợi.  Các biểu ghi thư mục là một trong những siêu dữ liệu quan trọng, việc xây dựng Bản thể luận cho các biểu ghi thư mục là vấn đề then chốt trong việc xây dựng thư viện số ngữ nghĩa.  Mạng xã hội với nhưng ưu thế của nó, khi tích hợp vào các thư viện số làm cho thư viện không chỉ đơn thuần là nơi cung cấp thông tin một chiều mà là nơi tạo ra các nhóm liên kết, cùng nhau chia sẻ và tạo ra tri thức, thúc đẩy sự phát triển của tổ chức. Trong luận văn này mới chỉ dừng lại ở mức bao quát về một ứng dụng thư viện số ngữ nghĩa, kế thừa từ mô hình thư viện số ngữ nghĩa đã đề cập, có thể chỉ ra một số vấn đề còn tồn đọng cần được phát triển: - Xây dựng các bản thể luận mạnh hơn trong việc biểu diễn ngữ nghĩa của các tài liệu, chẳng hạn bản thể luận về nội dung tài liệu. Tăng cường khả năng suy luận ngữ nghĩa 55 - Áp dụng kĩ thuật xử lí ngôn ngữ tự nhiên trong việc phân tích câu truy vấn một cách đầy đủ. - Xây dựng mạng xã hội ảo có sự tương tác cao, phát huy được sức mạnh của từng cá nhân trong việc chia sẻ tri thức cho cộng đồng thông qua thư viện. 56 TÀI LIỆU THAM KHẢO Tiếng Việt 1. Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú (2009). “Giáo trình khai phá dữ liệu Web”. Nhà xuất bản Giáo dục Việt Nam. 2. Nguyễn Thị Mỹ Trang, Hoàng Hữu Hạnh (2009). “Xây dựng Ontology cho thư viện số”. Tạp chí Khoa học, Đại học Huế, Số 53. Tiếng Anh 3. H. Peter Alesso, Craig F. Smith (2006). “Thinking on the Web: Berners-Lee, Godel and Turing”. John Wiley & Sons, Inc. 4. Thomas B. Passin (2004). “Explorer’s Guide to the Semantic Web”. Manning Publications Co. 5. Grigoris Antoniou, Frank van Harmelen (2008). “A Semantic Web Primer”. Massachusetts Institute of Technology. 6. Sebastian Ryszard Kruk, Bill McDaniel (2009). “Semantic Digital Libraries”. Springer. 7. Sebastian Ryszard Kruk (2005). “JeromeDL – A Digital Library on the Semantic Web”. Digital Enterprise Research Institute 8. Sebastian Ryszard Kruk, Bernhard Haslhofer, Piotr Piotrowski, Adam Westerski, Tomasz Woroniecki (2006). “Role of Ontologies in Semantic Digital Libraries”. NKOS Workshop. 9. Sebastian R. Kruk, Stefan Decker, Bernhard Haslhofer, Predrag Kneževic, Sandy Payette, Dean Krafft (2007). “Tutorial – Semantic Digital Libraries”. DERI NUI Galway, University of Vienna, Fraunhofer IPSI, Cornell University. 10. Sebastian Ryszard Kruk, Stefan Decker, Lech Zieborak (2005). “JeromeDL - Adding Semantic Web Technologies to Digital Libraries ”. Digital Enterprise Research Institute , NUI Galway, Ireland. 57 11. Sebastian Ryszard Kruk, Tomasz Woroniecki, Adam Gzella, Maciej Dąbrowski (2005). “JeromeDL – a Semantic Digital Library”. Digital Enterprise Research Institute , NUI Galway, Ireland. 12. Sebastian Ryszard Kruk, Mariusz Cygan, Ewelina Kruk, Sławomir, Grzonkowski, Tomasz Woroniecki (2007). “JeromeDL 2.0.1 User Guide ”. Digital Enterprise Research Institute , NUI Galway, Ireland. Internet 13. 14. 15. 16. 17.

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- ỨNG DỤNG WEB NGỮ NGHĨA TRONG LƯU TRỮ VÀ QUẢN LÍ CÁC TÀI LIỆU SỐ.pdf