Phương pháp mở rộng owl-S dựa trên công dụng

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.

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