王 妍, 唐 杰
(清華大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系, 北京 100084)
當(dāng)前,個(gè)性化推薦在眾多社會(huì)網(wǎng)絡(luò)活動(dòng)中扮演著重要的角色。如亞馬遜平臺(tái),電商根據(jù)用戶的歷史購(gòu)買(mǎi)行為推測(cè)其購(gòu)買(mǎi)偏好,并向用戶推薦其可能喜歡的其他產(chǎn)品,從而增加潛在利潤(rùn)[1-2]。本文的推薦系統(tǒng)是基于Aminer 學(xué)術(shù)搜索平臺(tái)的論文個(gè)性化推薦系統(tǒng)。Aminer平臺(tái)利用數(shù)據(jù)挖掘、社會(huì)網(wǎng)絡(luò)分析等技術(shù),向用戶供搜索服務(wù),包括研究者搜索、論文搜索、綜述文獻(xiàn)搜索等一系列檢索功能,同時(shí)兼有學(xué)術(shù)話題趨勢(shì)分析、研究者社會(huì)網(wǎng)絡(luò)關(guān)系挖掘等眾多功能。Aminer系統(tǒng)約搜集有8 000萬(wàn)篇論文信息、4 000萬(wàn)研究者信息。在服務(wù)于用戶搜索需求的同時(shí),用戶個(gè)性化推薦的需求也變得更為重要。面對(duì)龐大的檢索結(jié)果集,用戶可能需要花費(fèi)額外的時(shí)間去人工篩選自己想要的論文。因此,本項(xiàng)目的目標(biāo)是實(shí)現(xiàn)一個(gè)建立在海量數(shù)據(jù)上的個(gè)性化推薦系統(tǒng),從而給用戶提供個(gè)性化的決策和個(gè)性化的信息服務(wù)。具體而言,該推薦系統(tǒng)旨在向注冊(cè)用戶推薦他可能感興趣的論文,該推薦系統(tǒng)基于以下信息對(duì)用戶做出個(gè)性化推薦: 1)用戶偏好,即用戶已關(guān)注的論文列表; 2)論文相關(guān)的文本信息,包括論文關(guān)鍵詞、摘要; 3)用戶相關(guān)的文本信息,包括用戶的搜索日志,用戶關(guān)注的論文文本信息。
目前的個(gè)性化推薦系統(tǒng)通過(guò)收集用戶反饋,如對(duì)各種物品的評(píng)分?jǐn)?shù)據(jù)來(lái)對(duì)用戶進(jìn)行個(gè)性化推薦,其中經(jīng)典的推薦算法可劃分為兩大類,協(xié)同過(guò)濾推薦算法和基于內(nèi)容的推薦算法。本文的推薦系統(tǒng)混合使用了這兩種經(jīng)典模型。
協(xié)同過(guò)濾是廣泛使用的個(gè)性化推薦算法[3-4],其中結(jié)合聚類分析的協(xié)同過(guò)濾算法也被廣泛研究應(yīng)用[5-6]。在本文的推薦系統(tǒng)中,我們采用基于物品的協(xié)同過(guò)濾推薦模型?;谖锲返膮f(xié)同過(guò)濾分為以下兩個(gè)主要步驟。
1) 構(gòu)造用戶對(duì)論文的評(píng)級(jí)矩陣,在該項(xiàng)目中,評(píng)級(jí)數(shù)據(jù)簡(jiǎn)化為0-1二值數(shù)據(jù),表示是否關(guān)注該論文。
2) 用戶尚未關(guān)注的論文構(gòu)成候選集,對(duì)論文候選集中的每篇論文預(yù)測(cè)用戶的關(guān)注概率。降序排序后返回前K篇預(yù)測(cè)評(píng)分最高的候選論文。
假設(shè)有m個(gè)用戶,n篇論文,首先構(gòu)造用戶—論文關(guān)注矩陣(1),其中rui表示用戶u是否關(guān)注了論文i,
(1)
對(duì)用戶未關(guān)注的論文集中的每篇論文,預(yù)測(cè)目標(biāo)用戶對(duì)它的喜愛(ài)程度。目標(biāo)用戶對(duì)該論文喜愛(ài)程度的預(yù)測(cè)可以用式(2)計(jì)算,其中N表示與論文i相似的近鄰集合,相似度用余弦相似度計(jì)算,如式(3)所示。
(2)
其中,
(3)
其中ruk取值為0或1,Sik表示兩篇論文的相似度。得到預(yù)測(cè)分?jǐn)?shù)Pui后,選擇排在前K位的物品作為推薦結(jié)果返回給目標(biāo)用戶。
通過(guò)實(shí)驗(yàn),我們發(fā)現(xiàn)直接利用用戶評(píng)級(jí)矩陣進(jìn)行基于物品的協(xié)同過(guò)濾推薦,效果并不理想。分析可知,原因是實(shí)際數(shù)據(jù)集的標(biāo)注數(shù)據(jù)非常稀疏,即已產(chǎn)生關(guān)注行為的用戶占總用戶比例,以及產(chǎn)生關(guān)注行為的用戶所關(guān)注的論文數(shù)占總論文的比例都很小。針對(duì)這個(gè)問(wèn)題,我們采用奇異值分解算法進(jìn)行改進(jìn)。通過(guò)對(duì)用戶的評(píng)級(jí)矩陣進(jìn)行SVD降維來(lái)取其隱藏的特征,進(jìn)一步利用降維后的矩陣對(duì)目標(biāo)用戶進(jìn)行物品推薦。具體到實(shí)驗(yàn)中,我們通過(guò)SVD降維并保留90%的能量值,一定程度上緩解矩陣稀疏的問(wèn)題。
僅采用協(xié)同過(guò)濾推薦模型的另一弊端是會(huì)產(chǎn)生無(wú)法推薦新論文的問(wèn)題。因?yàn)橥扑]的論文必然是在其他用戶已關(guān)注的論文集中。而那些符合目標(biāo)用戶興趣,但沒(méi)有被任何其他用戶關(guān)注過(guò)的論文,就無(wú)法對(duì)其進(jìn)行推薦。為了解決這個(gè)問(wèn)題,我們結(jié)合了基于內(nèi)容的推薦[7-8]。通過(guò)基于內(nèi)容的推薦模型產(chǎn)生一批候選論文,可以有效推薦那些沒(méi)有被其他用戶標(biāo)注的新論文。且該方法受用戶數(shù)據(jù)稀疏性的影響較小。
在本項(xiàng)目中,我們用文本表示論文特征和用戶特征并計(jì)算相似度,基于內(nèi)容推薦與用戶興趣特征相似的論文。
首先構(gòu)造論文特征,取論文關(guān)鍵詞,計(jì)算TF-IDF值,則論文特征可表示成其關(guān)鍵詞的權(quán)重向量,每一維特征對(duì)應(yīng)一個(gè)關(guān)鍵詞的權(quán)重,特征維數(shù)即詞匯總數(shù)。其次構(gòu)造用戶的興趣特征,假設(shè)用戶關(guān)注的論文集合為P,通過(guò)對(duì)集合P中的論文特征取平均值得到用戶特征。計(jì)算和目標(biāo)用戶興趣內(nèi)容最相似的K篇論文時(shí),采用余弦距離衡量。
基于內(nèi)容的余弦相似度,選取相似度排名前K名的論文返回。
在基于內(nèi)容進(jìn)行推薦時(shí),我們將用戶和論文都映射到同一個(gè)向量空間,而推薦問(wèn)題則轉(zhuǎn)化成計(jì)算距離用戶最近的論文。在上一小節(jié),我們采用的是最常見(jiàn)的方式,將文本由其詞頻-逆文檔頻率(TF-IDF)表示它們的特征值,并通過(guò)向量的余弦相似性來(lái)進(jìn)行推薦,本質(zhì)上可以退化成比較特征詞的重合程度。然而這種特征分析往往不適合表示用戶和文檔的距離,首先因?yàn)樗鼈兘普?即兩個(gè)文本實(shí)際相似,但是單詞交集可能會(huì)很少。另外一個(gè)重要的原因是它們并不能捕捉單詞層面的相似性。如在該項(xiàng)目的關(guān)鍵詞集合中,“algorithm”和“machine learning”在語(yǔ)義上具有較高的相關(guān)性,但是僅僅使用余弦相似度模型并不能捕捉這一層次的相似性。
因此,當(dāng)論文內(nèi)容在詞匯層面重合度較小,語(yǔ)義層面卻較為相似的情況下,這種模型表現(xiàn)并不令人滿意。考慮這樣一個(gè)例子,兩個(gè)文本“Obama speaks to the media in Illinois.” 和“The president greet the press in Chicago.”在單詞層面正交,沒(méi)有重合,而其在語(yǔ)義上卻十分相似。為了刻畫(huà)這種相似性,我們采用了基于詞向量的Word Mover Distance (WMD)模型來(lái)衡量相似度。
1.3.1 詞向量
僅僅利用語(yǔ)料的上下文語(yǔ)境對(duì)單詞的隱含表示進(jìn)行學(xué)習(xí),生成詞向量表示在自然語(yǔ)言處理的各個(gè)研究領(lǐng)域被廣泛地使用。詞向量模型的輸入是大量的無(wú)監(jiān)督語(yǔ)料,輸出是所有單詞(不包括低頻詞匯)的低維向量表示。
本文采用經(jīng)典的Skip-gram模型訓(xùn)練詞向量[9],使用谷歌新聞的語(yǔ)料來(lái)訓(xùn)練詞向量。輸入為一個(gè)單詞,預(yù)測(cè)其上下文詞匯出現(xiàn)的概率。采用經(jīng)典的三層網(wǎng)絡(luò)結(jié)構(gòu),第一層為輸入層,由一個(gè)單詞的K維詞向量表示。第二層為隱藏層。第三層為輸出層。輸出為已知輸入單詞時(shí),其余各單詞在其上下文出現(xiàn)的概率,采用Softmax模型估計(jì)概率值。訓(xùn)練目標(biāo)是,最大化已知輸入單詞的條件下,相鄰語(yǔ)境中單詞出現(xiàn)的概率,其中條件概率用Softmax估計(jì)。模型的直觀解釋是,若單詞的上下文相似,則它們的詞向量更相似。
該模型的訓(xùn)練模型也有各種各樣的實(shí)現(xiàn),如通過(guò)隨機(jī)梯度下降法進(jìn)行參數(shù)更新,通過(guò)負(fù)采樣的方法提高模型的性能等等。
在本項(xiàng)目中,有很大一部分特征詞是復(fù)合單詞,即短語(yǔ)。如“data mining”,如果拆成“data”和“mining”兩個(gè)單詞分別訓(xùn)練則會(huì)損失其作為一個(gè)短語(yǔ)的語(yǔ)義信息。因此,我們的做法就是將它作為一個(gè)短語(yǔ)學(xué)習(xí)它的向量。首先對(duì)語(yǔ)料進(jìn)行短語(yǔ)探測(cè),一種簡(jiǎn)單有效的方法是采用探測(cè)二元詞出現(xiàn)的次數(shù)來(lái)探測(cè)兩個(gè)單詞的短語(yǔ),當(dāng)其在文本中出現(xiàn)次數(shù)大于某個(gè)閾值時(shí),則判定其為短語(yǔ)。這里通過(guò)實(shí)驗(yàn),將該閾值設(shè)定為10。將“data mining”處理表示成“data_mining”,以下劃線連接,接下來(lái)短語(yǔ)向量的訓(xùn)練過(guò)程和詞向量學(xué)習(xí)的過(guò)程相似。實(shí)驗(yàn)證明引入短語(yǔ)后,向量的語(yǔ)義表示上有更好的表現(xiàn)。
1.3.2 WMD距離函數(shù) (Word Mover Distance)
我們將用戶模型和文檔模型里的特征詞表示成詞向量。然后,基于內(nèi)容推薦轉(zhuǎn)化成如何評(píng)價(jià)用詞向量表示的用戶模型及文檔模型的相似度,這個(gè)問(wèn)題可以抽象成用詞向量表示的兩個(gè)文本之間的距離。
簡(jiǎn)單做法是將一個(gè)文本中所有的詞向量連接成一個(gè)長(zhǎng)向量,然后直接應(yīng)用計(jì)算向量相似度的方法來(lái)計(jì)算用戶和論文的相似度。但這個(gè)方法的弊端是,每個(gè)數(shù)據(jù)的詞匯數(shù)不同,導(dǎo)致連接向量的長(zhǎng)度不同。通過(guò)補(bǔ)零會(huì)引入額外誤差,或是將向量相加,實(shí)驗(yàn)證明效果并不理想。
基于這兩點(diǎn)考慮,我們通過(guò)改進(jìn)版的Earth Mover Distance (EMD)來(lái)進(jìn)行衡量[10],這里稱之為Word Mover Distance (WMD)。即,我們將一個(gè)用戶模型或是文本模型抽象成帶有權(quán)重的詞匯的集合,然后利用WMD來(lái)衡量從一個(gè)集合變換到另一個(gè)集合的距離。
可以把這個(gè)目標(biāo)函數(shù)表示成式(4)。
(4)
上述最優(yōu)化目標(biāo)可以直觀理解成,為文檔中的每個(gè)單詞找到其在文檔中最相似的單詞,所有單詞的轉(zhuǎn)移距離之和則為文本的最小距離。最優(yōu)化的過(guò)程本質(zhì)上可以看成是推土機(jī)距離的一種特殊變形。
舉例來(lái)說(shuō),圖1描述了一個(gè)計(jì)算文本距離的過(guò)程。
圖1 Word Mover Distance示例[10]
首先去掉停用詞,樣例中的三個(gè)句子分別剩下四個(gè)單詞,因此假設(shè)每個(gè)單詞的權(quán)重為0.25,我們注意到每個(gè)轉(zhuǎn)移箭頭上標(biāo)記了該轉(zhuǎn)移對(duì)總轉(zhuǎn)移距離的貢獻(xiàn)大小,可以發(fā)現(xiàn),Word Mover Distance (WMD)可以很好的契合我們的動(dòng)機(jī),將一個(gè)句子里的單詞轉(zhuǎn)移到另一個(gè)句子里語(yǔ)義最為相似的單詞。例如,把單詞“Illinois”變成單詞“Chicago”比從單詞“Japan”變成“Chicago”損失更少,則文本D1比文本D2和目標(biāo)文本D0更為接近。這是因?yàn)樵谟?jì)算單詞向量時(shí),“Illinois”和“Chicago”的距離更為靠近,語(yǔ)義更為接近。因此可以推斷出,WMD可以很好地刻畫(huà)共有單詞很少或有較多同義詞時(shí),兩個(gè)句子的語(yǔ)義信息。
實(shí)驗(yàn)證明,通過(guò)引入詞向量模型,并采用 WMD距離衡量文本距離,可以有效地改善模型,在各數(shù)據(jù)集上取得更好的表現(xiàn)。
為了提高整個(gè)推薦系統(tǒng)的性能,常常結(jié)合使用協(xié)同過(guò)濾模型和基于內(nèi)容推薦的模型[11]。最后的混合模型,采取按比例返回結(jié)果的合成方式,即按比例返回兩種算法產(chǎn)生的推薦結(jié)果。協(xié)同過(guò)濾和基于內(nèi)容的推薦算法,返回結(jié)果的比例初始值設(shè)為0.5和0.5。根據(jù)反饋,對(duì)該比例進(jìn)行調(diào)整。當(dāng)用戶對(duì)推薦的結(jié)果有積極的反饋,即有點(diǎn)擊或是直接關(guān)注等行為時(shí),我們相應(yīng)增加產(chǎn)生該條推薦結(jié)果的算法在整個(gè)混合模型中的比重。
為了取得更好的推薦效果,該模型中加入了一些工程性的技術(shù)技巧。
例如在基于內(nèi)容作出推薦前,首先對(duì)不活躍用戶的興趣特征進(jìn)行預(yù)測(cè)。該數(shù)據(jù)集大約有 70%用戶未產(chǎn)生任何標(biāo)注或關(guān)注行為。對(duì)這一部分用戶的興趣的預(yù)測(cè)需要借助其他文本信息。該項(xiàng)目中,分析具體數(shù)據(jù)可發(fā)現(xiàn)用戶均產(chǎn)生一定數(shù)量的搜索記錄。通過(guò)對(duì)搜索關(guān)鍵詞進(jìn)行預(yù)處理后,可以通過(guò)有相似搜索行為的用戶的興趣來(lái)預(yù)測(cè)該目標(biāo)用戶的興趣。
首先對(duì)雜亂的搜索記錄進(jìn)行預(yù)處理,包括去停用詞,取單詞詞干,去掉低頻的詞語(yǔ),這里經(jīng)過(guò)實(shí)驗(yàn)設(shè)定閾值為5。其次發(fā)現(xiàn)一部分用戶的產(chǎn)生搜索日志的時(shí)間跨度較大,其興趣也隨著時(shí)間有所變化,為了突出刻畫(huà)用戶的短期興趣,在計(jì)算每個(gè)關(guān)鍵詞權(quán)重時(shí)都乘上時(shí)間衰減因子,越久遠(yuǎn)的關(guān)鍵詞,則其權(quán)重越小。其次進(jìn)行降維處理后計(jì)算相似度。同樣獲取與該用戶最相似的K個(gè)用戶,用他們的興趣向量平均值來(lái)預(yù)測(cè)目標(biāo)用戶的興趣向量。
同時(shí),在實(shí)際工程中并不是固定推薦排名最高的論文,而是在推薦集合中(集合大小設(shè)為 20)隨機(jī)抽取推薦,增加結(jié)果的多樣性,提供更好的用戶體驗(yàn)。
Aminer: 我們采用的數(shù)據(jù)集是Aminer平臺(tái)上約4 100個(gè)用戶的用戶數(shù)據(jù)。需要的訓(xùn)練數(shù)據(jù)均需自己預(yù)處理得到。最后的數(shù)據(jù)集規(guī)模為,約4 768個(gè)參與人次,而所有的參與人次來(lái)源于其中30%的用戶。
Meetup: Meetup是一個(gè)廣泛使用的聚會(huì)活動(dòng)網(wǎng)站。我們通過(guò)Meetup API獲取了從2013到2016年在紐約舉辦的活動(dòng)數(shù)據(jù)。對(duì)每個(gè)活動(dòng),我們抓取了它的文本描述信息和參與者信息,共22 313個(gè)活動(dòng)和15 324個(gè)用戶,然后篩選不少于20人參加的聚會(huì)和參加不少于20個(gè)活動(dòng)的用戶,最后得到4 722個(gè)用戶和5 064個(gè)活動(dòng)。
Douban:豆瓣活動(dòng)是國(guó)內(nèi)使用廣泛的聚會(huì)網(wǎng)站。我們獲取了從2012至今在北京舉辦的活動(dòng)。然后篩選不少于20人參加的聚會(huì)和參加不少于20個(gè)活動(dòng)的用戶。最后獲得6 513用戶,5 326個(gè)活動(dòng)(共222 795個(gè)參與人次)。對(duì)于每個(gè)活動(dòng),我們同樣抓取了它的文本描述信息。
表1列出了數(shù)據(jù)集的信息。
表1 數(shù)據(jù)集信息
首先介紹兩個(gè)基本的個(gè)性化推薦算法,以做比較:
1) 基于用戶的協(xié)同過(guò)濾算法: 構(gòu)造用戶評(píng)級(jí)矩陣,通過(guò)相似用戶的評(píng)級(jí)信息,來(lái)預(yù)測(cè)目標(biāo)用戶對(duì)該物品的喜愛(ài)程度。
2) 基于物品的協(xié)同過(guò)濾推薦算法: 與基于用戶的協(xié)同過(guò)濾算法類似,該算法首先構(gòu)造物品評(píng)級(jí)矩陣,再通過(guò)相似物品的評(píng)級(jí)信息,來(lái)預(yù)測(cè)用戶對(duì)目標(biāo)物品的喜愛(ài)程度。
在推薦系統(tǒng)中,常常使用準(zhǔn)確率來(lái)刻畫(huà)返回結(jié)果的相關(guān)性。在返回的推薦條目中,希望包含盡可能多的相關(guān)結(jié)果。為了刻畫(huà)返回結(jié)果集的相關(guān)程度,用準(zhǔn)確率來(lái)定義相關(guān)文檔占總返回結(jié)果的比例,用召回率來(lái)定義相關(guān)文檔占總相關(guān)文檔的比例(這里指用戶已關(guān)注的論文集合)。因此,我們采用了以下幾種評(píng)估方法。
1) 準(zhǔn)確率(Prec): 表示正確推薦的數(shù)目在總推薦數(shù)中占有的比例。
2) 召回率(Rec): 表示正確推薦的數(shù)目在用戶相關(guān)集中所占的比例。
對(duì)比該項(xiàng)目算法和其他基礎(chǔ)算法在Aminer數(shù)據(jù)集上的表現(xiàn),如表2所示。
表2 推薦模型性能比較
通過(guò)表中數(shù)據(jù)可以看出在所有的模型中,該文的模型在準(zhǔn)確率,召回率和首位準(zhǔn)確率等評(píng)估指標(biāo)上較基本的推薦算法都取得了最好的表現(xiàn)。對(duì)比準(zhǔn)確率和召回率發(fā)現(xiàn),兩者并沒(méi)有相互制約,該文模型的準(zhǔn)確率和召回率均有上升。其中Prec@1表示推薦列表的第一位是否準(zhǔn)確,這個(gè)評(píng)估方法強(qiáng)調(diào)了推薦的排序。
同時(shí)發(fā)現(xiàn),使用混合模型比單一的協(xié)同推薦模型顯著提高了性能。提高的9%到14%,表明了詞向量模型的引入在推薦系統(tǒng)中的顯著作用。與使用余弦距離的方法三相比,采用WMD距離的推薦模型,即方法四,在Aminer數(shù)據(jù)集上,Prec@1,Prec@20, Rec@20分別顯著提高約4%, 3%和2%。在Meetup和Douban數(shù)據(jù)集上,Prec@1分別提高3%和4%。分析可知,該性能的提升,是因?yàn)樵谖谋鹃L(zhǎng)度比較短,單詞重合較少的情況下,WMD模型對(duì)于語(yǔ)義信息的捕捉優(yōu)于余弦相似度模型。
系統(tǒng)后端使用Scala語(yǔ)言實(shí)現(xiàn),推薦算法使用python實(shí)現(xiàn),周期性地離線運(yùn)行推薦算法,并將更新后的算法結(jié)果存儲(chǔ)到SSDB數(shù)據(jù)庫(kù)中。線上推薦則可通過(guò)直接索引,加以簡(jiǎn)單的邏輯就可實(shí)現(xiàn)。且效率高,反應(yīng)時(shí)間短。系統(tǒng)的界面如圖2所示, 提供了關(guān)注按鈕,以供用戶反饋。
圖2 推薦系統(tǒng)界面
本文基于深度學(xué)習(xí)在Aminer平臺(tái)上實(shí)現(xiàn)了個(gè)性化推薦算法,對(duì)注冊(cè)用戶進(jìn)行個(gè)性化論文推薦。在項(xiàng)目中,主要有以下創(chuàng)新。
1) 采用混合推薦的框架,將協(xié)同過(guò)濾和基于內(nèi)容的推薦相結(jié)合,相互彌補(bǔ)缺點(diǎn)。基于內(nèi)容的推薦可以推薦沒(méi)有任何評(píng)價(jià)數(shù)據(jù)的新論文,協(xié)同過(guò)濾可以充分利用用戶評(píng)價(jià)數(shù)據(jù)來(lái)挖掘用戶或是論文之間的相似性,推薦高質(zhì)量的論文。
2) 在基于內(nèi)容推薦的模塊中,創(chuàng)新性地提出了用文本距離度量用戶和論文的相似性,并引入了語(yǔ)言模型中最近廣泛使用的詞向量模型,最后通過(guò)WMD距離來(lái)衡量用戶和論文的文本距離。實(shí)驗(yàn)證明該算法的表現(xiàn)優(yōu)異。
效果上,本文混合推薦模型相較于基本的協(xié)同過(guò)濾模型,在Aminer, Meetup, Douban三個(gè)數(shù)據(jù)集上進(jìn)行驗(yàn)證,有明顯的提升。
[1] Bennett J, Lanning S. The Netflixprize[C]//Proceedings of KDD cup and workshop. 2007: 35.
[2] Linden G, Smith B, York J. Amazon.com recommendations: Item-to-item collaborative filtering[J]. IEEE Internet computing, 2003, 7(1): 76-80.
[3] Cai Y, Leung H, Li Q, et al. Typicality-based collaborative filtering recommendation[J].Knowledge and Data Engineering, 2014, 26(3): 766-779.
[4] Resnick P, Iacovou N, Suchak M, et al. GroupLens: an open architecture for collaborative filtering of netnews[C]//Proceedings of the 1994 ACM conference on Computer supported cooperative work. ACM, 1994: 175-186.
[5] Shepitsen A, Gemmell J, Mobasher B, et al. Personalized recommendation in social tagging systems using hierarchical clustering[C]//Proceedings of the 2008 ACM conference on Recommender systems. ACM, 2008: 259-266.
[6] Gong S. A collaborative filtering recommendation algorithm based on user clustering and item clustering[J]. Journal of Software, 2010, 5(7): 745-752.
[7] Pazzani M, Billsus D. Content-based recommendation systems[M]//Peter B, Alfred K. Wolfgang N. The adaptive web. New York: Springer, 2007: 325-341.
[8] Balabanovic M, Shoham Y. Fab: content-based, collaborative recommendation[J].Communications of the ACM, 1997, 40(3): 66-72.
[9] Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of the Advances in neural information processing systems. 2013: 3111-3119.
[10] Kusner M, Sun Y, Kolkin N, et al. From Word Embeddings To Document Distances[C]//Proceedings of the 32nd International Conference on Machine Learning. 2015: 957-966.
[11] Burke R. Hybrid web recommender systems[M]//Peter B, Alfred K. Wolfgang N.The adaptive web. New York: Springer, 2007: 377-408.
E-mail: jietang@tsinghua.edu.cn