專利名稱:用于推薦Web服務(wù)組合的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于推薦Web服務(wù)組合的裝置和方法,具體涉及在考慮Web服務(wù)之間的輸入輸出關(guān)系的情況下根據(jù)當(dāng)前Web服務(wù)組合與歷史Web服務(wù)組合的匹配來推薦Web服務(wù)組合的裝置和方法。
背景技術(shù):
隨著Web服務(wù)技術(shù)的發(fā)展,網(wǎng)絡(luò)上出現(xiàn)了越來越多的可用的Web服務(wù)。由于Web月艮務(wù)的數(shù)量龐大,而且其中有很多在功能方面是相似的,因此用戶很難手動發(fā)現(xiàn)并選擇符合他們需求的Web服務(wù)。尤其在半自動Web服務(wù)組合領(lǐng)域,當(dāng)用戶通過與一個Web服務(wù)組合平臺進(jìn)行交互,從而一步一步地從Web服務(wù)列表中選擇已有的Web服務(wù)來進(jìn)行組合時,用戶迫切地需要一個能夠過濾掉不符合他們需求并且推薦一個小規(guī)模的排好序的最合適的Web服務(wù)組合的推薦方法。傳統(tǒng)的推薦方法包括以下三種:第一種方法通過在注冊Web服務(wù)時向描述文件中加入語義信息,然后在服務(wù)發(fā)現(xiàn)階段利用語義信息中的功能屬性(如輸入、輸出、前置條件、后置條件等)過濾掉功能不符合要求的服務(wù),并進(jìn)一步利用語義信息中的非功能屬性(如位置、服務(wù)質(zhì)量參數(shù)等)過濾掉不適合的服務(wù)。這種方法依賴于語義信息,因此不適用于諸如BPEL(業(yè)務(wù)處理執(zhí)行語言)的不支持語義的組合方法。第二種方法利用用戶對服務(wù)質(zhì)量的反饋來對Web服務(wù)組合進(jìn)行排序,然后基于排序進(jìn)行推薦。由于用戶的反饋是一個主觀的值,對于不同的用戶可能差別很大,因此利用該方法來進(jìn)行推薦的準(zhǔn)確度不高。第三種方法通過對歷史組合進(jìn)行挖掘來推薦Web服務(wù)。這種方法把一個組合看作一個序列,而把最終完成一個組合看作一個頻繁序列挖掘的問題。這種方法可以處理順序的組合,但是不能處理包含并行模式的組合。而且,這種方法沒有考慮Web服務(wù)的輸入輸出關(guān)系,導(dǎo)致利用這種方法推薦的Web服務(wù)不能很好地符合用戶的需求。
發(fā)明內(nèi)容
為了至少部分地解決現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種用于推薦Web服務(wù)組合的裝置和方法。根據(jù)本發(fā)明實(shí)施例的用于推薦Web服務(wù)組合的裝置包括:有向無環(huán)圖生成單元,被配置為生成當(dāng)前Web服務(wù)組合的有向無環(huán)圖(DAG),該有向無環(huán)圖中的節(jié)點(diǎn)代表Web服務(wù),邊代表Web服務(wù)之間的輸入輸出關(guān)系;匹配單元,被配置為將有向無環(huán)圖與預(yù)先存儲的歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配;以及推薦單元,被配置為根據(jù)匹配的結(jié)果為用戶推薦Web服務(wù)組合根據(jù)本發(fā)明另一實(shí)施例的用于推薦Web服務(wù)組合的方法包括步驟:生成當(dāng)前Web服務(wù)組合的有向無環(huán)圖,該有向無環(huán)圖中的節(jié)點(diǎn)代表Web服務(wù),邊代表Web服務(wù)之間的輸入輸出關(guān)系;將有向無環(huán)圖與預(yù)先存儲的歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配;以及根據(jù)匹配結(jié)果為用戶推薦Web服務(wù)組合。根據(jù)本發(fā)明的裝置和方法的一個優(yōu)點(diǎn)是,通過利用Web服務(wù)之間的輸入輸出的連接關(guān)系,能夠以更高的準(zhǔn)確度推薦Web服務(wù)組合。
參照以下結(jié)合附圖對本發(fā)明實(shí)施例的說明,會更加容易地理解本發(fā)明的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)。為了避免因不必要的細(xì)節(jié)而模糊了本發(fā)明,在附圖中僅示出了與根據(jù)本發(fā)明的方案密切相關(guān)的裝置結(jié)構(gòu)和/或處理步驟,而省略了與本發(fā)明關(guān)系不大的其它細(xì)節(jié)。圖1是示出根據(jù)本發(fā)明實(shí)施例的用于推薦Web服務(wù)組合的裝置的配置示例的框圖;圖2a示出現(xiàn)有技術(shù)中使用的只考慮Web服務(wù)間的順序關(guān)系而未考慮輸入輸出關(guān)系的Web服務(wù)組合的有向無環(huán)圖的示例;圖2b示出根據(jù)本發(fā)明實(shí)施例的用于推薦Web服務(wù)組合的裝置生成和使用的有向無環(huán)圖的示例;圖3是示出根據(jù)本發(fā)明一個實(shí)施例的用于推薦Web服務(wù)組合的裝置中的匹配單元的配置示例的框圖;圖4示出歷史Web服務(wù)組合示例的有向無環(huán)圖;圖5示出根據(jù)本發(fā)明一個實(shí)施例的裝置的頻繁序列樹生成部分基于圖4所示的歷史Web服務(wù)組合而生成的頻繁序列樹的示例;圖6示出由用戶生成的當(dāng)前Web服務(wù)組合的示例;圖7示出根據(jù)本發(fā)明一個實(shí)施例的裝置基于圖4所示的歷史Web服務(wù)組合和圖6所示的當(dāng)前Web服務(wù)組合而為用戶推薦的Web服務(wù)組合的示例;圖8示出由用戶生成的當(dāng)前Web服務(wù)組合的另一示例;圖9示出基于圖8所示的當(dāng)前Web服務(wù)組合從歷史Web服務(wù)組合中提取的Web服務(wù)組合的示例;圖10是示出根據(jù)本發(fā)明實(shí)施例的用于推薦Web服務(wù)組合的方法的流程圖;圖11是示出根據(jù)本發(fā)明一個實(shí)施例的方法中將當(dāng)前Web服務(wù)組合的有向無環(huán)圖與歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配以及根據(jù)匹配結(jié)果為用戶推薦Web服務(wù)組合的步驟的具體過程的流程圖;圖12示出根據(jù)本發(fā)明的變型實(shí)施例的裝置和方法利用反轉(zhuǎn)序列生成的頻繁序列樹的示例;以及圖13是示出實(shí)現(xiàn)本發(fā)明的裝置和方法的計(jì)算機(jī)的示例性結(jié)構(gòu)的框圖。
具體實(shí)施例方式下面參照
本發(fā)明的實(shí)施例。應(yīng)注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。圖1是示出根據(jù)本發(fā)明實(shí)施例的用于推薦Web服務(wù)組合的裝置100的配置示例的框圖。用于推薦Web服務(wù)組合的裝置100包括有向無環(huán)圖生成單元110、匹配單元120以及推薦單元130。由用戶創(chuàng)建或編輯的當(dāng)前Web服務(wù)組合被提供給裝置100的有向無環(huán)圖生成單元110,有向無環(huán)圖生成單元110被配置為生成Web服務(wù)組合的有向無環(huán)圖,在該有向無環(huán)圖中,節(jié)點(diǎn)代表Web服務(wù),邊代表Web服務(wù)之間的輸入輸出關(guān)系。圖2b示出根據(jù)本發(fā)明實(shí)施例的有向無環(huán)圖生成單元110生成的Web服務(wù)組合的有向無環(huán)圖的示例,其中,節(jié)點(diǎn)W1-W7代表Web服務(wù),節(jié)點(diǎn)間的邊(由箭頭表示)代表Web月艮務(wù)間的輸入輸出關(guān)系。例如,在如圖2b的I所示的有向無環(huán)圖中,節(jié)點(diǎn)W4與W5之間具有這樣的輸入輸出關(guān)系:w4的第一輸出(由O4a表不)被提供給W5的第一輸入(由I5a表不),W4的第二輸出(由O4,2表示)被提供給W5的第二輸入(由I5,2表示)。在如圖2b的II所示的有向無環(huán)圖中,節(jié)點(diǎn)W4與W5之間具有這樣的輸入輸出關(guān)系:W4的第一輸出被提供給W5的第二輸入,W4的第二輸出被提供給W5的第一輸入。作為對比,圖2a中示出了未考慮Web服務(wù)間的輸入輸出關(guān)系的有向無環(huán)圖的示例。在圖2a中,節(jié)點(diǎn)間的邊僅表示各Web服務(wù)的執(zhí)行順序,即在該組合中按照箭頭所示的順序執(zhí)行各個節(jié)點(diǎn)所代表的Web服務(wù),而其中并未考慮Web服務(wù)的各個輸入和輸出的連接關(guān)系?;氐綀D1,裝置100的匹配單元120被配置為將有向無環(huán)圖生成單元110生成的當(dāng)前Web服務(wù)組合的有向無環(huán)圖與預(yù)先存儲的歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配。推薦單元130被配置為根據(jù)匹配單元120的匹配結(jié)果為用戶推薦Web服務(wù)組合。匹配單元120可以采用多種匹配方式,例如可以通過將當(dāng)前組合的有向無環(huán)圖與歷史組合的有向無環(huán)圖進(jìn)行逐個比較,來查找包含當(dāng)前組合的至少一部分的歷史組合。推薦單元130可以按照預(yù)定規(guī)則,根據(jù)匹配結(jié)果向用戶推薦Web服務(wù)組合,例如當(dāng)查找到多個與當(dāng)前組合匹配的歷史組合時,推薦單元130可以將匹配頻度較高的歷史組合的部分推薦給用戶。再次參考圖2,圖2b中的1-1II為歷史Web服務(wù)組合的有向無環(huán)圖,而IV為用戶提供的當(dāng)前組合的有向無環(huán)圖。通過將當(dāng)前組合與歷史組合的有向無環(huán)圖進(jìn)行匹配,可以確定組合II包含當(dāng)前組合,從而可以將包含W7的組合推薦給用戶。作為對比,如圖2a所示,在使用只考慮Web服務(wù)間的順序關(guān)系而未考慮輸入輸出關(guān)系的有向無環(huán)圖進(jìn)行匹配的情況下,歷史組合1-1II的有向無環(huán)圖均包含當(dāng)前組合的有向無環(huán)圖,由于^在(W4 —W5)之后出現(xiàn)了兩次,而W7僅出現(xiàn)了一次,所以根據(jù)傳統(tǒng)方法(例如背景技術(shù)中所述的第三種方法),會推薦W6作為后續(xù)Web服務(wù)推薦給用戶,然而該組合實(shí)際上并不是與當(dāng)前組合最精確匹配的歷史組合。通過該示例可以看出,根據(jù)本發(fā)明實(shí)施例的用于推薦Web服務(wù)組合的裝置通過利用Web服務(wù)之間的輸入輸出的連接關(guān)系,能夠以更高的準(zhǔn)確度推薦Web服務(wù)組合。以上說明了本發(fā)明的一般實(shí)施例,而在存在較大數(shù)量的歷史Web組合以及在涉及例如并行模式的較復(fù)雜的Web服務(wù)組合的情況下,可以采用頻繁序列挖掘進(jìn)行Web服務(wù)組合的匹配和推薦。圖3示出根據(jù)本發(fā)明一個實(shí)施例的用于推薦Web服務(wù)組合的裝置的匹配單元320的配置示例。匹配單元320包括序列生成部分321、頻繁序列樹生成部分322以及序列提取部分323。
序列生成部分321被配置為根據(jù)有向無環(huán)圖的拓?fù)渑判蛏杀硎鞠鄳?yīng)Web服務(wù)組合的序列,該序列的元素為U、Os和It構(gòu)成的四元組,其中,Ws表示源Web服務(wù)、Wt表示目標(biāo)Web服務(wù)、Os表不源Web服務(wù)的輸出、It表不目標(biāo)Web服務(wù)的輸入。該序列的一個兀素代表的是組合中兩個Web服務(wù)間的一種關(guān)系,其對應(yīng)于有向無環(huán)圖中的一個邊。序列生成部分321例如可以通過以下示例算法I由有向無環(huán)圖生成序列:輸入:D表不Web服務(wù)組合的有向無環(huán)圖1.Q:=空序列2.while (D的節(jié)點(diǎn)集合不為空)3.N:= D中沒有前驅(qū)的節(jié)點(diǎn)的集合4.while (N 不為空)5.E:= N中Web服務(wù)編號(Ws)最小的元素6.0:= D中以E為其源Web服務(wù)的邊的集合7.while (0 不為空)8.1:= 0中具有最小輸出編號(Os)、最小目的Web服務(wù)編號(Wt)、最小輸入編號(It)的元素(先比較Os,然后比較Wt,最后比較It)9.T: = D中與I具有共同的目的Web服務(wù)的邊的集合10.S: = T中所有邊的源Web服務(wù)的節(jié)點(diǎn)的集合11.1f (S 是 N 的一個子集)12.將(Ws,Wt, Os, It)添加為Q的最后一個元素13.從D中刪除I14.end-1f15.從0中刪除I16.end-while17.1f (D中以E為其源Web服務(wù)的邊的集合為空)18.從D中刪除E19.end-1f20.從N中刪除E21.end-while22.1f (D的邊的集合不為空)23.將I I添加為Q的最后一個元素24.end-1f25.end-while輸出:返回Q在該示例算法中,根據(jù)目標(biāo)Web服務(wù)的拓?fù)渑判虼_定元素的層級,并在序列中用分隔符(用“I I”表示)分隔不同層級的元素。對于同一層級的元素,根據(jù)該算法中規(guī)定的排序方案(排序方案不限于此),根據(jù)預(yù)先確定的Web服務(wù)的編號及其各個輸入和輸出的編號可以確定各個元素的排列順序。因此,給定一個Web服務(wù)組合,序列生成部分321能夠生成一個唯一代表該組合的序列。例如,對于圖4示出歷史Web服務(wù)組合的有向無環(huán)圖,序列生成部分321可以生成
權(quán)利要求
1.一種用于推薦Web服務(wù)組合的裝置,包括: 有向無環(huán)圖生成單元,被配置為生成當(dāng)前Web服務(wù)組合的有向無環(huán)圖,所述有向無環(huán)圖中的節(jié)點(diǎn)代表Web服務(wù),邊代表Web服務(wù)之間的輸入輸出關(guān)系; 匹配單元,被配置為將所述有向無環(huán)圖與預(yù)先存儲的歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配;以及 推薦單元,被配置為根據(jù)所述匹配的結(jié)果為用戶推薦Web服務(wù)組合。
2.根據(jù)權(quán)利要求1所述的裝置,其中所述匹配單元包括: 序列生成部分,被配置為根據(jù)所述有向無環(huán)圖的拓?fù)渑判蛏杀硎鞠鄳?yīng)Web服務(wù)組合的序列,所述序列的元素為Ws、Wt、Os和It構(gòu)成的四元組,其中,Ws表示源Web服務(wù)、Wt表示目標(biāo)Web服務(wù)、Os表不源Web服務(wù)的輸出、It表不目標(biāo)Web服務(wù)的輸入; 頻繁序列樹生成部分,被配置為根據(jù)所述歷史Web服務(wù)組合的所述序列生成或更新頻繁序列樹;以及 序列提取部分,被配置為從所述頻繁序列樹中提取前驅(qū)子序列與所述當(dāng)前Web服務(wù)組合的序列的后綴子序列相同的序列。
3.根據(jù)權(quán)利要求2所述的裝置,其中,所述序列生成部分還被配置為根據(jù)所述目標(biāo)Web服務(wù)的拓?fù)渑判虼_定所述元素的層級,并在所述序列中用分隔符分隔不同層級的元素。
4.根據(jù)權(quán)利要求2所述的裝置,其中所述推薦單元將所述序列提取部分提取出的序列按照所述頻繁序列樹中的支持度按降序進(jìn)行排序,如果兩個序列支持度相同,則按照去掉當(dāng)前Web服務(wù)組合序列的所述后綴子序列之后的序列長度再次進(jìn)行排序,所述序列長度較長的優(yōu)先,并且 所述推薦單元根據(jù)預(yù)先設(shè)置的參數(shù)n提取排序結(jié)果中的前n條結(jié)果,并推薦與所述前n條結(jié)果相對應(yīng)的Web服務(wù)組合。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的裝置,還包括更新單元,被配置為將用戶完成的Web服務(wù)組合添加到所述歷史Web服務(wù)組合中。
6.一種用于推薦Web服務(wù)組合的方法,包括: 生成當(dāng)前Web服務(wù)組合的有向無環(huán)圖,所述有向無環(huán)圖中的節(jié)點(diǎn)代表Web服務(wù),邊代表Web服務(wù)之間的輸入輸出關(guān)系; 將所述有向無環(huán)圖與預(yù)先存儲的歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配;以及 根據(jù)匹配結(jié)果為用戶推薦Web服務(wù)組合。
7.根據(jù)權(quán)利要求6所述的方法,其中,將當(dāng)前Web服務(wù)組合的有向無環(huán)圖與歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配的步驟包括: 根據(jù)所述有向無環(huán)圖的拓?fù)渑判蛏杀硎鞠鄳?yīng)Web服務(wù)組合的序列,所述序列的元素為Ws、Wt、0s和It構(gòu)成的四元組,其中,Ws表示源Web服務(wù)、Wt表示目標(biāo)Web服務(wù)、Os表示源Web服務(wù)的輸出、It表不目標(biāo)Web服務(wù)的輸入; 利用頻繁序列挖掘方法,根據(jù)所述歷史Web服務(wù)組合的所述序列生成或更新頻繁序列樹;以及 從所述頻繁序列樹中提取前驅(qū)子序列與所述當(dāng)前Web服務(wù)組合的序列的后綴子序列相同的序列。
8.根據(jù)權(quán)利要求7所述的方法, 其中,所述根據(jù)所述有向無環(huán)圖的拓?fù)渑判蛏杀硎鞠鄳?yīng)Web服務(wù)組合的序列的步驟還包括:根據(jù)所述目標(biāo)Web服務(wù)的拓?fù)渑判虼_定所述元素的層級,并在所述序列中用分隔符分隔不同層級的元素。
9.根據(jù)權(quán)利要求7所述的方法,其中,根據(jù)匹配結(jié)果為用戶推薦Web服務(wù)組合的步驟還包括: 將所提取出的序列按照所述頻繁序列樹中的支持度按降序進(jìn)行排序,如果兩個序列支持度相同,則按照去掉當(dāng)前Web服務(wù)組合序列的后綴子序列之后的序列長度再次進(jìn)行排序,所述序列長度較長的優(yōu)先;以及 根據(jù)預(yù)先設(shè)置的參數(shù)n,提取排序結(jié)果中的前n條結(jié)果,并推薦與所述前n條結(jié)果相對應(yīng)的Web服務(wù)組合。
10.根據(jù)權(quán)利要求6-9中任一項(xiàng)所述的方法,還包括步驟: 將用戶完成的Web服務(wù)組 合添加到所述歷史Web服務(wù)組合中。
全文摘要
一種用于推薦Web服務(wù)組合的裝置和方法。該裝置包括有向無環(huán)圖生成單元,被配置為生成當(dāng)前Web服務(wù)組合的有向無環(huán)圖,該有向無環(huán)圖中的節(jié)點(diǎn)代表Web服務(wù),邊代表Web服務(wù)之間的輸入輸出關(guān)系;匹配單元,被配置為將有向無環(huán)圖與預(yù)先存儲的歷史Web服務(wù)組合的有向無環(huán)圖進(jìn)行匹配;以及推薦單元,被配置為根據(jù)匹配的結(jié)果為用戶推薦Web服務(wù)組合。
文檔編號G06F17/30GK103207858SQ20121000725
公開日2013年7月17日 申請日期2012年1月11日 優(yōu)先權(quán)日2012年1月11日
發(fā)明者鐘朝亮, 張軍, 李邵明, 鄒綱, 皮冰鋒, 于浩, 松尾昭彥 申請人:富士通株式會社