Quá trình chia sẻ dữ liệu RDF

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ứng dụng Web ngữ nghĩa trong lưu trữ và quản lí các tài liệu số (Trang 48)

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ệ 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 phu ̣c nhƣ̃ng ha ̣n chế của thƣ viê ̣n số hiê ̣n ta ̣i : quản lí các tài nguyên một cách hiệu quả hơn , khắc phu ̣c nhƣ̃ng ha ̣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ƣ mu ̣c là bƣớc cơ bản trong xây dƣ̣ng thƣ viê ̣n số ngƣ̃ nghĩa.

Chƣơng 3. Xây dƣ̣ng thƣ viê ̣n số ngƣ̃ nghi ̃a dƣ̣a trên phần mềm JeromeDL 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.

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]:

u u tr t v t k T k t u yê D uy t t u yê t t u yê u u t u yê An Ninh t u u t t u X t u u trú u Tài nguyên D u RDF T p ỉ

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.

 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.

Person Book Keyword Topic Literal h a sE d ito r h a s C re a to r h a s P u b lis h e r hasKeyword synonym hasDomain broader narrower le g a c y P ro p e rti e s

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ƣ

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

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.

MediaPart File Book Chapter Person Literal Physical file smallerContent uploader isAfter content hasMediaPart abstract hasChapter cover filesrc page href attactment uploadDate

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.

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.

creator_A

creator_B user_D user_C

Resource xfoaf:Directory xfoaf:Annotation foaf:knows Marcont:hasCreator foaf:knows foaf:knows xfoaf:owns xfoaf:isln xfoaf:linksTo

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

Extrapolated user's profile fulltext index B A C QUERY RESULTS BibTeX MARC21 JeromeDL ontology user’ annotations book contents user’s profiles user’s interaction other user’s profiles other user’s profiles other user’s profiles

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.

// – 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)∈<Const.MIN, Const.MAX> 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 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 <MIN, MAX>, 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

- 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.

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

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ố

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ứng dụng Web ngữ nghĩa trong lưu trữ và quản lí các tài liệu số (Trang 48)