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

Web ngữ nghĩa và ứng dụng trong tra cứu văn hóa ẩm thực tại hải phòng

83 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 83
Dung lượng 2,3 MB

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

Nội dung

Chúng ta có thể hình dung một số lợi ích của Web ngữ nghĩa so với Web hiện tại ở một số điểm sau : Máy tính có thể hiểu được thông tin trên Web: Web ngữ nghĩa định nghĩa các khái niệm v

Trang 1

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

-

NGUYỄN CÔNG BẰNG

WEB NGỮ NGHĨA VÀ ỨNG DỤNG TRONG TRA CỨU

VĂN HÓA ẨM THỰC TẠI HẢI PHÒNG

Chuyên nghành : Khoa học máy tính

Mã số : 60.48.01

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học: PGS.TS ĐOÀN VĂN BAN

Thái nguyên – Năm 2014

Trang 2

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Mục lục

Mở đầu 4

CHƯƠNG 1: GIỚI THIỆU VỀ WEB NGỮ NGHĨA 8

1.1 Cách thức tìm kiếm thông tin của bộ máy tìm kiếm (Search engine) 8

1.1.1 Một số bộ tìm kiếm thông dụng 8

1.1.2 Cách thức tìm kiếm 9

1.1.3 Nguyên lý hoạt động 11

1.1.4 Hạn chế của web thông thường 11

1.2 Web ngữ nghĩa 12

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

1.2.2 Lợi ích của Web ngữ nghĩa 13

1.2.3 Các hướng nghiên cứu chính trong lĩnh vực dịch vụ web ngữ nghĩa 13

1.3 Kiến trúc phân tầng của Web ngữ nghĩa 14

1.3.1 Kiến trúc phân tầng 14

1.3.2 Vai trò của các tầng 14

1.4 RDF – Nền tảng của Web ngữ nghĩa 18

1.4.1 Giới thiệu 18

1.4.2 Các khái niệm cơ bản 18

1.4.3 Cấu trúc RDF/XML 19

1.4.4 RDFS collection 20

1.4.5 RDFS schema 22

1.5 Truy vấn dữ liệu trong RDF 26

1.5.1 Giới thiệu 26

1.5.2 Cú pháp truy vấn 26

1.5.3 Rằng buộc dữ liệu 28

rdfs:ConstraintResource 29

rdfs:ConstraintProperty 29

rdfs:range 29

Trang 3

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

rdfs:domain 30

1.6 Tổng kết chương 1 32

CHƯƠNG 2: CÔNG NGHỆ XÂY DỰNG WEB NGỮ NGHĨA 33

2.1 Ontology và ngôn ngữ web OWL 33

2.1.1 Khái niệm Ontology 33

2.1.2 Thành phần của Ontology 33

2.1.3 Phương pháp xây dựng Ontology 35

2.1.4 OWL (Ontology Web Language) 35

2.2 Các bước xây dựng Ontology 37

2.3 Công cụ xây dựng Ontology 39

2.3.1 Công cụ Sesame 39

2.3.2 Công cụ Chimaera 40

2.3.3 Công cụ Jena 40

2.3.4 Công cụ Protégé 40

2.4 Thư viện phát triển ứng dụng 42

2.4.1 Thư viện SemWeb 42

2.4.2 Thư viện mã nguồn mở OWLDotNetAPI 42

2.4.3 Thư viện mã nguồn mở dotNetRDF 42

2.5 Tổng kết chương 2 43

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG TRA CỨU VĂN HÓA ẨM THỰC TẠI HẢI PHÕNG 43

3.1 Tổng quan về Hải Phòng 43

3.1.1 Giới thiệu về Thành phố Hải Phòng 43

3.1.2 Ẩm thực đặc trưng của Thành phố Hải Phòng 45

3.2 Yêu cầu, hướng tiếp cận và giải pháp 59

3.2.1 Yêu cầu của ứng dụng 59

3.2.2 Hướng tiếp cận và giải pháp 60

3.3 Xây dựng Ontology 68

3.3.1 Miền và phạm vi của Ontology 68

3.3.2 Các lớp trong Ontology 68

Trang 4

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.3.3 Thuộc tính các lớp trong Ontology 70

3.3.4 Xác định các cá thể 73

3.4 Mô hình hệ thống 74

3.5 Thiết kế xử lý hệ thống 75

3.5.1 Chức năng tìm kiếm 75

3.5.2 Chức năng xem thông tin 76

3.6 Xây dựng hệ thống 77

3.6.1 Đọc RDF với dotNetRDF 77

3.6.2 Truy vấn với SPARQL 78

3.6.3 Thuật toán áp dụng 79

3.6.4 Kết quả chương trình 80

3.7 Tổng kết chương 3 81

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82

Trang 5

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Mở đầu

1 Lý do chọn đề tài

Ngày nay khoa học và công nghệ phát triển cùng với sự bùng nổ về internet thì Word Wide Web phát triển cả về nội dung lẫn hình thức Nó có một khối lượng thông tin khổng lồ, được tạo ra từ các tổ chức, cộng đồng và nhiều cá nhân với lý do khác nhau Người sử dụng Web có thể dễ dàng truy cập những thông tin này bằng cách chỉ

ra địa chỉ URL và theo các liên kết để tìm ra các tài nguyên liên quan khác

Tính đơn giản của Web hiện nay đã dẫn đến một số hạn chế, việc tìm kiếm thông tin trên Web có thể trả về một lượng lớn thông tin không hợp lý và không liên quan Tính đơn giản này đã gây ra hiện tượng thắt cổ chai, tạo khó khăn trong việc tìm kiếm, trích rút thông tin Máy tính chỉ biết gửi và trả thông tin, chúng không thể truy xuất những nội dung cần Nó chi hỗ trợ ở mức độ giới hạn nào đó trong việc truy xuất và xử lý thông tin Kết quả là người sử dụng phải đảm nhiệm việc truy cập, xử lý thông tin, trích lọc thông tin phù hợp với việc tìm kiếm

Để khắc phục các hạn chế này, khái niệm web ngữ nghĩa đã ra đời Web ngữ nghĩa là một bước tiến vượt bậc so với kỹ thuật web trước đó dựa vào khả năng làm việc với thông tin của chúng thay vì chỉ đơn thuần là lưu trữ thông tin

Hải Phòng là một trong 5 thành phố trực thuộc trung ương và là một đô thị loại 1 trung tâm cấp quốc gia, là thành phố lớn thứ 3 của Việt Nam,có vị trí quan trọng về kinh tế xã hội và an ninh, quốc phòng của vùng Bắc Bộ và cả nước

Ẩm thực Hải Phòng bình dị và dân dã, không cầu kỳ nhưng đậm đà khó quên Nơi đây nổi tiếng với các món hải sản Các nhà hàng hải sản ở khu vực Đồ Sơn nổi tiếng với tôm cua cá mực rất tươi và giá phải chăng Phong cách chế biến hải sản ở Hải Phòng theo phong cách dân dã, nhấn mạnh thực chất và vị tươi ngon của nguyên liệu nhiều hơn sự cầu kỳ trong gia vị và cách chế biến

Các món ăn như bánh đa cua, bún cá, bánh mỳ cay, cơm cháy hải sản, ốc cay, nem cua bể (nem vuông), giờ đây đã quá quen thuộc và nổi tiếng Những món ăn này

Trang 6

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

có thể được tìm thấy trên đường phố của những nơi khác như TP.Hồ Chí Minh, Hà Nội, nhưng được thưởng thức chúng trên Thành phố Hoa phượng đỏ vẫn là lý tưởng nhất vì sự lựa chọn nguyên liệu tươi ngon cùng với những bí quyết ẩm thực riêng của người đầu bếp Ẩm thực Hải Phòng đã từng được quảng bá sang Châu Âu tại lễ hội biển Brest 2008 (Cộng hòa Pháp) và đã gây được tiếng vang lớn

