亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種Web服務(wù)推薦方法以及裝置與流程

文檔序號:11864734閱讀:266來源:國知局
一種Web服務(wù)推薦方法以及裝置與流程

本公開屬于計算機(jī)系統(tǒng)建模以及數(shù)據(jù)分析領(lǐng)域,具體涉及一種Web服務(wù)推薦方法以及裝置。



背景技術(shù):

隨著面向服務(wù)的計算(SOC,Service Oriented Computing)、云計算(Cloud Computing)、務(wù)聯(lián)網(wǎng)(IoS,Internet of Service)等創(chuàng)新模式的不斷涌現(xiàn)與廣泛應(yīng)用,計算服務(wù)化的趨勢已經(jīng)十分明顯。面向服務(wù)的體系結(jié)構(gòu)(SOA,Service Oriented Architecture)及相關(guān)協(xié)議、規(guī)范的出現(xiàn)為企業(yè)內(nèi)部及企業(yè)間的業(yè)務(wù)集成提供了便捷的松耦合模式,進(jìn)一步推動著企業(yè)生產(chǎn)組織模式發(fā)生變革,向面向服務(wù)的企業(yè)(SOE,Service Oriented Enterprise)轉(zhuǎn)型。大量的企業(yè)將自身的業(yè)務(wù)單元封裝成為業(yè)務(wù)服務(wù)(Business Service),并通過互聯(lián)網(wǎng)實現(xiàn)企業(yè)內(nèi)部不同業(yè)務(wù)單元以及跨企業(yè)組織邊界的業(yè)務(wù)協(xié)作以實現(xiàn)價值增值,從而使互聯(lián)網(wǎng)上Web服務(wù)的數(shù)量不斷增長?,F(xiàn)實應(yīng)用中,獨立存在的服務(wù)往往粒度較小,專注于有限的專一功能,難以滿足用戶復(fù)雜的業(yè)務(wù)需求。因此,往往需要對服務(wù)系統(tǒng)中的多個服務(wù)進(jìn)行組合使用,從而構(gòu)成價值增值的服務(wù)組合(Service Compositions)。盡管上述發(fā)展?fàn)顩r令人鼓舞,但Web服務(wù)系統(tǒng)在現(xiàn)實運行中,海量的Web服務(wù)帶來了嚴(yán)重的信息過載,海量的Web服務(wù)個體為用戶提供了豐富選擇的同時,也帶來了大量無關(guān)的或冗余的信息。因此,如何更好地利用自然語言的語義描述信息,針對用戶請求進(jìn)行有效的服務(wù)推薦,對互聯(lián)網(wǎng)的良性發(fā)展有著十分重要的意義。

然而,自然語言雖然便于人類的理解和處理,但也給計算機(jī)自動處理帶來了較大的困難。例如,假設(shè)服務(wù)組合開發(fā)者希望開發(fā)一個基于地理位置的社交相關(guān)應(yīng)用,關(guān)于地理位置,開發(fā)者可能會使用“GPS”、“地理坐標(biāo)”、“位置”、“方位”等名詞,而關(guān)于社交,則可能會使用“好友”、“分享”、“共享”等詞語。從上例我們可以看到,針對同樣的功能性需求,不同的服務(wù)組合開發(fā)者可能在用戶請求中提交截然不同的關(guān)鍵詞,而與之對應(yīng),Web服務(wù)的描述當(dāng)中也可能使用多種多樣的詞語描述相同的功能。如何克服同義詞、多義詞的問題,是進(jìn)行準(zhǔn)確的服務(wù)推薦的基礎(chǔ)性問題。



技術(shù)實現(xiàn)要素:

為了更好地解決Web服務(wù)推薦問題中的以上難點,本公開提出了一種Web服務(wù)推薦方法及裝置。

一種Web服務(wù)推薦方法,所述方法包括下述步驟:

S100、對于一個服務(wù)組合請求中涉及的服務(wù)組合,提取該服務(wù)組合的功能特征,獲得服務(wù)組合功能特征向量,將其記作Z;

S200、計算每個Web服務(wù)自被發(fā)布時刻至提出所述服務(wù)組合請求時刻所經(jīng)過的時間長度、以及每個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所被調(diào)用次數(shù);

假設(shè)Web服務(wù)的總數(shù)為J,J為整數(shù);將第j個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所經(jīng)過的時間長度記作uptj,j=1,…,J;將第j個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所被調(diào)用次數(shù)記作usgj,j=1,…,J;

S300、對于每個Web服務(wù),利用下式計算第j個Web服務(wù)相對所述服務(wù)組合請求的推薦度rj,j=1,…,J:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4為已知的權(quán)重參數(shù);

vj為已知的與第j個Web服務(wù)相關(guān)的向量參數(shù);

S400、將Web服務(wù)按照其推薦度降序輸出。

優(yōu)選地,所述步驟S300中的權(quán)重參數(shù)β1,β2,β3,β4以及與第j個Web服務(wù)相關(guān)的向量參數(shù)vj,j=1,…,J,通過下述步驟獲得:

S301、對于每個Web服務(wù),從該Web服務(wù)的描述文本中提取每個Web服務(wù)的功能特征,獲得Web服務(wù)功能特征向量;將第j個Web服務(wù)對應(yīng)的Web服務(wù)功能特征向量記作Yj,j=1,…,J;

