BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Lê Đinh Cường
NGHIÊN CỨU DỊCH VỤ WEB NGỮ NGHĨA
VÀ VẤN ĐỀ TỰ ĐỘNG TÌM KIẾM
Chun ngành: Cơng nghệ thơng tin
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. Cao Tuấn Dũng
Trang phụ bìa
0B
Hà Nội - 2009
2
Lời cam đoan
Tơi xin cam đoan đây là cơng trình nghiên cứu của bản thân. Các số liệu, kết
quả trình bày trong luận văn là trung thực và chưa từng được ai cơng bố trong bất
kỳ cơng trình luận văn nào trước đây.
Tác giả luận văn
Lê Đinh Cường
3
Mục lục
Trang
Trang phụ bìa ..............................................................................................................1
Lời cam đoan ...............................................................................................................2
Mục lục........................................................................................................................3
Danh mục các ký hiệu, các chữ viết tắt .......................................................................6
Danh mục các bảng .....................................................................................................7
Danh mục các hình vẽ, đồ thị ......................................................................................8
MỞ ĐẦU ...................................................................................................................10
Chương 1 – TỔNG QUAN .......................................................................................13
1.1 Công nghệ Web Service ..................................................................................13
1.1.1 Giới thiệu Web Service ............................................................................13
1.1.2 Kiến trúc và các thành phần Web Service ...............................................13
1.1.3 Hạn chế của Web Service ........................................................................15
1.2 Giới thiệu Semantic Web ................................................................................16
1.2.1 Giới thiệu Semantic Web .........................................................................17
1.2.2 Kiến trúc Semantic Web ..........................................................................18
1.2.3 Khái niệm Ontology .................................................................................20
1.2.4 Các ngôn ngữ biểu diễn ngữ nghĩa thông tin ...........................................20
1.2.5 Ứng dụng của Semantic Web...................................................................21
1.3 Công nghệ Semantic Web Service ..................................................................22
1.3.1 Từ Web Service tới Semantic Web Service .............................................22
1.3.2 Giới thiệu dịch vụ Web ngữ nghĩa ...........................................................25
1.3.3 Vòng đời phát triển của dịch vụ Web ngữ nghĩa .....................................26
1.3.4 Các công nghệ và nền tảng để xây dựng Semantic Web Service ............29
1.4 Kết chương ......................................................................................................31
Chương 2 – SO SÁNH CÁC CÁCH TIẾP CẬN DỊCH VỤ WEB NGỮ NGHĨA ..32
4
2.1 Giới thiệu.........................................................................................................32
2.2 Mục đích..........................................................................................................32
2.3 OWL-S đánh dấu ngữ nghĩa cho dịch vụ web ................................................33
2.3.1 Ontology mức đỉnh ..................................................................................33
2.3.2 Tìm kiếm dịch vụ .....................................................................................34
2.3.3 Sự tương hỗ ..............................................................................................35
2.3.4 Sự kết hợp ................................................................................................37
2.3.5 Sự triệu gọi ...............................................................................................37
2.4 Mơ hình Web Semantic Modelling Ontology (WSMO).................................38
2.4.1 Ontology mức đỉnh ..................................................................................38
2.4.2 Tìm kiếm dịch vụ .....................................................................................39
2.4.3 Sự tương hỗ ..............................................................................................40
2.4.4 Sự kết hợp ................................................................................................41
2.4.5 Sự triệu gọi ...............................................................................................42
2.5 Khung làm việc METEOR-S ..........................................................................42
2.5.1 Tìm kiếm dịch vụ - sự tương hỗ ...............................................................43
2.5.2 Sự kết hợp ................................................................................................44
2.5.3 Sự triệu gọi ...............................................................................................44
2.6 So sánh các cách tiếp cận ................................................................................44
2.6.1 So sánh trên thao tác tìm kiếm dịch vụ ....................................................46
2.6.2 So sánh trên sự tương hỗ giữa các hành động..........................................47
2.6.3 So sánh sự kết hợp ...................................................................................48
2.6.4 So sánh sự triệu gọi ..................................................................................49
2.7 Kết luận ...........................................................................................................49
Chương 3 – ĐÁNH DẤU NGỮ NGHĨA VỚI OWL-S VÀ KỸ THUẬT ĐỐI SÁNH
DỊCH VỤ ..................................................................................................................50
3.1 Giới thiệu.........................................................................................................50
3.2 Kiến trúc OWL-S và ontology mức đỉnh của dịch vụ ....................................51
3.2.1 Service Profile ..........................................................................................54
5
3.2.2 Process Model ..........................................................................................55
3.2.3 Service Grouding .....................................................................................56
3.3 Các cách tìm kiếm dịch vụ ..............................................................................58
3.4 Kỹ thuật khám phá tự động các dịch vụ web ngữ nghĩa .................................59
3.4.1 UDDI và việc tìm kiếm các dịch vụ .........................................................59
3.4.2 Kỹ thuật khám phá tự động dựa trên hệ đối sánh ngữ nghĩa ...................60
3.5 Kết chương ......................................................................................................64
Chương 4 – XÂY DỰNG HỆ ĐỐI SÁNH NGỮ NGHĨA .......................................65
4.1 Giới thiệu.........................................................................................................65
4.2 Thư viện OWLS-MX ......................................................................................65
4.2.1 Giới thiệu thư viện ...................................................................................65
4.2.2 Tập hàm giao diện lập trình ứng dụng .....................................................66
4.3 Xây dựng hệ thống đối sánh ngữ nghĩa SMS .................................................75
4.3.1 Phân tích các chức năng hệ thống ............................................................75
4.3.2 Các module trong hệ thống ......................................................................76
4.3.3 Quy trình thực hiện đối sánh ....................................................................78
4.4 Giới thiệu các ontology được dùng .................................................................79
4.5 Giới thiệu bộ kiểm thử các truy vấn và dịch vụ ..............................................80
4.5.1 Cấu trúc bộ kiểm thử ................................................................................81
4.5.2 Truy vấn dịch vụ ngữ nghĩa .....................................................................82
4.5.3 Các dịch vụ ngữ nghĩa được sử dụng .......................................................85
4.6 Kết quả thực nghiệm và đánh giá....................................................................94
4.7 Kết chương ......................................................................................................99
KẾT LUẬN VÀ KIẾN NGHỊ.................................................................................100
TÀI LIỆU THAM KHẢO.......................................................................................102
PHỤ LỤC ................................................................................................................105
6
Danh mục các ký hiệu, các chữ viết tắt
Thuật ngữ
HTML
Diễn giải
Mô tả
Hypertext Markup Language
Ngôn ngữ đánh dấu siêu văn
bản
HTTP
Hypertext Transfer Protocol
METEOR-S
Managing
End
Giao thức truyền Siêu văn bản
End Khung điều khiển hoạt động
To
OpeRations - Services
dịch vụ
OWL
Ontology Web Language
Ngôn ngữ mô tả Ontology
OWL-S
Ontology Web Language - Ontology dựa trên OWL để mô
tả dịch vụ SWS
ServiceS
RDF
Description Khung mô tả tài nguyên
Resource
Framework
SOAP
Simple
Access Giao thức truy cập đối tượng
Object
Protocol
đơn giản
SWS
Semantic Web Service
Dịch vụ Web ngữ nghĩa
URI
Uniform Resource Identifiers
Địa chỉ định danh tài nguyên
URL
Uniform Resource Locator
Địa chỉ định vị tài nguyên
WS
Web Service
Dịch vụ Web
WSDL
Web
Services
Description Ngôn ngữ mô tả dịch vụ Web
Language
WSMO
XML
Web
Service
Modeling Mơ hình khái niệm liên quan
Ontology
đến SWS
Extensible Markup Language
Ngôn ngữ đánh dấu mở rộng
7
Danh mục các bảng
Bảng 2.1: So sánh các khái niệm tương ứng của ba mơ hình ...................................46
Bảng 4.1: Số lượng các dịch vụ và truy vấn trong bộ kiểm thử ...............................81
Bảng 4.2: Chi tiết các dịch vụ kiểm thử ....................................................................93
Bảng 4.3: Chi tiết yêu cầu dịch vụ ............................................................................95
Bảng 4.4: Kết quả đối sánh .......................................................................................95
8
Danh mục các hình vẽ, đồ thị
Hình 1.1: Mơ hình kiến trúc hướng dịch vụ..............................................................14
Hình 1.2: Kiến trúc cơ bản của SOA với SOAP, WSDL, và UDDI. ........................15
Hình 1.3: Sự tiến hóa lên Semantic Web ..................................................................16
Hình 1.4: Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989 ...................17
Hình 1.5: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web........18
Hình 1.6: Kiến trúc Semantic Web ...........................................................................19
Hinh 1.7: Ví dụ về một RDF .....................................................................................21
Hình 1.8: Vịng đời của dịch vụ web ngữ nghĩa .......................................................27
Hình 2.1: Ontology mức đỉnh của OWL-S ...............................................................33
Hình 2.2: Các phương thức mức khái niệm ServiceProfile ......................................35
Hình 2.3: OWL-S xử lý các mơ hình và IOPEs ........................................................36
Hình 2.4: Mơ hình mức đỉnh WSMO .......................................................................39
Hình 2.5: Các lớp chức năng của WSMO.................................................................40
Hình 2.6: Lớp WSMO Service..................................................................................41
Hình 2.7: Lớp WSMO Interface ...............................................................................42
Hình 3.1: Ontology mức đỉnh của dịch vụ ................................................................52
Hình 4.1: Sơ đồ chức năng hệ SMS ..........................................................................76
Hình 4.2: Lược đồ tuần tự chức đăng đăng ký dịch vụ .............................................77
Hình 4.3: Lược đồ tuần tự chức năng đăng ký yêu cầu ............................................77
Hình 4.4: Lược đồ tuần tự chức năng cấu hình SMS ................................................78
Hình 4.5: Lược đồ tuần tự chức năng đối sánh & xem kết quả ................................78
Hình 4.6: Quy trình của hệ thống đối sánh ngữ nghĩa ..............................................79
Hình 4.7: Mức đỉnh của ontology yêu cầu dịch vụ về thơng tin bệnh viện ..............82
Hình 4.8: Cây phân cấp khái niệm của ontology Mid-level-ontology ......................84
Hình 4.9: Cây phân cấp khái niệm ontology SUMO ................................................85
Hình 4.10: Mức đỉnh của ontology dịch vụ về thông tin bệnh viện .........................86
9
Hình 4.11: Mức đỉnh của ontology dịch vụ thơng tin quá trình điều trị ...................87
Hình 4.12: Mức đỉnh của ontology dịch vụ trả quá trình điều trị tâm lý ..................88
Hình 4.13: Mức đỉnh của ontology dịch vụ trả về giá của một loại xe .....................89
Hình 4.14: Giao diện hệ đối sánh SMS .....................................................................94
10
MỞ ĐẦU
Ban đầu, Web được các nhà khoa học sử dụng nhằm mục đích cung cấp và
chia sẻ thơng tin để phục vụ cho các tổ chức chính phủ, doanh nghiệp và cả các cá
nhân qua các các dữ liệu và các ứng dụng của họ. Nhưng dần dần web đã hướng
đến phục vụ cho các mục đích mà trước đó chưa từng nghĩ đến. Đặc trưng của các
Web hiện thời đa số hiển thị cho con người có thể “hiểu” được. Tuy nhiên, trở ngại
lớn nhất hiện nay cho việc tìm kiếm thơng tin, dịch vụ là dữ liệu trên Web thiếu ngữ
nghĩa để cho phép các máy tính có thể hiểu được và tự động xử lý dữ liệu.
Để giải quyết các khó khăn trên, nhiều nghiên cứu đã được tiến hành nhằm
làm giàu thêm những thông tin hiện có thành những dạng thơng tin mà máy có thể
xử lý được. Tim Berners Lee, người phát minh ra WWW đã xem tương lai của
WWW như là “Semantic Web” – mở rộng của Web, ở đó các thơng tin tồn tại dưới
dạng máy tính có thể đọc được, các dịch vụ sẽ có các khả năng vượt trội so với các
dịch vụ chỉ cung cấp các thông tin như hiện nay. Web ngữ nghĩa được định nghĩa
như là mở rộng của Web hiện thời, trong đó các thơng tin này mang đầy đủ ngữ
nghĩa. Các dịch vụ tự động sẽ cải thiện khả năng của nó để giúp đỡ con người hiểu
được nhiều nội dung của web hơn và vì thế việc tìm kiếm, phân loại và lọc thơng tin
sẽ trở nên chính xác hơn. Q trình này cuối cùng sẽ dẫn tới một hệ thống tri thức
khổng lồ được đặc trưng bởi nhiều dịch vụ suy luận chuyên biệt. Những dịch vụ này
sẽ hỗ trợ chúng ta trong hầu hết các khía cạnh của cuộc sống hàng ngày và việc truy
cập thông tin trở nên dễ dàng hơn, phổ biến hơn.
Việc phát triển các công nghệ nhằm hỗ trợ cho Web ngữ nghĩa đã dần chiếm
ưu thế trong các công đồng nghiên cứu khác nhau. Web ngữ nghĩa tận dụng tối đa
được khả năng của nó thơng qua các dịch vụ web (Web Service). Một dịch vụ web
là một hệ phần mềm bao gồm một tập chức năng mà có thể trao đổi và tương tác với
nhau.
11
Ngày nay, với sự phát triển mạnh mẽ của các dịch vụ web đã làm cho các
dịch vụ web có thể được cơng khai, định vị và có thể kết hợp các ứng dụng thông
qua web. Đây là lý do tại sao mà hiện nay càng ngày càng có nhiều công ty và nhiều
tổ chức không chỉ thực thi các dịch vụ của riêng họ mà còn phát triển lại các dịch vụ
ứng dụng khác trên mạng. Vì thế khả năng khám phá, tìm kiếm để lựa chọn và tích
hợp một cách hiệu quả các dịch vụ của các tổ chức tại thời điểm thực thi dịch vụ đã
trở thành một vấn đề quan trọng đối với các nhà cung cấp dịch vụ web. Một vấn đề
đặt ở đây là làm thế nào để phát triển các kỹ thuật để tự động xác định được đúng
dịch vụ web mà thoả mãn được các yêu cầu của người sử dụng. Tự động tìm kiếm
các dịch vụ web là một nhiệm vụ địi hỏi tính phức tạp vì nó gặp phải các trở ngại:
-
Số lượng các dịch vụ web sẵn có ngày càng nhiều và phân tán, đã vượt quá
khả năng của con người để có thể tìm kiếm một cách thủ cơng.
-
Các dịch vụ web có thể được tạo và cập nhật liên tục. Nếu như tìm kiếm do
con người thực hiện, có thể khơng cập nhật theo kịp sự phát triển này.
Việc tìm kiếm các dịch vụ web (hay dịch vụ web ngữ nghĩa) có thể tiếp cận
theo hai hướng. Hướng thứ nhất là tìm kiếm từ khóa thơng thường và cách thứ hai
là tìm kiếm theo ngữ nghĩa. Việc tìm kiếm theo từ khóa khơng hiệu quả và chính
xác, trên số lượng ngày càng lớn các dịch vụ. Việc tích hợp ngữ nghĩa vào các dịch
vụ web đã cho ta cách thức tìm kiếm theo ngữ nghĩa, tăng cường tính tự động hóa,
đó chính là trọng tâm của luận văn.
Mục đích của luận văn là nhằm nghiên cứu phát triển một hệ đối sánh dịch
vụ web ngữ nghĩa sử dụng thư viện OWLS-MX. Cấu trúc luận văn bao gồm các
chương như sau:
Chương 0: Mở đầu
Chương 1: Tổng quan. Chương này giới thiệu về các dịch vụ web, web ngữ
nghĩa và ontology, và dịch vụ web ngữ nghĩa. Ta sẽ tìm hiểu tổng quan về
các dịch vụ web ngữ nghĩa cùng với vịng đời phát triển của nó.
12
Chương 2: So sánh các cách tiếp cận tới Semantic Web Service. Giới thiệu
một số các cách tiếp cận tới dịch vụ web ngữ nghĩa hiện nay, bao gồm OWLS, WSMO, METEOR-S và so sánh các cách này.
Chương 3: Đánh dấu ngữ nghĩa với OWL-S và việc đối sánh các dịch vụ.
Chương này đi sâu phân tích về ngôn ngữ ontology cho web để đánh dấu ngữ
nghĩa các dịch vụ và trình bày kỹ thuật tự động tìm kiếm, kiến trúc hệ thống
đối sánh ngữ nghĩa.
Chương 4: Xây dựng hệ thống đối sánh ngữ nghĩa. Chương này giới thiệu
một thư viện hỗ trợ đối sánh ngữ nghĩa kết hợp dựa trên logic chính xác và
đối sánh xấp xỉ dựa trên tương tự cú pháp. Từ đó xây dựng một hệ đối sánh
và cài đặt trên một bộ kiểm thử các ontology, yêu cầu và dịch vụ.
Phần cuối cùng là Kết luận trình bày những kết quả mà luận văn đạt được và
các hướng phát triển tiếp theo.
13
Chương 1 – TỔNG QUAN
1.1 Công nghệ Web Service
1.1.1 Giới thiệu Web Service
Web services là một dạng ứng dụng Web mới. Các ứng dụng này có các tính
chất như: độc lập, tự diễn tả, được mơ đun hóa… Chúng có thể được định vị và
được triệu gọi thông qua môi trường Web. Web services có thể thực hiện các chức
năng từ đơn giản tới các xử lý nghiệp vụ phức tạp…
Từ quan điểm của người xây dựng phần mềm, một Web Services có thể được
coi là kiến trúc hướng dịch vụ, nó bao gồm tập các dịch vụ mà có thể truyền thông
với nhau và với các client đầu-cuối thông qua các giao diện hoàn toàn xác định. Một
trong những lợi thế của kiến trúc hướng dịch vụ là nó cho phép phát triển các ứng
dụng được liên kết lỏng lẻo mà có thể được phân tán và truy cập từ bất kỳ client nào
thông qua mạng.
1.1.2 Kiến trúc và các thành phần Web Service
1.1.2.1 Kiến trúc hướng dịch vụ
Web services đưa ra một tài ngun thơng tin có thể được truy nhập thông
qua Web bởi các ứng dụng khác và quá trình giao tiếp dựa trên các giao thức chuẩn.
Điểm khác biệt giữa Web services và các ứng dụng dựa trên Web khác là:
Web services hỗ trợ giao tiếp ứng dụng đến ứng dụng. Các ứng dụng Web-based hỗ
trợ giao tiếp người-người (email, instant message) hoặc giao tiếp người-ứng dụng
(browser). Web services được thiết kế cho phép các ứng dụng giao tiếp với nhau mà
không cần sự trợ giúp hay can thiệp của con người.
14
WSA (Web services Architecture) là sự hội tụ của kiến trúc hướng dịch vụ
SOA (Service-Oriented Architecture) và Web. Web làm cho WSA độc lập hồn
tồn với nền tảng và ngơn ngữ. Web services có thể được triển khai bằng bất kỳ
ngôn ngữ nào, trên bất kỳ nền nào từ thiết bị nhỏ nhất cho tới các siêu máy tính.
Hình 1.1 biểu diễn mơ hình hoạt động trong mơ hình SOA.
Hình 1.1: Mơ hình kiến trúc hướng dịch vụ
Ba thành phần cơ bản là service provider (cung cấp service), service
consumer (sử dụng dịch vụ) và service broker (môi giới dịch vụ). Phía service
provider tạo ra dịch vụ và đưa ra đặc tả giao diện của nó. Sau đó đăng ký (register)
dịch vụ với một service broker. Phía sử dụng dịch vụ (service consumer) sẽ truy vấn
service broker để tìm ra service tương thích với nó. Service broker cho service
consumer biết nơi có dịch vụ và đặc tả chi tiết của dịch vụ đó. Service consumer sẽ
dùng đặc tả này để kết gắn client đến service.
1.1.2.2 Kiến trúc Web Service
Kiến trúc web services đưa ra tất cả các đặc trưng tốt nhất của kiến trúc
hướng dịch vụ. Trong phần lớn các hệ thống trung gian, ba thành phần cơ bản
(transport, description, discovery) trong kiến trúc WSA được cài đặt tương ứng
bằng SOAP, WSDL, UDDI. Hình 1.2 minh họa nguyên lý của một hệ WSA sử
dụng 3 công nghệ này.
15
Hình 1.2: Kiến trúc cơ bản của SOA với SOAP, WSDL, và UDDI.
UDDI registry đóng vai trị của service broker. Các thao tác đăng ký và tìm
kiếm được cài đặt bằng UDDI Inquiry và UDDI Publish APIs. Một tài liệu WSDL
sẽ đặc tả chi tiết service, và được sử dụng để kết gắn client tới service. Toàn bộ các
chức năng giao vận được thực hiện nhờ SOAP.
1.1.2.3 Các thành phần của Web Service
Các thành phần chính liên quan đến Web Services và đóng vai trị quyết định
trong hoạt động của Web services.
XML (eXtensible Markup Language)
SOAP (Simple Object Access Protocol)
WSDL (Web Services Description Language)
UDDI (Universal Description, Discovery and Integration)
BPEL4WS (Business Process Execution Language for Web Service)
1.1.3 Hạn chế của Web Service
Từ trước đến giờ WSDL, SOAP và UDDI vẫn được xem như là một bước
định hướng đúng nhưng chúng khơng hỗ trợ việc tự động hố và gặp rất nhiều khó
khắn trong việc vận hành bởi vì chúng phụ thuộc vào các chuẩn ưu tiên và yêu cầu
của con người. Để hỗ trợ cho quá trình suy diễn tự động thì việc biểu diễn tri thức
(như các ngôn ngữ đánh dấu) là cần thiết để xác định cả dữ liệu và các luật cho quá
16
trình suy diễn. Khả năng tự động định vị và hợp các dịch vụ web dựa trên các mô tả
ngữ nghĩa về dịch vụ web. Các ontology sẽ được sử dụng để cho phép xác định nội
dung ngữ nghĩa, do vậy có nhiều quan tâm về cộng đồng của web ngữ nghĩa. Thêm
vào đó, các tác tử sẽ cần được sử dụng để thông dịch nội dung và yêu cầu của người
sử dụng.
Do vậy với sự xuất hiện của web ngữ nghĩa thì các cơng nghệ trên khơng cịn
phù hợp nữa. Địi hỏi một cơng nghệ khác cần xuất hiện mà hỗ trợ web ngữ nghĩa
1.2 Giới thiệu Semantic Web
Thế hệ web đầu tiên bắt đầu với những trang HTML thủ công, thế hệ thứ hai
đã tạo nên một bước cho máy thực hiện và thường là các trang HTML động. Các
thế hệ web này mang ý nghĩa cho con người thao tác trực tiếp (đọc, duyệt, điền vào
mẫu). Thế hệ web thứ ba được gọi là “Semantic Web”, mang mục đích là thơng tin
sẽ do máy xử lý.
Hình 1.3: Sự tiến hóa lên Semantic Web
17
1.2.1 Giới thiệu Semantic Web
1.2.1.2 Semantic Web là gì
Semantic Web không là Web riêng biệt nhưng là một sự mở rộng của Web
hiện tại, theo cách thông tin được xác định ý nghĩa tốt hơn, nó cho phép máy tính và
người cộng tác với nhau tốt hơn. Semantic Web được hình thành từ ý tưởng của
Tim Berners-Lee, người phát minh ra WWW, URI, HTTP, và HTML.
Hình 1.4: Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989
Semantic Web là một mạng lưới các thông tin được liên kết sao cho chúng
có thể được xử lý dễ dàng bởi các máy tính ở phạm vi tồn cầu. Nó được xem là
cách mô tả thông tin rất hiệu quả trên World Wide Web, và cũng được xem là một
cơ sở dữ liệu có khả năng liên kết tồn cầu.
Semantic Web là một phương pháp cho phép định nghĩa và liên kết dữ liệu
một cách có ngữ nghĩa hơn nhằm phục vụ cho máy tính có thể “hiểu” được.
18
Semantic Web cịn cung cấp một mơi trường chia sẻ và xử lý dữ liệu một cách tự
động bằng máy tính.
Ý tưởng liên kết các nguồn khác nhau (tài liệu, hình ảnh, con người, khái
niệm) cho phép chúng ta mở rộng Web thành một môi trường mới với tập các mối
quan hệ mới (như hasLocation, worksFor, isAuthorOf, hasSubjectOf, dependsOn)
giữa các nguồn dữ liệu, tạo ra các mối liên hệ ngữ cảnh (contextual relationship),
điều mà Web hiện tại chưa làm được.
Hình 1.5: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web
1.2.1.2 Semantic Web mang lại những gì
-
Máy có thể hiểu được thơng tin trên Web
-
Thơng tin được tìm kiếm nhanh chóng và chính xác hơn
-
Dữ liệu liên kết động
-
Hỗ trợ cơng cụ tự động hóa
1.2.2 Kiến trúc Semantic Web
Semantic Web là một tập hợp/một chồng (stack) các ngôn ngữ. Tất cả các
lớp của Semantic Web được sử dụng để đảm bảo độ an tồn và giá trị thơng tin trở
nên tốt nhất.
19
Hình 1.6: Kiến trúc Semantic Web
Lớp Unicode & URI: Nhằm bảo đảm việc sử dụng tập 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.
Lớp XML cùng với các định nghĩa về namespace (không gian tên) và
schema (lược đồ): Bảo đảm rằng chúng ta có thể tích hợp các định nghĩa
Semantic Web với các chuẩn dựa trên XML khác.
Lớp RDF [RDF] và RDFSchema [RDFS]: Có thể tạo các phát biểu
(statement) để mô tả các đối tượng với những từ vựng và định nghĩa của
URI, và các đối tượng này có thể được tham chiếu đến bởi những từ vựng và
định nghĩa của URI ở trên. Đây cũng là lớp mà chúng ta có thể gán các kiểu
(type) cho các tài nguyên và liên kết. Và cũng là lớp quan trọng nhất trong
kiến trúc Semantic Web.
Lớp Ontology: Hỗ trợ sự tiến hóa của từ vựng vì nó có thể định nghĩa mối
liên hệ giữa các khái niệm khác nhau.
Lớp Digital Signature: Được dùng để xác định chủ thể của tài liệu.
Các lớp Logic, Proof, Trust: đang trong giai đoạn nghiên cứu và các thể
hiện của các ứng dụng giản đơn đang được xây dựng. Lớp Logic cho phép
viết ra các luật (rule) trong khi lớp Proof thi hành các luật và cùng với lớp
Trust đánh giá nhằm quyết định ứng dụng nên hay không nên tin tưởng/chấp
nhận (trust) chứng cớ (proof).
20
1.2.3 Khái niệm Ontology
Ra đời từ nhu cầu biểu diễn tri thức, ngày nay các ontology đã trở thành
trọng tâm trong các nghiên cứu trong lĩnh vực công nghệ tri thức. Với mục đích
thiết lập nên các mơ hình biểu diễn qua đó máy tính có thể hiểu và vận dụng khía
cạnh ngữ nghĩa của thơng tin, các ontology ngày càng góp mặt trong nhiều lĩnh vực
chuyên ngành khách nhau của cơng nghệ thơng tin như trí tuệ nhân tạo, Web ngữ
nghĩa.
Hiện tại có nhiều định nghĩa về Ontology, bao gồm cả các mơ hình tốn học
lẫn các định nghĩa thiên về khái niệm. Ở đây ta đưa ra định nghĩa được chấp nhận
rộng rãi của Gruber: “Một Ontology là một đặc tả tường minh và hình thức về một
khái niệm hóa miền thơng tin được chia sẻ”.
Định nghĩa này nhấn mạnh hai điểm chính: đó là các khái niệm hình thức
hóa và bởi vậy cho phép suy diễn (reasoning) bởi máy tính; thứ hai nó nhấn mạnh
mỗi Ontology được xây dựng cho một vài miền thông tin cần quan tâm, thể hiện sự
hiểu biết chung về một miền. Từ đó các ứng dụng có thể tận dụng sự hiểu biết
chung này để giao tiếp với nhau.
Ontology bao gồm các khái niệm (concept), các quan hệ (relation), các thể
hiện (instance) và các tiên đề (axiom). Vì thế một Ontology thường được biểu diễn
dưới dạng bộ 4 {C, R, I, A} trong đó C là tập các khái niệm, R là tập các quan hệ, I
là tập các thể hiện và A là tập các tiên đề.
1.2.4 Các ngôn ngữ biểu diễn ngữ nghĩa thông tin
1.2.4.1 XML
XML (Extensible Markup Language) là ngôn ngữ đánh dấu mở rộng được
phát triển dựa trên tính đơn giản, dễ dùng của HTML và tính phức tạp nhưng đa
chức năng của SGML. XML được thiết kế để cho phép máy tính có thể trao đổi tài
liệu với nhau thông qua Web mà không làm mất đi ý nghĩa của dữ liệu.
21
1.2.4.2 RDF
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 ngun (resources), RDF
cịn chứa thuộc tính (properties) và câu phát biểu (statements).
Hinh 1.7: Ví dụ về một RDF
Nhìn chung, một mơ tả RDF là một danh sách các triple (bộ ba): object attribute - value.
1.2.5 Ứng dụng của Semantic Web
Các lĩnh vực ứng dụng hiện có của Semantic Web là như sau:
Các bộ máy tìm kiếm ngữ nghĩa (Search Engine): Nếu Search Engine được
tích hợp tri thức để hiểu được ý nghĩa của các từ, thì rất có thể nó cho ta kết
quả chính xác hơn, lúc đó việc tìm kiếm sẽ dựa trên khái niệm (concept) chứ
khơng phải theo từ khóa (keyword).
Tiềm năng kế tiếp của Semantic Web có thể kể đến là ứng dụng vào các tác
tử Internet. Hiện nay, để hồn thành cơng việc, các tác tử internet phải yêu
cầu dữ liệu các trang Web ngữ nghĩa, thu thập và xử lý chúng m.
22
Mối quan hệ (Relationship): Semantic Web còn được dùng để tổ chức lại các
trang Web có nội dung liên quan nhau, phục vụ công việc chọn lọc và chỉ
mục.
Ngành cơng nghiệp chăm sóc sức khỏe đã được khởi động và đang đi lên với
những chuyển biến sâu sắc. Những chuyển biến này tạo nên những thách
thức mới và để đương đầu với chúng, giải pháp phải xây dựng một hệ thống
y tế điện tử tích hợp thêm các công nghệ mới đang được nghiên cứu ứng
dụng. Hiện nay, các hệ thống y tế điện tử đa phần là những trang web cung
cấp và cập nhật thông tin, thực hiện một số thao tác quản lí (bệnh nhân, đơn
thuốc …) dựa trên cơ sở dữ liệu. Trong khi đó với ứng dụng công nghệ
Semantic Web, triển khai các dịch vụ kèm theo các hệ trợ giúp quyết định,
một số nước châu Âu đã đưa ra những giải pháp nhằm cải thiện cách thức
chăm sóc sức khỏe người dân ngày một tốt hơn. Xu hướng của thế giới là
xây dựng một chuẩn bệnh án điện tử với rất nhiều lợi ích: vừa phục vụ cho
việc chăm sóc sức khỏe bệnh nhân đồng thời đó cũng là nguồn tài liệu q
giá cho các bản thống kê và điều tra về tình hình y tế trên tồn thế giới. Bên
cạnh đó, các mục tiêu như cải thiện điều kiện và phương thức khám chữa
bệnh, giảm chi phí các hoạt động y tế, nâng cao sự tiện dụng của các dịch vụ
cũng là mối quan tâm của các nhà quản lí và hoạt động xã hội. Vấn đề gặp
phải khi xây dựng các hệ thống y tế điện tử là sự đa dạng của các nguồn
thông tin. Với mục tiêu thống nhất được các nguồn thơng tin hỗn tạp và tiến
tới chuẩn hóa các tài liệu cũng như các khuôn dạng dữ liệu cần thiết thì cơng
nghệ web ngữ nghĩa dựa trên nền tảng quản trị tri thức là một xu hướng tiếp
cận đúng đắn. Những ưu điểm nổi bật trong việc quản trị tri thức dựa trên
ontology sẽ góp phần giải quyết các vấn đề khó khăn hiện tại.
1.3 Cơng nghệ Semantic Web Service
1.3.1 Từ Web Service tới Semantic Web Service
Từ những hạn chế của Web Service, ta có những điều mong muốn đạt được:
23
1. Tự động tìm kiếm Web services: Tìm kiếm các dịch vụ mong muốn có thể
rất khó khăn, đặc biệt là khi các yêu cầu dịch vụ không biết chắc những dịch
vụ được cung cấp; phía các thực thể yêu cầu hi vọng rằng có một thực thể
nào đó cung cấp dịch vụ này trực tuyến. Tuy nhiên, để làm cho Web services
hồn thiện, phải đưa ra các cách tìm kiếm các dịch vụ u cầu; tức là nó
được tìm kiếm tự động, với một sự chính xác và hiệu quả
2. Tự động triệu gọi một dịch vụ: Sau khi tìm thấy dịch vụ được u cầu, tác tử
có thể triệu gọi dịch vụ một cách tự động. Lợi ích hiển nhiên là: không cần
sự can thiệp của con người dẫn đến sự chậm trễ thi hành, ta có thể kiểm soát
các hoạt động trên một phạm vi rộng với hiệu quả và chi phí thấp hơn nhiều.
Trong nhiều trường hợp việc tự động triệu gọi này là cực kỳ cần thiết; vì
nhiều ứng dụng bắt buộc phải chạy liên tục mà không cho phép một sự ngắt
quãng nào.
3. Tự động kết hợp các dịch vụ cần thiết: Thông thường, các hoạt động của một
doanh nghiệp cần một vài Web services làm việc đồng thời cùng nhau.
Chẳng hạn, việc nhập hàng vào kho sẽ bao gồm việc tham khảo giá từ nhiều
nhà cung cấp (sẽ gọi các Web services được xuất bản bởi các nhà cung cấp),
so sánh các giá (tác vụ này có thể làm nội bộ), và sau khi chọn được nhà
cung cấp thì đặt hàng (sẽ dùng một Web services khác được đưa ra bởi nhà
cung cấp được lựa chọn). Rõ ràng một tác tử phải có khả năng tìm kiếm các
dịch vụ cần thiết và triệu gọi chúng theo thứ tự để thỏa mãn yêu cầu của
doanh nghiệp.
4. Tự động giám sát các tiến trình được thực hiện: Rõ ràng là nếu các tiến trình
là tự động thì câu hỏi đặt ra làm thế nào để biết các dịch vụ được u cầu có
được tìm thấy và thực thi thành cơng và chính xác hay khơng? Vì vậy phải
có các cơ chế kiểm tra và báo cáo việc thực thi này.
Trên đây là những mục tiêu để hoàn thiện Web Services, làm thế nào để thực
hiện khi ta chỉ có WSDL, SOAP và UDDI. Thực tế là việc tìm kiếm thủ cơng các
dịch vụ được u cầu là cực kỳ khó khăn, và yêu cầu đặt ra là phải có sự tự động
24
trong việc triệu gọi, kết hợp và giám sát. Như đã biết trong Web services, UDDI
được cung cấp như một phương tiện chính để tìm kiếm dịch vụ. Tuy nhiên, dùng
UDDI để tìm các Web services là cực kỳ khó khăn, tất nhiên khơng đến mức bất
khả thi, vì những ngun nhân sau:
• Cơ chế tìm kiếm của UDDI dựa trên một mơ tơ tìm kiếm theo từ khóa, có
nghĩa là bạn có thể tìm thấy rất nhiều hoặc khơng tìm thấy gì cả.
• Rất nhiều mơ hình phân loại và xác định được dùng trong nhiều loại dữ liệu
trong UDDI để làm các tiến trình tìm kiếm thuận tiện hơn. Tuy nhiên, điều
này yêu cầu nhiều sự hiểu biết về các mơ hình phân loại và nhận dạng với
các khách hàng sử dụng Web Services (các nhà phát triển). Thậm chí cứ cho
rằng đây khơng phải là vấn đề lớn, thì nó vẫn có khả năng là các bên khác
nhau phân loại một dịch vụ theo các cách khác nhau, và khơng dùng được
các mơ hình phân loại và nhận dạng.
• Bên cạnh các điểm trên, UDDI chỉ đưa ra một cách duy nhất, và khơng có
cách nào khác để tìm kiếm dịch vụ.
Kết quả cuối cùng của việc sử dụng UDDI là tìm kiếm các dịch vụ đã được
thử nghiệm và kiểm chứng; và khơng có gì đảm bảo rằng các q trình thủ cơng sẽ
thành cơng va trong khi việc tìm kiếm tự động là chưa thể thực hiện.
Bây giờ câu hỏi đặt ra là: Làm thế nào để tìm kiếm các dịch vụ yêu cầu một
cách tự động. Vì nếu khơng có các q trình tìm kiếm tự động thì các mục tiêu khác
– như triệu gọi tự động, kết hợp tự động hay giám sát tự động – khơng thể được
nhận biết.
Tìm kiếm thơng tin trên Web là rất khó khăn vì thế đã dẫn đến ý tưởng đưa
ngữ nghĩa vào các trang Web để làm cho việc tìm kiếm trở nên hiệu quả hơn nhờ sự
quan hệ ngữ nghĩa.
Việc tìm kiếm tự động các Web services chỉ là một hoạt động tìm kiếm,
những nhà nghiên cứu và phát triển cân nhắc việc có một số tính ngữ nghĩa trong
thế giới Web services có thể giúp ta tìm được các service mong muốn. Điều đầu tiên
25
phải làm là có một cái nhìn khác về các chuẩn Web services và xem nó đã có các
thơng tin mang tính ngữ nghĩa cho chúng ta dùng hay chưa.
Chúng ta cùng xét ba thành phần chính; đầu tiên là SOAP, SOAP là giao
thức giúp thực hiện việc truyền thông và trao đổi dữ liệu mức thấp; nó là cơng việc
sau khi tìm kiếm, vì thế nó sẽ đóng vai trị quan trọng trong việc truyền tìm kiếm tự
động; sau đó là hai thành phần khác: WSDL và UDDI. WSDL là ngôn ngữ dùng để
mô tả Web Service, tuy nhiên khơng có tính ngữ nghĩa trong các tài liệu WSDL,
tương tự tính ngữ nghĩa cũng khơng được xây dựng trên UDDI.
Vậy giải pháp cho vấn đề tìm kiếm tự động ở đây có thể là thêm tính ngữ
nghĩa vào các tài liệu WSDL và các đăng ký UDDI hoặc tạo ra một bộ chuẩn mới
hoặc kết hợp cả hai.
Những vấn đề ở trên đưa đến cho ta một phát sinh mới từ Web Service, đó
chính là Semantic Web Services.
1.3.2 Giới thiệu dịch vụ Web ngữ nghĩa
Sự phổ biến của các dịch vụ Web làm tăng cường việc chia sẻ các tài nguyên
– dữ liệu và dịch vụ – trên Web. Các tính chất cơ bản của Web services – đóng gói
và độc lập – giúp chúng có tính sẵn sàng cao và tăng cường khả năng sử dụng lại và
tương hỗ qua các lĩnh vực ứng dụng. Tuy nhiên, các chuẩn Web service khơng mơ
tả hồn tồn khả năng của một dịch vụ và không được hiểu bởi các chương trình
phần mềm. Một người phát triển được yêu cầu để thông dịch ý nghĩa của đầu vào,
đầu ra và các ràng buộc ứng dụng, trong ngữ cảnh mà dịch vụ được dùng. Vì thế,
việc tự động khám phá và lựa chọn tại thời gian thực thi của hầu hết tài nguyên đầy
đủ cho một hoạt động cho trước bị hạn chế, cũng như giải pháp tự động không
chuẩn với mức khuôn dạng dữ liệu, giao thức bản tin và tổ chức xử lý.
Các nghiên cứu Semantic Web Services (SWS) giúp cho việc tự động hóa sự
phát triển của các ứng dụng dựa trên Web service qua các công nghệ Web ngữ
nghĩa. Bằng cách cung cấp các mơ tả chính quy với các ngữ nghĩa xác định chuẩn,
SWS làm cho việc thông dịch của Web service trở nên dễ dàng– các thuộc tính chức