1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ontology phục vụ lưu trữ và tìm kiếm trực tuyến các tài liệu của chi cục văn thư lưu trữ tĩnh quảng ngãi

101 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 2,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhiệm vụ của đề tài - Tìm hiểu cơ sở lý thuyết về Web ngữ nghĩa; - Tìm hiểu công cụ và phương thức xây dựng ứng dụng; - Thu thập dữ liệu, khảo sát nhu cầu, hiện trạng tra cứu các văn bản

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

CAO XUÂN HÀ

XÂY DỰNG ONTOLOGY PHỤC VỤ LƯU TRỮ VÀ TÌM KIẾM

TRỰC TUYẾN CÁC TÀI LIỆU CỦA CHI CỤC VĂN THƯ LƯU TRỮ TỈNH QUẢNG NGÃI

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Đà Nẵng - Năm 2017

Trang 2

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

-CAO XUÂN HÀ

XÂY DỰNG ONTOLOGY PHỤC VỤ LƯU TRỮ VÀ TÌM KIẾM TRỰC TUYẾN CÁC TÀI LIỆU CỦA CHI CỤC VĂN THƯ LƯU TRỮ TỈNH QUẢNG NGÃI

Chuyên ngành: KHOA HỌC MÁY TÍNH

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của PGS.TS Võ Trung Hùng;

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố;

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Tác giả

Cao Xuân Hà

Trang 6

iii

TÓM TẮT LUẬN VĂN XÂY DỰNG ONTOLOGY PHỤC VỤ LƯU TRỮ VÀ TÌM KIẾM TRỰC TUYẾN CÁC TÀI LIỆU CỦA CHI CỤC VĂN THƯ LƯU TRỮ

TỈNH QUẢNG NGÃI

Học viên: Cao Xuân Hà Chuyên ngành: Khoa học máy tính

Mã số: 60480101 Khóa: 33 Trường Đại học Bách khoa - ĐHĐN

Tóm tắt – Công nghệ thông tin (CNTT) đang được ứng dụng rộng rãi và đây là một trong tiêu chí quan trọng để đánh giá hiệu quả hoạt động của một tổ chức Cùng với ứng dụng CNTT và Internet, dữ liệu số đang gia tăng một cách nhanh chóng Nhu cầu tìm kiếm các tài liệu số phù hợp với yêu cầu người dùng đã trở nên cấp thiết Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi (Chi cục) đã số hoá và lưu trữ một lượng tài liệu rất lớn và nhu cầu tìm kiếm tài liệu hiện rất cao Vì vậy, luận văn này nghiên cứu đề xuất các giải pháp để xây dựng một hệ thống lưu trữ và tìm kiếm các tài liệu dựa trên Web ngữ nghĩa tại Chi cục Đóng góp chính của luận văn là đã xây dựng Ontology phục vụ lưu trữ và một hệ thống Web để người dùng tìm kiếm trực tuyến các tài liệu lưu trữ tại Chi cục

Từ khóa – Web ngữ nghĩa, tài liệu số, tìm kiếm, Ontology

EXPANDING Abstract - Information technology (IT) is widely used and this is one of the important criteria for evaluating the performance of an organization Together with IT and the Internet, digital data is growing rapidly The need to find digital documents that match the user requirements has become imperative The Department of Record and Archives of Quang Ngãi province (DRAQ) has digitized and archived a huge number of digital documents and the demand for materials is very high Therefore, this thesis studies proposed solutions to build a system for storing and searching Semantic Web - based documents at the DRAQ The main contribution of the thesis is to have built Ontology for storing and a Web system for users to search online archives at the DRAQ

Key words - Semantic Web, Digital Document, Search Engine, Ontology

Trang 7

iv

DANH MỤC CÁC TỪ VIẾT TẮT

Quảng Ngãi

Trang 8

v

DANH MỤC CÁC HÌNH 1 Hình 1.1 Sự cần thiết của Ontology trong quá trình chia sẻ tri thức 6

2 Hình 1.2 So sánh giữa Web 1.0, Web 2.0 và Web 3.0 10

3 Hình 1.3 Quá trình phát triển công nghệ Web trong tương lai 11

4 Hình 1.4 Sơ đồ phát triển tính thông minh của dữ liệu 12

5 Hình 1.5 Kiến trúc Web ngữ nghĩa qua các thời kỳ 15

6 Hình 1.6 Mối quan hệ giữa các thành phần trong Triple 21

7 Hình 2.1 Mẫu của một Quyết định 42

8 Hình 2.2 Mô tả suy luận ngang cấp trong Semantic Web 49

9 Hình 2.3 Mô tả suy luận ngược trong Semantic Web 51

10 Hình 2.4 Mô hình quan hệ giữa các nút và các cạnh 58

11 Hình 3.1 Mô hình kiến trúc tổng thể của hệ thống 62

12 Hình 3.2 Quy trình truy xuất dữ liệu 64

13 Hình 3.3 Các thuộc tính dữ liệu của Data Properies 66

14 Hình 3.4 Giao diện chính của hệ thống 71

15 Hình 3.5 Kết quả tìm kiếm theo “Trường THPT Võ Nguyên Giáp” 72 16 Hình 3.6 Xem chi tiết văn bản 72

Trang 9

vi

DANH MỤC CÁC BẢNG Bảng 2.1 Bảng chữ viết tắt tên loại văn bản và bản sao 44

Bảng 2.2 Các công cụ phát triển Ontology 53

