李南星,盛益強,倪 宏
(1.中國科學(xué)院聲學(xué)研究所 國家網(wǎng)絡(luò)新媒體工程技術(shù)研究中心,北京 100190;2.中國科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京 100049)
在信息爆炸時代,推薦系統(tǒng)在緩解信息過載方面發(fā)揮著關(guān)鍵作用,并且被許多在線服務(wù),如電子商務(wù)、在線新聞和社交媒體網(wǎng)站等廣泛采用。個性化推薦系統(tǒng)的關(guān)鍵在于根據(jù)用戶的歷史交互(如顯性反饋數(shù)據(jù)中的評分和隱形反饋數(shù)據(jù)中的點擊)對物品的偏好建模,稱為協(xié)同過濾[1]。海量數(shù)據(jù)和數(shù)據(jù)稀疏是目前推薦系統(tǒng)需要解決的兩個主要難題,而基于近鄰的協(xié)同過濾算法在數(shù)據(jù)稀疏的情況下,用戶或物品之間很難有相同的評分,使用少量的近鄰預(yù)測評分使得推薦偏差較大[2-3]。因此,基于模型的協(xié)同過濾逐漸成為主流的推薦算法,其中主要有矩陣分解(Matrix Factorization,MF)模型[4-5]和神經(jīng)網(wǎng)絡(luò)模型。
矩陣分解是各種協(xié)同過濾算法常用的一種建模方法,它使用潛在特征的向量來對用戶和物品分別進行建模,將用戶和物品分別映射到各自的潛在空間,因此用戶對物品的交互被建模為向量的內(nèi)積。潛在因子模型(Latent Factor Model,LFM)是一種矩陣分解算法,由于其能適用于推薦系統(tǒng)場景中稀疏的用戶交互數(shù)據(jù)并有效訓(xùn)練模型,已經(jīng)成為一種標(biāo)準(zhǔn)推薦算法。目前許多研究工作致力于改進潛在因子模型,例如將其與基于近鄰的模型相結(jié)合[5]、與物品內(nèi)容的主題模型相結(jié)合[6-7]以及基于用戶屬性計算用戶相似度用于解決數(shù)據(jù)稀疏問題[8]。盡管潛在因子模型對協(xié)同過濾有效,但其直接使用向量內(nèi)積為用戶交互行為建模限制了性能的進一步提升,因為向量內(nèi)積只是簡單地將潛在特征的乘法線性組合,不足以提取用戶交互數(shù)據(jù)的復(fù)雜結(jié)構(gòu)。
本文提出一種新的條件卷積方式,將其對用戶交互行為進行特征提取,該方式不增加模型的參數(shù)量且保留了卷積網(wǎng)絡(luò)較強的特征提取能力,在推薦過程中融入用戶信息和物品信息并將其作為輸入,使用隱性反饋數(shù)據(jù)和顯性反饋數(shù)據(jù)對模型進行驗證。
隨著神經(jīng)網(wǎng)絡(luò)在自然語言處理[9]、圖像處理[10]等領(lǐng)域的廣泛應(yīng)用,將各種神經(jīng)網(wǎng)絡(luò)與協(xié)同過濾算法相結(jié)合并應(yīng)用于推薦系統(tǒng)中成為近年來的研究熱點。與矩陣分解的特征向量內(nèi)積方式相比,神經(jīng)網(wǎng)絡(luò)具有較強的非線性映射能力,并且已經(jīng)從理論上被證明能夠擬合任意連續(xù)函數(shù)[11]。其中一些研究[7,12-13]將深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)應(yīng)用于推薦任務(wù)并顯示出較好的結(jié)果,但其主要是將DNN與傳統(tǒng)推薦算法相結(jié)合:首先運用深度神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行預(yù)處理,如物品的文本描述、音樂的音頻特征和圖像的視覺內(nèi)容,然后利用基于矩陣分解的協(xié)同過濾算法生成推薦。
此外還有一些研究直接基于神經(jīng)網(wǎng)絡(luò)模型為用戶生成推薦,如CCCFNet[14]通過向量內(nèi)積的方式提取用戶和物品特征。神經(jīng)協(xié)同過濾(Neural Collaborative Filtering,NCF)模型[15]是一個基于廣義矩陣分解模型和多層感知器的組合模型,其中廣義矩陣分解模型與CCCFNet相比,在向量內(nèi)積時增加自適應(yīng)權(quán)重,通過加權(quán)向量內(nèi)積的方式提取用戶和物品特征,而多層感知器通過加權(quán)求和的方式提取用戶和物品特征。文獻[16]提出的神經(jīng)社交協(xié)同排名(Neural Social Collaborative Ranking,NSCR)方法在NCF的基礎(chǔ)上進行改進,引入用戶和物品的屬性加強用戶和物品特征的提取,并提出了配對池化,對用戶(或物品)的屬性之間進行兩兩組合。有研究表明,增加用戶和物品屬性等能夠提升推薦系統(tǒng)性能[17]。
CCCFNet與NCF中的廣義矩陣分解模型雖然也能使用用戶和物品的屬性信息加強神經(jīng)網(wǎng)絡(luò)對用戶和物品特征的提取,但是基于向量內(nèi)積方式的限制,要求兩個向量的維度必須相等,所以不能自由地決定使用屬性的個數(shù),而且所能得到的特征組合數(shù)量也十分有限。而NCF中的多層感知器使用更加簡單的加權(quán)求和方式組合特征,因此要求使用一個深度結(jié)構(gòu)的網(wǎng)絡(luò)才能得到豐富的特征組合。NSCR則是通過配對池化得到更多的組合結(jié)果,然而本文研究發(fā)現(xiàn),NSCR所得到的特征組合是用戶屬性之間的組合以及物品屬性之間的組合,而推薦系統(tǒng)所預(yù)測的評分是用戶與物品之間交互,因此本文使用用戶屬性與物品屬性之間的組合更加有效、合理。此外,NSCR的配對池化只能得到兩個屬性的組合,而不是更多個屬性之間的高階組合。
與推薦領(lǐng)域不同,計算機視覺領(lǐng)域中主流的特征提取方法是卷積,如ILSVRC(ImageNet Large Scale Visual Recognition Challenge)采用的是152層卷積網(wǎng)絡(luò)構(gòu)成的ResNet。卷積神經(jīng)網(wǎng)絡(luò)具有3個主要特性:1)可以直接從原始輸入提取特征,從而避免了特征工程;2)對縮放、平移、旋轉(zhuǎn)等畸變具有不變性,泛化性很強;3)通過局部視野和權(quán)值共享機制大大減少了參數(shù)量。因此,本文認(rèn)為使用卷積替代目前推薦系統(tǒng)常用的向量內(nèi)積或加權(quán)求和等方式來提取用戶交互行為的特征是一種值得嘗試的做法。但是傳統(tǒng)的卷積并不適用于推薦系統(tǒng),其主要原因是卷積的權(quán)值共享機制。當(dāng)輸入的局部特征之間具有較強的相關(guān)性時,權(quán)值共享機制十分適用。反之當(dāng)輸入在不同區(qū)域有不同的特征分布時,泛化性較強的權(quán)值共享機制導(dǎo)致需要多層卷積網(wǎng)絡(luò)對提取的特征進行組合。以人臉識別作為說明,人臉的不同區(qū)域(如眼睛與鼻子)的特征分布各異,主流的解決方案是使用局部連接卷積[18](Locally-Connected Convolution)替代卷積,取消權(quán)值共享,在不同區(qū)域用不同參數(shù)計算卷積。局部連接卷積雖然進一步增強了特征提取能力,但同時也增加了大量的模型參數(shù),因此對于用戶數(shù)和物品數(shù)動輒上百萬的推薦系統(tǒng)而言并不適用。
本文提出一種新的卷積方式:條件卷積,以此改進神經(jīng)協(xié)同過濾提取特征能力的不足,并在推薦過程中融入用戶信息和物品信息,從而為用戶生成個性化推薦結(jié)果。


