王宇琛
(四川大學計算機學院,成都 610065)
基于標簽的Web服務聚類
王宇琛
(四川大學計算機學院,成都 610065)
Web服務數量的不斷增加使得服務發現逐漸成為研究熱點,同時,也為Web服務發現帶來了巨大的挑戰。傳統的Web服務發現或是通過對UDDI上的服務注冊信息進行關鍵詞匹配,或是基于WSDL文檔的Web服務聚類來實現的,然而這兩種服務發現方法都不能滿足用戶的需求。目前,由于標簽能夠體現信息及信息之間的關聯性而在Web服務上得以廣泛的利用,基于現有的聚類技術,提出基于標簽的Web服務聚類方法。對于標簽數較少的服務,通過推薦算法為其推薦標簽并與WSDL文檔中的特征相合進行聚類。在實驗中,該算法與現有Web聚類算法進行比較并得到更好的結果,證明該算法的有效性。
Web服務;標簽;Web服務聚類
Web服務發現是Web服務系統架構中的重要部分[1~2]。目前Web服務聚類的研究與應用越來越廣泛。最為流行的Web服務聚類方法是使用WSDL文檔中的特征以及UDDI中的服務ID或名稱,或是服務的有限屬性值等[3],按照指定的聚類方法對Web服務進行聚類,得到的結果中除了關鍵詞匹配的結果外,還包括與目標Web服務功能相似的其他Web服務,極大地提高了Web服務發現的能力[4]。
然而,目前在Web服務發現中,查準率和查全率并不高,主要可以歸因于:(1)UDDI上注冊的部分Web服務已失效;(2)不同的Web服務,WSDL文檔的組織結構不同,相同信息的表述方式也存在差異;(3)用戶對所需查詢的目標不能準確描述。
傳統的Web服務聚類研究注重利用WSDL文檔及UDDI上的注冊信息,而忽視了Tag的作用。Tag是對Web服務內容的概括性說明,與Web服務內容的相關性較強,可用于描述Web服務的功能。同時,Tag具有較強的主觀性,用戶可以基于自身評價為服務添加Tag,因此Tag與用戶也有較好的交互性。
本文利用相關的算法,在Web服務已有的Tag基礎上進行Tag推薦,結合WSDL文檔中的4個特征向量,在Web服務聚類實驗中,本文算法得到了更為準確的聚類結果。
1.1 算法設計
輸入Web服務數據后,首先對Web服務數據進行處理,主要是從中提取Tag以及WSDL文檔,分析并存儲WSDL文檔中的Type、Message、Port、Name四個特征向量。同時,判斷提取到的Tag數量是否適當,當Tag數量較少時,為Web服務推薦Tag。最終將推薦后的Tag集與WSDL文檔向量相結合,運用本文提出的聚類算法對Web服務進行聚類,輸出聚類結果。
圖1給出了算法的流程圖。
Web服務聚類算法框架如下:
輸入部分:Web服務輸入
處理部分:Tag提取:從Web服務中提取Tag
WSDL特征提取:從Web服務中提取WSDL文檔,提取WSDL文檔中的Type、Message、Port、Name四個特征向量
Tag推薦:用sum算法對Tag數量較少的服務進行Tag推薦
輸出部分:將最終Tag集與WSDL文檔中提取的4個特征向量相結合,運用Tag+WSDL聚類算法對Web服務進行聚類。

圖1 Web服務聚類的設計方案
1.2 Tag相似度計算
算法的核心步驟為兩個Tag的相似度計算,兩個Tag之間的相似程度稱為Tag相似度,相似度計算公式如下:

