Các số liệu tham khảo khác sử dụng trong nghiên cứu này thuộc về bản quyền của các tác giả và được trích dẫn một cách rõ ràng, minh bạch.. Với sự bùng nổ Công nghệ thông tin, đặc biệt là
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
VŨ THẾ THẢO
ỨNG DỤNG SEMANTIC WEB
XÂY DỰNG HỆ THỐNG TRA CỨU CÁ RẠN SAN HÔ
Ở BIỂN VIỆT NAM
LUẬN VĂN THẠC SĨ NGÀNH KỸ THUẬT
HẢI PHÒNG, 2016
Trang 2BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
VŨ THẾ THẢO
ỨNG DỤNG SEMANTIC WEB
XÂY DỰNG HỆ THỐNG TRA CỨU CÁ RẠN SAN HÔ
Ở BIỂN VIỆT NAM
LUẬN VĂN THẠC SĨ NGÀNH KỸ THUẬT
NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ:
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: TS Trần Thị Hương
HẢI PHÒNG, 2016
Trang 3i
LỜI CAM ĐOAN
Tôi: Vũ Thế Thảo, học viên cao học lớp CNTT 2014_1, chuyên ngành Công nghệ Thông tin, khoá học 2014-2016, Trường Đại học Hàng Hải Việt Nam xin cam đoan: Các nội dung trong Luận văn Thạc sĩ này là do tự bản thân tôi làm ra trên cơ sở các tài liệu, số liệu khảo sát thực tế do chính bản thân tôi thu thập Các số liệu tham khảo khác sử dụng trong nghiên cứu này thuộc về bản quyền của các tác giả và được trích dẫn một cách rõ ràng, minh bạch
Người cam đoan
Vũ Thế Thảo
Trang 4ii
LỜI CẢM ƠN
Hoàn thành Luận văn Thạc sĩ này, trước hết tôi xin bày tỏ lòng biết ơn sâu sắc tới TS Trần Thị Hương, người hướng dẫn khoa học đã tận tình hướng dẫn và giúp đỡ tôi trong suốt thời gian thực hiện Luận văn
Nhân dịp này tôi xin bày tỏ lòng biết ơn đến các thầy cô Phòng đào tạo Sau đại học trường Đại học Hàng Hải Việt Nam, Viện Nghiên cứu Hải sản đã giúp đỡ tôi trong suốt thời gian học tập và hoàn thành Luận văn Thạc sĩ này
Tôi cũng xin gửi lời cảm ơn chân thành nhất đến các ông chủ nhiệm đề tài,
dự án: ThS Lại Duy Phương và các tác giả các bài báo khoa học… đã cho phép tôi
sử dụng nguồn tư liệu để viết Luận văn Trong quá trình thực hiện và hoàn thành Luận văn, tôi đã nhận được sự giúp đỡ và động viên của Lãnh đạo Phòng Tổ chức, Hành chính, Viện Nghiên cứu Hải sản, đã tạo mọi điều kiện giúp đỡ tôi trong quá trình thu thập tư liệu tại và xử lý số liệu
Cuối cùng tôi xin cảm ơn gia đình, bạn bè, đồng nghiệp chính là nguồn động viên, khích lệ vô giá đã đi cùng tôi trong suốt những năm tháng phấn đấu, rèn luyện để có được sản phẩm khoa học này
Hải Phòng, ngày tháng năm 2016
Học viên
Vũ Thế Thảo
Trang 5iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
BẢNG CHÚ GIẢI CHỮ VIẾT TẮT vi
DANH MỤC BẢNG vii
DANH MỤC HÌNH viii
MỞ ĐẦU 1
CHƯƠNG I TỔNG QUAN LÝ THUYẾT VỀ SEMANTIC WEB 4
1.1 Semantic web – web 3.0 4
1.1.1 Công nghệ web qua các thời kỳ 4
1.1.2 Hạn chế của web thế hệ đầu và sự ra đời của semantic web 4
1.1.3 Khái niện và lợi ích của semantic web 5
1.1.4 Kiến trúc phân tầng của semmantic web 6
1.2 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài trong nước và quốc tế 8
1.2.1 Nghiên cứu ứng dụng của semantic web trong nước 8
1.2.2 Nghiên cứu ứng dụng của semantic web quốc tế 9
1.3 Các công cụ và công nghệ liên quan đến semantic web 10
1.3.1 RDF, RDFS nền tảng của Web ngữ nghĩa 11
1.3.2 ONTOLOGY 21
1.3.3 SPARQL ngôn ngữ truy vấn trên dữ liệu Web ngữ nghĩa 23
CHƯƠNG II CÁ RẠN SAN HÔ Ở BIỂN VIỆT NAM VÀ GIẢI PHÁP XÂY DỰNG ỨNG DỤNG TRA CỨU BẰNG SEMANTIC WEB 29
2.1 Cá rạn san hô, nhu cầu và hiện trạng tra cứu 29
2.1.1 Giới thiệu chung 29
Trang 6iv
2.1.2 Các thuật ngữ, mô tả đặc điểm hình thái của cá 30
2.1.3 Thông tin chi tiết mô tả về một loài cá rạn san hô ở biển Việt Nam 31
2.1.4 Nhu cầu tra cứu thông tin cá rạn san hô ở biển Việt Nam 33
2.1.5 Hiện trạng hệ thống tra cứu cá rạn san hô ở biển Việt Nam 34
2.2 Giải pháp xây dựng ứng dụng tra cứu cá rạn bằng semantic web 35
2.2.1 Yêu cầu với hệ thống 35
2.2.2 Mô hình tổng thể của ứng dụng 35
2.3 Biểu đồ Ca sử dụng của ứng dụng 36
2.4 Sơ đồ hoạt động của Ca sử dụng 37
2.5 Ngôn ngữ và các công cụ xây dựng 40
2.5.1 Ngôn ngữ thiết kế Web 40
2.5.2 Thư viện mã nguồn mở 40
2.5.3 Phần mềm xây dựng ontology 42
CHƯƠNG III XÂY DỰNG HỆ THỐNG TRA CỨU CÁ RẠN SAN HÔ Ở BIỂN VIỆT NAM 44
3.1 Quy trình xây dựng ứng dụng 44
3.2 Tổng hợp nguồn dữ liệu 44
3.3 Xây dựng Ontology 44
3.4 Cài đặt phát triển hệ thống 56
3.5 Chương trình thử nghiệm, kết quả và đánh giá 56
3.5.1 Thiết lập kết nối chương trình 56
3.5.2 Giao diện trang chủ của chương trình 57
3.5.3 Giao diện hiển thị kết quả tìm kiếm 57
3.5.4 Giao diện hiển thị chi tiết đối tượng 58
3.6 Đánh giá kết quả của hệ thống 58
KẾT LUẬN VÀ ĐỀ XUẤT 59
Trang 83 HTTP Hyper Text Transfer Protocol
4 RDF Resource Description Framework
5 RDFS Resource Description Framework Schema
6 OIL Ontology Inference Layer
7 OWL Web Ontology Language
8 URL Uniform Resource Identifier
10 XML eXtensible Markup Language
11 HTML Hyper Text Markup Langguage
12 NN & PTNT Nông nghiệp và Phát triển Nông thôn
Trang 9vii
DANH MỤC BẢNG
Bảng 1.1 Mô hình cơ bản của RDF 11 Bảng 1.2 Cú pháp cơ bản của RDF 15 Bảng 3 Mối quan hệ của các lớp và mô tả thuộc tính 51
Trang 10viii
DANH MỤC HÌNH
Hình 1.1 So sách giữa Web 1.0, Web 2.0 và Web 3.0 5
Hình 1.2 Kiến trúc phân tầng Semantic Web qua các thời kỳ 6
Hình 1.3 Trang thông tin semantic web VN-KIM 8
Hình 1.4 Trang tìm kiếm Swoogle Semantic Web Search Engine 9
Hình 1.5 Trang tìm kiếm Falcons 9
Hình 1.6 Trang tìm kiếm Swse 10
Hình 1.7 Trang tìm kiếm Watson 10
Hình 1.8 Mối quan hệ giữa các thành phần trong một bộ ba 12
Hình 1.9 Đồ thị RDF đơn giản 12
Hình 1.10 Minh họa kiểu Plain Literal 13
Hình 1.11 Kiểu Typed Literal biểu diễn tuổi 14
Hình 1.12 Mô tả một Bag Container đơn giản 17
Hình 1.13 Mô tả một Alt Container đơn giản 17
Hình 1.14 Mô tả một RDF Collection 18
Hình 1.15 Các lớp và các thuộc tính 20
Hình 1.16 Những ràng buộc trong RDFS 21
Hình 2.1 Các loại vảy thông thường và hình dạng, độ nhô của miệng 30
Hình 2.2 Các số đo hình thái thông thường 31
Hình 2.3 Các thuâ ̣t ngữ chỉ bô ̣ phâ ̣n trên cơ thể cá 31
Hình 2.4 Hình dạng đại diện họ cá sơn đá Holocentridae 32
Hình 2.5 Cá sơn đá răng đôi 33
Hình 2.6 Bản đồ nơi khảo sát, phát hiện phân bố cá rạn san hô tại biển VN 33
Hình 2.7 Kết quả tìm kiếm cá nóc hòm trên Google 34
Trang 11ix
Hình 2.8 Mô hình tổng thể của ứng dụng 35
Hình 2.9 Biểu đồ Ca sử dụng của admin 36
Hình 2.10 Biểu đồ Ca sử dụng của user 37
Hình 2.11 Sơ đồ hoạt động mô tả chức năng tìm kiếm thông tin 37
Hình 2.12 Sơ đồ hoạt động mô tả chức năng thêm đối tượng 38
Hình 2.13 Sơ đồ hoạt động mô tả chức năng sửa đối tượng 39
Hình 2.14 Sơ đồ hoạt động mô tả chức năng xóa đối tượng 39
Hình 2.15 Giao diện Protégé 4.1 43
Hình 3.1 Mô tả miền và phạm vi của ontology 45
Hình 3.2 Cấu trúc phân lớp cá rạn 46
Hình 3.3 Cấu trúc phân lớp biển đảo 47
Hình 3.4 Cấu trúc phân lớp san hô 47
Hình 3.5 Cấu trúc phân lớp phân bố 48
Hình 3.6 Cấu trúc phân lớp tài nguyên 49
Hình 3.7 Cấu trúc lớp (Classes) trong ontology 49
Hình 3.8 Cấu trúc phân lớp (ontograf) trong ontology 50
Hình 3.9 Các thuộc tính dữ liệu của Data Properies 50
Hình 3.10 Các thuộc tính quan hệ của ontology ontology 51
Hình 3.11 thống kê số lượng lớp và thực thể trong ontology metrics 54
Hình 3.12 Giao diện trang chủ hệ thống 57
Hình 3.13 Giao diện hiển thị kết quả tìm kiếm 57
Hình 3.14 Giao diện hiển thị kết quả tìm kiếm 58
Trang 121
MỞ ĐẦU
1 Cơ sở khoa học, ý nghĩa thực tiễn của đề tài
Cá rạn san hô được biết đến như là “Nhóm cá có đời sống gắn liền với các sinh cảnh của rạn hoặc một phần trong vòng đời có đời sống liên quan tới rạn san hô” Cá rạn là một trong số ít các nhóm sinh vật biển có ý nghĩa khoa học, sinh
thái và giá trị kinh tế quan trọng sống trong hệ sinh thái rạn Nhiều nhóm cá rạn san hô có giá trị kinh tế cao đã và đang mang lại nguồn thu nhập đáng kể cho hàng triệu ngư dân ven đảo, đặc biệt là các các quốc gia có biển đảo như Việt Nam, Srilanka, Indonesia, Philippin v.v
Nhu cầu sử dụng tra cứu các loài cá rạn san hô điển hình, thường gặp ở biển Việt Nam cho việc nghiên cứu khoa học, giảng dạy, quản lý nguồn lợi trong các Khu bảo tồn biển, tham quan du lịch sinh thái bằng tàu đáy kính, lặn trong các vùng rạn san hô là rất lớn Tuy nhiên, cho tới nay việc việc số hóa cho riêng các loài cá rạn đặc trưng, thường gặp ở biển Việt Nam vẫn chưa được thực hiện Việc
sử dụng các trang thông tin trên thế giới (thường xây dựng cho khu hệ cá rạn ở nhiều vùng biển khác nhau trong khu vực và trên thế giới) và ở Việt Nam chỉ dừng lại một số tập atlas, sách còn rất nhiều hạn chế, chưa phát huy được hiệu quả sử dụng
Với sự bùng nổ Công nghệ thông tin, đặc biệt là sự ra đời của Web ngữ nghĩa (Sematic Web hay Web 3.0) đã tiến thêm một bước tiến mới trong ngành công nghệ Web, chúng ta không những nhận được các thông tin chính xác hơn khi tìm kiếm từ máy tính, mà máy tính còn có thể tích hợp thông tin từ nhiều nguồn khác nhau, biết so sánh các thông tin với nhau hay có thể kết hợp các thông tin đã được
mô tả giàu ngữ nghĩa với bất kì nguồn dữ liệu nào
Nhằm từng bước tạo điều kiện thuận lợi cho các nhà nghiên cứu về ngư loại học, nguồn lợi khu hệ cá rạn san hô biển Việt Nam cũng như phục vụ công tác
quản lý, giảng dạy, nuôi cá cảnh biển v.v Việc nghiên cứu chọn đề tài: “Ứng
dụng Semantic web xây dựng hệ thống tra cứu cá rạn san hô ở biển Việt Nam”
là thực sự cần thiết
Trang 132
2 Mục đích của đề đề:
Mục tiêu chung là: “Ứng dụng Semantic web để xây dựng hệ thống tra cứu
cá rạn san hô ở biển Việt Nam”
Mục tiêu cụ thể: Nghiên cứu công nghệ Semantic Web và các công cụ liên quan, xây dựng Ontology về CRSH ở biển Việt Nam tích hợp trong ứng dụng cụ thể thực tế là website tìm kiếm thông tin giúp người dùng tìm kiếm nhanh, đầy đủ
và chính xác về mặt ngữ nghĩa
3 Phương pháp và phạm vi nghiên cứu của đề tài:
Phương pháp nghiên cứu lý thuyết:
o Nghiên cứu tài liệu, công cụ và công nghệ liên quan
o Thu thập dữ liệu, tài liệu về CRSH ở biển Việt Nam
Phương pháp khảo sát:
o Khảo sát mô hình, tìm kiếm các hệ thống tra cứu CRSH hiện có
Phương pháp nghiên cứu thực nghiệm:
o Phân tính hệ thống, xây dựng mô hình web ngữ nghĩa tra cứu về CRSH ở biển Việt Nam
o Các biểu đồ về ontology
4 Ý nghĩa khoa học và tính thực tiễn của đề tài
Ý nghĩa khoa học: Tổng hợp phân tích các vấn đề liên quan đến web ngữ nghĩa, cung cấp các thông tin chính thống đầy đủ, chi tiết về cá rạn san hô ở biển Việt Nam cho các nhà nghiên cứu về ngư loại học, nguồn lời cũng như phục vụ công tác quản lý, giảng dạy, nuôi cá cảnh biển…
Tính thực tiễn: Mở ra hướng mới về nghiên cứu ứng dụng tìm kiếm trên web ngữ nghĩa các loài cá rạn nói riêng và các loài thủy hải sản nói chung
Trang 143
Trong chương này giới thiệu về khái niệm, cấu trúc, các ứng dụng semantic web, những điểm khác biệt so với các thế hệ web trước, các ngôn ngữ và công nghệ liên quan
Chương II Cá rạn san hô ở biển Việt Nam và giải pháp xây dựng ứng dụng tra cứu bằng semantic web
Trong chương này giới thiệu về một số thông tin như đặt điểm, phân bố nhu cầu tra cứu thông tin về CRSH ở biển Việt Nam Phân tích thiết kế và giải pháp để xây dựng ứng dụng tra cứu
Chương III Xây dựng hệ thống tra cứu cá rạn san hô ở biển Việt Nam
Xây dựng chương trình và triển khai thực tế trên nền web ngữ nghĩa, dựa trên những phân tích và thiết kế hệ thống đã cho
Trang 15
4
CHƯƠNG I TỔNG QUAN LÝ THUYẾT VỀ SEMANTIC WEB
Trong chương này sẽ giới thiệu tổng quát về công nghệ web hiện nay, những hạn chế của nó và sự ra đời của thế hệ web thứ 3 hay còn gọi là semantic web, web ngữ nghĩa Tìm hiểu kiến trúc, các lĩnh vực ứng dụng của web 3.0 Trong đó nghiên cứu sâu về RDF\RDFS, ngôn ngữ truy vấn dữ liệu SPARQL và Ontology
1.1 Semantic web – web 3.0
1.1.1 Công nghệ web qua các thời kỳ
Web 1.0 được đưa ra bởi Tim Berners-Lee vào năm 1989/1990[12] Nó bao gồm các yếu tố sau:
1 – Là các trang Web tĩnh: Trình bày dựa trên các công nghệ hỗ trợ Web tĩnh như Netscape hoặc Yahoo không cần sự tương tác nhiều, sử dụng để hiển thị thông tin là chính
2 – Là Web không thể tương tác: Người dùng chỉ truy cập và xem thông tin, không thể đăng bài hay sửa nội dung…
3 – Là các ứng dụng độc quyền: Các ứng dụng phần mềm do nhà cung cấp Web 2.0 là khái niệm được Dale Dougherty đưa ra năm 2004 Đã đúc kết được một số đặc tính sau:
1 – Web có vai trò nền tảng, có thể chạy trên mọi ứng dụng
2 – Tập hợp trí tuệ cộng đồng
3 – Dữ liệu có vai trò then chốt
4 – Phần mềm được cung cấp dưới dạng dịch vụ
5 – Phát triển ứng dụng dễ dàng và nhanh chóng
6 – Phần mềm có thể chạy trên nhiều thiết bị
7 – Giao diện ứng dụng phong phú
1.1.2 Hạn chế của web thế hệ đầu và sự ra đời của semantic web
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
Trang 165
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ụ tiề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 thứ 3 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.1.3 Khái niện và lợi ích của semantic web
Semantic web hay còn được gọi là web ngữ nghĩa hay web 3.0, là sự mở rộng nối tiếp của các web thế hệ trước, được đưa ra bởi Tim Berners-Lee vào khoảng năm 1998[12] Web ngữ nghĩa là một cỗ máy tìm kiếm, có khả năng hỗ trợ người dùng tìm kiếm các thông tin một cách thông minh, chính xác và nhanh chóng hơn Lợi ích của web ngữ nghĩa là 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 chính xác và nhanh chóng hơn, dự liệu liên kết động và hỗ trợ sự tự động hóa cho các dịch vụ
Hình 1.1 So sách giữa Web 1.0, Web 2.0 và Web 3.0
Trang 176
1.1.4 Kiến trúc phân tầng của semmantic web
Tim Berners Lee đã đưa ra mô hình kiến trúc Web ngữ nghĩa đầu tiên trong một phiên họp toàn thể vào ngày 28 tháng 2 năm 2001[12], một mô hình kiến trúc gồm 7 tầng Trong đó, các tầng trên kế thừa các tầng thấp hơn với cơ sở là các chuẩn để mô tả siêu dữ liệu và để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất Mô hình kiến trúc đang được thay đổi và hoàn thiện theo thời gian
Hình 1.2 Kiến trúc phân tầng Semantic Web qua các thời kỳ
Tầng URI và IRI
URI: Là một chuỗi định danh web như các chuỗi bắt đầu bằng http hay ftp URL: Bảo đảm việc sử dụng tập các kí tự quốc tế và cung cấp phương tiện nhằm định danh các đối tượng trong Semantic Web
Tầng XML
XML: Là một mở rộng của ngôn ngữ đánh dấu cho các cấu trúc tài liệu bất
kỳ, dựa theo chuẩn SGML do tổ chức ISO chuẩn hóa năm 1986 Một XML bao
Trang 187
gồm một tập các thẻ đóng và thẻ mở đuộc lồng vào nhau, ở đó mỗi một cặp thẻ có một cặp các thuốc tính và giá trị XML sẽ tiếp tục đóng một vai trò quan trọng trong sự phát triển của Semantic Web
Tầng RDF và RDFS
RDF: Là công cụ để mô tả thông tin về các tài nguyên cho Semantic Web một cách linh động Nó có thể được sử dụng để biểu diễn các thông tin như văn hóa, đời sống, xã hội
RDFS: Là một ngôn ngữ Otology cơ bản mô tả đối tượng như thuộc tính, các lớp Nó phát triển và mở rộng từ RSF, bổ sung thêm các tập từ vựng để hỗ trợ cho việc xây dựng Ontology
Tầng Ontology
Ontology: Là cấu trúc dữ liệu biểu diễn ngữ nghĩa nâng cao Được phát triển trên cở sở hạ tầng RDF và RDFS, một Ontology định nghĩa một bộ từ vựng mang tính phổ biến và thông thường, có cho phép các nhà phát triển chia sẻ thông tin trong một hay nhiều lĩnh vực
Tầng Logic
Việc biểi 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
Tầng User Interface & Application
Trang 198
Đây là tầng cuối cùng của kiến trúc semantic web Là tầng giao diện giao tiếp với người sử dụng, nhận yêu cầu từ người dùng và đưa đến các tầng khác cũng như hiển thị kết quả trả lại người dùng
1.2 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài trong nước và quốc tế
1.2.1 Nghiên cứu ứng dụng của semantic web trong nước
Miền dữ liệu mà VN-KIM hướng đến là các thực thể được đề cập đến trong các thông tin quốc tế hàng ngày Ontology của VN-KIM hiện tại có khoảng 250 lớp và 100 thuộc tính Cơ sở tri thức hiện có khoảng 80,000 thực thể về các nhân vật, thành phố, công ty, tổ chức quan trọng và phổ biến trên thế giới
Chức năng chính của Viet Nam - Knowledge and Information Management là rút trích và chú thích tự động lớp và danh hiệu của các thực thể có tên xuất hiện trong các trang báo điện tử tiếng Việt VN-KIM bao gồm những khối chính sau: 1- Cơ sở tri thức về các nhân vật tổ chức núi non sông ngòi và địa điểm phổ biến
ở Việt Nam
2- Khối rút trích thông tin tự động từ các trang báo điện tử tiếng Việt
3- Khối truy hồi thông tin và các trang Web về các thực thể có tên ở Việt Nam
Hình 1.3 Trang thông tin semantic web VN-KIM
Trang 209
1.2.2 Nghiên cứu ứng dụng của semantic web quốc tế
Swoogle Semantic Web Search Engine là một công cụ tìm kiếm theo ngữ nghĩa trên Ontology, Document, Term, Across ontology Swoogle cung cấp dịch
vụ cho người sử dụng qua một giao diện trình duyệt và thông qua các đại lý phần mềm Swoogle được phát triển tại Đại học Maryland, Banltimore (UMBC) với sự tài trợ của Quỹ khoa học quốc gia, DARPA Mỹ Đây là luận án tiến sĩ Li Ding
dưới sự hướng dẫn của giáo sư Tim Finin
Hình 1.4 Trang tìm kiếm Swoogle Semantic Web Search Engine
Falcon là một cơ sở hạ tầng cho các ứng dụng Web có ngữ nghĩa, với mục tiêu cung cấp các công nghệ cơ bản cho việc tìm kiếm, sắp xếp và bản thể học, và cuối cùng là cho thu nhận tri thức từ các web thông qua một phương pháp tiếp cận ontology-driven
Hình 1.5 Trang tìm kiếm Falcons
Trang 2110
SWSE là từ viết tắt của Semantic Web Search Engine Nó là một công cụ tìm kiếm thực thể RDF
Hình 1.6 Trang tìm kiếm Swse
Là một công cụ tìm kiếm bản thể, nó không cố gắng để chỉ số tất cả các tài liệu web ngữ nghĩa nhưng đặc biệt tập trung vào các ontology Web
Hình 1.7 Trang tìm kiếm Watson
1.3 Các công cụ và công nghệ liên quan đến semantic web
Trong phần này tác giả giới thiệu và trình bày sâu về các ngôn ngữ ứng dụng trong nghiên cứu luận văn về đó là RDF,RDFS, ngôn ngữ truy vấn dữ liệu
SPARQL và Ontology
Trang 2211
1.3.1 RDF, RDFS nền tảng của Web ngữ nghĩa
1.3.1.1 RDF
1.3.1.1.1 Giới thiệu RDF
RDF được hiểu là một tập hợp các nguyên tắc dùng cho ngôn ngữ đánh dấu
Nó cho phép sự chia sẻ giữa các ứng dụng để trao đổi thông tin sao cho các máy tính có thể hiểu được các thông tin trên web và tự động nhấn mạnh vào quá trình
xử lý các nguồn thông tin Nó cũng cung cấp một mô hình dữ liệu, và một cú pháp đơn giản sao cho các hệ thống độc lập có thể trao đổi và sử dụng nó Đồng thời, nó được thiết kế sao cho hệ thống máy tính có thể hiểu được và có thể đọc được thông tin, chứ không phải chỉ để trình bày dữ liệu cho ngừời dùng Cú pháp của RDF dựa trên mô hình dữ liệu, và mô hình này ảnh hưởng đến cách thức mà những thuộc tính được mô tả và nó cũng làm cho cấu trúc của những mô tả đó trở nên rõ ràng
1.3.1.1.2 Mô hình RDF
Mô hình cơ bản 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)
Bảng 1.1 Mô hình cơ bản của RDF
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ị)
Trang 23Hình 1.8 Mối quan hệ giữa các thành phần trong một bộ ba
Nhằm biểu diễn chi tiết bộ ba trên chúng ta có thể dùng đồ thị RDF để biểu diễn một phát biểu sau:
Ví dụ: Vu The Thao is the creator of resource http//www.w3.org/Home/vtthao
Hình 1.9 Đồ thị RDF đơn giản
1.3.1.1.4 Namespace, Qualified name
Trang 2413
Namespace Là một tập các tên, được định danh bởi URL, được sử dụng trong
các tài liệu SML như các “element type” và “attribute name” Một namespace
được khai báo sử dụng một tập các thuộc tính đã được định nghĩa Tên của thuộc
tính phải có xmlns hay xmlns như là một Prefix
Một Qualified name bao gồm một prefix mà đã được gán trước đó bởi một URL theo sau đó là dấu „:‟ và tên cục bộ
1.3.1.1.5 Literal
Literal được sử dụng để xác định các giá trị như những con số hay ngày tháng năm bởi ý nghĩa của sự hiển thị một từ vựng Bất cứ cái gì đó được biểu thị bởi một giá trị Literal cũng có thể được biểu diễn dưới dạng một URI, nhưng thường thuận tiện và trực giác hơn để sử dụng các Literal Literal có hai kiểu sau: Plain Literal và Typed Literal
Plain Literal: là một chuỗi kết hợp với một thẻ (tag) ngôn ngữ tùy chọn Điều này có thể được sử dụng cho văn bản thông thường trong một ngôn ngữ tự nhiên
Ví dụ:
Hình 1.10 Minh họa kiểu Plain Literal
Ví dụ trên mô tả tuổi của một người là 35 Ở đây ta biểu diễn tuổi của một người là một kiểu Plain Literal Giá trị 35 ở đây chỉ là một chuỗi gồm hai kí tự „3‟
và „5‟ Nhưng nếu chúng ta muốn biểu diễn nó là một con số thì phải làm thế nào ? Bằng cách dùng kiểu Typed Literal chúng ta sẽ có được cách định nghĩa mà chúng
ta muốn
Trang 25Và được biểu diễn bằng đồ thị như sau:
Hình 1.11 Kiểu Typed Literal biểu diễn tuổi 1.3.1.2 Cấu trúc RRF/XML
1.3.1.2.1 Cú pháp RDF/XML
Để biểu diễn các phát biểu RDF theo một cách thức nào đó mà máy tính có khả năng xử lý được, RDF đã sử dụng rất nhiều ngôn ngữ, một trong nhưng ngôn ngữ đó là XML XML được thiết kế để cho phép bất cứ ai tạo ra định dạng tài liệu riêng của họ và sau đó viết một tài liệu ở định dạng đó RDF định nghĩa ra một ngôn ngữ đánh dấu XML đặc biệt, được đề cập đến như RDF/XML, để sử dụng trong việc biểu diễn thông tin RDF, và trao đổi thông tin giữa các máy Cú pháp cơ bản của RDF/XNL được biểu diễn như bảng sau[17]:
Trang 2615
Bảng 1.2 Cú pháp cơ bản của RDF
Ví dụ: Xét phát biểu sau:
ex: index.html exterms:creation-date “August 16, 1999”
Cú pháp RDF/XML biểu diễn phát biểu trên:
Trang 2716
Giải thích cụ thể cho cú pháp ở trên như sau:
Dòng thứ 1: Là khai báo XML, cho biết nội dung theo sau dựa trên cú pháp XML và phiên bản XML được dùng
Dòng thứ 2 và thứ 3: Bắt đầu với thẻ rdf:RDF, cho biết rằng nội dung XML tiếp theo ( bắt đầu từ đây cho đến </rdf:RDF> trong dòng thứ 7) mô tả
RDF Từ khóa này xác định tài liệu được biểu diễn dưới dạng RDF Tiếp theo
là phần khai báo namespace của XML đượ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 namescpace khác nhau cho từng tài liệu
Dòng thứ 4, thứ 5 và thứ 6: Mô tả những phát biểu 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à chủ ngữ của phát biểu (http://www.example.org/index.html) Thẻ bắt đầu rdf:Description trong dòng 4 cho biết bắt đầu mô tả về một tài nguyên, và tiếp tục đinh danh tài nguyên dùng thuộc tính rdf:about để chỉ ra
URI của chủ ngữ tài nguyên Dòng 5 cung cấp một 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à tân ngữ của phát biểu, có giá trị là kiểu Plain Literal “August 16, 1999”
Dòng thứ 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 tài liệu RDF
1.3.1.2.2 Bộ chứa (Controner)
RDF sử dụng một số phần tử đặc biệt để xây dựng các danh sách, gọi là RDF Collection, các RDF Collection này được sử dụng để mô tả một nhóm hay một tập hợp RDF định nghĩa ra ba lọai đối tượng Container dùng để miêu tả rfd là Bag; Sequence và Alternate [16],[17]
Ví dụ, để biểu diễn phát biểu:
The students in course 6.001 are Amy, Tim, John, Mary, and Phuong
Thì mô hình RDF là:
Trang 2918
tương tự như 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)
Xét phát biểu sau:
The students in course 6.001 are Amy, Mohamed, and Johann
Được biểu diễn dưới dạng đồ thị:
Hình 1.14 Mô tả một RDF Collection
Ở đồ thị trên ta thấy mỗi thành viên của danh sách, ví dụ như: Amy, là chủ
ngữ của thuộc tính rdf:first mà chủ ngữ đó là một tài nguyên (một nút rỗng đối với
ví dụ này) mà nó biểu diễn như một danh sách Danh sách này liên kết với phần tử
còn lại của nó bằng thuộc tính rdf:rest Phần tử cuối cùng của danh sách được chỉ bởi thuộc tính rdf:rest có tài nguyên là rdf:nil (là một danh sách rỗng) Ví dụ trên
có thể được biểu diễn dưới cú pháp RDF/XML như sau:
Trang 30Tuy nhiên, RDF/XML cung cấp một cách định nghĩa để mô tả một tập hợp,
bằng cách dùng một thuộc tính có thuộc tính là rdf:parseType=”Collection” Ta
có thể viết lại ví dụ như sau:
1.3.1.3 RDFS
Trang 3120
1.3.1.3.1 Giới thiệu về RDFS
RDFS là một ngôn ngữ ontology cơ bả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 Một RDFS không chỉ định nghĩa thuộc tính của tài nguyên mà còn có thể định nghĩa ra loại tài nguyên được mô tả và các mối quan hệ qua lại giữa tài nguyên với tài nguyên, giữa thuộc tính với thuộc tính, và giữa tài nguyên với thuộc tính
1.3.1.3.2 Các lớp và thuộc tính
Những tài nguyên có thể được chia thành những nhóm gọi là các lớp Những thành viên của một lớp được biết đến như những thể hiện của lớp và chính những lớp là những tài nguyên Chúng thường được xác định bởi những URI và được mô
tả sử dụng những thuộc tính RDF
Hình 1.15 Các lớp và các thuộc tính
Hình trên minh họa khái niệm của lớp, lớp con và tài nguyên Một lớp được
mô tả bởi một hình chữ nhật tròn; một tài nguyên là một dấu chấm tròn lớn Những mũi tên được vẽ từ một tài nguyên tới lớp nó định nghĩa Một lớp con là một hình chữ nhật tròn nằm trong lớp khác
1.3.1.3.3 Những rằng buộc
Một số các ví dụ của các ràng buộc bao gồm:
Trang 3221
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 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
Hình 1.16 Những ràng buộc trong RDFS
1.3.2 ONTOLOGY
1.3.2.1 Khái niệm về 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 hệ giữa chúng
Hiện nay Otology được ứng dụng trong nhiều lĩnh vực khác nhau, một số
định nghĩa được đưa ra như:
Trang 3322
- Theo thư Swartout B, Patil R, knight K và Russ T (1996): “Ontology là một tập thuật ngữ có cấu trúc, thứ bậc để diễn tả một phạm vi cụ thể và có thể sử dụng như là một bộ khung của cơ sở tri thức”[19]
- Theo A Maedche, B Motik và L Stojanovic (2003): “Ontology là một mô hình khái niệm có thể chia sẻ và thực thi trên máy trong một phạm vi nhất định”[20]
- 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”[21]
- 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” [22]
1.3.2.2 Các thành phần của ontology
Các thành phần của ontology gôm các yếu tố sau[18]
Các 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
Các lớp (Classes) - Khái niệm Các lớp là các nhóm, tập hợp các đối tượng
trừu tượng Chúng có thể chứa các cá thể, các lớp khác, hay là sự phối hợp của cả hai Các ontology biến đổi tuỳ thuộc vào cấu trúc và nội dung của nó: Một lớp có thể chứa các lớp con, có thể là một lớp tổng quan (chứa tất cả mọi thứ), có thể là lớp chỉ chứa những cá thể riêng lẻ, Một lớp có thể xếp gộp vào hoặc bị xếp gộp vào bởi các lớp khác Mối quan hệ xếp gộp này được sử dụng để tạo ra một cấu trúc có thứ bậc các lớp, thường là với một lớp thông dụng nhất kiểu Thing ở trên
đỉnh và các lớp rất rõ ràng kiểu 2002, Ford ở phía dưới cùng
Trang 3423
Các 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ó Giá trị của một thuộc tính có thể có các kiểu dữ liệu phức
tạp
Các mối 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.3.3 SPARQL ngôn ngữ truy vấn trên dữ liệu Web ngữ nghĩa
1.3.3.1 Giới thiệu về SPARQL
SPARQL đượ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 và đã được W3C – tổ chức chịu trách nhiệm xây dựng, quản lý đưa ra các chuẩn liên quan đến WWW – khuyến nghị vào năm 2008 Nó cung cấp những tính năng sau:
Trích thông tin ở dạng URI, nút rỗng, những Plain và Typed Literal
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
Trang 3524
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ụ 1 Xét một truy vấn SPARQL tìm kiếm tựa đề của một cuốn sách từ
thông tin trong đồ thị đã cho:
1.3.3.3 Truy vấn với RDF Literal
Trong SPARQL một kí tự RDF được viết như một chuỗi mà chứa các mẫu từ vựng học của kí tự, theo sau bởi một thẻ ngôn ngữ tùy chọn hay một loại dữ liệu tùy chon Việc kết hợp mẫu đồ thị tạo ra những kết hợp của các biến Có thể mở hạn chế lời giải bằng cách ràng buộc những ràng buộc của các biến có thể chấp nhận được tới nhứng thuật ngữ RDF
Ví dụ 2 Xét một truy vấn ràng buộc sau:
Dữ liệu:
@prefix dc: <http://purl.org/dc/elements/1.1/>
@prefix : <http://example.org/books/>
Trang 36SELECT ?title ?price
WHERE { ?x ns:price ?price
FILTER (?price < 34)
?x dc:title ?title }
Kết quả truy vấn:
" Giới thiệu về Semantic web " 24
Bằng cách ràng buộc biến “price”, chỉ có books2 thích hợp với truy vấn vì có một giới hạn dựa vào gía trị được phép của “price”
1.3.3.4 Mẫu đồ thị (Graph Pattern)
Những mẫu đồ thị phức tạp có thể được tạo ra bằng cách kết hợp những mẫu
đồ thị đơn giản Cách tạo ra những mẫu đồ thị đó là:
- Mẫu đồ thị cơ bản (Basic Graph Pattern), là một tập những mẫu bộ ba phù hợp với tất cả
- Mẫu nhóm (Group Pattern), là một tập những mẫu đồ thị phải phù hợp với tất cả sử dụng cùng biến thay thế
- Những mẫu đồ thị tùy chọn (Optional graph pattern), là những mẫu bổ sung có thể mở rộng lời giải
- Những ràng buộc giá trị (Value contrain), mà hạn chế những thuật ngữ RDF trong một lời giải