Nội dung trong Chương 4 trình bày phương pháp do chúng tôi đề xuất nhằm mở rộng OWL-S Profile dựa trên các công dụng; sự lựa chọn Ontology để chú giải công dụng của OWL-S Profile; ánh xạ OWL-S Profile dựa trên công dụng vào UDDI. 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 sẽ được trình bày trong cuối chương này.
14 trang |
Chia sẻ: vietpd | Lượt xem: 1445 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Phương pháp mở rộng owl-S dựa trên công dụng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
32
CHƢƠNG 4: PHƢƠNG PHÁP MỞ RỘNG OWL-S DỰA TRÊN
CÔNG DỤNG
Tóm tắt:
Nội dung trong Chương 4 trình bày phương pháp do chúng tôi đề xuất nhằm mở
rộng OWL-S Profile dựa trên các công dụng; sự lựa chọn Ontology để chú giải
công dụng của OWL-S Profile; ánh xạ OWL-S Profile dựa trên công dụng vào
UDDI. 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 sẽ được trình bày trong cuối
chương này.
4.1Mở rộng OWL-S Profile với các công dụng
4.1.1 Nhu cầu cần mở rộng OWL-S Profile với các công dụng
Mỗi OWL-S Profile đƣợc sử dụng để mô tả ngữ nghĩa cho một phƣơng thức
trong một dịch vụ web. OWL-S Profile có các thành phần IOPE (Input, Ouput,
Precondition, Postcondition) là một cách để xác định chức năng của dịch vụ, tuy
nhiên 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. Do đó
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 Profile
cùng các Input và các Output nhƣng có công dụng khác nhau, do đó điều này rất
nguy hiểm trong việc máy tự quyết định chọn Profile tìm kiếm đƣợc trong lúc thực
thi và kể cả việc hỗ trợ ngƣời dùng thiết kế dịch vụ SOA trong giai đoạn thiết kế.
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]. Nhƣ vậy trong đề tài này chúng tôi đề xuất việc chú giải ngữ nghĩa bằng
33
các công dụng ngữ nghĩa vào bên trong OWL-S Profile là một cách giúp xác nhận
dịch vụ làm gì và đƣợc sử dụng trong giai đoạn tiền xử lý giúp giảm bớt đáng kể số
lƣợng dịch vụ có các input và output phải kiểm tra trong giai đoạn tìm kiếm.
Mỗi Profile dù là cơ bản “atomic” hay tổng hợp “composite”, dịch vụ đều có
thể có thực hiện một hay nhiều công việc khác nhau, do đó chúng tôi quyết định sẽ
chú giải vào mỗi ServiceProfile của dịch vụ OWLS bằng một hay nhiều công dụng
tƣơng ứng. Do đó mỗi công dụng chúng tôi đề xuất là sự kết hợp của một động từ và
một danh từ trong các Ontology. Sự kết hợp này làm thuận lợi cho việc khi có nhu
cầu chú giải một công dụng mới, với cách chú giải của chúng tôi chỉ yêu cầu trong
một ontology động từ và ontology danh từ có chứa hành động và tân từ tƣơng ứng,
không cần phải thêm một khái niệm mới vào trong ontology có sẵn.
4.1.2 Mở rộng OWL-S Profile với công dụng
Chúng tôi sử dụng ngôn ngữ biểu diễn dịch vụ OWL-S để chú giải thêm các
thông tin ngữ nghĩa về các công dụng của dịch vụ web. Một dịch vụ OWL-S bao
gồm 3 phần: thứ nhất là ServiceProfile (hay còn đƣợc gọi là OWL-S Profile) phục
vụ cho việc quảng cáo và phát hiện dịch vụ, thứ hai là ServiceModel chịu trách
nhiệm mô tả hoạt động của dịch vụ và thứ ba là ServiceGrounding chịu trách nhiệm
cung cấp cách tƣơng tác với dịch vụ.
Service Profile đƣợc thiết kế nhằm mô tả dịch vụ làm gì “what it does”. Vì
thế đây là vị trí phù hợp nhất để thêm các thông tin về các công dụng Functionality
cho dịch vụ web. Một Service Profile bao gồm các thông tin nhƣ các Input, Ouput,
Precondtion và Effect (PostCondition). Và các thông tin khác nhƣ: Service name,
Text Description, QoS,… Chúng tôi thêm các thông tin về công dụng (Functionality)
vào bên trong Service Profile này. Mỗi công dụng chúng tôi đề xuất là sự kết hợp
của một động từ và một danh từ trong các Ontology. Việc chú giải ngữ nghĩa các
công dụng cho OWL-S Profile có thể đƣợc minh họa trong Bảng 4.1.
34
Hình 4.1 OWL-S [31]
ServiceProfile
……………………………………………………………………………….
………………………………………………………………………………………….
Bảng 4.1 FOWLS Profile
35
Một cách tổng quát :
Gọi Y và N lần lượt là ontology động từ và ontology danh từ.
Gọi W là tập hợp các dịch vụ web và F là tập hợp các profile của dịch vụ web.
Với mỗi dịch vụ web w W bao gồm một (số) profile
wf1
,
wf2
…
w
nw
f
w = {
w
if
F | i =1.2,…, nw } (4.1)
Đặt L là tập hợp các nhãn chức năng đơn của một phƣơng thức trong một dịch vụ
web: mỗi chức năng đơn đƣợc gán nhãn bằng một động từ v Y và một danh từ n
N.
L = { | v Y n N } (4.2)
Với mỗi profile f của dịch vụ web w, quá trình gán nhãn sẽ xét định tập hợp L(f) các
nhãn để mô tả cho phƣơng thức web này.
L( f ) = {
f
jl
L } (4.3)
4.1.3 Ví dụ về sự mở rộng OWL-S Profile với các công dụng
Công ty Gobal Car cung cấp dịch vụ CarService trong đó có hỗ trợ phƣơng
thức Sell để phục vụ cho việc bán các loại xe hơi của họ, Một cách đơn giản để chú
giải công dụng cho phƣơng thức này, chúng tôi tạo ra một khái niệm Sell#Car trong
đó Sell là một khái niệm động từ thuộc “verb ontology” và Car là một khái niệm
danh từ thuộc “noun ontology”. Với cách chú giải ngữ của của chúng tôi có thể hỗ
trợ ngƣời dùng dịch vụ tìm kiếm đúng dịch vụ có hỗ trợ công dụng ngƣời dùng yêu
cầu, việc tìm kiếm không đơn giản chỉ là sự so khớp chính xác “Sell Car” với cách
chú giải này giúp cho máy có khả năng hiểu, suy diễn và xử lý. Ví dụ khi ngƣời
dùng cần tìm dịch vụ “Sell Vehicle” hay “retail Car” hay “wholesale sudan”,…
ServiceCar đáp ứng đƣợc yêu cầu của họ. Do đó phƣơng pháp chú giải này giúp cho
việc tìm kiếm dịch vụ nhanh và linh hoạt, không chỉ giúp máy có khả năng xử lý
đƣợc, còn giúp cho máy có khả năng hiểu và suy diễn ngữ nghĩa.
36
Chúng tôi kết hợp một khái niệm động từ trong “verb ontology” và một khái
niệm danh từ trong “noun ontology” để tạo thành một khái niệm công dụng. Do đó
việc tạo ra một khái niệm công dụng mới chỉ phụ thuộc vào các khái niệm đã có
trong “verb ontology” và “noun ontology”. Vì vậy với cách đề xuất này việc chú
giải các công dụng cho dịch vụ web không cần phải đƣa ra một ontology mới cho
các công dụng, đơn giản chỉ là sự kết hợp hai ontology động từ và danh từ có sẵn.
Ví dụ về phƣơng pháp chú giải công dụng bằng cách kết hợp hai Ontology đƣợc
minh họa trong Hình 4.2.
Thing
Vehicle Writing
TruckCar
Sudan
Luxury Mid-Size
NovelEssay
ModernNove
l
ClassicNove
l
Couple
Be
Exchange Find
TradeSell
Retail Wholesale
Search Locate
Finger Browse
Search # Novel = Search Novel+
Sem
ant
ic m
atc
h
Semantic match
Verb Ontology
Noun
Ontology
Hình 4.2 Chú giải công dụng bằng cách kết hợp hai Ontology
4.2 Lựa chọn Ontology để chú giải công dụng của OWL-S Profile
Chúng tôi đề xuất việc chú giải ngữ nghĩa cho công dụng ngữ nghĩa bao gồm
hai thành phần : thứ nhất là 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ừ. Trong phiên bản hiện tại chúng tôi chọn
các khái niệm động từ thuộc wordnet [40] để chú giải ngữ nghĩa cho động từ trong
công dụng, và chúng tôi sử dụng các khái niệm danh từ trong domain ontology đi
kèm cùng tập dữ liệu thử nghiệm [21].
37
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
Hiện tại chúng tôi lựa chọn các khái niệm động từ trong wordnet 2.1 để chú
giải các công dụng của OWL-S Profile, vì hiện tại chƣa có Ontology động từ theo
Domain Ontology cụ thể. Nếu trong tƣơng lai có các khái niệm động từ trong từng
Domain Ontology cụ thể, có thể lựa chọn các khái niệm này để chú giải thành phần
động từ trong công dụng . Với việc chú giải các khái niệm động từ trong Domain
Ontology có thể phục vụ cho việc tìm kiếm dịch vụ web với công dụng chính xác
hơn.
Các khái niệm thuộc từ loại động từ trong wordnet đƣợc chia theo các mối
quan hệ nhƣ :
Hypernym: động từ Y đƣợc gọi là Hypernym của động từ X nếu động từ X là
một loại hoạt động đặc biệt của động từ Y và Y là một loại hoạt động tổng
quát của X, ví dụ nhƣ động từ Search là Hypernym của động từ google.
Hoponym: động từ Y đƣợc gọi là Hypernym của động từ X nếu động từ Y là
một loại hoạt động đặc biệt của động từ X và X là một loại hoạt động tổng
quát của Y, ví dụ nhƣ động từ google là Hyponym của động từ Search.
Entailment: Động từ X có thể kéo theo hành động là động từ Y ,ví dụ nhƣ
động từ Sleep kéo theo động từ Snore.
Coordinate Term: Những động từ có cùng động từ là Hypernym chung, ví dụ
nhƣ động từ retail và wholesable có mối quan hệ là Coordinate Term vì có
chung động từ Sell là Hypernym.
Ngoài ra mỗi khái niệm động từ sẽ có các động từ đồng nghĩa (synonym) và
các động từ trái nghĩa (antonym).
Tuy nhiê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.