Ngoài ra, Hải Phòng còn nổi tiếng với nhiều món ăn khác như lẩu bề bề, nộm giá, thịt san biển, sủi dìn, bánh bèo, Một số món ăn không thể thưởng thức ở những nơi khác mà chỉ có tại Hải Phòng

Với những lý do trên, tôi xin chọn đề tài “Web ngữ nghĩa và ứng dụng trong

tra cứu đặc trưng văn hóa ẩm thực tại Hải Phòng”

2 Mục tiêu

Ứng dụng Semantic Web xây dựng ứng dụng tra cứu đặc trưng văn hóa ẩm thực tại Hải Phòng

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

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

- Tìm hiểu về web ngữ nghĩa, phương pháp xây dựng Ontology

- Tìm hiểu về các thông tin đặc trưng văn hóa ẩm thực tại Thành phố Hải Phòng

Phạm vi nghiên cứu:

- Nghiên cứu xây dựng tập từ vựng cơ bản về đặc trưng văn hóa ẩm thực tại Thành phố Hải Phòng

- Tổ chức lưu trữ dữ liệu của ứng dụng với Protégé và tính năng truy xuất

dữ liệu trong Ontology

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

- Tìm hiểu các vấn đề về Web ngữ nghĩa

- Thu thập các tài liệu liên quan

- Triển khai xây dựng ứng dụng

Trang 7

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

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

- Xây dựng tập từ vựng về văn hóa ẩm thực ở Hải Phòng

- Góp phần nâng cao khả năng tra cứu và chia sẻ thông tin về văn hóa ẩm thực tại thành phố Hải Phòng

6 Dự kiến bố cục luận văn

Luận văn được chia làm 3 chương:

Chương 1: Trình bày giới thiệu tóm tắt về Web ngữ nghĩa, kiến trúc của Web ngữ nghĩa, cũng như giới thiệu RDF – nền tảng của Web ngữ nghĩa Chương 2: Giới thiệu các công nghệ xây dựng Web ngữ nghĩa cụ thể là đi sâu vào nghiên cứu Ontology Đồng thời đưa ra giải pháp về ngôn ngữ và công cụ để xây dựng ứng dụng Semantic web

Chương 3: Giới thiệu về ứng dụng, phân tích và đề xuất giải pháp xây dựng ứng dụng Tiến hành xây dựng ontology, xử lý dữ liệu, cài đặt ứng dụng và đưa ra một số kết quả đạt được

Trang 8

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

CHƯƠNG 1: GIỚI THIỆU VỀ WEB NGỮ NGHĨA 1.1 Cách thức tìm kiếm thông tin của bộ máy tìm kiếm (Search engine)

Search engine hay còn gọi là máy tìm kiếm là một trang Web cho phép người

dùng tìm kiếm nội dung số của các trang Web trên Internet [1]

Thường kỳ, máy tìm kiếm sẽ dò quét nội dung tất cả các trang Web trên Internet và cập nhật nội dung văn bản text vào cơ sở dữ liệu khổng lồ của mình mà người dùng

có thể khai thác sau đó Để làm việc này các máy tìm kiếm thường gửi các Web crawler, web spider hay web robot (ví dụ googlebot của Google – Yahoo slurp của Yahoo) đến các trang cần đánh chỉ số Các bọ tìm kiếm này sẽ truy cập phân tích và gửi nội dung về các máy tìm kiếm

Máy tìm kiếm sắp xếp các trang Web dựa vào nội dung HTML của trang Việc này khác với các thư mục Web truyền thống mà những người kiểm duyệt sắp đặt trong các mục riêng biệt với tên site và miêu tả đi kèm

1.1.1 Một số bộ tìm kiếm thông dụng

Bộ thu thập thông tin

Cơ sở dữ liệu cuả các search engine được cập nhật hoá bởi các chương trình đặc biệt thường gọi là "robot", "spider" hay "Webcrawler" Các chương trình này sẽ tự động dò tìm và phân tích từ những trang có sẵn trong cơ sở dữ liệu để kiếm ra các liên kết (links) từ các trang và trở lại bổ xung dữ liệu cho các search engine sau khi phân tích

Về bản chất robot chỉ là một chương trình duyệt và thu thập thông tin từ các site theo đúng giao thức web Những trình duyệt thông thường không được xem là robot

do thiếu tính chủ động, chúng chỉ duyệt web khi có sự tác động của con người

Bộ lập chỉ mục – Index

Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và xử lý dữ liệu, thực hiện việc phân tích, trích chọn những thông tin cần thiết (thường là các từ đơn, từ ghép, cụm từ quan trọng) từ những dữ liệu mà robot thu thập được và tổ chức thành cơ sở

Trang 9

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

dữ liệu riêng để có thể tìm kiếm trên đó một cách nhanh chóng, hiệu quả Lập chỉ mục là giai đoạn phân tích tài liệu (document) để xác định các chỉ mục biểu diễn nội dung của tài liệu Hệ thống chỉ mục là danh sách các từ khoá, chỉ rõ các từ khoá nào xuất hiện ở trang nào, địa chỉ nào

Bộ tìm kiếm thông tin – Search Engine

Search engine là cụm từ dùng chỉ toàn bộ hệ thống bao gồm bộ thu thập thông tin,

bộ lập chỉ mục & bộ tìm kiếm thông tin Các bộ này hoạt động liên tục từ lúc khởi động hệ thống, chúng phụ thuộc lẫn nhau về mặt dữ liệu nhưng độc lập với nhau về mặt hoạt động

Search engine tương tác với user thông qua giao diện web, có nhiệm vụ tiếp nhận và trả về những tài liệu thoả yêu cầu của user

Bộ Query Engine

Bộ công cụ truy vấn có nhiệm vụ nhận và tìm kiếm các yêu cầu của người sử dụng,

Bộ công cụ này sẽ dựa vào bảng chỉ mục và các kho lưu trữ Bởi kích thước của web rất lớn, thêm nữa khi sử dụng chỉ đưa vào một hay hai từ khóa sau đó sẽ nhận được tập kết quả Do đó phải có một modul sắp xếp kết quả theo thứ tự sao cho nó gần với nội dung đang cần tìm nhất

Sắp xếp

Đây là một modul có chức năng sàng lọc thông tin từ hàng triệu trang tương tự nhau

để sắp xếp vị trí từng trang sao cho phù hợp nhất

1.1.2 Cách thức tìm kiếm

Tìm kiếm thông tin nói chung là giải quyết các vấn đề như: biểu diễn, lưu trữ, tổ chức và truy cập đến các mục thông tin Việc tổ chức và biểu diễn thông tin giúp người sử dụng dễ dàng truy cập thông tin mà mình quan tâm Nhưng để mô tả các thông tin đó không phải là điều dễ dàng Do vậy, hệ thống tìm kiếm thông tin bao gồm quá trình cơ bản sau: Biểu diễn nội dung các tài liệu, biểu diễn yêu cầu người dùng và so sánh hai biểu diễn này

Quy trình biểu diễn tài liệu thường gọi là quá trình chỉ số hóa Quá trình này có thể lưu trữ thực sự các tài liệu trong hệ thống nhưng thường chỉ lưu một phần tài liệu, chẳng hạn như phần tiêu đề, phần tóm tắt Quá trình biểu diễn yêu cầu của người

Trang 10

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