Bảng 2.3 Các lớp chức năng của OwlDotNetApi 61

Bảng 2.4 Các lớp giao tiếp của OwlDotNetApi 62

Bảng 3.1 Mối quan hệ của các lớp và mô tả thuộc tính 71

Bảng 3.2 Bảng đánh giá kết quả thử nghiệm hệ thống tìm kiếm văn bản 75

Trang 11

2

hay Web ngữ nghĩa ra đời nhằm đáp ứng những yêu cầu về chất lượng đó Thế mạnh của Web Ngữ nghĩa là xử lý và tìm kiếm thông tin, cho phép chúng ta xây dựng những CSDL phục vụ tìm kiếm chính xác Tim Berners - Lee đã định nghĩa: “Web ngữ nghĩa là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con người

và máy tính có thể làm việc với nhau một cách hiệu quả hơn” [1]

Web ngữ nghĩa sẽ là một sự ra đời tất yếu của quá trình nghiên cứu với ý tưởng không ngừng phát triển để phù hợp với yêu cầu thực tế của con người Đây là một xu hướng mới còn đang được nghiên cứu và tiếp tục phát triển Nghiên cứu ứng dụng Web ngữ nghĩa để xây dựng hệ thống tra cứu văn bản hành chính là một việc làm thiết thực, đáp ứng nhu cầu tìm kiếm chính xác và hỗ trợ rất nhiều cho ngành văn thư lưu trữ mà còn góp phần rất lớn vào thời kỳ phát triển mới của đất nước

Xuất phát từ thực tế nêu trên cùng với sự hướng dẫn tận tình của thầy Võ Trung Hùng, tôi quyết định chọn đề tài: “XÂY DỰNG ONTOLOGY PHỤC VỤ LƯU TRỮ

VÀ TÌM KIẾM TRỰC TUYẾN CÁC TÀI LIỆU CỦA CHI CỤC VĂN THƯ LƯU TRỮ TỈNH QUẢNG NGÃI” làm luận văn tốt nghiệp

II Mục tiêu nghiên cứu

a Mục tiêu nghiên cứu

Xây dựng một hệ thống phục vụ tra cứu thông tin các văn bản hành chính của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi Hệ thống mới dựa trên công nghệ Web ngữ nghĩa nhằm hỗ trợ việc tra cứu, cung cấp những tri thức cần thiết góp phần thực hiện tốt công tác văn thư, lưu trữ ở tỉnh Quảng Ngãi

b Nhiệm vụ của đề tài

- Tìm hiểu cơ sở lý thuyết về Web ngữ nghĩa;

- Tìm hiểu công cụ và phương thức xây dựng ứng dụng;

- Thu thập dữ liệu, khảo sát nhu cầu, hiện trạng tra cứu các văn bản của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi;

- Phân tích, thiết kế hệ thống;

- Xây dựng chương trình, cài đặt, kiểm thử và đánh giá

III Đối tượng và phạm vi nghiên cứu

a Đối tượng nghiên cứu

- Văn bản hành chính của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi, nhu cầu và

Trang 12

3

hiện trạng tra cứu

- Các vấn đề liên quan đến Web ngữ nghĩa

- Qui trình xây dựng Web ngữ nghĩa

- Công cụ, ngôn ngữ và công nghệ liên quan đến Web ngữ nghĩa (Protege, RDF, SPARQL,…)

- Các thư viện phát triển ứng dụng Web ngữ nghĩa (OwlDotNetApi, SemWeb)

- Một số ứng dụng có sẵn của Web ngữ nghĩa

- Phân tích xử lý dữ liệu đã trích lọc trên các trang Web hiện nay (Giả thuyết dữ liệu đã được trích lọc)

b Phạm vi nghiên cứu

Hằng năm, Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi chỉnh lý và số hóa các tài liệu tích đống hơn 10 đơn vị, hơn 500.000 văn bản hành chính các loại Văn bản hành chính chứa rất nhiều thông tin, trong đề tài này tôi chỉ giới hạn phạm vi tìm kiếm theo: tên loại, số ký hiệu văn bản, ngày ban hành, nội dung trích yếu, tác giả, tên tệp tin PDF của văn bản, mối quan hệ ngữ nghĩa giữa các văn bản

IV Phương pháp nghiên cứu

a Giả thiết nghiên cứu

Web ngữ nghĩa sẽ giúp xây dựng hệ thống tra cứu tài liệu của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi nhằm hỗ trợ việc tra cứu, đáp ứng nhu cầu tìm kiếm chính xác

và cung cấp những thông tin cần thiết về tài liệu Hệ thống tra cứu sẽ góp phần vào công tác tìm kiếm, khai thác và sử dụng tài liệu tốt hơn so với Web thường

b Phương pháp nghiên cứu

- Phương pháp nghiên cứu tài liệu: Tìm hiểu, nghiên cứu tài liệu, công cụ, công nghệ liên quan đến Web ngữ nghĩa Thu thập, tổng hợp thông tin về văn bản của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi

- Phương pháp khảo sát: Tìm hiểu về công tác lưu trữ, quản lý các văn bản của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi Tìm hiểu hệ thống tra cứu tại Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi hiện có

- Phương pháp thực nghiệm: So sánh những ưu, nhược điểm của các phương pháp, công cụ xây dựng ứng dụng từ đó đề xuất lựa chọn phương pháp, công cụ thích hợp để phân tích hệ thống, tiến hành xây dựng ứng dụng

