張子燁 李明暢 梁凌睿 張銘華 謝賢芬 古萬榮
(1.華南理工大學 數(shù)學學院,廣東 廣州 510640;2.暨南大學 經(jīng)濟學院,廣東 廣州 510632;3.華南農(nóng)業(yè)大學 數(shù)學與信息學院,廣東 廣州 510642)
推薦系統(tǒng)廣泛地應用于電子商務、視頻網(wǎng)站、音樂電臺、廣告投放、新聞咨詢等領域,為處于這些領域的公司的盈利做出了可觀的貢獻。據(jù)亞馬遜前首席科學家Andreas Weigend的說法,亞馬遜每年有20%~30%的銷售來自推薦系統(tǒng)(參見blog.Kiwitobes.com/?p=58)。這足以說明對推薦系統(tǒng)進行研究能帶來經(jīng)濟上的效益。
協(xié)同過濾算法通過用戶與物品交互的行為預測用戶的偏好,此法與物品內(nèi)容無關。神經(jīng)網(wǎng)絡的引入,將向量(用于儲存用戶或物品特征)的學習程度發(fā)展到了非線性表示[1- 2],其中的基本體系結構被擴展到了利用社會和地理信息來提取用戶和物品的信息[3]。一些神經(jīng)網(wǎng)絡算法主要學習基于顯性反饋的評分預測任務[4- 5]。文中的內(nèi)容專注于從隱性反饋中學習Top-N列表推薦[6]。然而,協(xié)同過濾算法存在著數(shù)據(jù)稀疏的問題。
物品通常與內(nèi)容信息(如非結構化的文本)相關聯(lián),如論文關鍵詞和商品廣告文案。協(xié)同過濾算法可以擴展利用物品內(nèi)容信息[7- 9]和用戶評論[10- 12]。Chelliah等[13]對當前基于用戶評論增強商品推薦的研究做了一個總結。
記憶網(wǎng)絡可以用領域外的感知信息進行推理。由于記憶網(wǎng)絡具有學習詞語語義的能力,可以解決詞的稀疏性和同義詞、近義詞的問題,因此可以用記憶網(wǎng)絡對物品內(nèi)容或相似用戶進行建模[14- 15]。文中沿著這一研究思路,利用神經(jīng)網(wǎng)絡從文本內(nèi)容中提取重要信息。
隨著神經(jīng)網(wǎng)絡[16]技術的興起,許多神經(jīng)網(wǎng)絡的文本挖掘技術被應用到推薦系統(tǒng)中來。在基于文本處理的推薦系統(tǒng),CNN[17- 19]文本處理網(wǎng)絡被用來提升單領域推薦中評分預測的精度。
跨領域推薦是緩解數(shù)據(jù)稀疏性的有效方案,其中一種有效的方法是將目標域上的協(xié)同過濾算法和輔助域上的另一個協(xié)同過濾算法組合在一起,從而實現(xiàn)了知識的遷移[20]。
在跨領域推薦系統(tǒng),給定兩個不同任務的處理方案,就可以讓跨縫卷積網(wǎng)絡(CSN)[21- 22]嘗試對這兩個方案進行不同權重的線性組合,并將這些組合作為輸入信息提供給連接兩個領域的神經(jīng)網(wǎng)絡,從而實現(xiàn)兩個領域之間的知識遷移。近期,Khan等[23]對跨領域推薦系統(tǒng)的研究進行了系統(tǒng)的歸納。沿著這個思路,文中從提取項目的內(nèi)容信息和信息跨領域的這兩個方面對推薦系統(tǒng)進行研究。
為此,文中提出了一種改進的神經(jīng)網(wǎng)絡模型:聯(lián)想型感知網(wǎng)絡模型,它用于跨領域的內(nèi)容推薦,其中感知網(wǎng)絡是一種記憶網(wǎng)絡,它能夠有效地提取物品的內(nèi)容信息;而聯(lián)想網(wǎng)絡起到知識遷移的作用,它能跨領域傳輸選定的信息。它的前部由共享的特性交互層構成,連接了從每個網(wǎng)絡中學習到的成果。在真實的數(shù)據(jù)集上,文中的聯(lián)想型感知網(wǎng)絡與各種其它算法模型進行比較,在多個指標方面展現(xiàn)出了更好的性能。
文中將在本節(jié)中描述所提出的聯(lián)想型感知網(wǎng)絡模型,該模型利用了物品的內(nèi)容信息。
表1提及的參數(shù)均可由實驗調(diào)取的數(shù)據(jù)集獲取,具體生成方式在下文提及。在介紹網(wǎng)絡體系結構之前,先描述推薦系統(tǒng)問題和模型公式。
表1 模型參數(shù)
對于推薦任務,文中的簡單目的是對用戶的歷史行為加以分析,得出一個推薦列表推薦給用戶(也就是Top-N推薦)。期望剛才從輔助域中得到的行為信息能提高算法在目標域上的推薦性能。
用向量ru=(ru1,ru1,…,runT)表示用戶u的交互行為,文中算法將以用戶、內(nèi)容文本、產(chǎn)生行為的輔助域物品作為條件,建立起觀察該用戶每次操作的概率模型。
(1)
這個公式能強化聯(lián)想型感知網(wǎng)絡模型的“想象力”,因為它會通過3個主要因素考察用戶u喜歡目標域物品i的數(shù)學概率:
(1)用戶u本人的偏好(來自目標域)。
(2)用戶u對目標域物品(已購商品)的評價文本信息(dui)。
(3)用戶u在輔助域的行為([j]u)。
文中將這個矩陣RT的似然函數(shù)定義為
p(RT)=∏u∏ip(rui|u,dui,[j]u).
(2)
文中所提出的聯(lián)想型感知網(wǎng)絡是一種神經(jīng)網(wǎng)絡,用端到端方式學習條件概率:
(3)
總體來說整個聯(lián)想型感知網(wǎng)絡由感知網(wǎng)絡oui=fM(u,i,dui|ΘM)(fM表示數(shù)據(jù)經(jīng)過感知網(wǎng)絡處理)和聯(lián)想網(wǎng)絡cui=fT(i,[j]u|ΘT)(fT表示數(shù)據(jù)經(jīng)過聯(lián)想網(wǎng)絡處理)組成。一個共享層fS(oui,zui,cui|Θs)(fS表示數(shù)據(jù)經(jīng)過共享層網(wǎng)絡的處理)共享了交互特性,領導著每一個個體的網(wǎng)絡學習,其中zui是(u,i)交互行為的非線性表示。
文中引入感知網(wǎng)絡來處理上述從目標域中提取出來的非結構化文本。感知網(wǎng)絡是一種帶有記憶增強的神經(jīng)網(wǎng)絡變體,它可以學習用戶-物品交互信息(非結構化文本),并得出抽象表示。感知網(wǎng)絡中的的注意力機制可以自動識別哪些詞與用戶偏好密切相關。文中構建感知網(wǎng)絡的想法與Hu等[15]的想法不謀而合,但角度有所不同。
感知網(wǎng)絡使用一個矩陣A∈RL×2d作為存儲器,其中L為詞匯量,2d為矩陣的維數(shù)。感知網(wǎng)絡還有一個外部存儲器C,其維數(shù)與A相同。
現(xiàn)給定一個文件dui=(w1,w2,…,wl)來儲存(u,i)的交互信息,文中建立了一個感知存儲單元mk∈R2d,其中每個單詞wk都會被映射到矩陣A的向量中,而k=1,2,…,l和最長的文件的長度是感知的最大容量lmax。文中建立了一個偏好向量q用于對應文件dui和用戶-物品交互行為(u,i),其中每個元素qk記錄了用戶u與物品i的相關性,計算方法如下:
(4)
然后可以通過一個向量點積來壓縮上面的那兩項,此舉將用戶和物品的關系壓縮到了xui=[xu,xi]中:
(5)
注意力機制可以學習詞義的權重,然后關注其中重要的詞語。傳統(tǒng)的詞匯集合預先定義了一個初始權重函數(shù),如平均值函數(shù)。而文中通過注意力機制產(chǎn)生的權重來推斷每個單詞的重要性:
(6)
文中用注意力機制對外部存儲器進行了插值:
(7)
式中,外部存儲器單元ck∈Rd是詞向量wk另外的嵌入向量,由矩陣C的映射形成。此舉生成了一個抽象的表示作為感知網(wǎng)絡的輸出內(nèi)容。
外部存儲器允許長時間儲存知識信息,特別是每個詞匯在匹配用戶偏好時的重要性信息。也就是說,通過注意力機制遴選出來的都是重要的詞匯,值得被收入矩陣C中妥善保存。
注意力機制對不同的用戶和不同的物品可以對不同的詞語進行加權,最終輸出的oui是一種高級的信息,這些信息正是從用戶-物品交互行為(u,i)中的文本單詞dui中凝煉出來的。
聯(lián)想網(wǎng)絡的主要作用是獲取輔助域的信息并加以利用,它是一種有選擇性的跨領域傳輸知識信息的神經(jīng)網(wǎng)絡。它的主要構建想法是在訓練過程中不斷選擇輔助域中用戶-物品交互信息的權重并加以調(diào)整。假設用戶u在輔助域中與物品[j]u=(j1,j2,…,js)進行了交互,聯(lián)想網(wǎng)絡則會通過遷移向量cui∈Rd來判定目標域中物品i是否會被對輔助域中某物品j產(chǎn)生過行為的用戶u喜歡上。例如,當文中想要預測一個用戶是否會對京東中的某款球鞋感興趣時,文中會考察他在騰訊視頻看了哪位球員的精彩集錦,這比考慮他在騰訊視頻看過哪些電影重要得多。目標域和輔助域物品之間的相似度可以通過以下點積算出來:
(8)
(9)
然后遷移向量就能用相應輔助域物品的加權再求和算出來:
(10)
文中用激活函數(shù)整流線性單元引入了非線性遷移向量。根據(jù)以往的情況,激活函數(shù)在ReLU(x) =max(0,x)時效果比較好,因為它的非飽和性質(zhì)適合于稀疏的數(shù)據(jù)。
遷移向量cui是一種高級表達,它總結了輔助域的知識,并作為聯(lián)想網(wǎng)絡的輸出項。聯(lián)想網(wǎng)絡可以在目標域用戶-物品的交互信息中,有選擇地傳輸輔助域中的知識信息。
總的來說這個網(wǎng)絡是一個多層次前饋神經(jīng)網(wǎng)絡,它的大致結構如圖1所示。輸入層是用戶u、目標域物品i和對應的輔助域物品集合[j]u=(j1,j2,…,js)。內(nèi)容文本組dui是感知網(wǎng)絡生成的抽象表示oui。然后在聯(lián)想網(wǎng)絡組(u,i)的指導下,將輔助域物品信息寫入遷移向量cui中。
圖1 網(wǎng)絡示意圖
為了詳解聯(lián)想型感知網(wǎng)絡,先用一層隱藏層網(wǎng)絡去學習一個用戶-物品的交互的非線性表示:
zui=ReLU(Wxui+b)
(11)
式中,W和b是隱藏層中的權重和誤差參數(shù)。在典型的塔式結構中,zui的長度一般是xui的一半。
收集‘大鼠’MDSCs,分為對照組和誘導組,分別于0 h、3 h、6 h、12 h和24 h以及2 d、3 d、7 d和12 d收集并觀察細胞,采用TaqMan探針法檢測不同時期細胞中mtDNA拷貝數(shù)[5-7];將EtBr處理前后的細胞誘導為胰島素分泌細胞(IPCs),分析兩組細胞誘導分化成IPCs的數(shù)量差異[8-10];檢測GSK-3β、sFRP、TCF/LEF及insulin、C-peptide的表達及甲基化差異情況,討論mtDNA拷貝數(shù)影響胰島素轉化的機制。
這3個獨立的網(wǎng)絡的輸出成果是內(nèi)容文本、輔助域知識信息和用戶-物品交互信息的高級特性,是不同網(wǎng)絡學習到的不同特征空間,因此需要用一個共享層聯(lián)系它們。
(12)
式中,h是學習過程中自主調(diào)整的參數(shù)。聯(lián)立之后文中可以得到:
yui=[Wooui,Wzzui,Wccui]
(13)
(14)
該目標函數(shù)有概率解釋,是下列似然函數(shù)的負對數(shù)似然度:
(15)
其中模型參數(shù)是
Θ={P,Q,H,A,C,W,b,Wo,Wz,Wc,h}
(16)
與式(2)相比,不使用空白信息去構造目標矩陣RT,而是僅從這些未觀測樣本的一個小子集中學習,并在每次優(yōu)化迭代時從中隨機抽取作為負樣本(即負采樣技術)。
目標函數(shù)可以通過自適應矩隨機梯度下降(SGD)及其變體(如Adam)進行優(yōu)化:
(17)
這一部分將用實驗考察聯(lián)想型感知網(wǎng)絡與最先進的推薦系統(tǒng)相比各項評估情況如何,以作為各推薦系統(tǒng)性能參考。本節(jié)先介紹評估標準和實驗設置,然后再比較不同推薦系統(tǒng)的性能。
如表2所示,文中在3類數(shù)據(jù)集上進行實驗。第1類數(shù)據(jù)集來自CiteULike(詳見http:∥www.cs.cmu.edu/~chongw/data/citeulike/),被廣泛用于評估論文領域的推薦系統(tǒng)性能[8]。第2類數(shù)據(jù)集是開放的亞馬遜數(shù)據(jù),該數(shù)據(jù)集已經(jīng)被廣泛用于評估推薦系統(tǒng)的性能[10],本次使用的是其中的男士分區(qū)和體育用品分區(qū)。數(shù)據(jù)集中不包含其他信息,如停留時間和人口統(tǒng)計學數(shù)據(jù)等上下文信息。第3類是由Cheetah Mobile(美國一家大型互聯(lián)網(wǎng)公司)提供的移動網(wǎng)絡數(shù)據(jù)集,里面包含了用戶閱讀新聞的記錄和手機應用的安裝歷史(詳見http:∥www.cmcm.com/en-us/)。
表2中總結了使用的數(shù)據(jù)集的大致情況。注意,3類數(shù)據(jù)集的稀疏度都大于99%,能充分考驗算法的性能。
對于CiteULike,文中使用Wang等[8]發(fā)布的版本,詞匯量為8 000個,文本長度約為160萬詞,每單位文本(論文摘要)大概90詞左右。注意這個數(shù)據(jù)集是單領域,文中用它來單獨測試感知網(wǎng)絡的性能。
對于亞馬遜和Cheetah Mobile的數(shù)據(jù)集,文中僅使用其某個分區(qū)的數(shù)據(jù),詳見表2。實驗中過濾了停止詞、語氣詞等無實義的單詞,并使用TF-IDF方法選擇前8 000個不同的單詞作為詞匯表。每個商品涉及的文本大概33詞左右,每條新聞的標題不足10詞。
第1類數(shù)據(jù)只被用在了拓展實驗中。而在對比實驗中,其他非跨域類算法將只使用亞馬遜男士領域和手機新聞領域的數(shù)據(jù)。
項目推薦任務采用領域內(nèi)廣泛采用的留一法(LOO)來進行評估,且遵循推薦系統(tǒng)中廣泛接受的協(xié)議[25]。為此,在實驗中為每個用戶保留了他的一個交互動作(通常是最新的交互動作,如果沒有時間信息,就采用隨機選擇)作為測試項。
按照標準的推薦策略,隨機抽取99個不受用戶影響的負面信息,然后評估推薦系統(tǒng)對這些負面信息的排名情況。僅選取推薦列表的前十個物品進行評估(即TopN=10)。
采用的評估項目是召回率(用Hit Ratio衡量)和歸一化后的折算累計收益(NDCG)。前者召回率限于篇幅不予以介紹;后者取自折算累計收益(DCG),DCG在不同的列表之間很難進行橫向的評估。而文中評估一個推薦系統(tǒng),不可能僅使用一個用戶的推薦列表進行評估,所以不同用戶的推薦列表的評估分數(shù)就需要進行歸一化。
評估項目的相關代碼都可以在GitHub上找到(詳見https:∥github.com/ princewen/tensorflow _practice/tree/master/recommendation/Basic-Evalua-tion-metrics)。
(1)最流行物品推薦(ItemPOP)。選取最熱門的10個物品推薦給用戶,熱門程度通過該物品與所有用戶的交互次數(shù)算出。最流行物品推薦算法較為簡單,常用于各類算法的實驗對比。
(2)多層感知方法(MLP)。它是一種使用前饋神經(jīng)網(wǎng)絡學習非線性相互作用的函數(shù)[25]。使用GitHub上發(fā)布的代碼來評估(詳見https:∥github.com/hexiangnan/neural_collaborative_filtering)。此外,基本的MLP網(wǎng)絡的隱藏層被設置為[64→32→16→8],可從MLP相關文獻中得出[28]。
(3)協(xié)同主題回歸法(CTR)。這種模型算法利用一個輔助域來提高算法性能,CiteULike 數(shù)據(jù)集實際上來自此論文[7]。文中使用GitHub上發(fā)布的代碼來評估(詳見http:∥www.cs.cmu.edu/~chongw/citeulike/)。
(4)本地集中式記憶推薦系統(tǒng)(LCMR)。該算法是一種混合算法,其本地網(wǎng)絡類似于文中的感知網(wǎng)絡,但是他們研究的重點是深度混合方法[15]。該算法是文中算法的主要競爭對手。該算法的設置方法基本與文中算法相似,亦可見于其原文的實驗設置[15]。
在亞馬遜和Cheetah Mobile數(shù)據(jù)集上的評估結果統(tǒng)計信息分別見于表3和表4。通過評估結果,文中可以得到以下初步結論:
(1)文中的算法在亞馬遜數(shù)據(jù)集上優(yōu)于所有的參測算法,證明了文中算法在聯(lián)系緊密的領域上的有效性。
(2)亞馬遜數(shù)據(jù)集是文中算法的優(yōu)勢領域,這是因為男士衣物和體育用品的關系相當緊密,十分有利于跨領域的算法。在該數(shù)據(jù)集上,文中的算法獲得了約15%~20%的提升。這說明了聯(lián)想網(wǎng)絡能夠從輔助域中選擇有用信息形成抽象表示,并且在選擇時聚焦了與用戶偏好強烈相關的重要詞匯,從而能更有效地猜測用戶的偏好。
(3)文中方法與LCMR在移動網(wǎng)絡數(shù)據(jù)集上差距很小。文中分析后認為原因有以下兩點,第一是新聞領域中的用戶大多立場明確,這有利于LCMR對用戶的偏好進行提取,因為它專注識別文本信息;第二是由于新聞領域的特殊性,在該領域中,所有的算法的成績都會比較高,難以拉開差距,就例如最流行物品推薦在該領域中都能取得不錯的效果。
表3 評估結果(亞馬遜數(shù)據(jù)集)
表4 評估結果(移動網(wǎng)絡數(shù)據(jù)集)
實驗結果初步表明,文中提出的聯(lián)想型感知網(wǎng)絡在同時利用文本內(nèi)容和輔助域知識進行推薦時具有優(yōu)越性。并且,本算法適合在電子商務等用戶偏好難提取,但領域間聯(lián)系緊密的情形使用。
在本小節(jié)中,文中延續(xù)了2、3節(jié)的評估方案與評估設置,額外使用第1、2類數(shù)據(jù)集單獨測試了聯(lián)想型感知網(wǎng)絡的兩個重要構成部分:感知網(wǎng)絡和聯(lián)想網(wǎng)絡的性能。文中還測試了聯(lián)想型感知網(wǎng)絡在不同推薦列表長度下的性能表現(xiàn),文中選取了TopN=5,10,15,20,并在第2類數(shù)據(jù)集上進行實驗。文中只選取了最流行物品推薦和LCMR這兩種算法參與本次拓展實驗。
單獨使用感知網(wǎng)絡,即在不借助輔助域信息幫助的條件下,在目標域通過神經(jīng)注意力機制匹配詞義與用戶偏好來完成推薦任務;單獨使用聯(lián)想網(wǎng)絡,即在不使用目標域用戶-物品交互行為的前提下,通過分析用戶在輔助域上的行為來完成推薦任務。其中聯(lián)想網(wǎng)絡和完整的聯(lián)想型感知網(wǎng)絡僅可用于含有輔助域的亞馬遜數(shù)據(jù)集。
在CiteULike和亞馬遜數(shù)據(jù)集上的實驗結果見于表5和表6。通過評估結果,文中可以得到以下結論:
在第1類數(shù)據(jù)集上單獨使用感知網(wǎng)絡效果不佳,不及LCMR算法。文中分析后發(fā)現(xiàn)CiteULike數(shù)據(jù)集包含了很多文本信息(單位文本長度長達90詞),這十分有利于LCMR這種專注識別文本信息的混合推薦算法。而在亞馬遜數(shù)據(jù)集上,文本信息相對減少,于是感知網(wǎng)絡的性能得以反超LCMR。
表5 在論文數(shù)據(jù)集上的評估結果
表6 在亞馬遜數(shù)據(jù)集上的評估結果
不難看出在第2類數(shù)據(jù)集上,感知網(wǎng)絡對文中算法的貢獻比聯(lián)想網(wǎng)絡大。并且,在亞馬遜男士和亞馬遜體育這種聯(lián)系緊密的領域中,感知網(wǎng)絡、聯(lián)想網(wǎng)絡在單獨使用時的性能均超過了LCMR,進一步說明了文中算法的優(yōu)越性。
文中還改變了推薦列表的長度進行多次試驗,得出了聯(lián)想型感知網(wǎng)絡不同的性能供參考。具體實驗結果見于圖2,實驗結果表明,聯(lián)想型感知網(wǎng)絡可能在重視新穎性和多樣性的任務中表現(xiàn)出較好的性能。這是因為提高新穎性和多樣性要求推薦列表的長度要達到正常推薦列表長度(一般在10以內(nèi))的數(shù)倍。
圖2 在不同列表長度下的評估結果
針對推薦算法的跨域推薦面臨的數(shù)據(jù)稀疏性問題以及關聯(lián)有效性問題,文中提出了一種新的深層次的神經(jīng)網(wǎng)絡模型:聯(lián)想型感知網(wǎng)絡模型,它由一個感知網(wǎng)絡和一個聯(lián)想網(wǎng)絡組成,前者可以理解詞語語義以匹配用戶的偏好,后者可以有選擇地在輔助域中傳輸有用信息幫助目標域。
實驗結果表明,物品的內(nèi)容信息和輔助領域的知識可以提高推薦系統(tǒng)的性能,并且可以在神經(jīng)網(wǎng)絡的體系結構下建起。利用這兩種信息可以重置稀疏的用戶-物品交互矩陣,解決了數(shù)據(jù)稀疏的問題。
文中的算法適合在電子商務等單個文本信息較少,但是領域之間聯(lián)系緊密的情況下使用。在這樣的領域,文中的算法表現(xiàn)出了更好的性能,提升達15%~20%。
此外,文中的算法在引入新穎性和多樣性指標,或在冷啟動時可能會表現(xiàn)出更好的性能,這有待進行進一步的實驗研究。
在未來的研究中,還將使用分布式大數(shù)據(jù)框架處理海量數(shù)據(jù),以驗證文中模型在海量數(shù)據(jù)和分布式架構下的有效性。