dùng gọi là quá trình truy vấn Truy vấn biểu thị sự tương tác giữa hệ thống và người sử dụng Việc so sánh truy vấn với tài liệu cũng được gọi là quá trình đối sánh và cho kết quả là một danh sách các tài liệu được sắp xếp theo thứ tự mức độ liên quan với truy vấn

Rõ ràng, để mô tả thông tin yêu cầu một cách đầy đủ, người sử dụng không thể trực tiếp yêu cầu thông tin sử dụng các giao diện hiện thời của hệ thống tìm kiếm Thay

vì người sử dụng đầu tiên phải chuyển đổi thông tin yêu cầu này thành một truy vấn

mà có thể được xử lý bởi hệ thống tìm kiếm (hoặc hệ thống thu hồi thông tin (Information Retrieval - IR)) Thông thường, phép chuyển đổi này tạo ra một tập hợp các từ khoá (hoặc các term chỉ số) mô tả khái quát yêu cầu của người sử dụng Như vậy, việc tìm kiếm các tài liệu dựa trên nội dung thực sự của văn bản mà không phụ thuộc vào các từ khoá gắn với văn bản đó Các công cụ tìm kiếm văn bản nổi tiếng hiện nay như Google, Altavista, Yahoo,…là những hệ tìm kiếm đưa ra danh sách các văn bản theo độ quan trọng của câu hỏi đưa vào Để xây dựng một hệ tìm kiếm văn bản có hiệu quả cao, trước hết các văn bản và truy vấn ở dạng ngôn ngữ tự nhiên phải được tiền xử lý và chuẩn hoá

Sau đây là hai mô hình chi tiết cho bộ công cụ tìm kiếm thông tin truyền thống và

bộ công cụ tìm kiếm thông tin trên mạng

Biểu diễn

Truy vấn thông tin

Trang 11

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 1.1: Sơ đồ nguyên lý hoạt động

1.1.3 Nguyên lý hoạt động

Search Engine làm việc bằng cách lưu trữ thông tin về nhiều trang Web trên WWW Những thông tin này sẽ được thu thập bởi các Spider (chính là Web crawling) và nội dung của mỗi trang sẽ được phân tích để SE quyết định nên index cái nào (ví

dụ, những từ khoá được thu thập từ các titles, heading hay một số trường đặc biệt gọi là meta tags) để trả về những thông tin mà người tìm kiếm mong muốn nhất

Dữ liệu về những trang Web sẽ được lưu trữ tại các cơ sở dữ liệu chỉ mục để sử dụng cho những lần truy vấn sau Một số Search Engine, như Google chẳng hạn, sẽ lưu trữ toàn bộ hay một phần trang gốc (được xem như một cache) cũng như thông tin về trang Web đó, trái lại với một số SE khác, như AltaVista, sẽ lữu trữ tất cả các

từ của những trang mà nó tìm thấy [5]

Khi người dùng nhập vào các Search Engine một truy vấn (chủ yếu là các keyword), các SE này sẽ kiểm tra các index của nó và cung cấp danh sách các trang Web phù hợp nhất, thường là các cụm từ ngắn hay một phần của một đoạn văn bản Hầu hết các Search Engine đều sử dụng các Boolean Operators (toán tử luận lý) như AND, OR và NOT để xác định các search query (truy vấn tìm kiếm) Một số SE khác lại sử dụng những phương pháp tiên tiến hơn như Proximity Search (tìm kiếm gần kề) để cho phép người dùng xác định được khoảng cách giữa các từ khoá

1.1.4 Hạn chế của web thông thường

Web thông thường (thế hệ web 2.0) chỉ hỗ trợ so khớp các từ khóa tìm kiếm, không

có khả năng suy diễn các từ đồng nghĩa Do vậy, kết quả tìm kiếm được lại phải nhờ vào quết định của con người khi chọn dịch vụ web cần sử dụng Máy có thể xử lý được nhưng máy vẫn chưa có khả năng hiểu và xử lý dịch vụ trả về có thật sự đúng

với yêu cầu cùa người dùng dịch vụ [5]

Có thể tóm tắt các mặt hạn chế của dịch vụ web thông thường như sau:

Trang 12

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

* Có các dịch vụ web không liên quan

* Bỏ xót các dịch vụ web thật sự liên quan vì không có sự suy diễn, quyết định sử dụng dịch vụ web phải do con người can thiệp

1.2 Web ngữ nghĩa

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

World Wide Web (gọi tắt là Web) đã trở thành một kho tàng thông tin khổng lồ của nhân loại và một môi trường chuyển tải thông tin không thể thiếu được trong thời đại công nghệ thông tin ngày nay Sự phổ biến và bùng nổ thông tin trên Web cũng đặt ra một thách thức mới là làm thế nào để khai thác được thông tin trên Web một cách hiệu quả, mà cụ thể là làm sao để máy tính có thể trợ giúp xử lý tự động được chúng Muốn vậy, trước hết máy tính phải hiểu được thông tin trên các tài liệu Web, trong khi ở thế hệ Web hiện tại thông tin được biểu diễn dưới dạng chỉ con người mới đọc hiểu được Các chuyên gia dự đoán, bề nổi của web (surface web) chứa khoảng 1 đến 2 tỷ trang tài liệu trong khi, ở phần sâu của web thì chứa đến 550 tỷ trang tài liệu Có khoảng 200.000 website có tầng thông tin sâu, khoảng hơn 1/2 số thông tin này nằm trong các cơ sở dữ liệu có chủ đề riêng biệt Khoảng 95% thông tin trong các website có tầng thông tin sâu cho phép đa số người dùng có thể khai thác miễn phí

Nhưng hiện nay, hầu hết các công cụ tìm kiếm tài liệu trên web được coi là tìm kiếm hiệu quả cũng chủ yếu tìm kiếm được trên bề nổi của web Trong khi ở tầng sâu của web chứa một khối lượng thông tin khổng lồ và thường rất có giá trị cho các nhà nghiên cứu, các học giả hay đơn thuần là những người thích tìm hiểu Bên cạch

đó, các trang web hiện nay có rất ít đường liên kết với các trang web khác nên việc tìm kiếm là khó khăn Ngoài ra, thông tin tìm kiếm được không theo chủ đề mà chỉ

là vấn đề tìm thoả theo từ khoá đơn thuần, kết quả tìm kiếm phải do con người chọn lại theo chủ đề mong muốn

Trang 13

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Chính những vấn đề này đã thúc đẩy sự ra đời của ý tưởng Web ngữ nghĩa (Semantic Web), một thế hệ mới của Web, mà chính cha đẻ của World Wide Web

là Tim Berners-Lee đề xuất vào năm 1998 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ể cùng làm việc với nhau một cách hiệu quả hơn Mục tiêu của Web có ngữ nghĩa là để phát triển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được nhiều hơn thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá thông tin (thông tin được tìm kiếm nhanh chóng và chính xác hơn), tích hợp dữ liệu (dữ liệu liên kết động), và tự động hóa các công việc

1.2.2 Lợi ích của Web ngữ nghĩa

Web ngữ nghĩa không phải là sự phủ nhận hoàn toàn web hiện tại, mà là một sự kế thừa có chọn lọc Chúng ta có thể hình dung một số lợi ích của Web ngữ nghĩa so với Web hiện tại ở một số điểm sau :

Máy tính có thể hiểu được thông tin trên Web: Web ngữ nghĩa định nghĩa các

khái niệm và bổ sung quan hệ dưới dạng máy tính có thể hiểu được Do đó, việc tìm kiếm, đánh giá, xử lý, tích hợp thông tin có thể được tiến hành một cách tự động

Thông tin được tìm kiếm nhanh chóng và chính xác hơn: Với Web ngữ