其中,Sab指兩個Tag之間的相似度,Tn指Tagn,Wn指所有存在Tn的WSDL文檔的集合。
Sab的取值范圍為[0,1],當Sab越趨向于1時,這兩個服務越相似,當Sab越趨向于0時,這兩個服務越不相似,當兩個Tag完全不相同時,Sab=0,當兩個Tag完全相同時,Sab=1。
1.3 Tag與WSDL組成的特征向量聚類
本小節提出了結合Tag與WSDL特征進行聚類的方法。算法如下:
①從n個數據中任意選擇k個作為初始聚類中心。
②計算余下的n-k個數據與k個聚類中心的相似度:

其中S1、S2、S3、S4為WSDL文檔中的Type、Message、Port、Name特征向量的值,Stag為Tag的相似度值。
③將這n-k個數據按照與k個聚類中心的相似度高低進行分配。
④分配完畢,重新計算每個聚類中每個點到其他點的相似度之和,取值最小的點作為新的中心點。
⑤重復②~④步驟,直到選出的中心點不再改變。經過以上幾個步驟,最終得到全部n個服務的k個聚類。
1.4 Tag推薦算法
由于部分Web服務只有1~2個Tag,對這部分Web服務需要進行預處理,為Web服務進行Tag推薦。在本文中,我們主要采用sum方法進行Tag推薦,算法如下:
①對服務A中的每一個Tn,計算出Tn與訓練集中除Tn外的每一個Tm的相似度Smn。
②為每一個Tn選擇相似度最高的前五個Tag,并將其推薦給服務A,組成n個Tag推薦集。
③當Tm在n個Tag推薦集中出現k(k>1)次時,將這k次的相似度相加,即去重時疊加相似度,最終Smn= Smn1+Smn2+…+Smnk。
④選擇最終Smn最高的五個Tag作為服務A的目標Tag。
經過以上幾個步驟,最終得到所需Tag,并將此Tag集推薦給Web服務。
2.1 實驗設計
實驗共分為4個部分:單純的Tag聚類實驗、單純的WSDL聚類實驗、單純的Tag與WSDL組成的特征向量聚類實驗以及處理后的Tag與WSDL組成的特征向量聚類實驗。實驗中用到近兩萬個Web服務信息,并從中提取出380個有Tag描述的Web服務信息,主要為以下四類:movie、ce1ebrity、astronomy、tourism。在Tag推薦過程中則用到2000個帶Tag的Web服務描述信息,其中1900個數據作為測試集,剩下的100個數據為目標集。
2.2 聚類算法性能評價指標
我們采用精度(precision)和召回(reca11)來評估聚類方法的性能。其中精度是對正確度的測量,召回則是對完整性的測量。
ci指聚類i,Pci為聚類i的精度,succ(ci)和misp1(ci)分別是完全成功地和錯誤地聚類到ci中的服務數,1ength(ci)是聚類i的數量,精度計算方法如下:

Rci為聚類i的召回,missed(ci)則是本該聚類到ci卻被放置到其他聚類中的服務數,召回計算方法如下:

2.3 實驗結果及分析

表1 各聚類的Precision結果

