Kiến trúc của thƣ viện số ngƣ̃ nghĩa

Một phần của tài liệu Ứng dụng Web ngữ nghĩa trong lưu trữ và quản lí các tài liệu số (Trang 39)

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 di ̣ch vu ̣ 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].

Ngu n t i nguyên c ch v ơ n c ch v truy c p d thông tin c ch v chia s d li u c ch v qu n T ng d li u tr u t ng T ng tr nh di n d li u T ng truy nh p v thao t c d li u t tri n Yêu c u ch v T c t Ng i ng Thi t k t v n u n tr t v n

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ư mu ̣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ƣ̉ du ̣ng các khái niê ̣m đã đƣợc đi ̣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ƣ̉ du ̣ng các chuẩn siêu dƣ̃ liê ̣u để tổ chƣ́c các biểu ghi thƣ mục . Mô ̣t tr ong nhƣ̃ng đi ̣nh da ̣ng biểu ghi thƣ mu ̣ c phổ biến là

32

MART21, BibTeX và Dublin Core..., tuy nhiên các chuẩn này đƣơ ̣c đi ̣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 đi ̣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ƣ mu ̣c của BiBTeX đƣợc biểu diễn nhƣ hình dƣới đây: PublicationList Publication Book entry Article rdfs:subClassOf String String rdfs:subClassOf author title

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ƣ mu ̣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 Quo ́c Gia”, year = ”2011”,

33

number =”1”, pages =”6”, months = Tháng 1,

note =”path|http://www.vnu.vn/vnucs_1_1/ editorial|”}

Đƣợc viết dƣới da ̣ng RDF nhƣ sau:

<rdf:Description rdf:about="Ma LeA:vnucs_1_1:editorial"> <rdf:type rdf:resource="http://vnu.edu/bibtex#Article"/> <bibtex:author>Lê A</bibtex:author>

<bibtex:title> Cơ sở dƣ̃ liệu động và ƣ́ng dụng </bibtex:title> <bibtex:journal> Tạp chí khoa học máy tính – Đại học Quo ́c Gia </bibtex:journal> <bibtex:year>2011</bibtex:year> <bibtex:volume>1</bibtex:volume> <bibtex:number>1</bibtex:number> <bibtex:pages>6</bibtex:pages> <bibtex:month>January</bibtex:month> <bibtex:note>\path|http://www.vnu.vn/vnucs_1_1/editorial| </bibtex:note> </rdf:Description>

Bƣớc 3: Chuyển các bô ̣ ba RDF sang da ̣ng Bản thể luâ ̣n . Bƣớc này thƣ̣c hiê ̣n tƣơng đối phƣ́c ta ̣p, yêu cầu cần phải đi ̣nh nghĩa ra các nguyên tắc cu ̣ thể đ ể chuyển đổi.

2.3.2. Bản thể luận cho cấu trúc nội dung (adsbygoogle = window.adsbygoogle || []).push({});

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 da ̣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 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).

34

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 loa ̣i

Trong viê ̣c xác đi ̣nh ngƣ̃ nghĩa cho các tài liê ̣u , cần phải xác đi ̣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 go ̣i là Taxonomy (một ngành khoa ho ̣c về nguyên lí phân loa ̣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 loa ̣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 ha ̣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ƣợn g cũng không ảnh hƣởng gì . Phƣơng pháp phân loa ̣i hình thƣ́c có hai dạng đó là: Phân loa ̣i phân cấp và Phân loa ̣i phân nhóm.

i. Phân loa ̣i phân cấp

Phân loa ̣i phân cấp sƣ̉ du ̣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 ho ̣c Lịch sử Đi ̣a lý

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 loa ̣i sƣ̣ vâ ̣t hiê ̣n tƣơ ̣ng . Để tăng thêm sƣ̣ ràng buô ̣c và khắc phu ̣c ha ̣n chế trên của danh sách phân cấp , ngƣời ta sƣ̉ du ̣ng mô ̣t cấu trúc phân cấp khác đƣợc go ̣i là

35

cây phân cấp. Trong cấu trúc này, mô ̣t phân tƣ̉ chỉ có thể là mô ̣t da ̣ng của mô ̣t phần tƣ̉ cấp cao hơn có đƣờng nối đến nó.

a c

H u ơ ô ơ

m OH m CHO m Alkan Kim o i Phi kim

ch th ng ch v ng

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 ta ̣p thƣờng thấy trong phân loa ̣i . Ví dụ tài liệu ―Các p hƣơ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 loa ̣i phƣ́c ta ̣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 loa ̣i vào nhiều nhón khác nhau).

KHTN

To n c V t

i s nh c To n Quang c Nhi t c

Hình 2.6. Một Bản thể luận Cys

ii. Phân loa ̣i phân nhóm

Phân loa ̣i phân nhóm là phân loa ̣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

36

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à đi ̣nh nghĩa: (adsbygoogle = window.adsbygoogle || []).push({});

 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 tri ̣ cơ sở dƣ̃ liê ̣u {MySQL, SQL Server, Oracle,.. }.

 Đi ̣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 tro ̣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

 Đi ̣nh nghĩa các thuô ̣c tính và quan hê ̣ cho lớp

 Đi ̣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

37

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ƣ mu ̣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ƣ̃ nghi ̃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 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].

38

2.5. Tìm kiếm trong thƣ viê ̣n ngƣ̃ nghi ̃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ƣ mu ̣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 ha ̣n tr ong mô ̣t pha ̣m vi rất ha ̣n chế của các đi ̣nh da ̣ng tài liê ̣u (html, txt,...). Trong pha ̣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 loa ̣i tài liê ̣u theo phân loa ̣i Bản thể luâ ̣n (đề cập 2.3.3). Bằng cách duyê ̣t các mu ̣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 ho ̣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ẽ lo ̣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ể loa ̣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ệ 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 da ̣ng XML, giao diê ̣n hê ̣ thông sẽ phân tích các tê ̣p tin XML và hiển thi ̣ cho ngƣời dùng.

39 Nh p truy v n Câu truy v n d i ng ngôn ng truy v n RDF X truy v n Hi n t k t qu T i nguyên d i ng XML n th lu n c siêu d li u ơ s d li u (adsbygoogle = window.adsbygoogle || []).push({});

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 ta ̣i, hê ̣ thống sẽ tìm trong các thƣ viê ̣n khác.

`

GET [Vocaburary URI] Accept: application/rdf+xml

303 See Other Location [RDF ContentLocation]

200 OK RDF GET [Vocaburary URI]

Accept: application/rdf+xml

Server

Server Client

40

Các giao thƣ́c sƣ̉ du ̣ng trong viê ̣c chia sẻ dƣ̃ liê ̣u có thể sƣ̉ du ̣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ệ

Một phần của tài liệu Ứng dụng Web ngữ nghĩa trong lưu trữ và quản lí các tài liệu số (Trang 39)