亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于GAT2VEC 的Web 服務(wù)分類方法*

        2021-02-25 12:15:48劉建勛曹步清曹應(yīng)成
        軟件學(xué)報(bào) 2021年12期
        關(guān)鍵詞:頂點(diǎn)分類節(jié)點(diǎn)

        肖 勇,劉建勛,胡 蓉,曹步清,曹應(yīng)成

        1(服務(wù)計(jì)算與軟件服務(wù)新技術(shù)湖南省重點(diǎn)實(shí)驗(yàn)室(湖南科技大學(xué)),湖南 湘潭 411201)

        2(湖南科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,湖南 湘潭 411201)

        Web 服務(wù)因其跨語(yǔ)言、跨平臺(tái)、松散耦合、基于開(kāi)放式標(biāo)準(zhǔn)等特點(diǎn),成為SOA(service-oriented architecture)的主流實(shí)現(xiàn)技術(shù).隨著SOA 架構(gòu)和Web 服務(wù)相關(guān)標(biāo)準(zhǔn)的日趨成熟,網(wǎng)絡(luò)上可用的Web 服務(wù)越來(lái)越多.例如:截止到2020 年3 月20 日,ProgrammableWeb 網(wǎng)站上已經(jīng)發(fā)布了7 961 個(gè)Mashup 和23 368 個(gè)Web API;而當(dāng)開(kāi)發(fā)人員希望檢索與消息傳遞相關(guān)的Mashup 時(shí),ProgrammableWeb 的搜索引擎將返回1 695 個(gè)搜索結(jié)果.因此,在大量服務(wù)中快速、準(zhǔn)確地發(fā)現(xiàn)和選擇所需要的服務(wù),成為服務(wù)計(jì)算領(lǐng)域的關(guān)鍵問(wèn)題之一.通常情況下,Web 服務(wù)缺少規(guī)范的形式化的描述模型,如Web 服務(wù)的描述文本內(nèi)容過(guò)少、描述語(yǔ)言不規(guī)范等.前者使得服務(wù)缺乏足夠有效信息,難以被用戶發(fā)現(xiàn);后者使得服務(wù)描述隨意性較大,可能導(dǎo)致相同的服務(wù)描述不一,而不同的服務(wù)卻描述相似,進(jìn)一步增加了服務(wù)查找和發(fā)現(xiàn)的難度[1].目前,該問(wèn)題已引起了眾多研究者的注意[2].其中,如何通過(guò)自動(dòng)服務(wù)分類減少服務(wù)匹配過(guò)程中的候選服務(wù)數(shù)量,以提高服務(wù)查找和服務(wù)發(fā)現(xiàn)的準(zhǔn)確性和效率,已成為了近年來(lái)的研究重點(diǎn).

        目前,關(guān)于Web 服務(wù)分類的研究主要以基于功能語(yǔ)義的服務(wù)分類方法為主.例如:Crosso 等人[3]將WSDL (Web service description language)中的元素進(jìn)行分割去除停用詞后,歸至詞根,然后利用不同的分類算法進(jìn)行分類.Katakis 等人[4]考慮了Web 服務(wù)的文本描述和語(yǔ)義標(biāo)注,解決了Web 服務(wù)在其應(yīng)用領(lǐng)域的自動(dòng)分類問(wèn)題.但是WSDL 文檔通常包含很少的描述內(nèi)容,導(dǎo)致這些算法通常無(wú)法取得較滿意的分類效果.隨著機(jī)器學(xué)習(xí)的興起,文檔主題生成模型開(kāi)始引起了眾多研究者的關(guān)注.Shi 等人[5]提出了一種考慮多重Web 服務(wù)關(guān)系的概率主題模型MR-LDA,其可對(duì)Web 服務(wù)之間相互組合的關(guān)系以及Web 服務(wù)之間共享標(biāo)簽的關(guān)系進(jìn)行建模.Cao 等人[6]通過(guò)注意力機(jī)制將BiLSTM 局部的隱狀態(tài)向量和全局的LDA 主題向量結(jié)合起來(lái),提出一種基于主題注意力機(jī)制Bi- LSTM 的Web 服務(wù)分類方法.但是主題模型通常是基于大量的已知觀測(cè)樣本來(lái)推測(cè)隱含的后驗(yàn)主題分布概率,需要大量的輔助信息.為了進(jìn)一步利用有限的特征信息挖掘出Web 服務(wù)之間的隱含關(guān)系,越來(lái)越多的深度學(xué)習(xí)方法被引入到了服務(wù)分類領(lǐng)域.Ye 等人[1]將Web 服務(wù)描述文檔中的所有離散特征結(jié)合起來(lái),利用Wide & Bi- LSTM 模型對(duì)Web 服務(wù)類別進(jìn)行預(yù)測(cè).Chen 等人[7]利用LSA 模型對(duì)移動(dòng)應(yīng)用內(nèi)容文本進(jìn)行全局主題建模,再通過(guò)BiLSTM 模型對(duì)內(nèi)容文本進(jìn)行局部隱藏表征,提出一種主題注意力機(jī)制增強(qiáng)的移動(dòng)應(yīng)用分類方法.但是這些深度學(xué)習(xí)的方法在耗費(fèi)了大量計(jì)算資源的前提下,對(duì)服務(wù)分類準(zhǔn)確度的提升并不明顯.總的來(lái)說(shuō),上述的方法與技術(shù)雖然提高了Web 服務(wù)分類的精度,但普遍存在以下兩個(gè)問(wèn)題.

        (1) 盡管考慮到了Web 服務(wù)描述文檔通常比較短、語(yǔ)料有限等問(wèn)題,并提出挖掘描述文檔中詞語(yǔ)的語(yǔ)序和上下文信息或融合標(biāo)簽等輔助信息的方法,更好地實(shí)現(xiàn)了短文本建模,但是這些方法利用的離散特征關(guān)聯(lián)性一般,且始終沒(méi)有較好地解決文檔語(yǔ)義稀疏的問(wèn)題;

        (2) 這些方法基本都依賴于文本描述信息和標(biāo)簽等屬性信息,而未考慮Web 服務(wù)之間的結(jié)構(gòu)交互關(guān)系.在實(shí)際情況中,Web 服務(wù)之間存在著豐富的對(duì)象和鏈接.例如:在ProgrammbleWeb 數(shù)據(jù)集中,存在兩個(gè)Mashup(200 Towns 和#haiku),它們都屬于Photos 類,然而二者的標(biāo)簽和主題描述都不相似,因此很難將二者歸為一類.但是這兩個(gè)Mashup 在結(jié)構(gòu)上都調(diào)用了同一個(gè)名為Twitter 的API.由此可見(jiàn),結(jié)構(gòu)交互信息在分類任務(wù)中起著相當(dāng)重要的作用.

        網(wǎng)絡(luò)表征學(xué)習(xí)(network representation learning,簡(jiǎn)稱NRL)是最近提出的通過(guò)學(xué)習(xí)網(wǎng)絡(luò)節(jié)點(diǎn)連續(xù)、低維的潛在特征來(lái)解決稀疏性問(wèn)題的一種重要方法.這些特征涵蓋了網(wǎng)絡(luò)的全局結(jié)構(gòu),并可以被提取到后續(xù)的機(jī)器學(xué)習(xí)任務(wù)中.其中,將Deepwalk[8]算法應(yīng)用到網(wǎng)絡(luò)中提取特征并進(jìn)行表征,成為一種常用的方法.它通常是先通過(guò)短隨機(jī)游走得到節(jié)點(diǎn)序列,然后輸入到SkipGram 模型中,得到最終的嵌入向量.直觀地說(shuō),鄰近的節(jié)點(diǎn)往往具有相似的上下文(序列),因此具有彼此相似的嵌入.這一基本思想在后來(lái)的若干方面得到了擴(kuò)展[9,10].近年來(lái),Yang 等人[11]證明了Deepwalk 等價(jià)于鄰接矩陣M的因式分解,并提出了一種通過(guò)分解文本關(guān)聯(lián)矩陣結(jié)合節(jié)點(diǎn)文本特征的TADW(text-associated deep walk)模型.Pan 等人[12]提出的TriDNR(tri-party deep network representation)同時(shí)使用結(jié)構(gòu)、文本和嵌入的部分標(biāo)簽信息來(lái)進(jìn)行網(wǎng)絡(luò)表征.這些NRL 方法的出現(xiàn),使得我們充分考慮Web 服務(wù)之間的結(jié)構(gòu)交互關(guān)系,并同時(shí)融合結(jié)構(gòu)關(guān)系和文本屬性的想法成為可能.在此基礎(chǔ)上,為了解決傳統(tǒng)Web 服務(wù)分類模型所存在的問(wèn)題,本文提出一種基于GAT2VEC[13]的Web 服務(wù)分類方法(簡(jiǎn)稱GWSC).通過(guò)從服務(wù)網(wǎng)絡(luò)圖中獲取包含組合調(diào)用等信息的結(jié)構(gòu)上下文和服務(wù)自身的屬性上下文,GWSC 充分保持了Web 服務(wù)之間結(jié)構(gòu)和屬性的鄰近度,并使用了單一神經(jīng)層共同學(xué)習(xí)這些特征,從而通過(guò)融合多個(gè)信息源提升了Web 服務(wù)分類的精度.值得一提的是:由于GWSC 將屬性文本信息以拓?fù)浣Y(jié)構(gòu)化的形式來(lái)表示,使得在低維空間中學(xué)習(xí)到的屬性文本信息表征也可以重構(gòu)出原有的服務(wù)關(guān)系網(wǎng)絡(luò),從而可較好地解決文檔語(yǔ)義稀疏的問(wèn)題.

        本文第1 節(jié)具體介紹GWSC 方法.第2 節(jié)進(jìn)行實(shí)驗(yàn)評(píng)估及分析.第3 節(jié)介紹相關(guān)工作.第4 節(jié)對(duì)本文工作進(jìn)行總結(jié).

        1 方法介紹

        GWSC 方法框架如圖1 所示.首先,對(duì)于每個(gè)服務(wù)網(wǎng)絡(luò)圖中的頂點(diǎn),我們通過(guò)隨機(jī)游走得到其相對(duì)于其他頂點(diǎn)的結(jié)構(gòu)和屬性上下文;然后,將這兩種上下文語(yǔ)義信息結(jié)合起來(lái),學(xué)習(xí)出一種既保留結(jié)構(gòu)又保留屬性近似值的網(wǎng)絡(luò)嵌入表征;最后,將得到的表征向量輸入到SVM 模型當(dāng)中進(jìn)行分類預(yù)測(cè).其方法框架如圖1 所示,具體來(lái)說(shuō),GWSC 由以下網(wǎng)絡(luò)生成、隨機(jī)游走、表征學(xué)習(xí)和SVM 分類這4 個(gè)階段組成.

        Fig.1 GWSC method framework圖1 GWSC 方法框架

        1.1 網(wǎng)絡(luò)生成

        首先,我們考慮一個(gè)如圖2 所示的服務(wù)網(wǎng)絡(luò)圖G=(V,E,A),它由一組頂點(diǎn)V、一組邊E和一個(gè)屬性函數(shù)A:V→ 2C組成,其中,C是所有可能屬性的集合.

        Fig.2 Service network graph圖2 服務(wù)網(wǎng)絡(luò)圖

        例如:對(duì)于本文的Web 服務(wù)網(wǎng)絡(luò),節(jié)點(diǎn)可以是Mashup,如果兩個(gè)Mashup 調(diào)用了同一個(gè)API,則認(rèn)為這兩個(gè)Mashup 節(jié)點(diǎn)之間存在一條邊.而屬性可以是Mashup 的名稱、關(guān)鍵詞、標(biāo)簽等.此外,在本文中,我們將預(yù)處理以后的描述文檔里所包含的核心語(yǔ)義信息也加入到了屬性集合中.我們的目標(biāo)是學(xué)習(xí)一個(gè)低維網(wǎng)絡(luò)表示σ:V→ Rd,其中,d<<|V|是學(xué)習(xí)表征的維數(shù),從而保存結(jié)構(gòu)和屬性上下文信息;同時(shí),σ也是為后續(xù)的分類任務(wù)提供的特征 輸入.在本文中,我們考慮G是一個(gè)齊次的、非加權(quán)的、部分屬性的圖.

        然后,我們從服務(wù)網(wǎng)絡(luò)圖G中得到兩個(gè)圖.

        1.結(jié)構(gòu)連通圖Gs=(Vs,E),由邊集E中包含的頂點(diǎn)的子集Vs?V組成.如圖3 所示,我們把Vs中的頂點(diǎn)稱為結(jié)構(gòu)頂點(diǎn),而邊(ps,qs)∈E編碼了節(jié)點(diǎn)間的結(jié)構(gòu)關(guān)系;

        2.屬性二分圖Ga=(Va,C,Ea),如圖4 所示,它由3 部分構(gòu)成.

        (1) 與屬性相關(guān)聯(lián)的內(nèi)容頂點(diǎn)Va?V的子集;

        (2) 上述服務(wù)網(wǎng)絡(luò)圖定義中給出的可能屬性頂點(diǎn)集C;

        (3) 將內(nèi)容頂點(diǎn)連接到由函數(shù)A關(guān)聯(lián)的屬性頂點(diǎn)的邊集Ea:

        Fig.3 Structural connected graph圖3 結(jié)構(gòu)連通圖

        Fig.4 Attribute bipartite graph圖4 屬性二分圖

        定義1.兩個(gè)內(nèi)容頂點(diǎn)u,v∈Ga只能通過(guò)屬性頂點(diǎn)到達(dá).

        在定義1 中,內(nèi)容頂點(diǎn)之間的路徑包含內(nèi)容頂點(diǎn)和屬性頂點(diǎn).因此,包含在路徑中的內(nèi)容頂點(diǎn)具有上下文關(guān)系,因?yàn)樗鼈兛梢酝ㄟ^(guò)某些屬性頂點(diǎn)到達(dá),這些內(nèi)容頂點(diǎn)構(gòu)成屬性上下文.我們方法遵循的是:“如果它們與相似的對(duì)象相連,那么這兩個(gè)實(shí)體是相似的”.這種現(xiàn)象可以在許多應(yīng)用中觀察到,例如在二分圖“Mashup-標(biāo)簽”中,“Mashup”被定義了“標(biāo)簽”,如果兩個(gè)Mashup 被定義了相似的標(biāo)簽,那么二者就是相似的.這種二分網(wǎng)絡(luò)結(jié)構(gòu)在文獻(xiàn)[14]中也被使用過(guò),它建立了文檔和文檔中的詞語(yǔ)之間的網(wǎng)絡(luò)模型.

        1.2 隨機(jī)游走

        總的來(lái)說(shuō),實(shí)體之間的相似性可以用幾種方式來(lái)衡量.例如,它可以根據(jù)圖中兩個(gè)節(jié)點(diǎn)的距離來(lái)測(cè)量:在圖4的屬性二分圖中,節(jié)點(diǎn)2 和節(jié)點(diǎn)8 都與節(jié)點(diǎn)1 有屬性連接,因此我們可以說(shuō)它們與節(jié)點(diǎn)1 具有相等的相似性;但是有3 條連接節(jié)點(diǎn)1 和節(jié)點(diǎn)8 的路徑,而連接節(jié)點(diǎn)1 和節(jié)點(diǎn)2 的只有一條路徑,因此,節(jié)點(diǎn)1 和節(jié)點(diǎn)8 比節(jié)點(diǎn)1和節(jié)點(diǎn)2 更相似.

        隨機(jī)游走的方法有很多[8-10,12,15],本文采用短隨機(jī)游走的方法,在Gs和Ga上進(jìn)行隨機(jī)游走,從而獲得頂點(diǎn)的結(jié)構(gòu)和屬性上下文,因?yàn)槎屉S機(jī)游走能夠有效地捕獲具有高相似度節(jié)點(diǎn)的上下文.

        首先,我們通過(guò)在結(jié)構(gòu)連通圖Gs上的隨機(jī)游走來(lái)捕獲結(jié)構(gòu)上下文.對(duì)于每個(gè)頂點(diǎn),通過(guò)γs次長(zhǎng)度為λs的隨機(jī)游走來(lái)構(gòu)造一個(gè)語(yǔ)料庫(kù)R.該上下文語(yǔ)料信息將被用于嵌入,目的是保持局部和全局的結(jié)構(gòu)信息.我們把ri表示為隨機(jī)游走序列r∈R中的第i個(gè)頂點(diǎn).例如,圖3 中的隨機(jī)游走路徑可以是:r=[2,3,4,3,1],步長(zhǎng)為5,從頂點(diǎn)2 開(kāi)始,結(jié)束于頂點(diǎn)1.

        而在屬性二分圖Ga中,隨機(jī)游走從一個(gè)內(nèi)容頂點(diǎn)開(kāi)始,通過(guò)屬性節(jié)點(diǎn)跳轉(zhuǎn)到其他內(nèi)容頂點(diǎn).這樣,屬性頂點(diǎn)充當(dāng)內(nèi)容頂點(diǎn)之間的橋梁,從而確定內(nèi)容頂點(diǎn)之間的上下文關(guān)系.即,哪些內(nèi)容頂點(diǎn)是密切相關(guān)的.由于我們感興趣的是這些頂點(diǎn)在隨機(jī)游走中展現(xiàn)出的關(guān)聯(lián)度,而不是通過(guò)哪些屬性將它們連接起來(lái),所以我們忽略了隨機(jī)游走中的屬性頂點(diǎn).因此,游走只包含Va的頂點(diǎn).屬性相似性較高的頂點(diǎn)組在隨機(jī)游走中可能經(jīng)常出現(xiàn)在一起.類似于Gs,我們執(zhí)行γa次長(zhǎng)度為λa的隨機(jī)游走并構(gòu)造一個(gè)語(yǔ)料庫(kù)W,wj是指隨機(jī)游走序列w∈W中的第j個(gè)頂點(diǎn).例如,圖4 中具有屬性的隨機(jī)游走路徑可以是:[2,b,1,c,8,b,2,b,8].我們?cè)诼窂街刑^(guò)屬性節(jié)點(diǎn),因此,相應(yīng)的路徑是w=[2,1,8,2,8],步長(zhǎng)為5,從頂點(diǎn)2 開(kāi)始,以頂點(diǎn)8 結(jié)束.

        1.3 表征學(xué)習(xí)

        在得到結(jié)構(gòu)和屬性上下文以后,我們使用SkipGram 模型共同學(xué)習(xí)基于這兩個(gè)上下文的嵌入.具體來(lái)說(shuō),我們從每個(gè)結(jié)構(gòu)或?qū)傩陨舷挛闹羞x擇頂點(diǎn)vx∈Vs|Va,并將其輸入到SkipGram.輸入頂點(diǎn)vx是一個(gè)獨(dú)熱編碼向量,同時(shí)也是目標(biāo)頂點(diǎn),輸出層產(chǎn)生關(guān)聯(lián)上下文頂點(diǎn)到給定輸入頂點(diǎn)的2c多項(xiàng)式分布.c是上下文大小,即在目標(biāo)頂點(diǎn)之前或之后的預(yù)測(cè)頂點(diǎn)的數(shù)量.同樣,輸出頂點(diǎn)可以屬于結(jié)構(gòu)頂點(diǎn),也可以屬于屬性頂點(diǎn),這取決于它們?cè)陔S機(jī)游走中的共現(xiàn)性.

        GWSC 方法的最終目的是,能夠最大化目標(biāo)頂點(diǎn)的結(jié)構(gòu)和屬性上下文概率.與以往的研究[8,9]類似,我們假定當(dāng)給定一個(gè)目標(biāo)頂點(diǎn)時(shí),其上下文頂點(diǎn)的概率彼此獨(dú)立.因此,我們的目標(biāo)函數(shù)定義如下:

        等式(1)可以寫成:

        其中,r-c:rc和w-c:wc分別對(duì)應(yīng)于R和W語(yǔ)料庫(kù)中隨機(jī)游走長(zhǎng)度為2c的上下文窗口內(nèi)的一系列頂點(diǎn).公式的前半部分使用結(jié)構(gòu)上下文進(jìn)行學(xué)習(xí),后半部分從屬性上下文中進(jìn)行學(xué)習(xí).如果|Va|=0,那么模型將變成Deepwalk,也就是說(shuō),只從結(jié)構(gòu)中學(xué)習(xí).當(dāng)ri是結(jié)構(gòu)上下文r中的中心頂點(diǎn)時(shí),p(rj|ri)是第j個(gè)頂點(diǎn)的概率;而當(dāng)wi是屬性上下文w中的中心頂點(diǎn)時(shí),p(wt|wi)是第t個(gè)頂點(diǎn)的概率,這些概率可以用softmax函數(shù)來(lái)計(jì)算.概率p(rj|ri)可計(jì)算為

        其中,φ(·),φ(·)分別表示上下文頂點(diǎn)或目標(biāo)頂點(diǎn).同樣的,也可以用等式(3)計(jì)算p(wt|wi).

        由于需要對(duì)圖的所有頂點(diǎn)進(jìn)行歸一化處理,使得計(jì)算量很大.因此,我們用分層的softmax函數(shù)[16]來(lái)進(jìn)行計(jì)算.在這之后,使用Huffman 編碼來(lái)構(gòu)造具有頂點(diǎn)作為葉節(jié)點(diǎn)的層次softmax的二叉樹(shù)[17].因此,為了計(jì)算概率,我們只需遵循從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑.所以,葉節(jié)點(diǎn)rj出現(xiàn)在結(jié)構(gòu)上下文中的概率是:

        其中,d=log|Vs|是樹(shù)的深度,sh是路徑中的節(jié)點(diǎn),so為根節(jié)點(diǎn),且sd=rj.此外,將p(rj|ri)建模為二進(jìn)制分類器,可以使計(jì)算復(fù)雜度降至O(log|Vs|).這同樣適用于計(jì)算屬性上下文中頂點(diǎn)的概率.而考慮到我們是從兩個(gè)上下文中計(jì)算概率的,所以我們的整體計(jì)算復(fù)雜度應(yīng)該是O(log|Vs|+log|Va|).

        1.4 SVM分類

        在得到了表征向量以后,我們需要將表征向量輸入到分類器中進(jìn)行訓(xùn)練.解決分類問(wèn)題的方法有很多,主要包括決策樹(shù)、貝葉斯、K-近鄰、人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(SVM)等.對(duì)于決策樹(shù),數(shù)據(jù)的準(zhǔn)備往往是簡(jiǎn)單的,且易于通過(guò)靜態(tài)測(cè)試來(lái)對(duì)模型進(jìn)行評(píng)測(cè),但對(duì)于那些各類別樣本數(shù)量不一致的數(shù)據(jù),信息增益的結(jié)果往往偏向于那些具有更多數(shù)值的特征.而貝葉斯所需估計(jì)的參數(shù)很少,對(duì)缺失數(shù)據(jù)不太敏感,算法也比較簡(jiǎn)單,但需要知道先驗(yàn)概率,且分類決策存在錯(cuò)誤率.K-近鄰算法簡(jiǎn)單有效,重新訓(xùn)練的代價(jià)也較低,但該算法在分類時(shí)有個(gè)很明顯的缺點(diǎn)是:當(dāng)樣本不平衡時(shí),如一個(gè)類的樣本容量很大,而其他類樣本容量很小時(shí),有可能導(dǎo)致當(dāng)輸入一個(gè)新樣本時(shí),該樣本的K個(gè)鄰居中大容量類的樣本占多數(shù).人工神經(jīng)網(wǎng)絡(luò)分類的準(zhǔn)確度往往較高,并行分布處理能力較強(qiáng),但通常應(yīng)用于大規(guī)模數(shù)據(jù)集,且需要大量的參數(shù),如網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、權(quán)值和閾值的初始值,學(xué)習(xí)時(shí)間較長(zhǎng),甚至可能達(dá)不到學(xué)習(xí)的目的.相比之下,SVM 雖然缺乏對(duì)數(shù)據(jù)的敏感度,但可以解決高維和非線性問(wèn)題,而且在提高了泛化性能力的基礎(chǔ)上,可以解決小樣本情況下的機(jī)器學(xué)習(xí)問(wèn)題,避免了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)選擇和局部極小點(diǎn)的情況.

        由于本文的數(shù)據(jù)集較小,不適合用人工神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,且存在類別樣本數(shù)分布不均的問(wèn)題,例如在API數(shù)據(jù)集中,僅樣本數(shù)排名第一的Tools 類與樣本數(shù)排名第十的Science 類就相差了503 個(gè)樣本數(shù),所以決策樹(shù)和K-近鄰算法在本文中也不適用.綜合考慮之下,我們最終選擇SVM 算法進(jìn)行分類.具體步驟如下.

        ? 首先,對(duì)于k(k≥2)類問(wèn)題,我們根據(jù)得到的表征向量和已知的數(shù)據(jù)構(gòu)建樣本集(x1,y1),…,(xl,yl),xi∈Rn,i=1,…,l,yi∈{1,…,k},l表示樣本數(shù);

        ? 然后,把類1 作為一類,其余k-1 類視為一類,自然地將k分類問(wèn)題轉(zhuǎn)化為二分類問(wèn)題,在訓(xùn)練過(guò)程中,每個(gè)分類函數(shù)都需要所有樣本參與.其分類函數(shù)為

        其中,上標(biāo)表示第j個(gè)SVM 分類器的決策函數(shù),和分別為第j個(gè)支持向量的參數(shù)和類別標(biāo)號(hào),bj為偏移量.對(duì)于待測(cè)樣本,若:

        則輸入樣本屬于第l類;

        ? 最后,對(duì)所有樣本執(zhí)行上述操作即可完成所有分類任務(wù).

        2 實(shí)驗(yàn)評(píng)估及分析

        2.1 數(shù)據(jù)集描述及處理

        為評(píng)估模型,我們從ProgrammableWeb.com 網(wǎng)站上爬取了6 415 個(gè)Mashup 和12 919 個(gè)API 的信息,包括他們的名稱、描述文檔、主次分類等信息,基本的統(tǒng)計(jì)信息見(jiàn)表1、表2,完整的數(shù)據(jù)集可以在http://kpnm.hnust.cn/xstdset.html 網(wǎng)址上進(jìn)行下載.

        Table 1 Data statistics of Mashup表1 Mashup 數(shù)據(jù)統(tǒng)計(jì)信息

        Table 2 Data statistics of API表2 API 數(shù)據(jù)統(tǒng)計(jì)信息

        在爬取的數(shù)據(jù)中,類別為“Search”的Mashup 就有306 個(gè),而類別“Cities”中僅僅包含了一個(gè)Mashup.同樣,類別為“Tools”的API 有790 個(gè),而類別“Solar”中僅僅包含了一個(gè)API.因此,我們選取了數(shù)量最多的前10~50 類Mashup 和API 用于實(shí)驗(yàn),詳細(xì)的分布情況請(qǐng)見(jiàn)表3、表4.

        Table 3 Top 10 categories with the largest number in Mashup表3 Mashup 數(shù)量最多的前10 類

        Table 4 Top 10 categories with the largest number in API表4 API 數(shù)量最多的前10 類

        由于在構(gòu)建屬性二分圖時(shí)需要用到大量文本信息,為了提高分類的精確度,我們首先要對(duì)Mashup 和API的描述文檔進(jìn)行預(yù)處理.過(guò)程如下.

        (1) 分詞(tokenize):將每個(gè)單詞按照空格分開(kāi),且將單詞和標(biāo)點(diǎn)符號(hào)也分開(kāi),使得文本中的單詞、字符變成單獨(dú)的單元;

        (2) 去停用詞(stop words):去除英文中一些無(wú)意義的詞以及標(biāo)點(diǎn)符號(hào),如“a”“the”“to”“@”等;

        (3) 詞干化處理(stemming):在英文文本中,同一個(gè)單詞會(huì)因?yàn)槿朔Q、時(shí)態(tài)的不同而有不同的表現(xiàn)形式,如“adaptation”“adapted”“adapting”,它們實(shí)際上都是同一個(gè)單詞“adapt”.若將這些單詞看作是不同的單詞,那么之后的實(shí)驗(yàn)結(jié)果的準(zhǔn)確度將會(huì)降低,故需要進(jìn)行詞干化處理.

        在完成以上3 個(gè)步驟后,獲得了處理好的Mashup 和API 描述文檔.同時(shí),我們可以注意到:Mashup 數(shù)據(jù)集中,最多的“Mapping”類有1 034 個(gè),而排第二的“Search”類只有306 個(gè).為防止數(shù)據(jù)集樣本分布不均影響實(shí)驗(yàn)結(jié)果,我們隨機(jī)選取類別為“Mapping”的子集434 條作為其實(shí)驗(yàn)數(shù)據(jù).而API 數(shù)據(jù)集分布較為均勻,影響不大,不需要做相關(guān)處理,所有的數(shù)據(jù)集實(shí)驗(yàn)統(tǒng)計(jì)見(jiàn)表5、表6.

        Table 5 Experimental statistics of Mashup dataset表5 Mashup 數(shù)據(jù)集實(shí)驗(yàn)統(tǒng)計(jì)

        Table 6 Experimental statistics of API dataset表6 API 數(shù)據(jù)集實(shí)驗(yàn)統(tǒng)計(jì)

        2.2 評(píng)估標(biāo)準(zhǔn)

        一般來(lái)說(shuō),Web 服務(wù)分類結(jié)果有以下4 種情況.

        (1) 屬于類A的樣本被正確分類到類A,將這一類樣本標(biāo)記為TP;

        (2) 不屬于類A的樣本被錯(cuò)誤分類到類A,將這一類樣本標(biāo)記為FP;

        (3) 不屬于類別A的樣本被正確分類到了類別A的其他類,將這一類樣本標(biāo)記為TN;

        (4) 屬于類別A的樣本被錯(cuò)誤分類到類A的其他類,將這一類樣本標(biāo)記為FN.

        我們采用MacroF1 值和MicroF1 值作為性能評(píng)價(jià)指標(biāo),其中,Web 服務(wù)分類的MacroF1 值計(jì)算公式如下:

        而Web 服務(wù)分類的MicroF1 值計(jì)算公式如下:

        上述公式中,Precision 表示準(zhǔn)確率,Recall 表示召回率,N表示分類的類別數(shù).

        2.3 對(duì)比方法

        我們用GWSC 比較了最新的嵌入算法:兩種基于屬性內(nèi)容的方法(Doc2vec 和LDA)、兩種基于結(jié)構(gòu)關(guān)系的方法(Deepwalk 和Node2vec)以及一種同時(shí)使用結(jié)構(gòu)關(guān)系和屬性內(nèi)容的方法(TriDNR),且所有方法均采用SVM算法進(jìn)行分類.

        ? Doc2vec[17]:Doc2vec 是一種無(wú)監(jiān)督的神經(jīng)網(wǎng)絡(luò)模型,用于學(xué)習(xí)句子、段落或文檔等可變長(zhǎng)度文本的表示.該模型將每個(gè)單詞、句子和段落都映射到向量空間中,然后將段落向量和詞向量級(jí)聯(lián)或者求平均得到特征,從而同時(shí)學(xué)習(xí)單詞向量和文檔向量.我們將與每個(gè)頂點(diǎn)相關(guān)的文本輸入到模型中,并得到了每個(gè)頂點(diǎn)的表示;

        ? LDA[18]:LDA 是一種非監(jiān)督機(jī)器學(xué)習(xí)技術(shù),可以用來(lái)識(shí)別大規(guī)模文檔集或語(yǔ)料庫(kù)中潛藏的主題信息,并將文檔集或語(yǔ)料庫(kù)中每篇文檔的主題以概率分布的形式給出.它采用了詞袋的方法,這種方法將每一篇文檔視為一個(gè)詞頻向量,從而將文本信息轉(zhuǎn)化為了易于建模的數(shù)字信息;

        ? Deepwalk[8]:Deepwalk 是一種基于隨機(jī)均勻游走的方法,它僅利用結(jié)構(gòu)信息來(lái)學(xué)習(xí)網(wǎng)絡(luò)中頂點(diǎn)的一維特征表示.該方法利用構(gòu)造節(jié)點(diǎn)在網(wǎng)絡(luò)上的隨機(jī)游走路徑來(lái)模仿文本生成的過(guò)程,并提供一個(gè)節(jié)點(diǎn)序列,然后用Skip-Gram 模型對(duì)隨機(jī)游走序列中每個(gè)局部窗口內(nèi)的節(jié)點(diǎn)對(duì)進(jìn)行概率建模,最大化隨機(jī)游走序列的似然概率,從而學(xué)習(xí)節(jié)點(diǎn)的分布式表示;

        ? Node2vec[9]:Node2vec 類似于Deepwalk,主要的創(chuàng)新點(diǎn)在于改進(jìn)了隨機(jī)游走的策略,定義了兩個(gè)參數(shù)p和q,在廣度優(yōu)先搜索(BFS)和深度優(yōu)先搜索(DFS)中達(dá)到一個(gè)平衡,BFS 用于探究圖中的結(jié)構(gòu)性質(zhì),而DFS 則用于探究出相鄰節(jié)點(diǎn)之間的相似性,從而同時(shí)考慮到了局部和宏觀的信息,并且具有很高的適應(yīng)性;

        ? TriDNR[12]:TriDNR 使用3 個(gè)信息源——網(wǎng)絡(luò)結(jié)構(gòu)、頂點(diǎn)內(nèi)容和標(biāo)簽信息來(lái)學(xué)習(xí)頂點(diǎn)的表示.它結(jié)合了兩種模型:Deepwalk 從結(jié)構(gòu)中學(xué)習(xí)表示,Doc2vec 用于捕獲與節(jié)點(diǎn)內(nèi)容和標(biāo)簽信息相關(guān)的上下文.最終表示是這兩個(gè)模型輸出的線性組合;

        2.4 實(shí)驗(yàn)結(jié)果

        2.4.1 實(shí)驗(yàn)設(shè)置

        在實(shí)驗(yàn)中,我們選擇70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測(cè)試集.對(duì)于Mashup 數(shù)據(jù)集,我們將隨機(jī)游走次數(shù)γs和γa均設(shè)置為30,游走步長(zhǎng)λs和λa均設(shè)置為120;表征的維度大小d設(shè)置為128,窗口大小c設(shè)置為5.對(duì)于API 數(shù)據(jù)集,我們將隨機(jī)游走次數(shù)γs和γa均設(shè)置為30,游走步長(zhǎng)λs和λa均設(shè)置為120;表征的維度大小d設(shè)置為128,窗口大小c設(shè)置為5.為保證實(shí)驗(yàn)的客觀性,GWSC 與其他方法之間共有的參數(shù)設(shè)置為相同的值,而其余的參數(shù)被設(shè)置為默認(rèn)的最優(yōu)值.

        2.4.2 分類性能比較

        我們分別選取了數(shù)量最多的前10~50 類Mashup 和API 進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見(jiàn)表7、表8.此外,我們借助t-SNE 工具[19]基于PCA 降維技術(shù)對(duì)前20 類分類結(jié)果進(jìn)行了可視化,其效果如圖5、圖6 所示.顯然,對(duì)于兩個(gè)數(shù)據(jù)集,本文所提出的GWSC 方法在MicroF1 值和MacroF1 值兩個(gè)指標(biāo)上均要優(yōu)于其余5 種方法.例如:當(dāng)服務(wù)類別數(shù)為10 時(shí),在Mashup 數(shù)據(jù)集上,GWSC 相比于Doc2vec,LDA,Deepwalk,Node2vec 和TriDNR 在MacroF1值上分別有135.3%,60.3%,12.4%,10.5% 和 4.3% 的提升; 而在API 數(shù)據(jù)集上,GWSC 相比于Doc2vec,LDA,Deepwalk,Node2vec 和TriDNR 在MacroF1 值上分別有137.2%,61.3%,14.3%,8.6%和1.1%的提升,效果顯著.具體來(lái)說(shuō):

        (1) 隨著數(shù)據(jù)集所取分類的類別數(shù)增多,分類的效果逐漸下降.其原因可能是:

        1) 分類的類別數(shù)越多,包含的信息就越多且越復(fù)雜,模型分類的難度也就越大;

        2) 分類是按照每個(gè)類別包含的Mashup 或API 的數(shù)量進(jìn)行排名的,而排名靠后的類別由于所包含的Mashup 或API 數(shù)量的減少,其所能利用的信息相對(duì)來(lái)說(shuō)就會(huì)減少,從而影響分類效果;

        (2) 基于結(jié)構(gòu)關(guān)系的方法(Deepwalk 和Node2vec)其效果要遠(yuǎn)優(yōu)于基于屬性內(nèi)容的方法(Doc2vec 和LDA).這個(gè)結(jié)果表明:對(duì)于Mashup 分類,結(jié)構(gòu)信息比內(nèi)容信息更重要.因?yàn)檎{(diào)用同一個(gè)API 的兩個(gè)Mashup 在功能需求上往往一樣,那么二者的類別就會(huì)更相似.同樣,對(duì)于API 分類,結(jié)構(gòu)信息也比內(nèi)容信息更重要.因?yàn)楸煌粋€(gè)Mashup 調(diào)用的兩個(gè)API 在功能上往往需要滿足類似的需求,那么二者的類別也就會(huì)更相似;

        (3) 對(duì)于Mashup 和API 兩個(gè)數(shù)據(jù)集,同時(shí)使用結(jié)構(gòu)關(guān)系和屬性內(nèi)容的方法(TriDNR,GWSC),其表現(xiàn)要明顯優(yōu)于只使用單一信息的方法.這也就驗(yàn)證了:對(duì)于同一個(gè)數(shù)據(jù)集而言,捕獲的信息越多,特征向量的表示往往就越準(zhǔn)確,分類的效果也就會(huì)隨之提升;

        兩組睡前均給予服用硝苯地平(福建中合醫(yī)藥股份有限公司生產(chǎn),國(guó)藥準(zhǔn)字H35020579),起始劑量為10 mg,2次/d,根據(jù)病情可酌情增加,最大劑量≤40 mg,3次/d。對(duì)照組在此基礎(chǔ)上口服氟伐他?。êUx瑞制藥有限公司生產(chǎn),國(guó)藥準(zhǔn)字H20070168),起始劑量40 mg,1次/d,最大劑量≤80 mg,1次/d。基于此,觀察組加用纈沙坦(北京諾華制藥有限公司生產(chǎn),國(guó)藥準(zhǔn)字H20173014),起始劑量80 mg,1次/d,最大劑量≤160 mg,1次/d。

        (4) GWSC 相比于TriDNR,在整體上有了一定幅度的提升.這表明:將屬性文本信息以結(jié)構(gòu)化的形式來(lái)表示,確實(shí)有利于Mashup 和API 的分類效果.在GWSC 方法中,Mashup 和API 的屬性信息被構(gòu)建成了二分圖,并以深度游走的方式嵌入到了表征向量中;

        (5) 整體來(lái)說(shuō),Mashup 的分類效果要優(yōu)于API 的分類效果.其原因可能是:

        1) API 數(shù)據(jù)集比Mashup 數(shù)據(jù)集更大,種類和標(biāo)簽都更加豐富,包含的信息更復(fù)雜,相對(duì)應(yīng)的,數(shù)據(jù)集中的特征信息會(huì)更難以捕獲,分類的難度也就會(huì)越大;

        2) 在Mashup 數(shù)據(jù)集中,每一個(gè)Mashup 都至少調(diào)用了一個(gè)API;而在API 數(shù)據(jù)集中,有部分API 并沒(méi)有被Mashup 調(diào)用,Mashup 數(shù)據(jù)集的結(jié)構(gòu)更趨完整,且描述文檔更加規(guī)范,種類相對(duì)來(lái)說(shuō)更為集中.

        Table 7 Experimental results of Mashup dataset表7 Mashup 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果

        Table 8 Experimental results of API dataset表8 API 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果

        Fig.5 Visualization results with 20 categories classification of Mashup dataset圖5 Mashup 數(shù)據(jù)集20 分類可視化結(jié)果

        Fig.6 Visualization results with 20 categories classification of API dataset圖6 API 數(shù)據(jù)集20 分類可視化結(jié)果

        2.5 結(jié)構(gòu)信息與屬性信息權(quán)重分析

        為了驗(yàn)證第2.4 節(jié)第(2)點(diǎn)所提出的結(jié)構(gòu)信息比屬性信息更加重要的觀點(diǎn),我們對(duì)GAT2VEC 框架進(jìn)行了一些修改,從而實(shí)現(xiàn)對(duì)結(jié)構(gòu)信息與屬性信息的權(quán)重分析.具體來(lái)說(shuō),在最終對(duì)結(jié)構(gòu)路徑和屬性路徑進(jìn)行向量表征時(shí),我們不再以相同的權(quán)重對(duì)二者進(jìn)行組合,而是分別設(shè)置不同的權(quán)重(從0.1 到0.9)進(jìn)行實(shí)驗(yàn).例如,權(quán)重設(shè)置為0.1,表示在表征向量時(shí),結(jié)構(gòu)信息的權(quán)重設(shè)置為0.1,屬性信息的權(quán)重設(shè)置為0.9.全部實(shí)驗(yàn)結(jié)果如圖7 和圖8 所示.

        Fig.7 Analysis of the weight with the structure and the attribute information of Mashup dataset圖7 Mashup 數(shù)據(jù)集結(jié)構(gòu)和屬性信息的權(quán)重分析

        Fig.8 Analysis of the weight with the structure and the attribute information of API dataset圖8 API 數(shù)據(jù)集結(jié)構(gòu)和屬性信息的權(quán)重分析

        具體來(lái)說(shuō):

        (1) 整體而言,無(wú)論是Mashup 數(shù)據(jù)集還是API 數(shù)據(jù)集,隨著結(jié)構(gòu)屬性所占權(quán)重的提升,分類效果在不斷上升;但是當(dāng)權(quán)重超過(guò)0.6 或0.7 左右時(shí),分類效果開(kāi)始下降.這說(shuō)明對(duì)于Mashup 和API 的Web 服務(wù)分類來(lái)說(shuō),結(jié)構(gòu)信息在一定程度上來(lái)說(shuō)確實(shí)比屬性信息更重要.另外,對(duì)于當(dāng)權(quán)重超過(guò)一定閾值以后,分類效果會(huì)出現(xiàn)下降的情況,其可能的原因是權(quán)重設(shè)置的越高,屬性信息就會(huì)相對(duì)減少,整體的數(shù)據(jù)集信息也會(huì)隨之減少,從而影響分類效果;

        (2) 總的來(lái)說(shuō),數(shù)據(jù)集所取分類的類別數(shù)越多,其分類效果受結(jié)構(gòu)信息與屬性信息權(quán)重的影響越大,其可能原因是:1) 分類類別越多,數(shù)據(jù)集就越大且越復(fù)雜,更容易受到結(jié)構(gòu)信息與屬性信息的影響;2) 分類是按照每個(gè)類別包含的Mashup 或API 的數(shù)量進(jìn)行排名的,而排名靠后的類別由于所包含的Mashup或API 數(shù)量的減少,其擁有的結(jié)構(gòu)調(diào)用信息相對(duì)來(lái)說(shuō)就會(huì)減少,從而影響分類效果.

        2.6 γ和λ參數(shù)分析

        在向量表征模型中,增加游走次數(shù)或游走步長(zhǎng)可以收集更多的上下文信息,從而學(xué)習(xí)更精確的表示.但是過(guò)多的游走次數(shù)和較大的游走步長(zhǎng)都不合適,因?yàn)槿菀桩a(chǎn)生噪聲數(shù)據(jù),從而導(dǎo)致較差的網(wǎng)絡(luò)表示.在本文中,我們針對(duì)不同隨機(jī)游走次數(shù)γ和游走步長(zhǎng)λ下的Mashup 和API 分類進(jìn)行實(shí)驗(yàn)比較,以確定最佳分類效果下的參數(shù)值.

        2.6.1 Mashup 數(shù)據(jù)集分析

        首先,選擇不同游走次數(shù)γ(10,20,30,40,50)進(jìn)行Mashup 分類實(shí)驗(yàn),游走步長(zhǎng)λ暫設(shè)為方法的默認(rèn)值80,得到的MicroF1 值和MacroF1 值如圖9 所示.

        Fig.9 Number of walk parameter analysis of Mashup dataset圖9 Mashup 數(shù)據(jù)集游走次數(shù)參數(shù)分析

        從實(shí)驗(yàn)結(jié)果可以看出:

        1) 對(duì)于Mashup 數(shù)據(jù)集的10 分類問(wèn)題,當(dāng)游走次數(shù)γ設(shè)置為30 時(shí),Mashup 數(shù)據(jù)集的分類效果最好;

        2) 對(duì)于Mashup 數(shù)據(jù)集的20~50 分類問(wèn)題,隨著游走次數(shù)的增加,MicroF1 值和MacroF1 值也逐漸增加;但當(dāng)γ超過(guò)40 的時(shí)候,分類效果開(kāi)始下降.

        其次,我們選擇不同的游走步長(zhǎng)λ(40,80,120,160,200)進(jìn)行Mashup 分類實(shí)驗(yàn),γ設(shè)置為上述最佳值,得到的MicroF1 值和MacroF1 值如圖10 所示.

        Fig.10 Walk length parameter analysis of Mashup dataset圖10 Mashup 數(shù)據(jù)集游走步長(zhǎng)參數(shù)分析

        從實(shí)驗(yàn)結(jié)果可以看出:

        1) 對(duì)于Mashup 數(shù)據(jù)集的10 分類問(wèn)題,游走步長(zhǎng)λ在120 附近增加或減少時(shí),分類效果有所下降;

        2) 對(duì)于Mashup 數(shù)據(jù)集的20~50 分類問(wèn)題,MicroF1 值和MacroF1 值隨著游走步長(zhǎng)的增加呈現(xiàn)出上升趨勢(shì);但當(dāng)λ超過(guò)160 的時(shí)候,分類效果開(kāi)始呈下降趨勢(shì).

        總體來(lái)說(shuō),最佳游走步長(zhǎng)的數(shù)值相對(duì)來(lái)說(shuō)較大,這是因?yàn)镸ashup 的服務(wù)網(wǎng)絡(luò)圖較為稀疏,需要較長(zhǎng)距離游走才可以捕獲到有價(jià)值的網(wǎng)絡(luò)表征信息.

        2.6.2 API 數(shù)據(jù)集分析

        對(duì)于API 數(shù)據(jù)集,我們選擇不同游走次數(shù)γ(10,20,30,40,50)進(jìn)行API 分類實(shí)驗(yàn),游走步長(zhǎng)λ同樣暫設(shè)為方法的默認(rèn)值80,得到的結(jié)果如圖11 所示.

        Fig.11 Number of walk parameter analysis of API dataset圖11 API 數(shù)據(jù)集游走次數(shù)參數(shù)分析

        從實(shí)驗(yàn)結(jié)果可以看出:

        1) 對(duì)于API 數(shù)據(jù)集的10 分類、20 分類問(wèn)題,隨著游走次數(shù)的增加,MicroF1 值和MacroF1 值先上升后下降;當(dāng)游走次數(shù)γ設(shè)置為30 時(shí),API 的分類效果最好;

        2) 對(duì)于API 數(shù)據(jù)集的30~50 分類問(wèn)題,當(dāng)γ設(shè)置為40 時(shí),分類效果達(dá)到最佳.

        接下來(lái),我們選擇不同的游走步長(zhǎng)λ(40,80,120,160,200)進(jìn)行API 分類實(shí)驗(yàn),γ設(shè)置為上述最佳值,得到的MicroF1 值和MacroF1 值如圖12 所示.

        Fig.12 Walk length parameter analysis of API dataset圖12 API 數(shù)據(jù)集游走步長(zhǎng)參數(shù)分析

        從實(shí)驗(yàn)結(jié)果可以看出:(1) 對(duì)于API 數(shù)據(jù)集的10 分類、20 分類問(wèn)題,當(dāng)游走步長(zhǎng)λ設(shè)置為120 時(shí),API 的分類效果最好;(2) 對(duì)于API 數(shù)據(jù)集的30~50 分類問(wèn)題,MicroF1 值和MacroF1 值隨游走步長(zhǎng)的增加先上升后下降,最佳的游走步長(zhǎng)為160.

        2.7 表征維度分析

        適當(dāng)?shù)卦黾颖碚骶S度的大小可以學(xué)習(xí)到更多的特征,從而得到更好的分類效果.但隨著特征空間維度增加,整個(gè)特征空間會(huì)變得越來(lái)越稀疏;同時(shí),分類器一旦學(xué)習(xí)了訓(xùn)練數(shù)據(jù)的噪聲和異常,模型就會(huì)出現(xiàn)過(guò)擬合現(xiàn)象,大大影響分類效果.在本節(jié)中,我們?cè)O(shè)計(jì)了多組實(shí)驗(yàn)對(duì)本文表征學(xué)習(xí)中涉及的表征維度d進(jìn)行參數(shù)調(diào)整,以使分類效果達(dá)到最好.我們選取了5 個(gè)不同的維度(32,64,128,256,512)進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如圖13、圖14 所示.

        Fig.13 Representation dimension analysis of Mashup dataset圖13 Mashup 數(shù)據(jù)集表征維度分析

        Fig.14 Representation dimension analysis of API dataset圖14 API 數(shù)據(jù)集表征維度分析

        首先,對(duì)于Mashup 數(shù)據(jù)集可以看到:

        1) 在10 分類問(wèn)題中,表征維度d在128 附近增加或減少時(shí),分類效果有所下降;

        2) 在20~50 分類問(wèn)題中,MicroF1 值和MacroF1 值隨著游走步長(zhǎng)的增加呈現(xiàn)出上升趨勢(shì);但當(dāng)表征維度超過(guò)256 的時(shí)候,分類效果開(kāi)始呈下降趨勢(shì).

        其次,對(duì)于API 數(shù)據(jù)集可以看到:

        1) 在10 分類、20 分類問(wèn)題中,分類效果隨著表征維度的增加先上升后下降;且當(dāng)表征維度設(shè)置為128的時(shí)候,分類效果達(dá)到最佳;

        2) 在30~50 分類問(wèn)題中,當(dāng)表征維度d設(shè)置為256 時(shí),MicroF1 值和MacroF1 值達(dá)到最大值.

        3 相關(guān)工作

        隨著服務(wù)計(jì)算和云計(jì)算的發(fā)展,互聯(lián)網(wǎng)上出現(xiàn)了多種多樣的網(wǎng)絡(luò)服務(wù).其中,Web 服務(wù)的發(fā)現(xiàn)和挖掘成為一個(gè)熱門的研究方向.研究表明:正確高效的Web 服務(wù)分類能夠有效提高Web 服務(wù)發(fā)現(xiàn)的性能[20].目前,對(duì)Web 服務(wù)自動(dòng)分類的研究吸引了不少研究者的注意,主要有基于功能語(yǔ)義的服務(wù)分類與基于QoS(quality of service)的服務(wù)分類.

        目前,基于功能語(yǔ)義的服務(wù)分類方法已有大量的研究[21,22].Kuang 等人[23]提出一種基于語(yǔ)義相似度的Web服務(wù)分類方法,通過(guò)采用自適應(yīng)反向傳播神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練服務(wù)的特征向量及其類別,從而對(duì)Web 服務(wù)進(jìn)行分類.Miguel 等人[24]提出一種基于啟發(fā)式的分類系統(tǒng),通過(guò)將新服務(wù)與已分類的服務(wù)進(jìn)行比較,預(yù)測(cè)出新服務(wù)可用分類類別的適當(dāng)性,并生成候選類別的排序列表來(lái)進(jìn)行分類.Crosso 等人[3]利用Web 服務(wù)的類別和在標(biāo)準(zhǔn)描述中常見(jiàn)的信息之間的連接,實(shí)現(xiàn)了自動(dòng)Web 服務(wù)分類.Katakis 等人[4]考慮了服務(wù)的文本描述和語(yǔ)義標(biāo)注,解決了Web 服務(wù)在其應(yīng)用領(lǐng)域的自動(dòng)分類問(wèn)題,并提出了通過(guò)擴(kuò)展特征向量和集成分類器來(lái)提高整體分類精度的方法.Kumar 等人[25]通過(guò)匹配Web 服務(wù)的服務(wù)名稱、輸入和輸出參數(shù)、服務(wù)描述,確定了它們?cè)诒倔w中的位置和意義,最終利用本體Web 語(yǔ)言對(duì)Web 服務(wù)進(jìn)行分類.Shi 等人[5]提出一種考慮多重Web 服務(wù)關(guān)系的概率主題模型MR-LDA,其可對(duì)Web 服務(wù)之間相互組合的關(guān)系以及Web 服務(wù)之間共享標(biāo)簽的關(guān)系進(jìn)行建模.Cao 等人[6]通過(guò)注意力機(jī)制將BiLSTM 局部的隱狀態(tài)向量和全局的LDA 主題向量結(jié)合起來(lái),提出一種基于主題注意力機(jī)制Bi-LSTM 的Web 服務(wù)分類方法.Ye 等人[1]利用Wide & Bi-LSTM 模型對(duì)Web 服務(wù)類別進(jìn)行深度預(yù)測(cè),挖掘Web服務(wù)描述文檔中詞語(yǔ)的語(yǔ)序和上下文信息.Chen 等人[7]針對(duì)富含全局主題信息與局部語(yǔ)義信息的移動(dòng)應(yīng)用內(nèi)容表征文本,引入注意力機(jī)制區(qū)分其不同單詞的貢獻(xiàn)度,提出一種主題注意力機(jī)制增強(qiáng)的移動(dòng)應(yīng)用分類方法.

        此外,基于QoS 的Web 服務(wù)分類主要考慮Web 服務(wù)的質(zhì)量,通常使用到的QoS 包括吞吐量、可用性、執(zhí)行時(shí)間等.Moraru 等人[26]提出一個(gè)將語(yǔ)義技術(shù)與邏輯推理相結(jié)合的混合系統(tǒng)(即OpenCyc),其通過(guò)與數(shù)值微積分進(jìn)行分類、評(píng)估,推薦QoS 感知Web 服務(wù).Makhlughian 等人[27]提出了一個(gè)整體的服務(wù)選擇和排序,該方法首先根據(jù)用戶的QoS 要求和偏好將候選Web 服務(wù)分類到不同的QoS 級(jí)別,然后通過(guò)語(yǔ)義匹配對(duì)最合適的候選服務(wù)進(jìn)行匹配.TF 等人[28]提出了一種基于QoS 參數(shù)和KNN(K-nearest neighbors)算法的Web 服務(wù)有效選擇方法,并通過(guò)加入新的并行分類模型,提高了系統(tǒng)的性能.

        上述方法考慮到了Web 服務(wù)描述文檔中的長(zhǎng)度、有限語(yǔ)料庫(kù)和稀疏特征等問(wèn)題,并在服務(wù)語(yǔ)料庫(kù)的訓(xùn)練過(guò)程中引入了輔助信息(如詞分類信息、標(biāo)簽信息等)[29],但是它們并沒(méi)有考慮到Web 服務(wù)之間豐富的鏈接結(jié)構(gòu)關(guān)系.

        近年來(lái),NRL 技術(shù)的不斷成熟為解決此類問(wèn)題提供了良好的思路,并使得機(jī)器學(xué)習(xí)任務(wù)(如分類、預(yù)測(cè)和推薦)在網(wǎng)絡(luò)中的應(yīng)用成為了可能.NRL 的一種常見(jiàn)方法是,使用節(jié)點(diǎn)的內(nèi)容或?qū)傩孕畔?lái)學(xué)習(xí)圖的嵌入向量,例如深度神經(jīng)網(wǎng)絡(luò)模型SkipGram[30]和Le 提出的段落向量模型[31]等.

        當(dāng)利用來(lái)自結(jié)構(gòu)和屬性兩者的信息時(shí),NRL 所學(xué)習(xí)的表示往往會(huì)更加精確.屬性信息的引入,使得模型能夠利用上下文信息來(lái)學(xué)習(xí)稀疏連接的、甚至斷開(kāi)的節(jié)點(diǎn)的嵌入;而結(jié)構(gòu)信息的引入,使得模型能夠在學(xué)習(xí)的嵌入中保持節(jié)點(diǎn)的結(jié)構(gòu)相似性.在這兩個(gè)信息源的相輔相成之下,節(jié)點(diǎn)的低維嵌入學(xué)習(xí)會(huì)更加精確.Yang 等人[11]表明了Deepwalk 等價(jià)于分解鄰接矩陣M,并提出一種名為TADW 的模型,該模型通過(guò)對(duì)文本相關(guān)的矩陣進(jìn)行分解來(lái)融合節(jié)點(diǎn)的文本特征.盡管TADW 已經(jīng)取得的不錯(cuò)的效果,但存在幾個(gè)局限性:(1) 它分解近似矩陣,因此表示較差;(2) 它高度依賴于計(jì)算昂貴的奇異值分解(SVD);(3) 它不適用于大型的網(wǎng)絡(luò)表征.

        近幾年來(lái),人們提出了各種利用標(biāo)簽信息來(lái)學(xué)習(xí)嵌入的半監(jiān)督學(xué)習(xí)方法[12,32].標(biāo)簽是與頂點(diǎn)相關(guān)聯(lián)的類,用于對(duì)學(xué)習(xí)嵌入的分類器進(jìn)行訓(xùn)練,以標(biāo)記非標(biāo)記節(jié)點(diǎn).結(jié)果表明:通過(guò)在學(xué)習(xí)過(guò)程中加入標(biāo)簽,嵌入效果將會(huì)更好.使用標(biāo)簽信息的原因是:具有相似標(biāo)簽的節(jié)點(diǎn)往往具有很強(qiáng)的互連性和屬性的高度相似性,因此也應(yīng)該具有相似的嵌入.Pan 等人[12]提出的TriDNR 使用了3 種信息來(lái)源:結(jié)構(gòu)、文本和嵌入的部分標(biāo)簽.該模型使用兩層神經(jīng)網(wǎng)絡(luò):第1 層基于Deepwalk 學(xué)習(xí)基于結(jié)構(gòu)的表示,第2 層使用Doc2vec[17]學(xué)習(xí)內(nèi)容和部分標(biāo)簽的表示.最后的表示是兩者的線性組合.

        然而,上述方法只適用于同構(gòu)網(wǎng)絡(luò).最新的NRL 方法學(xué)習(xí)了異構(gòu)網(wǎng)絡(luò)中節(jié)點(diǎn)的表示.Dong 等人[33]提出了Metapath2vec,該模型利用基于元路徑的隨機(jī)游走來(lái)生成網(wǎng)絡(luò)中不同類型節(jié)點(diǎn)之間的語(yǔ)義關(guān)系.然而,這項(xiàng)工作忽略了相似節(jié)點(diǎn)之間的關(guān)系,如論文之間的引用等.預(yù)測(cè)文本嵌入(PTE)[14]學(xué)習(xí)了一個(gè)包含文字、文檔和標(biāo)簽的異構(gòu)文本網(wǎng)絡(luò)嵌入.隨著網(wǎng)絡(luò)表征學(xué)習(xí)的廣泛應(yīng)用,通過(guò)融合文本屬性和結(jié)構(gòu)網(wǎng)絡(luò)信息來(lái)提升分類精度的思想得以實(shí)現(xiàn).

        4 結(jié) 論

        本文提出一種基于GAT2VEC 的Web 服務(wù)分類方法GWSC,它使用網(wǎng)絡(luò)結(jié)構(gòu)和頂點(diǎn)屬性來(lái)學(xué)習(xí)服務(wù)網(wǎng)絡(luò)圖的表征向量,并采用一種新的方法來(lái)捕獲屬性內(nèi)容.首先,它從網(wǎng)絡(luò)中提取結(jié)構(gòu)上下文,并從屬性二分圖中提取屬性上下文;然后,使用一個(gè)淺層神經(jīng)網(wǎng)絡(luò)模型,從這兩個(gè)上下文中聯(lián)合學(xué)習(xí)一個(gè)表征向量,通過(guò)對(duì)與網(wǎng)絡(luò)相關(guān)的多個(gè)信息源進(jìn)行建模,并采用適當(dāng)?shù)膶W(xué)習(xí)方法,使學(xué)習(xí)得到的信息與原始輸入圖的信息盡可能保持一致;最后,采用SVM 分類器進(jìn)行分類.在真實(shí)世界數(shù)據(jù)集上的廣泛實(shí)驗(yàn)表明:我們的方法能夠準(zhǔn)確地表征圖中頂點(diǎn)的結(jié)構(gòu)和屬性上下文,進(jìn)而提高了Web 服務(wù)分類精度.對(duì)于未來(lái)的工作,我們將會(huì)考慮利用與不同類型頂點(diǎn)相關(guān)的不同信息擴(kuò)展GWSC 來(lái)學(xué)習(xí)異構(gòu)網(wǎng)絡(luò)中的頂點(diǎn)表示.

        猜你喜歡
        頂點(diǎn)分類節(jié)點(diǎn)
        CM節(jié)點(diǎn)控制在船舶上的應(yīng)用
        過(guò)非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(下)
        Analysis of the characteristics of electronic equipment usage distance for common users
        分類算一算
        基于AutoCAD的門窗節(jié)點(diǎn)圖快速構(gòu)建
        分類討論求坐標(biāo)
        關(guān)于頂點(diǎn)染色的一個(gè)猜想
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住人才培養(yǎng)的關(guān)鍵節(jié)點(diǎn)
        97超级碰碰人妻中文字幕 | 中文字幕乱码在线婷婷| 免费观看一区二区| 亚洲精品国产老熟女久久| 男性一插就想射是因为啥| 午夜无码无遮挡在线视频| 国产成人自拍小视频在线| 中文字幕人妻一区色偷久久| 亚洲中文字幕在线精品2021| 亚洲狠狠久久五月婷婷| 黄色国产精品福利刺激午夜片| 可免费观看的av毛片中日美韩| 男人吃奶摸下挵进去啪啪软件| 亚州性无码不卡免费视频| 69sex久久精品国产麻豆| 熟女人妻在线视频| 俺来也俺去啦久久综合网| 香蕉国产人午夜视频在线观看 | 亚洲免费视频一区二区三区| 韩国女主播一区二区三区在线观看 | 国产亚洲综合另类色专区| 少妇被黑人嗷嗷大叫视频| 麻豆91蜜桃传媒在线观看| 99精品国产成人一区二区| 波多野结衣的av一区二区三区| 国产午夜精品一区二区三区软件| 国产免费午夜a无码v视频| 日本高清中文字幕一区二区三区| 日韩精品欧美激情国产一区| 韩国日本在线观看一区二区| 日本免费一二三区在线| 久久不见久久见www日本网| 末发育娇小性色xxxx| 精品国产三级a∨在线观看| 久久人人做人人妻人人玩精| 中文字幕亚洲乱码熟女在线| 看国产亚洲美女黄色一级片 | 人妻中文字幕一区二区视频| 中文字幕av高清人妻| 精品九九人人做人人爱| 欧美黑人性暴力猛交喷水黑人巨大|