nghĩa, máy tính có thể xác định một thực thể thuộc lớp hay thuộc tính cụ thể nào dựa trên ngữ cảnh chứa nó Do đó thu hẹp không gian tìm kiếm và cho kết quả nhanh, chính xác hơn

Khả năng suy luận thông minh: Dựa vào các luật suy diễn trên cơ sở tri thức

về các thực thể, máy tính có khả năng sinh ra những kết luận mới Ứng dụng Web tương lai có thể sẽ trả lời được những câu hỏi kiểu như: “Thời tiết thứ 6 tuần trước

có lạnh không?”

Dữ liệu liên kết động: Thay thế cách liên kết sử dụng hyperlink tĩnh trong

Web cũ, Web ngữ nghĩa liên kết dữ liệu từ nhiều nguồn khác nhau một cách hiệu quả hơn dựa trên định danh của tài nguyên (URI) và quan hệ giữa chúng Cách liên kết này đôi khi còn được gọi là liên kết bằng siêu dữ liệu (meta data)

1.2.3 Các hướng nghiên cứu chính trong lĩnh vực dịch vụ web ngữ nghĩa

Trang 14

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Tại hội nghị International Semantic Web Conference 2008, John Domingue và David Martin trình bày, hiện có 7 hướng nghiên cứu chính trong lĩnh vực dịch vụ

web ngữ nghĩa [2]

Bao gồm:

- Ngôn ngữ và từ vựng để biểu diễn ngữ nghĩa cho dịch vụ web

- Phát hiện và chọn lựa dịch vụ web phù hợp với nhu cầu dựa trên ngữ nghĩa

- Tổng hợp và phối hợp hoạt động của các dịch vụ web dựa trên một quy trình

- Quản lý giao tác và tài nguyên cho dịch vụ web ngữ nghĩa

- Dịch vụ sử dụng trên các thiết bị di động

- Các vấn đề về bảo mật trong việc sử dụng dịch vụ web ngữ nghĩa

- Các công cụ và môi trường (tự động hoặc bán tự động) trong việc phát triển và khai thác dịch vụ web ngữ nghĩa

1.3 Kiến trúc phân tầng của Web ngữ nghĩa

Dữ liệu

Quy Định

Trang 15

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Đây là tầng đầu tiên của kiến trúc Semantic Web Nó là hạ tầng đầu tiên cho xây dựng Semantic Web là nền tảng để mã hóa, định vị và truyền vận thông tin Với Unicode là chuẩn mã hóa dữ liệu để vận chuyển thông tin Unicode là mã chuẩn quốc tế, nó cho phép mã hóa mọi ngôn ngữ

URI-Uniform Resource Identifier là nền tảng để xác định vị trí cho các tài nguyên Web cũng chính là việc xác định tài nguyên Web

Thực tế tầng này đã được hoàn thiện và sử dụng trong nền Web hiện tại Các URI được miêu tả với các giao thức khác nhau như : HTTP, FTP, SMTP… hiện đang được sử dụng rộng rãi trên Internet Sự xuất hiện của tầng này cho thấy được sự

kế thừa thực sự của Semantic Web Semantic Web thực sự chỉ là một sự mở rộng của Web hiện tại nó dữ lại những đặc điểm thiết kế bên dưới của Web hiện tại và chỉ mở rộng thêm phần ngữ nghĩa ở những mức bên trên nhằm tạo thêm một khung nhìn mới cho Web hiện tại đó là khung nhìn của các ứng dụng (của máy tính)

áp dụng cho các tài liệu XML

Thực sự thì ở tầng thứ hai này mọi cái vẫn được kế thừa từ những gì mà Web hiện tại đã làm được Các chuẩn cú pháp XML, không gian tên và XML Schema vẫn được chấp nhận trong Semantic Web Do đó nó là một cơ sở để tích hợp các định nghĩa Semantic Web với các chuẩn XML khác

Tầng RDF+rdfschema

Trang 16

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Bắt đầu từ tầng này, các đặc điểm mới của Web thực sự được bộc lộ làm cơ sở để khẳng định rằng nó là Semantic Web Sự thực thì tầng này có vai trò như một mô hình, ngôn ngữ để biểu diễn ngữ nghĩa hay tạo ra các khung nhìn đơn giản tới máy tính

RDF –Resource Description Language là một ngôn ngữ, một mô hình dữ liệu cho phép biểu diễn các siêu dữ liệu hay các phát biểu ngữ nghĩa về dữ liệu (cái mà trong Web được gọi là tài nguyên-resource)

RDFS-RDF Vocabulary Description Langauge là một ngôn ngữ để miêu tả các từ vựng được sử dụng trong tài liệu RDF Sự xuất hiện của RDFS giúp tăng cường ngữ nghĩa cho mô hình dữ liệu RDF

Tầng Ontology Vocabulary

Thông qua việc miêu tả các từ vựng dưới dạng cây hay dạng phân lớp, RDFS đã góp phần mở rộng ngữ nghĩa cho dữ liệu RDF Tuy nhiên nếu dừng lại ở đây, ngữ nghĩa mà dữ liệu RDF cung cấp thực sự chưa đủ để đạt được những gì mà Semantic Web mong đợi Từ đó mà tầng Ontology cần thiết được xây dựng

Ontology cho phép mở rộng từ vựng để miêu tả những thuộc tính và những lớp chẳng hạn như các mối quan hệ khác giữa các lớp mà không chỉ đơn thuần là quan

hệ cha con

Có thể nói rằng RDF giống như các kiểu tài nguyên sử dụng trong các tài liệu RDF Nhờ định nghĩa về kiểu một cách thống nhất này mà phần nào đó ngữ nghĩa được thêm vào trong RDF Đến lượt Ontology thì ngữ nghĩa được thêm vào đúng với mức từ vựng và được chia sẻ trên internet

Tầng Logic

Tâng Logic hiện tại vẫn đang được phát triển và hiện tại chưa có một công bố nào

có tính chất chuẩn và hoàn thiện về tầng này Nhóm phát triển Semantic Web của W3C thực sự vẫn đang phát triển tầng này và cũng vẫn chưa hề đưa ra những miêu tả hoàn chỉnh nào về tầng này

Trang 17

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Bản chất của tầng logic là cung cấp những cơ sở để siêu dữ liệu RDF có thể trở thành tri thức, cái được áp dụng để thực hiện các suy luận logic nhằm chứng minh hoặc đưa ra các thông tin mới từ các thông tin đã có

Câu trả lời dĩ nhiên là không, bởi vì hai lý do cơ bản sau:

- Ứng dụng trên Semantic Web ở hiện tại thường dựa trên nền tảng một ngữ cảnh

Digital signatures

Áp dụng công nghệ mã hóa và ký điện tử trong RDF Đảm bảo cho chúng ta rằng nguồn tài liệu mà ta đang sử dụng là do chính xác một nhà cung cấp nào đó – Giống như sự xác thực điện tử mà trong an toàn thông tin đã đề cập đến

Trong kiến trúc của Semantic Web, Digital signature đóng một vai trò rất quan trọng Nó gắn liền với các tầng của kiến trúc Semantic Web kể từ tầng thứ ba

Trang 18

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

RDF, với vai trò là mở rộng cho các tầng này để đảm bảo rằng những thông tin trong các tài liệu này là xác thực do một nhà cung cấp nào đó Điều này giúp ngăn chặn sự sụp đổ của Semantic Web do chính đặc tính đơn giản và phổ cập của nó mang đến Với Digital Signature, các ứng dụng sẽ có căn cứ để sử dụng các thông tin chính xác do những nhà cung cấp mà ứng dụng đó tin tưởng

1.4 RDF – Nền tảng của Web ngữ nghĩa

