王雪純,呂晟凱,吳 浩,何 鵬,3+,曾 誠
1.湖北大學 計算機與信息工程學院,武漢430062
2.華中科技大學 計算機科學與技術學院,武漢430074
3.湖北大學 數(shù)學與統(tǒng)計學學院 應用數(shù)學湖北省重點實驗室,武漢430062
近年來,推薦系統(tǒng)有效地幫助人們在數(shù)量巨大的信息資源中獲取感興趣的信息。尤其對于互聯(lián)網服務,推薦系統(tǒng)的地位日漸凸顯。出現(xiàn)了越來越多有關服務推薦方法的研究,其中,基于內容和基于協(xié)作的推薦系統(tǒng)是最常用的推薦系統(tǒng),也有結合當下熱門的機器學習框架的服務推薦方法,以及面向異質信息網絡的服務推薦方法。
傳統(tǒng)的服務推薦方法(如協(xié)同過濾、矩陣分解)主要考慮用戶和服務直接影響的關系(如評分、標注的標簽、評論等)。但在現(xiàn)實中,這種直接的關系數(shù)據往往比較稀疏,隨之而來的是冷啟動等問題。為解決該問題,大家趨向于綜合考慮用戶與服務的多種關系和元素。雖然綜合考慮多種關系能提高服務推薦的質量,但是有效地協(xié)同各種關系仍面臨諸多挑戰(zhàn)。
網絡嵌入(network embedding)作為一種方便有效的網絡表征學習方法,不斷受到關注,最近已經成為基于神經網絡和深度學習的熱門研究問題。網絡嵌入學習能夠將信息網絡投影到低維向量空間R,可以有效地提取出信息網絡的多維特征。并將這些特征融入節(jié)點的嵌入向量。利用嵌入向量進行服務推薦比直接機械地利用信息網絡的結構信息更加高效。不同結構的關系網絡適用的網絡嵌入方法不同。對于同質信息網絡,通過隨機游走的方法將網絡轉換為頂點序列庫,然后借用文本特征學習模型訓練是一種常用的方法。對于異質信息網絡建模,將隨機游走直接應用在異質信息網絡的效果并不理想。大多數(shù)異質信息網絡嵌入方法都是通過在網絡中游走產生元路徑,并將不同的元路徑分別進行嵌入學習?,F(xiàn)在有很多代表性的網絡嵌入算法:Node2vec、LINE(large-scale information network embedding)、SDNE(structural deep network embedding)和BINE(bipartite network embedding)等。
現(xiàn)在也有學者提出基于網絡嵌入的服務推薦,已有研究存在的不足:如在文獻[12-13]中,作者將網絡嵌入方法成功應用于同質信息網絡。該方法通過得到的用戶嵌入向量找出相似集群,基于相似集群進行服務推薦,但該類方法忽略了服務本身的特征。文獻[3]通過構建復雜異質信息網絡,并通過構建元路徑序列,分別得到用戶和服務的嵌入向量,最后訓練優(yōu)化用戶與服務嵌入向量的映射模型,但是這種方法得到的是不同向量空間的嵌入向量。不同向量空間的嵌入向量之間沒有直接影響關系。需要借助矩陣分解或者深層映射等方法,建立各向量空間之間的聯(lián)系。
因此,這些學者并沒有從根源上將多個關系網絡協(xié)同考慮。而且異質信息網絡具有特異性,針對一種特定的服務類型,不同的服務類型其異質信息網絡的結構是完全不同的,因此該方法不具有良好的魯棒性和拓展性。因此,有必要解決將多個不同種類的關系網絡嵌入到同一個低維向量空間,得到統(tǒng)一的向量表示。但是現(xiàn)有的網絡嵌入方法都只針對某一種特定的信息網絡,比如同質信息網絡、異質信息網絡等。
針對上述問題,本文提出一種多網絡混合嵌入的服務推薦方法(service recommendation method based on multi-network hybrid embedding,MNHER),將多種關系網絡的節(jié)點嵌入到同一個向量空間,得到統(tǒng)一的向量表示。使得同類節(jié)點的嵌入向量包含多關系網絡的特征,不同類型節(jié)點的嵌入向量包含直接的影響關系,并且考慮到方法可擴展性,將用戶與服務的關系分為兩類,如圖1 所示。一種是垂直關系:指用戶與服務的直接關聯(lián),如圖中直線所示。這種關系雖然是稀疏的,但是能直接地反映用戶的偏好特征。另一種是平行關系:指用戶之間、服務之間的相互影響,即圖中弧線所示。例如用戶之間的社交關系、服務之間的共享標簽關系。這些關系可以間接地為服務推薦提供更多的依據。
圖1 用戶-服務關系網絡Fig. 1 User-service network
本文的主要貢獻可概括為:
(1)提出一種多網絡混合嵌入方法,將兩種不同類型的節(jié)點映射到同一個低維向量空間,并適用于多種不同的關系網絡。
(2)提出一種基于多網絡混合嵌入的服務推薦模型MNHER。對用戶-服務評分關系網絡、用戶社交關系網絡和服務標簽共有網絡進行學習。
(3)在三個公開數(shù)據集上與多種代表性的服務推薦方法進行對比分析。多角度驗證了本文方法的有效性和合理性,也討論了不同的關系網絡對推薦質量的影響。
在Web 服務中流行對服務標注標簽,比如豆瓣電影網站會對電影標注類型、語言、作者、演員和年代等標簽,豆瓣讀書網站會對書籍標注作者、語言、類型和年代等標簽。這些標簽可幫助用戶獲取到服務的基本特征,而且這些標簽同樣也可以代表用戶的喜好。因此涌現(xiàn)出很多基于服務標簽的服務推薦方法。
Luo 等人提出了一種基于coSVD(co-singular value decomposition)的模型來豐富單一數(shù)據源,可以有效控制矩陣分解中存在的過擬合問題。用戶偏好不僅通過評級數(shù)據而且還通過標簽數(shù)據來豐富。該方法可用于各類專家智能系統(tǒng)中解決上述問題,如廣告推薦、評分網站、社交媒體平臺等,這些都需要用戶輸入相對較大的數(shù)據。Shi等人使用基于媒體元數(shù)據的主題向量來比較被重新創(chuàng)建媒體和被重新創(chuàng)建媒體的主題之間的相似性,從而預測用戶對被搜索媒體單元的媒體再創(chuàng)建服務的評分。在不消耗大量時間的情況下,提高了效率,降低了MAE(mean absolute error)。為了解決冷啟動和簡化問題,Zhang等人提出了一種基于矩陣分解的混合標簽多樣化推薦算法,挖掘用戶現(xiàn)有的偏好和條目的相關性。結果表明,該方法能夠在保證準確性的基礎上提高標簽推薦的覆蓋率和多樣性。為了解決服務推薦效率低下的問題,Qiang 等人提出了一種檢測重疊社區(qū)結構的多標簽傳播算法,然后利用重疊的社區(qū)結構向目標用戶推薦項目。結果表明,該方法提高了推薦效率,在線精度基本不變。
在基于標簽的服務推薦中,TF-IDF(term frequencyinversion document frequency)是一種常用的信息檢索和數(shù)據挖掘的加權算法,通常用于評價用戶之間的相似度。Ba等人使用TF-IDF技術計算目標用戶與其每個鄰居之間的相似度,而不考慮公共項的詳細評級。該方法可以提高推薦系統(tǒng)的精度、實時性和可擴展性。為了幫助用戶找到與他們的興趣相關的新標簽,Otsuka等人構建了一個TF-IDF的變體——HF-IHU(hashtag frequency-inverse hashtag ubiquity)排名方案。在Twitter 大數(shù)據集上的實驗表明,與TFIDF技術相比,該方法更加穩(wěn)定可靠。
社交應用在當今互聯(lián)網環(huán)境下迅猛發(fā)展,用戶可以擁有自己的社交關系網絡。研究證明社交關系對挖掘用戶喜好有積極作用,并且社交關系具有明顯的集群聚類特征,同一個集群的相似用戶具有更大喜好交集,因此各種有關相似用戶聚類和相似用戶挖掘的個性化推薦系統(tǒng)應運而生,推薦系統(tǒng)用于準確主動地為用戶提供潛在的信息或服務。Wang等人提出了一種基于EM(expectation-maximization)的算法,該算法可同時對社交網絡中的強弱關系進行分類,賦予強類型社交朋友更高的影響力。然而,考慮到原始社交網絡的高度稀疏性,提取的關系過于稀疏,無法有效提高推薦性能。
Zhou等人提出了一種基于分布式在線學習的云輔助差分推薦系統(tǒng)??紤]到社交媒體數(shù)據的稀疏性和異構性,另提出了一種新的幾何差分模型,可以大大降低性能損失。Hu等人提出了一種功能張量分解方法來對用戶和時尚商品之間的交互進行建模。使用基于梯度上升的方法來學習非線性目標函數(shù),以將特征向量從特征空間映射到一些低維潛在空間。通過對來自流行時尚的社交網絡的真實世界用戶數(shù)據進行的大量實驗,驗證了該算法的有效性。協(xié)同過濾是一種廣泛采用的推薦方法,但是稀疏數(shù)據和冷啟動用戶通常是提供高質量推薦的障礙。為了解決這些問題,Yang 等人提出了通過集成用戶提供的稀疏評級數(shù)據和相似用戶之間的稀疏社會信任網絡來提高協(xié)同過濾的性能。該方法采用矩陣分解技術,根據用戶的信任關系將其映射到低維潛在特征空間,目的是更準確地反映用戶對自己意見形成的相互影響,并更好地學習用戶對高質量推薦的偏好模式。Jiang等人提出一種基于社會關系和時間影響的個性化服務推薦,綜合考慮了用戶熟悉度和偏好相似度。結果表明,該方法優(yōu)于一般的基于標簽和基于社會的推薦方法,不用依賴于用戶的歷史數(shù)據,可以滿足為新用戶和不活躍用戶進行服務推薦的需求。
推薦系統(tǒng)作為互聯(lián)網產品的一項重要技術,能夠幫助用戶獲取所需信息。近年來涌現(xiàn)了很多對于復雜網絡分析的工作,表征學習以其可以得到隱含的向量表示,而被大量應用于推薦領域。Liu 等人提出了一種用于隱式反饋推薦的深度學習框架。在這個框架中,同時通過node2vec 學習用戶和項目的分布式表示,以改進負抽樣策略。并開發(fā)了一個深度神經網絡推薦模型來集成用戶特征、產品特征和交互特征。在兩個真實數(shù)據集上進行的實驗證明了該框架和方法的有效性。Zhuang等人提出了一種新的表征學習框架——雙自編碼推薦ReDa(representation learning via dual-autoencoder)。通過自動編碼器同時學習用戶和項目的隱性表示,并通過學習用戶和項目的表示最小化訓練數(shù)據的偏差,該方法能夠一定程度上解決矩陣分解存在的缺陷。針對協(xié)同過濾算法只使用商品用戶評價矩陣而不考慮語義的問題,Wu等人提出了一種基于表征推薦算法,利用知識圖表征學習方法,將已有的語義數(shù)據嵌入到低維語義空間中。通過計算項目間的語義相似度,將項目間的語義信息集成到協(xié)同過濾推薦中,克服了協(xié)同過濾算法不考慮項目語義信息的缺點,在語義層次上提高了協(xié)同過濾推薦的效果。
Tang等人提出了一種新型網絡嵌入方法,分析了隨機游走方法存在的問題,利用負采樣機制緩解隨機梯度下降過程中存在的缺陷,提高了網絡嵌入的有效率。Wu等人提出了一種新的基于上下文感知的用戶項目表示學習模型(context-aware user-item representation learning,CARL)。根據給定用戶-項對的單個潛在特征和潛在特征交互,導出它們的聯(lián)合表示,然后CARL采用因子分解機,在用戶-項對的基礎上進一步建立高階特征交互模型,進行等級預測。實驗表明,CARL 有更顯著的評級預測效果。Kong等人利用近年來文本和網絡表征學習在無監(jiān)督特征設計方面的研究成果,開發(fā)了一個科學論文推薦系統(tǒng)VOPRec,滿足用戶科學論文準確推薦的需求。Salah等人提出了一種新的用戶偏好和項目上下文生成模型——概率協(xié)同表征學習(probabilistic collaborative representation learning,PCRL)。依賴于貝葉斯泊松分解(Bayesian Poisson factorization)對用戶-項目交互進行建模,并使用多層潛在變量體系結構從上下文中學習項目的表征形式。作者在多個大型數(shù)據集上驗證了該模型的優(yōu)越性。為了有效地捕獲用戶的偏好,Han等人設計了一種基于異構網絡嵌入和卷積神經網絡的方法,分別從用戶-項目交互結構和查看文本中學習用戶和項目的特征表示。此外,Shi 等人設計了一種基于元路徑的隨機游走策略來生成網絡嵌入的節(jié)點數(shù),并將其集成到擴展的MF(matrix decomposition)模型中。驗證了該模型對冷啟動問題的有效性和能力,結果表明轉換后的嵌入信息確實提高了推薦性能。
本文方法分為三部分:(1)構建信息網絡。構建用戶-服務異質信息網絡、服務標簽共有網絡和用戶社交關系網絡。(2)多網絡混合嵌入。將上一步中得到的三類信息網絡嵌入到同一個低維向量空間,得到用戶和服務的嵌入向量。(3)基于用戶的協(xié)同推薦。利用學習到的用戶和服務嵌入向量進行服務評分預測,并綜合考慮相似用戶的喜好影響,最終推薦Top-個服務序列,如圖2 所示。比如在豆瓣電影中需要為用戶推薦其感興趣的電影??梢愿鶕脩魧﹄娪暗拇蚍謽嫿ㄓ脩?電影異質信息網絡,利用電影的類型信息構建電影標簽共有網絡,根據用戶之間的關注和交互信息構建用戶社交網絡。然后通過多網絡混合嵌入得到用戶和電影的嵌入向量,最后利用基于用戶的協(xié)同推薦為用戶推薦其感興趣的電影。
圖2 多網絡混合嵌入學習模型Fig. 2 Multi-network hybrid embedding learning model
用戶-服務評分異質信息網絡(user-service heterogeneous information network):異質信息網絡簡單的理解是指網絡中節(jié)點或連邊的種類在兩種及以上的網絡。在本文中,根據用戶對服務的評分信息,可構建用戶-服務異質信息網絡=(,,),其中={,,…,u}為用戶集,={,,…,s}為服務集,={w=r|=1,2,…,,=1,2,…,} 為連邊集,當r≠0 時,代表用戶u在服務s上標注的評分為r。
服務標簽共有網絡(service co-tag network):現(xiàn)實中,每個服務都會被分配多個標簽。通過計算不同服務之間共用的標簽個數(shù)可以構建服務標簽共有網絡=(,)。服務s和s的連邊e′= w,w為兩個服務共有的標簽個數(shù)。
用戶社交網絡(user social network):現(xiàn)有很多公共服務平臺,比如Yelp和豆瓣,用戶通過這些平臺不僅可以對不同的服務進行評分,也可以跟其他用戶交流。根據提供的用戶交互數(shù)據,假如一個用戶u關注(contact)或follow了另一個用戶u,則可視兩個用戶之間存在一種社交關聯(lián)。因此,用戶之間的社交關系網絡=(,),={u|=1,2,…,}為用戶集,={e|,=1,2,…,}為連邊集,考慮到虛擬社交平臺中用戶之間的親密程度和影響權重是一個復雜的因素。把用戶之間的社交網絡只作為一個非加權的網絡處理。即,若用戶u和u之間有交互關系,則e=1,否則為0。
將網絡中的節(jié)點投影到低維向量空間R的方法,已在機器學習領域得到有效驗證。網絡嵌入方法可以有效地提取出信息網絡的多維特征,并將這些特征融入節(jié)點的嵌入向量。
將多網絡建模分為兩個層次:垂直關系建模和平行關系建模。
垂直關系是指用戶和服務之間直接的關聯(lián)關系。在異質信息網絡=(,,)中兩個節(jié)點u與s之間存在直接的連邊。利用節(jié)點之間的局部鄰近度對這種顯性關系建模。節(jié)點u與s聯(lián)合的概率定義為:
其中,w表示u與s連邊的權重。顯然,若w值越大,則u與s聯(lián)合的概率越大。借鑒當下流行的word2vec模型,利用Sigmoid 函數(shù)將嵌入向量之間的聯(lián)系轉換成概率:
其中,u,s∈R都是節(jié)點u與s的嵌入向量。通過最小化(u,s)與^(u,s)之間的差異,學習得到嵌入向量u,s:
通過最小化,兩個節(jié)點的連邊權重越大,兩個節(jié)點的向量的聯(lián)系也越緊密。因此,可以將兩個節(jié)點之間的顯性關系融入到節(jié)點的嵌入向量中。
通過式(4)的處理后,可分別得到W、W兩個投影矩陣——兩個同質信息網絡。這兩個同質信息網絡可以進一步轉化成節(jié)點序列進行嵌入學習。
隨機游走方法是最常用的將網絡轉化成節(jié)點序列的方法,但傳統(tǒng)的隨機游走方法DeepWalk 并不能有效地保留網絡中節(jié)點的分布特征。BINE通過考慮節(jié)點的中心性進行優(yōu)化,node2vec通過考慮局部的網絡結構進行優(yōu)化。本文將以上兩種優(yōu)化方法進行合并,提出一種更有效的隨機游走算法,如算法1所示。
WalkGenerator(,,,)
輸入:同質信息網絡=(,),嵌入向量維度,最短步長,控制游走結束的概率參數(shù)。
輸出:一個節(jié)點序列集合。
保留局部網絡結構的計算機制,將固定的游走次數(shù)修改為根據節(jié)點中心性動態(tài)計算,節(jié)點中心性度量()標準有很多,本文實驗部分會進行比較分析。增加控制游走停止的概率參數(shù),使產生的節(jié)點序列長度不規(guī)則,其中是最低游走次數(shù)。
參照多種代表性的網絡嵌入方法,利用softmax函數(shù)將p(u|u)、p(s|s)、(u|u) 和(s|s) 參數(shù)化為:
并用利用負采樣對式(9)進行優(yōu)化,其思想是利用負采樣代替全局參數(shù)進行訓練,從而減少大量的參數(shù)訓練帶來的資源消耗。參考文獻[8]中的方法,以p(u|u)為例,可利用負采樣改寫為:
為了從縱向和橫向兩個角度將多網絡中的用戶節(jié)點和服務節(jié)點聯(lián)合嵌入同一個向量空間,將其目標函數(shù)結合,提出一個聯(lián)合訓練的目標函數(shù):
將聯(lián)合目標函數(shù)按照縱向和橫向的關系分為三部分,分別通過權衡參數(shù)、、連接??紤]到本文方法的普適性,將橫向關系分為用戶和服務兩類。并且將最小化轉化為與其他目標函數(shù)一致的求最大化。
為了求聯(lián)合目標函數(shù)最大值,利用隨機梯度上升(stochastic gradient ascent algorithm,SGA)去優(yōu)化。由于聯(lián)合目標函數(shù)的三部分是不同的目標函數(shù),設計了一個組合的訓練模式。對不同的目標函數(shù)也給出了詳細的訓練計算方法,如算法2所示。
HINE訓練
輸入:異質信息網絡=(,,),用戶社交關系網絡=(,),服務標簽共有網絡=(,),采樣窗口大小,負采樣集合大小,嵌入向量維度,最短步長,游走停止的概率參數(shù)。
輸出:節(jié)點嵌入向量集合和。
32.Return vertex embedding matricesand
算法2輔助說明整個聯(lián)合訓練的過程。其中第1行為對異質信息網絡投影;2~3行為初始化各網絡的嵌入向量;4~7 行為對于4 個橫向關系的網絡通過隨機游走得到序列集;8~32行為聯(lián)合訓練的過程。
縱向關系,如兩個節(jié)點u與s,通過正向累加梯度(SGA)訓練嵌入向量u、s使-最大化。對于具體的計算方法如下:
其中,為學習率。括號內的部分為-的梯度,推導過程省略。
通過之前的多網絡混合嵌入,得到用戶和服務的嵌入向量E、E后,因多網絡混合網絡嵌入方法已經把用戶和服務節(jié)點嵌入到同一個向量空間,所以可以直接利用向量距離計算用戶對服務的喜好程度。本文還增加了對相似集群的考慮。首先需要得到目標用戶的相似用戶集。利用余弦相似度衡量兩個用戶向量的相似度,計算方法如下:
構建了一個綜合考慮相似用戶喜好和目標用戶喜好的評分預測器。對于目標用戶u和服務s,預測評分計算方式如下:
其中,相似用戶的評分與目標用戶的主觀評分通過權衡參數(shù)鏈接,目的是能夠有效地協(xié)同目標用戶和相似用戶的喜好。按照預測的評分大小取前Top-個服務,最后可返回向目標用戶u一個未曾關注過的服務序列。給出了算法3 輔助說明基于相似用戶的協(xié)同過濾過程。
RecSystem(u,E,E,,)
輸入:嵌入向量集合E和E,目標用戶u,推薦服務個數(shù),相似用戶個數(shù)。
輸出:推薦的服務序列。
本文在3個公開數(shù)據集上進行實證分析,旨在回答以下研究問題:
1 與各種具有代表性的服務推薦方法相比,本文所提方法的推薦質量是否有所提高?
2 增加關系網絡進行聯(lián)合訓練的方式是否對提高推薦質量有效?
3 考慮網絡節(jié)點重要性的隨機游走規(guī)則是否有利于節(jié)點的網絡表征學習?
首先介紹實驗的基本設置,然后依次回答以上的研究問題,最后說明本文方法存在的不足和未來的改進方向。
實驗數(shù)據來源于Github平臺(https://github.com/librahu/Heterogeneous-Information-Network-Datasets-for-Recommendation-and-Network-Embedding)。Douan Movie數(shù)據集包括用戶13 367個,服務(Movie)12 677個。Yelp 數(shù)據集包括用戶16 239 個,服務(Business)14 284個。Movielens數(shù)據集包括用戶1 370個,服務(Item)2 682個。實驗數(shù)據信息如表1所示。
表1 實驗數(shù)據集Table 1 Experimental dataset
數(shù)據集中,有用戶對服務標注評分的行為數(shù)據,也有用戶之間的交互數(shù)據。用戶信息網絡建模后,所得網絡信息統(tǒng)計如表2。為提高實驗數(shù)據的質量,過濾掉了關注服務個數(shù)少于5個的用戶。
表2 信息網絡數(shù)據統(tǒng)計情況Table 2 Data statistics of information network
本文采用F-Measure、NDGG、MRR 和MAP 四個指標評價推薦系統(tǒng)的質量。指標的定義如下:
1@:是一種綜合評價召回率(@)和準確率(@)的指標。對于目標用戶u,令S表示該用戶真實選擇的服務集合,令表示向該用戶推薦的Top-個服務,為測試用戶集。
@:是一種求平均準確率的指標。平均準確率越高,推薦質量越高。定義如下:
@:是一種廣泛應用于信息檢索領域的評價指標,也是一種求命中服務所在推薦序列的平均次序的指標,值越大表示推薦質量越高。定義如下:
為了驗證本文所提推薦方法的有效性,本文分別選取基于用戶-服務評分、基于社交關系和基于服務標簽等不同類型的代表方法做基準。
(1)基于用戶-服務評分的推薦方法
Sorec是一種混搭用戶評分矩陣和社交關系的協(xié)同推薦方法。SemRec是一種基于加權的用戶評分異質信息網絡的服務推薦方法。在服務推薦的過程中可以綜合考慮用戶-用戶、用戶-服務和服務-服務多種關系。
(2)基于社交關系的推薦方法
本文方法在BPR(Bayesian personalized ranking from implicit feedback)的基礎上將社交關系分成親密度不同的多個層次。改善了基于用戶服務推薦存在的冷啟動和數(shù)據稀疏問題。CPLR(collaborative pairwise learning to rank for personalized recommendation)是一種新型基于pairwise ranking 的服務推薦方法。UPCC(user-based pearson correlation coefficient algorithm)是一種經典的基于相似用戶的協(xié)同推薦算法。
(3)基于服務標簽的推薦方法
FM是一種基于上下文感知的矩陣分解器,該方法在對用戶-評分矩陣進行分解的同時考慮服務的標簽信息。MVIR(multi-view item recommendation)是最近被提出的一種基于事項的服務推薦方法,該方法從多視角挖掘事項的隱性特征。
為了公平比較分析,基準方法的所有參數(shù)均取其默認值。對于本文方法,參照多個網絡嵌入方法的參數(shù)設置,將用戶向量和服務向量的維度設置為128。將權衡參數(shù)設定為0.01,和在區(qū)間[0.01,0.05,0.10,0.50,1.00]中取值。設置最短步長從[4,6,8,10,12,14]中取值。設置負采樣樣本個數(shù)從[1,2,4,6,8,10]中取值。設置游走停止的概率從[0.05,0.10,0.15,0.20,0.30,0.40]中取值。設置線性組合權重=0.6,相似用戶集|()|=25。根據文獻[8]中對學習率的討論,設置學習率為0.1。在3 個數(shù)據集上進行實證分析,參數(shù)均保持一致。
為證明本文方法的有效性,分別在3個數(shù)據集上與基準方法進行比較實驗,實驗結果如表3所示。為了便于觀察,取訓練比例為80%的實驗數(shù)據繪制了增幅矩陣圖,如圖3所示。
圖3 在不同數(shù)據集上與基線的性能對比Fig. 3 Performance comparisons with baselines on different datasets
表3 不同模型在三個數(shù)據集上的推薦質量比較Table 3 Comparison of recommendation quality of different models on three datasets
實驗結果顯示,在絕大部分情況下,本文所提MNHER 方法的四個指標均優(yōu)于七種基準方法。特別是在數(shù)據集Movielens 上,MNHER 在四個指標有可觀的提升。當訓練比例為80%時,相比BPR方法,F(xiàn)1@10 的提升幅度為151%,NDGG@10 的提升幅度為145%,MAP@10的提升幅度為143%,MRR@10的提升幅度為159%;相比Sorec 方法,F(xiàn)1@10 的提升幅度為137%,NDGG@10的提升幅度為138%,MAP@10的提升幅度為196%,MRR@10的提升幅度為60%;相比MVIR方法,F(xiàn)1@10的提升幅度為35%,NDGG@10的提升幅度為44%,MAP@10 的提升幅度為28%,MRR@10 的提升幅度為60%。因此,本文方法的推薦質量均優(yōu)于單獨的基于某一種關系網絡的服務推薦方法,在服務推薦中考慮多種關系網絡有助于提高推薦質量,本文使用聯(lián)合嵌入的方法得到的多個關系網絡的特征向量,包含了更多目標用戶的正積極因素。
為比較分析在對二分異質信息網絡的表征學習中增加考慮其他關系網絡的影響,在三個數(shù)據集上對四種不同的關系組合進行了實驗分析,即MNHER僅考慮用戶與服務之間的垂直關系;MNHER增加用戶之間的平行關系,如社交關系;MNHER增加服務之間的平行關系,如標簽共有關系;MNHER 綜合考慮以上用戶之間和服務之間的平行關系。實驗結果如表4 所示,為了便于觀察,繪制了增幅矩陣圖,如圖4所示。得出以下幾個結論。
表4 考慮不同關系的實驗結果對比Table 4 Comparison of experimental results considering different relations
圖4 考慮不同關系的實驗結果對比Fig. 4 Comparison of experimental results considering different relations
首先,經比較發(fā)現(xiàn),MNHER方法在三個數(shù)據集下的服務推薦質量均為最低。增加考慮用戶之間或者服務之間的平行關系能夠提高整體服務推薦的質量。因此增加考慮二分異質信息網絡中的平行關系有助于挖掘用戶與服務之間的關系。其次,通過比較后三者的實驗結果,發(fā)現(xiàn)綜合考慮兩種平行關系的方法的推薦質量更優(yōu)于只考慮一種平行關系的方法。雖然數(shù)據存在一些波動,但可以明顯看出最優(yōu)的推薦質量大部分來自MNHER。
本文進一步對綜合兩種平行關系的組合權重進行討論分析,實驗結果如圖5所示。發(fā)現(xiàn)在三個數(shù)據集的實驗結果中,當取值在[0.2,0.3]區(qū)間中F1@10為最大值。進一步證明綜合考慮平行關系更有利于對異質信息網絡的表征,進而提高服務推薦的質量。
圖5 參數(shù)δ 的實驗分析結果Fig. 5 Experimental analysis of parameter δ
為分析考慮網絡節(jié)點中心性的隨機游走規(guī)則對網絡表征學習的影響,本文比較分析了三種不同的網絡節(jié)點中心性,分別為BC(介數(shù)中心性)、EC(特征向量中心性)和PR(PageRank)。實驗結果如表5 所示。實驗結果顯示,考慮節(jié)點中心性的游走策略能有效提高服務推薦的質量。考慮PageRank中心性的服務推薦質量最高,在不同數(shù)據集的實驗中各項指標平均提升了20%。因此,考慮節(jié)點中心性的隨機游走策略有助于挖掘網絡中的節(jié)點關系。并且在Movielens 數(shù)據集上的實驗中,提升幅度最明顯。因為Movielens 的數(shù)據集最為稀疏,所以增加考慮節(jié)點重要性有助于改善關系網絡數(shù)據稀疏的問題。
表5 不同中心性度量方法下的實驗結果Table 5 Experimental results under different centrality measurement methods
本文還在隨機游走算法中增加了兩個控制參數(shù)(,),一起控制隨機游走的步長,使每次隨機游走的步長都是隨機的。本文也進行了實驗討論。實驗結果如圖6 所示。在區(qū)間[6,8]取值為最優(yōu)。當取值大于8時,推薦質量呈現(xiàn)降低的趨勢。因此,隨機游走的步長不宜過長,而且最優(yōu)值也跟關系網絡的規(guī)模有關系,在區(qū)間[0.05,0.10]取值為最優(yōu)。當取值大于0.10時,曲線都呈現(xiàn)下降的趨勢。值過大會使得步長都偏小,因此步長也不宜過短。
圖6 參數(shù)mw、p實驗分析Fig. 6 Experimental analysis of parameter mw,p
本文提出一種多關系網絡混合嵌入的服務推薦方法,利用混合網絡嵌入的方法,得到多關系網絡映射的用戶和服務表征向量。再利用嵌入向量對目標用戶進行服務推薦。在三個公開數(shù)據集上與多種代表性的服務推薦方法進行比較實驗。相比基于單一關系網絡和簡單融合多關系網絡的服務推薦方法,F(xiàn)mearsure值分別可提高21%、15%。證明了本文提出的多網絡混合嵌入方法可以有效地協(xié)同多關系網絡,進而提高服務推薦質量。也證明了本文提出的多網絡混合嵌入方法也可以有效地映射出用戶和服務的表征向量,并且混合考慮多種關系網絡有助于提高服務推薦質量。
本文提出的服務推薦模型目的是綜合考慮多種用戶與服務之間的關系。本文采取的是分離獨立的關系網絡,如用戶社交關系網絡、服務標簽共有關系網絡,但是在現(xiàn)實生活中,應該是異質的復雜關系網絡。用戶和服務都是多樣的,關系也是多樣的。因此后續(xù)的工作中,希望能對異質的復雜關系網絡進行混合關系映射。并且本文進行基于相似用戶集群的服務推薦時,其實是一種目標用戶與推薦服務的簡單映射,通過機器學習優(yōu)化出一個數(shù)學模型和深度聚類都是目前流行的優(yōu)化服務推薦模型的方法,后續(xù)工作也會考慮使用和改進這些方法。