Trang 13

4

V Ý nghĩa khoa học và thực tiễn của đề tài

a Ý nghĩa khoa học: Tiếp cận công nghệ mới về xử lý thông tin của Web ngữ nghĩa Phát triển ứng dụng để góp phần phổ biến và từng bước thâm nhập sâu hơn về công nghệ này

b Ý nghĩa thực tiễn: Ứng dụng những thành quả của công nghệ thông tin vào lĩnh vực văn thư – lưu trữ, góp phần phục vụ tốt việc tìm hiểu nghiên cứu, sử dụng và khai thác tài liệu của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi Hỗ trợ công tác văn thư, lưu trữ và tìm kiếm văn bản một cách nhanh nhất Triển khai ứng dụng ở Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi

VI Bố cục của luận văn

Chương 1 TỔNG QUAN VỀ WEB NGỮ NGHĨA Chương này giới thiệu các khái niệm tổng quan về Web ngữ nghĩa, các ngôn ngữ

và công cụ xây dựng Web ngữ nghĩa tính đến thời điểm hiện nay Nội dung chính tập trung trình bày về kiến trúc Web ngữ nghĩa, ứng dụng và triển vọng của Web ngữ nghĩa trong tương lai Những nội dung ở chương này là cơ sở để đề xuất giải pháp và triển khai thực nghiệm ở các chương sau

Chương 2 GIẢI PHÁP ĐỀ XUẤT Chương này sẽ giới thiệu các khái niệm chung về văn bản, hồ sơ và đặc biệt là giới thiệu kết quả khảo sát, phân tích hiện trạng và nhu cầu tra cứu thông tin tại Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi Nội dung chính tập trung trên việc phân tích thiết kế hệ thống Đề xuất những giải pháp, mô hình hoạt động, công cụ, các thư viện phần mềm được lựa chọn để xây dựng ứng dụng Web ngữ nghĩa tại Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi

Chương 3 XÂY DỰNG HỆ THỐNG Chương này trình bày kết quả xây dựng Ontology phục vụ lưu trữ và tìm kiếm trực tuyến các tài liệu của Chi cục Văn thư Lưu trữ tỉnh Quảng Ngãi Kết quả xây dựng và thử nghiệm trang Web ngữ nghĩa hỗ trợ việc tra cứu Chương này cũng trình bày một số đánh giá về ứng dụng thử nghiệm và đề xuất hướng phát triển trong thời gian đến

Trang 14

5

Chương 1 TỔNG QUAN VỀ WEB NGỮ NGHĨA Trong chương này giới thiệu các khái niệm tổng quan về Web ngữ nghĩa, các ngôn ngữ và công cụ xây dựng Web ngữ nghĩa Tìm hiểu kiến trúc Web ngữ nghĩa, ứng dụng và triển vọng của Web ngữ nghĩa trong tương lai

1.1 Ontology

1.1.1 Khái niệm Ontology

Trong khoa học máy tính, một Ontology là một mô hình dữ liệu biểu diễn một lĩnh vực nào đó và được sử dụng để suy luận về các đối tượng trong lĩnh vực đó và mối quan

- Theo Tom Gruber (2008): “Ontology là một tập hợp các đại diện nguyên bản với

mô hình của một miền kiến thức hoặc lập luận” [3]

- Theo như Natalya F Noy và Deborah L McGuinness (2011): “Ontology là một

mô tả hình thức rõ ràng của các khái niệm trong phạm vi cụ thể, các thuộc tính của khái niệm mô tả đặc tính và tính chất của khái niệm, các ràng buộc của thuộc tính” [4]

1.1.2 Mục đích xây dựng Ontology

Ontology được xây dựng nhằm các mục đích sau:

- Chia sẻ những kiến thức chung, các khái niệm, cấu trúc thông tin giữa con người hoặc giữa các hệ thống phần mềm sẽ được chia sẻ để sử dụng vào nhiều mục đích khác nhau Đây là một trong những mục tiêu phổ biến trong việc phát triển Ontology, không những trong lĩnh vực Semantic Web mà còn trong nhiều ngành, lĩnh vực khác

- Tái sử dụng tri thức về một miền lĩnh vực đã được xây dựng từ trước Vấn đề ở đây là tên các khái niệm được định nghĩa trong các Ontology này có thể giống nhau trong khi chúng được dùng để mô tả một sự vật hoàn toàn khác nhau Tuy nhiên cũng có thể có trường hợp ngược lại, khi tên các khái niệm khác nhau nhưng cùng mô tả một sự vật Ngoài ra, làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới càng làm cho vấn đề trở nên phức tạp

- Làm rõ ràng các giả định thuộc lĩnh vực chuyên ngành: Việc sử dụng một

Trang 16

7

- Cấu trúc rõ ràng: Đây là điều kiện cần cho máy có thể xử lý thông tin

- Ngữ nghĩa hình thức miêu tả ý nghĩa tri thức một cách chính xác: Ý nghĩa của ngữ nghĩa hình thức tồn tại trong một thời gian dài trong miền toán logic Việc sử dụng ngữ nghĩa hình thức cho phép con người suy diễn tri thức Với tri thức trong Ontology chúng ta có thể suy diễn về:

+ Thành viên của lớp: Nếu x là một thể hiện của lớp C và C là lớp con của lớp D thì chúng ta có x là thể hiện của lớp D

+ Các lớp tương đương: Nếu lớp A tương đương với lớp B và lớp B tương đương với lớp C, thì lớp A cũng tương đương với lớp C