S302、準(zhǔn)備I個服務(wù)組合作為樣本,I為整數(shù);

對于樣本中的每個服務(wù)組合,從該服務(wù)組合的描述文本中提取其對應(yīng)的服務(wù)組合功能特征向量;將第i個服務(wù)組合對應(yīng)的服務(wù)組合功能特征向量記作Xi,i∈{1,…,I};

S303、對于樣本中的每個服務(wù)組合,計算每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度、以及每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所被調(diào)用次數(shù);

將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所經(jīng)過的時間長度記作uptij,i∈{1,…,I},j∈{1,…,J};

將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所被調(diào)用的次數(shù)記作usgij,i∈{1,…,I},j∈{1,…,J};

S304、使用最優(yōu)算法求解下述表達(dá)式進(jìn)而確定參數(shù)β1,β2,β3,β4,以及vj

式中:

rij為第j個Web服務(wù)相對第i個服務(wù)組合的推薦度;

λv為正則化參數(shù)。

優(yōu)選地,所述步驟S301之前還包括下述步驟:

S300.1、將服務(wù)組合的描述文本與Web服務(wù)的描述文本進(jìn)行向量化處理,獲得服務(wù)組合初始向量、Web服務(wù)初始向量;

S300.2、對所述服務(wù)組合初始向量、Web服務(wù)初始向量進(jìn)行噪聲添加處理,獲得服務(wù)組合噪聲向量、Web服務(wù)噪聲向量;

S300.3、建立一個將L層的深度神經(jīng)網(wǎng)絡(luò)模型,L為整數(shù);將服務(wù)組合噪聲向量、Web服務(wù)噪聲向量作為該模型的輸入,將對應(yīng)的服務(wù)組合初始向量、Web服務(wù)初始向量作為該模型的預(yù)期輸出;

當(dāng)該模型的計算輸出和預(yù)期輸出誤差大于等于一個給定的閾值時,返回步驟S300.2;否則,執(zhí)行步驟S300.4;

S300.4、保留該模型的參數(shù);并且,將服務(wù)組合噪聲向量在該深度神經(jīng)網(wǎng)絡(luò)的[L/2]層的對應(yīng)輸出作為所述服務(wù)組合功能特征向量;將Web服務(wù)噪聲向量在該深度神經(jīng)網(wǎng)絡(luò)的[L/2]層的對應(yīng)輸出作為Web服務(wù)功能特征向量,其中,[L/2]表示對L/2取整。

優(yōu)選地,所述步驟S300.1中的向量化處理包括下述步驟:

S300.1a、建立詞袋(bag-of-word)模型;

S300.1b、將服務(wù)組合的描述文本或Web服務(wù)的描述文本轉(zhuǎn)化為所述詞袋模型的向量形式,獲得服務(wù)組合詞袋向量或Web服務(wù)詞袋向量;

S300.1c、對服務(wù)組合詞袋向量或Web服務(wù)詞袋向量使用TF-IDF算法進(jìn)行加權(quán)處理,獲得相應(yīng)的服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量;

S300.1d、對服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量進(jìn)行最大值歸一化,從而獲得相應(yīng)的所述服務(wù)組合初始向量或Web服務(wù)初始向量。

優(yōu)選地,所述步驟S300.2中的噪聲添加處理包括下述步驟:

S300.2a設(shè)置噪聲水平;

S300.2b以所述噪聲水平為概率隨機(jī)將服務(wù)組合初始向量、Web服務(wù)初始向量中的元素置為0,以獲得服務(wù)組合噪聲向量、Web服務(wù)噪聲向量。

所述方法針對Web服務(wù)推薦問題的背景與特性進(jìn)行特別的設(shè)計,充分考慮Web服務(wù)推薦問題中描述文本與使用記錄的耦合關(guān)系,及Web服務(wù)系統(tǒng)的演化特性,充分利用深度神經(jīng)網(wǎng)絡(luò)可以提取有效的特征表達(dá)的特性,進(jìn)行Web服務(wù)推薦。該方法在真實數(shù)據(jù)集上取得了較好的效果,提高了服務(wù)推薦的準(zhǔn)確度與多樣性。

本公開方法使用深度神經(jīng)網(wǎng)絡(luò)模型對Web服務(wù)的描述文本以及服務(wù)組合開發(fā)者的用戶請求文本進(jìn)行建模,將其映射至向量空間;利用服務(wù)的歷史使用信息,挖掘用戶請求與不同的服務(wù)之前的匹配模式;并整合服務(wù)的歷史使用信息、描述文本、預(yù)定義的輔助信息,將三者結(jié)合起來,將服務(wù)系統(tǒng)中的Web服務(wù)根據(jù)被服務(wù)組合開發(fā)者的使用概率從高到低排序進(jìn)行推薦。

根據(jù)上述方法,實現(xiàn)了一種Web服務(wù)推薦裝置,所述裝置包括第一提取單元、第一計算單元、第二計算單元、第三計算單元、第一輸出單元;

所述第一提取單元:對于每一個服務(wù)組合,從該服務(wù)組合的描述文本中提取該服務(wù)組合的功能特征,獲得服務(wù)組合功能特征向量;并輸出該服務(wù)組合對應(yīng)的服務(wù)組合功能特征向量;

所述第一計算單元:對于每一個服務(wù)組合,計算并輸出每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度;

