一種基於WordNet的語義服務註冊與查詢方法
2023-06-14 22:54:11 2
專利名稱::一種基於WordNet的語義服務註冊與查詢方法
技術領域:
:本發明涉及Web服務的註冊與發現
技術領域:
,尤其是一種基於WordNet的語義服務註冊與查詢方法。技術背景用XML語法描述的Web服務協議缺乏良好定義的語義信息,同時也缺乏Web服務相互交互的表達能力,因而並不能滿足Web服務自動發現、執行、合成、監控和恢復的需求。為了能夠讓Web服務之間互相理解各自的內容、功能以及屬性,需要找到一種在XML基礎上包含語義信息的描述Web服務的語言。語義Web正好滿足了描述Web服務的這一需求。它是當前Web的擴展,為網頁擴展了計算機可處理的語義信息。語義Web中,各種資源被人為地賦予了各種明確的語義信息,計算機可以分辨和識別這些語義信息,並對其進行自動解釋、交換和處理。近年來,隨著語義Web技術的發展,出現了大量的領域本體,如醫學本體UMLS、中醫藥本體TCMLS等。借鑑語義Web的思想,通過構建本體來定義領域概念的語義關係,解決Web服務缺乏統一語義內容等問題。同時通過基於語義的搜索技術來發現和定位Web服務,從而達到用戶和服務提供商雙贏的結果。語義Web服務是語義Web與Web服務相結合而得的產物,在Web服務中有效利用本體領域模型進行服務的概念建模,可以指導Web服務應用的設計。語義Web服務的目標就是以一種明確的、計算機能夠理解的語言來橫述Web服務的功能和內容,同時增強已經存在的Web服務操作的性能和魯棒性,比如Web服務的發現和調用。語義Web服務可為Web服務的發現、執行、解釋和組合的自動化提供有效的支持,從而實現異構系統的互操作以及無縫集成。語義Web服務發現首先要對請求者的理想Web服務進行語義描述,同時要對已有的Web服務進行語義描述。現今,對Web服務應該如何進行語義描述有著多種方案,如0WL-S,WSDL-S,SWSL等等。上述方案中,都把對Web服務的描述分為服務的功能性描述和非功能性描述兩部分。其中對服務功能性信息(Web服務的I叩ut、0utput、Precondition、Effect)進行語義描述的基本思想都是首先用本體來表達領域內的語義信息,然後利用本體中的概念對Web服務的功能信息進行描述。而對Web服務非功能信息(如服務提供者的聯繫方式、服務的大概功能等),在現階段一般都是用自然語言的方法對其進行語義描述。傳統上,一個發布服務與一個請求服務完全匹配必須滿足以下兩方麵條件(1)服務的輸出可以滿足用戶請求的輸出,即用戶想要得到的輸出必須能夠通過服務調用獲得。(2)用戶請求的輸入可以滿足服務的輸入,即服務正常運轉所需要的輸入必須有用戶請求提供。但是由於用戶在請求時不可能知道存在什麼樣的服務,而服務在制定時也不能預期都會存在什麼樣的請求,因此用戶請求和服務的完全匹配只是一種最理想狀態,在實際進行匹配時絕大部分不是完全匹配。因此就需要服務匹配算法能夠根據請求服務和發布服務的服務描述(包括功能描述和非功能描述)對己發布服務集合進行相似度計算,輸出大於某個閾值的服務。
發明內容本發明所要解決的技術問題是提供一種結合WordNet本體庫與WSDL-S語義描述語言、語義明確的基於WordNet的語義服務註冊與査詢方法。本發明解決上述問題所採用的技術方案是該方法具體步驟為,(1)語義服務註冊服務提供者註冊一個服務並上傳服務對應的WSDL,系統解析WSDL,形成一棵服務描述樹,然後根據輸入解析出WordNet本體樹,並對服務的輸入、輸出進行語義標註,形成Web服務語義描述文檔WSDL-S,最後保存到註冊庫中;(2)語義服務發現服務請求者輸入服務類型信息、服務的輸入/輸出語義信息、用戶自定義信息到註冊庫中,查詢滿足要求的服務;(3)相似度排序根據降序對滿足某個閾值的服務進行排序。本發明所述步驟(1)對Web服務進行語義標註是根據WSDL文件中輸入、輸出功能接口的信息,再把語義本體標註進去,形成Web服務語義描述文檔WSDL-S,其中的語義本體採用WordNet本體庫。本發明所述步驟(2)中利用WordNet本體樹,用WordNet提供的接口計算出兩個本體概念的語義距離,再利用擴展二分圖最佳匹配擴展算法,求出請求服務的輸入/輸出和發布服務操作的輸入/輸出之間的語義相似度,進而求出請求服務和發布服務操作的語義相似度,所述的擴展二分圖最佳匹配擴展算法對服務對5應操作的輸入/輸出參數語義信息集合進行匹配,在匹配的過程中,分別計算請求服務與註冊庫中服務的輸入、輸出、綜合語義相似度,當這三個相似度都滿足某個閾值時,匹配成功,表示這個服務是滿足的。本發明所述步驟(2)的具體過程為,(A)根據服務類別對服務語義描述文件進行過濾預處理,該預處理過程檢查有哪些註冊的服務是屬於請求的服務類型,然後通過查找資料庫得到某些服務類別下的所有服務,再交給下一步處理;(B)對上面過濾得到的服務語義描述文件進行操作,解析它們的輸入/輸出語義信息存儲到列表中,以備接下去的輸入/輸出匹配;(C)根據査詢請求提供的語義信息和相關閾值對服務對應操作的輸入/輸出參數集合進行匹配,如果服務的輸入/輸出個數都滿足服務請求,並且輸入匹配度大於設定的輸入匹配度閾值,輸出匹配度大於設定的輸出匹配度閾值,綜合匹配度大於設定的綜合匹配度閾值時,該服務才被加入到匹配結果中,只要以上有一個條件不滿足,就直接跳過這個服務匹配過程的剩餘操作,進行下一個服務的匹配;上述步驟(C)的子步驟為,(a)進行服務輸入/輸出個數的比較,如果請求的輸出個數大於註冊庫中某個服務的輸出個數或者如果請求的輸入個數小於註冊庫中某個服務的輸入個數,就直接跳過,進行下個服務匹配;(b)採用擴展二分圖最佳匹配擴展算法,計算輸出語義相似度,如果輸出語義相似度大於某個設定的閾值,則繼續,否則跳過進行下個服務匹配;(c)採用基於二分圖最佳匹配擴展算法,計算輸入語義相似度,如果輸入語義相似度大於某個設定的閾值,則繼續,否則跳過進行下個服務匹配;(d)根據輸出語義相似度、輸入語義相似度計算綜合語義相似度,如果綜合相似度大於某個設定的閾值,則表示匹配成功,否則跳出進行下個服務匹配。本發明所述步驟(3)中在語義服務查詢的服務集合的基礎上,根據相似度對服務進行排序,在排序中,按照輸入、輸出、綜合相似度進行排序,使用戶儘快找到滿意的服務。本發明與現有技術相比,具有以下有益效果1、基於WordNet本體庫,根據其提供的接口很容易進行二次開發,計算兩個本體概念的語義距離;2、在服務的WSDL文件中添加語義描述的辦法,形成WSDL-S語義描述文件,WSDL-S語義描述文件保持了與現有協議與技術的兼容性;3、服務匹配基於語義相似度,支持服務間靈活匹配,能度量註冊服務和服務請求間的符合程度,而且還極大地提高了服務的查全率和查準率,根據輸入、輸出語義相似度以及它們的權重計算綜合語義相似度,這個權重可以由用戶根據用戶對請求服務的要求來設置,採用這種方式用戶可以很快地找到自己想要的服務;4、對査詢得到的服務進行了基於相似度的排序,有利於用戶找到自己滿意的服務。圖l為本發明的結構圖。圖2為本發明的語義査詢算法總體流程圖。圖3為本發明的服務功能匹配流程圖。具體實施方式Web服務是Internet上實現某種功能或執行商務過程的軟體對象集,它們能夠在Web上發布,被用戶發現並調用。它作為一種新興的Web應用模式,是Web上數據和信息集成的有效機制,成為目前應用環境中最為合理的解決方案。本發明的主要設計思想是結合WordNet本體庫與WSDL-S語義描述語言,設計一個語義明確的Web服務發現機制。WordNet提供的術語語義作為全局領域相關本體的基礎,對Web服務進行語義標註,形成WSDL-S語義描述文檔。利用WordNet本體庫中詞的關係,可以計算兩個詞的語義距離,進而可以計算出一個服務請求與註冊庫中服務的語義相似度。在計算服務請求與註冊庫中服務的過程中,對KM算法進行擴展來計算兩個服務的語義相似度。通過一個服務匹配算法得到滿足用戶請求的服務,並對這些服務根據相似度進行排序。其中WordNet是一個聯機英語詞彙檢索系統,同時又是一部語義詞典。它採用語義網絡作為其詞彙本體的基本表示形式。在WordNet中,網絡節點之間的關係分為同義關係、反義關係、繼承關係、部分/整體關係等。本體概念之間的語義距離如下表所示tableseeoriginaldocumentpage7繼承關係1包含關係2以下結合圖紙詳細介紹整個語義註冊及查詢的實施過程。參見圖l,該方法的具體步驟為(1)語義服務註冊服務提供者註冊一個服務並上傳服務對應的WSDL,系統解析WSDL,形成一棵服務描述樹,然後根據輸入解析出WordNet本體樹,並對服務的輸入、輸出進行語義標註,形成Web服務語義描述文檔WSDL-S,最後保存到註冊庫中;(2)語義服務發現服務請求者輸入服務類型信息、服務的輸入、輸出語義信息、用戶自定義信息到註冊庫中,査詢滿足要求的服務;(3)相似度排序根據降序對滿足某個閾值的服務進行排序。參見圖2,上述步驟(2)的具體步驟為(A)根據服務類別進行過濾,當服務註冊庫中服務數量龐大時,進行一次語義查詢,對註冊庫中每個服務的包含語義信息的xml文件進行解析、比較,使用服務類別過濾器作為匹配引擎進行服務匹配前的一個預處理過程,該預處理過程檢査哪些註冊的服務是屬於請求的服務類型,通過査找資料庫得到某些服務類別下的所有服務,再交給下一步處理,如果用戶事先知道這個服務屬於哪幾個分類,將快速地査到該服務;(B)對上面過濾得到的服務語義描述文件進行操作,解析它們的輸入/輸出的語義信息存儲到列表中,以備接下去的輸入/輸出匹配;(C)根據査詢實例r=(屍,(T,w,,w。,w,",c"/ego^y)提供的語義信息和相關閾值,進行服務對應操作的輸入/輸出參數集合的匹配,如果服務的輸入/輸出個數都滿足服務請求,並且輸入匹配度〉w,.、輸出匹配度>氣、綜合匹配度>1^,才被加入到匹配結果中,只要有一個不滿足,就直接跳過這個服務匹配過程的剩餘操作,進行下一個服務的匹配;參見圖3,上述步驟(C)具體步驟為,(a)如果serviceList的下一個元素不為空,則取得該服務語義描述信息,否則匹配結束;(b)獲得上步取得的服務的operation列表operationList,如果operationList的下一個元素不為空,則繼續,否則跳到步驟(a);(c)根據查詢實例r和上面取得的operation,如果請求的輸出個數大於註冊庫中的某個服務的輸出個數,就直接跳到步驟(b),否則繼續;(d)如果請求的輸入個數小於註冊庫中某個服務的輸入個數,就直接跳到步驟(b),否則繼續下面的操作;(e)採用基於二分圖最佳匹配擴展算法,計算輸出語義相似度simPR—output,如果輸出語義相似度小於閾值w。,則直接跳到步驟(b),否則繼續;(f)採用基於二分圖最佳匹配擴展算法,計算輸入語義相似度simPR—input,如果輸入語義相似度小於閾值w;,則直接跳到步驟(b),否則繼續;(g)根據simPR—output、simPR一i叩ut、,計算服務操作綜合相似度siraPI^axWwP/—ot^W+(l—a)xs/w屍i—/w/n^,a由用戶查詢的,時候輸入,可以根據實際對服務的需求而設計輸入、輸出語義相似度的所佔權重的比例;(h)在步驟(a)(g)間循環求得最大的服務語義相似度maxSimPR,如果maxSimPR大於閾值w,則匹配成功,跳到步驟(a)繼續匹配。在語義服務註冊與發現中用到以下模型1、服務語義描述模型,一個服務^是一個2元組《=(",,屍),其中(1)",是該服務的名稱;(2)=/72,…,;J是該服務中的操作集合。2、操作語義描述模型,一個服務的操作/是一個3元組/7=(,/,0),其中(1)是該操作的名稱;(2)/^^/,,/2,...,U為一個概念矢量,表示操作p的N個輸入參數的語義描述,/,人,…/"表示操作p各個輸入參數在領域本體庫中相對應的語義概念;(3)0={01,02,...,}為一個概念矢量,表示操作p的M個輸出參數的語義9描述,0,,02,…0。表示操作p各個輸出參數在領域本體庫中相對應的語義概念;這樣就把Web服務的匹配轉換為請求者理想的服務語義描述模型s-(,戶)和服務庫中服務語義描述模型/-(""P')的匹配,進而可以轉化操作p和;/的匹配,最後轉化為同一領域本體中概念矢量iSl/'以及0和(9'的匹配。3、服務請求語義描述模型,服務請求是指用戶對目標服務的需求描述,一個服務請求r二(屍,(T,w"w。,w,a,cafegoow)可形式化為一個7元組,其中(1)屍-(/;v;…,《)為一個概念矢量,表示用戶請求輸入參數的語義描述,《,《,■■,《表示用戶請求各個輸入參數在領域本體庫中相對應的語義概念;(2)CT=(《,<,,《)為一個概念矢量,表示用戶請求輸出參數的語義描述,of,《,…,《表示用戶請求各個輸出參數在領域本體庫中相對應的語義概念;(3)a是輸出權重,而1-"是輸入權重;(4)(Kw^l是用戶設定的輸入接受閾值,即一個服務(實質上是指服務的操作)的輸入與服務請求的輸入相似度小於該閾值時,該服務被認為是不可接受的目標服務,平常w,默認是0.5;(5)0<氣21是用戶設定的輸出接受閾值,即一個服務(實質上是指服務的操作)的輸出與服務請求的輸出相似度小於該閾值時,該服務被認為是不可接受的目標服務,平常W。默認是0.5;(6)0<w^l(w=w。*a+w;*(l-"))是用戶設定的接受閾值,即一個服務(實質上是指服務的操作或者操作的組合)與服務請求的相似度大於等於該閾值時,該服務才被認為是可接受的目標服務,平常w默認是0.5;(7)categorys表示請求的服務所屬的服務類別,如果沒有指定,就表示在所有類別中查找。權利要求1、一種基於WordNet的語義服務註冊與查詢方法,其特徵是具體步驟為,(1)語義服務註冊服務提供者註冊一個服務並上傳服務對應的WSDL,系統解析WSDL,形成一棵服務描述樹,然後根據輸入解析出WordNet本體樹,並對服務的輸入、輸出進行語義標註,形成Web服務語義描述文檔WSDL-S,最後保存到註冊庫中;(2)語義服務發現服務請求者輸入服務類型信息、服務的輸入/輸出語義信息、用戶自定義信息到註冊庫中,查詢滿足要求的服務;(3)相似度排序根據降序對滿足某個閾值的服務進行排序。2、根據權利要求1所述的基於WordNet的語義服務註冊與查詢方法,其特徵是所述步驟(1)對Web服務進行語義標註是根據WSDL文件中輸入、輸出功能接口的信息,再把語義本體標註進去,形成Web服務語義描述文檔WSDL-S,其中的語義本體採用WordNet本體庫。3、根據權利要求1所述的基於WordNet的語義服務註冊與查詢方法,其特徵是所述步驟(2)中利用WordNet本體樹,用WordNet提供的接口計算出兩個本體概念的語義距離,再利用擴展二分圖最佳匹配擴展算法,求出請求服務的輸入/輸出和發布服務操作的輸入/輸出之間的語義相似度,進而求出請求服務和發布服務操作的語義相似度,所述的擴展二分圖最佳匹配擴展算法對服務對應操作的輸入/輸出參數語義信息集合進行匹配,在匹配的過程中,分別計算請求服務與註冊庫中服務的輸入、輸出、綜合語義相似度,當這三個相似度都滿足某個閾值時,匹配成功,表示這個服務是滿足的。4、根據權利要求1或3所述的基於WordNet的語義服務註冊與査詢方法,其特徵是步驟(2)的具體過程為,(A)根據服務類別對服務語義描述文件進行過濾預處理,該預處理過程檢査有哪些註冊的服務是屬於請求的服務類型,然後通過査找資料庫得到某些服務類別下的所有服務,再交給下一步處理;(B)對上面過濾得到的服務語義描述文件進行操作,解析它們的輸入/輸出語義信息存儲到列表中,以備接下去的輸入/輸出匹配;(C)根據查詢請求提供的語義信息和相關閾值對服務對應操作的輸入/輸出參數集合進行匹配,如果服務的輸入/輸出個數都滿足服務請求,並且輸入匹配度大於設定的輸入匹配度閾值,輸出匹配度大於設定的輸出匹配度閾值,綜合匹配度大於設定的綜合匹配度閾值時,該服務才被加入到匹配結果中,只要以上有一個條件不滿足,就直接跳過這個服務匹配過程的剩餘操作,進行下一個服務的匹配;5、根據權利要求4所述的基於WordNet的語義服務註冊與査詢方法,其特徵是所述步驟(C)的子步驟為,(a)進行服務輸入/輸出個數的比較,如果請求的輸出個數大於註冊庫中某個服務的輸出個數或者如果請求的輸入個數小於註冊庫中某個服務的輸入個數,就直接跳過,進行下個服務匹配;(b)採用擴展二分圖最佳匹配擴展算法,計算輸出語義相似度,如果輸出語義相似度大於某個設定的閾值,則繼續,否則跳過進行下個服務匹配;(c)釆用基於二分圖最佳匹配擴展算法,計算輸入語義相似度,如果輸入語義相似度大於某個設定的閾值,則繼續,否則跳過進行下個服務匹配;(d)根據輸出語義相似度、輸入語義相似度計算綜合語義相似度,如果綜合相似度大於某個設定的閾值,則表示匹配成功,否則跳出進行下個服務匹配。6、根據權利要求1所述的基於WordNet的語義服務註冊與査詢方法,其特徵是所述步驟(3)中在語義服務查詢的服務集合的基礎上,根據相似度對服務進行排序,在排序中,按照輸入、輸出、綜合相似度進行排序,使用戶儘快找到滿意的服務。'全文摘要本發明涉及Web服務的註冊與發現
技術領域:
,尤其是一種基於WordNet的語義服務註冊與查詢方法。該方法具體步驟為(1)語義服務註冊服務提供者註冊一個服務並上傳服務對應的WSDL,系統解析WSDL,形成一棵服務描述樹,然後根據輸入解析出WordNet本體樹,並對服務的輸入、輸出進行語義標註,形成Web服務語義描述文檔WSDL-S,最後保存到註冊庫中;(2)語義服務發現服務請求者輸入服務類型信息、服務的輸入/輸出語義信息、用戶自定義信息到註冊庫中,查詢滿足要求的服務;(3)相似度排序根據降序對滿足某個閾值的服務進行排序。本發明具有結合WordNet本體庫與WSDL-S語義描述語言、語義明確的優點。文檔編號G06F17/30GK101567005SQ20091009842公開日2009年10月28日申請日期2009年5月7日優先權日2009年5月7日發明者健吳,吳朝暉,尹建偉,曾文秋,瑩李,鄧水光申請人:浙江大學