+ Tính nhất quán: Giả sử chúng ta khai báo x là thể hiện của lớp A và A là lớp con của B∩C, A là lớp con của lớp D, Lớp B và lớp D không có quan hệ với nhau (disjoint) Thì chúng ta không nhất quán bởi vì A nên là rỗng nhưng lại có thể hiện là x Đây là một dấu hiệu của một lỗi trong Ontology

+ Phân loại: Nếu chúng ta khai báo các cặp thuộc tính giá trị đã biết là điều kiện đủ cho thành viên trong một lớp A, thì nếu một cá thể x thỏa mãn các điều kiện, chúng ta có thể kết luận x phải là một thể hiện của A

+ Ngữ nghĩa là điều kiện tiên quyết cho việc hỗ trợ suy diễn: Hỗ trợ suy diễn rất quan trọng bởi vì nó cho phép kiểm tra tính nhất quán của Ontology và tri thức, kiểm tra các quan hệ thừa giữa các lớp, tự động phân loại các thể hiện trong lớp

Ngữ nghĩa hình thức và hỗ trợ suy diễn thường được cung cấp bởi việc ánh xạ một ngôn ngữ Ontology đến hình thức logic và sử dụng suy diễn tự động bởi các hình thức luôn tồn tại OWL được ánh xạ logic miêu tả và sử dụng các suy diễn đang tồn tại như FaCT và RACER Các logic mô tả là tập con của logic vị từ nhằm hỗ trợ suy diễn hiệu quả

1.1.4 Các thành phần Ontology

Ontology được sử dụng như là một biểu mẫu trình bày tri thức về thế giới hay một phần của nó Ontology thường miêu tả: cá thể (Individuals), lớp (Classes), thuộc tính (Propertises) và quan hệ (Relation)

Bộ từ vựng Ontology được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp khả năng biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên Web và có khả năng hỗ trợ lập luận

Trang 17

8

- Cá thể (Individuals): Thể hiện các cá thể là các thành phần cơ bản, nền tảng của một Ontology Các cá thể trong một Ontology có thể bao gồm các đối tượng cụ thể như con người, động vật, đồ vật… cũng như các cá thể trừu tượng như các thành viên hay các

từ Một Ontology có thể không cần bất kỳ một cá thể nào, nhưng một trong những lý do chính của một Ontology là để cung cấp một ngữ nghĩa của việc phân lớp các cá thể, mặc

dù các cá thể này không thực sự là một phần của Ontology

- Lớp (Classes) là những nhóm, bộ hoặc tập hợp các đối tượng Một lớp có thể gộp nhiều lớp hoặc được gộp vào lớp khác Một lớp gộp vào lớp khác được gọi là lớp con của lớp gộp Điều quan trọng của quan hệ xếp gộp là tính kế thừa

- Thuộc tính (Properties): Các đối tượng trong Ontology có thể được mô tả thông qua việc khai báo các thuộc tính của chúng Mỗi một thuộc tính đều có tên và giá trị của thuộc tính đó Các thuộc tính được sử dụng để lưu trữ các thông tin mà đối tượng có thể

có Ví dụ đối với một cá nhân có thể có các thuộc tính: họ_tên, ngày_sinh, quê_quán, số_cmnd,… Giá trị của một thuộc tính có thể có các kiểu dữ liệu phức tạp

- Quan hệ (Relation): Một trong những ứng dụng quan trọng của việc sử dụng các thuộc tính là để mô tả mối liên hệ giữa các đối tượng trong Ontology Một mối quan hệ là một thuộc tính có giá trị là một đối tượng nào đó trong Ontology Một kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (subsumption) Kiểu quan hệ này mô tả các đối tượng nào

là các thành viên của các lớp nào của các đối tượng

1.1.5 Ngôn ngữ OWL

OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để

mô tả các hệ cơ sở tri thức OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ

dữ liệu trên Internet thông qua những mô hình dữ liệu gọi là “Ontology” Ontology mô tả một lĩnh vực (Domain) và diễn tả những đối tượng trong lĩnh vực đó cùng những mối quan hệ giữa các đối tượng này OWL là phần mở rộng về từ vựng của RDF và được kế thừa từ ngôn ngữ DAML+OIL Web Ontology (Dự án được hỗ trợ bởi W3C) OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này

để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm

OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho Web ngữ nghĩa trong tương lai OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc xử lý nội dung thông tin của Web Ngôn ngữ này được kỳ vọng rằng sẽ cho phép các

Trang 18

9

hệ thống máy tính có thể đọc được thay thế cho con người Vì OWL được viết bởi XML, các thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử dụng các hệ điều hành và các ngôn ngữ ứng dụng khác nhau Mục đích chính của OWL

là cung cấp các chuẩn để chia sẻ cũng như tái sử dụng dữ liệu trên Web OWL được phát triển vì nó có nhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so với XML, RDF và RDFS Ngoài ra, OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội dung mà máy có thể biểu diễn được trên Web

Hiện nay có ba loại OWL: OWL Lite, OWL DL (Description Logic), và OWL Full

1.2 Khái niệm Web ngữ nghĩa

1.2.1 World Wide Web và những hạn chế