所述第二計算單元:對于每一個服務(wù)組合,計算并輸出每個Web服務(wù)自被發(fā)布時刻至一個服務(wù)組合被提出時刻所被調(diào)用的次數(shù);

所述第三計算單元:對于每一個服務(wù)組合,結(jié)合所述第一提取單元、第一計算單元、第二計算單元的輸出,計算每個Web服務(wù)相對該服務(wù)組合的推薦度;

所述第一輸出單元:對于每一個服務(wù)組合,根據(jù)第三計算單元計算的推薦度,降序輸出Web服務(wù);

所述推薦度的計算如下:

假設(shè)Web服務(wù)的總數(shù)為J,J為整數(shù);將一個服務(wù)組合輸入所述第一提取單元后,輸出的服務(wù)組合功能特征向量為Z;將該服務(wù)組合輸入第一計算單元后,輸出的第j個Web服務(wù)對應(yīng)的時間長度為uptj,j=1,…,J;將該服務(wù)組合輸入第二計算單元后,輸出的第j個Web服務(wù)對應(yīng)的次數(shù)為usgj,j=1,…,J;則第j個Web服務(wù)相對所述服務(wù)組合請求的推薦度rj的計算式為:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4為已知的權(quán)重參數(shù);

v為已知的與該Web服務(wù)相關(guān)的向量參數(shù)。

優(yōu)選地,所述第一提取單元,還包括:對輸入的每一個Web服務(wù),從Web服務(wù)的描述文本中提取每個Web服務(wù)的功能特征,獲得Web服務(wù)功能特征向量;并輸出該Web服務(wù)對應(yīng)的Web服務(wù)功能特征向量;

所述第三計算單元中的參數(shù)β1,β2,β3,β4和v,通過第一訓(xùn)練單元確定;

所述第一訓(xùn)練單元:以第一提取單元、第一計算單元、第二計算單元的輸出為輸入;通過第一提取單元的輸出獲得所述服務(wù)組合所對應(yīng)的服務(wù)組合功能特征向量,假設(shè)有I個服務(wù)組合用于訓(xùn)練,將第i個服務(wù)組合對應(yīng)的服務(wù)組合功能特征向量記作Xi,i=1,…,I,I為整數(shù);通過第一提取單元的輸出獲得所述Web服務(wù)所對應(yīng)的Web服務(wù)功能特征向量,假設(shè)Web服務(wù)的總數(shù)為J,J為整數(shù),將第j個Web服務(wù)對應(yīng)的Web服務(wù)功能特征向量記作Yj,j=1,…,J,J為整數(shù);通過第一計算單元獲得每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度,將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所經(jīng)過的時間長度記作uptij;通過第二計算單元獲得每個Web服務(wù)自被發(fā)布時刻至一個服務(wù)組合被提出時刻所被調(diào)用的次數(shù),將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所被調(diào)用的次數(shù)記作usgij;

利用獲得的服務(wù)組合功能特征向量Xi,i=1,…,I、Web服務(wù)功能特征向量Yj,j=1,…,J、每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度uptij,i=1,…,I,j=1,…,J以及每個Web服務(wù)自被發(fā)布時刻至一個服務(wù)組合被提出時刻所被調(diào)用的次數(shù)usgij,i=1,…,I,j=1,…,J,使用最優(yōu)算法求解下述表達(dá)式進(jìn)而確定并輸出參數(shù)β1,β2,β3,β4以及vj

式中:

rij為第j個Web服務(wù)相對第i個服務(wù)組合的推薦度;

λv為正則化參數(shù)。

優(yōu)選地,所述第一提取單元是一個L層的深度神經(jīng)網(wǎng)絡(luò)模型,L為整數(shù),該模型使用的參數(shù)通過第二訓(xùn)練單元獲得;所述第一提取單元以服務(wù)組合、Web服務(wù)作為輸入;并將該模型的[L/2]層輸出作為第一提取單元的輸出,其中,[L/2]表示對L/2取整;

所述第二訓(xùn)練單元是一個L層的深度神經(jīng)網(wǎng)絡(luò)模型,L為整數(shù),將服務(wù)組合噪聲向量、Web服務(wù)噪聲向量作為該模型的輸入,將對應(yīng)的服務(wù)組合初始向量、Web服務(wù)初始向量作為該模型的預(yù)期輸出;當(dāng)該模型的計算輸出和預(yù)期輸出誤差小于一個給定的閾值時,將獲得的模型參數(shù)輸出;

所述服務(wù)組合噪聲向量、Web服務(wù)噪聲向量通過將服務(wù)組合初始向量、Web服務(wù)初始向量輸入噪聲添加處理單元進(jìn)行噪聲添加處理獲得;

所述服務(wù)組合初始向量、Web服務(wù)初始向量通過將服務(wù)組合的描述文本與Web服務(wù)的描述文本輸入向量化處理單元進(jìn)行向量化處理獲得。

優(yōu)選地,所述噪聲添加處理單元:根據(jù)設(shè)置的噪聲水平,以所述噪聲水平為概率隨機(jī)將服務(wù)組合初始向量、Web服務(wù)初始向量中的元素置為0,以獲得服務(wù)組合噪聲向量、Web服務(wù)噪聲向量。