圖1 神經(jīng)協(xié)同過濾模型


圖2 條件卷積過程



圖3 傳統(tǒng)卷積提取用戶和物品特征的過程


圖4 局部連接卷積提取用戶和物品特征的過程


圖5 條件卷積提取用戶和物品特征的過程
在神經(jīng)協(xié)同過濾中并沒有使用用戶和物品屬性信息,僅使用用戶ID和物品ID作為輸入,沒有充分利用輔助信息。為此,本文提出一種融入用戶和物品屬性信息的方法。以MovieLens數(shù)據(jù)集為例,數(shù)據(jù)集提供了用戶性別、用戶年齡段、用戶職業(yè)、用戶郵編、電影名稱及電影類別作為輔助信息。需要說明的是,在不同數(shù)據(jù)集中可以使用的輔助信息不盡相同,不失一般性,本文以選取用戶性別、用戶職業(yè)和電影類別作為示例,如圖6所示。

圖6 用戶和物品屬性信息的融入
雖然神經(jīng)協(xié)同過濾也能使用相同的方法融入輔助信息,但由于其廣義矩陣分解需要使用基于元素級別的矩陣相乘,因此要求用戶特征向量和電影特征向量的長度必須相等,所以,對于需要使用多種輔助信息的復(fù)雜推薦系統(tǒng)而言,必須要精心設(shè)計每種輔助信息的嵌入層長度。相比之下,本文采用的是條件卷積,不受此限制,使用更加靈活。
條件卷積隱因子模型如圖7所示。對比圖1和圖7可知,條件卷積隱因子模型與神經(jīng)協(xié)同過濾模型的主要區(qū)別如下:1)不使用多層感知器;2)采用條件卷積替代元素級別矩陣相乘;3)融入多種輔助信息。為了更突出條件卷積的性能,本文構(gòu)建的是僅3層的條件卷積隱因子模型(輸入層、嵌入層和條件卷積層)。