表2 各聚類的Recall結果
從實驗結果中可以看出,單純的Tag聚類得到了較好的結果。然而,由于movie和ce1ebrity這兩類的Tag可能會存在一定的交集,導致包含交集Tag的服務聚類出現誤差,因此這兩類的Precision和Reca11相對較低;而astronomy和tourism這兩個類的Tag基本上沒有任何交集,很容易就能被聚成兩個類,因此其Precision和Reca11都是100%。
單純WSDL聚類的精度和召回較低,通過對WSDL文檔進行分析可以發現,相似服務之間的文檔描述方式上可能存在較大的差別,因此聚類會有一定的誤差。
Tag+WSDL的聚類效果明顯好于單純的WSDL或Tag的聚類。單純的Tag聚類會將具有相同Tag的Web服務聚集在一起,而這些Tag可能適用于不同功能的Web服務,通過WSDL的特征向量可以修正Tag聚類中出現的部分偏差,因此Tag+WSDL的聚類效果較好。
當Tag數量較少時,聚類會出現錯誤,因此單純的Tag聚類的效果較差。然而使用本文提出的方法對Tag進行推薦后,再用WSDL特征向量進行修正,極大地提升了聚類效果,聚類正確性明顯增加,整體效果要好于單純的Tag+WSDL聚類。
2.4 實驗結論
對實驗結果進行分析可以發現,Tag和WSDL組成的特征向量聚類效果要明顯好于單純的Tag和單純的WSDL聚類,而在四種聚類中,對Tag進行推薦后再與WSDL組成特征向量聚類效果是最好的。
因此,基于Tag的Web服務聚類是一種能夠有效地對Web服務進行聚類的方法。
Web服務發現是Web服務研究中一項重要的研究,目前較多使用單純的WSDL文檔聚類和基于UDDI上的注冊信息的關鍵詞匹配兩種方式,這兩種方式都存在一定的缺陷,使得聚類結果不能較好地滿足用戶的需求。本文從Web服務的Tag出發,提出了Tag與WSDL特征向量組合起來加以聚類的方法,同時為Tag較少的Web服務進行Tag推薦,極大地提高了聚類結果的準確性。經過以上改進,使得Web聚類的準確性得到顯著提高。在本文中計算Web相似度時,用到的是WSDL文檔的四個特征向量的平均值,WSDL的相似度與Tag相似度也是各取0.5。在下一步的工作中我們應當通過訓練集的方法得到各特征以及WSDL相似度、Tag相似度對應的權值來取代目前的平均值,以得到更為精確的聚類結果。
參考文獻:
[1] 岳昆,王曉玲,周傲英.Web服務核心支撐技術:研究綜述.軟件學報,2004,15(3):428~442
[2] Pao1ucci M.,Kawamura T.,Payne T.R.,Sycara K..Semantic Matching of Web Services Capabi1ities.In:Proceedings of the 1st Internationa1 Semantic Web Conference(ISWC),Sar-dinia,Ita1ia,2002:34~43
[3] Wei Liu,Wi1son Wong.Web Service C1ustering Using Text Mining Techniques.Internationa1 Journa1 of Agent-Oriented Software Engineering,2009,3(1):6~26
[4] Kha1id E1gazzar,Ahmed E.Hassan,Patrick Martin.C1ustering WSDL Documents to Bootstrap the Discovery of Web Services to Appear in the 8th Internationa1 Conference on Web Services(ICWS'10),Miami,F1orida,USA,Ju1y 2010.
[5] Richi Nayak.Data Mining in Web Services Discovery and Monitoring.Internationa1 Journa1 of Web Services Research,2008,5(1):63~81
[6] 寧玉輝,楊棟,杜玉越.基于服務簇的Web服務綁定方法[J].山東科技大學學報(自然科學版),2014(04)
[7] 李敏,唐春玲.基于語義的Web服務發展現狀[J].科技信息,2014(09)
[8] 魏登萍,王挺,王戟.融合描述文檔結構和參引特征的Web服務發現[J].軟件學報,2011,22((9):2006~2019
Web Services Cluster Based on Tags
WANG Yu-chen
(Co11ege of Computer Science,Sichuan University,Chengdu610065)
With the increasing number of Web service,Web service discovery becomes a hotspot.Current infrastructures of Web services discovery, such as keywords-based matching with UDDI registration information and WSDL-based Web service c1uster becomes inefficient.Now tags are wide1y app1ied in Web service.Proposes Web services c1uster based on tags combing with WSDL document information.For those Web services which have fewer tags,we recommend tags by tag recommend a1gorithm.In the experiment,we compare this method with other Web services c1uster a1gorithms and demonstrate the effectiveness of this method.
Web Service;Tag;Web Service C1uster
1007-1423(2015)05-0020-04
10.3969/j.issn.1007-1423.2015.05.004
王宇琛(1992-),女,湖北黃岡人,碩士,研究方向為信息檢索
2014-12-25
2015-01-25