優(yōu)選地,所述向量化處理單元:將服務(wù)組合的描述文本或Web服務(wù)的描述文本轉(zhuǎn)化為詞袋模型的向量形式,獲得服務(wù)組合詞袋向量或Web服務(wù)詞袋向量;對獲得的服務(wù)組合詞袋向量或Web服務(wù)詞袋向量使用TF-IDF算法進(jìn)行加權(quán)處理,獲得相應(yīng)的服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量;對獲得的服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量進(jìn)行最大值歸一化,從而獲得相應(yīng)的所述服務(wù)組合初始向量或Web服務(wù)初始向量。

附圖說明

圖1是本公開一個實施例中的Web服務(wù)推薦方法流程圖;

圖2是本公開一個實施例中的Web服務(wù)功能特征提取模型的概率圖模型示意圖;

圖3是本公開一個實施例中的Web服務(wù)推薦模型的概率圖模型示意圖;

圖4是本公開一個實施例中的Web服務(wù)推薦裝置結(jié)構(gòu)示意圖。

具體實施方式

下面結(jié)合附圖對本公開方法的實施例進(jìn)行介紹。

一種Web服務(wù)推薦方法,所述方法包括下述步驟:

S100、對于一個服務(wù)組合請求中涉及的服務(wù)組合,從該服務(wù)組合的描述文本中提取該服務(wù)組合的功能特征,獲得服務(wù)組合功能特征向量,將其記作Z;

S200、計算每個Web服務(wù)自被發(fā)布時刻至提出所述服務(wù)組合請求時刻所經(jīng)過的時間長度、以及每個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所被調(diào)用次數(shù);

假設(shè)Web服務(wù)的總數(shù)為J,J為整數(shù);將第j個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所經(jīng)過的時間長度記作uptj,j=1,…,J;將第j個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所被調(diào)用次數(shù)記作usgj,j=1,…,J;

S300、對于每個Web服務(wù),利用下式計算第j個Web服務(wù)相對所述服務(wù)組合請求的推薦度rj,j=1,…,J:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4為已知的權(quán)重參數(shù);

vj為已知的與第j個Web服務(wù)相關(guān)的向量參數(shù);

S400、將Web服務(wù)按照其推薦度降序輸出。

上述方法步驟結(jié)合圖1看:

對于一個服務(wù)組合請求,上述方法將服務(wù)組合請求中的服務(wù)組合的功能特征使用向量表示,獲得相應(yīng)的服務(wù)組合功能特征向量,將其記作Z。

同時,上述方法計算Web服務(wù)系統(tǒng)中已有的每個Web服務(wù)相對該服務(wù)組合的輔助信息,包括:

(1)第j個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所經(jīng)過的時間長度,將其記作uptj,j=1,…,J;

(2)第j個Web服務(wù)自被發(fā)布時刻至提出服務(wù)組合請求時刻所被調(diào)用次數(shù),將其記作usgj,j=1,…,J;

將獲得的服務(wù)組合功能特征向量Z,以及輔助信息代入推薦度計算公式,可以獲得每個Web服務(wù)相對該服務(wù)組合請求的推薦度,并根據(jù)推薦度從高到低,依次將Web服務(wù)推薦給服務(wù)組合請求者。

對一個服務(wù)組合請求,為了得到較為準(zhǔn)確的Web服務(wù)推薦,對于上述推薦度計算公式,需要選擇合適、恰當(dāng)?shù)臋?quán)重參數(shù)β1,β2,β3,β4以及向量參數(shù)vj,j=1,…,J,并且權(quán)重參數(shù)β1,β2,β3,β4以及向量參數(shù)vj,j=1,…,J并不是對于所有的Web服務(wù)系統(tǒng)都是一樣的,也需要根據(jù)不同的Web服務(wù)系統(tǒng)來確定。因此,有必要基于Web服務(wù)的歷史使用信息、描述文本、預(yù)定義的輔助信息,建立服務(wù)組合與不同的Web服務(wù)之前的匹配關(guān)系,所述匹配關(guān)系通過推薦度來體現(xiàn),一個Web服務(wù)相對一個服務(wù)組合推薦度高,則該Web服務(wù)與該服務(wù)組合的匹配度高。優(yōu)選地,所述步驟S300中的權(quán)重參數(shù)β1,β2,β3,β4以及與第j個Web服務(wù)相關(guān)的向量參數(shù)vj,j=1,…,J,通過下述步驟獲得:

S301、對于每個Web服務(wù),從該Web服務(wù)的描述文本中提取每個Web服務(wù)的功能特征,獲得Web服務(wù)功能特征向量;將第j個Web服務(wù)對應(yīng)的Web服務(wù)功能特征向量記作Yj,j=1,…,J;

S302、準(zhǔn)備I個服務(wù)組合作為樣本,I為整數(shù);

對于樣本中的每個服務(wù)組合,從該服務(wù)組合的描述文本中提取其對應(yīng)的服務(wù)組合功能特征向量;將第i個服務(wù)組合對應(yīng)的服務(wù)組合功能特征向量記作Xi,i∈{1,…,I};

S303、對于樣本中的每個服務(wù)組合,計算每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度、以及每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所被調(diào)用次數(shù);

將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所經(jīng)過的時間長度記作uptij,i∈{1,…,I},j∈{1,…,J};

將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所被調(diào)用的次數(shù)記作usgij,i∈{1,…,I},j∈{1,…,J};