1.4.1 Giới thiệu

XML cung cấp cú pháp để mã hóa dữ liệu, RDF là một cơ cấu chỉ ra điều gì đó về

dữ liệu 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 thì đơn giản, bên cạnh tài nguyên (resources), RDF còn chứa thuộc tính (properties) và câu phát biểu (statements) Một property

là một khía cạnh, tính chất, thuộc tính, hay mối liên hệ mô tả cho một tài nguyên Một statement bao gồm một tài nguyên riêng biệt, một thuộc tính được đặt tên, và giá trị thuộc tính cho tài nguyên đó Giá trị này cơ bản có thể là một tài nguyên khác hay một giá trị mang tính nghĩa đen (literal value) hay dạng text tùy ý (free

text) [3]

1.4.2 Các khái niệm cơ bản

RDF(Resource Description Framework)

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 [3]

Theo Wikipedia, dữ liệu liên kết (Linked Data) là một phần của web ngữ nghĩa,

nó mô tả cách hiệu quả để truy xuất, chia sẽ và kết nối các mảng dữ liệu, thông tin

và tri thức trên web ngữ nghĩa sử dụng liên kết URIs và RDF

Giống như web của văn bản, web của dữ liệu được xây dựng dựa trên các tài liệu trên web Tuy nhiên, không giống web của văn bản, các liên kết là quan trên văn bản biểu diễn dưới dạng HTML, web của dữ liệu liên kết các “thực thể được đặt tên” thông qua RDF URIs xác định các loại đối tượng và khái niệm

Trang 19

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

RDF chính là nền tảng trung tâm của web ngữ nghĩa Trong khi XML cung cấp cú pháp để mã hóa dữ liệu thì 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 định danh bằng URI

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

để nhúng siêu dữ liệu trong văn bản web

[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 nào 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)

Trang 20

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

[15] string ::= (bất kỳ chuỗi nào)

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

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

Cú pháp RDF/XML để biểu diễn cho phát biểu trên như sau:

Dòng 2 và 3: bắt đầu với thẻ rdf:RDF , cho biết rằng nội dung XML tiếp theo mô

tả RDF Từ khóa này xác định tài liệu này được biểu diễn dưới dạng RDF Tiếp theo là phần khai báo XML namespace được sử dụng trong tài liệu, tùy vào nhu cầu và mục đích sử dụng mà ta có thể dùng các namespace khác nhau cho từng tài liệu

Dòng 4, 5, 6: mô tả những mệnh đề RDF Để mô tả bất kỳ phát biểu nào dạng RDF/XML có thể dùng rdf:Description, và rdf:about , đây chính là subject của phát biểu Thẻ bắt đầu rdf:Description trong dòng 4 cho biết bắt đầu mô tả về một resource, và tiếp tục định danh resource này dùng thuộc tính rdf:about để chỉ ra URI của subject resource Dòng 5 cung cấp 1 phần tử thuộc tính, với Qname exterms:creation-date như là thẻ của nó Nội dung của phần tử thuộc tính này là object của statement, có giá trị là kiểu plain literal “August 19, 1999 “

Dòng 7: cho biết kết thúc của thẻ rdf:RDF bắt đầu ở dòng 2 và cũng là thẻ kết thúc của tài liệu RDF

1.4.4 RDFS collection

Trang 21

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

RDF Collection cho phép khai báo một tập hợp đóng, tương tự một danh sách, có phần tử đầu (rdf:first), phần tử kế (rdf:rest) và phần tử cuối (rdf:nil)

ví dụ trên một cách ngắn gọn hơn như sau:

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:c="http://example.org/creator/vocab#">

Trang 22

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

</rdf:RDF>

1.4.5 RDFS schema

RDF cung cấp một cách để mô tả các phát biểu đơn giản về các resource, sử dụng các thuộc tính và giá trị đã được định nghĩa trước Tuy nhiên, nhu cầu của con người đỏi hỏi phải có một khả năng để tự định nghĩa các thuật ngữ mà họ muốn dùng trong các phát biểu đó Ví dụ như, công ty example.com trong ví dụ muốn

mô tả các lớp như exterms:Tent, và sử dụng thuộc tính exterms:model, exterms:weighInKg và exterms:packedSize để mô tả chúng hoặc là một ứng dụng nào đó muốn mô tả các lớp như ex3:Person, ex3:Company và các thuộc tính như ex3:age, ex3:jobTitle, ex3:stockSymbol, ex3:numberOfEmployees

RDF schema cung cấp một khung để mô tả các lớp, thuộc tính của ứng dụng cụ

thể Các lớp trong RDFS giống như các lớp trong lập trình hướng đối tượng, cho phép các tài nguyên được định nghĩa như là 1 thực thể của lớp, hay lớp con của lớp

Định nghĩa lớp (class)

Các tài nguyên trên Web có thể chia thành các nhóm gọi là class Các thành viên của nhóm được xem như là thể hiện của lớp đó Thông qua các định danh URI, các tài nguyên được truy xuất và có thể được mô tả bằng các RDF properties Thuộc tính rdf: type được sử dụng để chỉ ra một resource là một thể hiện của một class

Định nghĩa thuộc tính (property)

từ vựng cho các tài sản và các lớp tài nguyên RDF mô tả

XML

cung cấp một cú pháp bề mặt quy định cụ thể hạn chế được gọi là cú pháp tốt

Trang 23

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

RDF Schema cung cấp một bộ từ vựng để mô tả làm thế nào mà các thuộc tính và lớp có thể được sử dụng cùng nhau trong RDF 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

Hình 1.5 – Hình Không gian miền và giới hạn của thuộc tính RDFS

Cách sử dụng rdfs:range

Thuộc tính rdfs:range 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ụ như, nếu công ty example.org muốn chỉ rằng thuộc tính ex:author có giá trị là thể hiện của lớp ex:Person, ta sẽ viết phát biểu RDF như 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ó object 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, như ví dụ sau:

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 typed literal ex:age rdf:type rdf:Property

ex:age rdfs:range xsd:integer

Cách sử dụng rdfs:domain

Trang 24

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

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ụ như, 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 khác

exterms:weight rdfs:domain ex:Book

exterms:weight rdfs:domain ex:MotorVehicle

Luật suy diễn ngữ nghĩa trong RDFS

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 (domain), dải (range)

Trường hợp 1: Suy diễn về loại của lớp (type)

IF (c2, subClassOf, c1)

AND (x, type, c2)

THEN (x, type, c1)

Ví dụ:

IF (Man, subClassOf, Person)

AND (Tom, type, Man)

THEN (Tom, type, Person)

Trường hợp 2: Suy diễn về thuộc tính của lớp (Property)

IF (p2, subPropertyOf, p1)

AND (x, p2, y)

THEN (x, p1, y)

- Ví dụ:

IF (author, subPropertyOf, creator)

AND (Tom, author, Report2010)

THEN (Tom, creator, Report2010)

Trường hợp 3: Suy diễn về lớp con của lớp (subclassOf)

IF (c2, subClassOf, c1)

Trang 25

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

AND (c3, subClassOf, c2)

THEN (c3, subClassOf, c1)

- Ví dụ:

IF (Person, subClassOf, Animal)

AND (Man, subClassOf, Person)

THEN (Man, subClassOf, Animal)

Trường hợp 4: Suy diễn về thuộc tính con của thuộc tính (subPropertyOf)

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 (Tom, author, Report2010)

THEN (Tom, type, Human)

Trường hợp 6: Suy diễn trong dải giới hạn (range) IF (p1, range, c1)

AND (x, p1, y)

THEN (y, type, c1)

- Ví dụ:

IF (author, range, Document)

