郝予實(shí),范玉順
(清華大學(xué) 自動(dòng)化系,北京 100084)
近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)、云計(jì)算以及面向服務(wù)的體系架構(gòu)(Service-Oriented Architecture, SOA)的迅猛發(fā)展,制造企業(yè)在經(jīng)營(yíng)模式和協(xié)作模式上正經(jīng)歷著深刻的變革,越來(lái)越多的制造企業(yè)由產(chǎn)品提供者的角色轉(zhuǎn)化為服務(wù)提供者[1]。在這種背景下,云制造這一新型制造模式應(yīng)運(yùn)而生,并取得了長(zhǎng)足的發(fā)展[2]。
在云制造模式下,越來(lái)越多的制造業(yè)企業(yè)將其制造資源(如制造設(shè)備、軟件、知識(shí)、數(shù)據(jù)等)與制造能力(如生產(chǎn)能力、檢測(cè)能力、設(shè)計(jì)能力等)以制造服務(wù)的形式發(fā)布到互聯(lián)網(wǎng)上[3],第三方開(kāi)發(fā)者借助云制造平臺(tái)可以便捷地查找、使用和集成這些制造服務(wù),以滿足自身個(gè)性化的制造需求。因?yàn)閱蝹€(gè)制造服務(wù)往往僅能提供一種功能,而用戶的制造需求一般具有較高的復(fù)雜性,所以在實(shí)際操作中,開(kāi)發(fā)人員通常將多個(gè)制造服務(wù)組合使用,以滿足用戶復(fù)雜的個(gè)性化需求[4]。通過(guò)創(chuàng)建服務(wù)組合,制造服務(wù)的功能得以擴(kuò)展和協(xié)作,從而提升了制造能力。大量的制造服務(wù)與服務(wù)組合、云制造體系下的各方參與者、服務(wù)與服務(wù)組合包含的大量信息及其之間復(fù)雜的關(guān)聯(lián)關(guān)系共同構(gòu)成了云制造服務(wù)系統(tǒng)[5]。
隨著制造服務(wù)數(shù)量的不斷增長(zhǎng),云制造服務(wù)系統(tǒng)出現(xiàn)了嚴(yán)重的信息過(guò)載問(wèn)題,用戶在從海量的制造服務(wù)中篩選合適的服務(wù)創(chuàng)建服務(wù)組合時(shí)遇到了較大的困難[6],在這種背景下,制造服務(wù)推薦算法獲得了廣泛的關(guān)注和研究。制造服務(wù)推薦算法旨在通過(guò)準(zhǔn)確識(shí)別用戶需求,自動(dòng)地為用戶推薦可能滿足其需求的服務(wù)列表,從而幫助用戶快速創(chuàng)建服務(wù)組合[7]。
現(xiàn)有的針對(duì)云制造服務(wù)系統(tǒng)和制造服務(wù)推薦算法的研究主要集中在以下方面:針對(duì)云制造服務(wù)系統(tǒng),研究者主要關(guān)注云制造服務(wù)系統(tǒng)概念和架構(gòu)、制造服務(wù)建模和分類(lèi)、制造服務(wù)網(wǎng)絡(luò)、制造服務(wù)評(píng)估和制造服務(wù)推薦等領(lǐng)域[8]。云制造服務(wù)系統(tǒng)概念和架構(gòu)的研究旨在為云制造服務(wù)系統(tǒng)確立統(tǒng)一的概念和定義,并通過(guò)提出標(biāo)準(zhǔn)化的系統(tǒng)架構(gòu)搭建云制造體系,為后續(xù)研究建立體系基礎(chǔ)[9];制造服務(wù)建模和分類(lèi)的研究主要聚焦于系統(tǒng)中的制造服務(wù),研究者為制造服務(wù)建立統(tǒng)一的模型以對(duì)其進(jìn)行規(guī)范化描述,然后基于服務(wù)的功能屬性等進(jìn)行服務(wù)分類(lèi),從而對(duì)系統(tǒng)中的制造服務(wù)進(jìn)行管理[7, 10];制造服務(wù)網(wǎng)絡(luò)的研究者將云制造服務(wù)系統(tǒng)中的服務(wù)關(guān)聯(lián)關(guān)系抽象為網(wǎng)絡(luò)化模型,利用網(wǎng)絡(luò)分析的技術(shù)和手段對(duì)制造服務(wù)進(jìn)行研究[11];制造服務(wù)評(píng)估旨在構(gòu)建服務(wù)的信譽(yù)評(píng)價(jià)體系,其主要關(guān)注于識(shí)別和評(píng)價(jià)服務(wù)的各項(xiàng)服務(wù)質(zhì)量(Quality of Service, QoS)指標(biāo)[12-13];制造服務(wù)推薦算法是近年來(lái)研究的熱門(mén)領(lǐng)域,也是本文的研究重點(diǎn)。早期的服務(wù)推薦算法主要利用語(yǔ)義匹配技術(shù),通過(guò)匹配用戶需求和服務(wù)描述文本的相似性進(jìn)行推薦[14]。隨著主題模型和協(xié)同過(guò)濾等算法的發(fā)展,研究者嘗試?yán)酶黝?lèi)主題模型對(duì)服務(wù)描述文本進(jìn)行向量化,并且基于協(xié)同過(guò)濾的思想,利用服務(wù)歷史組合記錄的信息進(jìn)行推薦[7, 15-16]。近期,各類(lèi)復(fù)雜的推薦模型被相繼提出,研究者從服務(wù)流行度分析、服務(wù)網(wǎng)絡(luò)特性分析、服務(wù)演化特性分析等角度入手,構(gòu)建了一系列復(fù)雜的制造服務(wù)推薦模型[17-18]。
雖然針對(duì)云制造服務(wù)系統(tǒng)和制造服務(wù)推薦算法的研究已經(jīng)取得了一定進(jìn)展,但是國(guó)內(nèi)外研究者仍然忽視了兩方面問(wèn)題,從而限制了云制造服務(wù)系統(tǒng)的發(fā)展和制造服務(wù)推薦算法效果的提升。
(1)缺乏對(duì)已有服務(wù)組合應(yīng)用場(chǎng)景信息的挖掘和組織 云制造服務(wù)系統(tǒng)現(xiàn)有的研究多聚焦于服務(wù)層面,對(duì)系統(tǒng)中服務(wù)組合蘊(yùn)含的信息關(guān)注較少?,F(xiàn)實(shí)中每一個(gè)服務(wù)組合都對(duì)應(yīng)實(shí)際制造業(yè)務(wù)中的一個(gè)應(yīng)用場(chǎng)景,該組合能夠滿足這一場(chǎng)景下的制造需求。通過(guò)挖掘和組織系統(tǒng)中已有服務(wù)組合的應(yīng)用場(chǎng)景信息,云制造服務(wù)系統(tǒng)的運(yùn)營(yíng)者可以從場(chǎng)景的角度對(duì)系統(tǒng)內(nèi)的服務(wù)與服務(wù)組合進(jìn)行管理,進(jìn)一步通過(guò)為各類(lèi)應(yīng)用場(chǎng)景建立特定的加權(quán)服務(wù)庫(kù)來(lái)輔助服務(wù)推薦過(guò)程。
(2)缺乏對(duì)用戶制造需求的應(yīng)用場(chǎng)景信息的識(shí)別 當(dāng)前的服務(wù)推薦算法均局限于從功能匹配的角度進(jìn)行推薦,試圖滿足用戶的各項(xiàng)功能需求,這些算法在提升推薦效果上遇到了瓶頸。實(shí)際上,用戶的制造需求往往基于特定的應(yīng)用場(chǎng)景,通過(guò)對(duì)需求的應(yīng)用場(chǎng)景信息進(jìn)行挖掘和識(shí)別,利用場(chǎng)景特性和場(chǎng)景加權(quán)服務(wù)庫(kù)進(jìn)行服務(wù)推薦可以大大提升制造服務(wù)推薦的效果。
針對(duì)以上問(wèn)題,本文創(chuàng)新性地提出一種基于場(chǎng)景識(shí)別的云制造服務(wù)推薦(cloud manufacturing Service Recommendation Based on Scenario Recognition, SRSR)模型。SRSR模型首先對(duì)系統(tǒng)內(nèi)原始服務(wù)組合描述進(jìn)行重構(gòu),通過(guò)補(bǔ)充功能信息描述為每個(gè)服務(wù)組合建立場(chǎng)景綜合描述文本;然后,利用主題模型和聚類(lèi)分析等手段對(duì)服務(wù)組合的應(yīng)用場(chǎng)景進(jìn)行聚類(lèi),并為各類(lèi)應(yīng)用場(chǎng)景建立特定的加權(quán)服務(wù)庫(kù),從而實(shí)現(xiàn)了對(duì)服務(wù)組合場(chǎng)景信息的挖掘和組織;最后,通過(guò)對(duì)用戶制造需求進(jìn)行場(chǎng)景識(shí)別,利用各場(chǎng)景加權(quán)服務(wù)庫(kù)為用戶進(jìn)行服務(wù)推薦。本文在實(shí)際數(shù)據(jù)集上對(duì)所提模型的推薦效果進(jìn)行了驗(yàn)證,實(shí)驗(yàn)表明,SRSR模型用MAP(mean average precision)指標(biāo)評(píng)估的綜合推薦效果較當(dāng)前最優(yōu)模型提升了6.1%。
本章將為云制造服務(wù)系統(tǒng)和制造服務(wù)推薦問(wèn)題給出詳細(xì)描述和數(shù)學(xué)定義,以利于后續(xù)討論。
云制造服務(wù)系統(tǒng)內(nèi)主要包括4類(lèi)實(shí)體,分別為制造服務(wù)提供者、制造服務(wù)、開(kāi)發(fā)者和服務(wù)組合。制造服務(wù)提供者將其擁有的制造資源與能力以制造服務(wù)的形式發(fā)布到云制造服務(wù)系統(tǒng)中。每個(gè)制造服務(wù)通常包括服務(wù)名稱(chēng)、服務(wù)標(biāo)簽、服務(wù)創(chuàng)建時(shí)間、服務(wù)描述等,其中服務(wù)描述是在服務(wù)發(fā)布時(shí)由服務(wù)提供者為其撰寫(xiě)的描述文本,通常包含對(duì)服務(wù)功能特性的介紹。開(kāi)發(fā)者在系統(tǒng)內(nèi)特指通過(guò)篩選制造服務(wù)創(chuàng)建服務(wù)組合,以滿足復(fù)雜制造需求的人群。在實(shí)際系統(tǒng)中,開(kāi)發(fā)者可以是服務(wù)系統(tǒng)的管理和運(yùn)營(yíng)者,可以是第三方的用戶或客戶,也可以同時(shí)是制造服務(wù)提供者,在本文討論范圍內(nèi)不進(jìn)行區(qū)分,均稱(chēng)為開(kāi)發(fā)者或用戶。服務(wù)組合指由開(kāi)發(fā)者創(chuàng)建,集合多個(gè)制造服務(wù)以共同滿足某一個(gè)性化制造需求的整體。每個(gè)服務(wù)組合通常包括服務(wù)組合名稱(chēng)、服務(wù)組合標(biāo)簽、服務(wù)組合創(chuàng)建時(shí)間、服務(wù)組合包含服務(wù)列表、服務(wù)組合描述等,其中服務(wù)組合描述是在服務(wù)組合創(chuàng)建時(shí),由開(kāi)發(fā)者為其撰寫(xiě)的描述文本,通常包含對(duì)服務(wù)組合應(yīng)用背景與設(shè)計(jì)目標(biāo)的介紹。
制造服務(wù)推薦問(wèn)題指通過(guò)識(shí)別和分析用戶的個(gè)性化制造需求,利用服務(wù)推薦算法在云制造服務(wù)系統(tǒng)中篩選可能滿足需求的制造服務(wù),以推薦服務(wù)列表的形式展現(xiàn)給用戶,從而進(jìn)行服務(wù)組合創(chuàng)建。因此,制造服務(wù)推薦算法的輸入為用戶的個(gè)性化制造需求,通常以一段文本描述的形式給出,算法的輸出為一列帶有順序的服務(wù)列表,服務(wù)在列表中的排序越靠前,該服務(wù)越有可能滿足用戶的制造需求。
在云制造服務(wù)系統(tǒng)SS中,用集合Q表示不同用戶的制造需求。對(duì)于每一個(gè)制造需求q∈Q,用一個(gè)含有nq個(gè)單詞的集合QDq={wq1,wq2,…,wqnq}表示其需求描述,即用戶輸入的個(gè)性化制造需求。制造服務(wù)推薦算法針對(duì)需求q∈Q輸出的帶有順序的服務(wù)列表用RLq表示。
為了更好地挖掘和組織服務(wù)組合應(yīng)用場(chǎng)景信息,進(jìn)而提升制造服務(wù)推薦的效果,本文提出一種SRSR模型。本章將從模型整體架構(gòu)的層面入手,對(duì)SRSR模型的實(shí)現(xiàn)過(guò)程進(jìn)行介紹,然后基于對(duì)模型的初步理解,明確場(chǎng)景的具體定義、表示和特征。
SRSR模型的整體架構(gòu)如圖1所示。SRSR模型分為3個(gè)步驟:①利用云制造服務(wù)系統(tǒng)中的各描述信息與結(jié)構(gòu)信息綜合描述重構(gòu)服務(wù)組合場(chǎng)景,得到各服務(wù)組合場(chǎng)景主題向量;②基于各服務(wù)組合場(chǎng)景主題向量進(jìn)行場(chǎng)景聚類(lèi),聚類(lèi)組織服務(wù)組合所代表的應(yīng)用場(chǎng)景,為每類(lèi)場(chǎng)景計(jì)算場(chǎng)景描述向量并建立加權(quán)服務(wù)庫(kù);③首先將用戶制造需求向量化,然后識(shí)別用戶需求的應(yīng)用場(chǎng)景信息,最后利用各類(lèi)場(chǎng)景加權(quán)服務(wù)庫(kù)進(jìn)行服務(wù)推薦,為用戶推薦一列排序的服務(wù)列表。圖1中不同線條的流程箭頭表示模型不同的步驟。
步驟①的主要作用在于為系統(tǒng)內(nèi)各服務(wù)組合建立場(chǎng)景主題向量,以供場(chǎng)景聚類(lèi)使用。在云制造服務(wù)系統(tǒng)中,每一個(gè)服務(wù)組合對(duì)應(yīng)一個(gè)實(shí)際的制造場(chǎng)景,通過(guò)識(shí)別和聚類(lèi)各服務(wù)組合對(duì)應(yīng)的場(chǎng)景,可以有效地組織和利用系統(tǒng)內(nèi)的各類(lèi)應(yīng)用場(chǎng)景信息。為了實(shí)現(xiàn)這一目的,模型首先需要提取并整合各服務(wù)組合的場(chǎng)景信息,具體就是為各服務(wù)組合創(chuàng)建場(chǎng)景綜合描述。實(shí)際上,各服務(wù)組合創(chuàng)立時(shí),開(kāi)發(fā)者已經(jīng)為其撰寫(xiě)了一份描述文檔,然而該原始描述通常著重于描述該服務(wù)組合的應(yīng)用背景、設(shè)計(jì)目標(biāo)和實(shí)現(xiàn)效果,對(duì)其所包含功能模塊的介紹并不全面,為了構(gòu)建場(chǎng)景綜合描述,模型需要為原始服務(wù)組合描述補(bǔ)充功能信息描述。在各制造服務(wù)發(fā)布時(shí),服務(wù)提供者會(huì)為其撰寫(xiě)一份功能描述文檔,通過(guò)將服務(wù)組合所使用的各制造服務(wù)的描述引入原始服務(wù)組合描述,可為原始服務(wù)組合描述補(bǔ)充功能信息。采用這樣的方式,步驟①通過(guò)對(duì)各服務(wù)組合原始描述進(jìn)行重構(gòu)獲得各服務(wù)組合的場(chǎng)景綜合描述(服務(wù)組合的場(chǎng)景綜合描述在圖中用RMDi表示,在后續(xù)章節(jié)中會(huì)給出RMDi的詳細(xì)定義和計(jì)算過(guò)程)。然后,模型利用LDA(latent dirichlet allocation)主題模型[19]將各服務(wù)組合的場(chǎng)景綜合描述向量化,得到各服務(wù)組合的場(chǎng)景主題向量。
步驟①為系統(tǒng)內(nèi)各服務(wù)組合所對(duì)應(yīng)的應(yīng)用場(chǎng)景構(gòu)建了主題向量。因?yàn)橄到y(tǒng)內(nèi)服務(wù)組合之間可能存在相似的應(yīng)用場(chǎng)景,其滿足的制造需求類(lèi)似,所以在步驟②中對(duì)各服務(wù)組合場(chǎng)景主題向量進(jìn)行聚類(lèi),通過(guò)場(chǎng)景聚類(lèi)來(lái)整合相似的應(yīng)用場(chǎng)景、區(qū)分不同的應(yīng)用場(chǎng)景。模型使用的聚類(lèi)算法為改進(jìn)的K-means聚類(lèi)算法[20],通過(guò)調(diào)整迭代終止條件和類(lèi)數(shù)設(shè)置,可以使聚類(lèi)效果達(dá)到最佳。聚類(lèi)后獲得的每一類(lèi)場(chǎng)景均包含一系列具有代表性的服務(wù)組合,通過(guò)計(jì)算這些服務(wù)組合場(chǎng)景主題向量的中心,可以得到該類(lèi)場(chǎng)景的場(chǎng)景描述向量。另外,對(duì)場(chǎng)景中各服務(wù)組合所使用的制造服務(wù)進(jìn)行統(tǒng)計(jì),可以為各應(yīng)用場(chǎng)景建立特定的加權(quán)服務(wù)庫(kù),服務(wù)的權(quán)重即為該場(chǎng)景下某一服務(wù)出現(xiàn)的總次數(shù)與該場(chǎng)景下所有服務(wù)出現(xiàn)的總次數(shù)的比值。綜上所述,步驟②實(shí)現(xiàn)了對(duì)系統(tǒng)內(nèi)各類(lèi)應(yīng)用場(chǎng)景的識(shí)別和組織,并為各場(chǎng)景建立了場(chǎng)景描述向量和加權(quán)服務(wù)庫(kù)。
步驟③通過(guò)對(duì)用戶制造需求進(jìn)行場(chǎng)景識(shí)別,利用步驟②獲得的各場(chǎng)景聚類(lèi)結(jié)果和相應(yīng)的加權(quán)服務(wù)庫(kù)實(shí)現(xiàn)服務(wù)推薦。首先,模型對(duì)用戶輸入的制造需求進(jìn)行向量化,利用LDA主題模型提取用戶需求主題向量;然后,分別計(jì)算用戶需求主題向量與各場(chǎng)景描述向量之間的JS(Jensen-Shannon divergence)散度[21],用以衡量用戶需求場(chǎng)景與系統(tǒng)內(nèi)各場(chǎng)景的相似度,從而識(shí)別用戶需求場(chǎng)景;最后,利用用戶需求場(chǎng)景與系統(tǒng)內(nèi)各場(chǎng)景的相似度信息,結(jié)合各場(chǎng)景加權(quán)服務(wù)庫(kù)計(jì)算各制造服務(wù)的推薦得分,為用戶推薦一列帶有順序的制造服務(wù)列表,以滿足用戶的制造需求。
本文提出“場(chǎng)景”這一抽象概念用以定義和描述服務(wù)組合的應(yīng)用背景與環(huán)境屬性。在服務(wù)系統(tǒng)中,每一個(gè)服務(wù)組合對(duì)應(yīng)實(shí)際制造業(yè)務(wù)中的一個(gè)應(yīng)用背景,服務(wù)組合在這一背景與環(huán)境下開(kāi)展自身特定的功能,這一性質(zhì)是服務(wù)組合的核心特性,本文使用場(chǎng)景的概念來(lái)表征服務(wù)組合的應(yīng)用背景和環(huán)境屬性。對(duì)于每一個(gè)服務(wù)組合個(gè)體,場(chǎng)景是其固有特性,然而該特性并不能從服務(wù)組合的顯性信息中直接獲取,需要算法的合理建模和挖掘。不同服務(wù)組合個(gè)體之間的應(yīng)用場(chǎng)景既具有相關(guān)性又具有差異性,可以通過(guò)場(chǎng)景聚類(lèi)分析對(duì)服務(wù)系統(tǒng)中的場(chǎng)景信息進(jìn)行組織,從更高的維度理解服務(wù)系統(tǒng)中的場(chǎng)景信息。
用場(chǎng)景主題向量θi表示服務(wù)組合個(gè)體的場(chǎng)景,θi是一個(gè)多維向量,不同服務(wù)組合個(gè)體之間場(chǎng)景主題向量的相似性代表它們之間應(yīng)用場(chǎng)景的相似性,其由服務(wù)組合的場(chǎng)景綜合描述RMDi進(jìn)行LDA主題建模得到。由于不同服務(wù)組合之間的場(chǎng)景可能具有相似性,算法基于各服務(wù)組合的場(chǎng)景主題向量θi對(duì)場(chǎng)景進(jìn)行聚類(lèi)(如圖1),不同服務(wù)組合可能聚類(lèi)為一個(gè)應(yīng)用場(chǎng)景,通過(guò)計(jì)算每一類(lèi)應(yīng)用場(chǎng)景內(nèi)的服務(wù)組合場(chǎng)景主題向量θi的中心,可以得出描述這一類(lèi)場(chǎng)景的場(chǎng)景描述向量Centerk。另外,本文為每一類(lèi)場(chǎng)景構(gòu)建了加權(quán)服務(wù)庫(kù)Libk,用以輔助服務(wù)推薦過(guò)程。
本章將對(duì)SRSR模型的實(shí)現(xiàn)過(guò)程進(jìn)行分步驟詳細(xì)介紹,并給出數(shù)學(xué)計(jì)算過(guò)程。
為了識(shí)別各服務(wù)組合對(duì)應(yīng)的應(yīng)用場(chǎng)景,利用云制造服務(wù)系統(tǒng)中的服務(wù)與服務(wù)組合的原始描述信息和歷史組合記錄信息對(duì)原始服務(wù)組合描述進(jìn)行重構(gòu),從而為各服務(wù)組合建立場(chǎng)景綜合描述。原始服務(wù)組合描述主要描述該服務(wù)組合的應(yīng)用背景、設(shè)計(jì)目標(biāo)和實(shí)現(xiàn)效果,而服務(wù)描述詳細(xì)介紹了服務(wù)實(shí)現(xiàn)的功能。因此,引入服務(wù)描述信息可以補(bǔ)充原始服務(wù)組合描述中缺失的功能模塊信息,進(jìn)而構(gòu)建服務(wù)組合場(chǎng)景綜合描述。
根據(jù)前文定義,每一個(gè)服務(wù)組合mi∈M的歷史組合記錄可以用向量(ri1,ri2,…,riSN)表示,其中rij=1表示服務(wù)組合mi使用了服務(wù)sj。為了建立服務(wù)組合mi的場(chǎng)景綜合描述,采用以下公式對(duì)其進(jìn)行描述重構(gòu):
mi∈M。
(1)
LDA主題模型[19]認(rèn)為一段文本的詞匯生成過(guò)程由這段文本的潛在主題指導(dǎo),文本的主題信息及各主題的權(quán)重則從抽象的層面代表文本更為本質(zhì)的特征。因此,本文使用LDA主題模型對(duì)描述文本進(jìn)行建模,提取各描述的潛在主題特征對(duì)描述文本進(jìn)行向量化,以便后續(xù)分析使用。對(duì)于服務(wù)組合集合M={m1,m2,…,mMN},各服務(wù)組合的場(chǎng)景綜合描述RMDi={wi1,wi2,…,win}的生成過(guò)程建模如下:模型中的每一個(gè)主題k=1,2,…,T均對(duì)應(yīng)一個(gè)單詞概率分布Φk~Dirichlet(β),即在該主題下單詞的分布規(guī)律;而模型中的每一個(gè)服務(wù)組合mi∈M均對(duì)應(yīng)一個(gè)主題概率分布θi~Dirichlet(α)。服務(wù)組合描述中的每一個(gè)單詞w∈RMDi的產(chǎn)生過(guò)程首先是選取一個(gè)主題z~Multinomial(θi),然后在這一主題下產(chǎn)生這一單詞w~Multinomial(Φz(mì))。其中:T為主題數(shù)量;Φk為主題k下的單詞多項(xiàng)式分布;θi為服務(wù)組合mi下的主題多項(xiàng)式分布;α和β分別是θi和Φk服從的狄利克雷分布的超參數(shù)。
(2)
至此實(shí)現(xiàn)了對(duì)各服務(wù)組合場(chǎng)景綜合描述的向量化和主題特征提取,為各服務(wù)組合mi建立了場(chǎng)景主題向量θi。
無(wú)論系統(tǒng)中已經(jīng)創(chuàng)建的服務(wù)組合,還是用戶新提出的制造需求,均對(duì)應(yīng)于某一特定的應(yīng)用場(chǎng)景。通過(guò)聚類(lèi)組織云制造服務(wù)系統(tǒng)中的各類(lèi)應(yīng)用場(chǎng)景發(fā)現(xiàn)各類(lèi)應(yīng)用場(chǎng)景的特征,可以幫助系統(tǒng)運(yùn)營(yíng)者和開(kāi)發(fā)者從場(chǎng)景的角度更好地理解制造需求。通過(guò)為每一場(chǎng)景建立場(chǎng)景描述向量和加權(quán)服務(wù)庫(kù),可以更好地刻畫(huà)各場(chǎng)景的信息,從而提升制造服務(wù)推薦的效果。
下面采用改進(jìn)的K-means聚類(lèi)算法[20]對(duì)各服務(wù)組合mi的場(chǎng)景主題向量θi進(jìn)行聚類(lèi),從而對(duì)服務(wù)系統(tǒng)進(jìn)行場(chǎng)景聚類(lèi)。傳統(tǒng)的K-means算法進(jìn)行聚類(lèi)中心初始化時(shí)采用隨機(jī)設(shè)置聚類(lèi)中心的方式,然而隨機(jī)設(shè)置的聚類(lèi)中心往往質(zhì)量較差,導(dǎo)致聚類(lèi)結(jié)果較差或陷入局部最優(yōu)解。本文認(rèn)為場(chǎng)景主題向量之間越相似,越不可能同時(shí)成為聚類(lèi)中心[23],基于此,本文的聚類(lèi)中心初始化過(guò)程如下:
(1)隨機(jī)選取一個(gè)樣本點(diǎn)作為初始聚類(lèi)中心Center1。
(2)計(jì)算每個(gè)樣本點(diǎn)與最近的已有聚類(lèi)中心的距離,該距離表示為D(θi)。
2016年7月4日傍晚,受強(qiáng)對(duì)流云團(tuán)影響,出現(xiàn)一次明顯雷雨大風(fēng)過(guò)程。各站點(diǎn)強(qiáng)對(duì)流影響時(shí)段各風(fēng)速值(表6)表明,國(guó)家站與浮標(biāo)站風(fēng)速情況較為接近,整體4個(gè)站點(diǎn)一致性較差,這也從一定層面反映出,當(dāng)出現(xiàn)局地性突發(fā)性大風(fēng)過(guò)程的時(shí)候,浮標(biāo)站的陣風(fēng)情況存在一定偶然性,視大風(fēng)具體發(fā)展情況而定。而發(fā)生過(guò)程性大風(fēng)過(guò)程,例如臺(tái)風(fēng)、冷空氣影響時(shí),浮標(biāo)站往往與新沙島站風(fēng)速情況擬合程度較好,而國(guó)家站的風(fēng)速則會(huì)大于其它3個(gè)站點(diǎn)。
(3)計(jì)算每個(gè)樣本點(diǎn)被選為下一個(gè)聚類(lèi)中心的概率P(θi),根據(jù)該概率選擇出下一個(gè)聚類(lèi)中心。
(4)重復(fù)(2)和(3),直到選擇出K個(gè)聚類(lèi)中心。
過(guò)程(2)采用歐氏距離計(jì)算兩個(gè)樣本點(diǎn)之間的距離,兩個(gè)樣本點(diǎn)的歐氏距離
(3)
過(guò)程(3)中的概率
(4)
過(guò)程(4)中,K為初始化設(shè)置的聚類(lèi)中心個(gè)數(shù),初始化完成后,得到的聚類(lèi)中心集合記為Center={Center1,Center2,…,CenterK}。
完成聚類(lèi)中心初始化后,算法通過(guò)反復(fù)迭代完成聚類(lèi),每次迭代過(guò)程如下:
(1)根據(jù)式(3)計(jì)算每一個(gè)樣本點(diǎn)與各個(gè)聚類(lèi)中心的距離dist(θi,Centerk)。
(2)將每一個(gè)樣本點(diǎn)θi劃分至距離其最近的聚類(lèi)中心所對(duì)應(yīng)的類(lèi)中。
(3)根據(jù)劃分結(jié)果更新各類(lèi)聚類(lèi)中心。
過(guò)程(3)更新各類(lèi)聚類(lèi)中心所采用的公式為
(5)
式中:Ck表示第k類(lèi);θi∈Ck為第k類(lèi)中的所有樣本;|Ck|為第k類(lèi)中的樣本個(gè)數(shù)。過(guò)程(4)中的迭代終止條件有兩種:①達(dá)到預(yù)先設(shè)置的迭代次數(shù)的上限Nm;②兩次迭代的誤差平方和準(zhǔn)則函數(shù)J的差值ΔJ小于預(yù)先設(shè)置的閾值δ,即ΔJ<δ。如果達(dá)到兩種終止條件的一種,則聚類(lèi)算法停止,得到的各聚類(lèi)中心及各樣本聚類(lèi)結(jié)果即為最終結(jié)果;如果沒(méi)有達(dá)到終止條件,則算法繼續(xù)迭代,直至達(dá)到某一迭代終止條件為止。誤差平方和準(zhǔn)則函數(shù)模型為
(6)
完成場(chǎng)景聚類(lèi)后,為每個(gè)場(chǎng)景建立加權(quán)服務(wù)庫(kù)。對(duì)于任一場(chǎng)景k,服務(wù)系統(tǒng)中每個(gè)服務(wù)在該場(chǎng)景下的權(quán)重
(7)
式中:mi∈Ck表示聚類(lèi)至場(chǎng)景k中的所有服務(wù)組合;sj_weightk表示服務(wù)sj在場(chǎng)景k下的權(quán)重,若sj_weightk>0,則將服務(wù)sj加入場(chǎng)景k的服務(wù)庫(kù),sj在場(chǎng)景k的服務(wù)庫(kù)中的權(quán)重即為sj_weightk。完成所有場(chǎng)景和服務(wù)的計(jì)算,即可為每一場(chǎng)景建立加權(quán)服務(wù)庫(kù)。
至此,完成了服務(wù)系統(tǒng)場(chǎng)景聚類(lèi)和加權(quán)服務(wù)庫(kù)的構(gòu)建。通過(guò)聚類(lèi),共獲得K類(lèi)應(yīng)用場(chǎng)景,Ck表示第k類(lèi)場(chǎng)景,Centerk表示第k類(lèi)場(chǎng)景的中心,即第k類(lèi)場(chǎng)景的場(chǎng)景描述向量,Centerk根據(jù)最終的聚類(lèi)結(jié)果,利用式(5)計(jì)算得到。對(duì)每一個(gè)應(yīng)用場(chǎng)景k建立加權(quán)服務(wù)庫(kù),記為L(zhǎng)ibk={s1(s1_weightk),s2(s2_weightk),…,sSN_k(sSN_k_weightk)},其中:Libk表示場(chǎng)景k的加權(quán)服務(wù)庫(kù);si表示服務(wù)庫(kù)中的各服務(wù);si_weightk為服務(wù)si在場(chǎng)景k下對(duì)應(yīng)的權(quán)重;SN_k為場(chǎng)景k的加權(quán)服務(wù)庫(kù)中的服務(wù)數(shù)量。
本節(jié)基于前期挖掘得到的服務(wù)系統(tǒng)場(chǎng)景聚類(lèi)信息、各場(chǎng)景描述向量和各場(chǎng)景加權(quán)服務(wù)庫(kù),通過(guò)識(shí)別用戶制造需求的場(chǎng)景進(jìn)行服務(wù)推薦。
θm=(Centerk+θq)/2;
JSD(Centerk||θq)=(KLD(Centerk||θm)+
KLD(θq||θm))/2。
(8)
JSD(Centerk||θq)的值越小,表示用戶需求主題向量θq與場(chǎng)景描述向量Centerk的相似度越高,用戶需求場(chǎng)景更可能接近場(chǎng)景k。
以上步驟實(shí)現(xiàn)了對(duì)用戶需求的場(chǎng)景識(shí)別,下面利用用戶需求場(chǎng)景與各場(chǎng)景的相似度和各場(chǎng)景的加權(quán)服務(wù)庫(kù),計(jì)算服務(wù)系統(tǒng)中各服務(wù)si∈S的推薦得分scorei,
(9)
式中:ILibk(si)為示性函數(shù),當(dāng)si∈Libk時(shí),ILibk(si)=1;當(dāng)si?Libk時(shí),ILibk(si)=0。因?yàn)镴SD(Centerk||θq)的值越小表示相似度越高,所以在式中取倒數(shù)。scorei表示服務(wù)si的推薦得分,其值越高,表示服務(wù)si越可能滿足用戶的需求。
計(jì)算系統(tǒng)中所有服務(wù)si∈S的推薦得分,按照推薦得分scorei的大小由高到低對(duì)所有服務(wù)進(jìn)行排序,生成一個(gè)推薦服務(wù)列表RLq輸出給用戶。至此,基于對(duì)服務(wù)系統(tǒng)和用戶需求的場(chǎng)景識(shí)別完成了對(duì)用戶個(gè)性化制造需求q的制造服務(wù)推薦。
ProgrammableWeb.com(1)http://www.programmableweb.com是迄今為止最大的服務(wù)和服務(wù)組合在線資源庫(kù),雖然ProgrammableWeb.com并非專(zhuān)門(mén)的制造服務(wù)數(shù)據(jù)集,但其包含的信息、服務(wù)組合關(guān)系和拓?fù)浣Y(jié)構(gòu)均與制造服務(wù)數(shù)據(jù)集一致。與制造服務(wù)數(shù)據(jù)集一樣,ProgrammableWeb.com中的服務(wù)包括名稱(chēng)、提供者、類(lèi)別、發(fā)布日期、標(biāo)簽和服務(wù)描述等信息,其中的服務(wù)組合包括名稱(chēng)、創(chuàng)建日期、開(kāi)發(fā)者、調(diào)用服務(wù)列表和服務(wù)組合描述等信息。因此,本文采用ProgrammableWeb.com數(shù)據(jù)集驗(yàn)證制造服務(wù)推薦算法的效果。
爬取ProgrammableWeb.com資源庫(kù)上自2005年9月~2016年6月的全部服務(wù)和服務(wù)組合數(shù)據(jù),共計(jì)服務(wù)13 269個(gè),服務(wù)組合5 840個(gè),各類(lèi)描述文本總詞匯量為21 891個(gè)。其中,服務(wù)與服務(wù)組合的描述文本在實(shí)驗(yàn)前進(jìn)行了必要的預(yù)處理和數(shù)據(jù)清洗[24],如分詞、停止詞去除、詞干提取等,處理后的描述文本以詞向量的形式作為算法的輸入,稱(chēng)該詞向量為原始描述。
本文采用在推薦算法領(lǐng)域被廣泛接受的評(píng)估指標(biāo)MAP@N(Mean Average Precision @ top N)來(lái)評(píng)估制造服務(wù)推薦算法的推薦效果,該指標(biāo)定義為
(10)
式中:|Q|表示參與評(píng)估的制造需求的數(shù)量;Sq為需求q∈Q實(shí)際使用的服務(wù)集合;Nq=min{N,|Sq|},N表示取推薦列表的前N項(xiàng)進(jìn)行評(píng)估。對(duì)于每個(gè)服務(wù)s∈Sq,r(q,s)表示服務(wù)s在推薦列表中的排位,將Sq中的服務(wù)按照其在推薦列表中出現(xiàn)的順序排列,n(q,s)為服務(wù)s在該列表中的排位。當(dāng)r(q,s)≤N時(shí),I(q,s)=1;當(dāng)r(q,s)>N時(shí),I(q,s)=0。當(dāng)N值取整個(gè)推薦列表的長(zhǎng)度時(shí),MAP@N值通常用符號(hào)MAP@J表示。
MAP@N的取值范圍為[0,1],其值越接近1,表示推薦算法的推薦效果越好。
本文選取6種對(duì)比方法和所提推薦算法進(jìn)行比較分析。
4.3.1 服務(wù)端主題匹配(SDCM)
服務(wù)端主題匹配(Service-Description-based Content Matching,SDCM)是文獻(xiàn)[25]中提出的推薦算法,算法應(yīng)用LDA概率模型對(duì)服務(wù)與用戶需求進(jìn)行建模,提取服務(wù)與用戶需求的潛在主題特征,并基于主題特征的匹配展開(kāi)推薦。通過(guò)對(duì)服務(wù)描述生成過(guò)程進(jìn)行建模,算法推測(cè)出服務(wù)的主題概率分布p(t|s)與主題的單詞概率分布p(w|t),依此計(jì)算服務(wù)針對(duì)用戶需求q的推薦得分,計(jì)算公式如下:
(11)
SDCM僅依賴(lài)于服務(wù)端信息進(jìn)行推薦,并未對(duì)服務(wù)組合的模式進(jìn)行挖掘分析,本文利用該對(duì)比方法佐證挖掘服務(wù)組合模式的重要性與基于場(chǎng)景識(shí)別推薦的優(yōu)勢(shì)。
4.3.2 服務(wù)組合端協(xié)同過(guò)濾(MDCF)
服務(wù)組合端協(xié)同過(guò)濾(Mashup-Description-based Collaborative Filtering,MDCF)算法立足于傳統(tǒng)的鄰域協(xié)同過(guò)濾思想,認(rèn)為相似的服務(wù)組合往往傾向于使用相似的服務(wù)。MDCF算法利用LDA主題模型對(duì)服務(wù)組合與用戶需求進(jìn)行建模,獲取其主題特征向量,并根據(jù)服務(wù)組合與用戶需求的主題向量相似度匹配計(jì)算各服務(wù)的推薦得分,計(jì)算公式如下:
(12)
式中:U(N,q)為與需求q相似度最高的N個(gè)服務(wù)組合的集合;sim(q,mj)計(jì)算用戶需求q與服務(wù)組合mj之間主題特征向量的余弦相似度。
4.3.3 LDA+矩陣分解(MF)
LDA+矩陣分解(Matrix Factorization,MF)算法首先利用LDA主題模型計(jì)算服務(wù)組合與用戶需求的主題特征向量,然后通過(guò)求解以下優(yōu)化問(wèn)題對(duì)矩陣R進(jìn)行分解:
(13)
各服務(wù)推薦得分計(jì)算如下:
score(q,si)=ζTvi。
(14)
式中ηj和ζ為由LDA模型得出的主題特征向量。
MDCF和MF算法分別是傳統(tǒng)協(xié)同過(guò)濾和矩陣分解算法的擴(kuò)展方法,它們?cè)趯?shí)踐中均被證明有較好的推薦效果并被廣泛應(yīng)用。
4.3.4 基于服務(wù)領(lǐng)域聚類(lèi)的服務(wù)推薦(DTM)
基于服務(wù)領(lǐng)域聚類(lèi)的服務(wù)推薦(Domain Topic Matching,DTM)是文獻(xiàn)[26]中提出的推薦算法,該算法意識(shí)到服務(wù)可以劃分至不同的功能領(lǐng)域,從服務(wù)領(lǐng)域聚類(lèi)的角度出發(fā)進(jìn)行服務(wù)推薦。算法首先根據(jù)服務(wù)描述信息對(duì)服務(wù)進(jìn)行功能領(lǐng)域聚類(lèi),將服務(wù)系統(tǒng)中的服務(wù)劃分至不同的功能域;然后,算法應(yīng)用極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)工具分別訓(xùn)練需求—功能領(lǐng)域、功能領(lǐng)域—服務(wù)兩個(gè)識(shí)別器,實(shí)現(xiàn)用戶需求到所需服務(wù)的映射。DTM模型的詳細(xì)介紹、計(jì)算過(guò)程和參數(shù)設(shè)置等可參閱文獻(xiàn)[26]。
DTM模型在實(shí)際應(yīng)用中取得了很好的推薦效果,被視為當(dāng)前最先進(jìn)的推薦算法之一。通過(guò)與DTM模型進(jìn)行對(duì)比,本文試圖評(píng)估所提SRSR模型相比當(dāng)前最優(yōu)模型在推薦效果上提升的幅度,并分析場(chǎng)景識(shí)別與聚類(lèi)的模式相比服務(wù)功能領(lǐng)域聚類(lèi)的模式是否具有更強(qiáng)的實(shí)際意義和更好的推薦效果。
4.3.5 基于服務(wù)組合描述重構(gòu)的服務(wù)推薦
對(duì)比方法基于服務(wù)組合描述重構(gòu)的服務(wù)推薦(SRSR_變體1)是本文提出的SRSR模型的變體,該方法省略了服務(wù)組合應(yīng)用場(chǎng)景聚類(lèi)的過(guò)程,僅利用服務(wù)組合描述的功能信息重構(gòu)結(jié)果進(jìn)行推薦。算法前期的服務(wù)組合描述重構(gòu)過(guò)程、LDA主題特征提取過(guò)程均與SRSR模型一致,在獲得服務(wù)組合主題向量θj和用戶需求主題向量θq后,直接應(yīng)用JS散度衡量二者相似度,并利用該相似度信息計(jì)算各服務(wù)的推薦得分,計(jì)算公式為
si∈S。
(15)
作為SRSR模型的簡(jiǎn)化版本,該方法除了不具備場(chǎng)景識(shí)別與聚類(lèi)模塊,其他部分與SRSR模型處理相同。本文采用該方法作為對(duì)比方法,證明所提場(chǎng)景識(shí)別思想的有效性,并證明通過(guò)對(duì)服務(wù)系統(tǒng)的應(yīng)用場(chǎng)景進(jìn)行識(shí)別和組織以及對(duì)用戶需求場(chǎng)景進(jìn)行識(shí)別和匹配可以大大提升推薦算法的效果。
4.3.6 基于服務(wù)組合聚類(lèi)的服務(wù)推薦
對(duì)比方法基于服務(wù)組合聚類(lèi)的服務(wù)推薦(SRSR_變體2)也是本文提出的SRSR模型的變體,該方法省略了服務(wù)組合描述功能信息重構(gòu)的過(guò)程,以服務(wù)組合的原始描述信息作為其場(chǎng)景描述進(jìn)行處理。算法后期的應(yīng)用場(chǎng)景識(shí)別與聚類(lèi)、用戶需求場(chǎng)景識(shí)別與匹配等過(guò)程均與SRSR模型一致,不同之處在于該算法以服務(wù)組合的原始描述信息作為其場(chǎng)景描述,直接提取LDA主題,并將基于原始描述提取的主題向量作為后續(xù)聚類(lèi)模塊的輸入。
作為SRSR模型的另一種簡(jiǎn)化版本,該方法除了不具備服務(wù)組合描述功能信息重構(gòu)模塊,其他部分與SRSR模型處理相同。本文采用該方法作為對(duì)比方法,證明通過(guò)補(bǔ)充功能信息描述對(duì)服務(wù)組合的原始描述進(jìn)行重構(gòu)可以提升服務(wù)組合描述的質(zhì)量和信息含量,進(jìn)而證明建立服務(wù)組合的場(chǎng)景綜合描述可以提升算法的推薦效果。
4.4.1 實(shí)驗(yàn)設(shè)置
數(shù)據(jù)集中的每一個(gè)服務(wù)組合均含有其創(chuàng)建時(shí)間,實(shí)驗(yàn)將測(cè)試時(shí)間窗口設(shè)置為一個(gè)月,并令其逐月向前移動(dòng),當(dāng)時(shí)間窗口移動(dòng)到某一個(gè)月時(shí),將當(dāng)月新創(chuàng)建的服務(wù)組合作為測(cè)試集,該月之前創(chuàng)建的服務(wù)組合作為訓(xùn)練集。訓(xùn)練集中的服務(wù)組合數(shù)據(jù)參與模型訓(xùn)練,測(cè)試集中的服務(wù)組合數(shù)據(jù)用以測(cè)試推薦效果,其中測(cè)試集服務(wù)組合描述文本被視為用戶輸入的制造需求,將這些服務(wù)組合實(shí)際所使用的服務(wù)列表作為推薦算法的理論真實(shí)值。在實(shí)驗(yàn)中,將測(cè)試時(shí)間窗口從2013年7月逐月移動(dòng)至2016年6月,共獲得36個(gè)MAP@N評(píng)估結(jié)果,將這36個(gè)MAP@N結(jié)果根據(jù)各自的測(cè)試集服務(wù)組合數(shù)量進(jìn)行加權(quán)平均,最終的加權(quán)平均值為各推薦算法的MAP@N評(píng)估結(jié)果。實(shí)驗(yàn)通過(guò)對(duì)近三年的數(shù)據(jù)進(jìn)行逐月測(cè)試,充分評(píng)估了各推薦算法的效果,最終獲得的加權(quán)平均MAP@N結(jié)果可用于比較各算法的推薦效果。
實(shí)驗(yàn)參數(shù)設(shè)置如下:在SRSR模型中,根據(jù)經(jīng)驗(yàn),設(shè)置狄利克雷分布超參數(shù)α=50/T,β=0.01,聚類(lèi)算法迭代次數(shù)的上限Nm=500,聚類(lèi)算法迭代的終止閾值δ=0.000 01;經(jīng)過(guò)參數(shù)尋優(yōu),設(shè)置LDA模型主題數(shù)T=50,吉布斯采樣迭代次數(shù)Niter=1 000,聚類(lèi)算法聚類(lèi)中心的個(gè)數(shù)K=35。各對(duì)比方法的實(shí)驗(yàn)參數(shù)均設(shè)置為其最優(yōu)參數(shù)。
4.4.2 實(shí)驗(yàn)示例
本節(jié)選取一個(gè)實(shí)例進(jìn)一步說(shuō)明數(shù)據(jù)集的特征以及SRSR模型的具體訓(xùn)練和預(yù)測(cè)步驟。以ProgrammableWeb.com上的服務(wù)組合MultCloud,Cloud Elements,Rainbow Data Sync為例,直觀地展示模型的執(zhí)行過(guò)程,這3個(gè)服務(wù)組合都屬于“企業(yè)云端文檔管理”應(yīng)用場(chǎng)景。以MultCloud和Cloud Elements為訓(xùn)練集,以Rainbow Data Sync為測(cè)試集。所利用的從ProgrammableWeb.com上爬取的服務(wù)數(shù)據(jù)主要有服務(wù)名稱(chēng)、發(fā)布日期和服務(wù)描述,服務(wù)組合的數(shù)據(jù)主要有服務(wù)組合名稱(chēng)、創(chuàng)建日期、調(diào)用服務(wù)列表和服務(wù)組合描述,以上描述均為文本形式。
模型的訓(xùn)練步驟如下:
(1)MultCloud和Cloud Elements的原始數(shù)據(jù)包括一段文本形式的描述,經(jīng)過(guò)數(shù)據(jù)集預(yù)處理和數(shù)據(jù)清洗后,獲得兩個(gè)21 891維的描述詞向量,向量的每一項(xiàng)代表一個(gè)單詞,每一項(xiàng)的值代表描述文本中對(duì)應(yīng)單詞的出現(xiàn)次數(shù)。
(2)算法進(jìn)行服務(wù)組合描述重構(gòu),將MultCloud和Cloud Elements使用的服務(wù)的描述詞向量重構(gòu)入其原始描述詞向量,特別地,MultCloud和Cloud Elements均使用了服務(wù)Box,因此Box的描述詞向量會(huì)被同時(shí)引入MultCloud和Cloud Elements的詞向量。經(jīng)過(guò)重構(gòu)后,每個(gè)服務(wù)組合獲得了一個(gè)重構(gòu)后的描述詞向量,即場(chǎng)景綜合描述。
(3)算法利用LDA模型提取詞向量的主題特征,為各服務(wù)組合建立場(chǎng)景主題向量,根據(jù)參數(shù)設(shè)定,服務(wù)組合的場(chǎng)景主題向量為50維向量。
(4)算法對(duì)所有服務(wù)組合的場(chǎng)景主題向量進(jìn)行場(chǎng)景聚類(lèi),根據(jù)參數(shù)設(shè)定,所有服務(wù)組合被聚類(lèi)為35類(lèi)。由于MultCloud和Cloud Elements的場(chǎng)景具有高度相似性,其中MultCloud幫助企業(yè)在云端移動(dòng)、編輯、組合和存儲(chǔ)文檔,Cloud Elements幫助企業(yè)實(shí)現(xiàn)云存儲(chǔ)、消息傳遞和文檔共享,因此MultCloud和Cloud Elements被聚類(lèi)到一個(gè)場(chǎng)景下。
(5)算法為每個(gè)場(chǎng)景計(jì)算場(chǎng)景描述向量和加權(quán)服務(wù)庫(kù)??梢园l(fā)現(xiàn),MultCloud和Cloud Elements所在場(chǎng)景類(lèi)別中的服務(wù)組合多是“企業(yè)云端文檔管理”領(lǐng)域下的服務(wù)組合,因此將該場(chǎng)景命名為“文檔管理”場(chǎng)景。因?yàn)樵搱?chǎng)景下的服務(wù)組合很多都使用了服務(wù)Box,Box是一個(gè)企業(yè)云端文檔和內(nèi)容管理平臺(tái),所以在“文檔管理”場(chǎng)景下,Box服務(wù)在其加權(quán)服務(wù)庫(kù)中擁有很高的權(quán)重,被認(rèn)為很適合該場(chǎng)景。
在預(yù)測(cè)階段,Rainbow Data Sync的描述文本被作為用戶需求輸入到模型。同樣經(jīng)過(guò)預(yù)處理和LDA主題特征提取后,可以獲得Rainbow Data Sync的50維主題向量。算法將Rainbow Data Sync的主題向量與35類(lèi)場(chǎng)景的場(chǎng)景描述向量進(jìn)行相似性匹配。因?yàn)镽ainbow Data Sync實(shí)現(xiàn)的是企業(yè)在云端的數(shù)據(jù)與文檔共享、同步和傳輸,經(jīng)過(guò)計(jì)算,Rainbow Data Sync與“文檔管理”場(chǎng)景的相似性最高,而在“文檔管理”場(chǎng)景加權(quán)服務(wù)庫(kù)中,Box服務(wù)又具有最高權(quán)重,所以在計(jì)算各服務(wù)的推薦得分后,Box服務(wù)獲得最高分?jǐn)?shù),在最終的推薦服務(wù)列表中排在第一位。實(shí)際上,服務(wù)組合Rainbow Data Sync的確使用了Box服務(wù),從而證明本文的推薦結(jié)果是有意義的,也證明了所提出模型的有效性。
4.4.3 結(jié)果分析
圖2所示為SRSR模型及對(duì)比方法1~4(SDCM,MDCF,MF,DTM)的MAP@N實(shí)驗(yàn)結(jié)果,橫坐標(biāo)取值對(duì)應(yīng)取不同長(zhǎng)度的推薦列表,縱坐標(biāo)表示各算法的MAP@N結(jié)果。
SDCM算法僅依賴(lài)服務(wù)端的信息進(jìn)行挖掘推薦,其通過(guò)挖掘服務(wù)描述的潛在主題特征與用戶需求進(jìn)行匹配。然而,該算法并沒(méi)有考慮和利用服務(wù)的歷史組合規(guī)律,由于服務(wù)的歷史組合記錄和服務(wù)組合的描述文本中均含有大量有價(jià)值的信息,SDCM算法的效果顯著差于其他對(duì)比方法。由此可見(jiàn),服務(wù)的歷史組合記錄中蘊(yùn)含由豐富的價(jià)值信息,挖掘和利用服務(wù)系統(tǒng)中服務(wù)組合端的信息很有意義。本文從服務(wù)組合端入手,構(gòu)建服務(wù)系統(tǒng)的場(chǎng)景識(shí)別體系正依賴(lài)于這些價(jià)值信息。
MDCF與MF算法均利用服務(wù)組合端和服務(wù)的歷史組合記錄展開(kāi)推薦,因此其推薦效果均優(yōu)于SDCM。然而,這兩種算法將服務(wù)系統(tǒng)中的各服務(wù)組合視為獨(dú)立的個(gè)體,在構(gòu)建推薦模型時(shí)并未挖掘和利用服務(wù)組合之間的潛在邏輯關(guān)系,不能發(fā)現(xiàn)服務(wù)系統(tǒng)內(nèi)部潛在的應(yīng)用場(chǎng)景信息,其推薦模式仍停留在服務(wù)個(gè)體和服務(wù)組合個(gè)體層面,不能從場(chǎng)景的角度看待用戶需求并進(jìn)行推薦,因此其推薦效果仍差于其他算法。
DTM算法從服務(wù)系統(tǒng)中服務(wù)個(gè)體之間功能屬性聯(lián)系的角度出發(fā),通過(guò)服務(wù)功能領(lǐng)域聚類(lèi)對(duì)系統(tǒng)內(nèi)的服務(wù)個(gè)體進(jìn)行再組織,并通過(guò)對(duì)用戶需求進(jìn)行功能領(lǐng)域分解展開(kāi)服務(wù)推薦。然而,DTM算法對(duì)服務(wù)系統(tǒng)的組織仍停留在服務(wù)功能層面,未能挖掘和管理服務(wù)系統(tǒng)中潛在的應(yīng)用場(chǎng)景信息,也不能很好地識(shí)別用戶需求的應(yīng)用場(chǎng)景信息,因此其推薦效果仍落后于SRSR模型。DTM算法在實(shí)際應(yīng)用中取得了很好的推薦效果[26],被視為當(dāng)前最先進(jìn)的推薦算法之一,而本文所提SRSR模型的推薦效果顯著優(yōu)于DTM算法,證明SRSR模型較當(dāng)前最優(yōu)模型在推薦效果上有顯著提升,也證明了場(chǎng)景識(shí)別與聚類(lèi)的模式相比服務(wù)功能領(lǐng)域聚類(lèi)的模式具有更強(qiáng)的實(shí)際意義和更好的推薦效果。
圖3所示為SRSR模型和SRSR模型的兩個(gè)變體模型的MAP@N實(shí)驗(yàn)結(jié)果,其坐標(biāo)含義與圖2相同。
SRSR_變體1模型去除了SRSR模型中場(chǎng)景識(shí)別與聚類(lèi)的模塊,其他部分與SRSR模型相同。因此該模型既不能挖掘和組織服務(wù)系統(tǒng)中的應(yīng)用場(chǎng)景信息,也不能識(shí)別用戶需求的應(yīng)用場(chǎng)景,從推薦效果上看,其MAP@N值顯著低于SRSR模型。由此證明了本文所提場(chǎng)景識(shí)別思想的有效性,通過(guò)對(duì)服務(wù)系統(tǒng)的應(yīng)用場(chǎng)景進(jìn)行識(shí)別和組織并對(duì)用戶需求場(chǎng)景進(jìn)行識(shí)別和匹配可以大大提升推薦算法的效果。另外,雖然SRSR_變體1模型與MDCF算法、MF算法都是從服務(wù)組合個(gè)體層面出發(fā)展開(kāi)推薦,但是因?yàn)镾RSR_變體1模型增加了服務(wù)組合描述功能信息重構(gòu),通過(guò)重構(gòu)為服務(wù)組合描述增添了功能信息,所以其推薦效果優(yōu)于MDCF和MF算法。
SRSR_變體2模型去除了SRSR模型中的服務(wù)組合描述功能信息重構(gòu)模塊,其他部分與SRSR模型一致。因此該模型不能為原始服務(wù)組合描述補(bǔ)充功能信息,即不能為服務(wù)組合建立場(chǎng)景綜合描述,從推薦效果上看,其MAP@N值低于SRSR模型。由此證明,對(duì)服務(wù)組合的原始描述信息進(jìn)行重構(gòu),通過(guò)補(bǔ)充功能信息描述為每個(gè)服務(wù)組合建立場(chǎng)景綜合描述文本,可以提升服務(wù)組合描述的質(zhì)量和信息含量,進(jìn)而證明建立服務(wù)組合的場(chǎng)景綜合描述可以提升算法的推薦效果。
綜上所述,SRSR模型的推薦效果顯著優(yōu)于所有對(duì)比實(shí)驗(yàn),這得益于SRSR模型能夠從應(yīng)用場(chǎng)景的層面理解和組織服務(wù)系統(tǒng)與用戶需求。SRSR模型首先對(duì)服務(wù)組合描述信息進(jìn)行重構(gòu),通過(guò)補(bǔ)充功能描述為各服務(wù)組合建立場(chǎng)景綜合描述文本,進(jìn)而采用場(chǎng)景聚類(lèi)挖掘和組織服務(wù)系統(tǒng)內(nèi)的應(yīng)用場(chǎng)景信息,最終從場(chǎng)景的角度理解和識(shí)別用戶需求,并利用各場(chǎng)景加權(quán)服務(wù)庫(kù)開(kāi)展服務(wù)推薦。以上過(guò)程克服了傳統(tǒng)推薦算法不能識(shí)別服務(wù)系統(tǒng)及用戶需求場(chǎng)景信息的不足,取得了最優(yōu)的推薦效果。
表1所示為SRSR模型及各對(duì)比方法的具體實(shí)驗(yàn)結(jié)果。比較SRSR模型與DTM模型結(jié)果可知,SRSR模型推薦效果較當(dāng)前最優(yōu)方法提升了6.1%,這得益于對(duì)服務(wù)系統(tǒng)場(chǎng)景信息的挖掘和利用;比較SRSR模型與SRSR_變體2模型結(jié)果可知,通過(guò)進(jìn)行服務(wù)組合描述重構(gòu)和構(gòu)建服務(wù)組合場(chǎng)景綜合描述,可以使推薦效果提升4.0%;比較SRSR模型與SRSR_變體1模型結(jié)果可知,通過(guò)對(duì)服務(wù)系統(tǒng)和用戶需求場(chǎng)景信息進(jìn)行識(shí)別,可以使推薦效果提升11.1%。
表1 SRSR模型及各對(duì)比方法MAP@N實(shí)驗(yàn)結(jié)果 %
4.4.4 參數(shù)討論
K為場(chǎng)景聚類(lèi)模塊執(zhí)行時(shí)預(yù)先設(shè)置的聚類(lèi)中心個(gè)數(shù),該值由算法執(zhí)行者設(shè)定,因?yàn)槭孪炔⒉恢涝摲?wù)系統(tǒng)中應(yīng)用場(chǎng)景的類(lèi)別數(shù),所以需要通過(guò)參數(shù)調(diào)整實(shí)驗(yàn)尋找其最優(yōu)取值。如果K值設(shè)置過(guò)小,則可能將不同類(lèi)的場(chǎng)景聚為一類(lèi);如果K值設(shè)置過(guò)大,則可能將同一個(gè)場(chǎng)景進(jìn)行無(wú)謂的拆分,這些均會(huì)影響算法效果。圖4所示為參數(shù)尋優(yōu)的實(shí)驗(yàn)過(guò)程,橫坐標(biāo)表示K值的不同取值變化,縱坐標(biāo)表示不同K值所對(duì)應(yīng)的MAP@J指標(biāo)結(jié)果,同時(shí)模型其他參數(shù)均設(shè)置為最優(yōu)值。從圖中可見(jiàn),MAP@J的變化趨勢(shì)為隨著K的增大先增后減,當(dāng)K=35時(shí),MAP@J指標(biāo)取得最大值,即推薦算法效果最好,因此認(rèn)為該服務(wù)系統(tǒng)應(yīng)用場(chǎng)景的類(lèi)別數(shù)為35,后續(xù)實(shí)驗(yàn)均設(shè)置K=35。
近年來(lái),隨著云計(jì)算和SOA體系架構(gòu)的迅猛發(fā)展,網(wǎng)絡(luò)化制造與云制造的概念和技術(shù)均獲得了廣泛關(guān)注和應(yīng)用,越來(lái)越多的制造業(yè)企業(yè)開(kāi)始將其擁有的制造資源、制造能力以制造服務(wù)的形式進(jìn)行封裝,并發(fā)布到互聯(lián)網(wǎng)上,構(gòu)成了復(fù)雜的云制造服務(wù)系統(tǒng)。制造用戶與開(kāi)發(fā)者可以在云制造服務(wù)系統(tǒng)中便捷地查詢、篩選和組合這些制造服務(wù),構(gòu)建個(gè)性化的制造服務(wù)組合以滿足其復(fù)雜的制造需求。通過(guò)構(gòu)建制造服務(wù)組合,系統(tǒng)中的服務(wù)實(shí)現(xiàn)了功能協(xié)作與擴(kuò)展,可以快速滿足更加個(gè)性化和復(fù)雜的制造需求,增強(qiáng)了云制造服務(wù)系統(tǒng)的生命力。然而,隨著信息過(guò)載問(wèn)題的日益嚴(yán)重,對(duì)精準(zhǔn)的制造服務(wù)推薦算法的需求日益增加,現(xiàn)有的制造服務(wù)推薦算法研究主要聚焦于服務(wù)個(gè)體功能的層面,既不能挖掘和組織服務(wù)系統(tǒng)應(yīng)用場(chǎng)景信息,也不能從場(chǎng)景識(shí)別的角度解構(gòu)制造需求,限制了服務(wù)系統(tǒng)與制造服務(wù)推薦算法的發(fā)展。
本文從服務(wù)系統(tǒng)場(chǎng)景信息的挖掘與組織、用戶需求場(chǎng)景信息的識(shí)別與匹配的角度出發(fā),提出一種SRSR模型。首先對(duì)系統(tǒng)內(nèi)原始服務(wù)組合描述進(jìn)行功能信息重構(gòu),為每個(gè)服務(wù)組合建立場(chǎng)景綜合描述文本;然后利用主題建模與場(chǎng)景聚類(lèi)的方式對(duì)服務(wù)系統(tǒng)的應(yīng)用場(chǎng)景信息進(jìn)行挖掘和聚類(lèi),從場(chǎng)景的角度組織和管理服務(wù)系統(tǒng)的信息。在識(shí)別出服務(wù)系統(tǒng)場(chǎng)景類(lèi)別后,模型為各類(lèi)應(yīng)用場(chǎng)景建立了特定的加權(quán)服務(wù)庫(kù),并通過(guò)對(duì)用戶制造需求進(jìn)行場(chǎng)景識(shí)別來(lái)開(kāi)展服務(wù)推薦。最后通過(guò)在實(shí)際數(shù)據(jù)集上的綜合實(shí)驗(yàn)表明,SRSR模型用MAP@N指標(biāo)評(píng)估的綜合推薦效果較當(dāng)前最優(yōu)模型提升了6.1%。
隨著新的制造服務(wù)的不斷增加,如何對(duì)沒(méi)有歷史使用記錄的冷啟動(dòng)服務(wù)進(jìn)行推薦是亟待解決的問(wèn)題。筆者擬挖掘服務(wù)之間的協(xié)作屬性關(guān)系,對(duì)冷啟動(dòng)服務(wù)的組合模式進(jìn)行預(yù)測(cè),以對(duì)沒(méi)有歷史使用記錄的冷啟動(dòng)服務(wù)進(jìn)行合理推薦。