S304、使用最優(yōu)算法求解下述表達(dá)式進(jìn)而確定參數(shù)β1,β2,β3,β4,以及vj

式中:

rij為第j個Web服務(wù)相對第i個服務(wù)組合的推薦度;

λv為正則化參數(shù)。

上述步驟S301-S304可視為一個Web服務(wù)推薦模型的建立過程,而步驟S100-S400可視為一個Web服務(wù)推薦模型的應(yīng)用過程。在步驟S301-S304中,將一定量的服務(wù)組合樣本和Web服務(wù)系統(tǒng)中的每個Web服務(wù)之間的匹配程度,通過使用一個損失函數(shù)來建立,通過使用最優(yōu)算法求解,可以確定合適、恰當(dāng)?shù)臋?quán)重參數(shù)β1,β2,β3,β4以及向量參數(shù)vj,j=1,…,J。所述最優(yōu)算法比如使用梯度下降法。特別地,在損失函數(shù)中,正則化參數(shù)λv優(yōu)選使用值為0.0001。

圖2是示意Web服務(wù)推薦模型的概率圖模型示意圖,在該圖中,XL/2為服務(wù)組合功能特征向量,YL/2為Web服務(wù)功能特征向量,s為描述Web服務(wù)的輔助信息,以上信息對于Web服務(wù)推薦模型來說都是給定的。根據(jù)以上信息,構(gòu)建Web服務(wù)的隱向量模型v,通過模型的訓(xùn)練確定模型v的參數(shù)。

當(dāng)服務(wù)組合開發(fā)者希望開發(fā)滿足某個功能的服務(wù)組合時,通過提交相關(guān)功能的描述文本,即服務(wù)組合的描述文本,所述方法可以自動分析服務(wù)組合的描述文本所獲得服務(wù)組合的功能特征,進(jìn)而將服務(wù)系統(tǒng)中的Web服務(wù)進(jìn)行排序,按Web服務(wù)與該服務(wù)組合的契合程度從高到低將Web服務(wù)依次推薦給對服務(wù)組合發(fā)出請求的開發(fā)者,從而幫助開發(fā)者快速、便捷地完成服務(wù)組合的開發(fā)。

為了方便從一個服務(wù)組合請求中獲得該請求對應(yīng)的服務(wù)組合功能特征向量,以及為了方便獲取一個Web服務(wù)的Web服務(wù)功能特征向量。優(yōu)選地,所述步驟S301之前還包括下述步驟:

S300.1、將服務(wù)組合的描述文本與Web服務(wù)的描述文本進(jìn)行向量化處理,獲得服務(wù)組合初始向量、Web服務(wù)初始向量;

S300.2、對所述服務(wù)組合初始向量、Web服務(wù)初始向量進(jìn)行噪聲添加處理,獲得服務(wù)組合噪聲向量、Web服務(wù)噪聲向量;

S300.3、建立一個將L層的深度神經(jīng)網(wǎng)絡(luò)模型,L為整數(shù);將服務(wù)組合噪聲向量、Web服務(wù)噪聲向量作為該模型的輸入,將對應(yīng)的服務(wù)組合初始向量、Web服務(wù)初始向量作為該模型的預(yù)期輸出;

當(dāng)該模型的計算輸出和預(yù)期輸出誤差大于等于一個給定的閾值時,返回步驟S300.2;否則,執(zhí)行步驟S300.4;

S300.4、保留該模型的參數(shù);并且,將服務(wù)組合噪聲向量在該深度神經(jīng)網(wǎng)絡(luò)的[L/2]層的對應(yīng)輸出作為所述服務(wù)組合功能特征向量;將Web服務(wù)噪聲向量在該深度神經(jīng)網(wǎng)絡(luò)的[L/2]層的對應(yīng)輸出作為Web服務(wù)功能特征向量,其中,[L/2]表示對L/2取整。

對于一個服務(wù)組合請求,首先確定該請求中服務(wù)組合,進(jìn)而獲得該服務(wù)組合的描述文本。

上述步驟S300.1-S300.4可以視為一個Web服務(wù)功能提取模型的訓(xùn)練過程,由步驟S300.3可知,所述Web服務(wù)功能提取模型是一個深度神經(jīng)網(wǎng)絡(luò)模型,該模型對服務(wù)組合的描述文本以及Web服務(wù)的描述文本進(jìn)行建模,將其映射至功能特征的向量空間,充分利用深度學(xué)習(xí)可以提取有效的特征表達(dá)的特性。

該模型的訓(xùn)練過程如圖3所示。在該圖中,將Web服務(wù)的描述文本進(jìn)行向量化處理后得到的Web服務(wù)初始向量,用Xc表示;將對Web服務(wù)初始向量Xc進(jìn)行噪聲添加處理后得到Web服務(wù)噪聲向量,用X0表示。將X0作為深度神經(jīng)網(wǎng)絡(luò)模型的輸入,將Xc作為深度神經(jīng)網(wǎng)絡(luò)模型的預(yù)期輸出,訓(xùn)練該深度神經(jīng)網(wǎng)絡(luò)。

所述深度神經(jīng)網(wǎng)絡(luò)模型可視為一個最大化的損失函數(shù):

