BIỂU DIỄN NGỮ NGHĨA CỦA DỊCH VỤ WEB VÀ TÌM KIẾM DỊCH VỤ WEB CÓ BỔ TRỢ NGỮ NGHĨA
NGUYỄN HOÀNG ANH
Trang nhan đề
Lời cảm ơn
Mục lục
Danh mục
Chương 1: Tổng quan
Chương 2: Dịch vụ Web và tìm kiếm dịch vụ Web
Chương 3: Ngữ nghĩa và các phương pháp biểu diễn ngữ nghĩa
Chương 4: Phương pháp mở rộng OWL-S dựa trên công dụng
Chương 5: Tìm kiếm dịch vụ OWL-S dựa trên công cụ
Chương 6: Cài đặt thử nghiệm và đánh giá
Chương 7: Kết luận
Tài liệu tham khảo
MỤC LỤC
CHưƠNG 1 : TỔNG QUAN . 1
1.1 Dịch vụ web và kiến trúc hướng dịch vụ 1
1.2 Tìm kiếm dịch vụ web 5
1.3 Tìm kiếm dịch vụ web dựa trên ngữ nghĩa . 7
1.4 Lý do thực hiện đề tài . 9
1.5 Mục tiêu đề tài 10
1.6 Nội dung đề tài . 11
CHưƠNG 2 : DỊCH VỤ WEB VÀ TÌM KIẾM DỊCH VỤ WEB . 12
2.1 Định nghĩa 12
2.2 Cấu trúc . 12
2.3 Sự phối hợp hoạt động khi sử dụng dịch vụ web . 13
2.4 Các công nghệ cốt lõi của dịch vụ web 15
2.4.1 SOAP 16
2.4.2 WSDL . 17
2.4.3 UDDI 18
2.5 Các hạn chế khi sử dụng dịch web . 18
CHưƠNG 3 : NGỮ NGHĨA VÀ CÁC PHưƠNG PHÁP BIỂU DIỄN NGỮ NGHĨA . 21
3.1 Web ngữ nghĩa 21
3.1.1 Giới thiệu 21
3.1.2 Kiến trúc . 21
ii
3.2 Dịch vụ web ngữ nghĩa . 23
3.2.1 OWL-S . 25
3.2.2 WSMO . 26
3.2.3 SAWSDL . 27
3.3 Một số hướng nghiên cứu chính trong lĩnh vực dịch vụ web ngữ nghĩa . 29
3.4 Phương pháp tìm kiếm dịch vụ web dựa trên công dụng . 29
CHưƠNG 4 : PHưƠNG PHÁP MỞ RỘNG OWL-S DỰA TRÊN CÔNG DỤNG 32
4.1 Mở rộng OWL-S Profile với các công dụng 32
4.1.1 Nhu cầu cần mở rộng OWL-S Profile với các công dụng . 32
4.1.2 Mở rộng OWL-S Profile với công dụng 33
4.1.3 Ví dụ về sự mở rộng OWL-S Profile với các công dụng . 35
4.2 Lựa chọn Ontology để chú giải công dụng của OWL-S Profile 36
4.2.1 Lựa chọn các khái niệm động từ trong Wordnet để chú giải thành phần động từ trong công dụng 37
4.2.2 Lựa chọn Domain Ontology để chú giải thành phần danh từ trong công dụng 38
4.3 Ánh xạ OWL-S Profile với các công dụng vào UDDI . 39
4.4 So sánh phương pháp chú giải công dụng cho OWL-s Profile với một số phương pháp chú giải ngữ nghĩa cho phương thức web 41
4.4.1 SAWSDL . 41
4.4.2 FC-MATCH . 44
CHưƠNG 5 : TÌM KIẾM DỊCH VỤ OWL-S DỰA TRÊN CÁC CÔNG DỤNG 46
5.1 Xác định mức độ phù hợp ngữ nghĩa giữa hai khái niệm trong Ontology . 46
iii
5.2 Các thuật toán liên quan đến tìm kiếm dịch vụ web dựa trên công dụng và Input, Output . 48
5.2.1 Thuật toán xác định mức độ phù hợp giữa hai khái niệm trong Ontology 48
5.2.2 Thuật toán xác định mức độ phù hợp giữa hai công dụng . 50
5.2.3 Thuật toán xác định mức độ phù hợp giữa các công dụng từ người dùng dịch vụ và các công dụng được quảng cáo bởi nhà cung cấp dịch vụ 51
5.2.4 Thuật toán tìm kiếm dịch vụ web dựa trên công dụng . 53
5.2.5 Luật so sánh mức độ phù hợp công dụng giữa các OWL-S Profile . 54
5.3 Hệ thống tìm kiếm dịch vụ web kết hợp công dụng và Input, Output . 55
5.3.1 Đề xuất hệ thống tìm kiếm dịch vụ web kết hợp công dụng và Input, Output 55
5.3.2 Luật so sánh mức độ phù hợp Input và Output 57
5.3.3 Luật so sánh mức độ phù hợp kết hợp công dụng và Input, Output 57
CHưƠNG 6 : CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ . 59
6.1 Kiến trúc tổng thể . 59
6.1.1 Hệ thống FOWLS JUDDI Registry . 60
6.1.2 Hệ thống FOWLS Annotation Provider . 63
6.1.3 Hệ thống FOWLS Discovery Requester 65
6.2 Đánh giá 66
6.2.1 Dữ liệu thử nghiệm . 66
6.2.2 Cấu hình máy thử nghiệm 67
6.2.3 Kết quả . 67
6.3 Ví dụ . 71
CHưƠNG 7 : KẾT LUẬN . 73
iv
7.1 Kết quả đạt được . 73
7.2 Hướng phát triển . 75
Tham khảo 76
90 trang |
Chia sẻ: maiphuongtl | Lượt xem: 1872 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Biểu diễn ngữ nghĩa của dịch vụ web và tìm kiếm dịch vụ web có bổ trợ ngữ nghĩa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n trong các khái niệm thuộc từ loại động từ trong Wordnet, chúng tôi
sử dụng mối quan hệ IS-A giữa các khái niệm (Hypernym, Hoponym) và các khái
niệm động từ đồng nghĩa (synonym) nhằm phát triển thuật toán tìm kiếm dịch vụ
38
web dựa trên công dụng chúng tôi đề xuất hiện tại đƣợc trình bày cụ thể trong
CHƢƠNG 5.
4.2.2 Lựa chọn Domain Ontology để chú giải thành phần danh từ trong công
dụng
Chúng tôi lựa chọn Domain Ontology đi kèm cùng tập dữ liệu thử nghiệm để
chú giải khái niệm danh từ trong công dụng, các Domain Ontology này đƣợc viết
theo ngôn ngữ OWL [36].
Trong tập dữ liệu test này có tổng cộng 1005 dịch vụ OWL-S đƣợc chia vào 7
domain : Communication, Economy, Education, Food , Medical, Travel,
Weapon. Các dịch vụ OWL-S này đã đƣợc chú giải ngữ nghĩa các Input và Output.
Trong phiên bản này chúng tôi chọn các Domain Ontology này, không chọn
các khái niệm thuộc từ loại danh từ trong wordnet, vì các khái niệm thuộc từ loại
danh từ trong wordnet rất tổng quát vì vậy chúng tôi chọn các khái niệm danh từ
trong Domain Ontology trong từng lĩnh vực cụ thể với mong muốn phục vụ cho việc
chú giải công dụng ngữ nghĩa của dịch vụ chính xác hơn, hỗ trợ việc tìm kiếm dịch
vụ web dựa trên công dụng chính xác hơn.
Trong các Domain Ontology này chúng tôi sử dụng mối quan hệ IS-A giữa
các Class (tổng quát hóa – đặc biệt hóa), các khái niệm bằng nhau giữa các Class
nhằm phát triển thuật toán tìm kiếm dịch vụ web dựa trên công dụng chúng tôi đề
xuất hiện tại đƣợc trình bày cụ thể trong CHƢƠNG 5.
39
4.3 Ánh xạ OWL-S Profile với các công dụng vào UDDI
OWL-S PROFILE
+ serviceName
+ textDescription
+ has_process
+ functionality
+ input
+ output
+ precondition
+ effect
SERVICE_NAME
+ Service_Key
+ Lang_Code
+ Name
SERVICE_CATEGORY
+ Service_Key
+ TMODEL_Key_Ref
. HasProcess_TMODEL
. Functionality_TMODEL
. Input_TMODEL
. Ouput_TMODEL
. Precondition_TMODEL
. Effect_TMODEL
SERVICE_DESCR
+ Service_Key
+ Descr
Hình 4.3 Ánh xạ FOWLS Profile vào UDDI
40
Để hỗ trợ ngƣời dùng dịch vụ tìm kiếm đƣợc dịch vụ OWLS đã đƣợc chú giải
ngữ nghĩa công dụng, chúng ta cần ánh xạ các thông tin của dịch vụ OWL-S đã chú
giải các công dụng lên nơi đăng ký dịch vụ UDDI, Ở đây chúng tôi làm theo cơ chế
ánh xạ OWL-S vào UDDI dựa trên công trình của Paolucci [24] và chúng tôi sử
dụng lại cơ sở dữ liệu JUDDI đã phát triển bởi công trình của Srinivasan [23], Cơ
chế này thực hiện phép ánh xạ một-một từ các thành phần OWL-S Profile vào bên
trong UDDI. Việc ánh xạ OWL-S Profile với các công dụng vào bên trong UDDI
đƣợc minh họa trong Hình 4.3.
Ví dụ xét OWL-S Profile trong Bảng 4.2.
ServiceProfile – Search
…………………………………………………………………………………………
.
Bảng 4.2 Ví dụ ánh xạ vào UDDI
41
Khi đó OWL-S Profile với các công dụng đƣợc ánh xạ vào bên trong UDDI
nhƣ trong Bảng 4.3.
ServiceProfile – Search
<profile:FunctionalSemantic
ID="FunctionalSemanticID"
xml:language=”en”>
<FunctionalSemantic:Verb
rdf:resource=”VerbOntology#Search”/>
<FunctionalSemantic:Noun
rdf:resource="NounOntology#Book" />
…………………………………………………………………..
Bảng 4.3 Ánh OWL-S Profile vào UDDI
4.4 So sánh phƣơng pháp chú giải công dụng cho OWL-s Profile với một số
phƣơng pháp chú giải ngữ nghĩa cho phƣơng thức web
4.4.1 SAWSDL
SAWSDL [33] là một mở rộng của WSDL bằng việc sử dụng các thẻ mở
rộng của WSDL. SAWSDL có 2 kiểu chú giải : tham chiếu mô hình và ánh xạ lƣợc
đồ. Các chú giải tham chiếu mô hình đƣợc sử dụng để kết hợp các Interface/Port
SERVICE_CATEGORY
+ Service_Key
+ TMODEL_Key_Ref
. HasProcess_TMODEL
. Functionality
- Key_Name
- Key_Value
. Input_TMODEL
. Ouput_TMODEL
. Precondition_TMODEL
. Effect_TMODEL
42
type, Operation, Input, Output, Xml Schema Element và các Attribute với các khái
niệm ngữ nghĩa. Các chú giải mô hình tham chiếu hỗ trợ cho việc tìm kiếm động
dịch vụ web và thực hiện cấu hình động cho các qui trình tổng hợp dịch vụ. Các chú
giải ánh xạ lƣợc đồ đƣợc sử dụng để giải quyết sự không đồng nhất dữ liệu, đặc biệt
là việc chuyển đổi biểu diễn dữ liệu sang dịch vụ web khác nhƣ là các dữ liệu có thể
đƣợc sử dụng bởi các dịch vụ web khác. Việc chú giải ngữ nghĩa trong SAWSDL
đƣợc minh họa cụ thể trong Hình 4.4.
Hình 4.4 Chú giải ngữ nghĩa trong SAWSDL
SAWSDL chú giải ngữ nghĩa thêm cho phƣơng thức của dịch vụ bằng một
khái niệm bên trong một mô hình ngữ nghĩa. Mục đích là để phân loại phƣơng thức
theo một số mô hình, một số khía cạnh của phƣơng thức hoặc định nghĩa các khái
niệm ngữ nghĩa khác .Ngữ nghĩa đƣợc chú giải cho phƣơng thức này đƣợc sử dụng
43
cho giai đoạn tiền xử lý vì thực hiện nhanh, giảm bớt số lƣợng dịch vụ có các input
và output phải kiểm tra. Tuy nhiên ngôn ngữ SAWSDL chƣa đƣa ra cách thức cụ thể
nào cho việc chú giải ngữ nghĩa cho phƣơng thức. Hiện tại ngƣời dùng có thể sử
dụng chú giải bằng bất kỳ mô hình ngữ nghĩa nào.
Chúng tôi cũng dựa trên ý tƣởng này, tuy nhiên chúng tôi đề xuất việc chú
giải thêm ngữ nghĩa cho dịch vụ OWL-S với các công dụng tƣơng ứng cho từng
ServiceProfile. Mục đích của việc chú giải này cũng đƣợc sử dụng để phân loại các
phƣơng thức theo các công dụng tƣơng ứng. Trong đó mỗi công dụng đƣợc kết hợp
bằng một khái niệm động từ và một khái niệm danh từ, mỗi khái niệm này có trong
các Ontology động từ và danh từ tƣơng ứng. Các công dụng này đƣợc sử dụng cho
giai đoạn tiền xử lý vì thực hiện nhanh, giảm bớt số lƣợng dịch vụ có các Input,
Output, Precondition, Postcondition trong Service Profile phải kiểm tra. Trong khi
SAWSDL chƣa có cách thức cụ thể cho việc chú giải ngữ nghĩa cho phƣơng thức,
trong khi đó phƣơng pháp của chúng tôi là nhằm hiện thực hóa ý tƣởng này bằng
việc thêm các công dụng vào phƣơng thức của dịch vụ OWL-S.
Hình 4.5 Ví dụ về chú giải ngữ nghĩa trong SAWSDL [33]
Trong ví dụ minh họa ở Hình 4.5 , SAWSDL chú giải ngữ nghĩa cho phƣơng
thức order bằng một ngữ nghĩa bên trong OWL Ontology. Với cách chú giải này, khi
cần chú giải một phƣơng thức mới, khi khái niệm cho phƣơng thức này chƣa tồn tại
cần phải thêm một khái niệm mới vào bên trong Ontology đƣợc sử dụng chú giải.
44
Nhận xét SAWSDL:
Ƣu điểm:
Phƣơng thức đƣợc chú giải bằng một khái niệm ngữ nghĩa.
Đƣợc sử dụng để phân loại phƣơng thức.
Phân loại nhanh.
Khuyết điểm:
Chƣa định nghĩa cấu trúc thông tin cụ thể cho việc chú giải.
Trong khi cách chú giải công dụng cho phƣơng thức của chúng tôi là sự kết
hợp hai khái niệm động từ và khái niệm danh từ bên trong Ontology động từ và
Ontology danh từ. Vì vậy khi chú giải các công dụng ngữ nghĩa cho phƣơng thức
mới, chúng tôi chỉ sử dụng các khái niệm có sẵn trong Ontoloy động từ và Ontology
danh từ không cần phải xây dựng thêm một Ontology cho một khái niệm phƣơng
thức nhƣ trong Hình 4.5.
4.4.2 FC-MATCH
Trong FC-MATCH [16] sử dụng một khái niệm trong Ontology để chú giải ngữ
nghĩa cho một phƣơng thức nhằm mục đích phân loại phƣơng thức. Nhóm tác giả
không chú giải trực tiếp lên dịch OWL-S hay WSDL giống nhƣ SAWSDL, đƣợc
viết lại trong OWL-DL do đó khó có thể tái sử dụng lại các hệ thống có sẵn.
Ví dụ [16]:
𝐷𝑖𝑠𝑝𝑙𝑎𝑦𝑆𝑡𝑟𝑒𝑒𝑡𝑠 ≡ ∃ℎ𝑎𝑠𝐶𝑎𝑡𝑒𝑔𝑜𝑟𝑦.𝑚𝑎𝑝𝑉𝑖𝑠𝑢𝑎𝑙𝑖𝑧𝑎𝑡𝑖𝑜𝑛 ∩
∃ ℎ𝑎𝑠𝑂𝑝𝑒𝑟𝑎𝑡𝑖𝑜𝑛. (MapVisualization ∩
∃hasInput.Region ∩
∃hasInput.GeographicCoordinates ∩
∃hasOutput.Street
Trong ví dụ này, ngữ nghĩa chú giải cho phƣơng thức là khái niệm
MapVisualization trong Ontology. Với cách chú giải này sẽ giúp cho việc phân loại
45
phƣơng thức, nhƣng khi cần chú giải ngữ nghĩa cho một phƣơng thức mới cần phải
thêm khái niệm mới vào Ontology này bao gồm khái niệm mới có một phần quan hệ
với khái niệm cũ.
Nhận xét FC-MATCH:
Ƣu điểm:
Phƣơng thức đƣợc chú giải bằng một khái niệm ngữ nghĩa đơn (chính bằng
tên phƣơng thức).
Đƣợc sử dụng để phân loại phƣơng thức.
Phân loại nhanh.
Khuyết điểm:
Phân loại đƣợc nhƣng chƣa nói lên đầy đủ các công dụng của dịch vụ.
Tạo ra Ontology cho các phƣơng thức riêng, do đó gặp khó khăn khi chú
giải một khái niệm phƣơng thức mới.
Không tƣơng thích ngƣợc với các hệ thống có sẵn.
Đề xuất của chúng tôi cũng tƣơng tự FC-MATCH nhƣng chúng tôi chú giải
ngữ nghĩa các công dụng cho phƣơng thức trực tiếp OWL-S nhằm tái sử dụng lại
những các hệ thống đã có và mỗi ngữ nghĩa công dụng chúng tôi sử dụng chú giải
đơn giản chỉ là sự kết hợp hai khái niệm động từ và khái niệm danh từ trong
Ontology động từ và Ontology danh từ tƣơng ứng. Khi cần tạo mới một công dụng
đơn giản chỉ sử dụng các khái niệm đã có trong Ontology động từ và Ontology danh
từ.
David Martin nhận định rằng việc chú giải ngữ nghĩa cho phƣơng thức bằng
một cách nào đó sẽ hữu dụng trong một số tình huống đặc biệt là trong quá trình tìm
kiếm [17]. Do đó việc đề xuất của chúng tôi là nhằm hiện thực hóa ý tƣởng này.
46
CHƢƠNG 5: TÌM KIẾM DỊCH VỤ OWL-S DỰA TRÊN CÁC
CÔNG DỤNG
Tóm tắt:
Nội dung của Chương 5 trình bày về phương pháp xác định mức độ phù hợp ngữ
nghĩa giữa hai khái niệm trong Ontology và đề xuất các thuật toán xác định mức độ
phù hợp dựa trên công dụng. Đề xuất hệ thống tìm kiếm dịch vụ web kết hợp công
dụng và Input, Output sẽ được trình bày trong phần cuối chương này.
5.1 Xác định mức độ phù hợp ngữ nghĩa giữa hai khái niệm trong Ontology
Để xác định mức độ phù hợp các công dụng đƣợc yêu cầu từ ngƣời dùng dịch
vụ với các công dụng đƣợc quảng cáo bởi dịch vụ thông qua dịch vụ OWL-S đã chú
giải các công dụng, trƣớc tiên ta cần phải xác định đƣợc mức độ phù hợp giữa một
công dụng từ ngƣời dùng dịch vụ (FR) và một công dụng đƣợc quảng cáo bởi nhà
cung cấp dịch vụ (FA) trƣớc khi xét các công dụng đƣợc quảng cáo có đáp ứng đƣợc
yêu cầu của ngƣời dùng dịch vụ hay không.
Mỗi công dụng (Functionality) bao gồm 2 thành phần: một khái niệm động từ
thuộc Ontology động từ và một khái niệm danh từ thuộc Ontology danh từ. Cụ thể
Yêu cầu: FR (VR, NR) .
Quảng cáo: FA (VA, NA).
Nhƣ vậy ta cần phải xác định mức độ phù hợp ngữ nghĩa giữa hai khái niệm
VR với VA và giữa hai khái niệm NR và NA . Để xác định mức độ phù hợp ngữ
nghĩa giữa hai khái niệm này, chúng tôi tính dựa trên mức độ phù hợp giữa hai khái
niệm này phụ thuộc vào mối liên hệ của chúng trong Ontology.
Đặt CR là VR hoặc NR và CA là VA hoặc NA.
47
Nhƣ vậy cần phải xác định mức độ phù hợp ngữ nghĩa giữa khái niệm CR và
CA . Chức năng này phụ thuộc vào 2 yếu tố sau:
(1) Mức độ phù hợp. Chúng tôi sử dụng bốn mức độ khác nhau đƣợc giới thiệu
trong công trình của Paolucci [9].
Exact: nếu CA và CR cùng khái niệm.
Plug-in: nếu CA subsumes CR, hay nói cách khác CA là lớp cơ sở của CR
vì vậy CA có thể plug thay thế cho CR.. Tuy nhiên mức độ phù hợp này yếu
hơn mức độ phù hợp Exact.
Subsumes: nếu CR subsumes CA, cấp độ khớp này yếu hơn cấp độ khớp
Plug-in.
Fail: không có mối quan hệ subsume nào giữa CA và CR.
Trong đó: Exact > Plug-in > Subsumes > Fail.
(2) Khoảng cách (số cạnh) giữa CA và CR trong Ontology.
Hình 5.1 Phƣơng trình phân mức độ phù hợp giữa hai khái niệm trong Ontology [15]
48
Chúng tôi muốn chia các mức độ phù hợp này thành một số thực trong
khoảng [0, 1] để dễ dàng so sánh khi chọn lựa các mức độ phù hợp. Chúng tôi sử
dụng phƣơng trình trong công trình [15] của nhóm tác giả Alberto Fernandez. Trong
đó các mức độ phù hợp đƣợc chia trong khoảng [0, 1] cụ thể:
Mức độ phù hợp Exact sẽ có giá trị bằng 1.
Mức độ phù hợp plugin đƣợc chia trong khoảng [0.5, 1).
Mức độ phù hợp Subsumes trong khoảng (0, 0.5).
Mức độ phù hợp Fail có giá trị là 0.
Sự phân mịn này đƣợc minh họa bằng phƣơng trình trong hình Hình 5.1,
trong đó x là khoảng cách giữa CA và CR trong ontology.
5.2 Các thuật toán liên quan đến tìm kiếm dịch vụ web dựa trên công dụng và
Input, Output
5.2.1Thuật toán xác định mức độ phù hợp giữa hai khái niệm trong Ontology
CÔNG DỤNG YÊU CẦU
ĐỘNG TỪ
DANH TỪ
CÔNG DỤNG QUẢNG CÁO
ĐỘNG TỪ
DANH TỪ
SO KHỚP
SO KHỚP
Hình 5.2 Xác định mức độ phù hợp từng khái niệm tƣơng ứng giữa hai công dụng
Mỗi công dụng chúng tôi chú giải cho dịch vụ OWL-S bao gồm hai thành
phần đó là một khái niệm động từ thuộc Ontology động từ và một khái niệm danh từ
trong Ontology danh từ. Do đó trƣớc khi xác định đƣợc mức độ phù hợp giữa hai
công dụng, chúng tôi quan tâm đến các mức độ phù hợp giữa khái niệm động từ
thuộc công dụng đƣợc quảng cáo từ nhà cung cấp dịch vụ với một khái niệm động từ
49
đƣợc yêu cầu từ ngƣời dùng dịch vụ và các mức độ phù hợp giữa khái niệm danh từ
thuộc công dụng đƣợc quảng cáo từ nhà cung cấp dịch vụ với một khái niệm danh từ
đƣợc yêu cầu từ ngƣời dùng dịch vụ cụ thể đƣợc minh họa trong Hình 5.2.
Các mức độ phù hợp giữa hai khái niệm động từ hoặc danh từ, chúng tôi sử
dụng các mức độ phù hợp đƣợc trình bày trong 5.1 . Thuật toán xác định mức độ
phù hợp giữa hai khái niệm trong Ontology đƣợc minh họa trong Bảng 5.1.
Trong Bảng 5.1, các tham số đáng lƣu ý là:
CR: Một khái niệm đƣợc sử dụng từ ngƣời dùng dịch vụ trong Ontology.
CA: Một khái niệm đƣợc sử dụng từ Profile trong Ontology.
Các khái niệm động từ trong Ontology động từ bất kỳ, các khái niệm danh từ
trong Ontology danh từ bất kỳ. Trong thuật toán so khớp này chúng tôi sử dụng các
khái niệm động từ trong wordnet [40] và các khái niệm danh từ trong các domain
ontology kèm theo tập dữ liệu thử nghiệm [21].
function dom (CR : Concept, CA : Concept) : double
begin
d := 0
if hasSubsumes (CR, CA) then
begin
depth = getDepth(CR, CA)
if depth = 0 then d := 1
if depth > 0 then d ∶=
1
2
+
1
exp(x)
if depth < 0 then d ∶=
exp(x)
2
end
dom := d
end
Bảng 5.1 Thuật toán xác định mức độ phù hợp giữa hai khái niệm trong Ontology
50
5.2.2 Thuật toán xác định mức độ phù hợp giữa hai công dụng
Mỗi dịch vụ OWLS đƣợc nhà cung cấp dịch vụ chú giải các công dụng tƣơng
ứng dịch vụ có khả năng đáp ứng. Do đó để xác định mức độ phù hợp các công
dụng đƣợc quảng cáo bởi nhà cung cấp dịch vụ có đáp ứng các công dụng đƣợc yêu
cầu từ ngƣời dùng dịch vụ, trƣớc tiên cần quan tâm đến các cấp độ so khớp tƣơng
ứng giữa hai công dụng. Trong bài toán của Paolucci, tác giả quan tâm các mức độ
phù hợp giữa Input/Output đƣợc quảng cáo bởi nhà cung cấp dịch vụ và Input/Ouput
đƣợc yêu cầu từ ngƣời dùng dịch vụ. Trong bài toán của chúng tôi, chúng tôi quan
tâm đến mức độ phù hợp giữa hai công dụng, một đƣợc quảng cáo bởi nhà cung cấp
dịch vụ và một đƣợc yêu cầu từ ngƣời dùng dịch vụ.
CÔNG DỤNG YÊU CẦU
ĐỘNG TỪ
DANH TỪ
CÔNG DỤNG QUẢNG CÁO
ĐỘNG TỪ
DANH TỪ
SO KHỚP
Hình 5.3 Xác định mức độ phù hợp giữa hai công dụng
Mức độ phù hợp giữa hai công dụng chúng tôi cũng quan tâm là công dụng
đƣợc quảng cáo bởi nhà cung cấp dịch vụ có phù hợp với công dụng đƣợc yêu cầu từ
ngƣời dùng dịch vụ. Do đó mức độ phù hợp đƣợc lấy bao gồm cả hai mức độ phù
hợp giữa hai khái niệm động từ và và mức độ phù hợp giữa hai khái niệm danh từ
nhằm xác định đƣợc mức phù hợp với công dụng đƣợc quảng cáo có khả năng đáp
51
ứng công dụng đƣợc yêu cầu. Thuật toán xác định mức độ phù hợp giữa hai công
dụng đƣợc minh họa trong Bảng 5.2.
Trong Bảng 5.2, các tham số đáng lƣu ý là:
req : công dụng yêu cầu từ ngƣời dùng dịch vụ
adver: Công dụng đƣợc quảng cáo bởi Profile.
domF: mức độ phù hợp công dụng, nó bao gồm 2 thành phần là mức độ phù
hợp động từ (domVerb) và mức độ phù hợp danh từ (domNoun).
5.2.3 Thuật toán xác định mức độ phù hợp giữa các công dụng từ ngƣời dùng
dịch vụ và các công dụng đƣợc quảng cáo bởi nhà cung cấp dịch vụ
Thuật toán trong Bảng 5.2 giúp xác định đƣợc mức độ phù hợp giữa công
dụng đƣợc quảng cáo bởi nhà cung cấp dịch vụ và công dụng đƣợc yêu cầu từ ngƣời
dùng dịch vụ. Mục tiêu tiếp theo là cần xác định đƣợc mức độ phù hợp giữa các
công dụng đƣợc quảng cáo bởi nhà cung cấp dịch vụ có đáp ứng đƣợc các công
dụng đƣợc yêu cầu từ ngƣời dùng dịch vụ hay không. Mục tiêu này nhằm xác định
dịch vụ đƣợc quảng cáo bởi nhà cung cấp dịch vụ có đáp ứng đƣợc ngƣời dùng dịch
vụ hay không dựa trên các mức độ phù hợp.
Cấp mức độ phù hợp cuối cùng đƣợc lấy là mức độ phù hợp thấp nhất tìm
đƣợc từ các công dụng đƣợc yêu cầu từ ngƣời dùng dịch vụ nhằm xác định đƣợc
function functionalityMatch(req : Functionality, adver : Functionality) :
DomFunctionality
begin
domF.domVerb := dom (req.verb, adver.verb)
domF.domNoun := dom (req.noun, adver.noun)
functionalityMatch := domF
end
Bảng 5.2 Thuật toán xác định mức độ phù hợp giữa hai công dụng
52
mức độ tối thiểu với dịch vụ đƣợc quảng cáo có khả năng đáp ứng các công dụng
đƣợc yêu cầu từ ngƣời sử dụng dịch vụ hay không. Thuật toán so khớp các công
dụng đƣợc yêu cầu từ ngƣời dùng dịch vụ với các công dụng đƣợc quảng cáo bởi
nhà cung cấp dịch vụ đƣợc minh họa bằng thuật toán trong Bảng 5.3.
Trong Bảng 5.3, các tham số đáng lƣu ý là:
req: chứa các công dụng đƣợc yêu cầu từ ngƣời dùng dịch vụ.
adver: chứa các công dụng đƣợc quảng cáo từ Profile.
globalDegreeMath: mức độ phù hợp cuối cùng giữa các công dụng đƣợc yêu
cầu và các công dụng đƣợc quảng cáo.
function profileMatch (req : Request, adver : Profile) : DomFunctionality
begin
globalDegreeMatch .domVerb := 1
globalDegreeMatch .domNoun := 1
for all func in req
begin
degreeMatch := maxDegreeMatch (func , adver)
if degreeMatch.domVerb = 0 OR degreeMatch.domNoun = 0 then
begin
globalDegreeMatch.domVerb := 0
globalDegreeMatch.domNoun := 0
break
end
if degreeMatch < globalDegreeMatch then
begin
globalDegreeMatch := degreeMatch
end
end
profileMatch := globalDegreeMatch
end
Bảng 5.3 Thuật toán so khớp các công dụng đƣợc yêu cầu từ ngƣời dùng dịch vụ với
các công dụng đƣợc quảng cáo bởi nhà cung cấp dịch vụ
53
maxDegreeMatch : Tìm mức độ phù hợp lớn nhất từ một công dụng đƣợc yêu
cầu trong các công dụng đƣợc quảng cáo.
5.2.4 Thuật toán tìm kiếm dịch vụ web dựa trên công dụng
Cuối cùng là thuật toán tìm kiếm dịch vụ web dựa trên các công dụng yêu cầu
từ ngƣời dùng dịch vụ. Chúng tôi tìm tất cả các dịch vụ đƣợc quảng cáo bởi nhà
cung cấp dịch vụ có cấp độ so khớp lớn hơn cấp độ so khớp lớn Fail. Sau đó chúng
tôi thực hiện sắp xếp lại các dịch vụ tìm thấy có khả năng đáp ứng cho ngƣời dùng
dịch vụ theo thứ tự cấp độ phù hợp giảm dần nhằm giúp cho ngƣời dùng dịch vụ dễ
dàng chọn ra các dịch vụ có khả năng đáp ứng tốt nhất.
Thuật toán tìm kiếm dịch vụ web dựa trên công dụng đƣợc minh họa cụ thể
trong Bảng 5.4.
Trong Bảng 5.4, các tham số và phƣơng thức đáng lƣu ý là:
req: Các công dụng yêu cầu từ ngƣời dùng dịch vụ.
function findService (req : Request, advers : OWLSProfile [ ]) : OWLSProfile [ ]
begin
record := Empty List
for all profile in advers
begin
domF := profileMatch(req, profile))
if domF.domVerb 0 AND domF.domNoun 0 then
begin
record.append (profile)
end
end
findService := sort(record)
end
Bảng 5.4 Thuật toán tìm kiếm dịch vụ web dựa trên công dụng
54
record: Danh sách các dịch vụ tìm thấy khớp với các công dụng yêu cầu từ
ngƣời dùng dịch vụ.
sort: phƣơng thức sắp xếp lại các dịch vụ tìm thấy theo mức độ phù hợp giảm
dần.
5.2.5 Luật so sánh mức độ phù hợp công dụng giữa các OWL-S Profile
Sau khi tìm đƣợc các OWL-S Profile đáp ứng đƣợc các công dụng yêu cầu
của ngƣời dùng dịch vụ. Để có thể sắp xếp lại các dịch vụ phù hợp với yêu cầu theo
mức độ phù hợp giảm dần đƣợc minh họa trong Bảng 5.4, chúng tôi đề xuất các luật
so sánh mức độ phù hợp công dụng giữa các OWL-S Profile. Trong luật so sánh này
chúng tôi lấy mức độ phù hợp động từ mạnh hơn mức độ phù hợp danh từ bởi vì
công dụng quan tâm đến hành động làm gì. Luật so sánh mức độ phù hợp giữa các
OWL-S Profile đƣợc minh họa cụ thể trong Bảng 5.5.
function degreeFunctionalityMatch (match1:DomFunctionality,
match2:DomFunctionlity)
begin
if match1.domVerb > match2.domVerb then
match1 > match2
else if match1.domVerb = match2.domVerb AND
match1.domNoun>match2.domNoun then
match1 > match2
else if match1.domVerb = match2.domVerb AND
match1.domNoun = match2.domNoun then
match1 = match2
else
match1 < match2
end
Bảng 5.5 Luật so sánh mức độ phù hợp công dụng giữa các OWL-S Profile
55
Trong Bảng 5.5, các tham số đáng lƣu ý là:
match1, match2 lần lƣợt hai mức độ phù hợp công dụng của hai OWL-S
Profile tìm thấy phù hợp với yêu cầu của ngƣời dùng dịch vụ.
domVerb: mức độ phù hợp động từ của OWL-S Profile.
domNoun: mức độ phù hợp danh từ của OWL-S Profile.
5.3 Hệ thống tìm kiếm dịch vụ web kết hợp công dụng và Input, Output
5.3.1 Đề xuất hệ thống tìm kiếm dịch vụ web kết hợp công dụng và Input,
Output
Hình 5.4 Kết hợp tìm kiếm dựa trên công dụng với Input, Output
Hình 5.5 Hệ thống tìm kiếm dựa trên công dụng kết hợp với Input, Output
56
Chúng tôi kết hợp tìm kiếm dịch vụ web dựa trên các công dụng với các Input
và Ouput nhằm giúp máy có thể hiểu đƣợc các công dụng của dịch vụ web dựa trên
các công dụng đƣợc chú giải ngữ nghĩa và giúp máy có thể hiểu và gọi thực hiện
dịch vụ tự động dựa trên các input, output. Với hƣớng tiếp cận này nhằm giảm bớt
số lƣợng các dịch vụ có Input, Output phù hợp có các công dụng khác nhau hoặc
giảm bớt số lƣợng có các công dụng phù hợp nhƣng có các Input và Output khác
nhau. Việc kết hợp tìm kiếm dựa trên công dụng với Input, Output đƣợc minh họa
trong Hình 5.4.
• Giai đoạn 1: Tìm kiếm dịch vụ dựa trên công dụng :
– Sử phƣơng pháp so khớp dựa trên công dụng do chúng tôi đề xuất
đƣợc trình bày chi tiết trong mục 5.2
• Giai đoạn 2: Tìm kiếm dịch vụ dựa trên Input, Output:
– Sử dụng lại phƣơng pháp so khớp [23], trong đó chúng tôi đề xuất cải
tiến mức độ phù hợp giữa hai khái niệm bằng cách sử dụng phƣơng
pháp so khớp của Alberto Fernandez [15]
Hệ thống kết hợp này nhận các Template Search chứa các công dụng, các
Input, các Ouput, giai đoạn đầu tiên chúng tôi sẽ tìm tất cả các dịch vụ web phù hợp
với các công dụng đƣợc yêu cầu, từ tập dịch vụ tìm đƣợc này chúng tôi sẽ tìm các
dịch vụ web có các Input và Output phù hợp với các Input, Output đƣợc yêu cầu. Cụ
thể đƣợc minh họa trong Hình 5.5.
Để sắp xếp các dịch vụ web tìm đƣợc có mức độ phù hợp với yêu cầu của
ngƣời dùng dịch vụ, chúng tôi cần:
Luật so sánh mức độ phù hợp công dụng đƣợc trình bày trong mục 5.2.5.
Luật so sánh mức độ phù hợp Input và Output đƣợc đề xuất bởi [22].
Luật so sánh mức độ phù hợp kết hợp công dụng với Input, Output.
57
5.3.2 Luật so sánh mức độ phù hợp Input và Output
Luật so sánh mức độ phù hợp Input, Output là dựa trên công trình [22], đƣợc
minh họa trong Bảng 5.6. Luật so sánh này xem mức độ phù hợp Output quan trọng
hơn mức độ phù hợp Input.
Trong Bảng 5.6, các tham số đáng lƣu ý là:
match1, match2 lần lƣợt là hai mức độ phù hợp Input, Ouput tƣơng ứng với 2
OWL-S Profile tìm thấy phù hợp với yêu cầu Input, Ouput của ngƣời dùng
dịch vụ.
domInput: mức độ phù hợp Input của OWL-S Profile.
domOutput: mức độ phù hợp Output của OWL-S Profile.
5.3.3 Luật so sánh mức độ phù hợp kết hợp công dụng và Input, Output
Sau khi tìm đƣợc các OWL-S Profile đáp ứng đƣợc các công dụng cùng với
Input, Output yêu cầu của ngƣời dùng dịch vụ. Để có thể sắp xếp lại các dịch vụ phù
hợp với yêu cầu theo mức độ phù hợp giảm dần, chúng tôi đề xuất các luật so sánh
function degreeFunctionalityMatch(match1 : DomIO, match2 : DomIO)
begin
if match1.domOutput > match2.domOutput then
match1 > match2
else if match1.domOutput = match2.domOutput AND
match1.domInput > match2.domInput then
match1>match2
else if match1.domOutput = match2.domOutput AND
match1.domInput = match2.domInput then
match1 = match2
else
match1 < match2
end
Bảng 5.6 Luật so sánh mức độ phù hợp Input, Output
58
mức độ phù hợp kết hợp công dụng và Input, Output giữa các OWL-S Profile. Trong
luật so sánh này chúng tôi lấy mức độ phù hợp công dụng quan trọng hơn mức độ
phù hợp Input, Output, đƣợc minh họa cụ thể trong Bảng 5.7.
Trong Bảng 5.7, các tham số đáng lƣu ý là:
match1, match2 lần lƣợt là hai mức độ phù hợp công dụng kết hợp với Input
và Output của hai OWL-S Profile tìm thấy phù hợp với yêu cầu các công
dụng, các Input, Ouput của ngƣời dùng dịch vụ.
domF: mức độ phù hợp công dụng của OWL-S Profile.
domIO: mức độ phù hợp Input, Output của OWL-S Profile.
function degreeFIOMatch(match1 : DomFIO, match2 : DomFIO)
begin
if match1.domF > match2.domF then
match1 > match2
else if match1.domF = match2.domF AND
match1.domIO>match2.domIO then
match1 > match2
else if match1.domF = match2.domFAND
match1.domIO = match2.domIO then
match1 = match2
else
match1 < match2
end
Bảng 5.7 Luật so sánh mức độ phù hợp kết hợp công dụng và Input, Output
59
CHƢƠNG 6: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
Tóm tắt:
Nội dung của Chương 6 trình bày về các hệ thống xây dựng thử nghiệm phục vụ
sự phối hợp hoạt động của dịch vụ web. Nội dung đánh giá sẽ được trình bày trong
phần cuối chương này.
6.1 Kiến trúc tổng thể
Service Requester
Bind
Inquiry UDDI Port Publish UDDI Port
FOWLS Discovery
Requester
Service Provider
FOWLS
Profile
OWL-S
Profile
FOWLS Annotation
Provider
FOWLS
Profile
Semantic Search
Template
Semantic Search
Template
FOWLS
Profile
FOWLS JUDDI
REGISTRY
Hình 6.1 Kiến trúc tổng thể
60
Để hỗ trợ sự phối hợp hoạt động của dịch vụ web trong mô hình đăng ký, tìm
kiếm, và gọi thực hiện. Chúng tôi đề xuất xây dựng thử nghiệm ba hệ thống hỗ trợ
hoạt động này đó là FOWLS Annotation Provider, FOWL-S JUDDI Registry và
FOWLS Discovery Requester. Kiến trúc tổng thể đƣợc minh họa cụ thể trong Hình
6.1. Đối với nơi đăng ký dịch vụ (Registry) chúng tôi xây dựng thử nghiệm hệ thống
FOWLS JUDDI Registry hỗ trợ hai chức năng chính đó là đăng ký dịch vụ đã chú
giải các công dụng và cho phép tìm kiếm dịch vụ web dựa trên các công dụng kết
hợp với các Input, Ouput, hệ thống này xây dựng dựa trên công trình của Srinivasan
[22]. Đối với nhà cung cấp dịch vụ, chúng tôi xây dựng thử nghiệm hệ thống
FOWLS Annotation Provider cho phép nhà cung cấp dịch vụ thực hiện việc chú giải
các công dụng cho các dịch vụ OWLS có sẵn và thực hiện đăng ký các dịch vụ này
lên hệ thống FOWLS JUDDI Registry. Đối với ngƣời dùng dịch vụ chúng tôi hỗ trợ
hệ thống FOWLS Discovery Requester, hệ thống này cho phép thử nghiệm việc tìm
kiếm dịch vụ web dựa trên các công dụng kết hợp với các Input và Ouput.
6.1.1 Hệ thống FOWLS JUDDI Registry
Hệ thống FOWLS-UDDI Server đóng vai trò là một UDDI mở rộng, hệ thống
của chúng tôi phát triển dựa trên công trình của N.Srinivasan [22] , Hệ thống
FOWLS JUDDI REGISTRY đƣợc minh họa trong Hình 6.2.
Inquiry UDDI Port Publish UDDI Port
FOWLS JUDDI
REGISTRY
Hình 6.2 Hệ thống FOWLS JUDDI REGISTRY
61
Hệ thống này cho phép thực hiện hai chức năng chính, thứ nhất là cho phép
nhà cung cấp dịch vụ đăng ký các dịch vụ web đã chú giải các công dụng thông qua
Publish UDDI Port và thứ hai là cho phép ngƣời dùng dịch vụ tìm kiếm các dịch vụ
web dựa trên các công dụng kết hợp với các Input và Ouput thông qua Inquiry
UDDI Port.
Publish UDDI Port
Publish UDDI Port cho phép nhà cung cấp dịch vụ (Service Provider) đăng
ký các dịch vụ OWL-S sau khi đã đƣợc chú giải các công dụng tƣơng ứng ( chúng
tôi gọi là FOWLS). Trong Module này chúng tôi cài đặt phép ánh xạ từ FOWLS
sang UDDI.
FOWLS JUDDI
REGISTRY
Publish UDDI Port
FOWLS
Profile
Service Provider
Hình 6.3 Publish UDDI Port
Cơ chế này thực hiện phép ánh xạ một-một từ các thành phần OWL-S Profile
vào bên trong UDDI. Đầu vào của Module này là danh sách các FOWLS Profile, sau
62
đó hệ thống chịu trách nhiệm lƣu trữ các FOWLS Profile cùng với thông tin nhà
cung cấp dịch vụ. Publish UDDI Port đƣợc minh họa trong Hình 6.3.
Inquiry UDDI Port
Inquiry UDDI Port cho phép ngƣời dùng dịch vụ tìm kiếm các dịch vụ web
theo các nhu cầu của họ dựa trên các công dụng kết hợp với các Input và Output của
OWL-S Profile.
FOWLS-UDDI
Service Requester
Inquiry UDDI Port
Semantic Search
Template
FOWLS
Profile
Hình 6.4 Inquiry UDDI Port
Sau khi hệ thống nhận đƣợc yêu cầu truy vấn từ ngƣời dùng dịch vụ, hệ thống
thực hiện truy vấn các FOWLS Profile trong UDDI dựa trên các công dụng kết hợp
với các Input và Ouput (cơ chế tìm kiếm dựa trên ngữ nghĩa) và sau đó trả kết quả
các OWLS Profile (FOWL-S) thỏa yêu cầu về cho ngƣời dùng dịch vụ theo các mức
63
độ phù hợp tƣơng ứng và đƣợc sắp xếp theo thứ tự ƣu tiên giảm dần. Inquiry UDDI
Port đƣợc minh họa trong Hình 6.4.
6.1.2 Hệ thống FOWLS Annotation Provider
Hệ thống FOWLS Annotation Provider cho phép nhà cung cấp dịch vụ hai
chức năng chính, thứ nhất là cho phép chú giải thêm các công dụng vào bên trong
dịch vụ OWLS và thứ hai là cho phép đăng ký các dịch vụ web đã chú giải các công
dụng lên FOWLS JUDDI Registry đƣợc minh họa trong Hình 6.5.
Inquiry UDDI Port Publish UDDI Port
Service Provider
FOWLS
Profile
OWL-S
Profile
FOWLS Annotation
Provider
FOWLS JUDDI
REGISTRY
Hình 6.5 FOWLS Annotation Provider
64
Chức năng chú giải các công dụng cho dịch vụ OWLS
Đầu vào của chức năng này là các dịch vụ OWLS chƣa đƣợc chú giải công
dụng.
FOWLS
Profile
OWL-S
Profile
FOWLS Annotation
Provider
Hình 6.6 Chức năng chú giải các công dụng cho dịch vụ OWLS
Publish UDDI Port
FOWLS
Profile
FOWLS Annotation
Provider
FOWLS JUDDI
REGISTRY
Hình 6.7 Chức năng đăng ký dịch vụ OWLS đã chú giải các công dụng
Và đầu ra là các dịch vụ đã chú giải các công dụng tƣơng ứng. Khái niệm
động từ chúng tôi sử dụng wordnet [40] để chú giải, còn khái niệm danh từ đƣợc sử
65
dụng các khái niệm trong domain ontology kèm theo tập dữ liệu test để chú giải ngữ
nghĩa.
Chức năng đăng ký dịch vụ OWLS đã chú giải các công dụng
Chức năng này cho phép nhà cung cấp dịch vụ đăng ký các dịch vụ OWLS đã
chú giải các công dụng lên FOWLS JUDDI Registry.
Đầu vào của chức năng này là các dịch vụ OWLS đã chú giải các công dụng,
và hệ thống chịu trách nhiệm đăng ký các dịch vụ web này lên nơi đăng ký dịch vụ
thông qua Publish UDDI Port của FOWLS JUDDI Registry đƣợc minh họa trong
Hình 6.7.
6.1.3 Hệ thống FOWLS Discovery Requester
FOWLS JUDDI
Registry
Inquiry UDDI Port
FOWLS Discovery
Requester
Semantic Search
Template
F WLS
Profile
Hình 6.8 Hệ thống FOWLS Discovery Requester
Hệ thống này đƣợc xây dựng để thử nghiệm việc tìm kiếm các dịch vụ web
dựa trên công dụng kết hợp với các Input và Ouput. Hệ thống này chịu trách nhiệm
gửi các yêu cầu của của ngƣời dùng dịch vụ là các công dụng, các Input và các
66
Ouput lên Inquiry UDDI Port và nhận về danh sách các dịch vụ web phù hợp với các
công dụng, các Input, các Ouput ngƣời dùng muốn tìm kiếm. Hệ thống FOWLS
Discovery Requester đƣợc minh họa trong Hình 6.8.
6.2 Đánh giá
6.2.1 Dữ liệu thử nghiệm
Chúng tôi sử dụng OWLS-TC 3.0 [21]với 1005 dịch vụ OWL-S đƣợc chia
vào 7 domain : Communication , Economy, Education, Food , Medical, Travel,
Weapon đã đƣợc chú giải ngữ nghĩa các Input và Output.
Chúng tôi chú giải thêm ngữ nghĩa các công dụng cho các dịch vụ trên trong
đó:
Các khái niệm động từ sử dụng các khái niệm động từ trong wordnet 2.1.
Các khái niệm danh từ sử dụng các khái niêm trong domain ontology kèm
theo OWL-S TC 3.0.
Chúng tôi sử dụng JWNL 1.6 để phát triển thật toán xác định mức độ phù hợp
giữa hai khái niệm động từ trong wordnet và sử dụng Jena 2.6.2 để phát triển thuật
toán xác định mức độ phù hợp giữa hai khái niệm danh từ trong domain ontology.
Từ 1005 OWL-S Profile đã chú giải công dụng và lƣu trữ tại FOWLS JUDDI
Server chúng tôi tạo ra: 1005 truy vấn dịch vụ web dựa trên công dụng , 1005 truy
vấn dịch vụ web dựa trên Input và Output và 1005 truy vấn dịch vụ web kết hợp các
công dụng và các Input , Ouput. Từ 3 loại truy vấn này, chúng tôi lần lƣợt truy vấn
trên 100, 200, 300, 400, 500, 600, 700, 800, 900, 1005 OWL-S Profile đƣợc lƣu trữ
tại server để xác định thời gian thực thi và số dịch vụ tìm đƣợc tƣơng ứng với các
phƣơng pháp F, IO, FIO, IOF.
67
6.2.2 Cấu hình máy thử nghiệm
Chúng tôi tiến hành các thử nghiệm trên máy tính có cấu hình đƣợc trình bày
trong Bảng 6.1.
CẤU HÌNH THỰC NGHIỆM
CPU AMD Turion 64x2 Mobile Technology TL 60 2.0 GHZ
RAM 3.0 GB
Hệ điều hành Windows 7 Ultimate
Laptop HP Pavilion DV6000
Bảng 6.1 Cấu hình máy thực nghiệm
6.2.3 Kết quả
Ký hiệu:
- F: Tìm kiếm dịch vụ web dựa trên công dụng.
- IO: Tìm kiếm dịch vụ web dựa trên Input, Ouput.
- FIO: Tìm kiếm dịch vụ web bao gồm 2 giai đoạn trong đó giai đoạn 1 tìm kiếm
dựa trên công dụng, giai đoạn 2 tìm kiếm dựa trên Input, Ouput.
- IOF: Tìm kiếm dịch vụ web bao gồm 2 giai đoạn trong đó giai đoạn 1 tìm kiếm
dựa trên Input, Ouput, giai đoạn 2 tìm kiếm dựa trên công dụng.
Cụ thể kết quả đạt đƣợc nhƣ sau:
Thống kê theo thời gian thực hiện đƣợc minh họa trong Bảng 6.2.
THEO THỜI GIAN (TÍNH THEO MS)
100 200 300 400 500 600 700 800 900 1005
F 23.79 47.11 79.50 104.69 127.09 150.15 175.19 202.09 219.95 240.25
IO 29.46 54.16 82.40 121.71 168.90 193.78 233.78 267.84 286.36 320.53
FIO 24.28 48.57 81.96 109.19 133.57 157.61 182.95 210.34 228.75 249.20
IOF 32.82 56.17 84.91 124.43 172.17 197.61 237.91 272.36 291.71 326.25
Bảng 6.2 Thống kê theo thời gian thực hiện
68
Thống kê theo số dịch vụ tìm đƣợc đƣợc thể hiện trong Bảng 6.3
THEO SỐ DỊCH VỤ
100 200 300 400 500 600 700 800 900 1005
F 1.15 2.91 4.65 5.97 7.63 8.87 9.86 10.95 12.10 13.33
IO 4.00 5.59 7.13 8.13 10.06 11.11 12.32 13.84 15.70 17.09
FIO 0.54 0.96 1.55 1.94 2.59 2.91 3.23 3.65 4.12 4.48
Bảng 6.3 Thống kê theo số lƣợng dịch vụ tìm thấy
Biểu đồ so sánh số lƣợng dịch vụ tìm đƣợc theo phƣơng pháp F, IO, FIO
Hình 6.9 Biểu đồ so sánh số lƣợng dịch vụ tìm đƣợc
Biểu đồ Hình 6.9 cho thấy phƣơng pháp FIO giúp loại bỏ đi đáng kể các dịch
vụ web không liên quan với yêu cầu của ngƣời dùng dịch vụ bao gồm các dịch vụ
web có các công dụng phù hợp với yêu cầu nhƣng các Input, và Output không phù
hợp hoặc các dịch vụ web có các Input, output phù hợp với yêu cầu nhƣng có các
0.00
2.00
4.00
6.00
8.00
10.00
12.00
14.00
16.00
18.00
100 200 300 400 500 600 700 800 900 1005
S
ố
l
ư
ợ
n
g
d
ịc
h
v
ụ
t
ìm
t
h
ấ
y
Số lượng dịch vụ trên FOWLS JUDDI
F
IO
FIO
69
công dụng không phù hợp. Số lƣợng các dịch vụ không liên quan đƣợc loại bỏ trung
bình là 75,26%. Vì vậy với phƣơng pháp FIO có thể phục vụ cho quá trình tìm kiếm
dịch vụ web hỗ trợ quá trình thiết kế dịch vụ web tổng hợp trong hệ thống theo kiến
trúc hƣớng dịch vụ, hoặc các dịch vụ web tìm đƣợc có thể phục vụ quá trình tìm
kiếm, tổng hợp và gọi thực hiện một cách tự động trong quá trình thực thi theo qui
trình nghiệp vụ của dịch vụ web tổng hợp.
Biểu đồ so sánh thời gian thực hiện giữa FIO và IO
Hình 6.10 Biểu đồ so sánh thời gian thực hiện giữa IO và FIO
Mặc dù các OWL-S Profile đƣợc chú giải thêm các công dụng ngữ nghĩa,
nhƣng thời gian thực hiện tìm kiếm dịch vụ web theo phƣơng pháp FIO lại giảm so
với phƣơng pháp IO 18,9% , các công dụng giúp phân loại nhanh các dịch vụ web
tìm kiếm trƣớc khi xác định mức độ phù hợp các Input, Ouput so với yêu cầu của
ngƣời dùng dịch vu. Việc so sánh giữa các phƣơng pháp đƣợc minh họa trong Hình
6.10, Hình 6.11, Hình 6.12.
0
50
100
150
200
250
300
350
100 200 300 400 500 600 700 800 900 1005
Th
ờ
i g
ia
n
t
ín
h
t
h
e
o
m
s
Số lượng dịch vụ trên FOWLS JUDDI
IO
FIO
70
Biểu đồ so sánh thời gian thực hiện giữa FIO và IOF
Hình 6.11 Biểu đồ so sánh thời gian thực hiện giữa FIO và IOF
Biểu đồ so sánh thời gian thực hiện giữa F, IO, FIO, IOF
Hình 6.12 Biểu đồ so sánh thời gian thực hiện giữa F, IO, FIO, IOF
0
50
100
150
200
250
300
350
100 200 300 400 500 600 700 800 900 1005
Th
ờ
i g
ia
n
t
h
e
o
m
s
Số lượng dịch vụ trên FOWLS JUDDI
FIO
IOF
0.00
50.00
100.00
150.00
200.00
250.00
300.00
350.00
100 200 300 400 500 600 700 800 900 1005
Th
ờ
i g
ia
n
t
h
e
o
m
s
Số lượng dịch vụ trên FOWLS JUDDI
F
IO
FIO
IOF
71
6.3 Ví dụ
Giả sử ngƣời dùng dịch vụ muốn tìm dịch vụ web có Input là Title và các
Ouput là Media, RecommendedPrice và Quantity. Ví dụ về tìm kiếm dịch vụ web
dựa trên IO đƣợc minh họa cụ thể trong Hình 6.13.
Hình 6.13 Ví dụ về tìm kiếm dịch vụ web dựa trên IO
Hình 6.14 Ví dụ về tìm kiếm dịch vụ dựa trên công dụng
Sau đó ngƣời sử dụng dịch vụ sử dụng hệ thống FOWL-S Discovery
Requester để tìm kiếm dịch vụ web trên FOWLS JUDDI Registry với mong muốn
tìm đƣợc các dịch vụ có các Input nhƣ trong Hình 6.13. Khi đó số lƣợng dịch vụ web
phù hợp tìm đƣợc là 12 dịch vụ. Các dịch vụ web trong 12 dịch vụ web này thì mỗi
dịch vụ có các Input, Output phù hợp, nhƣng có thể có các công dụng khác nhau.
72
Còn nếu ngƣời dùng dịch vụ tìm kiếm dịch vụ web chỉ bằng công dụng
“Search Media” thì có đến 16 dịch vụ web tìm thấy phù hợp với công dụng yêu cầu.
Các dịch vụ web trong 16 dịch vụ web này có công dụng phù hợp với yêu cầu ngƣời
sử dụng, tuy nhiên có thể có các Input, Output không phù hợp. Công dụng yêu cầu
từ ngƣời dùng đƣợc minh họa trong Hình 6.14.
Nhƣng khi ngƣời dùng dịch vụ kết hợp tìm kiếm dịch vụ web với các Input và
Output nhƣ trong Hình 6.13 với công dụng là “Search Media”, ví dụ về sự kết hợp
này đƣợc minh họa trong Hình 6.15, thì số lƣợng dịch web tìm đƣợc phù hợp với các
Input, Ouput và các công dụng trên là 3 dịch vụ. Từ kết quả này cho thấy số lƣợng
các dịch vụ không phù hợp với công dụng hoặc không phù hợp Input, Output đƣợc
loại bỏ đi đáng kể. Với các dịch vụ tìm đƣợc này có thể đƣợc sử dụng bán tự động/tự
động khi thiết kế/thực thi dịch vụ tổng hợp theo kiến trúc hƣớng dịch vụ vì có thể
gọi thực hiện đƣợc thông qua các Input, Ouput dịch vụ và công dụng của dịch vụ
cũng phù hợp với công dụng yêu cầu của ngƣời dùng.
Hình 6.15 Ví dụ tìm kiếm dịch vụ web kết hợp các công dụng với các Input và Ouput
73
CHƢƠNG 7: KẾT LUẬN
7.1 Kết quả đạt đƣợc
Trong các ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web thì OWL-S là ngôn
ngữ ra đời đầu tiên, có nhiều dịch vụ web đƣợc ứng dụng và có cộng đồng nghiên
cứu đông do đó trong luận văn này chúng tôi tập trung vào việc khảo sát, phân tích,
đánh giá trên ngôn ngữ OWL-S.
Dịch vụ OWL-S có các thành phần IOPE là một cách để xác định chức năng
của dịch vụ nhƣng hầu hết các phƣơng pháp tìm kiếm dịch vụ OWL-S hiện tại chỉ
dựa trên suy diễn các Input và Output [15]. Mặt khác Precondition và Postcondition
vẫn chƣa đƣợc chuẩn hóa [10], tập dữ liệu test từ cộng đồng S3 Contest cho đến
tháng 3/2010 chúng tôi thấy rằng Precondition và Postcondion vẫn chƣa đƣợc thêm
vào. Nếu việc tìm kiếm dịch vụ web chỉ dựa vào Input và Output có thể có những
phƣơng thức web cùng các Input và các Output nhƣng có công dụng khác nhau.
David Martin nhận định rằng việc chú giải ngữ nghĩa cho phƣơng thức web bằng
một cách nào đó sẽ hữu dụng trong một số tình huống đặc biệt là trong quá trình tìm
kiếm [17].
Chúng tôi tiến hành phân tích, đánh giá các hƣớng tiếp cận liên quan đến việc
chú giải ngữ nghĩa cho phƣơng thức web bao gồm hƣớng tiếp cận trong SAWSDL
và FC-MATCH. Từ việc phân tích, đánh giá các điểm mạnh cũng nhƣ các hạn chế
trong các phƣơng pháp trên và nhận định của David Martin, chúng tôi đề xuất chú
giải ngữ nghĩa các công dụng cho dịch vụ OWL-S. Các công dụng đề xuất có ƣu
điểm là định nghĩa cấu trúc công dụng cụ thể giúp cho con ngƣời và máy dễ dàng xử
lý và suy diễn, các công dụng đƣợc chú giải là sự kết hợp của các ontology có sẵn,
do đó việc chú giải công dụng dễ dàng, không phải tạo ra Ontology cho công dụng
riêng, tái sử dụng các Ontology đã có và khả năng tƣơng thích ngƣợc với các hệ
thống lƣu trữ OWL-S đã có.
74
Do hầu hết các phƣơng pháp tìm kiếm dịch vụ OWL-S hiện tại chỉ dựa trên
suy diễn các Input và Output [15] và dựa trên đề xuất chú giải ngữ nghĩa các công
dụng cho dịch vụ OWL-S. Chúng tôi đề xuất phƣơng pháp tìm kiếm dịch vụ OWL-S
dựa trên công dụng kết hợp với phƣơng pháp tìm kiếm dựa trên Input và Output.
Dựa trên đề xuất bổ sung ngữ nghĩa công dụng cho OWL-S và các thuật toán
liên quan đến tìm kiếm dịch vụ OWL-S dựa trên công dụng kết hợp với các Input và
Ouput, chúng tôi đề xuất xây dựng thử nghiệm các hệ thống sau:
FOWLS JUDDI Registry: Hỗ trợ đăng ký và tìm kiếm dịch vụ OWL-S dựa
trên công dụng kết hợp với Input và Ouput đã chú giải ngữ nghĩa.
FOWLS Annotation Provider: Hỗ trợ nhà cung cấp dịch vụ chú giải ngữ
nghĩa các công dụng vào bên trong dịch vụ OWL-S và đăng ký các dịch vụ
sau khi chú giải lên FOWLS JUDDI Registry. Trong phiên bản hiện tại chúng
tôi chỉ hỗ trợ chú giải ngữ nghĩa công dụng bằng wordnet [40] cho các khái
niệm động từ và các domain ontology trong tập dữ liệu test cho khái niệm
danh từ.
FOWLS Discovery Requester: Công cụ thử nghiệm cho phép tìm kiếm dịch
vụ OWL-S dựa trên công dụng kết hợp với các Input và Ouput.
Hệ thống tìm kiếm dịch vụ OWL-S đề xuất FIO đƣợc thực nghiệm trên tập dữ
liệu OWL-S TC V3 với 1005 dịch vụ sau khi tiến hành chú giải ngữ nghĩa các công
dụng. Kết quả thực nghiệm cho thấy với hệ thống FIO số lƣợng dịch vụ OWL-S
không liên quan giảm 75.3% so với hệ thống tìm kiếm IO và 66.5 % so với hệ thống
tìm kiếm F. Bên cạnh đó, Với hệ thống FIO thời gian tìm kiếm giảm 18.9% so với
hệ thống IO và giảm 20.6% so với hệ thống IOF. Với kết quả thực nghiệm thu đƣợc
cho thấy khả năng thực thi của hệ thống FIO và có thể đƣợc sử dụng trong quá trình
tổng hợp dịch vụ web tự động hoặc bán tự động.
75
7.2 Hƣớng phát triển
- Sử dụng dịch vụ OWL-S đã chú giải công dụng kết hợp với các Input và Ouput
cho việc tìm kiếm, chọn, tổng hợp dịch vụ bán tự động/tự động trong các dịch vụ
tổng hợp trong quá trình thiết kế theo kiến trúc hƣớng dịch vụ.
- Sử dụng dịch vụ OWL-S đã chú giải công dụng kết hợp với các Input và Ouput
cho việc tìm kiếm, chọn, tổng hợp dịch vụ tự động trong các dịch vụ tổng hợp
trong quá trình thực thi theo kiến trúc hƣớng dịch vụ.
- Kết hợp việc tìm kiếm dịch vụ OWL-S dựa trên công dụng kết hợp với các thành
phần khác của OWL-S Profile.
- Phƣơng pháp chú giải ngữ nghĩa các công dụng cho OWL-S Profile mà chúng tôi
đề xuất có thể đƣợc sử dụng cho việc chú giải ngữ nghĩa phƣơng thức web trong
ngôn ngữ SAWSDL và phƣơng pháp tìm kiếm dịch vụ web kết hợp các công
dụng với các Input và Output cũng có thể đƣợc ứng dụng cho ngôn ngữ này.
76
Tham khảo
[1] https://webservices.seekda.com/about/web_services.jsp (2010)
[2] W3C: Web Services Activity Statement. Version: January 2008.
(2002)
[3] Clement, L., Hately, A., von Riegen, C., Rogers, T. (eds.): UDDI Version
3.0.2 Specification, UDDI Specification Committee (2004)
[4] Dimitrios Kourtesis, Iraklis Paraskakis (2008), “Combining SAWSDL,
OWL-DL and UDDI for Semantically Enhanced Web Service Discovery”,
ESWC 2008, pp 614-628.
[5] David Martin, Massimo Paolucci, Sheila McIlraith, Mark Burstein, Drew
McDermott, Deborah McGuinness, Bijan Parsia, Terry Payne, Marta Sabou,
Monika Solanki, Naveen Srinivasan, Katia Sycara (2004), “Bringing
Semantics to Web Services: The OWL-S Approach”, SWSWPC 2004, pp 26-
42.
[6] Dumitru Roman, Uwe Keller, Holger Lausen, Jos de Bruijn, Rubén Lara,
Michael Stollberg, Axel Polleres, Cristina Feier, Christoph Bussler, Dieter
Fensel (2005), “Web Service Modeling Ontology”, Applied Ontology (AO)
1(1), pp 77-106.
[7] Jacek Kopecký, Tomas Vitvar, Carine Bournez, Joel Farrell (2007),
”SAWSDL: Semantic Annotations for WSDL and XML Schema”, IEEE
Internet Computing (INTERNET) 11(6), pp 60-67.
[8] L.Botelho, A.Fernandez, B.Fries, M.Klusch, L.Pereira, T.Santos, P.Pais,
M.Vasirani: ServiceDiscovery.InM.Schumacher,H.Helin(Eds.): CASCOM
Intelligent Service Coordination in the Semantic Web. Chapter10.Birkh”
auser Verlag, Springer (2008)
77
[9] Massimo Paolucci, Takahiro Kawamura, Terry Payne, Katia Sycara (2002),
"Semantic Matching of Web Services Capabilities", International Semantic
Web Conference 2002, pp 333-347.
[10] Michael Jaeger, Gregor Rojec-Goldmann, Christoph Liebetruth, Gero Mühl,
Kurt Geihs (2005), “Ranked Matching for Service Descriptions Using OWL-
S”, KiVS 2005, pp 91-102.
[11] Matthias Klusch, Benedikt Fries (2007), “Hybrid OWL-S Service Retrieval
with OWLS-MX: Benefits and Pitfalls”, SMRR 2007, vol.243
[12] Matthias Klusch, Patrick Kapahnke (2008), “Semantic Web Service Selection
with SAWSDL-MX”, SMRR 2008.
[13] Emanuele Delia Valle, and Dario Cerizza (2005), “The mediators centric
approach to automatic Web Service discovery of Glue”, CEURWorkshop
Proceedings, vol. 168, pp. 35-50.
[14] Uwe Keller, Rubén Lara, Holger Lausen, Axel Polleres, Dieter Fensel (2005),
“Automatic Location of Services”, ESWC 2005, pp 1-16.
[15] Alberto Fernández, Matteo Vasirani, César Cáceres, Sascha Ossowski (2007),
“A Role-Based Support Mechanism for Service Description and Discovery”,
SOCASE 2007
[16] Devis Bianchini, Valeria De Antonellis, Michele Melchiori, Denise Salvi
(2006), “Semantic-Enriched Service Discovery”. ICDE Workshops 2006:38
[17] David Martin, Massimo Paolucci, Matthias Wagner (2007), “Bringing
Semantic Annotations to Web Services: OWL-S from the SAWSDL
Perspective”, ISWC/ASWC 2007, pp 340-352
78
[18] Matthias Klusch, Patrick Kapahnke, Benedikt Fries, Mahboob Alam Khalid,
Martin Vasileski (2009), “OWLS-TC version 3.0 revision 1”.
[19] Matthias Klusch, Xiguo Zhing (2008), “Deployed Semantic Services for the
Common User of the Web: A Reality Check”, ICSC 2008, pp 347-353.
[20] Berners-Lee Tim, Hendler James, Lassila Ora (2001), “The Semantic Web”,
Scientic American 2001
[21] (2010)
[22] Jim Luo, Bruce Montrose, Anya Kim, Amitabh Khashnobish, Myong Kang
(2004), “Adding OWL-S Support to the Existing UDDI Infrastructure”,
ICWS 2006, pp 153-162.
[23] Massimo Paolucci, Takahiro Kawamura, Terry Payne, Katia Sycara (2002),
“Importing the Semantic Web in UDDI”, WES 2002, pp 225-236.
[24] UDDI Version 2.04 API Specification,
(2002)
[25] W3C: Web Services Activity Statement. Version: January 2008.
(2008)
[26] Gudgin Martin, Hadley Marc, Mendelsohn Noah, Moreau Jean-Jacques,
Nielsen Henrik, Karmarkar Anish, Lafon Yves (2007), “SOAP Version 1.2
Part 1: Messaging Framework (Second Edition)”. Version: April 2007.
W3C Recommendation 2007.
[27] Gudgin Martin, Hadley Marc, Mendelsohn Noah, Moreau Jean-Jacques,
Nielsen Henrik, Karmarkar Anish, Lafon Yves (2007), “SOAP Version 1.2
Part 2: Adjuncts (Second Edition).” Version: April 2007.
W3C Recommendation 2007.
79
[28] Chinnici Roberto, Moreau Jean-Jacques, Ryman Arthur, Weerawarana
Sanjiva (2007), “Web Services Description Language (WSDL) Version 2.0
Part 1: Core Language”, Version: June 2007.
W3C Recommendation 2007.
[29] Booth David, Haas Hugo, McCabe Francis, Newcomer Eric, Champion
Michael, Ferris Chris, Orchard David (2004), “Web Services Architecture”,
Version: 2004.
W3C Working Group Note.
[30] Business Process Execution Language for Web Services version 1.1,
Contributors: IBM, BEA Systems, Microsoft, SAP AG, Siebel Systems, 30
Jul 2002, Updated 08 Feb (2007)
[31] David Martin, Mark Burstein, Jerry Hobbs, Ora Lassila, Drew McDermott,
Sheila McIlraith, Srini Narayanan, Massimo Paolucci, Bijan Parsia, Terry
Payne, Evren Sirin, Naveen Srinivasan, Katia Sycara: OWL-S: Semantic
Markup for Web Services, W3C Member Submission (2004)
[32] Jos de Bruijn, Christoph Bussler, John Domingue, Dieter Fensel, Martin
Hepp, Uwe Keller, Michael Kifer, Birgitta Knig-Ries, Jacek Kopecky, Rubn
Lara, Holger Lausen, Eyal Oren, Axel Polleres, Dumitru Roman, James
Scicluna, Michael Stollberg: Web Service Modeling Ontology (WSMO),
W3C Member Submission (2005)
[33] Farrell, Joel ; Lausen, Holger: Semantic Annotations for WSDL and XML
Schema. Version: August 2007. W3C
Recommendation (2007)
[34] Klyne, Graham ; Carroll, Jeremy J. ; McBride, Brian: Resource Description
Framework (RDF): Concepts and Abstract Syntax. Version: February 2004.
W3C Recommendation, (2004)
80
[35] Brickley, Dan ; Guha, R.V. ; McBride, Brian: RDF Vocabulary Description
Language 1.0: RDF Schema. Version: February 2004.
W3C Recommendation, (2004)
[36] Bechhofer, Sean ; Harmelen, Frank van ; Hendler, Jim ; Horrocks, Ian
;McGuinness, Deborah L. ; Patel-Schneider, Peter F. ; Stein, Lynn A.: OWL
Web Ontology Language Reference. Version: February 2004.
W3C Recommendation, (2004)
[37] Anupriya Ankolekar, Mark Burstein, Jerry Hobbs, Ora Lassila, David Martin,
Sheila McIlraith, Srini Narayanan, Massimo Paolucci, Terry Payne, Katia
Sycara, Honglei Zeng (2001), “DAML-S: Semantic Markup for Web
Services”, SWWS 2001, pp 411-430.
[38] Dieter Fensel, Christoph Bussler (2002), “The Web Service Modeling
Framework WSMF”, Electronic Commerce Research and Applications
(ECRA) 1(2), pp 113-137.
[39] Kaarthik Sivashanmugam, Kunal Verma, Amit Sheth, John Miller (2003),
“Adding Semantics to Web Services Standards”, ICWS 2003, pp 395-401.
[40] (2010)
[41] Maximilian Herold, Sebastian Iwanowski (2008), “State-of-the-Art Semantic
Web Services”, Master thesis 2008.
[42] Ulrich Küster (2008), “Evaluation of Semantic Web Service Technology”,
ESWC 2008, Tutorial.
[43] John Domingue, David Martin (2008), “Semantic Web Service”, ISWC
2008, Tutorial.