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 Ơ...
68 trang |
Chia sẻ: haohao | Lượt xem: 1195 | Lượt tải: 0
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:
- 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Ố.pdf