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.
13 trang |
Chia sẻ: vietpd | Lượt xem: 1372 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Tìm kiếm dịch vụ owl-S dựa trên các công dụng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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