Chúng tôi đã bước đầu xây dựng SemLib Ontology, một Ontology cho thư viện số, cung cấp một khung nhìn duy nhất về tên của các đối tượng trong thư viện số hỗ trợ tìm kiếm hiệu quả trên mộ
Trang 1MỤC LỤC
Trang 2MỞ ĐẦU
Với nhiều tỷ trang Web phân bố trên hầu hết các quốc gia, World Wide Web (WWW) là môi trường tốt cho việc biểu diễn và truy cập thông tin dạng số Tuy nhiên, lượng thông tin khổng lồ đó cũng tạo ra những khó khăn lớn trong việc tìm kiếm, chia
sẻ thông tin trên WWW Hiện nay, thông tin trên WWW được biểu diễn chủ yếu dưới dạng ngôn ngữ tự nhiên (các trang Web trên ngôn ngữ HTML) Cách biểu diễn
đó phù hợp với con người nhưng lại gây ra nhiều khó khăn cho các chương trình làm nhiệm vụ hỗ trợ tìm kiếm, chia sẻ và trao đổi tin Chương trình máy tính không
“hiểu” được thông tin và dữ liệu biểu diễn dưới dạng thích hợp với con người
Để giải quyết vấn đề này, nhiều tổ chức nghiên cứu và kinh doanh đã phối hợp
nghiên cứu và phát triển Web có ngữ nghĩa (Semantic Web) Theo định nghĩa của
Ontology được xem như là “linh hồn” của WebNN Ontology giúp con người và máy có thể hợp tác, cùng nhau làm việc, giúp máy có thể “hiểu” và có khả năng xử lý thông tin hiệu quả Các Ontology được phát triển trong lĩnh vực trí tuệ nhân tạo để việc
sử dụng lại và chia sẻ tri thức được thuận tiện hơn Vào cuối thập kỷ 20 và đầu thập kỷ
21, các ontology đã trở thành một lĩnh vực nghiên cứu quan trọng trong Khoa học máy tính
Trong đề tài này, Tôi trình bày tổng quan về Web Ngữ nghĩa và ứng dụng công nghệ Web Ngữ nghĩa vào thư viện số để nâng cao khả năng truy hồi, tìm kiếm thông tin Chúng tôi đã bước đầu xây dựng SemLib Ontology, một Ontology cho thư viện số, cung cấp một khung nhìn duy nhất về tên của các đối tượng trong thư viện số hỗ trợ tìm kiếm hiệu quả trên một kho dữ liệu lớn và phân tán, đơn giản hóa hoạt động liên thông thư viện
Trang 3I TỔNG QUAN VỀ WEB NGỮ NGHĨA.
Web ngữ nghĩa là thế hệ Web mới, đang được phát triển và sẽ xuất hiện trong tương lai gần Hệ thống Web mới này sẽ dần thay thế Web hiện tại song không có nghĩa là hoàn toàn khác hệ thống Web hiện tại Web ngữ nghĩa được phát triển trên hệ thống Web hiện tại bằng cách bổ sung thêm ngữ nghĩa cho các tài nguyên Web mà máy tính có thể hiểu và tăng khả năng xử lý tự động
1 Ngôn ngữ cho Web có ngữ nghĩa
Cơ chế cho phép chia sẻ và trao đổi ngữ nghĩa của thông tin được biết đến và
sử dụng lâu nhất là ontology Ontology là bản mô tả một cách tường minh các khái
niệm trong một miền ứng dụng nào đó cùng với quan hệ giữa những khái niệm này Ontology cung cấp từ vựng chung cho việc trao đổi thông tin giữa các ứng dụng và dịch vụ Web Bản thân phần ngữ nghĩa của Web có ngữ nghĩa bao gồm ontology và giá trị cụ thể của khái niệm định nghĩa trong ontology Để biểu diễn ontology và dữ liệu cần có ngôn ngữ thích hợp
Ngôn ngữ Ontology (Ontology languages)là ngôn ngữ hình thức được sử dụng để xây dựng Ontology Nó cho phép việc mã hóa tri thức trong một lĩnh vực cụ thể và thường bao gồm các quy tắc suy luận cung cấp cho việc xử lý các yêu cầu dựa trên tri thức đó Ngôn ngữ Ontology thường là ngôn ngữ khai báo, và hầu hết là những sự tổng hợp của ngôn ngữ cấu trúc, và thường được xây dựng dựa trên Logic thủ tục (First-Order Logic)hoặc dựa trên Logic mô tả (Description Logic) Có rất nhiều ngôn ngữ Ontology
đã được thiết kế và đưa ra tuân theo sự tiêu chuẩn hóa, ta sẽ tìm hiểu một số ngôn ngữ Ontology thông dụng nhất trong ngữ cảnh của Web ngữ nghĩa và biểu diễn tri thức hiện nay
1.1 RDF (Resource Description Framework):
1.1.1 Tổng quan RDF:
RDF là nền tảng cho việc biểu diễn dữ liệu trong lĩnh vực Web ngữ nghĩa Thông tin biểu diễn theo mô hình RDF là một phát biểu (statement)ở dạng cấu trúc bộ ba gồm
ba thành phần cơ bản là: subject, predicate, object Trong đó:
-Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu Object có thể là một giá trị nguyên thủy như số nguyên, chuỗi hoặc cũng có thể là một tài nguyên
Có thể liệt kê một số ưu điểm của việc lưu trữ dữ liệu RDF so với dữ liệu truyền thống là:
-Cấu trúc bộ ba giúp cho thông tin dễ truy xuất bởi các hệ thống suy luận, tìm
Trang 4kiếm ngữ nghĩa Cũng nhờ vậy mà những bộ xử lí RDF có thể suy luận ra những thông tin mới không có trong hệ dữ liệu.
1.1.2 Chia sẻ dữ liệu RDF:
Mô hình RDF thể hiện được nhiều ưu điểm trong việc biễu diễn thông tin Chính vì vậy cần phải có một cách thức chung để truyền tải dữ liệu RDF trên internet Đó là RDF/XML syntax do W3C đưa ra năm 1999 Đây là một ngôn ngữ dựa trên XML, nó bao gồm một tập các quy tắc và từ vựng để hỗ trợ cho biễu diễn thông tin RDF
RDF/XML syntax: RDF/XML có thể gây khó khăn cho người học bởi vì nó có thể
có nhiều cách khi cùng biểu diễn một phát biểu, và một phần là do URI (Uniform Resource Identifier)dùng để định danh cho một tài nguyên thì tương đối dài và khó đọc, khó viết Tuy nhiên vấn đề này có thể được xử lí bằng cách dùng XML namespace
Khai báo namespace: việc sử dụng namespace giúp cho tài liệu RDF ngắn gọn và
dễ đọc hơn đối với người thiết kế Chẳng hạn như ta có một địa chỉ là
“ ht t p: / /ww w .sem a nt i c vn/2009 / 01/rd f - s y nta x - ns #” Nếu ta gán nó cho một namespace, ví
dụ như xmlns: rdf, thì từ nay về sau ta chỉ việc dùng rdf: phone thay cho
“ ht t p: / /ww w .sem a nt i c vn/2009 / 01/rd f - s y nta x - ns# p hone ”
Định danh một chủ thể: Chúng ta dùng cú pháp sau để biểu diễn một bộ ba
<rdf :Description rdf:about= „#person-1‟>
<rdf :Name rdf:literal= „An‟>
<rdf :Description rdf :ID= “person-1”>
<rdf :type rdf :resource= “ ht t p : / / www.se m ant i c v n/2009 / 01/rd f - s y ntax - ns # p e rso n - 1”/>
Trang 5</rdf :Description>
Ở đây, tài nguyên ht t p: / /ww w .sem a nt i c vn/2009 / 01/rd f - s y nta x - ns#p e rson - 1 đã được định danh bởi person-1 Thuộc tính ID giúp cho chúng ta sử dụng tài nguyên person-1 mà không phải dùng lại URI của nó dài dòng mà phức tạp
1.2 RDFS (RDF-Schema):
RDF-Schema là một ngôn ngữ Ontology cơ bản Nó được phát triển ở tầng trên của RDF cho nên bản thân RDF-Schema cũng chính là RDF, nó được mở rộng từ RDF và bổ sung thêm các tập từ vựng để hỗ trợ cho việc xây dựng các Ontology được dễ dàng Như chúng ta đã biết, ngôn ngữ RDF chỉ giúp cho thông tin được thể hiện ở dạng bộ ba theo đúng mô hình RDF chứ thông tin vẫn chưa thể hiện gì về mặt ngữ nghĩa Do đó, xây dựng RDFS là điều cần thiết để hình thành nên ngữ nghĩa cho thông tin, là cơ sở để xây dựng các công cụ tìm kiếm ngữ nghĩa RDFS và RDF có mối liên hệ tương đối gần gũi nên đôi lúc ta gọi ngôn ngữ này là RDF/RDFS
rdfs :Resource (Chỉ định đây là một tài nguyên)
rdfs :Class (Dùng để khởi tạo một lớp)
rdfs :Literal (Lớp các giá trị nguyên thủy: chuỗi, số nguyên…)
Trang 6rdfs :XMLLiteral rdfs :Container
rdfs :ContainerMembershipProperty
rdf :Property (Cho biết tài nguyên thuộc lớp này là một thuộc tính - property) rdf :Statement (Cho biết tài nguyên thuộc lớp này là một phát biểu - statement) rdf :Bag
rdfs :seeAlso (Các thông tin bổ sung)
rdfs :isDefinedBy (Được định nghĩa bởi)
rdf :value (Gán một giá trị nào đó cho chủ thể)
rdf :subject (Chủ thể của một phát biểu)
rdf :predicate (Thuộc tính của một phát biểu)
rdf :object (Giá trị thuộc tính của một phát biểu)
Với những lớp và thuộc tính được liệt kê trên đây, RDF/RDFS đủ mạnh để xây dựng các Ontology Tuy nhiên bản thân nó còn chứa đựng nhiều hạn chế như là chưa hỗ trợ tốt về mặt suy luận, cũng như chưa có ràng buộc về kiểu và số yếu tố mà các ngôn ngữ thế hệ sau sẽ khắc phục (chúng ta sẽ bàn về điều này trong phần OWL)
Các lớp và thuộc tính thường dùng trong RDF/RDFS chủ yếu là: Resource, Class, Property, type, label, subClassOf, subPropertyOf, domain, và range Trong đó domain là miền tài nguyên sử dụng thuộc tính đó, còn range là phạm vi giá trị có thể gán cho thuộc tính đó Ví dụ ta có lớp thuộc tính là hasChild thì domain của hasChild là lớp Person, còn range là lớp số nguyên dương chẳng hạn(số con từ 1 trở lên)
1.2.2 Ví dụ xây dựng Ontology với RDFS:
Chúng ta sẽ dùng cú pháp cơ bản sau để biễu diễn cho một phát biểu:
{subject, predicate, object}
Trang 7Nếu có nhiều hơn một thuộc tính cho một chủ thể thì:
Một tài nguyên bắt đầu bởi dấu # chẳng hạn #resource_1 thì có nghĩa là tài nguyên
đó đã được khai báo trong cùng một tài liệu mà chúng ta đang xây dựng ontology Sau này muốn sử dụng tài nguyên đó thì ta dùng #resource _1 chứ không cần phải lấy URI của nó cho phức tạp
1.3 OWL (Ontology Web Language):
OWL là ngôn ngữ ontology khá mạnh, nó ra đời sau RDFS nên biết kế thừa những lợi thế của ngôn ngữ này đồng thời bổ sung thêm nhiều yếu tố giúp khắc phục được những hạn chế của RDFS OWL giúp tăng thêm yếu tố logic cho thông tin và khả năng phân loại, ràng buộc kiểu cũng như số yếu tố tương đối mạnh
Ta hãy tìm hiểu sơ qua các lớp và thuộc tính của OWL để thấy được những ưu điểm của
y
lityowl:DeprecatedPrope
Trang 8- Hỗ trợ suy luận:
+ Tính chất bắt cầu:
Nếu như chúng ta có một lớp thuộc tính “contain” và gán cho nó thuộc tính
owl:transitivePropertive thì thuộc tính “contain” này sẽ có tính chất bắt cầu Giả sử ta
có thông tin A contain B và B contain C, thì hệ thống sẽ tự suy luận ra một thông tin khác là A contain C, và đây là biểu diễn thuộc tính contain trong OWL:
Trang 9cho việc xây dựng và phát triển các hệ thống Semantic Web.
Trang 101.4 DAML + OIL (DARPA Agent Markup Language + Ontology Inference Layer):
DAML + OIL là kết quả từ hai dự án nghiên cứu độc lập với nhau là DAML và OIL nhằm khắc phục những hạn chế về kiểu dữ liệu trong các ngôn ngữ Ontology trước
đó là RDF, RDFS DAML + OIL (gọi tắt là DAML)là ngôn ngữ đánh dấu cho các tài nguyên trên Web, có hỗ trợ suy luận Ngôn ngữ này được xây dựng có kế thừa từ các chuẩn của W3C như XML, RDF, RDFS Một số điểm đáng chú ý của ngôn ngữ này là:
- Cho phép giới hạn các kiểu dữ liệu được định nghĩa trong XML Schema hay bởi người dùng Trong DAML, một thuộc tính có thể nhận giá trị trên nhiều khoảng khác nhau, tạo nên tính uyển chuyển trong việc mô tả dữ liệu
- Cho phép định nghĩa thuộc tính unique để xác định các đối tượng
- Cho phép mô tả các quan hệ như hoán đổi và bắc cầu
DAML sau đó tiếp tục trở thành nền tảng cho một ngôn ngữ Ontology khác là OWL DAML về cơ bản rất giống với OWL (ngoại trừ tên một số ít thuật ngữ, cú pháp được sửa đổi), tuy nhiên khả năng mô tả các ràng buộc kém hơn Theo thống kê, đã có khoảng 5 triệu phát biểu DAML từ hơn 20.000 Website trên Internet vào năm 2002
2 Kiến trúc web ngữ nghĩa
Web ngữ nghĩa được xây dựng trên nền hệ thống web hiện tại Web ngữ nghĩa được coi là sự mở rộng của Web hiện tại có bổ sung thêm ngữ nghĩa vào dữ liệu trên web
Hình 1.3 Kiến trúc của web ngữ nghĩa
Unicode: là một bảng mã chuẩn chung có đủ các ký tự để thống nhất sự giao tiếp
trên tất cả các quốc gia, đáp ứng tính nhất quán toàn cầu của web
URI (Uniform Resource Identifier):là kí hiệu nhận dạng Web đơn giản Cụ thể, nó
là một xâu ngắn cho phép nhận dạng tài nguyên Web như: với các xâu bắt đầu với
"http:" hoặc "ftp:" mà chúng ta thường thấy trên World Wide Web Bất kỳ một người nào
Trang 11cũng có thể tạo một URI, và sở hữu chúng và chúng là một công nghệ cơ sở để xây dựng một hệ thống Web toàn cầu Hệ thống World Wide Web được xây dựng trên chúng và bất kỳ cái gì mà có một URI thì được coi là "trên Web".
URL (Uniform Resource Locator: là một dạng đặc biệt của URI, cụ thể nó là một
địa chỉ trên mạng URIref (URI reference) là một URI cùng với một phần nhận dạng tuỳ
ý ở cuối Ví dụ, ta có một URIref : "http://www.example.org/Books#Ontology" bao gồm một URI: "http://www.example.org/Books" và một phần nhận dạng "Ontology" được
cách nhau bởi kí hiệu # Theo như quy ước,Name space các không gian tên là những tài
nguyên mà tạo ra các đa tài nguyên, thường là những URI được kết thúc bởi kí hiệu #
Ví dụ: "http://www.example.org/Books#" là một không gian tên Các tài nguyên không
có URIref thì được gọi là các nút trắng; một nút trắng chỉ ra sự tồn tại của tài nguyên không có sự đề cập rõ ràng về tham chiếu URIref của tài nguyên
RDF (Resource Description Framework): Khung 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ộctính
đốitượng] Trong đó, chủ đề là tài nguyên mà được mô tả bằngthuộ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
RDFS (RDF schema):RDFS là một ngôn ngữ ontology đơ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 là ngôn ngữ mô tả bộ từ vựng trên các bộ ba RDF Nó cung cấp các công việc sau:
- Đị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ó
- Định nghĩa các mối quan hệ giữa các thuộc tính
Ontology Vocabulary: Bộ từ vựng ontology đượ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ữ ontology để biểu diễn chúng như: RDFS, OIL, DAML, DAML+OIL, 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
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 (đặc trưng của lý thuyết mô hình), và cung cấp các dịch vụ lập luận, là cơ sở để hỗ trợ máy có thể lập luận và hiểu tài nguyên
Trang 12Tầng Proof: 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
Tầng Trust:Đả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 người bảo x là xanh, một người khác lại nói x không xanh, 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
II ỨNG DỤNG WEB NGỮ NGHĨA VÀO THƯ VIỆN
Vấn đề đặt ra hiện nay cho các thư viện điện tử là việc liên thông hoạt động thư viện, quản lý các tài nguyên khổng lồ của thư viện như thế nào để hỗ trợ việc tìm kiếm, truy hồi thông tin dễ dàng hơn, chính xác hơn, tìm kiếm theo ngữ cảnh của người sử dụng Điều này yêu cầu các thư viện phải sử dụng siêu dữ liệu chung để mô tả các bản ghi của danh mục và các từ vựng điều khiển chung để cho phép gán các định danh (ID) chủ đề cho các xuất bản phẩm
Thư viện điện tử thường sử dụng một định dạng siêu dữ liệu nào đó để tổ chức các
người, chỉ có con người mới hiểu được, không định nghĩa ngữ nghĩa của các trường siêu
dữ liệu theo cách máy có thể hiểu được
Với công nghệ WebNN, sự biểu diễn của các chuẩn mô tả thư mục như các ontology là một sự lựa chọn tất yếu Các định dạng siêu dữ liệu có ngữ nghĩa được biểu diễn trong các thuật ngữ của ontology cung cấp khả năng sử dụng các khái niệm đã được định nghĩa và suy diễn dữ liệu tiềm ẩn từ các mô tả thư mục [9]
Quá trình hoạt động liên thông giữa các thư viện khác nhau, hay thậm chí giữa các
bộ sưu tập khác nhau trong cùng thư viện là một vấn đề Việc tìm kiếm, truy hồi sẽ chính xác hơn nếu chúng ta cung cấp cho người sử dụng một khung nhìn duy nhất về tên của các đối tượng số trong thư viện Onology có thể cung cấp khả năng hoạt động liên thông giữa các tập dữ liệu lớn, cung cấp một khung nhìn chung cho các tập dữ
Trang 13
Bằng cách xây dựng ontology, tất cả người sử dụng có thể truy cập ontology thông qua Web, các danh mục thư viện có thể sử dụng các từ vựng giống nhau để biên mục, đánh dấu các trường với các thuật ngữ thích hợp nhất cho lĩnh vực quan tâm RDF
và OWL cung cấp một hệ thống mã hóa đơn giản và nhất quán, do đó sẽ đơn giản hóa việc thực hiện hoạt động liên thông thư viện giữa hệ thống siêu dữ liệu thư viện điện
tử này với các hệ thống siêu dữ liệu thư viện khác
III.SEMLIB ONTOLOGY
1 Giới thiệu chung
Chúng ta có thể xây dựng một tầng ngữ nghĩa trên cơ sở dữ liệu truyền thống của thư viện điện tử Tầng ngữ nghĩa này cung cấp các khung nhìn ngữ nghĩa, các ngữ cảnh trên cơ sở dữ liệu truyền thống, hỗ trợ tìm kiếm theo ngữ cảnh cho người sử dụng, giúp tìm kiếm trên khái niệm chứ không phải tìm kiếm theo từ khóa Chúng tôi xây dựng SemLib Ontology để mô tả các biểu ghi biên mục trong thư viện một cách có ngữ nghĩa và phát triển phương pháp để đưa SemLib Ontology vào tầng ngữ nghĩa này, phản ánh khung nhìn của người sử dụng trên cơ sở dữ liệu truyền thống, cụ thể là trên siêu dữ liệu của cơ sở dữ liệu truyền thống
Tầng ngữ nghĩa được xây dựng trên cơ sở dữ liệu truyền thống của thư viện điện tử,
tổ chức lưu trữ dữ liệu một cách có ngữ nghĩa Các nguồn dữ liệu được chuyển sang dạng bộ ba RDF và lưu trữ với các ontology của chúng Metastore sẽ được cập nhật một cách tự động và định kỳ với những thay đổi của các tài nguyên trong thư viện điện tử thông qua các kỹ thuật ontology tích hợp của Metatore
Tôi đã bước đầu xây dựng SemLib Ontology (Semantic Library Ontology), để tổ chức và biểu diễn nội dung của cơ sở dữ liệu truyền thống một cách có ngữ nghĩa, cơ bản định nghĩa 31 lớp và 42 thuộc tính
Các lớp InformationResource, PublishedMaterial, Article, Book
,MeetingProceedings, IssueOfPeriodical, MagazineIssue, NewspaperIssue,
ResourceCollection, Thesis, Place, City, ResourceType, Topic, ContactInformation, Address, PostalAddress, Fax, InternetAddress, Email, InternetDomain, IPAddress,
AcademicDepartment, University, Copyright, Language
Các thuộc tính hasAbstract, hasNote, hasVolume, hasEdition, hasBeginDate,
hastitle, hasNumber, hasDate, hasEndDate, hasISBN, hasISSN, hasAccessionNumber, hasPublisher, hasSubject, hasPlace, hasCity, hasContactInformation, hasInternetAddress,