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ố

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.

pdf68 trang | Chia sẻ: lylyngoc | Lượt xem: 2707 | Lượt tải: 1download
Bạn đang xem trước 20 trang 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ố, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
edicate 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