Hệ thống mạng Internet đã trở nên rộng khắp, là nguồn kiến thức vô tận mang lại nhiều lợi ích Cùng với sự phát triển đó là việc một loạt các tiêu chuẩn được thiết lập rộng rãi và đảm bảo được các thành phần ở các mức độ khác nhau Tuy nhiên, tài nguyên thông tin trên Web ngày càng nhiều và đa dạng, điều này làm nảy sinh vấn đề là làm thế nào để tìm kiếm chính xác tài nguyên mình mong muốn Với công nghệ Web hiện nay, các công

cụ tìm kiếm như Google, Yahoo, Bing,… chỉ giúp chúng ta tìm được những tài liệu có chứa từ khóa Dữ liệu trong các file HTML có thể hữu ích ở ngữ cảnh này nhưng vô nghĩa đối với ngữ cảnh khác

Chính vì vậy Semantic Web, thế hệ Web 3.0 ra đời, bao gồm các dịch vụ dựa trên nền tảng máy tính có thể hiểu được nội dung thông tin trên Web, thông tin được tìm kiếm một cách nhanh chóng và chính xác hơn, khả năng suy luận thông minh, dữ liệu liên kết động, khắc phục những hạn chế Web hiện tại và đáp ứng tốt nhu cầu ứng dụng của con người

1.2.2 Sự ra đời của Web ngữ nghĩa

World Wide Web (WWW) chứa một lượng thông tin khổng lồ, người sử dụng Web có thể dễ dàng truy cập những thông tin bằng địa chỉ hoặc theo các liên kết để tìm ra các tài nguyên liên quan khác Tuy nhiên, các trang Web hiện nay hầu hết được sử dụng bởi con người, máy tính chỉ có nhiệm vụ gửi nhận dữ liệu và thể hiện thông tin dưới dạng

mà chỉ có con người mới đọc hiểu được Người sử dụng phải làm nhiệm vụ tìm kiếm, suy luận, tổng hợp và trích rút thông tin mình cần Điều đó đã đặt ra thách thức là làm sao để

Trang 21

12

Hình 1.4 Sơ đồ phát triển tính thông minh của dữ liệu Hình 1.4 chỉ ra sự phát triển liên tục của tính thông minh dữ liệu có bốn bậc quan trọng Bốn bậc này biểu diễn từ dữ liệu có tính thông minh thấp nhất đến dữ liệu đã có thông tin đủ ngữ nghĩa để máy thực hiện suy luận về nó

- Bậc 1: Văn bản và cơ sở dữ liệu (bậc này là tiền XML): Bậc đầu tiên, hầu hết dữ liệu ở bậc này được sở hữu độc quyền cho một ứng dụng Do vậy tính thông minh là nằm trong ứng dụng đó chứ không phải là trong dữ liệu

- Bậc 2: Tài liệu XML với miền đơn: Ở bậc này, dữ liệu đạt được là ứng dụng độc lập với miền riêng Bây giờ, dữ liệu đủ thông minh để có thể di chuyển giữa các ứng dụng trong một miền đơn Ví dụ: Các chuẩn XML trong chăm sóc sức khoẻ, bất động sản…

- Bậc 3: Các phân loại và tài liệu với các bộ từ vựng hỗn hợp: Trong bậc này, dữ liệu có thể được soạn từ đa miền và được phân lớp chính xác theo một nguyên tắc phân loại có thứ bậc Thực tế, sự phân lớp đó có thể được sử dụng để khám phá dữ liệu Các quan hệ đơn giản giữ các lớp có thể được sử dụng để quan hệ và do vậy, ta có dữ liệu kết hợp Như vậy, dữ liệu bây giờ thông minh đủ để khám phá dễ dàng và được kết hợp một cách hợp lý với dữ liệu khác

- Bậc 4: Các Ontology và các luật lập luận: Trong mức này, dữ liệu mới có thể được suy ra từ những dữ liệu đã có theo các luật logic Thực chất, dữ liệu bây giờ thông minh đủ để được mô tả với các quan hệ cụ thể và các dạng hình thức phức tạp Một ví dụ

Trang 26

17

cho phép biểu diễn các ngôn ngữ khác một cách chuẩn hóa Nói cách khác XML chỉ cung cấp định dạng dữ liệu cho tài liệu (Document) được cấu trúc, không có đặc tả từ vựng (Vocabulary) thực sự Vì vậy XML phổ biến toàn cầu, chúng ta có thể tạo những ngôn ngữ đánh dấu (markup) mà chúng tùy ý sử dụng cho các kiểu tài liệu không giới hạn Đây là chuẩn đang phổ biến Bên cạnh nhiều ngôn ngữ riêng biệt, một số ngôn ngữ chuẩn được định nghĩa trong XML (Còn gọi là các ứng dụng XML) Ví dụ XHTML là một định nghĩa lại của HTML 4.0 trong XML

+ Các thực thể (Entity) markup chính trong XML là các đơn vị (element) Chúng thông thường bao gồm một tag mở và một tag đóng Ví dụ: <person> và </person> Các element có chứa các element khác hay text Nếu một element không có nội dung, nó có thể được viết ngắn gọn như <person/> Các element nên được xếp lồng nhau, tag mở và tag đóng của element con phải nằm trong tag mở và tag đóng của element cha Mỗi XML document phải có chính xác một root element Các element có thể chứa thuộc tính với giá trị nào đó, có định dạng là: "từ = giá trị" bên trong tag của một element

Ví dụ: <person name = "John">.

Dưới đây là một đoạn XML:

1.5.2 RDF - Nền tảng của Web ngữ nghĩa

Trang 27

18