圖7 條件卷積隱因子模型
與神經(jīng)協(xié)同過濾算法相比,條件卷積隱因子模型的優(yōu)點有如下3點:
1)對于分別由多個特征組成的物品特征和用戶特征而言,不需要限制兩者長度相等,與神經(jīng)協(xié)同過濾算法相比可以更靈活地設(shè)計各自嵌入層。
2)由于物品特征和用戶特征可能是由多個子特征拼接而成的,對兩者使用卷積操作能夠達(dá)到特征組合的目的。假設(shè)物品特征fi和用戶特征fu分別由N個和M個子特征組成(將長度較長的當(dāng)輸入,另一個當(dāng)卷積核),即fi=[fi_1,fi_2,…,fi_N],fu=[fu_1,fu_2,…,fu_M],并且每個子特征的向量長度相等,則經(jīng)過條件卷積后可得到如下的特征組合:CConv(fi,fu)=[…,fi_kfu_1+…+fi_k+Mfu_M,…],k∈[1,N-M]??芍獥l件卷積可以得到N×M種特征組合,而神經(jīng)協(xié)同過濾所采用的基于元素級別的矩陣相乘只能得到max(N,M)種特征組合,因此條件卷積能夠更有效地利用數(shù)據(jù)集中的輔助信息。
3)與其他推薦算法相比,輸入的特征在同樣經(jīng)過嵌入層后,采用條件卷積并不增加模型參數(shù),使其同樣適用于較大的數(shù)據(jù)集或網(wǎng)絡(luò)結(jié)構(gòu)。
由于神經(jīng)協(xié)同過濾的推薦性能要優(yōu)于ItemPop、ItemKNN[19]、BPR[20]和eALS[21]等主流推薦算法[15],因此本文的以下實驗不再與這些算法對比。除神經(jīng)協(xié)同過濾外,本文主要與多層感知器、NSCR、CCCFNet對比,因為這些算法分別使用了不同的方式提取用戶和物品特征。為了能更全面地評估條件卷積隱因子模型的推薦性能,本文分別在隱性反饋數(shù)據(jù)和顯性反饋數(shù)據(jù)下進行仿真實驗。
本文實驗采用由美國明尼蘇達(dá)大學(xué)GroupLens實驗室提供的MovieLens-1M數(shù)據(jù)集,該數(shù)據(jù)集是驗證推薦算法性能最常用的數(shù)據(jù)集之一[22]。數(shù)據(jù)集中有1 000 209條用戶對電影的評分?jǐn)?shù)據(jù),其中用戶數(shù)量為6 040,電影數(shù)量為3 706,此外還附有這些用戶和電影的信息(如用戶性別、職業(yè)和電影類別等)。
3.1.1 數(shù)據(jù)集與評價標(biāo)準(zhǔn)
為與神經(jīng)協(xié)同過濾等算法進行對比,本文實驗中所有算法采用如下設(shè)置:
1)使用0或1表示用戶是否對電影評分,從而將顯性反饋的評分?jǐn)?shù)據(jù)轉(zhuǎn)換為隱性反饋的交互行為數(shù)據(jù)。
2)在劃分?jǐn)?shù)據(jù)集時,采用leave-one-out策略,即每個用戶只保留一條交互行為數(shù)據(jù)作為測試集,其余作為訓(xùn)練集。在神經(jīng)協(xié)同過濾等算法中測試集是由每個用戶在時序上最后一條交互行為構(gòu)成,本文也采用相同策略。
3)劃分所得的訓(xùn)練集中樣本均是正樣本,因此在訓(xùn)練時隨機采樣生成負(fù)樣本增強數(shù)據(jù)集。
4)將生成推薦結(jié)果分成2個步驟:(1)從數(shù)據(jù)集中用戶未評分過的電影列表中隨機選取100部電影,加上測試集中的電影組成一個候選集合;(2)使用模型預(yù)測用戶對候選集合中電影評分過的概率,根據(jù)概率進行排序并得到Top-K推薦結(jié)果(K<100)。
5)將命中率(Hit Rate,HR)和NDCG(Normalized Discounted Cumulative Gain)作為評估指標(biāo)。若測試集中用戶評分過的電影出現(xiàn)在Top-K推薦結(jié)果中,則命中率為1,根據(jù)所有用戶命中率的平均值可以較好地評估模型的推薦效果。NDCG是根據(jù)測試集中的電影在推薦列表中的排位評估推薦性能,排名越高則NDCG指標(biāo)越高,代表推薦精準(zhǔn)度越好。
3.1.2 隱性反饋數(shù)據(jù)推薦性能比較結(jié)果分析
影響神經(jīng)協(xié)同過濾模型性能的關(guān)鍵是嵌入層長度,因此本文實驗在不同嵌入層長度下對比推薦命中率和NDCG,命中率結(jié)果如圖8所示。從圖8中可知,當(dāng)嵌入層長度大于64后,Top-10命中率均趨于飽和甚至有所下降,原因在于過長特征向量在數(shù)據(jù)量不足情況下容易導(dǎo)致過擬合。而在嵌入層長度越小的情況下,條件卷積隱因子模型相比其他算法的優(yōu)勢就越明顯,在嵌入層長度為16時Top-10命中率比神經(jīng)協(xié)同過濾提升了3.11%,原因如2.2節(jié)所述,條件卷積能得到用戶特征與電影特征間的全部特征組合,從而提高了模型對用戶和電影的識別度,NDCG結(jié)果如圖9所示。從圖9中可知,條件卷積隱因子模型要優(yōu)于神經(jīng)協(xié)同過濾等對比算法。

