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
13 trang | 
Chia sẻ: vietpd | Lượt xem: 1558 | 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