a Giới thiệu RDF

RDF chính là nền tảng của Web ngữ nghĩa, là linh hồn của Web ngữ nghĩa RDF

mô tả siêu dữ liệu về các tài nguyên trên Web RDF dựa trên cú pháp XML Tuy nhiên, XML chỉ mô tả dữ liệu, RDF còn có khả năng biểu diễn ngữ nghĩa giữa chúng thông qua các tài nguyên được định danh bằng URI Như tên gọi, RDF là một mô hình để biểu diễn

dữ liệu về "Mọi thứ trên Web" Mọi thứ ở đây chính là các tài nguyên trong RDF Vocubulary (Từ vựng)

Mô hình dữ liệu cơ sở của RDF gồm có 3 đối tượng: Resource (tài nguyên), Property (thuộc tính) và Statement (phát biểu)

Resource (tài nguyên) Property (thuộc tính) Statement (phát biểu)

giữa các đối tượng

- Mỗi tài nguyên luôn

được định danh bởi URI,

- Thuộc tính trong RDF được xác định bởi URL

- Một phát biểu xác định thuộc tính của tài nguyên,

là một bộ ba gồm: Object – Attribute - Value (Đối tượng - Thuộc tính - Giá trị)

Tim Berners- Lee tóm tắt 4 nguyên lý nền tảng cho hoạt động của dữ liệu liên kết (Linked Data):

- Sử dụng các URI để xác định, “đặt tên” các “thực thể”

- Sử dụng giao thức HTTP URI để con người có thể tìm kiếm, duyệt chúng

- Cung cấp thông tin hữu ích (Siêu dữ liệu, mô tả có cấu trúc) về các “thực thể được đặt tên” đó khi URI của chúng được duyệt

- Chứa các liên kết đến các URI khác liên quan trong dữ liệu vừa được duyệt giúp

có thể duyệt các thông tin khác liên quan

Hiện tại có các định dạng cú pháp tuần tự hóa để cài đặt dữ liệu liên kết, chú thích ngữ nghĩa như RDF, RDFa, RDF/XML, N3, Turtle:

+ RDF (Resource Description Framework): Định dạng dữ liệu cho phép mô tả thực thể, tài nguyên và quan hệ nội tại giữa chúng bằng bộ ba: Đối tượng – Thuộc tính – Giá trị (Subject – Predicate – Object)

+ RDFa (RDF-in-attributes): Bổ sung tập các thuộc tính mở rộng cho XHTML để

Trang 30

21

có thể là các Subject và Object trong triple và các cung (arc) trong đồ thị là các Predicate Cho nên một Triple còn có thể được mô tả dưới dạng node-arc-node Hướng của đồ thị rất quan trọng Cung của đồ thị luôn bắt đầu từ Subject đến Object

Hình 1.6 Mối quan hệ giữa các thành phần trong triple

Phát biểu trên được mô hình hóa bằng đồ thị có hướng sau:

http://www.example.org/index.html

http://purl.org/dc/elements/1.1/creator

http://www.example.org/staffid/85740 Hình 1.7 Mô tả một phát biểu đơn giản bằng đồ thị

Ví dụ : Ta thêm các phát biểu sau cho cùng một Subject:

http://www.example.org/index.htmlhas a creation-datewhose value is August 16, 1999

http://www.example.org/index.htmlhas a languagewhose value is English

Được phân ra thành các thành phần sau:

http://www.example.org/index.html http://purl.org/dc/

elements/1.1/creator

http://www.example.org/staffid/857 40

http://www.example.org/index.html http://www.example.org

/terms/creation-date August 16, 1999http://www.example.org/index.html http://purl.org/dc/

elements/1.1/language EnBảng 1.1 Mô tả các thành phần của TripleLúc này các phát biểu được biểu diễn dưới cùng một đồ thị như sau:

Trang 31

22

Hình 1.8 Biểu diễn nhiều phát biểu cho cùng một subject

Mô hình trên chỉ ra rằng các đối tượng trong phát biểu RDF có thể là một URI hoặc cũng có thể là một giá trị Literal Ở hình trên ta dùng hình bầu dục để biểu diễn một resource là một URI và dùng hình chữ nhật để biểu diễn một resource là một giá trị Literal

- Tripple và cách sử dụng namespace: Đôi khi không thuận tiện để biểu diễn các phát biểu dưới dạng đồ thị, ta có thể dùng cách viết dưới dạng Tripple Có thể viết lại như sau:

Trang 32

23

ngoặc nhọn (<>) , điều này gây ra một bất lợi là các URI phải viết rất dài như ta đã thấy ở trên Để thuận lợi, RDF đã cung cấp một cách viết ngắn gọn hơn đó là cách dùng QName (Đã được định nghĩa ở trên) mà không cần dùng đến cặp dấu <>

Ta có thể dùng một số QName sau đây:

prefix ex:, namespace URI:

http://www.example.org/hay http://www.example.com/

prefix exterms:, namespace URI: http://www.example.org/terms/

prefix exstaff:, namespace URI: http://www.example.org/staffid/

Ví dụ trên được viết lại như sau:

ex:index.html dc:creator exstaff:85740

ex:index.html exterms:creation-date "August 16, 1999"

ex:index.html dc:language "en"

Khi đó viết chúng dưới dạng QName như sau:

exstaff:85740 exterms:age "27"^^xsd:Integer

ex:index.html exterms:creation-date "1999-08-16"^^xsd:date