其中需要優(yōu)化的參數(shù)為深度神經(jīng)網(wǎng)絡(luò)的相關(guān)參數(shù)W+={Wl,bl,l=1,2,…,L},L為深度神經(jīng)網(wǎng)絡(luò)的層數(shù),fr(·,W+)使用神經(jīng)網(wǎng)絡(luò)參數(shù)W+計算輸入重構(gòu)的結(jié)果,即神經(jīng)網(wǎng)絡(luò)第L層的輸出。在訓(xùn)練時,可以使用BP算法。

當(dāng)深度神經(jīng)網(wǎng)絡(luò)模型的計算輸出和預(yù)期輸出誤差小于一個給定的閾值時,停止訓(xùn)練,并將該深度神經(jīng)網(wǎng)絡(luò)的瓶頸層(Bottleneck Layer)輸出中作為訓(xùn)練好的模型的輸出。具體地,可以將該深度神經(jīng)網(wǎng)絡(luò)的[L/2]層指定為瓶頸層,其中,[L/2]表示對L/2取整。

所述深度神經(jīng)網(wǎng)絡(luò)模型優(yōu)選使用層疊去噪自動編碼機(jī)模型,但也可以使用其它深度神經(jīng)網(wǎng)絡(luò)模型。使用層疊去噪自動編碼機(jī)模型可以無監(jiān)督地對文本進(jìn)行建模,使用更加方便,且效果足夠好。而通過添加噪聲的方式,層疊去噪自動編碼機(jī)模型可以模擬真實世界中描述一個服務(wù)/服務(wù)組合時,并且對于用詞的不確定性,層疊去噪自動編碼機(jī)訓(xùn)練具有魯棒性。

所述Web服務(wù)功能提取模型被訓(xùn)練好后,保留該模型的各個參數(shù)。在用戶發(fā)出一個服務(wù)組合請求后,將該請求中涉及的服務(wù)組合的描述文本輸入Web服務(wù)功能提取模型,獲取其在瓶頸層輸出的向量,該向量即為該服務(wù)組合請求對應(yīng)的服務(wù)組合功能特征向量。

在一個實施例中,揭示了步驟S300.1中的向量化處理的具體步驟,包括:

S300.1a、建立詞袋(bag-of-word)模型;

S300.1b、將服務(wù)組合的描述文本或Web服務(wù)的描述文本轉(zhuǎn)化為所述詞袋模型的向量形式,獲得服務(wù)組合詞袋向量或Web服務(wù)詞袋向量;

S300.1c、對服務(wù)組合詞袋向量或Web服務(wù)詞袋向量使用TF-IDF算法進(jìn)行加權(quán)處理,獲得相應(yīng)的服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量;

S300.1d、對服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量進(jìn)行最大值歸一化,從而獲得相應(yīng)的所述服務(wù)組合初始向量或Web服務(wù)初始向量。

其中,所述詞袋模型中詞的類型包括服務(wù)描述語言、服務(wù)類別、標(biāo)簽、協(xié)議。

在一個實施例中,揭示了步驟S300.2中的噪聲添加處理的具體方法,包括:

S300.2a設(shè)置噪聲水平;

S300.2b以所述噪聲水平為概率隨機(jī)將服務(wù)組合初始向量、Web服務(wù)初始向量中的元素置為0,以獲得服務(wù)組合噪聲向量、Web服務(wù)噪聲向量。

其中,將噪聲水平記作nl,那么nl滿足:0≤nl≤1。在這個實施例中,將元素置為0,認(rèn)為該元素為噪聲,但還可以將噪聲設(shè)置為其它值。

根據(jù)本公開的方法,實現(xiàn)了一種Web服務(wù)推薦裝置,所述裝置包括第一提取單元、第一計算單元、第二計算單元、第三計算單元、第一輸出單元;

所述第一提取單元:對于每一個服務(wù)組合的描述文本,提取該服務(wù)組合的功能特征,獲得服務(wù)組合功能特征向量;并輸出該服務(wù)組合對應(yīng)的服務(wù)組合功能特征向量;

所述第一計算單元:對于每一個服務(wù)組合,計算并輸出每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度;

所述第二計算單元:對于每一個服務(wù)組合,計算并輸出每個Web服務(wù)自被發(fā)布時刻至一個服務(wù)組合被提出時刻所被調(diào)用的次數(shù);

所述第三計算單元:對于每一個服務(wù)組合,結(jié)合所述第一提取單元、第一計算單元、第二計算單元的輸出,計算每個Web服務(wù)相對該服務(wù)組合的推薦度;

所述第一輸出單元:對于每一個服務(wù)組合,根據(jù)第三計算單元計算的推薦度,降序輸出Web服務(wù);

所述推薦度的計算如下:

假設(shè)Web服務(wù)的總數(shù)為J,J為整數(shù);將一個服務(wù)組合輸入所述第一提取單元后,輸出的服務(wù)組合功能特征向量為Z;將該服務(wù)組合輸入第一計算單元后,輸出的第j個Web服務(wù)對應(yīng)的時間長度為uptj,j=1,…,J;將該服務(wù)組合輸入第二計算單元后,輸出的第j個Web服務(wù)對應(yīng)的次數(shù)為usgj,j=1,…,J;則第j個Web服務(wù)相對所述服務(wù)組合請求的推薦度rj的計算式為:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4為已知的權(quán)重參數(shù);

v為已知的與該Web服務(wù)相關(guān)的向量參數(shù)。

