專利名稱:基于關(guān)系挖掘的服務(wù)組織方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及數(shù)據(jù)挖掘技術(shù)領(lǐng)域,尤其涉及一種基于關(guān)系挖掘的服務(wù)組織方
法及裝置。
背景技術(shù):
隨著計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用的不斷發(fā)展,信息系統(tǒng)的交互模式已由網(wǎng)絡(luò)層系統(tǒng)互聯(lián)向 應(yīng)用層服務(wù)集成遷移,網(wǎng)絡(luò)(Web)技術(shù)的進(jìn)一步發(fā)展和軟件工程技術(shù)的進(jìn)化相結(jié)合產(chǎn)生 了面向服務(wù)的體系結(jié)構(gòu)(Service OrientedArchitectures, S0A);隨著SOA應(yīng)用的普及, Web服務(wù)數(shù)目與日倶增,如何從大量已有服務(wù)中高效地定位所需的目標(biāo)服務(wù)是Web服務(wù)急 需解決的一個(gè)重要問題。目前Web基于關(guān)系挖掘的服務(wù)組織方法主要分為兩類第一類 是語法級匹配,采用基于服務(wù)名稱的字符串匹配,典型的系統(tǒng)有統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議 (Universal Description, Discovery and Integration, UDDI)系統(tǒng),i吾t(yī)去級月艮務(wù)發(fā)I見實(shí) 現(xiàn)相對簡單,但查準(zhǔn)率較低;第二類是語義級匹配,服務(wù)描述采用本體論的方法,增強(qiáng)了對 Web服務(wù)的功能、行為的語義描述,在匹配算法上,依賴于邏輯演繹和推理,雖然查準(zhǔn)率高, 但匹配效率低、實(shí)用性差。由此可見,現(xiàn)有的基于關(guān)系挖掘的服務(wù)組織方法在實(shí)現(xiàn)難度、查 詢效率或者查詢準(zhǔn)確率等方面還有較大局限性。 隨著計(jì)算機(jī)的廣泛應(yīng)用,數(shù)據(jù)大量增加,運(yùn)用數(shù)據(jù)挖掘技術(shù)可以從這些數(shù)據(jù)中提 取出對決策有潛在價(jià)值的知識;把傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)引入服務(wù)發(fā)現(xiàn)領(lǐng)域可以為服務(wù)發(fā)現(xiàn) 帶來新的突破,目前,將數(shù)據(jù)挖掘技術(shù)引入服務(wù)發(fā)現(xiàn)領(lǐng)域的技術(shù)有UDDI技術(shù),該技術(shù)定義 了 Web服務(wù)的發(fā)布與發(fā)現(xiàn)的方法,所謂"Web服務(wù)",是指由企業(yè)發(fā)布的完成其特別商務(wù)需求 的在線應(yīng)用服務(wù),其它公司或應(yīng)用軟件能夠通過因特網(wǎng)(Internet)來訪問并使用該項(xiàng)在 線服務(wù),Web服務(wù)將逐漸成為電子商務(wù)應(yīng)用構(gòu)建的基礎(chǔ)體系架構(gòu),但是,當(dāng)需要找出哪些企 業(yè)可以提供某種服務(wù)時(shí),快速地發(fā)現(xiàn)并找到答案仍然十會困難;其中一個(gè)可選的方法是使 用電話和每個(gè)合作伙伴進(jìn)行聯(lián)系找出合適的對象,另一個(gè)解決該問題的辦法是在公司的每 個(gè)網(wǎng)站上放置一個(gè)Web服務(wù)的描述文件,這樣,那些依靠已經(jīng)注冊的統(tǒng)一資源定位符(URL) 來工作的網(wǎng)絡(luò)爬蟲程序能夠發(fā)現(xiàn)并為它們建立索引??墒沁@種定位Web服務(wù)的方法完全依 賴爬蟲程序的能力,且缺少一種機(jī)制來保證服務(wù)描述格式的一致性,無法便捷地跟蹤不斷 發(fā)生的變化。UDDI提供了一種基于分布式的注冊中心的方法,該注冊中心維護(hù)了一個(gè)企業(yè) 和企業(yè)提供的Web服務(wù)的全球目錄,而且其中的信息描述格式是基于通用的可擴(kuò)展標(biāo)記語 言(XML)格式的。UDDI計(jì)劃的核心組件是UDDI商業(yè)注冊,它使用一個(gè)XML文檔來描述企 業(yè)及其提供的Web服務(wù),UDDI商業(yè)注冊所提供的信息包含三個(gè)部分"白頁(White Page)" 包括了地址、聯(lián)系方法和已知的企業(yè)標(biāo)識;"黃頁(Yellow page)"包括了基于標(biāo)準(zhǔn)分類法的 行業(yè)類別;"綠頁(Green Page)"則包括了關(guān)于該企業(yè)所提供的Web服務(wù)的技術(shù)信息,其形 式可能是一些指向文件或是URL的指針,而這些文件或URL是為服務(wù)發(fā)現(xiàn)機(jī)制服務(wù)的,所有 的UDDI商業(yè)注冊信息存儲在UDDI商業(yè)注冊中心中。 另外,語義級服務(wù)定位技術(shù)是將語義融合到Web服務(wù)技術(shù)中去,對于該技術(shù)最重
4要的是要有一個(gè)強(qiáng)有力的描述Web服務(wù)的語言,德帕代理標(biāo)記語言(DAML)組織制定的德帕 代理t示記i吾言月艮務(wù)(Darpa Agent Markup Languagefor Service,DAML—S)是一個(gè)在未來i吾 義Web中使用Web服務(wù)的標(biāo)準(zhǔn)。DAML-S作為一個(gè)本體模型,它用基于DAML和本體推理層 (OIL)的構(gòu)造去定義Web服務(wù);同時(shí)作為一種語言,DAMLS-S支持更強(qiáng)大的Web服務(wù)描述。 此外,DAML-S還集成了過程模型(process model),不僅可以控制Web服務(wù)的控制流和數(shù)據(jù) 流,而且可以控制Web服務(wù)的初始條件和處理結(jié)果。將DAML-S加入到Web服務(wù)之后,可以 把Web服務(wù)的協(xié)議層次進(jìn)行改造,DAML-S應(yīng)用由過程模型、服務(wù)描述(service profile)、 服務(wù)基礎(chǔ)(service grounding)三個(gè)部分組成,其中,Service Prof ile說明了指定的Web 服務(wù)能做什么的問題,Servic印rof ile可以替代UDDI中描述的部分來完成對Web服務(wù)的表 達(dá),DAML-S支持的一些特性,比如對Web服務(wù)性能的表達(dá)等等,都不是UDDI所能達(dá)到的。另 外,還有一個(gè)不同點(diǎn)就是UDDI"綠頁"中的綁定描述(如服務(wù)端口號)等信息,在DAML-S結(jié) 構(gòu)中是由grounding來完成的。process model記錄Web服務(wù)的初始條件、處理結(jié)果、控制 流和工作流,即process model就是說明指定的Web服務(wù)是如何工作的它的任務(wù)是什么; 它按哪些步驟來完成;各個(gè)步驟的預(yù)期子結(jié)果是什么;需要哪些輸入,什么時(shí)候需要;會報(bào) 告哪些輸出,什么時(shí)候報(bào)告等等。DAML-S process model可以說是process-mode和工作流 (workflow)語言的一個(gè)超集,集建模語言、人工智能語言和類及其關(guān)系描述語言于一身,再 加上良好的語義規(guī)范,使它能夠更好地表述Web服務(wù)的工作性能。同時(shí),DAML-S同樣支持 用WSDL來規(guī)范和說明Web服務(wù)接口 ,用報(bào)文(SOAP)來傳遞消息。 但發(fā)明人在實(shí)施上述技術(shù)方案的過程中發(fā)現(xiàn)現(xiàn)有技術(shù)存在一些缺陷,例如,基于 服務(wù)名稱的字符串匹配,查找準(zhǔn)確度較低,逐個(gè)遍歷服務(wù),效率很低;目前大多數(shù)已經(jīng)存在 的服務(wù)沒有語義描述信息,如何把這些已存在的服務(wù)加上語義信息工作量龐大,同時(shí),Web 服務(wù)語義描述語言過于復(fù)雜,技術(shù)實(shí)現(xiàn)難度大,且缺乏靈活有效的服務(wù)匹配算法,不利于其 實(shí)際應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于關(guān)系挖掘的服務(wù)組織方法及裝置,以提高服務(wù)定位效率。 本發(fā)明實(shí)施例提供了一種基于關(guān)系挖掘的服務(wù)組織方法,該方法包括
對服務(wù)的描述信息進(jìn)行預(yù)處理,并生成信息三元組;
根據(jù)所述信息三元組計(jì)算所述服務(wù)的相似度; 根據(jù)所述相似度對服務(wù)進(jìn)行聚類,生成類別樹,根據(jù)所述類別樹完成服務(wù)定位。 上述基于關(guān)系挖掘的服務(wù)組織方法,利用服務(wù)相似度挖掘方法及根據(jù)上述服務(wù)相
似度對服務(wù)進(jìn)行聚類,有效地縮小了服務(wù)的搜索范圍,提高了服務(wù)定位的效率。
本發(fā)明實(shí)施例提供了一種基于關(guān)系挖掘的服務(wù)組織裝置,該裝置包括 生成單元,用于對服務(wù)的描述信息進(jìn)行預(yù)處理,并生成信息三元組; 計(jì)算單元,用于根據(jù)所述信息三元組計(jì)算所述服務(wù)的相似度; 聚類單元,用于根據(jù)所述相似度對服務(wù)進(jìn)行聚類,生成類別樹,根據(jù)所述類別樹完 成服務(wù)定位。 上述基于關(guān)系挖掘的服務(wù)組織裝置,利用生成單元生成信息三元組,利用計(jì)算單元計(jì)算服務(wù)的相似度,并利用聚類單元對上述服務(wù)進(jìn)行聚類,有效地縮小了服務(wù)的搜索范 圍,提高了服務(wù)定位的效率。 下面通過附圖和實(shí)施例,對本發(fā)明實(shí)施例的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為本發(fā)明基于關(guān)系挖掘的服務(wù)組織方法實(shí)施例的流程圖;
圖2為本發(fā)明服務(wù)挖掘過程實(shí)施例的流程圖;
圖3為本發(fā)明文檔預(yù)處理過程實(shí)施例的流程圖;
圖4為本發(fā)明文本預(yù)處理過程實(shí)施例的流程圖;
圖5為本發(fā)明類別樹生成方法實(shí)施例的流程圖; 圖6為本發(fā)明基于關(guān)系挖掘的服務(wù)組織裝置實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
如圖1所示,為本發(fā)明基于關(guān)系挖掘的服務(wù)組織方法實(shí)施例的流程圖,該方法包 括 步驟101、對服務(wù)的描述信息進(jìn)行預(yù)處理,并生成信息三元組; 首先對服務(wù)的各種描述信息進(jìn)行預(yù)處理,從這些信息中提取出有意義的關(guān)鍵詞并
構(gòu)造信息三元組; 其中,該步驟可以包括 從原始信息庫獲取服務(wù)描述語言(WSDL)文檔地址和額外描述信息文檔地址;
根據(jù)上述服務(wù)描述語言WSDL文檔地址載入上述服務(wù)描述語言WSDL文檔,并對上 述服務(wù)描述語言WSDL文檔進(jìn)行解析,獲取服務(wù)名稱和服務(wù)注釋,并將上述服務(wù)名稱和服務(wù) 注釋加入服務(wù)的標(biāo)題信息中; 獲取服務(wù)中所有方法的列表,將列表中每個(gè)方法的信息加入該服務(wù)的主題信息 中,上述信息包括方法名稱、注釋、輸入消息名稱、輸出消息名稱; 根據(jù)上述額外描述信息文檔地址載入額外描述信息文檔,并對上述額外描述信息 文檔進(jìn)行解析,并將解析后的額外描述信息加入該服務(wù)的額外描述信息中;
上述標(biāo)題信息、主題信息和額外描述信息構(gòu)成了上述服務(wù)的信息三元組;
步驟102、根據(jù)上述信息三元組計(jì)算上述服務(wù)的相似度; 在獲得標(biāo)題信息、主題信息和額外描述信息后,需對上述三類信息進(jìn)行預(yù)處理,轉(zhuǎn)
換成符合標(biāo)準(zhǔn)的單詞,然后利用如下公式計(jì)算第一服務(wù)和第二服務(wù)的相似度, Sim(W丄,W2)= a氺SimSet(Wp T, W2. T) + P *SimSet (W丄.B, W2. B) + y *SimSet (W丄.A, W2. A) 其中,W工表示第一服務(wù),W2表示第二服務(wù),Sim(W" W2)表示第一服務(wù)和第二服務(wù)的 相似度,T表示標(biāo)題信息,B表示主題信息,A表示額外描述信息,SimSet(Wp T,W2. T)表示第 一服務(wù)標(biāo)題信息單詞集合和第二服務(wù)標(biāo)題信息單詞集合的詞義相似度,SimSet (Wp B, W2. B) 表示第一服務(wù)主題信息單詞集合和第二服務(wù)主題信息單詞集合的詞義相似度,SimSet (Wp
6A, W2.A)表示第一服務(wù)額外描述信息單詞集合和第二服務(wù)額外描述信息單詞集合的詞義相 似度,a 、 13 、 Y分別表示標(biāo)題信息、主體信息和額外描述信息在第一服務(wù)和第二服務(wù)相似 度中的權(quán)重。 步驟103、根據(jù)上述相似度對服務(wù)進(jìn)行聚類,生成類別樹,根據(jù)上述類別樹完成服 務(wù)定位。 將兩服務(wù)間的相似度表示為兩點(diǎn)間距離,根據(jù)任意兩點(diǎn)間距離均小于預(yù)定聚類直 徑生成類別樹。 上述基于關(guān)系挖掘的服務(wù)組織方法,利用服務(wù)相似度挖掘方法及根據(jù)上述服務(wù)相
似度對服務(wù)進(jìn)行聚類,有效地縮小了服務(wù)的搜索范圍,提高了服務(wù)定位的效率。 如圖2所示,為本發(fā)明服務(wù)挖掘過程實(shí)施例的流程圖,該過程包括 步驟201、從原始信息庫獲取服務(wù)WSDL文檔和額外描述信息文檔,并對上述文檔
進(jìn)行預(yù)處理; 步驟202、將預(yù)處理得到的關(guān)鍵詞集合信息保存到挖掘信息庫; 步驟203、判斷是否完成對所有服務(wù)的預(yù)處理,若是,執(zhí)行步驟204,否則,轉(zhuǎn)向步
驟201 ; 步驟204、從挖掘信息庫取任意兩個(gè)服務(wù)的關(guān)鍵詞集合信息;
步驟205、計(jì)算這兩個(gè)服務(wù)的相似度值,把這個(gè)相似度值保存到挖掘信息庫;
步驟206、判斷是否完成對所有相似度的計(jì)算,若是,執(zhí)行步驟207,否則,轉(zhuǎn)向步 驟204 ; 步驟207、從原始信息庫讀取一個(gè)服務(wù);
步驟208、聚類并更新類別樹; 步驟209、判斷是否完成對所有服務(wù)的聚類,若是,執(zhí)行步驟210,否則,轉(zhuǎn)向步驟 207 ; 步驟210、將聚類結(jié)果保存到挖掘信息庫。 其中,上述步驟201中對文檔進(jìn)行預(yù)處理的過程如圖3所示,該過程包括
步驟301、從原始信息庫獲取服務(wù)WSDL文檔地址和額外描述信息文檔地址;
步驟302、載入服務(wù)的WSDL文檔并解析; 步驟303、獲取服務(wù)名稱和服務(wù)注釋信息,并將服務(wù)名稱和服務(wù)注釋信息加入服務(wù) 標(biāo)題信息T中; 步驟304、獲取服務(wù)中所有方法的列表; 步驟305、把列表中每個(gè)方法的名稱、注釋、輸入消息名稱、輸出消息名稱等加入服 務(wù)的主題信息B中; 步驟306、載入服務(wù)的額外描述信息文檔并解析; 步驟307、把所有的額外描述信息都加入服務(wù)的額外描述信息A中; 步驟308、保存解析后的服務(wù)功能描述信息三元組到挖掘信息庫。 通過上述步驟301-308,生成了信息三元組,生成三元組之后還需對三元組中的三
類信息進(jìn)行文本預(yù)處理,其過程如圖4所示,該過程包括 步驟401、輸入字符串; 步驟402、按標(biāo)點(diǎn)符號分詞;
由于英文單詞用空格分開,故分詞只需把非字母符號替換成空格;
步驟403、拆除連接詞; 在WSDL文檔中,服務(wù)名稱、方法、參數(shù)含有重要的服務(wù)功能信息且一般采用 Pascal或Camel大小寫命名方式,需要進(jìn)一步拆分,如RealTimeMarketData需拆分成real time market data。
步驟404、過濾停用詞; 停用詞(stopword)指句子中一些無描述功能作用的詞,如a, the以及一些服務(wù)常 用詞如"http"、"post"、"so即"、"get"等,這些詞需要被過濾,以提高相似度計(jì)算的效率和 精度; 步驟405、修正詞形; 由于一些詞是以復(fù)數(shù)、過去式等非標(biāo)準(zhǔn)形態(tài)出現(xiàn),需把這些詞還原成標(biāo)準(zhǔn)形態(tài);
步驟406、過濾停用詞;
步驟407、提取名詞; 名詞已基本可描述服務(wù)的功能信息,為了提高效率,只利用名詞計(jì)算相似度;
步驟408、輸出單詞集合。 經(jīng)過文本預(yù)處理后的三元組中的三類信息轉(zhuǎn)換成標(biāo)準(zhǔn)形式,上述步驟205計(jì)算兩 服務(wù)間的相似度需要計(jì)算兩關(guān)鍵詞集合的相似度,計(jì)算關(guān)鍵詞集合的相似度目前有多種方 法,例如有基于編輯距離的方法、基于規(guī)則的方法、基于向量模型的方法、基于交集的方法、 基于詞頻-文檔頻率(TF-IDF)的方法等,該實(shí)施例采用了馬克(Mailk)等提出的詞性相似 度(Part-of-SpeechSimilarity)計(jì)算方法,在該方法中,給定兩個(gè)關(guān)鍵詞集合Sl和S2,首 先把Sl和S2中的單詞按詞性分類,然后計(jì)算Sl中的每個(gè)單詞Wli到S2的距離并累加,再 計(jì)算S2中的每個(gè)單詞W2i到Sl的距離并累加,最后把這兩個(gè)累加值相加后除以Sl和S2 所含有單詞數(shù)目的總和,即為集合Sl和S2的相似度,具體計(jì)算公式如下 <formula>formula see original document page 8</formula> 其中,Simm(W, S)為單詞W到詞集合S的距離,這個(gè)距離的定義為詞W和集合S中 與詞W詞性相同且最為相似的詞Wi的相似度值;對于詞到詞集合相似度的計(jì)算可以轉(zhuǎn)換成 兩個(gè)單詞相似度的計(jì)算,其計(jì)算公式如下
<formula>formula see original document page 8</formula> 其中,sen(w)是指單詞w所有可能的詞義集合,dmax指WordNet中名詞層次結(jié)構(gòu)樹 的最大深度,本實(shí)施例中只考慮WordNet中名詞的上下位關(guān)系,len(Cl, c2)為(^、(32在這個(gè) 上下位關(guān)系層次結(jié)構(gòu)樹中Cl、 c2兩個(gè)節(jié)點(diǎn)的最短距離。 由于已知計(jì)算集合相似度的計(jì)算公式,那么采用如下公式可以進(jìn)一步計(jì)算服務(wù)間 的相似度 Sim(W丄,W2)= a氺SimSet(Wp T, W2. T) + P *SimSet (W丄.B, W2. B)
其中,W工表示第一服務(wù),W2表示第二服務(wù),Sim(W" W2)表示第一服務(wù)和第二服務(wù)的 相似度,T表示標(biāo)題信息,B表示主題信息,A表示額外描述信息,SimSet(Wp T,W2. T)表示第 一服務(wù)標(biāo)題信息單詞集合和第二服務(wù)標(biāo)題信息單詞集合的詞義相似度,SimSet (Wp B, W2. B) 表示第一服務(wù)主題信息單詞集合和第二服務(wù)主題信息單詞集合的詞義相似度,SimSet (Wp A, W2.A)表示第一服務(wù)額外描述信息單詞集合和第二服務(wù)額外描述信息單詞集合的詞義相 似度,a 、 13 、 y分別表示標(biāo)題信息、主體信息和額外描述信息在第一服務(wù)和第二服務(wù)相似 度中的權(quán)重。 在計(jì)算完服務(wù)間的相似度后,可把服務(wù)看成空間中的點(diǎn),服務(wù)間的相似度看成兩 點(diǎn)間的距離,采用如圖5所示的類別樹生成方法可將距離最近的點(diǎn)聚類,該聚類過程包括
步驟501 、輸入類別樹樹根T ;
步驟502、輸入服務(wù)Wi ; 步驟503、從服務(wù)集合中尋找與Wi最相近的服務(wù)Wj及所屬類Tj,次相近的服務(wù)Wk 及所屬類Tk ; 步驟504、判斷Tj是否存在,若不存在執(zhí)行步驟505,若存在,執(zhí)行步驟506 ;
步驟505、構(gòu)造一個(gè)類別Ti,將Wi加入Ti,將Ti加入樹根T,轉(zhuǎn)向步驟516 ;
步驟506、判斷Tk是否存在或Tk是否等于Tj,若Tk不存在或Tk等于Tj,執(zhí)行步 驟507,若Tk存在或Tk不等于Tj,執(zhí)行步驟508, 步驟507、將Wi加入到Tj,更新Tj決定是否分裂,轉(zhuǎn)向步驟516 ;
步驟508、將Wi加入到Tj,更新Tj ; 步驟509、判斷Wi是否為Tj的中心點(diǎn),若不是,執(zhí)行步驟510,若是,執(zhí)行步驟511 ;
步驟510、更新Tj決定是否分裂,轉(zhuǎn)向步驟516 ; 步驟511、判斷Tk中服務(wù)數(shù)目是否為l,若是執(zhí)行步驟512,否則,執(zhí)行步驟513 ;
步驟512、合并Tj和Tk為新的Tj,轉(zhuǎn)向步驟510 ; 步驟513、判斷Wk是否為Tk的中心點(diǎn),若是轉(zhuǎn)向步驟510,否則,執(zhí)行步驟514;
步驟514、將Wk加入到Tj ; 步驟515、更新Tk決定是否分裂,轉(zhuǎn)向步驟510 ; 步驟516、判斷是否處理完所有服務(wù),若是聚類結(jié)束,否則轉(zhuǎn)向步驟502。 通過上述步驟501-516,較好地實(shí)現(xiàn)了自頂而下的遞增式聚類,當(dāng)讀入第一個(gè)數(shù)據(jù)
時(shí),將其分為一類,后續(xù)讀入的數(shù)據(jù)插入已有的一個(gè)合適類中,再跟據(jù)類別效應(yīng)決定是否分
裂或者合并相應(yīng)的類,重復(fù)這樣的聚類操作直到處理完所有數(shù)據(jù),就可以得到一個(gè)合適的
類別樹。 但是,在該聚類過程中有三個(gè)問題需要處理數(shù)據(jù)讀入順序?qū)垲惤Y(jié)果的影響; 類別效應(yīng)的計(jì)算;過度擬合的預(yù)防;本實(shí)施例對這三個(gè)問題的解決方法如下(l)通過使用 分裂和合并算法消除數(shù)據(jù)輸入順序的影響;(2)把一個(gè)類別看作一個(gè)球體,用球體的直徑 當(dāng)作類別效應(yīng),如果球體的直徑越小,則該類的類別效應(yīng)越好;(3)設(shè)置一個(gè)球體直徑的最 大值來限制過度擬合,當(dāng)球體直徑小于這個(gè)最小值時(shí),該類不再分裂。 另外,在上述實(shí)施例中對類別直徑與中心點(diǎn)的定義如下一個(gè)類別中的所有點(diǎn) {ni, n2, . . nn}中若以點(diǎn)&為球心算出球體直徑這個(gè)值比以其他任何點(diǎn)為球心球體直徑都小,那么稱&為該類別的直徑,稱&為中心點(diǎn);同時(shí),對允許的最大聚類直徑D^的定義 如下如果D > D^,則選擇當(dāng)前聚類中距離最大的兩個(gè)點(diǎn),以這兩個(gè)點(diǎn)為種子,把其余點(diǎn)按 距離遠(yuǎn)近分成兩個(gè)類,分別計(jì)算這兩個(gè)類的類直徑,如果直徑大于Dmax,則繼續(xù)對這個(gè)類進(jìn) 行分裂直到類直徑小于D^。 采用上述聚類方法可有效縮小服務(wù)的搜索范圍,提高服務(wù)的定位效率,假設(shè)要從M 個(gè)服務(wù)中尋找1個(gè)與服務(wù)W最為相似的服務(wù),如果事先沒有進(jìn)行聚類,則查找次數(shù)為M,如果 事先已經(jīng)聚類(假設(shè)有N個(gè)類,每個(gè)類中有Qi個(gè)服務(wù),聚類準(zhǔn)確度為a),查找算法按首先與 每個(gè)類的中心點(diǎn)服務(wù)距離最近確定待尋找服務(wù)所在的類,然后再順序查找這個(gè)類中的其他
服務(wù),那么平均查找次數(shù)K為K = iV +
Z」
,由此可見,搜索效率顯著提高c 如圖6所示,為本發(fā)明基于關(guān)系挖掘的服務(wù)組織裝置實(shí)施例的結(jié)構(gòu)示意圖,該裝 置包括生成單元l,用于對服務(wù)的描述信息進(jìn)行預(yù)處理,并生成信息三元組;計(jì)算單元2, 用于根據(jù)上述信息三元組計(jì)算上述服務(wù)的相似度;聚類單元3,用于根據(jù)上述相似度對服 務(wù)進(jìn)行聚類,生成類別樹,根據(jù)上述類別樹完成服務(wù)定位。 其中,上述生成單元可以包括第一信息獲取模塊,用于根據(jù)上述服務(wù)描述語言
WSDL文檔地址載入上述服務(wù)描述語言WSDL文檔,并對上述服務(wù)描述語言WSDL文檔進(jìn)行解
析,獲取服務(wù)名稱,并將上述服務(wù)名稱加入服務(wù)的標(biāo)題信息中;第二信息獲取模塊,用于獲
取服務(wù)中所有方法的列表,將列表中每個(gè)方法的信息加入該服務(wù)的主題信息中,上述信息
包括裝置名稱、注釋、輸入消息名稱、輸出消息名稱;第三信息獲取模塊,用于根據(jù)上述額外
描述信息文檔地址載入額外描述信息文檔,并對上述額外描述信息文檔進(jìn)行解析,并將解
析后的額外描述信息加入該服務(wù)的額外描述信息中;生成模塊,用于根據(jù)上述標(biāo)題信息、主
題信息和額外描述信息,生成上述服務(wù)的信息三元組。計(jì)算單元可以包括計(jì)算模塊,用于
采用如下公式計(jì)算第一服務(wù)和第二服務(wù)的相似度,Sim(W丄,W2)= a氺SimSet(Wp T, W2. T) 氺SimSet(Wp B, W2. B) + Y *SimSet (Wp A, W2. A) 其中,W工表示第一服務(wù),W2表示第二服務(wù),Sim(W" W2)表示第一服務(wù)和第二服務(wù)的 相似度,T表示標(biāo)題信息,B表示主題信息,A表示額外描述信息,SimSet(Wp T,W2. T)表示第 一服務(wù)標(biāo)題信息單詞集合和第二服務(wù)標(biāo)題信息單詞集合的詞義相似度,SimSet (Wp B, W2. B) 表示第一服務(wù)主題信息單詞集合和第二服務(wù)主題信息單詞集合的詞義相似度,SimSet (Wp A, W2.A)表示第一服務(wù)額外描述信息單詞集合和第二服務(wù)額外描述信息單詞集合的詞義相 似度,a 、 13 、 Y分別表示標(biāo)題信息、主體信息和額外描述信息在第一服務(wù)和第二服務(wù)相似 度中的權(quán)重。 另外,上述基于關(guān)系挖掘的服務(wù)組織裝置還可以包括轉(zhuǎn)換單元,用于對生成單元
生成的標(biāo)題信息、主題信息和額外描述信息進(jìn)行預(yù)處理,轉(zhuǎn)換成符合標(biāo)準(zhǔn)的信息。 進(jìn)一步地,上述聚類單元還可以包括聚類模塊,用于將兩服務(wù)間的相似度表示為
兩點(diǎn)間距離,根據(jù)任意兩點(diǎn)間距離均小于預(yù)定聚類直徑生成類別樹。 上述基于關(guān)系挖掘的服務(wù)組織裝置,利用生成單元生成信息三元組,利用計(jì)算單
10元計(jì)算服務(wù)的相似度,并利用聚類單元對上述服務(wù)進(jìn)行聚類,有效地縮小了服務(wù)的搜索范 圍,提高了服務(wù)定位的效率。 最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
權(quán)利要求
一種基于關(guān)系挖掘的服務(wù)組織方法,其特征在于包括對服務(wù)的描述信息進(jìn)行預(yù)處理,并生成信息三元組;根據(jù)所述信息三元組計(jì)算所述服務(wù)的相似度;根據(jù)所述相似度對服務(wù)進(jìn)行聚類,生成類別樹,根據(jù)所述類別樹完成服務(wù)定位。
2. 根據(jù)權(quán)利要求1所述的基于關(guān)系挖掘的服務(wù)組織方法,其特征在于所述對服務(wù)的描 述信息進(jìn)行預(yù)處理,并生成信息三元組包括從原始信息庫獲取服務(wù)描述語言WSDL文檔地址和額外描述信息文檔地址;根據(jù)所述服務(wù)描述語言WSDL文檔地址載入所述服務(wù)描述語言WSDL文檔,并對所述服 務(wù)描述語言WSDL文檔進(jìn)行解析,獲取服務(wù)名稱和服務(wù)注釋信息,并將所述服務(wù)名稱和服務(wù) 注釋信息加入服務(wù)的標(biāo)題信息中;獲取服務(wù)中所有方法的列表,將列表中每個(gè)方法的信息加入該服務(wù)的主題信息中,所 述信息包括方法名稱、注釋、輸入消息名稱、輸出消息名稱;根據(jù)所述額外描述信息文檔地址載入額外描述信息文檔,并對所述額外描述信息文檔 進(jìn)行解析,并將解析后的額外描述信息加入該服務(wù)的額外描述信息中;所述標(biāo)題信息、主題信息和額外描述信息構(gòu)成了所述服務(wù)的信息三元組。
3. 根據(jù)權(quán)利要求1或2所述的基于關(guān)系挖掘的服務(wù)組織方法,其特征在于所述根據(jù)所 述信息三元組計(jì)算所述服務(wù)的相似度包括采用如下公式計(jì)算第一服務(wù)和第二服務(wù)的相似度,<formula>formula see original document page 2</formula>其中,W工表示第一服務(wù),W2表示第二服務(wù),Sim(W" W2)表示第一服務(wù)和第二服務(wù)的相似 度,T表示標(biāo)題信息,B表示主題信息,A表示額外描述信息,SimSet(Wp T, W2. T)表示第一 服務(wù)標(biāo)題信息單詞集合和第二服務(wù)標(biāo)題信息單詞集合的詞義相似度,SimSet(Wp B,W2. B)表 示第一服務(wù)主題信息單詞集合和第二服務(wù)主題信息單詞集合的詞義相似度,SimSet (Wp A, W2. A)表示第一服務(wù)額外描述信息單詞集合和第二服務(wù)額外描述信息單詞集合的詞義相似 度,a、 13、 Y分別表示標(biāo)題信息、主體信息和額外描述信息在第一服務(wù)和第二服務(wù)相似度 中的權(quán)重。
4. 根據(jù)權(quán)利要求3所述的基于關(guān)系挖掘的服務(wù)組織方法,其特征在于所述根據(jù)所述信 息三元組計(jì)算所述服務(wù)的相似度之前還包括對所述標(biāo)題信息、主題信息和額外描述信息進(jìn)行預(yù)處理,轉(zhuǎn)換成符合標(biāo)準(zhǔn)的信息。
5. 根據(jù)權(quán)利要求1所述的基于關(guān)系挖掘的服務(wù)組織方法,其特征在于所述根據(jù)所述相 似度對服務(wù)進(jìn)行聚類,生成類別樹包括將兩服務(wù)間的相似度表示為兩點(diǎn)間距離,根據(jù)任意兩點(diǎn)間距離均小于預(yù)定聚類直徑生 成類別樹。
6. —種基于關(guān)系挖掘的服務(wù)組織裝置,其特征在于包括 生成單元,用于對服務(wù)的描述信息進(jìn)行預(yù)處理,并生成信息三元組; 計(jì)算單元,用于根據(jù)所述信息三元組計(jì)算所述服務(wù)的相似度;聚類單元,用于根據(jù)所述相似度對服務(wù)進(jìn)行聚類,生成類別樹,根據(jù)所述類別樹完成服 務(wù)定位。
7. 根據(jù)權(quán)利要求6所述的基于關(guān)系挖掘的服務(wù)組織裝置,其特征在于所述生成單元包括第一信息獲取模塊,用于根據(jù)所述服務(wù)描述語言WSDL文檔地址載入所述服務(wù)描述語 言WSDL文檔,并對所述服務(wù)描述語言WSDL文檔進(jìn)行解析,獲取服務(wù)名稱和服務(wù)注釋信息, 并將所述服務(wù)名稱加入服務(wù)的標(biāo)題信息中;第二信息獲取模塊,用于獲取服務(wù)中所有方法的列表,將列表中每個(gè)方法的信息加入 該服務(wù)的主題信息中,所述信息包括裝置名稱、注釋、輸入消息名稱、輸出消息名稱;第三信息獲取模塊,用于根據(jù)所述額外描述信息文檔地址載入額外描述信息文檔,并 對所述額外描述信息文檔進(jìn)行解析,并將解析后的額外描述信息加入該服務(wù)的額外描述信 息中;生成模塊,用于根據(jù)所述標(biāo)題信息、主題信息和額外描述信息,生成所述服務(wù)的信息三 元組。
8. 根據(jù)權(quán)利要求6或7所述的基于關(guān)系挖掘的服務(wù)組織裝置,其特征在于所述計(jì)算單 元包括計(jì)算模塊,用于采用如下公式計(jì)算第一服務(wù)和第二服務(wù)的相似度,Sim(W丄,W2)=a氺SimSet(W^ T, W2. T)+ 0*5111^^ B, W2. B)+ y *SimSet (W丄.A, W2. A)其中,W工表示第一服務(wù),W2表示第二服務(wù),Sim(W" W2)表示第一服務(wù)和第二服務(wù)的相似 度,T表示標(biāo)題信息,B表示主題信息,A表示額外描述信息,SimSet(Wp T, W2. T)表示第一 服務(wù)標(biāo)題信息單詞集合和第二服務(wù)標(biāo)題信息單詞集合的詞義相似度,SimSet(Wp B,W2. B)表 示第一服務(wù)主題信息單詞集合和第二服務(wù)主題信息單詞集合的詞義相似度,SimSet (Wp A, W2. A)表示第一服務(wù)額外描述信息單詞集合和第二服務(wù)額外描述信息單詞集合的詞義相似 度,a、 13、 Y分別表示標(biāo)題信息、主體信息和額外描述信息在第一服務(wù)和第二服務(wù)相似度 中的權(quán)重。
9. 根據(jù)權(quán)利要求8所述的基于關(guān)系挖掘的服務(wù)組織裝置,其特征在于還包括 轉(zhuǎn)換單元,用于對生成單元生成的標(biāo)題信息、主題信息和額外描述信息進(jìn)行預(yù)處理,轉(zhuǎn)換成符合標(biāo)準(zhǔn)的信息。
10. 根據(jù)權(quán)利要求6所述的基于關(guān)系挖掘的服務(wù)組織裝置,其特征在于所述聚類單元 包括聚類模塊,用于將兩服務(wù)間的相似度表示為兩點(diǎn)間距離,根據(jù)任意兩點(diǎn)間距離均小于 預(yù)定聚類直徑生成類別樹。
全文摘要
本發(fā)明實(shí)施例涉及一種基于關(guān)系挖掘的服務(wù)組織方法及裝置,其中,該基于關(guān)系挖掘的服務(wù)組織方法包括對服務(wù)的描述信息進(jìn)行預(yù)處理,并生成信息三元組;根據(jù)所述信息三元組計(jì)算所述服務(wù)的相似度;根據(jù)所述相似度對服務(wù)進(jìn)行聚類,生成類別樹,根據(jù)所述類別樹完成服務(wù)定位。上述基于關(guān)系挖掘的服務(wù)組織方法及裝置,利用服務(wù)相似度挖掘方法及根據(jù)上述服務(wù)相似度對服務(wù)進(jìn)行聚類,有效地縮小了服務(wù)的搜索范圍,提高了服務(wù)定位的效率。
文檔編號H04L29/08GK101695082SQ20091023561
公開日2010年4月14日 申請日期2009年9月30日 優(yōu)先權(quán)日2009年9月30日
發(fā)明者劉旭東, 孫海龍, 曲先洋, 李建欣, 林偉, 黃子乘 申請人:北京航空航天大學(xué);