Như vậy ta thấy rằng việc khai báo các URI thông qua một QName sẽ rất thuận lợi, nó làm cho các URI này ngắn gọn và dễ hiểu Hơn nữa khi có một thay đổi về URI thì

ta chỉ việc thay đổi ở phần namespace mà chúng ta đã khai báo chứ không cần phải thay đổi tất cả URI trong bộ dữ liệu của mình

e Cấu trúc của RDF/XML

Mô hình RDF thể hiện một mô hình ở mức trừu tượng để định nghĩa metadata Cú pháp RDF được dùng để tạo ra và trao đổi metadata Cấu trúc RDF dựa trên cú pháp XML Cú pháp cơ bản của RDF có dạng như sau:

[1] RDF ::= ['<rdf:RDF>'] description*['</rdf:RDF>'] [2] description ::= '<rdf:Description' idAboutAttr? '>'

propertyElt* '</rdf:Description>'

[3] idAboutAttr ::= idAttr | aboutAttr

[4] aboutAttr ::= 'about="' URI-reference '"'

[5] idAttr ::= 'ID="' IDsymbol '"'

[6] propertyElt ::= '<' propName '>' value '</' propName '>'

|'<' propName resourceAttr '/>' [7] propName ::= Qname

[8] value ::= description | string

[9] resourceAttr ::= 'resource="'tham chiếu URI'"'

[10] Qname ::= [ NSprefix ':' ] name

[11] URI-reference ::= String, interpreted per [URI]

[12] IDsymbol ::= Bất kỳ ID hợp lệ nào của XML

[13] name ::= Bất kỳ tên hợp lệ nào của XML

[14] NSprefix ::= Bất kỳ tiếp đầu ngữ namespace hợp lệ nào [15] string ::= Bất kỳ chuỗi nào

Ví dụ 1: Xét phát biểu

Trang 34

25

ex:index.html exterms:creation-date “August 16,1999"

ex:index.html dc:language "en"

ex:index.html dc:creator exstaff:85740

Cú pháp RDF được mô tả như sau:

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:exterms="http://www.example.org/terms/">

<rdf:Description

rdf:about="http://www.example.org/index.html">

<exterms:creation-date>August 16, 1999</exterms:creation- date>

Như vậy với một phát biểu ta có thể dùng từ khóa rdf: Description để mô tả cho

nó Tuy nhiên ta thấy 3 phát biểu trên có cùng một subject

xmlns:exterms="http://www.example.org/terms/">

<rdf:Description

rdf:about="http://www.example.org/index.html">

<exterms:creation-date>August 16, 1999</exterms:creation-date> <dc:language>en</dc:language>

Trang 35

26

Mô hình cơ bản ban đầu trong RDF Schema là các định nghĩa lớp và lớp con (Class & Subclass), thuộc tính và thuộc tính con (Property & Subproperty), Domain và Range của các Statement - để giới hạn các kết hợp có thể có giữa các lớp và thuộc tính, các trình bày kiểu để khai báo một tài nguyên như một thực thể của một lớp cụ thể Ban đầu, chúng ta có thể xây dựng một lược đồ (Schema) cho một miền giá trị cụ thể Ví dụ: Chúng ta có thể khai báo 2 lớp tài nguyên Person và Webpage, 2 thuộc tính name và phone có miền giá trị Person và phạm vi Literal Chúng ta có thể dùng lược đồ này để xác định tài nguyên http://www.w3c.org/ là một thực thể Webpage và tài nguyên nặc danh (Anonymous Resource) là một thực thể của Person Ngoài ra, điều này sẽ giải thích cũng như kiểm định giá trị đối với dữ liệu RDF

RDF Schema khá đơn giản so với các ngôn ngữ biểu diễn tri thức khác RDF Schema cũng không cung cấp chính xác ngữ nghĩa (Semantic) Tuy nhiên, sự bỏ sót này một phần là do có chủ ý W3C thấy trước và chủ trương mở rộng xa hơn đối với RDF Schema Do đặc tả RDF Schema cũng là một kiểu metadata, chúng ta có thể dùng RDF để

mã hóa chúng Điều này chính xác với những gì thể hiện trong đặc tả RDF Schema Document Hơn thế nữa, đặc tả cung cấp một RDF Schema Document để xác định các thuộc tính và các lớp được mô tả

Ví dụ:

<rdf:RDF xml:lang="en"

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#"> <rdfs:Class rdf:ID="Person">

<rdfs:comment>The class of people.</rdfs:comment>

</rdf:Property>

<rdf:Property ID="age">

<rdfs:range

Trang 36

27

rdf:resource="http://www.datatypes.org/useful_types#Integer"/> <rdfs:domain rdf:resource="#Person"/>

số lượng các thực thể của lớp này

XML và RDF có những hình thức, mục đích, và vai trò trong viễn cảnh Web ngữ nghĩa khác nhau, XML hướng đến cung cấp một cú pháp dễ sử dụng cho dữ liệu Web Với nó, chúng ta có thể mã hóa tất cả các kiểu dữ liệu và dùng chúng để trao đổi giữa các máy tính, sử dụng XML Schema để tạo ra luật cho cấu trúc dữ liệu Vì vậy XML trở thành ngôn ngữ nền tảng cho Web ngữ nghĩa Ngày nay nhiều kỹ thuật sử dụng XML làm