AND (Tom, author, Report2010)

THEN (Report, type, Document

Trang 26

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

1.5 Truy vấn dữ liệu trong RDF

1.5.1 Giới thiệu

Như chúng ta đã biết 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 Nó được sử dụng để mô tả nhiều loại thông tin ví dụ như thông tin về cá nhân, về hệ thống mạng toàn cầu, meta-data về multimedia như music và hình ảnh cũng như là cung cấp một phương tiện để tích hợp các nguồn tài nguyên khác Với một lượng thông tin quá lớn như vậy, làm thế nào dữ liệu có thể được truy vấn nhanh chóng và chính xác? Tổ chức W3C đã phát triển một ngôn ngữ chuẩn để truy vấn dữ liệu RDF với việc cung cấp nhiều chức năng cho các developer và end users cách để viết và thực thi một câu truy vấn Kỳ này mô

tả ngôn ngữ truy vấn Protocol And RDF Query Language (SPARQL) để truy cập

dữ liệu RDF được phát triển bởi nhóm RDF Data Access Working Group-một phần trong hoạt động của Semantic Web

Một RDF Graph là một tập các bộ ba subject, predicate và object Những bộ này

có thể đến từ nhiều tài nguyên khác nhau Ví dụ như: chúng có thể đến từ một tài liệu RDF, chúng có thể được suy ra từ các RDF triple khác hoặc là chúng có thể là

sự mô tả RDF của các dữ liệu được lưu trữ từ các định dạng khác như XML hay là

từ một cơ sở dữ liệu quan hệ

SPARQL là một ngôn ngữ để truy cập thông tin từ các đồ thị RDF Nó cung cấp các tính năng sau:

- Trích thông tin trong các dạng của URI, các blank node và các plain hay typed literals

- Trích thông tin từ các đồ thị con

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

1.5.2 Cú pháp truy vấn

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ự „?‟ hay kí tự „$‟ để chỉ một biến

Trang 27

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

SPARQL cung cấp một cơ chế viết tắt Tiếp đầu ngữ (prefix) có thể được định nghĩa và một QName sẽ cung cấp một dạng viết làm cho URI có thể ngắn gọn Sau đây là một cách viết tắt cho triple pattern

Blank node có thể xuất hiện trong một mẫu truy vấn Nó giữ vai trò như một biến,

dù không được đề cập trong kết quả của câu truy vấn hay bất kỳ nơi nào ở trong graph pattern

Blank node trong các câu truy vấn khác với với các blank node trong dữ liệu, do

đó blank node trong một graph pattern không tương ứng với một blank node trong

dữ liệu thông qua một nhãn blank node

Ví dụ:

- Dữ liệu

@prefix foaf: <http://xmlns.com/foaf/0.1/>

_:a foaf:name "Chuong Nguyen"

Trang 28

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Ví dụ, trong khi RDFS có thể khẳng định rằng một thuộc tính author đƣợc dùng để chỉ thị những tài nguyên mà tài nguyên đó là thành viên của lớp Person thì nó không cho biết một ứng dụng cần phải họat động nhƣ thế nào trong việc xử lý thông tin đó RDFS có thể mô tả những ràng buộc quan hệ nhiều mục từ vựng từ nhiều giản đồ phát triển độc lập Từ khi các URI đƣợc dùng để xác định các lớp và các thuộc tính thì nó có thể tạo ra những thuộc tính mới mà thuộc tính domain hay range của nó ràng buộc tham chiếu tới các lớp định nghĩa trong khôn gian tên khác

Những ràng buộc rdfs:domain và rdfs:range là những ràng buộc về thuộc tính, các luật mà thuộc tính rdfs:subPropertyOf và rdfs:subClassOf không nên tạo ra những

vòng lặp, cộng với những ràng buộc sử dụng kỹ thuật có thể mở rộng

rdfs:ConstraintResource Những ứng dụng khác nhau có thể hoạt động khác nhau

khi làm việc với những RDF Một số các ví dụ của các ràng buộc bao gồm:

Giá trị của một thuộc tính phải là một tài nguyên của một lớp rõ ràng Điều này đƣợc biết nhƣ một ràng buộc range Ví dụ, một ràng buộc range áp dụng

Trang 29

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

cho thuộc tính author có thể mô tả rằng giá trị của thuộc tính author phải là một tài nguyên của lớp Person

Một thuộc tính có thể được dùng dựa trên các tài nguyên của một lớp nhất định Điều này được biết như một ràng buộc domain Ví dụ, thuộc tính

author chỉ có thể bắt nguồn từ một tài nguyên mà tài nguyên đó là môt thể hiện của lớp Book

Mặc dù mô hình dữ liệu RDF không cho phép những thuộc tính rõ ràng như

thuộc tính rdf:type để gán cho những Literal, tuy nhiên, chúng ta coi như những

thực thể này là thành viên của các lớp (ví dụ: chuỗi “John Smith” là thành viên của lớp rdfs:Literal)

rdfs:ConstraintResource

Tài nguyên này định nghĩa ra một lớp con của rdfs:Resource mà thể hiện của

chúng là những kết cấu RDFS liên quan tới các biểu thức ràng buộc mục đích của lớp này là cung cấp một cơ chế để cho phép các bộ xử lý RDF đánh giá khả năng của chúng để dùng thông tin ràng buộc kết hợp với mô hình RDF

rdfs:ConstraintProperty

Tài nguyên này định nghĩa ra một lớp con của rdf:Property, tất cả các thể hiện cua chúng đều là các thuộc tính sử dụng để xác định các ràng buộc Lớp này là lớp con của rdfs:ContraintResource và tướng tác với tậpcon của lớp đó để biểu diễn những thuộc tính Cả rdfs:domain và rdfs:range là các thể hiện của rdfs:ConstraintProperty

Trang 30

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Ở đâu P có hơn một thuộc tính rdfs:range, thì ở đó những tài nguyên bao gồm những tân ngữ của những bộ ba với vị từ P là những thể hiện của tất cả những lớp được chỉ ra bởi những thuộc tính rdfs:range Thuộc tính rdfs:range có thể được áp dụng cho chính nó Rdfs:range của rdfs:range là một lớp rdfs:Class Điều này chỉ ra rằng đó là giá trị của một thuộc tính rdfs:range và là thể hiện của rdfs:Class Thuộc tính rdfs:range được áp dụng cho những thuộc tính Điều này có thể được biểu diễn trong RDF sử dụng thuộc tính rdfs:domain rdfs:domain của rdfs:range là lớp rdf:Property Điều này chỉ ra rằng bất kỳ tài nguyên nào có thuộc tính rdfs:range là thể hiện của rdf:Property

rdfs:domain

Là một thể hiện của rdf:Property và chúng được dùng để chỉ rằng bất kỳ tài nguyên nào có một thuộc tính đã cho là một thể hiện của một hay nhiều hơn một lớp Một bộ ba P rdfs:domain C chỉ rằng P là một thể hiện của lớp rdf:Property, mà

C là một thể hiện của lớp rdfs:Class và những tài nguyên chỉ ra bởi các chủ ngữ của

bộ ba mà vị từ của bộ ba nào là P thì chúng là những thể hiện của lớp C Nơi nào thuộc tính P có nhiều hơn hơn thuộc tính rdfs:domain thì những tài nguyên được chỉ thị bởi chủ ngữ của bộ ba với vị từ P là thể hiện của tất cả các lớp chỉ ra bởi thuộc tính rdfs:domain Thuộc tính rdfs:domain có thể áp dụng cho chính nó rdfs:domain của rdfs:domain là lớp rdf:Property và điều đó chỉ ra rằng bất kỳ tài nguyên nào có giá trị của thuộc tính rdfs:domain là một thể hiện của rdf:Class

RDFS sử dụng những thuộc tính ràng buộc để ràng buộc những thuộc tính riêng của nó có thể dùng như thế nào Những ràng buộc này được biểu diễn trong hình Chú ý những hình có đường viền đậm bên ngoài là thể hiện của rdfs:Class

Trang 31

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

<rdfs:domain rdf:resource="#MotorVehicle"/>

<rdfs:range rdf:resource="#Person"/>

</rdf:Description>

<rdf:Description ID="rearSeatLegRoom">

Trang 32

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

<rdf:type ns#Property"/>

Trang 33

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

CHƯƠNG 2: CÔNG NGHỆ XÂY DỰNG WEB NGỮ NGHĨA 2.1 Ontology và ngôn ngữ web OWL

2.1.1 Khái niệm Ontology

Trước hết ta cần phải biết Ontology là gì? Nói một cách đơn giản ontology là tập từ vựng để mô hình hóa thế giới bên ngoài, nó đưa ra các khái niệm cơ bản và định nghĩa quan hệ giữa các khái niệm đó trong một miền lĩnh vực Đồng thời ontology còn cung cấp các ràng buộc, là các giả định cơ sở về ý nghĩa mong muốn

của bộ từ vựng[5]

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

Chia sẻ hiểu biết chung về cấu trúc thông tin giữa con người và phần mềm agent

Sử dụng lại tri thức về một miền lĩnh vực đã được xây dựng từ trước

Trong hình trên ta thấy các ứng dụng khác nhau, muốn trao đổi thông tin với nhau thì cần phải có một tri thức chung, vì vậy các ứng dụng này đều sử dụng một ontology để có thể chia sẻ tri thức cho nhau

Ontology được sử dụng rộng rãi trong công nghệ tri thức, trí tuệ nhân tạo, và khoa học máy tính trong các ứng dụng liên quan đến quản lý tri thức, xử lý ngôn ngữ tự nhiên, thương mại điện tử, tích hợp thông tin, tìm kiếm thông tin, thiết kế cơ sở dữ liệu

* Lớp: Các tập hợp, hay kiểu của các đối tượng

* Thuộc tính: Thuộc tính, tính năng, đặc điểm, tính cách, hay các thông số

mà các đối tượng có và có thể đem ra chia sẻ

* Mối quan hệ: cách mà các đối tượng có thể liên hệ tới một đối tượng khác

Trang 34

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

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

Thực thể (Individuals) – Thể hiện

Cá thể là thành phần cơ bản của một ontology Các cá thể trong một ontology

có thể bao gồm các đối tượng rời rạ , cũng như các đối tượng trừu tượng như con số và từ

Lớp (Classes) - Khái niệm

ữ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ộ ọ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

Mối quan hệ (Relation)

Quan hệ giữa các đối tượng trong một ontology cho biết các đối tượng liên hệ với đối tượng khác như thế nào Sức mạnh của ontolgy nằm ở khả năng diễn đạt quan hệ Tập hợp các quan hệ cùng nhau mô tả ngữ nghĩa của domain Tập các dạng quan hệ được sử dụng và cây phân loại thứ bậc của chúng thể hiện sức mạnh diễn đạt của ngôn ngữ dùng để biểu diễn ontology

Ontology thường phân biệt các nhóm quan hệ khác nhau Vd:

Quan hệ giữa các lớp

Quan hệ giữa các thực thể

Quan hệ giữa một thực thể và một lớp

Trang 35

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Quan hệ giữa một đối tượng đơn và một tập hợp

Quan hệ giữa các tập hợp

2.1.3 Phương pháp xây dựng Ontology

Trong những năm gần đây, một loạt các phương pháp luận khác nhau được thiết

kế để trợ giúp cho việc tiến hành phát triển các nhiệm vụ được báo cáo trong tài liệu trí tuệ nhân tạo Các phương pháp truyền thống gồm Cyc (Lenat & Guha 1990), Uschold và King (Uschold $ King 1995), Gruninger và Fox (Gruninger $ Fox 1995), Kactus (Kactus 1996),và Methontology (Fernandez-Lopez, Gomes-Perez &

Juritso 1997) [3]

Các phương pháp luận cung cấp các chỉ dẫn chung và có cấu trúc Nếu làm theo

có thể tăng quy trình phát triển và cải tiến chất lượng cho kết quả cuối cùng Theo như đánh giá phương pháp luận “Methontology” là phương pháp luận thiết kế ontology phổ biến nhất (được hỗ trợ môi trường WebODE)

2.1.4 OWL (Ontology Web Language)

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 – một 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 Semantic Web 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 hệ thống máy tính có thể đọc được thay thế cho con người Vì OWL

Trang 36

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

đượ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à sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài sản, tích hợp mức doanh nghiệp và để chia sẻ cũng như tái sử dụng dữ liệu trên Web OWL được phát triển bởi 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, và vì 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

Các phiên bản của OWL: Hiện nay có ba loại OWL : OWL Lite, OWL DL (description logic), và OWL Full

OWL Lite: hỗ trợ cho những người dùng chủ yếu cần sự phân lớp theo thứ bậc

và các ràng buộc đơn giản Ví dụ: Trong khi nó hỗ trợ các ràng buộc về tập hợp,

nó chỉ cho phép tập hợp giá trị của 0 hay 1 Điều này cho phép cung cấp các công cụ hỗ trợ OWL Lite dễ dàng hơn so với các bản khác

OWL DL (OWL Description Logic): hỗ trợ cho những người dùng cần sự diễn

cảm tối đa trong khi cần duy trì tính tính toán toàn vẹn (tất cả các kết luận phải được đảm bảo để tính toán) và tính quyết định (tất cả các tính toán sẽ kết thúc trong khoảng thời gian hạn chế) OWL DL bao gồm tất cả các cấu trúc của ngôn ngữ OWL, nhưng chúng chỉ có thể được sử dụng với những hạn chế nào đó (Ví dụ: Trong khi một lớp có thể là một lớp con của rất nhiều lớp, một lớp không thể

là một thể hiện của một lớp khác) OWL DL cũng được chỉ định theo sự tương ứng với logic mô tả, một lĩnh vực nghiên cứu trong logic đã tạo nên sự thiết lập chính thức của OWL

OWL Full muốn đề cập tới những người dùng cần sự diễn cảm tối đa và sự tự do

của RDF mà không cần đảm bảo sự tính toán của các biểu thức Ví dụ, trong OWL Full, một lớp có thể được xem xét đồng thời như là một tập của các cá thể

và như là một cá thể trong chính bản thân nó OWL Full cho phép một ontology gia cố thêm ý nghiã của các từ vựng được định nghĩa trước (RDF hoặc OWL)

Trang 37

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Các phiên bản này tách biệt về các tiện ích khác nhau, OWL Lite là phiên bản dễ hiểu nhất và phức tạp nhất là OWL Full

Mối liên hệ giữa các ngôn ngữ con của OWL:

Mọi ontology hợp lệ dựa trên OWL Lite đều là ontology hợp lệ trên OWL DL Mọi ontology hợp lệ dựa trên OWL DL đều là ontology hợp lệ trên OWL Full Mọi kết luận hợp lệ dựa trên OWL Lite đều là kết luận hợp lệ trên OWL DL Mọi kết luận hợp lệ dựa trên OWL DL đều là kết luận hợp lệ trên OWL Full

2.2 Các bước xây dựng Ontology

Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy nhiên vẫn chưa có một phương pháp chuẩn hóa nào để phát triển các ontology Quy trình phát triển gồm 7 bước do Stanford Center for Biomedical Informatics Research đưa ra

(đây là nhóm phát triển phần mềm Protégé để trình diễn và soạn thảo Ontology)[5]

Bước 1: Xác định lĩnh vực và phạm vi của Ontology

Trong giai đoạn này cần xác định mục đích của việc xây dựng ontology là gì? Phục vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên quan đến lĩnh vực, phạm vi nào Quá trình khai thác, quản lý và bảo trì ontology được thực hiện ra sao?

Bước 2: Xem xét việc sử dụng lại các ontology có sẵn

Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng (Abstract), tầng miền xác định (Domain) và tầng mở rộng (Extension) Trong đó tầng trừu tượng có tính tái sử dụng rất cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất định Cộng đồng Ontology cũng đang lớn mạnh và có rất nhiều Ontology đã được tạo ra, với tâm huyết của nhiều chuyên gia Do đó trước khi bắt đầu xây dựng ontology, cần xét đến khả năng sử dụng lại các ontology đã có Nếu có thể sử dụng lại một phần các ontology đã có, chi phí bỏ ra cho quá trình xây dựng ontology sẽ giảm đi rất nhiều

Trang 38

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Bước 3: Liệt kê các thuật ngữ quan trọng

Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì vậy khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các lớp trong ontology tương ứng Tất nhiên không phải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vị được cho thuật ngữ đó Do đó cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về phạm vi của ontology Việc liệt kê các thuật ngữ còn cho thấy được phần nào tổng quan về các khái niệm trong lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi

Bước 4: Xác định các lớp và phân cấp của các lớp

Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về ngữ nghĩa của các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà còn phải định vị cho các lớp mới, loại bỏ ra khỏi ontology nếu nằm ngoài phạm vi của ontology hay hợp nhất với các lớp đã có nếu có nhiều thuật ngữ có ngữ nghĩa như nhau (đồng nghĩa, hay đa ngôn ngữ) Ngoài ra không phải thuật ngữ nào cũng mang tính chất như một lớp

Một công việc cần phải tiến hành song song với việc xác định các lớp là xác định phân cấp của các lớp đó Việc này giúp định vị các lớp dễ dàng hơn

Có một số phương pháp tiếp cận trong việc xác định phân cấp của các lớp:

Phương pháp từ trên xuống (top-down): bắt đầu với định nghĩa của các lớp tổng

quát nhất trong lĩnh vực và sau đó chuyên biệt hóa các khái niệm đó Ví dụ: Trong Ontology về quản lý nhân sự, ta bắt đầu với lớp Người, sau đó chuyên biệt hóa lớp Người đó bằng cách tạo ra các lớp con của lớp Người như : Kỹ sư, Công nhân, Bác sỹ,… Lớp Kỹ sư cũng có thể chuyên biệt hóa bằng cách tạo ra các lớp con như Kỹ sư CNTT, Kỹ sư điện, Kỹ sư cơ khí, …

Phương pháp từ dưới lên (bottom-up): bắt đầu với định nghĩa của các lớp cụ thể

nhất, như các lá trong cây phân cấp Sau đó gộp các lớp đó lại thành các khái tổng quát hơn Ví dụ: ta bắt đầu với việc định nghĩa các lớp như: nhân viên lễ

Trang 39

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

tân, nhân viên vệ sinh, nhân viên kỹ thuật Sau đó tạo ra một lớp chung hơn cho các lớp đó là lớp nhân viên

Phương pháp kết hợp: kết hợp giữa phương pháp từ trên xuống và từ dưới lên:

bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổng quát hóa và chuyên biệt hóa các lớp đó một cách thích hợp Ví dụ ta bắt đầu với lớp nhân viên trước,

là thuật ngữ hay gặp nhất trong quản lý nhân sự Sau đó chúng ta có thể chuyên biệt hóa thành các lớp con: nhân viên lễ tân, nhân viên vệ sinh,… hoặc tổng quát hóa lên thành lớp Người

Bước 5: Xác định các thuộc tính

Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các thuật ngữ

đã liệt kê được Hầu hết các thuật ngữ còn lại (sau khi đã xác định lớp) là thuộc tính của các lớp đó Với mỗi thuộc tính tìm được, ta phải xác định xem nó mô tả cho lớp nào Các thuộc tính đó sẽ trở thành thuộc tính của các lớp xác định Ví dụ lớp Người có các thuộc tính sau: Họ, Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ,

Điện thoại,…

Bước 6: Xác định ràng buộc của các thuộc tính

Các thuộc tính có thể có nhiều khía cạnh khác nhau: như kiểu giá trị, các giá trị cho phép, số các thuộc tính (lực lượng), và các đặc trưng khác mà giá trị của thuộc tính có thể nhận Ví dụ: “Năm sinh” của một “nhân viên” chỉ có duy nhất và là số nguyên, có thể nhận giá trị từ 1948 đến 1990 Cần phải xác định các ràng buộc cho một thuộc tính càng chặt chẽ càng tốt, để tránh trường hợp nhập dữ liệu sai, dẫn đến

đổ vỡ của các ứng dụng sử dụng Ontology này

Trang 40

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Sesame là một phần mềm mã nguồn mở trong dự án European IST

On-To-Knowledge của công ty Hà Lan Aduna giúp cho việc lưu trữ và truy vấn dữ liệu RDF và RDFS [http://www.w3.org/2001/sw/wiki/Sesame]

Các tính năng: Thiết kế ứng dụng tập trung, một kiểu giao diện cơ bản, truy vấn theo ví dụ tìm kiếm và báo cáo HTML sẽ giúp bạn tạo ra ứng dụng trơn tru, hấp dẫn Nếu bạn là người mới sử dụng cơ sở dữ liệu, chương trình làm việc bằng cách bắt đầu với những ứng dụng đơn giản, dễ dàng, nhanh chóng Đối với những người

có kinh nghiệm hơn, chương trình cung cấp nhiều tùy chọn và dễ dàng tùy biến

Lý do Sesame trở lên phổ biến chính là ở những ưu điểm về kiến trúc của nó, không chỉ về mặt thiết kế mà còn về tính ứng dụng như sau:

- Sesame được thiết kế như một phần mềm trung gian giữa người dùng và kho lưu trữ dữ liệu

- Sesame cũng cấp một cơ chế cho phép lưu trữ ổn định và truy vấn hiệu quả dữ liệu RDF và RDFS

- Người phát triển phần mềm có thể sử dụng Sesame như một thư viện khi xây dựng các ứng dụng thao tác với Sesame

2.3.2 Công cụ Chimaera

Chimaera cũng là một ứng dụng được phát triển bởi đại học Stanford với mục đích ban đầu nhằm giải quyết hai vấn đề là: trộn các ontology và chuẩn đoán lỗi, phân tích tính nhất quán giữa các Ontology phân tán [http://www.w3.org/2001/sw/wiki/ Chimaera]

2.3.3 Công cụ Jena

Jena là một Java Framework dùng để xây dựng các ứng dụng Web ngữ nghĩa, Jena cung cấp môi trường lập trình cho RDF, RDFS, OWL và SPARQL – ngôn ngữ truy vấn cho RDF [ http://www.w3.org/2001/sw/wiki/ Jena]

2.3.4 Công cụ Protégé

Một số công cụ phát triển và hiệu chỉnh có giá trị trong việc làm giảm độ phức tạp và thời gian dùng cho nhiệm vụ xây dựng ontology Các công cụ như Kaon, OileEd và Protégé cung cấp các giao diện nhằm giúp đỡ người sử dụng thực hiện các hoạt động chính yêu trong trong quá trình phát triển một ontology Việc lựa

Ngày đăng: 24/02/2021, 22:01

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