張祥平,劉建勛+,肖巧翔,曹步清
1.湖南科技大學(xué) 服務(wù)計(jì)算與軟件服務(wù)新技術(shù)湖南省重點(diǎn)實(shí)驗(yàn)室,湖南 湘潭411201
2.湖南科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,湖南 湘潭411201
隨著面向服務(wù)體系結(jié)構(gòu)(service-oriented architecture,SOA)技術(shù)的發(fā)展,Web服務(wù)被廣泛應(yīng)用于各個(gè)領(lǐng)域。截至2020 年6 月24 日,ProgrammableWeb網(wǎng)站上所包含的Web服務(wù)已經(jīng)達(dá)到了31 154個(gè),要從這樣一個(gè)大規(guī)模的服務(wù)集合中快速有效地找到滿足開(kāi)發(fā)者需求的Web服務(wù)猶如大海撈針。已有研究表明:對(duì)Web服務(wù)進(jìn)行分類或聚類,再將用戶的搜索請(qǐng)求定位到指定的服務(wù)類簇中,能夠有效地減小Web服務(wù)搜索空間,提升Web服務(wù)的搜索效率。
目前,針對(duì)Web 服務(wù)劃分已有大量的研究。這些研究通常是將Web服務(wù)映射為一個(gè)固定長(zhǎng)度的表征向量,該表征向量包含Web服務(wù)的主要信息,之后在其上使用聚類或分類算法實(shí)現(xiàn)對(duì)Web 服務(wù)的劃分。如Liu 等人使用LDA(latent Dirichlet allocation)主題模型和支持向量機(jī)相結(jié)合,實(shí)現(xiàn)了對(duì)Web 服務(wù)的自動(dòng)標(biāo)注。Chen 等人利用LSA(latent semantic analysis)模型對(duì)移動(dòng)服務(wù)文本進(jìn)行全局主題建模,再通過(guò)BiLSTM(bi-directional long short-term memory)模型對(duì)服務(wù)進(jìn)行分類。這類方法的效果高度依賴主題模型所生成的Web服務(wù)表征向量的質(zhì)量。但是由于Web 服務(wù)描述文檔篇幅較短,LDA 主題模型無(wú)法有效地從短文本中獲得豐富的主題信息,進(jìn)而導(dǎo)致服務(wù)聚類效果較差。
與此同時(shí),有些研究考慮將Web 服務(wù)的附加信息,如標(biāo)簽、先驗(yàn)知識(shí)加入到Web 服務(wù)表征向量的生成過(guò)程中,以提高Web服務(wù)聚類的精度。例如,Shi等人使用概率主題模型獲得Web服務(wù)描述文檔中隱含的主題表征向量,之后使用-means++對(duì)其進(jìn)行聚類,在這過(guò)程中加入了額外的先驗(yàn)知識(shí)用于提升聚類的準(zhǔn)確性。Xiao 等人考慮到Web 服務(wù)描述文本長(zhǎng)度較短,所包含信息量較少的情況,通過(guò)使用維基百科相似詞擴(kuò)充的方法,對(duì)原始的Web 服務(wù)進(jìn)行擴(kuò)充,使用HDP(hierarchical Dirichlet processes)主題模型獲得Web 服務(wù)表征向量,進(jìn)而實(shí)現(xiàn)Web 服務(wù)聚類。Cao 等人將Web 服務(wù)語(yǔ)義信息以及Mashup 服務(wù)與API(application programming interface)服務(wù)之間的調(diào)用關(guān)系相結(jié)合,實(shí)現(xiàn)了API 服務(wù)的劃分。這些方法在一定程度上提高了Web 服務(wù)聚類和分類的精度,但是仍然存在以下一些問(wèn)題:
(1)盡管有些工作采用增強(qiáng)文本內(nèi)容、引入先驗(yàn)知識(shí)等方法,用來(lái)豐富Web服務(wù)所包含的信息,同時(shí)通過(guò)改進(jìn)主題模型以提高模型的主題建模能力,但由于主題模型與Web 服務(wù)描述文檔固有的矛盾,主題模型難以從篇幅較短的Web服務(wù)文檔中獲得有效的主題表征,實(shí)驗(yàn)效果提升有限。
(2)Web服務(wù)數(shù)據(jù)利用率不高。已有的方法往往只考慮一種類型的Web 服務(wù)數(shù)據(jù),如從Web 服務(wù)描述文本中抽取出的主題信息,而沒(méi)有考慮使用Web服務(wù)的附加信息,如標(biāo)簽信息、Web服務(wù)流行度、Web服務(wù)共現(xiàn)信息。實(shí)際上,Web服務(wù)的附加信息也能夠提高Web服務(wù)聚類和分類的準(zhǔn)確性。
針對(duì)以上兩個(gè)問(wèn)題,本文提出了一種融合多維信息的Web 服務(wù)表征方法(multi-dimensional information-based Web service representation method,MISR)。該方法綜合考慮了Web服務(wù)的功能信息以及其他屬性信息。該方法首先使用高斯混合模型和Word2Vec模型生成了包含主題信息和語(yǔ)義信息的Web服務(wù)表征向量。之后通過(guò)融合Web 服務(wù)所包含的多維信息,獲得包含多維信息的Web服務(wù)表征向量。最后,在真實(shí)的Web 服務(wù)數(shù)據(jù)集上進(jìn)行Web 服務(wù)分類和Web 服務(wù)聚類兩個(gè)任務(wù),驗(yàn)證該表征方法的有效性。實(shí)驗(yàn)結(jié)果驗(yàn)證了所提出方法的有效性。
本文工作主要貢獻(xiàn)有以下兩點(diǎn):
(1)提出了一種Web服務(wù)表征方法,該表征方法能夠獲得Web 服務(wù)主題信息與功能語(yǔ)義信息,可以有效地提高Web服務(wù)聚類和分類的精度。
(2)在真實(shí)數(shù)據(jù)上進(jìn)行Web 服務(wù)聚類和分類對(duì)比實(shí)驗(yàn),驗(yàn)證了Web 服務(wù)中所包含的多維信息能夠用于提升Web服務(wù)聚類和分類的效果。
隨著服務(wù)計(jì)算和云計(jì)算的發(fā)展,互聯(lián)網(wǎng)上出現(xiàn)了大量網(wǎng)絡(luò)服務(wù),Web服務(wù)發(fā)現(xiàn)成為一個(gè)熱門的研究方向。精確高效地對(duì)Web服務(wù)進(jìn)行分類能夠有效提高Web 服務(wù)發(fā)現(xiàn)的性能。其關(guān)鍵技術(shù)在于如何對(duì)Web 服務(wù)進(jìn)行建模,獲得有效的Web 服務(wù)表征向量用于Web服務(wù)分類。現(xiàn)有的Web服務(wù)表征技術(shù)可以分為兩類:一類是基于服務(wù)質(zhì)量(quality of service,QoS)的表征技術(shù),一類是基于功能語(yǔ)義的表征技術(shù)。
基于服務(wù)質(zhì)量的服務(wù)表征技術(shù)主要將Web服務(wù)的服務(wù)質(zhì)量特征作為Web 服務(wù)的表征向量,包括服務(wù)的吞吐量、可用性、執(zhí)行時(shí)間等。Xia 等人使用Web 服務(wù)質(zhì)量屬性,將Web 服務(wù)聚到不同的類中。Michael 等人提出了一種基于QoS 參數(shù)和KNN(nearest neighbors)算法的Web 服務(wù)選擇方法,使用并行分類模型對(duì)Web 服務(wù)進(jìn)行分類。這類方法的缺點(diǎn)在于僅僅使用Web服務(wù)一部分特征作為Web服務(wù)的表征,所獲得的表征向量包含的信息有限。
基于Web 服務(wù)功能語(yǔ)義的表征技術(shù),通常是利用主題模型(如LDA、HDP)將Web 服務(wù)功能描述文檔轉(zhuǎn)換為給定長(zhǎng)度的表征向量。Liu 等人使用LDA主題模型和支持向量機(jī)相結(jié)合,實(shí)現(xiàn)了Web 服務(wù)的自動(dòng)標(biāo)注。李征等人提出一種領(lǐng)域服務(wù)聚類模型,對(duì)Web 服務(wù)進(jìn)行面向主題的聚類,把特定領(lǐng)域內(nèi)具有相似功能的服務(wù)聚合為主題類簇。
有些工作通過(guò)改進(jìn)主題模型抽取信息的能力,能夠獲得更有效的Web 服務(wù)表征向量。Cao 等人提出了雙層主題模型用于獲得Web服務(wù)功能內(nèi)容和結(jié)構(gòu)內(nèi)容的表征向量,進(jìn)而完成對(duì)Web 服務(wù)的聚類。Shi 等人使用Word2Vec 模型對(duì)Web 服務(wù)中包含的詞匯進(jìn)行聚類,用于增強(qiáng)的LDA主題模型,以獲得信息更加豐富的Web 服務(wù)表征向量。這些工作使用主題模型及其變形從Web 服務(wù)功能文檔中抽取出Web服務(wù)的功能信息,但由于Web 服務(wù)功能描述文檔內(nèi)容單一,所包含信息有限,也沒(méi)有很好地解決問(wèn)題。
還有一些工作使用基于機(jī)器學(xué)習(xí)的方法。如Cao 等人使用注意力機(jī)制生成包含Web 服務(wù)功能描述文檔語(yǔ)義信息的Web 服務(wù)表征向量,實(shí)現(xiàn)對(duì)Web服務(wù)的分類任務(wù)。肖勇等人考慮API服務(wù)于Mashup服務(wù)之間的結(jié)構(gòu)信息,使用隨機(jī)游走和SkipGram 方法獲得Mashup 服務(wù)的表征向量,之后使用支持向量機(jī)實(shí)現(xiàn)Web服務(wù)分類,但由于其需要考慮眾多服務(wù)之間的結(jié)構(gòu)關(guān)系,在實(shí)際應(yīng)用中會(huì)比較復(fù)雜。
本章將對(duì)提出的方法MISR 進(jìn)行詳細(xì)的介紹。本文提出的Web服務(wù)表征向量生成方法主要包括以下四個(gè)步驟。
(1)主題信息增強(qiáng)的詞向量生成。使用Word2Vec模型生成Web服務(wù)功能描述文檔中所有詞匯對(duì)應(yīng)的詞向量。通過(guò)高斯混合模型對(duì)所有詞向量進(jìn)行聚類,獲得每個(gè)詞的詞向量屬于不同主題簇類的概率。詞向量與該概率相結(jié)合,生成主題信息增強(qiáng)的Web服務(wù)詞向量。
(2)標(biāo)簽信息增強(qiáng)的詞向量。通過(guò)計(jì)算Web 服務(wù)描述文檔中所有詞匯與標(biāo)簽信息的相互關(guān)系,獲得標(biāo)簽-詞之間的信息,用于增強(qiáng)Web 服務(wù)詞向量所包含的信息。
(3)Web服務(wù)表征向量。在獲得了每個(gè)詞匯的增強(qiáng)表征向量之后,需要獲得每一個(gè)Web 服務(wù)的表征向量。本文通過(guò)使用逆文檔頻率對(duì)Web服務(wù)中的詞匯進(jìn)行加權(quán)求和,獲得每個(gè)Web服務(wù)的表征向量。
(4)流行度與共現(xiàn)系數(shù)。在已有的API服務(wù)數(shù)據(jù)集中計(jì)算每個(gè)API 服務(wù)的流行度以及不同API 服務(wù)之間共現(xiàn)系數(shù),與(3)中生成的Web 服務(wù)向量相結(jié)合。再通過(guò)隨機(jī)映射方法對(duì)API服務(wù)向量進(jìn)行降維,最后獲得API服務(wù)的表征向量,用于Web服務(wù)聚類和分類任務(wù)中。
表1為本文中出現(xiàn)符號(hào)的符號(hào)含義說(shuō)明,以便讀者查閱。
表1 符號(hào)說(shuō)明Table 1 Description of notations
傳統(tǒng)的Web服務(wù)聚類方法通常使用如LDA主題模型對(duì)Web 服務(wù)的功能描述文檔進(jìn)行主題建模,力圖獲得Web服務(wù)描述文檔中所包含的功能主題信息用于Web服務(wù)聚類。由于Web服務(wù)描述文檔通常文本長(zhǎng)度較短,主題模型不能有效地找到文本中特定的詞共現(xiàn)模式,無(wú)法精確地獲得Web 服務(wù)所包含的主題信息。主題模型的主要思想是使用詞匯的概率分布來(lái)表示主題。如果對(duì)Web服務(wù)語(yǔ)料中的所有詞匯進(jìn)行聚類,劃分為不同的詞匯簇類視為Web 服務(wù)的不同主題類,那么就能夠?qū)⒉煌~匯屬于不同簇類的概率視為不同詞匯屬于不同主題的概率。
如圖1 所示,為了獲得不同詞匯屬于不同簇類(主題簇類)的概率分布,首先對(duì)原始的文本進(jìn)行預(yù)處理。本文中對(duì)文本的預(yù)處理流程與文獻(xiàn)[6]中的處理方式相同。先將文本轉(zhuǎn)換為小寫,去除所有標(biāo)點(diǎn)符號(hào),之后對(duì)文本進(jìn)行分詞和移除停用詞。最后移除詞匯的后綴,再對(duì)其進(jìn)行詞形還原。
圖1 主題信息增強(qiáng)的詞向量生成過(guò)程Fig. 1 Generation process of topic-augmented word embedding
接下來(lái)使用Word2Vec模型將詞匯轉(zhuǎn)換為給定長(zhǎng)度的詞向量。Word2Vec模型能夠在大規(guī)模的語(yǔ)料庫(kù)上構(gòu)建出包含語(yǔ)義和詞法信息的詞向量。詞匯之間的相似度可以簡(jiǎn)單地通過(guò)計(jì)算不同詞向量的余弦距來(lái)得到。
高斯混合模型是統(tǒng)計(jì)學(xué)領(lǐng)域中用于計(jì)算連續(xù)型特征的概率分布的參數(shù)模型,而Word2Vec 模型生成的詞向量就是一種連續(xù)型的特征向量。因此使用高斯混合模型對(duì)Word2Vec模型生成的詞向量進(jìn)行聚類,從而獲得不同詞匯屬于不同簇類(主題類)的概率分布。
高斯混合模型可以人為設(shè)定個(gè)簇類視作個(gè)主題。通過(guò)計(jì)算不同組件的概率密度分布,進(jìn)而獲得每個(gè)單詞與簇類(主題)之間的概率分布。在本文中,假設(shè)每個(gè)簇類(主題)的權(quán)重為π,每個(gè)簇類(主題)中的單詞w服從高斯分布N,記為N(w;u,Σ),那么單詞w屬于簇類c的概率可以由式(1)計(jì)算得到:
其中,u表示第個(gè)簇類(主題)概率分布的均值,Σ表示第個(gè)簇類(主題)概率分布的方差。
通過(guò)高斯混合模型,可以得到每個(gè)詞匯屬于不同主題的概率分布(c|w)。通過(guò)對(duì)詞向量進(jìn)行加權(quán)拼接的方式將主題信息與詞向量信息相結(jié)合,具體步驟如下:將概率分布(c|w)與詞向量wv相乘,獲得個(gè)不同的向量wvc,之后將這個(gè)向量首尾拼接,獲得長(zhǎng)度為×的長(zhǎng)向量作為詞匯w的包含語(yǔ)義與主題信息的向量表征wvc,其中表示W(wǎng)ord2Vec 算法中人為設(shè)定的詞向量長(zhǎng)度,本文實(shí)驗(yàn)中=200。具體操作如式(2)、式(3)所示:
其中,=1,2,…,,=1,2,…,,表示詞匯數(shù)量,表示預(yù)先設(shè)定的主題個(gè)數(shù)。⊕表示拼接操作。
這步驟的優(yōu)勢(shì)在于:(1)不同于主題模型生成的Web 服務(wù)主題表征,本文在Word2Vec 生成的詞向量的基礎(chǔ)之上使用高斯混合模型對(duì)詞匯進(jìn)行聚類。在該過(guò)程中,不但考慮了Web 服務(wù)描述文本中隱含的語(yǔ)義信息,同時(shí)也考慮了其主題信息。(2)高斯混合模型的時(shí)間復(fù)雜度()要低于LDA 主題模型的時(shí)間復(fù)雜度()。其中,為語(yǔ)料庫(kù)中詞匯的數(shù)量,為語(yǔ)料庫(kù)中文檔的數(shù)量,為所需要生成的主題數(shù)量。進(jìn)行向量拼接所消耗的時(shí)間可以不予考慮,因此采用高斯混合模型在時(shí)間復(fù)雜度上要優(yōu)于LDA主題模型。
當(dāng)開(kāi)發(fā)者推出他們所開(kāi)發(fā)的Web 服務(wù)時(shí),為了便于用戶檢索到這些服務(wù),開(kāi)發(fā)者通常需要提供一些單詞或者短語(yǔ)作為Web服務(wù)標(biāo)簽用來(lái)概括和標(biāo)記他們所開(kāi)發(fā)服務(wù)的功能。通常情況下,開(kāi)發(fā)者提供的標(biāo)簽要么會(huì)直接出現(xiàn)在Web 功能描述文本中,要么就是和Web 服務(wù)功能高度相關(guān)。標(biāo)簽信息是Web服務(wù)功能最簡(jiǎn)練、準(zhǔn)確的概括。將標(biāo)簽信息加入到Web 服務(wù)的表征向量中能夠增強(qiáng)Web 服務(wù)功能信息的表達(dá),提高基于Web 服務(wù)功能的Web 服務(wù)發(fā)現(xiàn)方法的效果。
本文使用貝葉斯定理來(lái)計(jì)算詞匯與標(biāo)簽之間的關(guān)聯(lián)程度(t|w),表示詞匯w被標(biāo)簽t標(biāo)記的概率。(t|w)可以通過(guò)式(4)進(jìn)行計(jì)算。其中,(t,w)表示詞匯w被標(biāo)簽t標(biāo)記的數(shù)量,(w)表示詞匯w出現(xiàn)的數(shù)量。
標(biāo)簽加權(quán)向量的生成過(guò)程如圖2 所示。在獲得了每一個(gè)詞匯w所對(duì)應(yīng)的詞向量wv之后,將詞向量wv與其權(quán)重(t|w) 相乘,得到標(biāo)簽加權(quán)向量wvt,表示詞向量wv在標(biāo)簽t下的加權(quán)向量。與之前步驟一致,將所有的標(biāo)簽加權(quán)向量拼接起來(lái),獲得一個(gè)長(zhǎng)度為×的向量作為詞匯w的使用標(biāo)簽信息增強(qiáng)的向量表征wvt。具體操作如式(5)、式(6)所示:
圖2 標(biāo)簽信息增強(qiáng)的詞向量生成過(guò)程Fig. 2 Generation process of tag-augmented word embedding
其中,=1,2,…,,=1,2,…,,表示詞匯數(shù)量,表示標(biāo)簽個(gè)數(shù)。⊕表示拼接操作。
在經(jīng)過(guò)之前兩個(gè)步驟后,得到了主題信息增強(qiáng)的詞向量wvc和標(biāo)簽信息增強(qiáng)的詞向量wvt。將這兩種向量進(jìn)行拼接操作,獲得每個(gè)詞匯對(duì)應(yīng)的信息增強(qiáng)的向量表征awv,如式(7)所示:
至此,獲得了所有詞匯對(duì)應(yīng)的信息增強(qiáng)的詞向量awv。
一般情況下,一個(gè)Web 服務(wù)描述文檔的文檔表征向量可以簡(jiǎn)單地通過(guò)將該文檔中的所有詞匯對(duì)應(yīng)的詞向量加權(quán)平均來(lái)得到。這種做法認(rèn)為文本中的所有單詞所具有的信息是相等的。而實(shí)際上,文檔中的不同詞匯所包含的信息是不相同的,有些詞匯能夠明顯體現(xiàn)出該文檔所包含的功能信息,而有些詞匯僅僅只有充當(dāng)語(yǔ)氣詞的作用。因此,本文考慮使用逆文檔頻率來(lái)對(duì)詞匯的重要程度進(jìn)行度量,以期獲得更加符合實(shí)際情況的Web服務(wù)表征向量。
詞匯w的逆文檔頻率(w)可以通過(guò)式(8)進(jìn)行計(jì)算得到:
其中,||表示W(wǎng)eb服務(wù)描述文檔的數(shù)量,|{:w∈d}|表示包含詞匯w的Web服務(wù)描述文檔的數(shù)量。
將一個(gè)Web服務(wù)描述文檔中的每個(gè)詞匯w對(duì)應(yīng)的詞向量awv與詞匯w對(duì)應(yīng)的逆文檔頻率相乘再相加,得到Web服務(wù)的表征向量sv,如式(9)所示。
其中,M表示在第個(gè)Web服務(wù)描述文檔中包含的詞匯個(gè)數(shù)。
傳統(tǒng)的Web服務(wù)推薦方法通常會(huì)考慮將Web服務(wù)的非功能屬性作為推薦的指標(biāo),如安全性、可用性、響應(yīng)時(shí)間等。目前,ProgrammableWeb 網(wǎng)站上的Web 服務(wù)缺少相關(guān)指標(biāo)信息,因此,本文考慮將API服務(wù)與Mashup服務(wù)之間的關(guān)系以及API服務(wù)與API服務(wù)之間的關(guān)系用于增強(qiáng)之前所學(xué)得的Web服務(wù)表征向量。
文獻(xiàn)[1]中使用Web服務(wù)的流行度和共現(xiàn)系數(shù)用于Web API 服務(wù)的推薦。流行度用于衡量Web API服務(wù)的流行程度,數(shù)值越高表明該API 服務(wù)越受歡迎。具體的API服務(wù)流行度計(jì)算方式如式(10)所示。
其中,(a)表示API服務(wù)a被Mashup服務(wù)調(diào)用的總次數(shù);(a)表示同屬于(a)所屬分類的所有API 服務(wù);max 和min 操作分別表示取所有元素中的最大值和最小值操作。
通過(guò)對(duì)ProgrammableWeb數(shù)據(jù)集進(jìn)行統(tǒng)計(jì)分析,發(fā)現(xiàn)在本文數(shù)據(jù)集中所有Mashup 服務(wù)中,僅僅只有4.7%的Mashup服務(wù)中存在所使用的API服務(wù)是屬于同一個(gè)類別的。這說(shuō)明組成Mashup服務(wù)的API服務(wù)大部分是屬于不同類別的。共現(xiàn)系數(shù)可以用來(lái)衡量?jī)蓚€(gè)API 服務(wù)之間的歷史組合關(guān)系,共現(xiàn)系數(shù)越大,表明這兩個(gè)API服務(wù)同時(shí)被同一個(gè)Mashup服務(wù)調(diào)用的次數(shù)越多,那么它們有較大的概率是屬于不同類別的服務(wù)。共現(xiàn)系數(shù)的計(jì)算如式(11)所示。
其中,|a∩a|表示a和a被同一個(gè)Mashup 服務(wù)調(diào)用的次數(shù),|a∪a|表示a和a被所有Mashup 調(diào)用的總次數(shù)。
將獲得的共現(xiàn)系數(shù)組合為共現(xiàn)系數(shù)矩陣Co,該矩陣的第行、第列的元素等于(a,a)。其中,表示API 服務(wù)的數(shù)量。本文將之前獲得的每個(gè)Web服務(wù)的表征向量sv與該矩陣通過(guò)式(12)相結(jié)合,獲得包含服務(wù)共現(xiàn)信息的Web服務(wù)表征向量svc。
其中,Co表示矩陣Co的第行數(shù)據(jù)。
最后,將Web 服務(wù)的流行度與其表征向量svc相乘,獲得包含多維信息的Web服務(wù)表征向量,如式(13)所示。
通過(guò)計(jì)算可得,sr的向量長(zhǎng)度為(××+)。如果直接應(yīng)用于聚類和分類算法中,會(huì)導(dǎo)致計(jì)算時(shí)間變大。因此為了降低實(shí)際應(yīng)用中算法的運(yùn)行時(shí)間,還需要對(duì)其進(jìn)行降維。
本文采用隨機(jī)映射算法對(duì)長(zhǎng)向量進(jìn)行降維。隨機(jī)映射算法能夠在保留盡可能多的原始信息的情況下將向量的維度降到人為指定的長(zhǎng)度,本文實(shí)驗(yàn)中設(shè)定=500。該算法的具體實(shí)現(xiàn)細(xì)節(jié)請(qǐng)參照文獻(xiàn)[17]。最終如式(14)所示,獲得的Web服務(wù)表征向量s可以直接用于相似度計(jì)算。
為了研究本文方法所生成服務(wù)表征向量的有效性,進(jìn)行了Web 服務(wù)聚類和Web 服務(wù)分類兩類實(shí)驗(yàn)。接下來(lái)將具體介紹實(shí)驗(yàn)所使用的數(shù)據(jù)集以及具體每個(gè)任務(wù)的實(shí)驗(yàn)設(shè)置。
本文所使用的數(shù)據(jù)集為ProgrammableWeb 數(shù)據(jù)集。該數(shù)據(jù)集包括12 919 個(gè)API 服務(wù)和6 206 個(gè)Mashup服務(wù)。為了降低數(shù)據(jù)分布不均衡對(duì)實(shí)驗(yàn)效果比較的影響,本文在實(shí)驗(yàn)過(guò)程中分別選取了API服務(wù)中數(shù)量最多的前20 類API 服務(wù)共計(jì)6 718 個(gè)以及Mashup 服務(wù)中數(shù)量最多的前20 類Mashup 服務(wù)共計(jì)3 950個(gè)進(jìn)行實(shí)驗(yàn)。
由于實(shí)驗(yàn)中所使用的數(shù)據(jù)集類別分布不均衡,為了考慮不同類別樣本大小對(duì)實(shí)驗(yàn)結(jié)果的影響,采用準(zhǔn)確率、召回率以及Micro-F1指標(biāo)用于衡量不同模型的分類和聚類效果。三個(gè)指標(biāo)的計(jì)算方式如下:
其中,表示W(wǎng)eb服務(wù)被正確劃分的數(shù)量,表示不屬于類而被錯(cuò)誤地劃分到類的Web 服務(wù)數(shù)量,表示屬于類別但是被錯(cuò)誤地劃分到其他類別的Web 服務(wù)數(shù)量。模型的準(zhǔn)確率、召回率以及-1 的數(shù)值越大,表明該模型的效果越好,反之越差。對(duì)于聚類實(shí)驗(yàn),簇類中數(shù)量最多的那一類將作為該簇類的正確類別。
LDA:該方法將Web服務(wù)中的功能視為模型中的主題信息,通過(guò)使用LDA主題模型獲得Web服務(wù)的主題向量,之后使用聚類或分類算法對(duì)服務(wù)進(jìn)行劃分。
Word2Vec:該方法能夠保留Web 服務(wù)功能描述文本中所包含的隱含語(yǔ)義信息,通過(guò)對(duì)文本中所有詞匯的向量的和進(jìn)行平均獲得Web服務(wù)表征。
Doc2Vec:該方法是Word2Vec 算法的改進(jìn)版本,通過(guò)同時(shí)學(xué)習(xí)單詞向量和文檔向量獲得整個(gè)Web服務(wù)描述文本的向量表征。
WT-LDA(user tagging augmented LDA):該方法考慮了Web服務(wù)中標(biāo)簽信息與Web服務(wù)的主題信息,用于生成包含標(biāo)簽信息的主題向量。
HDP-SOM:該方法考慮了Web 服務(wù)數(shù)據(jù)稀疏的問(wèn)題,使用HDP(hierarchical Dirichlet processes)算法對(duì)擴(kuò)充后的Web 服務(wù)進(jìn)行主題建模,之后使用自組織神經(jīng)網(wǎng)絡(luò)(self-organizing feature map,SOM)進(jìn)行Web服務(wù)聚類。
GWSC(GAT2VEC-based Web service classification):該方法考慮了Web 服務(wù)之間的結(jié)構(gòu)關(guān)系和Web服務(wù)自身的屬性信息,獲得包含結(jié)構(gòu)信息和屬性信息的Web服務(wù)表征向量。最后使用SVM算法實(shí)現(xiàn)對(duì)Web服務(wù)的分類。
MISR:該方法為本文提出的方法。采用高斯混合模型和Word2Vec算法獲得包含主題信息的詞向量表示,再結(jié)合Web服務(wù)的屬性信息,如標(biāo)簽、流行度、共現(xiàn)系數(shù),生成融合多維信息的Web 服務(wù)表征向量。該表征向量可以直接用于Web服務(wù)聚類和分類任務(wù)中。
Web服務(wù)聚類是一個(gè)無(wú)監(jiān)督的學(xué)習(xí)過(guò)程,在聚類的過(guò)程中只能根據(jù)服務(wù)表征之間的相似性對(duì)服務(wù)進(jìn)行劃分。因此要獲得較好的聚類效果,對(duì)Web 服務(wù)表征向量的質(zhì)量要求更高。
在本實(shí)驗(yàn)中,使用MISR 方法,將API 服務(wù)轉(zhuǎn)換成了對(duì)應(yīng)的API 服務(wù)表征向量。同時(shí),對(duì)Mashup 服務(wù)數(shù)據(jù)使用沒(méi)有添加流行度和共現(xiàn)系數(shù)的MISR 方法,也將其轉(zhuǎn)換為了對(duì)應(yīng)的服務(wù)表征向量。之后,使用基本的-means 算法對(duì)不同方法所生成的Web 服務(wù)表征向量進(jìn)行聚類。在實(shí)驗(yàn)過(guò)程中,為了降低初始值的選取對(duì)-means算法效果的影響,本文對(duì)每組實(shí)驗(yàn)重復(fù)了10 次,取實(shí)驗(yàn)結(jié)果的平均值作為最終實(shí)驗(yàn)結(jié)果。
從表2、表3 中發(fā)現(xiàn),使用標(biāo)簽信息增強(qiáng)的WTLDA 方法的效果要優(yōu)于只使用LDA 對(duì)Web 服務(wù)建模的方法。這說(shuō)明標(biāo)簽信息確實(shí)能夠有效地提高Web 服務(wù)聚類的精度。同時(shí),Word2Vec 和Doc2Vec模型的效果并沒(méi)有比LDA 主題模型的效果好,這可能表明前兩種方法所提取出的局部文本語(yǔ)義信息在實(shí)際Web服務(wù)聚類過(guò)程中并沒(méi)有比LDA提取出的主題信息更加有效。WT-LDA 和HDP-SOM 方法雖然采用了附加信息,但是由于所采用的基本方法仍然是基于主題模型的方法,實(shí)驗(yàn)效果提升有限。本文方法在API 數(shù)據(jù)集上相比于LDA、Word2Vec、Doc2Vec、WT-LDA、HDP-SOM、GWSC方法在Micro-F1指標(biāo)上分別有38.8%、54.5%、15.3%、33.3%、44.7%、9.7%的提升。這表明包含豐富信息的Web服務(wù)表征向量有效提高了Web服務(wù)聚類的效果。
表2 API服務(wù)聚類結(jié)果對(duì)比Table 2 Results of API services clustering
表3 Mashup服務(wù)聚類結(jié)果對(duì)比Table 3 Results of Mashup services clustering
服務(wù)分類與服務(wù)聚類不同在于服務(wù)分類是有監(jiān)督的劃分方式。通過(guò)給定Web 服務(wù)的標(biāo)準(zhǔn)分類,使用機(jī)器學(xué)習(xí)等方法學(xué)習(xí)Web服務(wù)表征向量與其對(duì)應(yīng)的類別之間的關(guān)聯(lián)規(guī)則。與文獻(xiàn)[14]相同,本文考慮使用支持向量機(jī)作為Web服務(wù)分類任務(wù)中的基本分類器。在實(shí)驗(yàn)過(guò)程中,將選取的服務(wù)數(shù)據(jù)按照3∶1的比例劃分為訓(xùn)練集和測(cè)試集數(shù)據(jù),并且使用了10-折交叉驗(yàn)證,以降低實(shí)驗(yàn)誤差。使用GridSearch技術(shù)尋找SVM算法的最佳參數(shù)。
從表4、表5 可以看到,在同一個(gè)基本分類模型下,本文提出的Web 服務(wù)表征方法在Web 服務(wù)分類任務(wù)上取得了最好的效果。本文方法將Web服務(wù)中的功能主題信息和描述文檔中隱含的語(yǔ)義信息相結(jié)合,同時(shí)考慮了Web服務(wù)的標(biāo)簽信息、流行度和共現(xiàn)信息。因此,生成的Web 服務(wù)表征能夠明顯地提升Web分類任務(wù)的效果。
表4 API服務(wù)分類結(jié)果對(duì)比Table 4 Results of API services classification
表5 Mashup服務(wù)分類結(jié)果對(duì)比Table 5 Results of Mashup services classification
本文方法不但考慮了Web服務(wù)功能層面上的信息,同時(shí)也考慮了Web服務(wù)其他附加信息,如標(biāo)簽信息、流行度、共現(xiàn)信息。本節(jié)將驗(yàn)證多維信息對(duì)實(shí)驗(yàn)效果的影響。在API 數(shù)據(jù)集上進(jìn)行Web 服務(wù)分類任務(wù)來(lái)驗(yàn)證附加信息對(duì)Web服務(wù)表征向量的影響。
分別取數(shù)量最多的前類API服務(wù)作為本實(shí)驗(yàn)的數(shù)據(jù),其中=5,10,15,20。實(shí)驗(yàn)設(shè)置與之前Web服務(wù)分類實(shí)驗(yàn)相同,也采用了10-折交叉驗(yàn)證的方式,以降低實(shí)驗(yàn)誤差。使用添加了多維信息的Web服務(wù)表征向量和未添加多維信息的表征向量進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 Mashup服務(wù)分類結(jié)果對(duì)比Fig. 3 Results of Mashup services classification
從圖3可以看出,添加了多維信息的Web服務(wù)表征向量的效果明顯優(yōu)于未添加多維信息的向量。這表明Web服務(wù)中所包含的多維信息能夠提高Web服務(wù)分類任務(wù)的效果。同時(shí)隨著API 服務(wù)類別數(shù)量的增加,實(shí)驗(yàn)效果也在逐步降低,這是API 服務(wù)數(shù)量增加使得實(shí)驗(yàn)數(shù)據(jù)分布不均衡導(dǎo)致的。
本文提出了一種融合多維度信息的Web服務(wù)表征方法。該方法能夠獲得Web服務(wù)主題信息與功能語(yǔ)義信息,進(jìn)而融合多維度信息生成高效的服務(wù)表征向量。同時(shí)在真實(shí)數(shù)據(jù)集上驗(yàn)證了包含Web服務(wù)多維信息的服務(wù)表征向量能夠有效地提升Web服務(wù)聚類和分類的效果。