專利名稱:一種Web服務構件庫動態(tài)構造方法及其服務檢索方法
技術領域:
本發(fā)明涉及一種Web服務構件庫動態(tài)構造方法及其服務檢索方法。該Web服務構件庫動態(tài)構造方法主要是通過對Web服務描述文檔進行語義標注,從而實現(xiàn)基于潛在語義匹配的檢索,這大大改善了傳統(tǒng)基于具體關鍵字檢索的檢索效果和性能。屬于信息檢索技術領域。
背景技術:
Web服務是一個嶄新的分布式計算模型,是Web上數(shù)據(jù)和信息集成的有效機制。開發(fā)Web服務并開放出來,是一種非常有效的軟件復用方式,不但可以達到軟件復用的目的,也利用Web平臺擴大了軟件復用的范圍,還可以利用開發(fā)Web服務打造出軟件復用的產業(yè)鏈,探索軟件復用商業(yè)模式。但是隨著Internet上Web服務的快速增長,自動、準確地發(fā)現(xiàn)Web服務己經(jīng)是Web服務技術中的難點和關鍵問題。于是,Web服務發(fā)現(xiàn)和搜索成為一個重要的研究方向。
現(xiàn)有的Web服務檢索技術大多是基于關鍵字匹配進行檢索,如UDDI等。這種基于關鍵字匹配的檢索方法的發(fā)現(xiàn)精度不高,處理大量的Web服務時運算量過大,而且缺乏語義,只能做語法層面的處理,無法準確刻畫服務的特性。例如,無法處理一詞多義和多詞同義的情況。再加上Web服務描述文檔本身的詞匯數(shù)量相對于一般文本來說相當少,所以這種基于關鍵字匹配的檢索方法應用在Web服務發(fā)現(xiàn)上的實際效果并不理想。
作為對關鍵字檢索方法的改進,語義Web服務發(fā)現(xiàn)技術能夠準確刻畫服務的功能和屬性,發(fā)現(xiàn)精度高。于是,大量基于語義的方法被提出來。然而,在基于語義的方法中,很大一部分是基于OWL-S ,WSMO或者自定義的WSDL語言,雖然這些方法在特性應用場景中取得了很好的效果,但是使用這些語言定義的服務非常少,幾乎所有的Web服務都是使用標準WSDL定義的,真正使用時,需要將這些WSDL定義的Web服務轉換成上述語言,這就增加了很大的難度和復雜度,所以這一類方法的實用性有限。另外,Web服務本身所具有的自身特征也限制了對其應用基于語義匹配的檢索方法。首先,Web服務描述文檔詞匯量少;其次,Web服務本身的參數(shù)名和操作名一般都不是完整詞匯,要么是詞匯簡化,要么詞匯組合。所以,如果只是將Web服務描述文件當作普通文本來對待,不考慮Web服務描述文件自身的特征,采用一般的基于語義匹配的檢索方法效果就會受到一定的限制。因此,我們也有必要針對Web服務的自身特征對其語義匹配的檢索方法進行改進和優(yōu)化。
發(fā)明內容
本發(fā)明的主要目的在于解決現(xiàn)有Web服務檢索技術中存在的問題,提供一種通過對Web服務描述文檔進行語義標注,從而實現(xiàn)基于潛在語義匹配檢索的Web服務構件庫動態(tài)構造方法。同時,還包括根據(jù)該構造方法所設計的服務檢索方法。
本發(fā)明的發(fā)明目的是通過下述技術方案予以實現(xiàn)的
一種Web服務構件庫動態(tài)構造方法,其特征在于具體包括如下步
驟
(1) 通過網(wǎng)絡爬蟲從互聯(lián)網(wǎng)上含有Web服務的站點抓取網(wǎng)頁;
(2) 從網(wǎng)頁中解析出Web服務地址信息;
(3) 驗證Web服務地址信息,根據(jù)有效地址提取Web服務基本信息并存儲;
(4) 依據(jù)WordNet詞庫,對Web服務基本信息中的輸出參數(shù)進行分詞和本體標注,輸出參數(shù)經(jīng)過分詞和本體標注,產生一個集合,稱為輸出參數(shù)的標注集,標注集中的每個元素稱為輸出參數(shù)的標注項;
(5) 重復前述步驟(1)至步驟(4),直至形成一定規(guī)模經(jīng)過分詞和本體標注的Web服務集合;
(6) 將所述經(jīng)過分詞和本體標注后的Web服務集合組 形成一個特征項-文檔矩陣;該特征項-文檔矩陣的行和列分別由Web服務集合的所有Web服務和所有Web服務輸出參數(shù)的標注項組成;該特征項-文檔矩陣中的具體權重值Qij,依據(jù)計算式Qij-TFij+Log(N/ni)計算得出,該TFij=tij/aj;其中Qij為標注項i在服務j中的權重值,TFij為標注項i在服務j中出現(xiàn)的頻率,N為Web服務集合中的服務數(shù)量,aj為服務j中輸出參數(shù)的標注項總數(shù),tjj為在服務j輸出參數(shù)的標注集中與標注項i相似度大于閾值的標注項的數(shù)目,ni為該輸出參數(shù)標注集中含有與標注項i相似度大于閾值的服務的個數(shù);
該步驟(6)中所述標注項與標注項的相似度計算步驟如下
(6a)檢查比較相似度的兩個標注項是否均與WordNet詞庫中的詞匯本體相對應;如果是,則通過步驟(6b)計算兩個標注項間的相似度;如果不是,則通過步驟(6c)計算兩個標注項間的相似度;
(6b)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算<formula>formula see original document page 10</formula>
其中,cl、 c2分別為進行比較的兩個標注項,p(c)為WordNet詞庫
中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù)為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù)
目為COunt; IC(C)為詞匯本體C包含的信息內容;
(6C)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
EditSimilarity = (maxLen-dis)/maxLen
其中,EditSimilarity為編輯距離相似度,是指兩個字符串之間較長的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比例;dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
一種Web服務構件庫的服務檢索方法,基于上述的Web服務構件庫動態(tài)構造方法所構建的結構庫實現(xiàn),其特征在于具體包括如下步驟
(1) 用戶提出Web服務檢索請求,并將所需Web服務的信息發(fā)送給Web服務構件庫;
(2) Web服務構件庫響應用戶提出的Web服務檢索請求,從所述請求檢索的Web服務信息中提取出輸出參數(shù)信息;
(3) 依據(jù)WordNet詞庫,對所述請求檢索的Web服務信息中的輸出參數(shù)進行分詞和本體標注,輸出參數(shù)經(jīng)過分詞和本體標注,產生一個集合,稱為輸出參數(shù)的標注集,標注集中的每個元素稱為輸出參數(shù)的標注項;
(4) 將所述經(jīng)過分詞和本體標注后的請求檢索Web服務的輸出參數(shù)視為一個向量代入特征項-文檔矩陣中;該向量中的具體權重值Qij,依據(jù)計算式Qij-TFij^og(N/ni)計算得出,該TFij=tij/aj;其中Qij為標注項i在服務j中的權重值,TFij為標注項i在服務j中出現(xiàn)的頻率,N為Web服務集合中的服務數(shù)量,aj為服務j中輸出參數(shù)的標注項總數(shù),k為在服務j輸出參數(shù)的標注集中與標注項i相似度大于閾值的標注項的數(shù)目,ni為該輸出參數(shù)標注集中含有與標注項i相似度大于閾值的服務的個數(shù);
(5) 將代入請求檢索Web服務輸出參數(shù)向量的特征項-文檔矩陣代入PLSA模型,經(jīng)過適當?shù)腅M算法迭代計算后得到P(q|z)、P(w|z)、P(z);該P(qlz)表示請求服務q屬于類別z的概率;P(wlz)表示標注項w屬于類
別Z的概率;P(Z)表示類別Z出現(xiàn)的概率;
I ,W ^Y《I z」P
(6) 根據(jù)計算公式尸^I^ =尸^)= S iY )/Y《Izv計算
p(z|q);該p(zlq)表示某一類型在該請求檢索的Web服務中所占的比重;根據(jù)該p(zlq)值最大的那個類對該請求檢索Web服務進行分類;
(7) 知道了 q的分類,就可以使用向量相似度計算方法在分類中計算q和其他文章的相似程度,并且依照相似程度輸出最后的結果;
該步驟(4)中所述標注項與標注項的相似度計算步驟如下(4a)檢查比較相似度的兩個標注項是否均與WordNet詞庫中的詞匯本體相對應;如果是,則通過步驟(4b)計算兩個標注項間的相似度;如果不是,則通過步驟(4c)計算兩個標注項間的相似度;
(4b)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
^SV附旭fbl,c2) = maxceSfcl c2) /Cfc)/ (^) = cowwf / sw柳其中,cl、 c2分別為進行比較的兩個標注項,p(c)為WordNet詞庫中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù)為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù)
目為COUIlt; IC(C)為詞匯本體C包含的信息內容;
(4C)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
EditSimilarity = (maxLen-dis)/maxLen
其中,EditSimilarity為編輯距離相似度,是指兩個字符串之間較長的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比例;dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
本發(fā)明的有益效果是由于本發(fā)明所設計的Web服務構件庫的構造方法及其檢索方法是根據(jù)詞匯語義相似度進行比較,這樣一詞多義、多詞同義、單詞單復數(shù)、誤拼等問題都在一定程度上得到了解決,因此使得該Web服務檢索方法的各項技術指標得到了改善。
圖1為Web服務構件庫動態(tài)構造方法第一實施例的流程圖2為特征項-文檔矩陣示例圖3為標注項與標注項之間語義相似度計算流程圖;圖4為PLSA迭代計算模型示意圖5為Web服務構件庫服務檢索方法第一實施例的流程圖;圖6為Web服務檢索技術指標對比圖。
具體實施例方式
下面結合附圖和實施例對本發(fā)明作進一步描述。
如前所述,現(xiàn)有的Web服務檢索技術大多是基于關鍵字匹配進行檢索。但是,這種基于關鍵字匹配的檢索方法的發(fā)現(xiàn)精度不高,無法處理一詞多義和多詞同義的情況。并且,Web服務本身的參數(shù)名和操作名一般都不是完整詞匯,要么是詞匯簡化,要么是詞匯組合。這就進一步增加了通過關鍵字一一對應的方法進行檢索的難度。
本發(fā)明為了解決上述問題,對Web服務檢索技術引入了語義匹配的概念。所謂語義匹配就是對Web服務描述文檔中所出現(xiàn)的詞匯不僅做簡單的語法層面的處理,還要分析該詞匯所表達的語義,進而針對檢索關鍵詞所表達的語義進行匹配檢索。這樣可以有效的解決一詞多義或者多詞同義的問題。
本發(fā)明所設計的Web服務構件庫動態(tài)構造方法主要是借助了既有的WordNet詞庫從而實現(xiàn)上述基于語義匹配檢索的。
WordNet詞庫是由普林斯頓大學的心理學家、語言學家和計算機工程師聯(lián)合設計的一種基于認知語言學的英語詞典。它不是如傳統(tǒng)詞典那樣,僅把單詞以字母順序進行簡單排列,而是按照語義和語義之間的關系來組織詞匯。其中包括名詞、動詞、形容詞和副詞四種詞匯,詞匯之間的關系有同義關系、反義關系、上位關系、下位關系、整體關系和部分關系。它作為語言學本體庫,同時又是一部語義詞典。例如,在WordNet的2.0版本中,共有115424個同義詞集合,其中名詞同義詞集合就有79685個,基本上涵蓋了常用的英語名詞詞匯。
本發(fā)明正是借助了 WordNet詞庫中既有的詞匯與詞匯間的語義聯(lián)系,建立了 Web服務描述文檔中所出現(xiàn)的詞匯與用戶檢索關鍵詞之間的語義聯(lián)系,進而最終實現(xiàn)前述基于語義匹配的檢索方法。
實施例一
下面具體介紹本發(fā)明所設計的Web服務構件庫動態(tài)構造的具體方法。圖1為Web服務構件庫動態(tài)構造方法第一實施例的流程圖。如圖所示,該構件庫動態(tài)構造方法具體包括如下步驟
(1) 通過網(wǎng)絡爬蟲從互聯(lián)網(wǎng)上含有Web服務的站點抓取網(wǎng)頁;
(2) 從網(wǎng)頁中解析出Web服務地址信息;
(3) 驗證Web服務地址信息,根據(jù)有效地址提取Web服務基本信息并存儲;
(4) 依據(jù)WordNet詞庫,對Web服務基本信息中的輸出參數(shù)進行分詞和本體標注,輸出參數(shù)經(jīng)過分詞和本體標注后,產生一個集合,稱為輸出參數(shù)的標注集,標注集中的每個元素稱為輸出參數(shù)的標注項;
所謂本體標注是通過WordNet詞庫中既有的詞匯之間的語義關系,把服務中的某些詞匯選擇語義相近的本體進行標識,表示這些詞匯和本體之間語義相近。
這里之所以只對Web服務基本信息中的輸出參數(shù)進行分詞和本體標注,是因為用戶查詢服務最關注的是輸出,只有當輸出滿足需求時,考慮其他信息,比如操作名,輸入?yún)?shù)等才有意義。而在輸出沒有滿足需求時,通過操作名或輸入?yún)?shù)等來做索引,會干擾査詢質量,降低準確率。
另外,根據(jù)Web服務的命名習慣,Web服務描述文檔中所使用的操作名或者參數(shù)往往不是一個正確的英文詞匯,而只是組合的標識符,所以在進行本體標注之前還需要對操作名和參數(shù)進行分詞處理。下面具體給出本實施例所采用的分詞及本體標注的規(guī)則
a) 單個英文單詞直接用其對應的本體標注;
b) 英文名詞復數(shù)比如days:變?yōu)閱螖?shù)形式,再進行本體標注;
c) 英文詞組,如Stock Quote:分成兩個單詞,對每個單詞都進行本體標注;
d) 詞組連寫,如StockQuote、 Stock_Quote、 URL2IP、 XMLtoURL:
用各種分隔符(如下劃線、短線等)、分割詞(數(shù)字、&、 to、 from、 and、for、 of、 by等)和大小寫將詞組分割成單詞,并去掉分隔符和分割詞,再對每個正確的英文單詞進行標注;
e) 簡寫詞,如SMS、 DNS、 URL、 XML等不作標注,直接使用原
詞;
f) 誤拼單詞,如Weether(Weather)等不作標注,直接使用原詞;
g) 動作前綴,如GetWeather、 AddWeather:用大小寫分隔成單詞,動詞直接使用原詞,名詞用本體標注;
h) 其它找不到對應本體的單詞保留原詞。
但應指出的是,這里所給出的分詞及本體標注的規(guī)則僅是為了適應Web服務描述文檔中的構詞方式所設計出的一種分詞及本體標注的規(guī)則,以便于后續(xù)與WordNet詞庫中的本體相對應。在實際使用中,依據(jù)軟件程序設計的不同,該分詞及本體標注規(guī)則可能有多種不同的變換方式。但無論該分詞及本體標注規(guī)則如何設計,只要是其為與WordNet詞庫中的本體相對應所設計,均應視為在本發(fā)明的保護范圍之內。
(5) 重復前述步驟(1)至步驟(4),直至形成一定規(guī)模經(jīng)過分詞和本體標注的Web服務集合;
由于本發(fā)明所設計的Web服務構件庫的構造方法需要一定數(shù)量的Web服務才能獲得比較可信的構件庫矩陣。因此,這里需要積攢到一定規(guī)模的Web服務才能進行后續(xù)的構件庫矩陣建立過程。但是,這里所需要的規(guī)模具體多大,根據(jù)實際需要并不一定。
(6) 將所述經(jīng)過分詞和本體標注后的Web服務集合組織形成一個特征項-文檔矩陣;如圖2所示,該特征項-文檔矩陣的行和列分別由Web 服務集合的所有Web服務和所有Web服務輸出參數(shù)的標注項組成;該 特征項-文檔矩陣中的具體權重值Qij,依據(jù)計算式Qij=TFij*Log(N/ni) 計算得出,該TFij=tij/aj;其中Qij為標注項i在服務j中的權重值,TFij 為標注項i在服務j中出現(xiàn)的頻率,N為Web服務集合中的服務數(shù)量, aj為服務j中輸出參數(shù)的標注項總數(shù),ty為在服務j輸出參數(shù)的標注集中 與標注項i相似度大于閾值(例如取值0.8)的標注項的數(shù)目,ni為該 輸出參數(shù)標注集中含有與標注項i相似度大于閾值(例如取值0.8)的 服務的個數(shù)。
這里所采用的權重值Qij的計算式Qij:TFi^Log(N/ni)是一種在向量 空間模型中較為常見的權值計算公式TF-IDF公式。該TF-IDF公式是一 種用于信息檢索的加權技術,常用以評估一個字詞對于一個文件集或一 個語料庫中的其中一份文件的重要程度。
但是,本發(fā)明針對前述基于語義匹配的設計意圖,對該公式進行了 修改。這主要體現(xiàn)在該tij為在服務j輸出參數(shù)的標注集中與標注項i相 似度大于閾值的標注項的數(shù)目,而不是傳統(tǒng)TF-IDF公式中標注項i在服 務j輸出參數(shù)標注集中的出現(xiàn)次數(shù);該ni為該輸出參數(shù)標注集中含有與 標注項i相似度大于閾值的服務的個數(shù),而不是傳統(tǒng)TF-IDF公式中輸出 參數(shù)標注集中含有標注項i的服務的個數(shù)。通過這樣的修改,使得對于 權重值Qij的計算不再只是簡單的使用字符串匹配,而是引入了標注項 與標注項之間的語義相似度計算,從詞匯語義的匹配進行統(tǒng)計。因此, 這樣計算出來的詞匯在服務中的權重值才更為可信。
可見,對于上述權重值Qij的計算而言,其中標注項與標注項之間 語義相似度的計算尤為重要。參見圖3,下面就具體給出該相似度的計 算步驟
(6a)檢查比較相似度的兩個標注項是否均能在WordNet詞庫中找 到相對應的本體;如果是,則通過步驟(6b)計算兩個標注項間的相似 度;如果不是,則通過步驟(6c)計算兩個標注項間的相似度;
(6b)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
Swifb l,c2) =-5-^~
/C 1」+ 2」,=-logpfb)
/7卩C」=COWW〃 SW附
其中,cl、 c2分別為進行比較的兩個標注項,p(e)為WordNet詞庫
中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某 個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù) 為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù) 目為count; IC(c)為詞匯本體c包含的信息內容,也稱為信息量。所謂 信息量是信息理論中的一個基本概念,是指從N個相等可能事件中選出 一個事件所需要的信息含量,也就是在辯識N個事件中特定的一個事件 的過程中所需要提問"是或否"的最少次數(shù)。事件出現(xiàn)得概率越小,信息 量愈大,反之則愈小。某事件Xi的信息量的計算公式為H(Xi)=-logP(Xi)。
(6C)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
EditSimilarity = (maxLen-dis)/maxLen
其中,EditSimiladty稱為編輯距離相似度,是指兩個字符串之間較 長的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比 例。dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
這里應該說明的是,編輯距離這個概念是在1965年由俄國Vladimir Levenshtein提出的一種字符串間的相似度計算方式。所謂字符串A到B 的編輯距離是指,只用插入、刪除和替換三種操作,最少需要多少步可 以把A變成B。例如,從FAME到GATE需要兩步(兩次替換),從GAME 到ACM則需要三步(刪除G和E再添加C)。要比較兩個不同拼寫的字 符串是否相似,只要判斷兩個字符串之間的編輯距離是否足夠小即可。
本發(fā)明引入這種相似度計算方法,主要是針對在Web服務描述文檔 中存在一些拼寫錯誤或其他無法與WordNet詞庫中詞匯本體相對應的情 況。通過編輯距離相似度的計算可以有效地完成對這些標注項相似度的 計算。
通過上述構造方法所構造的特征項-文檔矩陣即為Web服務的構件 庫。用戶可以通過該特征項-文檔矩陣對所要查找的Web服務進行檢索。
16從上述的構件庫構造方法的描述中我們不難看出,本發(fā)明所設計的Web 服務構件庫構造方法,首先是在構件庫構造工程中引入了 WordNet詞庫,
通過對Web服務描述文檔中的詞匯進行分詞和本體標注,使之與 WordNet詞庫中的詞匯本體相對應,從而繼承WordNet詞庫本身所具有 的詞匯之間的語義關系。然后是在特征項-文檔矩陣的構建過程中,對其 中權重值Qij的計算公式進行修改,在該計算公式中引入標注項間相似 度的計算,從而使得詞匯之間的語義聯(lián)系可通過定量化的計算得出,進
而修正所計算的權重值Qij,使其更具可信性。 實施例二
在前述第一實施例中,該構造方法最終所構建出的特征項-文檔矩陣 是一個基于所有所找到的Web服務的龐大矩陣。因此,直接應用這樣的 矩陣進行檢索的計算量非常大,為了提高檢索的效率我們有必要對該特 征項-文檔矩陣進行分類化簡。目前,對檢索矩陣進行分類化簡的方法有 很多,在本發(fā)明的第二實施例中我們具體采用了 PLSA模型(概率潛在 語義模型)對上述特征項-文檔矩陣進行分類化簡。
PLSA模型是一種把文檔和關鍵詞映射到一個潛在的語義空間,這 個空間由一些話題組成,每個話題關聯(lián)了一些關鍵詞。在為文檔建模的 過程中,PLSA模型為每個文檔d和關鍵詞w的同時出現(xiàn)關聯(lián)了一個話 題z。假設W, Z, D分別表示關鍵詞向量,話題向量和文檔向量,|W|, |Z|, IDI分別表示各個向量的范數(shù),那么PLSA模型的生成過程如圖4所 示。PLSA是通過Expectation Maximization算法(簡稱EM算法)來最大 化數(shù)據(jù)似然度從而求出模型的參數(shù)P(w|z), P(dlz)和P(d)的。其中,P(wjz)
表示關鍵詞W屬于主題Z的概率;P(dlz)表示文檔d屬于主題Z的概率;
p(d)表示文檔d出現(xiàn)的概率。
PLSA模型使用話題(Z二(zl,z2…zfL 1〈f〈k, k—Zi為向量Z的范數(shù), 即話題總數(shù))將關鍵詞和文檔間接的聯(lián)系起來,并且假設當話題指定時, 關鍵詞和文檔是條件獨立的,則如下公式成立
/^|《=^戶向《戶 |一
由此可以得出上式中,d表示文檔,w表示關鍵詞。PLSA使用概率及統(tǒng)計模型來 完成文檔分類。它使用EM算法來迭代計算概率分布,在每一個迭代中 E-步驟中的每一項都可以直接由上一次M-步驟中求得的數(shù)值來推算。接 下來使用EM來求出P(z)、 P(wlz)及P(dlz)。對數(shù)似然函數(shù)為-丄H"^,w"og尸W—,其中n(d,w)是文檔-關鍵詞矩陣N中的元素, N為前述特征項-文檔矩陣的轉秩矩陣。
E-步驟 M-步驟<formula>formula see original document page 18</formula>
經(jīng)過適當?shù)牡?,其概率會收斂到一定的值。最后我們可以算?br>
不同類別在每篇文檔中所占的比重
<formula>formula see original document page 18</formula>
本發(fā)明即是利用了 PLSA模型的上述迭代計算特性,將其應用到本 發(fā)明所建立的特征項-文檔矩陣中,對其中的各個Web服務進行分類。 其具體的代入PLSA模型對Web服務進行分類的步驟如下 (7a)對所建立的特征項-文檔矩陣指定分類的數(shù)量; (7b)將所述特征項-文檔矩陣代入PLSA模型,經(jīng)過適當?shù)腅M算 法迭代計算后得到P(d|z)、 P(w|z)、 P(z);該P(dlz)表示服務d屬于類別z
的概率;P(W1Z)表示標注項W在類別Z中出現(xiàn)的概率;P(Z)表示類別Z 出現(xiàn)的概率;(7c)根據(jù)計算公式尸W^ =
尸問
p(z|d);該p(zld)表示某一類型在某個Web服務中所占的比重;該p(z|d) 值最大的那個類即為該Web服務的分類。
通過上述將特征項-文檔矩陣代入PLSA模型的方法,本發(fā)明實現(xiàn)了 對各個Web服務進行分類,從而簡化了特征項-文檔矩陣結構,使其所 需的檢索計算量得以降低。
實施例三
為了進一步提高檢索效率和性能,在上述實施例二利用PLSA為服 務建立分類的基礎上,本實施例還對每個類中的Web服務以其輸出參數(shù) 標注項為key建立索引表,具體步驟如下
(8a)對每個類別的所有服務以輸出參數(shù)標注項為關鍵詞key建立 索引表;
(8b)該索引表中的內容為與對應關鍵詞key所述權重值Qij不為0 的Web服務。
由此建立的索引表在檢索過程中,可以根據(jù)所要檢索Web服務的輸 出參數(shù)為關鍵詞key,僅在與該關鍵詞key有相關聯(lián)性的Web服務中進 行比對,從而進一步提高了檢索效率。
不僅如此,由于檢索結果的排列順序也是評價一個檢索方法質量的 重要因素。因此,我們在這里還對該索引表設置了基于Qos屬性值的排 序步驟,具體步驟如下
(8c)根據(jù)索引表中各個Web服務的Qos屬性值大小對Web服務 進行排序。該Web服務的Qos屬性值依據(jù)先按照性能確定大小,性能相 同的按照可用性確定大小,性能和可用性均相同按照穩(wěn)定性確定大小, 前三者均相同按照成本確定大小的原則進行大小排序。
這里,我們僅舉出一種可行的Qos屬性值比較方法,但應指出的是 根據(jù)實際設計需要Qos屬性值的比較方法可以任意定義。無論實施者使 用何種具體的比較方法,均應視為在本專利的保護范圍之內。
實施例四
在前述第一實施例中已經(jīng)介紹,在本發(fā)明中之所以優(yōu)先選擇對Web 服務的輸出參數(shù)進行比對,是因為用戶査詢服務最關注的是輸出,只有 當輸出滿足需求時,考慮其他信息,比如操作名,輸入?yún)?shù)等才有意義。
19而在輸出沒有滿足需求時,通過操作名或輸入?yún)?shù)等來做索引,會干擾 査詢質量,降低準確率。
但是,在Web服務的輸出參數(shù)已經(jīng)滿足需求的前提下,對Web服 務的操作名或輸入?yún)?shù)進行比較就可以起到進一步篩選結果的目的,有 助于提高檢索結果的準確性。可見,對Web服務的操作名或輸入?yún)?shù)進 行如前面介紹的語義關系比較也是有意義的。
鑒于此,在本實施例中,在所述步驟(4)中在依據(jù)WordNet詞庫, 對Web服務基本信息中的輸出參數(shù)進行分詞和本體標注的同時,也對 Web服務基本信息中的操作名或輸入?yún)?shù)進行分詞和本體標注。
這樣對在后續(xù)檢索過程中,進行基于Web服務的操作名或輸入?yún)?shù) 的語義關系比較提供支持。
前面介紹了幾種本發(fā)明所設計的Web服務構件庫可行的構造方法 實施例。下面介紹對于這種基于語義關系比較構建的Web服務構件庫的 具體服務檢索方法。
本發(fā)明所設計的Web服務構件庫的服務檢索方法的基本原理是將 用戶所提出來的服務檢索請求視為一個新的服務,將其代入既已建立的 特征項-文檔矩陣,并依據(jù)前述PLSA模型的算法規(guī)則進行迭代計算,從 而確定該檢索請求服務的分類。這樣就可以方便的對該服務檢索請求進 行檢索。
實施例一
本實施例所設計的Web服務構件庫的服務檢索方法是基于前述Web 服務構件庫動態(tài)構造方法的第二實施例所構建的結構庫實現(xiàn)的。如圖5 所示,該服務檢索方法具體包括如下步驟
(1) 用戶提出Web服務檢索請求,并將所需Web服務的信息發(fā)送 給Web服務構件庫;
(2) Web服務構件庫響應用戶提出的Web服務檢索請求,從所述 請求檢索的Web服務信息中提取出輸出參數(shù)信息;
(3) 依據(jù)WordNet詞庫,對所述請求檢索的Web服務信息中的輸 出參數(shù)進行分詞和本體標注,輸出參數(shù)經(jīng)過分詞和本體標注后,產生一 個集合,稱為輸出參數(shù)的標注集,標注集中的每個元素稱為輸出參數(shù)的 標注項;這里,對請求檢索的Web服務信息中的輸出參數(shù)進行分詞和本體標 注的規(guī)則與前面在構件庫構造過程中對Web服務的輸出參數(shù)所做的分 詞和本體標注的規(guī)則一致。在此就不再重復敘述了。
(4)將所述經(jīng)過分詞和本體標注后的請求檢索Web服務的輸出參 數(shù)視為一個向量代入特征項-文檔矩陣中;該向量中的具體權重值Qij, 依據(jù)計算式Qij-TFifLog(N/ni)計算得出,該TFij=tij/aj;其中Qij為標 注項i在服務j中的權重值,TFij為標注項i在服務j中出現(xiàn)的頻率,N 為Web服務集合中的服務數(shù)量,aj為服務j中輸出參數(shù)的標注項總數(shù), tij為在服務j輸出參數(shù)的標注集中與標注項i相似度大于閾值(例如-取值0.8)的標注項的數(shù)目,ni為該輸出參數(shù)標注集中含有與標注項i 相似度大于閾值(例如取值0.S)的服務的個數(shù)。
其中,標注項與標注項之間語義相似度的計算方法與前面在構件庫 構造過程中的處理方法相同。具體包括如下步驟
(4a)檢査比較相似度的兩個標注項是否均與WordNet詞庫中的詞 匯本體相對應;如果是,則通過步驟(4b)計算兩個標注項間的相似度; 如果不是,則通過步驟(4c)計算兩個標注項間的相似度;
(4b)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
1」+ /Qb 2 J
/7卩C」=CO WW/ / SM附
其中,cl、 c2分別為進行比較的兩個標注項,p(c)為WordNet詞庫 中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某 個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù) 為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù) 目為count; IC(c)為詞匯本體c包含的信息內容,也稱為信息量。
(4c)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
EditSimilarity = (maxLen-dis)/maxLen
其中,EditSimilarity稱為編輯距離相似度,是指兩個字符串之間較
21長的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比
例。dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
(5) 將代入請求檢索Web服務輸出參數(shù)向量的特征項-文檔矩陣代 入PLSA模型,經(jīng)過適當?shù)腅M算法迭代計算后得到P(qjz)、P(wlz)、P(z); 該P(qlz)表示請求服務q屬于類別z的概率;P(wlz)表示標注項w屬于類
別Z的概率;P(Z)表示類別Z出現(xiàn)的概率;
P—尸&iz」/Yz」一 P&lz」尸"
(6) 根據(jù)計算公式尸^!^ = ~~^~一= Y P"MP厶"M計算
p(zlq);該p(zlq)表示某一類型在該請求檢索的Web服務中所占的比重; 該p(zlq)值最大的那個類即為該請求檢索的Web服務的分類。
這里應該說明的是,只要之前所建立特征項-文檔矩陣的數(shù)據(jù)規(guī)模足 夠大,那么可以認為將請求檢索Web服務輸出參數(shù)向量代入其中并不會 影響該矩陣自身的概率統(tǒng)計。因此,進行上述的處理的計算量并不大, 完全可以滿足實際應用的需要。
(7)知道了 q的分類,就可以使用向量相似度計算方法在分類中計 算q和其他文章的相似程度,并且依照相似程度輸出最后的結果。
所謂向量相似度計算方法是一種較為常見的檢索方法,它是指在信 息檢索中,根據(jù)文檔中關鍵詞及其詞頻等信息將文檔表示為向量,以兩 個向量的相似度度量文檔之間相似度的方法?;谙蛄康南嗨贫扔嬎惴?法是設計搜索引擎必不可少的技術。屬于向量相似度計算方法的檢索方 法有很多,主要包括向量夾角余弦方法,內積方法,Dice方法和Jaccard 方法等。這里,在知道了 q的分類和前述p(zlq)的值后,那么就可以將q 表示為一個向量(p(Zilq),p(Z2lq),…,p(Zklq",進而進行向量相似度計算方 法檢索。
通過上述的Web服務檢索方法即可完成對前面所構建的Web服務 構件庫的檢索工作。由于在整個檢索工程中,同樣引入了基于語義匹配 的信息處理方法,使得該檢索的結果可信度更高。
實施例二
本實施例所設計的Web服務構件庫的服務檢索方法是基于前述Web 服務構件庫動態(tài)構造方法的第三實施例所構建的結構庫實現(xiàn)的。由于前 述Web服務構件庫動態(tài)構造方法的第三實施例在第二實施例的基礎上 進一步為每個分類的Web服務集合以其輸出參數(shù)標注項為key建立索引表。因此,在本實施例中該Web服務構件庫的服務檢索方法在前述第一
實施例的基礎上,進一步包括了如下步驟
(8a)將檢索請求Web服務的輸出參數(shù)標注項與該檢索請求Web 服務所屬分類的索引表中的關鍵詞key進行相似度比較;
應當指出,這里所指的相似度比較也是采用如前面所述的基于語義 關系的相似度比較。由于,前面已經(jīng)詳細敘述了這種相似度比較方法, 在此就不再贅述。
(8b)將與檢索請求Web服務的輸出參數(shù)標注項相似度大于一定閥 值的索引表中關鍵詞key所對應的Web服務列表集合取出來,并求交集 得到檢索結果。
另外,在前面Web服務構件庫動態(tài)構造方法的第三實施例中,我們 提到了可以對所述索引表設置基于Qos屬性值的篩選。針對索引表的這 一設計,我們還可以在Web服務檢索過程中加入基于Qos屬性值的篩選 步驟,具體如下
(8c)根據(jù)用戶檢索請求對Web服務的Qos需求對所述檢索結果中 的各個Web服務進行過濾。 實施例三
如前所述,對于一種檢索方法而言,其檢索結果的排列順序也是評 價該檢索方法質量的重要因素。這里,我們還提供另外一種對輸出檢索 結果進行排序的方法。該方法可以基于前面所述的第一實施例或第二實 施例實現(xiàn),具體步驟如下-
(9a)通過向量夾角余弦距離計算公式cosc^a'b/la鬥bl計算每個Web 服務向量與檢索請求向量的夾角余弦距離,其中a, b是向量,lal和lbl 分別是向量a和b的模,a士是a和b的點積。
(9b)根據(jù)該夾角余弦距離的計算結果對輸出的Web服務檢索結果 進行排序。
實施例四
本實施例所設計的Web服務構件庫的服務檢索方法是基于前述Web 服務構件庫動態(tài)構造方法的第四實施例所構建的結構庫實現(xiàn)的。本實施
例在前述Web服務構件庫服務檢索方法的第一至第三實施例的基礎上 還對檢索請求Web服務的操作名或輸入?yún)?shù)進行相似度比較,以進一步 對輸出檢索結果進行優(yōu)化。具體如下在所述步驟(3)中在依據(jù)WordNet詞庫,對所述請求檢索的Web 服務信息中的輸出參數(shù)進行分詞和本體標注的同時,也對請求檢索的 Web服務信息中的操作名或輸入?yún)?shù)進行分詞和本體標注。
在前述所有步驟之后還包括下述步驟
(10) 將所述步驟(3)中標注的請求檢索的Web服務信息中的操 作名或輸入?yún)?shù),與所述檢索結果Web服務集合中各Web服務的操作 名或輸入?yún)?shù)進行相似度比較;
(11) 刪除檢索結果Web服務集合中,操作名或輸入?yún)?shù)與請求檢 索的Web服務信息中的操作名或輸入?yún)?shù)相似度低于一定閥值的Web服務。
其中,步驟(10)中標注項與標注項之間語義相似度的計算方法與 前面在構件庫構造過程中的處理方法相同。具體包括如下步驟
(10a)檢查比較相似度的兩個標注項是否均與WordNet詞庫中的 詞匯本體相對應;如果是,則通過步驟(10b)計算兩個標注項間的相似 度;如果不是,則通過步驟(10c)計算兩個標注項間的相似度;
(10b)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
S/版,cU2」=max, /Cfb) 戶fb」二 cowwf / sw附
其中,cl、 c2分別為進行比較的兩個標注項,p(c)為WordNet詞庫 中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某 個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù) 為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù) 目為count; IC(c)為詞匯本體c包含的信息內容,也稱為信息量。
(10c)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算
EditSimilarity = (maxLen-dis)/maxLen
其中,EditSimilarity稱為編輯距離相似度,是指兩個字符串之間較 長的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比
24例。dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
通過上述步驟可以對本發(fā)明所設計的Web服務檢索方法的檢索結 果進一步的優(yōu)化。
圖6為我們通過測試得到的本專利所設計的Web服務構件庫及其服 務檢索方法與現(xiàn)有技術Web服務檢索技術Woogk方法的性能比較圖表。 從圖中可以明顯看出,由于本專利所設計的方法挖掘出了服務文檔之間 隱含的語義關系,并采用了 PLSA模型將Web服務文檔映射到潛在語義 空間中,比起現(xiàn)有的Woogle檢索方法在準確率、召回率和R準確率三 項指標上均有不同程度提高。這主要是因為本發(fā)明所設計的Web服務檢 索方法是根據(jù)詞匯語義相似度進行比較,這樣一詞多義、多詞同義、單 詞單復數(shù)、誤拼等問題都在一定程度上得到了解決,各項技術指標得到 了改善。
綜上所述,本發(fā)明所設計的Web服務構件庫動態(tài)構造方法及其服務 檢索方法是通過對Web服務描述文檔進行語義標注,從而實現(xiàn)基于潛在 語義匹配檢索。該方法顯著的提高了 Web服務檢索的檢索性能。本領域 一本技術人員在該構造方法及檢索方法的設計思想之下,所做的任何不 具有創(chuàng)造性的改造,均應視為在本發(fā)明的保護范圍之內。
權利要求
1、一種Web服務構件庫動態(tài)構造方法,其特征在于具體包括如下步驟(1)通過網(wǎng)絡爬蟲從互聯(lián)網(wǎng)上含有Web服務的站點抓取網(wǎng)頁;(2)從網(wǎng)頁中解析出Web服務地址信息;(3)驗證Web服務地址信息,根據(jù)有效地址提取Web服務基本信息并存儲;(4)依據(jù)WordNet詞庫,對Web服務基本信息中的輸出參數(shù)進行分詞和本體標注,輸出參數(shù)經(jīng)過分詞和本體標注,產生一個集合,稱為輸出參數(shù)的標注集,標注集中的每個元素稱為輸出參數(shù)的標注項;(5)重復前述步驟(1)至步驟(4),直至形成一定規(guī)模經(jīng)過分詞和本體標注的Web服務集合;(6)將所述經(jīng)過分詞和本體標注后的Web服務集合組織形成一個特征項-文檔矩陣;該特征項-文檔矩陣的行和列分別由Web服務集合的所有Web服務和所有Web服務輸出參數(shù)的標注項組成;該特征項-文檔矩陣中的具體權重值Qij,依據(jù)計算式Qij=TFij*Log(N/ni)計算得出,該TFij=tij/aj;其中Qij為標注項i在服務j中的權重值,TFij為標注項i在服務j中出現(xiàn)的頻率,N為Web服務集合中的服務數(shù)量,aj為服務j中輸出參數(shù)的標注項總數(shù),tij為在服務j輸出參數(shù)的標注集中與標注項i相似度大于閾值的標注項的數(shù)目,ni為該輸出參數(shù)標注集中含有與標注項i相似度大于閾值的服務的個數(shù);該步驟(6)中所述標注項與標注項的相似度計算步驟如下(6a)檢查比較相似度的兩個標注項是否均與WordNet詞庫中的詞匯本體相對應;如果是,則通過步驟(6b)計算兩個標注項間的相似度;如果不是,則通過步驟(6c)計算兩個標注項間的相似度;(6b)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>Sim</mi><mrow> <mo>(</mo> <mi>c</mi> <mn>1</mn> <mo>,</mo> <mi>c</mi> <mn>2</mn> <mo>)</mo></mrow><mo>=</mo><mfrac> <mrow><mn>2</mn><msub> <mi>Sim</mi> <mi>res</mi></msub><mrow> <mo>(</mo> <mi>c</mi> <mn>1</mn> <mo>,</mo> <mi>c</mi> <mn>2</mn> <mo>)</mo></mrow> </mrow> <mrow><mi>IC</mi><mrow> <mo>(</mo> <mi>c</mi> <mn>1</mn> <mo>)</mo></mrow><mo>+</mo><mi>IC</mi><mrow> <mo>(</mo> <mi>c</mi> <mn>2</mn> <mo>)</mo></mrow> </mrow></mfrac> </mrow>]]></math></maths>Simres(c1,c2)=maxc∈S(c1,c2)IC(c)IC(c)=-log p(c)p(c)=count/sum其中,c1、c2分別為進行比較的兩個標注項,p(c)為WordNet詞庫中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù)為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù)目為count;IC(c)為詞匯本體c包含的信息內容;(6c)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算EditSimilarity=(maxLen-dis)/maxLen其中,EditSimilarity為編輯距離相似度,是指兩個字符串之間較長的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比例;dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
2、 如權利要求1所述的Web服務構件庫動態(tài)構造方法,其特征在于還包括如下步驟(7a)對所建立的特征項-文檔矩陣指定分類的數(shù)量;(7b)將所述特征項-文檔矩陣代入PLSA模型,經(jīng)過適當?shù)腅M算法迭代計算后得到P(d|z)、 P(W|Z)、 P(Z);該P(dlz)表示服務d屬于類別Z的概率;P(wlz)表示標注項w在類別z中出現(xiàn)的概率;P(z)表示類別z 出現(xiàn)的概率;Oc)根據(jù)計算公式^zl《=_^_ = ^^^計算p(Z|d);該p(zld)表示某一類型在某個Web服務中所占的比重;根據(jù)該p(zld)值最大的那個類對各個Web服務進行分類。
3、 如權利要求2所述的Web服務構件庫動態(tài)構造方法,其特征在 于還包括如下步驟(8a)對每個類別的所有服務以輸出參數(shù)標注項為關鍵詞key建立 索引表;(8b)該索引表中的內容為與對應關鍵詞key所述權重值Qij不為0 的Web服務。
4、 如權利要求3所述的Web服務構件庫動態(tài)構造方法,其特征在于還包括如下步驟(8c)根據(jù)索引表中各個Web服務的Qos屬性值大小對Web服務進行排序。
5、 如權利要求1至4中任一所述的Web服務構件庫動態(tài)構造方法, 其特征在于-在所述步驟(4)中在依據(jù)WordNet詞庫,對Web服務基本信息中 的輸出參數(shù)進行分詞和本體標注的同時,也對Web服務基本信息中的操 作名或輸入?yún)?shù)進行分詞和本體標注。
6、 一種Web服務構件庫的服務檢索方法,基于權利要求2所述的 Web服務構件庫動態(tài)構造方法所構建的結構庫實現(xiàn),其特征在于具體 包括如下步驟-(1) 用戶提出Web服務檢索請求,并將所需Web服務的信息發(fā)送 給Web服務構件庫;(2) Web服務構件庫響應用戶提出的Web服務檢索請求,從所述 請求檢索的Web服務信息中提取出輸出參數(shù)信息;(3) 依據(jù)WordNet詞庫,對所述請求檢索的Web服務信息中的輸 出參數(shù)進行分詞和本體標注,輸出參數(shù)經(jīng)過分詞和本體標注,產生一個 集合,稱為輸出參數(shù)的標注集,標注集中的每個元素稱為輸出參數(shù)的標 注項;(4) 將所述經(jīng)過分詞和本體標注后的請求檢索Web服務的輸出參 數(shù)視為一個向量代入特征項-文檔矩陣中;該向量中的具體權重值Qij, 依據(jù)計算式Qij-TFij^og(N/ni)計算得出,該TFij-tjj/aj;其中Qij為標 注項i在服務j中的權重值,TFij為標注項i在服務j中出現(xiàn)的頻率,N 為Web服務集合中的服務數(shù)量,aj為服務j中輸出參數(shù)的標注項總數(shù), tij為在服務j輸出參數(shù)的標注集中與標注項i相似度大于閾值的標注項 的數(shù)目,ni為該輸出參數(shù)標注集中含有與標注項i相似度大于閾值的服 務的個數(shù);(5) 將代入請求檢索Web服務輸出參數(shù)向量的特征項-文檔矩陣代 入PLSA模型,經(jīng)過適當?shù)腅M算法迭代計算后得到P(q|Z)、P(W|z)、P(Z); 該P(qlz)表示請求服務q屬于類別Z的概率;P(wlz)表示標注項w屬于類 別z的概率;P(z)表示類別Z出現(xiàn)的概率;(6) 根據(jù)計算公式<formula>formula see original document page 5</formula>計算p(zlq);該p(zlq)表示某一類型在該請求檢索的Web服務中所占的比重; 根據(jù)該p(zlq)值最大的那個類對該請求檢索Web服務進行分類;(7) 知道了 q的分類,就可以使用向量相似度計算方法在分類中計 算q和其他文章的相似程度,并且依照相似程度輸出最后的結果;該步驟(4)中所述標注項與標注項的相似度計算步驟如下 (4a)檢査比較相似度的兩個標注項是否均與WordNet詞庫中的詞 匯本體相對應;如果是,則通過步驟(4b)計算兩個標注項間的相似度; 如果不是,則通過步驟(4c)計算兩個標注項間的相似度;(4b)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算<formula>formula see original document page 5</formula>其中,cl、 c2分別為進行比較的兩個標注項,p(c)為WordNet詞庫 中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某 個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù) 為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù)目為COUnt; IC(C)為詞匯本體C包含的信息內容;(4c)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算 EditSimilarity = (maxLen-dis)/maxLen其中,EditSimilarity為編輯距離相似度,是指兩個字符串之間較長 的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比例;dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
7、如權利要求6所述的Web服務構件庫的服務檢索方法,基于權 利要求3所述的Web服務構件庫動態(tài)構造方法所構建的結構庫實現(xiàn),其 特征在于還包括了如下步驟(8a)將檢索請求Web服務的輸出參數(shù)標注項與該檢索請求Web 服務所屬分類的索引表中的關鍵詞key進行相似度比較;(8b)將與檢索請求Web服務的輸出參數(shù)標注項相似度大于一定阓 值的索引表中關鍵詞key所對應的Web服務列表集合取出來,并求交集 得到檢索結果。
8、 如權利要求7所述的Web服務構件庫的服務檢索方法,基于權 利要求4所述的Web服務構件庫動態(tài)構造方法所構建的結構庫實現(xiàn),其 特征在于還包括如下步驟(8c)根據(jù)用戶檢索請求對Web服務的Qos需求對所述檢索結果中 的各個Web服務進行過濾。
9、 如權利要求6、 7或8所述的Web服務構件庫的服務檢索方法,其特征在于還包括如下步驟(9a)通過向量夾角余弦距離計算公式cosa-a七/laHbl計算每個Web 服務向量與檢索請求向量的夾角余弦距離,其中a, b是向量,lal和lbl 分別是向量a和b的模,a-b是a和b的點積;(9b)根據(jù)該夾角余弦距離的計算結果對輸出的Web服務檢索結果 進行排序。
10、 如權利要求6、 7或8所述的Web服務構件庫的服務檢索方法, 基于權利要求5所述的Web服務構件庫動態(tài)構造方法所構建的結構庫實 現(xiàn),其特征在于在所述步驟(3)中在依據(jù)WordNet詞庫,對所述請求檢索的Web 服務信息中的輸出參數(shù)進行分詞和本體標注的同時,也對請求檢索的 Web服務信息中的操作名或輸入?yún)?shù)進行分詞和本體標注;在前述所有步驟之后還包括下述步驟(10) 將所述步驟(3)中標注的請求檢索的Web服務信息中的操 作名或輸入?yún)?shù),與所述檢索結果Web服務集合中各Web服務的操作 名或輸入?yún)?shù)進行相似度比較;(11) 刪除檢索結果Web服務集合中,操作名或輸入?yún)?shù)與請求檢 索的Web服務信息中的操作名或輸入?yún)?shù)相似度低于一定閥值的Web 服務;該步驟(11)中所述標注項與標注項的相似度計算步驟如下(11a)檢查比較相似度的兩個標注項是否均與WordNet詞庫中的詞匯本體相對應;如果是,則通過步驟(lib)計算兩個標注項間的相似度;如果不是,則通過步驟(llc)計算兩個標注項間的相似度;(lib)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算<formula>formula see original document page 7</formula>其中,cl、 c2分別為進行比較的兩個標注項,p(c)為WordNet詞庫 中的詞匯本體c在某個特定領域詞匯本體實例集合C中的出現(xiàn)概率,某 個特定領域詞匯本體實例集合C在WordNet詞庫中的詞匯本體實例總數(shù) 為sum,某個特定領域詞匯本體實例集合C中詞匯本體c的本體實例數(shù)目為COUnt; IC(C)為詞匯本體C包含的信息內容;(llc)所述兩個標注項之間的相似度依據(jù)下述計算公式進行計算 EditSimilarity = (maxLen-dis)/maxLen其中,EditSimiladty為編輯距離相似度,是指兩個字符串之間較長 的字符串的長度與兩個字符串編輯距離之差占較長的字符串長度的比例;dis為編輯距離,maxLen為兩個字符串中較長的字符串的長度。
全文摘要
本發(fā)明提供一種通過對Web服務描述文檔進行語義標注,從而實現(xiàn)基于潛在語義匹配檢索的Web服務構件庫動態(tài)構造方法。同時,還包括根據(jù)該構造方法所設計的服務檢索方法。由于本發(fā)明所設計的Web服務構件庫的構造方法及其檢索方法是根據(jù)詞匯語義相似度進行比較,這樣一詞多義、多詞同義、單詞單復數(shù)、誤拼等問題都在一定程度上得到了解決,因此使得該Web服務檢索方法的各項技術指標得到了改善。
文檔編號G06F17/30GK101650729SQ20091009276
公開日2010年2月17日 申請日期2009年9月23日 優(yōu)先權日2009年9月23日
發(fā)明者周伯生, 孫奎英, 邢少敏 申請人:北京賽柏科技有限責任公司