優(yōu)選地,所述第一提取單元,還包括:對輸入的每一個Web服務(wù),從Web服務(wù)的描述文本中提取每個Web服務(wù)的功能特征,獲得Web服務(wù)功能特征向量;并輸出該Web服務(wù)對應(yīng)的Web服務(wù)功能特征向量;

所述第三計算單元中的參數(shù)β1,β2,β3,β4和v,通過第一訓(xùn)練單元確定;

所述第一訓(xùn)練單元:以第一提取單元、第一計算單元、第二計算單元的輸出為輸入;通過第一提取單元的輸出獲得所述服務(wù)組合所對應(yīng)的服務(wù)組合功能特征向量,假設(shè)有I個服務(wù)組合用于訓(xùn)練,將第i個服務(wù)組合對應(yīng)的服務(wù)組合功能特征向量記作Xi,i=1,…,I,I為整數(shù);通過第一提取單元的輸出獲得所述Web服務(wù)所對應(yīng)的Web服務(wù)功能特征向量,假設(shè)Web服務(wù)的總數(shù)為J,J為整數(shù),將第j個Web服務(wù)對應(yīng)的Web服務(wù)功能特征向量記作Yj,j=1,…,J,J為整數(shù);通過第一計算單元獲得每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度,將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所經(jīng)過的時間長度記作uptij;通過第二計算單元獲得每個Web服務(wù)自被發(fā)布時刻至一個服務(wù)組合被提出時刻所被調(diào)用的次數(shù),將第j個Web服務(wù)自被發(fā)布時刻開始至第i個服務(wù)組合被提出時刻截止所被調(diào)用的次數(shù)記作usgij;

利用獲得的服務(wù)組合功能特征向量Xi,i=1,…,I、Web服務(wù)功能特征向量Yj,j=1,…,J、每個Web服務(wù)自被發(fā)布時刻至該服務(wù)組合被提出時刻所經(jīng)過的時間長度uptij,i=1,…,I,j=1,…,J以及每個Web服務(wù)自被發(fā)布時刻至一個服務(wù)組合被提出時刻所被調(diào)用的次數(shù)usgij,i=1,…,I,j=1,…,J,使用最優(yōu)算法求解下述表達(dá)式進(jìn)而確定并輸出參數(shù)β1,β2,β3,β4以及vj

式中:

rij為第j個Web服務(wù)相對第i個服務(wù)組合的推薦度;

λv為正則化參數(shù)。在使用時,正則化參數(shù)λv優(yōu)選設(shè)置為0.0001。

優(yōu)選地,所述第一提取單元是一個L層的深度神經(jīng)網(wǎng)絡(luò)模型,L為整數(shù),該模型使用的參數(shù)通過第二訓(xùn)練單元獲得;所述第一提取單元以服務(wù)組合、Web服務(wù)作為輸入;并將該模型的[L/2]層輸出作為第一提取單元的輸出,其中,[L/2]表示對L/2取整;

所述第二訓(xùn)練單元是一個L層的深度神經(jīng)網(wǎng)絡(luò)模型,L為整數(shù),將服務(wù)組合噪聲向量、Web服務(wù)噪聲向量作為該模型的輸入,將對應(yīng)的服務(wù)組合初始向量、Web服務(wù)初始向量作為該模型的預(yù)期輸出;當(dāng)該模型的計算輸出和預(yù)期輸出誤差小于一個給定的閾值時,將獲得的模型參數(shù)輸出;

所述服務(wù)組合噪聲向量、Web服務(wù)噪聲向量通過將服務(wù)組合初始向量、Web服務(wù)初始向量輸入噪聲添加處理單元進(jìn)行噪聲添加處理獲得;

所述服務(wù)組合初始向量、Web服務(wù)初始向量通過將服務(wù)組合的描述文本與Web服務(wù)的描述文本輸入向量化處理單元進(jìn)行向量化處理獲得。

優(yōu)選地,所述噪聲添加處理單元:根據(jù)設(shè)置的噪聲水平,以所述噪聲水平為概率隨機(jī)將服務(wù)組合初始向量、Web服務(wù)初始向量中的元素置為0,以獲得服務(wù)組合噪聲向量、Web服務(wù)噪聲向量。

優(yōu)選地,所述向量化處理單元:將服務(wù)組合的描述文本或Web服務(wù)的描述文本轉(zhuǎn)化為詞袋模型的向量形式,獲得服務(wù)組合詞袋向量或Web服務(wù)詞袋向量。所述詞袋模型中詞的類型包括服務(wù)描述語言、服務(wù)類別、標(biāo)簽、協(xié)議。對獲得的服務(wù)組合詞袋向量或Web服務(wù)詞袋向量使用TF-IDF算法進(jìn)行加權(quán)處理,獲得相應(yīng)的服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量;對獲得的服務(wù)組合加權(quán)向量或Web服務(wù)加權(quán)向量進(jìn)行最大值歸一化,從而獲得相應(yīng)的所述服務(wù)組合初始向量或Web服務(wù)初始向量。