圖8 各算法在不同嵌入層長度下的Top-10推薦命中率

圖9 各算法在不同嵌入層長度下的Top-10 NDCG
3.2.1 數(shù)據(jù)集與評價標(biāo)準(zhǔn)
本文在隱性反饋數(shù)據(jù)下驗證了條件卷積隱因子模型與神經(jīng)協(xié)同過濾優(yōu)于多層感知器等算法,因此在顯性反饋數(shù)據(jù)將推薦性能的對比聚焦在條件卷積隱因子模型與神經(jīng)協(xié)同過濾算法上。為能夠與神經(jīng)協(xié)同過濾算法更好地對比,本文實驗中所有算法采用如下設(shè)置:
1)在劃分?jǐn)?shù)據(jù)集時,采用不放回隨機采樣策略,訓(xùn)練集和測試集數(shù)據(jù)量比例為9∶1。
2)使用預(yù)測評分與實際評分的均方根誤差(Root Mean Squared Error,RMSE)作為評估指標(biāo)。RMSE指標(biāo)越低,代表評分預(yù)測精準(zhǔn)度越好。
3.2.2 顯性反饋數(shù)據(jù)推薦性能比較結(jié)果分析
影響神經(jīng)協(xié)同過濾模型性能的關(guān)鍵是嵌入層長度,因此本文實驗在不同嵌入層長度下對比RMSE,結(jié)果如圖10所示。從圖10中可知,在評分預(yù)測精準(zhǔn)度上條件卷積隱因子模型相比神經(jīng)協(xié)同過濾算法有明顯的優(yōu)勢,其中當(dāng)嵌入層長度為32時,神經(jīng)協(xié)同過濾算法的評分預(yù)測誤差為0.910 6,與條件卷積隱因子模型相比降低了0.022 5,達(dá)到了0.888 1。由此可見,條件卷積不僅在隱性反饋數(shù)據(jù)下有效,而且在顯性反饋數(shù)據(jù)下也是有效的。因為不論使用隱性反饋數(shù)據(jù)還是顯性反饋數(shù)據(jù),基于模型的協(xié)同過濾算法都是為了學(xué)習(xí)用戶和物品的潛特征,然后基于這些潛特征構(gòu)建預(yù)測模型,區(qū)別只在于兩者的模型輸出形式和評價標(biāo)準(zhǔn)。在使用隱性反饋數(shù)據(jù)時,模型的輸出一般設(shè)置成0~1之間的實數(shù)值;而在使用顯性反饋數(shù)據(jù)時,模型的輸出一般設(shè)置成0~5之間的實數(shù)值。

圖10 兩種模型在不同嵌入層長度下的評分預(yù)測誤差
本文將推薦系統(tǒng)與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出一種新的條件卷積方式。給出條件卷積的定義,在推薦過程中融入用戶和物品屬性信息作為輸入,在公開數(shù)據(jù)集MovieLens下進行的實驗結(jié)果表明,條件卷積能夠增強推薦算法提取用戶特征、物品特征以及組合特征的能力,且沒有增加額外的參數(shù)量。本文研究未探討條件卷積在推薦系統(tǒng)中的冷啟動問題,這將是下一步的研究重點。