cú pháp thiết yếu XML không giải thích trước về dữ liệu, vì vậy nó không đóng góp nhiều về khía cạnh ngữ nghĩa (Semantic) của Web ngữ nghĩa RDF cung cấp một mô hình chuẩn để mô tả các dữ kiện về tài nguyên Web, cung cấp một số giải thích về dữ liệu RDF Schema mở rộng những giải thích này thêm

Tuy nhiên, để thực sự nhận biết được viễn cảnh Web ngữ nghĩa, ta cần có thêm nhiều ngữ nghĩa về dữ liệu, những sự mở rộng và phát triển cao hơn là cần thiết Thực sự

đã có nhiều bước tiến triển theo khuynh hướng này chẳng hạn như ngôn ngữ DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer) thêm các mô hình nguyên thủy (Modeling Primitive) mới và ngữ nghĩa hình thức (Formal Semantic) đối với RDF Schema So với RDF và RDFS, DAML cho phép chúng ta sử dụng nhiều kiểu dữ liệu chính xác hơn (được định nghĩa trong XSD) để mô tả dữ liệu Ngoài những thuận lợi này, DAML có nhiều bộ dữ liệu mở đối với mọi người trên Web

Trang 37

Ví dụ: Công ty example.org muốn sử dụng RDF để cung cấp thông tin về những loại xe (Motor Vehicles) khác nhau Đầu tiên công ty này phải sử dụng một lớp để biểu diễn lớp xe (Motor Vehicles) Trong RDF Schema bất kỳ tài nguyên nào có thuộc tính là rdf:type và có giá trị là resource rdfs:Class gọi là một Class Vì vậy ta định nghĩa lớp MotorVehicle như sau:

ex:MotorVehicle rdf:type rdfs:Class

Tương tự như vậy công ty này phải mô tả các lớp xe còn lại là một class:

ex:PassengerVehicle rdf:type rdfs:Class

ex:Van rdf:type rdfs:Class

ex:Truck rdf:type rdfs:Class

ex:MiniVan rdf:type rdfs:Class

Tới đây ta chỉ mới có các lớp độc lập, cái công ty này cần đến là mô tả sự liên quan giữa các lớp với nhau Lớp PassengerVehicle, Van, Truck (là lớp con của lớp MotorVehicle) và lớp MiniVan (là lớp con của lớp Van và lớp PassengerVehicle) Chúng

ta sẽ dùng thuộc tính rdfs:subClassOf để mô tả thông tin này:

ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle

ex:Van rdfs:subClassOf ex:MotorVehicle.

ex:Truck rdfs:subClassOf ex:MotorVehicle ex:MiniVan rdfs:subClassOf ex:Van.

ex:MiniVan rdfs:subClassOf ex:PassengerVehicle.

Và cú pháp RDF/XML để mô tả cho ví dụ trên như sau:

Trang 39

30

ex:age rdfs:range xsd:Integer

- Cách sử dụng rdfs:domain: Thuộc tính rdfs:domain đượ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ụ: Công ty example.org 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

exterms:weight rdfs:domain ex:Book

exterms:weight rdfs:domain ex:MotorVehicle

d FOAF - Sự mở rộng của RDF

FOAF (Friend Of A Friend) cung cấp một bộ từ vựng (Ontology) cơ bản để mô tả thông tin về con người (People), nhóm (Group), tổ chức (Organization) và nhữngloại khác và các thông tin liên quan Ví dụ: Để lưu thông tin của một người ta cần có những thông tin sau: tên, tuổi, nghề nghiệp, giới tính, ngày tháng năm sinh, hình ảnh hay có những tài liệu nào thì trong FOAF đã cung cấp sẵn cho chúng ta một bộ từ vựng cơ bản để

có thể mô tả những thông tin này

Tài liệu trên mô tả một người (foaf:Person) có tên (foaf:name) là ‘Dan Brickley’ và

có địa chỉ mail (foaf:mbox) là db@yahoo.com, có một trang Web (foaf:homepage) là http://rdfweb.org/people/danbri/ và có một hình ảnh (foaf:image) lưu tại địa chỉ:

Trang 40

- Xây dựng một đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn

b Tạo một câu truy vấn đơn giản

Một câu truy vấn gồm có hai mệnh đề, SELECT và WHERE Mệnh đề SELECT xác định biến nào xuất hiện trong những kết quả truy vấn, còn mệnh đề WHERE bao gồm các một mẫu bộ ba (tripple pattern) Một mẫu bộ ba là một bộ ba RDF nhưng mỗi thành phần (chủ ngữ, vị từ, tân ngữ) đều có thể là một biến truy vấn

Một mẫu đồ thị cơ bản (Basic Graph Pattern) là một tập các mẫu bộ ba Ngôn ngữ SPARQL dựa trên nền tảng so sánh các mẫu đồ thị Kết quả truy vấn là tất cả các giải pháp mà một truy vấn có thể phù hợp với đồ thị được truy vấn Một câu truy vấn có thể có không, một hay nhiều kết quả

Ví dụ dưới đây sẽ chỉ ra một câu truy vấn để tìm ra một tựa đề (Title) của một quyển sách từ thông tin trong một đồ thị RDF

c Cú pháp của câu truy vấn

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ị literal

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ự

‘?’ Đôi khi người ta cũng sử dụng kí tự ‘$’ để chỉ một biến, để chỉ rằng nơi mà hệ thống sử dụng ‘?’ như một ký tự thay thế Trong một câu truy vấn, $abc và ?abc đều là

Ngày đăng: 09/03/2021, 11:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w