下面實施例結(jié)合圖4介紹了一種Web服務(wù)推薦裝置的使用方式。當(dāng)一個用戶發(fā)出一個服務(wù)組合請求時,用戶自己提供或者Web服務(wù)系統(tǒng)自動生成一個服務(wù)組合的描述文本。接下來所述裝置的向量化處理單元基于詞袋模型對該服務(wù)組合的描述文本進(jìn)行向量化處理,并輸出該服務(wù)組合請求對應(yīng)的服務(wù)組合初始向量至第一提取單元,第一提取單元輸出該服務(wù)組合請求對應(yīng)的服務(wù)組合功能特征向量至第三計算單元。第三計算單元再結(jié)合第一計算單元和第二計算單元計算的輔助信息,計算對于該服務(wù)組合請求下的Web服務(wù)系統(tǒng)中的Web服務(wù)的推薦度。第一輸出單元根據(jù)Web服務(wù)的推薦度將Web服務(wù)推薦給用戶。對于輔助信息,假設(shè)Web服務(wù)系統(tǒng)中有J個Web服務(wù),則輔助信息包括:

(1)第j個Web服務(wù)自被發(fā)布時刻至用戶發(fā)出服務(wù)組合請求的時刻所經(jīng)過的時間長度,將其記作uptij,i=1,…,I,j=1,…,J;

(2)第j個Web服務(wù)自被發(fā)布時刻至用戶發(fā)出服務(wù)組合請求的時刻所被調(diào)用次數(shù),將其記作usgij,i=1,…,I,j=1,…,J。

從圖4可以看出,第三計算單元是Web服務(wù)推薦模型的一部分,第一提取單元是Web服務(wù)功能特征提取模型的一部分,它們均為使用各自已確定好的模型參數(shù)來進(jìn)行相應(yīng)處理。在不知道這些模型參數(shù)的情況下,或者將所述裝置應(yīng)用于一個新的Web服務(wù)系統(tǒng)時,Web服務(wù)推薦模型可以使用第一訓(xùn)練單元來獲得其模型參數(shù);而Web服務(wù)功能特征提取模型可以使用第二訓(xùn)練單元來獲得其模型參數(shù)。

對于Web服務(wù)功能特征提取模型的訓(xùn)練,準(zhǔn)備若干歷史服務(wù)組合作為訓(xùn)練樣本,獲取它們的描述文本,以及它們使用Web服務(wù)的信息。將服務(wù)組合的描述文本和Web服務(wù)的描述文本根據(jù)詞袋模型進(jìn)行向量化處理,獲得服務(wù)組合初始向量和Web服務(wù)初始向量。并進(jìn)一步將服務(wù)組合初始向量和Web服務(wù)初始向量輸入噪聲添加處理單元進(jìn)行噪聲添加處理后,獲得服務(wù)組合噪聲向量和Web服務(wù)噪聲向量。

所述Web服務(wù)功能特征提取模型屬于深度神經(jīng)網(wǎng)絡(luò)模型,將獲得的服務(wù)組合噪聲向量和Web服務(wù)噪聲向量作為Web服務(wù)功能特征提取模型的訓(xùn)練輸入數(shù)據(jù),將用于獲得服務(wù)組合噪聲向量的服務(wù)組合初始向量、用于獲得Web服務(wù)噪聲向量的Web服務(wù)初始向量作為對應(yīng)的預(yù)期輸出,來訓(xùn)練Web服務(wù)功能特征提取模型。當(dāng)Web服務(wù)功能特征提取模型的預(yù)期輸出和計算輸出的誤差小于一個給定的閾值時,則表明已經(jīng)獲得可以使用的Web服務(wù)功能特征提取模型。

將訓(xùn)練好的Web服務(wù)功能特征提取模型所具有的參數(shù)輸出給第一提取單元,該單元是一個和第二訓(xùn)練單元相同的模型。同時,將Web服務(wù)功能特征提取模型的[L/2]層輸出作為訓(xùn)練好的Web服務(wù)功能特征提取模型的輸出,其中,[L/2]表示對L/2取整。即:將服務(wù)組合噪聲向量在[L/2]層的輸出作為服務(wù)組合功能特征向量,將Web服務(wù)噪聲向量在[L/2]層的輸出作為Web服務(wù)功能特征向量。

對于在第二訓(xùn)練單元輸出的服務(wù)組合功能特征向量、Web服務(wù)功能特征向量,將作為第一訓(xùn)練單元的輸入訓(xùn)練樣本,以獲得Web服務(wù)推薦模型的參數(shù)。同時,第一訓(xùn)練單元還需要利用第一計算單元和第二計算單元計算輔助信息。假設(shè)作為訓(xùn)練樣本的服務(wù)組合有I個,則輔助信息包括:

(1)第j個Web服務(wù)自被發(fā)布時刻至第i個服務(wù)組合被提出時刻所經(jīng)過的時間長度,將其記作uptij,i=1,…,I,j=1,…,J;

(2)第j個Web服務(wù)自被發(fā)布時刻至第i個服務(wù)組合被提出時刻所被調(diào)用次數(shù),將其記作usgij,i=1,…,I,j=1,…,J。

當(dāng)?shù)谝挥?xùn)練單元經(jīng)訓(xùn)練尋找到Web服務(wù)推薦模型的參數(shù),第一訓(xùn)練單元把參數(shù)輸出給第三計算單元。

以上對本公開的一種Web服務(wù)推薦方法以及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本公開的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本公開的方法、裝置的核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本公開的思想,在具體實施方式及應(yīng)用范圍上均會有改變指出,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1