Tìm kiếm dịch vụ owl-S dựa trên các công dụng

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.

pdf13 trang | Chia sẻ: vietpd | Lượt xem: 1281 | Lượt tải: 0download
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