国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于分布式表示技術(shù)的推薦算法綜述

2020-11-18 09:14胡學(xué)林艾山吾買爾
關(guān)鍵詞:冷啟動分布式向量

胡學(xué)林,艾山·吾買爾

新疆大學(xué) 軟件學(xué)院,烏魯木齊830008

1 引言

人類現(xiàn)實(shí)生活的需求推動著科學(xué)技術(shù)的發(fā)展進(jìn)步。近年來,先進(jìn)的電子元器件技術(shù)從學(xué)術(shù)研究到工業(yè)落地,發(fā)展迅速,通訊、存儲等互聯(lián)網(wǎng)關(guān)鍵基礎(chǔ)技術(shù)也在快速推進(jìn)。最直接的結(jié)果就是數(shù)據(jù)總量大幅度增長。預(yù)計(jì)在2025 年,全球數(shù)據(jù)總量將從2018 年的33 ZB 增至175 ZB。中國數(shù)據(jù)總量增速最為迅速,平均每年的增長速度比全球快3%。2018 年,中國數(shù)據(jù)總量占全球的23.4%,即7.6 ZB,在2025 年將達(dá)到48.6 ZB,占全球的27.8%[1-2]。這些數(shù)據(jù)中蘊(yùn)含著豐富的人類活動信息,巨大的潛在價(jià)值等待人們?nèi)ネ诰颉H绾螐倪@些豐富但又復(fù)雜的數(shù)據(jù)中提取出有用的信息成為一個(gè)關(guān)鍵難題,即如何應(yīng)對“信息過載”問題。推薦系統(tǒng)就是從海量的數(shù)據(jù)中,挖掘出用戶感興趣的項(xiàng)目(如商品、電影、音樂等),并推送給用戶[3-7]。

推薦系統(tǒng)的核心是推薦算法。傳統(tǒng)推薦算法一般可以分為基于內(nèi)容的推薦算法(Content-Based Filtering)[8]、協(xié)同過濾推薦算法(Collaborative Filtering)[9]和混合推薦算法(Hybrid Recommender)[10]等三類?;趦?nèi)容的推薦算法是利用用戶歷史交互過的項(xiàng)目去搜索與此項(xiàng)目具有相似屬性的項(xiàng)目作為推薦結(jié)果。這類方法原理簡單,推薦結(jié)果比較直觀,具有很好的可解釋性,相比協(xié)同過濾,不需要應(yīng)對數(shù)據(jù)稀疏[11]問題,但推薦的效果強(qiáng)依賴于高質(zhì)量的特征提取,因此一個(gè)好的基于內(nèi)容的推薦算法需要構(gòu)建豐富且有效的特征工程。使用協(xié)同過濾方法的推薦系統(tǒng)將從大量用戶歷史行為數(shù)據(jù)中統(tǒng)計(jì)出來的概率作為統(tǒng)計(jì)特征,進(jìn)行計(jì)算,得出結(jié)果。具體實(shí)現(xiàn)方法有矩陣因子分解[12]、奇異值分解[13]等,在其獲得良好成績的同時(shí),也面臨著數(shù)據(jù)稀疏的問題,尤其是在當(dāng)前大數(shù)據(jù)爆發(fā)的時(shí)代,一個(gè)用戶不可能和億萬級項(xiàng)目都存在交互行為,因而對應(yīng)的交互信息矩陣(如評分矩陣)會十分稀疏,并且還存在冷啟動問題(一個(gè)新用戶或新項(xiàng)目在系統(tǒng)中沒有任務(wù)歷史數(shù)據(jù))[14]。混合推薦系統(tǒng)為了緩解上述兩種方法中存在的數(shù)據(jù)稀疏和冷啟動的問題,通過融合多源異構(gòu)的特征信息(如用戶評價(jià)、項(xiàng)目標(biāo)簽等),組合不同的推薦算法進(jìn)行項(xiàng)目推薦。但這些特征信息的數(shù)據(jù)結(jié)構(gòu)不同,規(guī)模大小不等且分布不均勻[15],如何將這個(gè)多源異構(gòu)的特征信息有效融合也是混合推薦算法要解決的一個(gè)問題。

部分研究人員將分布式表示技術(shù)引入到推薦系統(tǒng)中,將推薦系統(tǒng)中的項(xiàng)目視為自然語言處理中的單詞,用戶日志中的行為記錄視為語料,通過分布式表示技術(shù)將項(xiàng)目表示成融入了用戶行為特征信息的向量,再進(jìn)行下一步的推薦工作?;诜植际奖硎炯夹g(shù)的推薦算法可以很好地應(yīng)對數(shù)據(jù)稀疏與冷啟動問題,且適用的推薦場景多樣。自2016年分布式表示技術(shù)首次被引入到推薦領(lǐng)域,基于分布式表示的推薦算法慢慢進(jìn)入到研究人員的視野。因其可以直接對用戶行為建模,國內(nèi)外各IT企業(yè)都紛紛嘗試引入了相關(guān)實(shí)現(xiàn)的推薦系統(tǒng)并部署于生產(chǎn),領(lǐng)域涵蓋電子商務(wù)、社交網(wǎng)絡(luò)、知識推送、文化娛樂等多類服務(wù),且具有良好的推薦效果。

2 傳統(tǒng)推薦算法

推薦系統(tǒng)最早在20世紀(jì)90年代提出,在文獻(xiàn)[16]中首次將推薦系統(tǒng)稱為“數(shù)字書架”。

推薦系統(tǒng)的任務(wù)對用戶給定的一個(gè)項(xiàng)目(音樂、電影等)進(jìn)行“評分”或“偏好行為”預(yù)測,或者是從一個(gè)巨大的項(xiàng)目集合,將“評分”或“偏好行為”較高的子集作為推薦結(jié)果推送給用戶,因此推薦系統(tǒng)也可以看作是信息過濾系統(tǒng)的一個(gè)子集[5]。一個(gè)推薦系統(tǒng)中算法模型可以定義為如下:

式(1)中,y^uv為模型的預(yù)測結(jié)果,θ 為模型參數(shù),u、v分別輸入的用戶(user)和項(xiàng)目(item)的信息,f 為模型參數(shù)映射到預(yù)測結(jié)果的函數(shù)。

傳統(tǒng)的推薦算法大致可以分為:基于內(nèi)容的推薦算法,協(xié)同過濾的推薦算法以及混合推薦算法。

2.1 基于內(nèi)容的推薦算法

基于內(nèi)容的推薦算法是利用用戶歷史交互過的項(xiàng)目去搜索與此項(xiàng)目具有相似屬性的項(xiàng)目作為推薦結(jié)果,在進(jìn)行推薦之前需要對用戶與項(xiàng)目進(jìn)行特征信息的提取,構(gòu)建出項(xiàng)目的特征信息與用戶畫像[6]?;趦?nèi)容的推薦方法非常適用于用戶信息不足但項(xiàng)目內(nèi)容豐富的場景,對于用戶可以不需要太多的信息,只需要用戶交互過項(xiàng)目,從這些項(xiàng)目中找出屬性相似或偏好程度較高的項(xiàng)目,并將這些交互項(xiàng)目與待觀測的項(xiàng)目進(jìn)行特征比對,找出相似度較高的項(xiàng)目進(jìn)行推薦。

該算法的主要優(yōu)點(diǎn)是對于新項(xiàng)目無需應(yīng)對冷啟動問題,不足之處在于對項(xiàng)目特征提取的依賴強(qiáng),但目前數(shù)據(jù)信息多源異構(gòu),如圖像、視頻數(shù)據(jù)的特征構(gòu)建成本高。基于內(nèi)容的推薦方法在一定程度上會制約推薦結(jié)果的多樣性與新穎性[17],因?yàn)槊看味紡南嗤捻?xiàng)目中獲取推薦結(jié)果,最終計(jì)算出來的推薦項(xiàng)目基本上差不多,沒有太大變化。

2.2 協(xié)同過濾的推薦算法

協(xié)同過濾的推薦算法是通過用戶對項(xiàng)目的交互行為,尋找用戶或物品的近鄰集合進(jìn)行推薦,是基于“過去同意的人將來也會同意,他們也會喜歡過去喜歡的類似項(xiàng)目”的假設(shè)[18],即用戶對之前項(xiàng)目的偏好行為,會影響到用戶對之后類似項(xiàng)目的行為。例如用戶對某首歌曲給出較高的評分,下次對類似歌曲也會不失一般性地給出較高的評分。協(xié)同過濾的方法主要分為基于內(nèi)存的協(xié)同過濾方法[19-21]與基于模型的協(xié)同過濾方法[22-25]。

基于內(nèi)存的方法使用用戶評分?jǐn)?shù)據(jù)來計(jì)算用戶與用戶之間或項(xiàng)目與項(xiàng)目之間的相似度,在實(shí)際應(yīng)用中可再細(xì)分為基于用戶的協(xié)同過濾方法[19]與基于項(xiàng)目的協(xié)同過濾方法[20]?;谀P偷膮f(xié)同過濾方法使用不同的機(jī)器學(xué)習(xí)算法來構(gòu)建模型,以預(yù)測用戶對未評分項(xiàng)目的評分。常見的協(xié)同過濾模型包括貝葉斯網(wǎng)絡(luò)[22]、聚類模型[23]、潛在語義模型(例如奇異值分解)[13]。

2.3 混合推薦算法

混合推薦算法是目前實(shí)際應(yīng)用最多的推薦方法,將協(xié)同過濾、基于內(nèi)容的過濾和其他方法結(jié)合在一起。根據(jù)各推薦算法混合時(shí)機(jī)的不同,混合推薦可以分為以下三類:

(1)分別進(jìn)行基于內(nèi)容的預(yù)測和基于協(xié)作的預(yù)測,然后將二者的預(yù)測結(jié)果再通過投票機(jī)制、線性組合等方式給出最終結(jié)果。

(2)將基于內(nèi)容的功能添加到協(xié)同過濾的方法中或者將協(xié)同過濾的方法引入到基于內(nèi)容的推薦方法中,即以一種推薦算法為基礎(chǔ),另一種推薦算法融入其中成為其功能的一部分。

(3)將多種推薦算法融入到一個(gè)統(tǒng)一的模型中,不分先后地將各類數(shù)據(jù)輸入到統(tǒng)一的模型中,產(chǎn)生推薦結(jié)果。

混合推薦可以利用自身多算法集成的優(yōu)勢,取長補(bǔ)短,有效地緩解冷啟動和數(shù)稀疏性問題。值得注意的是,隨著互聯(lián)網(wǎng)的普及以及社交媒體的快速發(fā)展,大量的用戶社交內(nèi)容可以被獲取,這些內(nèi)容豐富多樣,包括社會化關(guān)系、文本評論、標(biāo)簽信息、位置信息、音頻、視頻等。許多學(xué)者從這些內(nèi)容中提取可用的社會關(guān)系屬性信息作為輔助信息融入到推薦算法中,從而衍生了大量新的推薦算法,例如社交網(wǎng)絡(luò)推薦算法、知識感知的推薦算法[24-25]。

3 分布式表示技術(shù)理論

分布式表示技術(shù)(Distributed Representation)在自然語言處理中的一種具體實(shí)現(xiàn)就是詞嵌入。嵌入源自于數(shù)學(xué)領(lǐng)域中的一個(gè)專有名詞Embedding,在數(shù)學(xué)中,嵌入是指將一個(gè)對象X 映射到一個(gè)對象Y ,這樣一個(gè)映射過程就是嵌入。詞嵌入本質(zhì)上遵循離散分布假說(Distributional Hypothesis)[26-28],在語言學(xué)的角度,分布式假說是從語義層面衍生出來,即一個(gè)詞的意思可以由該詞的上下文表示,因?yàn)檎Z義相似的詞擁有相似的上下文。在自然語言處理中,詞嵌入就是將每個(gè)單詞嵌入到同一個(gè)語義向量空間中。其本質(zhì)是數(shù)學(xué)中嵌入,因此可以將這些詞向量通過一系列的數(shù)學(xué)計(jì)算得出一些想要的結(jié)果,例如通過余弦相似度(Cosine Similarity)可以得出在這個(gè)向量空間語義最相似的單詞。

如圖1 所示,常用的詞向量訓(xùn)練方法有連續(xù)詞袋模型(Continuous Bag-of-Words,CBOW)與跳詞模型(Skip-Gram)兩種,前者通過上下文去預(yù)測中心詞,后者通過中心詞去預(yù)測上下文[27-28]。本文主要以Skip-Gram為例,對分布表示技術(shù)理論進(jìn)行闡述。

圖1 CBOW與Skip-Gram結(jié)構(gòu)圖

Skip-Gram模型如下所示:

給定序列(w1,w2,…,wT),wi∈W,,Skip-Gram的目標(biāo)就是最大化式(2)的概率。其中,c 為訓(xùn)練時(shí)的上下文大小,wt是中心詞,P(wt+j|wt)表示wt出現(xiàn)的條件下wt+j出現(xiàn)的概率,即wt與wt+j的共現(xiàn)(Co-occurrences)概率。

式(3)使用Softmax 函數(shù)形式來定義標(biāo)準(zhǔn)的Skip-Gram概率公式P(wO|wI),|W|表示詞袋(Bag-of-Words)的大小,即單詞的總數(shù)量;v′表示輸出的向量,v 表示輸入向量。式(3)是理想情況下的概率,在現(xiàn)實(shí)中W 的數(shù)字太大(通常在105~107),直接以式(3)進(jìn)行計(jì)算,運(yùn)算成本高,因此會進(jìn)行簡化。簡化的方式就是降低訓(xùn)練過程中|W|的實(shí)際運(yùn)算數(shù)量。常用的方法包括分層Softmax(Hierarchical Softmax)和負(fù)采樣方法(Negative Sampling)。

(1)分層Softmax

如圖2 所示,二叉樹中有||W 個(gè)葉節(jié)點(diǎn),對應(yīng)詞袋W 中所有的單詞。樹中任一單詞w,可以通過一條合適的路徑到達(dá)根節(jié)點(diǎn)root,令n(w,j)為從root 到單詞w 的路徑上的第j 個(gè)節(jié)點(diǎn),L(w)為該路徑的長度,則n(w,1)=root,n(w,L(w))=w。

圖2 分層Softmax示意圖

對每個(gè)非葉節(jié)點(diǎn),設(shè)ch(n)為n 的某個(gè)固定的子節(jié)點(diǎn)(可以固定為右子節(jié)點(diǎn)或左子節(jié)點(diǎn)),則分層Softmax可以將P(wO|wI)重新定義如下:

分層Softmax 的計(jì)算效率和二叉樹的結(jié)構(gòu)緊密相關(guān),會直接影響模型的訓(xùn)練時(shí)間和準(zhǔn)確率。文獻(xiàn)[26]采用的是霍夫曼樹(Binary Huffman Tree)[29],因?yàn)樗鼘⒏哳l詞分配在離root節(jié)點(diǎn)更近的地方,加快訓(xùn)練的時(shí)間。

(2)負(fù)采樣

負(fù)采樣思想來源于噪聲對比估計(jì)(Noise Contrastive Estimation,NCE),即一個(gè)好的模型可以通過邏輯回歸的方式從噪聲數(shù)據(jù)(負(fù)樣例)中分辨出正確(正樣例)的數(shù)據(jù)[30]?;谶@個(gè)思想,引出類似的負(fù)采樣方法,從而將式(3)簡化為:

式(6)中,k 為負(fù)采樣的個(gè)數(shù)。Pn為噪音(noise)的分布。將被預(yù)測的詞稱為正例,被負(fù)采樣采集的詞稱為負(fù)例,如圖3所示。

圖3中,在標(biāo)準(zhǔn)的Skip-Gram算法中,單詞“進(jìn)行”除了與被預(yù)測的正例單詞“各個(gè)”“分議題”“討論”和“交流”進(jìn)行計(jì)算,還需要與單詞序列中其他所有的非正例單詞進(jìn)行計(jì)算,在基于負(fù)采樣方法簡化的式中,只需要與負(fù)例單詞“與會”“學(xué)者”和“指出”進(jìn)行計(jì)算。通過負(fù)采樣的方式,在模型訓(xùn)練過程,極大地減少了計(jì)算以及權(quán)值更新的范圍,降低了模型整體的訓(xùn)練時(shí)間。

4 基于分布式表示技術(shù)的推薦算法

所有基于分布式表示技術(shù)的推薦算法,基本思想都是一致的:將一個(gè)用戶的行為日志(如商品的瀏覽記錄、音樂的播放記錄、電影的觀看記錄、房源的預(yù)訂記錄等)視為一段自然的文本序列,采用自然語言處理中的詞嵌入方法,將這個(gè)序列中的項(xiàng)目(商品、音樂、電影、房源)映射成具有特定信息的空間向量,后續(xù)的推薦工作可以借用這些向量的空間相似性(如余弦相似性、歐氏距離等)進(jìn)行推薦計(jì)算。

與自然語言處理又有所不同,在任何一種語系(如漢語、英語)中,單詞數(shù)量基本是固定不變的(詞袋數(shù)量、語義等多方面),但在某個(gè)具體的推薦領(lǐng)域中(如電商、音樂),項(xiàng)目的數(shù)量、參數(shù)(大小規(guī)格、顏色外觀等)以及用戶與項(xiàng)目之間的交互行為都可以變化。因此在基于原來的詞嵌入技術(shù)的基礎(chǔ)上,在推薦算法建模的過程中,各類算法會根據(jù)具體的業(yè)務(wù)實(shí)際做調(diào)整以達(dá)到最好的推薦效果。

4.1 一般分布式表示推薦算法

一般分布式表示推薦算法在原有的模型上并沒有做太多的改變,除了調(diào)整部分采樣參數(shù)。實(shí)驗(yàn)證明基于分布式表示技術(shù)的語言模型可以應(yīng)用于推薦系統(tǒng)中,主要有Item2vec[31]以及Prod2vec[32],以及將BERT[33-34]模型引入到推薦領(lǐng)域的BERT4Rec[35]。

(1)Item2vec

文獻(xiàn)[31]將基于負(fù)采樣的Skip-Gram模型(Skip-Gram with Negative Sampling,SGNS)應(yīng)用在推薦系統(tǒng)中,分別將應(yīng)用軟件商城中的購買記錄以及用戶音樂收聽記錄序列視作自然語言處理中的文本序列,對于出現(xiàn)在同一集合中項(xiàng)目視為正例,其他項(xiàng)目視為負(fù)例。不考慮物品序列生成的時(shí)間前后順序,靜態(tài)地將在同一集合中出現(xiàn)的項(xiàng)目視為相似的項(xiàng)目。

不修改模型結(jié)構(gòu)的前提下,在訓(xùn)練時(shí)要將項(xiàng)目序列的順序打亂,增加噪聲,也因此忽略了詳細(xì)的用戶行為序列;與自然語言處理中相比,在模型訓(xùn)練參數(shù)的調(diào)整上,增大了式(5)負(fù)采樣的個(gè)數(shù)。Item2vec計(jì)算出的項(xiàng)目向量和SVD 算法得出的項(xiàng)目向量通過KNN 的聚類結(jié)果相比,同樣可用于項(xiàng)目的相似度比較,且Item2vec 的向量可以得出更好的聚類效果,說明相比傳統(tǒng)協(xié)同過濾的推薦算法,分布式表示算法可以學(xué)習(xí)得出更出色的表征向量。Item2vev算法的不足是:只簡單地利用了項(xiàng)目間的共現(xiàn)信息,因打亂了原始項(xiàng)目時(shí)序,從而忽略了用戶行為的序列信息。

(2)Prod2vec與Bagged-Prod2vec

文獻(xiàn)[32]提出Prod2vec 與Item2vec 的作法基本一致,只是數(shù)據(jù)集的類型有些差異。作者將視線轉(zhuǎn)移到電子郵件中的賬單收據(jù)和產(chǎn)品廣告中,通過用戶郵箱中帶有時(shí)間戳信息的郵件記錄來確定用戶行為序列。相比Item2vec,Prod2vec保留了原有的項(xiàng)目時(shí)序關(guān)系。

在Prod2vec算法中,假定用戶的一封郵件中的多個(gè)商品是相互獨(dú)立的,相當(dāng)于一封郵件中只有一個(gè)商品。但是在實(shí)際場景中,用戶會同時(shí)購買多個(gè)商品,也就是說一封郵件的賬單收據(jù)是由多個(gè)商品記錄構(gòu)成的,繼續(xù)使用Prod2vec無法應(yīng)對這種情況。因此,在Prod2vec的基礎(chǔ)上提出了Bagged-Prod2vec算法。Bagged-Prod2vec將商品序列建模提升到對郵件序列建模。商品表示向量可通過優(yōu)化以下目標(biāo)函數(shù)公式得到:

式(7)中,pmk表示第m 封郵件中接收到的第k 個(gè)產(chǎn)品;em+j表示第m+j 封郵件中所接收到的所有產(chǎn)品集合{pm+j,1,pm+j,2,…,pm+j,Tm} ,計(jì)算與第m 封郵件中第k個(gè)商品的上下文商品的概率為:

式(8)中,每個(gè)因子式都用式(9)形式計(jì)算,并采用負(fù)采樣的方法進(jìn)行簡化。Bagged-Prod2vec算法根據(jù)實(shí)際的業(yè)務(wù)場景,對原有模型做了適當(dāng)性的修改,讓屬于同一郵件的項(xiàng)目的表示向量在空間中距離更加接近,同時(shí)讓模型的復(fù)雜性變高,訓(xùn)練時(shí)長也增加了。

(3)BERT4Rec

圖3 負(fù)采樣示意圖

單向序列預(yù)訓(xùn)練模型是嚴(yán)格按照用戶行為發(fā)生的時(shí)間遞進(jìn)順序從左到右進(jìn)行訓(xùn)練,Prod2vec就是單向序列訓(xùn)練的。文獻(xiàn)[35]認(rèn)為單向序列預(yù)訓(xùn)練模型會限制用戶行為序列在用戶偏好捕捉工作上的發(fā)揮,采用雙向的項(xiàng)目向量預(yù)訓(xùn)練可以更好地學(xué)習(xí)用戶的行為特征。于是將BERT首次引入到了推薦任務(wù)中,提出BERT4Rec模型:給定用戶集合U={u1,u2,…,u|U|} ,項(xiàng)目集合V={v1,v2,…,v|U|}以及用戶行為序列BERT4Rec 模型旨在預(yù)測用戶u 與項(xiàng)目vu+1進(jìn)行交互的概率,可定義如下:

圖4 mask預(yù)測示意圖

對輸入序列,隨機(jī)將m 個(gè)項(xiàng)目進(jìn)行掩蓋(mask),利用上下文項(xiàng)目去預(yù)測被掩蓋的項(xiàng)目的概率。最終定義目標(biāo)損失函數(shù):

式中,s′u表示用戶行為序列的masked版本;就是被隨機(jī)掩蓋的項(xiàng)目集合;是被掩蓋的項(xiàng)目;是真實(shí)的項(xiàng)目。BERT4Rec相比前面幾類算法,模型結(jié)構(gòu)更加復(fù)雜,訓(xùn)練成本更高,通過左右兼?zhèn)涞厝ヮA(yù)測被掩蓋的項(xiàng)目,訓(xùn)練得出的項(xiàng)目表示向量在推薦過程中取得的效果更好。但因其模型過于復(fù)雜,所以不適用于線上的實(shí)時(shí)推薦。

4.2 引入全局上下文的分布式表示推薦算法

一般的分布式推薦算法并沒有考慮到下述實(shí)際應(yīng)用場景:用戶出于某種目的,在瀏覽了一系列項(xiàng)目后,會將感興趣的某個(gè)項(xiàng)目收藏或是直接購買,比如為了購買一雙鞋子,通常會瀏覽許多相類似的產(chǎn)品,最終才會選擇想要購買的商品。因此,除了預(yù)測同一集合中各項(xiàng)目之間的共現(xiàn)概率,還可以從這個(gè)集合中取出或設(shè)立一個(gè)關(guān)鍵的全局上下文,這個(gè)全局上下文每次都會參與預(yù)測,通過提升全局上下文與各目標(biāo)項(xiàng)目之間的相關(guān)性,更直接反映用戶行為特點(diǎn)。根據(jù)業(yè)務(wù)場景不同,引入不同全局上下文,并且在訓(xùn)練過程中,讓目標(biāo)的表示向量不斷地向全局上下文靠近,將二者在向量空間中的距離拉近,賦予目標(biāo)表示向量新的潛在信息。引入全局上下文的分布式表示推薦算法有User2vec[32]以及Listing Embeddings[37]等方法。

(1)User2vec

文獻(xiàn)[32]提出的User2vec 模型是將用戶向量設(shè)置為全局上下文,可以同時(shí)學(xué)習(xí)用戶和物品的向量表示。結(jié)構(gòu)如圖5所示。

圖5 User2vec結(jié)構(gòu)圖

如圖5所示,User2vec采用的是CBOW預(yù)訓(xùn)練模型,訓(xùn)練集同樣是用戶行為序列,序列由用戶un與其購買的商品序列(pn1,pn2,…,pnUn)組成。Un是用戶un購買的商品的數(shù)量。User2vec的目標(biāo)損失函數(shù)可以定義如下:

式(12)中,c 表示第n 個(gè)用戶的行為序列的上下文大小。第n 個(gè)用戶在購買了第i-c 至i+c 個(gè)商品,再購買第i 個(gè)商品的概率以Softmax函數(shù)的形式定義如下:

通過將用戶與項(xiàng)目同時(shí)嵌入到同一向量空間,從用戶的角度分析,用戶向量可以直接與項(xiàng)目向量進(jìn)行相似度進(jìn)行,從空間快速找出合適的項(xiàng)目進(jìn)行推薦;從項(xiàng)目的角度分析,某個(gè)用戶行為序列中不同項(xiàng)目向量在訓(xùn)練過程中會不斷與用戶向量靠近,讓學(xué)習(xí)得到的項(xiàng)目向量在空間中距離更接近。不足在于用戶行為多變,意味著用戶向量也要隨著變化,且重新計(jì)算的代價(jià)較高,不適用于線上實(shí)時(shí)推薦。

(2)Listing Embeddings

如圖6所示,不同于User2vec將用戶視為全局上下文,文獻(xiàn)[37]將用戶行為中最終預(yù)訂(或收藏)的項(xiàng)目作為全局上下文。根據(jù)具體的推薦業(yè)務(wù)場景特點(diǎn)對模型做出調(diào)整。應(yīng)用的推薦領(lǐng)域是旅游房源的訂購?fù)扑]。

圖6 Listing Embeddings結(jié)構(gòu)圖

根據(jù)業(yè)務(wù)場景的特殊性,一位游客從出發(fā)點(diǎn)前往目的地,一般情況下,他不會去瀏覽這兩個(gè)地點(diǎn)之外的旅館信息,因此在負(fù)采樣過程中,直接將目的地內(nèi)的房源視為正例,非目的地的房源視為負(fù)例,不能完全反映實(shí)際,因?yàn)楝F(xiàn)實(shí)場景是非目的地的房源在一段用戶瀏覽的房源序列中,出現(xiàn)在序列的幾率不高。因此在負(fù)采樣的過程中,負(fù)例樣本也應(yīng)該來源同一目的地。

最終的優(yōu)化目標(biāo)可以表示為:

Listing Embeddings在原來的語言模型上的改動并不大,更多地是貼合現(xiàn)實(shí)中的用戶消費(fèi)場景,在訓(xùn)練數(shù)據(jù)集上保留了真實(shí)的交互場景,訓(xùn)練過程中,通過將用戶的最終預(yù)訂或收藏的項(xiàng)目視為全局上下文,讓用戶交互的項(xiàng)目向全局上下文靠攏,以此捕獲用戶潛在的偏好信息。模型的復(fù)雜性不高,且實(shí)驗(yàn)效果貼近于生產(chǎn)實(shí)際,適用于線上的實(shí)時(shí)推薦。

4.3 引入元信息的分布式表示推薦算法

目前,在推薦系統(tǒng)中出現(xiàn)了一個(gè)新的項(xiàng)目,這個(gè)項(xiàng)目并沒有任何的交互行為,即遭遇了“冷啟動”問題。在這種情況下,引入元信息的分布式表示推薦算法考慮到不論是項(xiàng)目還是用戶,在推薦過程中,都具有各自的元信息,如用戶的年齡、職業(yè)、性別、收入情況等,在對用戶行為序列建模的同時(shí),加入了用戶或項(xiàng)目的元信息。這樣不僅可以豐富表示向量包含的信息,還可以應(yīng)對冷啟動問題。在用戶或項(xiàng)目無任何歷史記錄的前提下,可以將項(xiàng)目的元信息表示向量拼接成一個(gè)項(xiàng)目表示向量,去做相應(yīng)的推薦工作。這類方法有Meta-Prod2vec[38]以及User-type & Listing-type Embeddings[37]。

(1)Meta-Prod2vec

針對下列問題:

①給定當(dāng)前的訪問對象p(類屬于c),下一個(gè)訪問的對象p′,可能是同樣類屬于c。

②給定當(dāng)前的類別c,下一個(gè)訪問的對象p,可能是同樣類屬于c,也可能類屬于相似類別c′,如:購買了泳衣,下一個(gè)購買的是防曬霜,二者完全不屬于同一類別,但很接近。

③給定當(dāng)前的訪問對象項(xiàng)目p,下一個(gè)訪問對象的可能類屬于c,或相似類別c′。

④給定當(dāng)前的類別c,被訪問的當(dāng)前對象可能是p或p′。

文獻(xiàn)[38]提出了Meta-Prod2vec算法,在建模過程中將元信息也考慮進(jìn)去,將商品和元信息共同嵌入到用戶興趣空間中,結(jié)構(gòu)如圖7 所示。Meta-Prod2vec 算法對Prod2vec算法的損失函數(shù)進(jìn)行了擴(kuò)展:

式(16)中,λ={λM|I,λJ|M,λM|M,λI|M}是正則化的超參數(shù)集合,LM|I、LJ|M、LM|M、LI|M是針對上述四種未考慮到的場景而引入的目標(biāo)損失函數(shù),都采用加權(quán)的交叉熵(Weighted Cross-Entropy)方式計(jì)算,加權(quán)就是指前面的超參數(shù)λ。

圖7 Meta-Prod2vec結(jié)構(gòu)圖

LM|I:給定輸入商品I ,輸入商品I 的上下文商品元信息的條件概率與計(jì)算得出的商品元信息的條件概率的加權(quán)交叉熵。

LJ|M:給定輸入商品的元信息M ,輸入商品的上下文商品條件概率與計(jì)算出的上下文商品的條件概率的加權(quán)交叉熵。

LM|M:給定輸入商品的元信息M ,輸入商品的上下文商品元信息的條件概率與計(jì)算出的上下文商品元信息的條件概率的加權(quán)交叉熵。

LI|M:給定輸入商品的元信息M ,輸入的商品ids的條件概率與計(jì)算得出的商品ids 的條件概率的加權(quán)交叉熵。與上述三種損失不同,LI|M并不會去預(yù)測上下文,而是商品I 的元信息M 去預(yù)測商品本身I 。

對于式(16)中LJ|I的計(jì)算同樣采用基于負(fù)采用的Skip-Gram模型(SGNS)的方法:

式(18)中,PD是負(fù)采樣中的負(fù)例樣本的概率分布,k 是負(fù)例樣本的個(gè)數(shù)。 LM|I、LJ|M、LM|M、LI|M的計(jì)算與LJ|I類似,采用同樣的公式。

Meta-Prod2vec 將項(xiàng)目的元信息作為輔助信息,與項(xiàng)目本身進(jìn)行聯(lián)合訓(xùn)練,在對用戶行為序列建模的同時(shí),還考慮了項(xiàng)目自身的屬性特征,豐富了項(xiàng)目的表示向量。并且在訓(xùn)練過程考慮到不同元信息的影響引入了不同的權(quán)重,實(shí)驗(yàn)結(jié)果證明了不論在冷啟動還是一般的推薦場景下,Meta-Prod2vec 方法的效果都要比Prod2vec好,且適用于實(shí)時(shí)推薦。

(2)User-type & Listing-type Embeddings

文獻(xiàn)[37]認(rèn)為,除了可以將項(xiàng)目的多個(gè)元信息分別做向量映射,如一間旅館有地區(qū)、價(jià)格區(qū)間、床位數(shù)量、洗手間數(shù)量等,對這些元信息進(jìn)行映射,把一個(gè)項(xiàng)目的向量用其對應(yīng)的數(shù)個(gè)元信息向量拼接而成。同理,用戶的向量也可以通過同樣的方式進(jìn)行訓(xùn)練得到,并且可以將二者嵌入到同一個(gè)向量空間中,共同應(yīng)對冷啟動問題。這樣不管是新添加的項(xiàng)目,還是新注冊的用戶,都可以使用元信息拼接成的表示向量進(jìn)行推薦。

4.4 圖嵌入推薦算法

上述分布式表示的推薦算法,所應(yīng)對數(shù)據(jù)的結(jié)構(gòu)都是一維的項(xiàng)目序列,當(dāng)遇到社交網(wǎng)絡(luò)這一類以圖作為數(shù)據(jù)結(jié)構(gòu)推薦場景[39]時(shí),直接使用分布式表示方法顯然不行。此節(jié)所討論的圖嵌入推薦算法是將圖(如社交網(wǎng)絡(luò))中節(jié)點(diǎn)映射成一個(gè)低維向量,采取的方法也是分布式嵌入方法。具體過程如圖8所示。

圖8 圖嵌入示意圖

圖(a)給定圖G=(V,E),V 是節(jié)點(diǎn)集合,表示數(shù)據(jù)對象,E 是邊集合,表示兩個(gè)數(shù)據(jù)對象之間的關(guān)系[39]。

圖(b)根據(jù)一定的規(guī)則遍歷圖中鄰接節(jié)點(diǎn),生成節(jié)點(diǎn)序列。

圖(c)通過分布式嵌入方法將圖中的節(jié)點(diǎn)映射成一個(gè)低維的表示向量。

圖(d)中所有節(jié)點(diǎn)都會被嵌入到一個(gè)連續(xù)的多維空間中,在圖中關(guān)聯(lián)密切的節(jié)點(diǎn)在空間中距離也會更近。

常見的基于分布式表示技術(shù)的圖嵌入推薦算法有DeepWalk[40]、Node2vec[41]、LINE[42]、EGES[43]等。

(1)DeepWalk

DeepWalk 算法從社交網(wǎng)絡(luò)中某一節(jié)點(diǎn)出發(fā),隨機(jī)游走較短的步數(shù),生成節(jié)點(diǎn)序列。然后采用分布式嵌入算法將社交關(guān)系映射到一個(gè)連續(xù)的向量空間中,每個(gè)節(jié)點(diǎn)會有對應(yīng)的低維向量,相應(yīng)地,在社交網(wǎng)絡(luò)中相鄰的節(jié)點(diǎn),在向量空間中的向量距離也比較近。文獻(xiàn)[40]對于隨機(jī)游走生成的項(xiàng)目序列是否可以使用Word2vec的方法進(jìn)行訓(xùn)練,給出了合理解釋。

如圖9 所示,(a)是YouTube 網(wǎng)站的社交網(wǎng)絡(luò)中,通過“隨機(jī)游走”方式生成的短序列中的頂點(diǎn)的冪等分布;(b)是維基百科中自然文本中單詞的冪等分布。隨著二者樣本數(shù)量逐步攀升,圖中二者的分布也驅(qū)向近似。圖中直觀地表明了通過隨機(jī)游走方式生成的序列符合自然文本的分布,可以直接使用分布式嵌入算法進(jìn)行建模。

圖9 冪等分布圖

相比其他非分布式表示的圖節(jié)點(diǎn)向量表示的方法,DeepWalk 可以通過無監(jiān)督的訓(xùn)練方式,即在訓(xùn)練時(shí)把節(jié)點(diǎn)表示向量與對應(yīng)標(biāo)簽的關(guān)聯(lián)切斷,得到更加通用的表示向量,可以避免錯誤的傳遞[44]。并且在訓(xùn)練過程可以采用并行隨機(jī)游走的方式提高模型的整體運(yùn)算效率。不足在于只是簡單地隨機(jī)生成序列,在此過程中并沒有關(guān)注生成的序列與圖中結(jié)構(gòu)的相關(guān)性,即對于圖結(jié)構(gòu)的采樣工作可以更加深入。

(2)LINE

圖10中,節(jié)點(diǎn)6與節(jié)點(diǎn)7是直連,稱為一階相關(guān),但節(jié)點(diǎn)5 和節(jié)點(diǎn)6 并沒有直連,卻存在許多共同的鄰接節(jié)點(diǎn),即節(jié)點(diǎn)5和節(jié)點(diǎn)6的鄰接網(wǎng)絡(luò)結(jié)構(gòu)是相似的,稱為二階相關(guān)。DeepWalk 只關(guān)注了二階相關(guān)性,即目標(biāo)節(jié)點(diǎn)與上下文之間的關(guān)聯(lián),文獻(xiàn)[42]提出的LINE 在計(jì)算某個(gè)節(jié)點(diǎn)的表示向量時(shí),還考慮了一階相關(guān)性。為此LINE中讓每個(gè)節(jié)點(diǎn)充當(dāng)兩個(gè)角色,一個(gè)其是本身,另一個(gè)表示作為其他節(jié)點(diǎn)的上下文節(jié)點(diǎn)。

圖10 節(jié)點(diǎn)相關(guān)性示意圖

對任一邊e=(i,j),其一階相關(guān)度為:

式(19)定義了條件分布P1(·|·)。而兩個(gè)節(jié)點(diǎn)的經(jīng)驗(yàn)分布為,為了保證一階相關(guān)性,條件概率可盡可能靠近經(jīng)驗(yàn)分布,因此目標(biāo)函數(shù)是使二者距離接近,最終在LINE 中采用了KL散度來定量二者的距離:

對任一邊e=(i,j),其二階相關(guān)度由節(jié)點(diǎn)vi生成節(jié)點(diǎn)vj的概率表示為:

其中|V|是上下文節(jié)點(diǎn)數(shù)量,對于任一節(jié)點(diǎn),定義了條件分布P2(·|vi)。同樣為了保證二階相關(guān)性,條件概率可盡可能靠近經(jīng)驗(yàn)分布為兩節(jié)點(diǎn)之間的一階相關(guān)度(聯(lián)接權(quán)重)。通過最小化二者的KL散度,可以確定最終的優(yōu)化目標(biāo)函數(shù):

在優(yōu)化目標(biāo)函數(shù)的訓(xùn)練過程中,可以得出節(jié)點(diǎn)的特征表示。

在時(shí)間效率上,一般的圖嵌入算法[45-48]的運(yùn)算時(shí)間至少是O(| V|2),|V|2為節(jié)點(diǎn)個(gè)數(shù)。LINE的時(shí)間復(fù)雜度為O(dK|E|),d 為向量的維度,K 為序列中負(fù)采樣的個(gè)數(shù),| E|為圖中合法的邊數(shù),當(dāng)圖中的節(jié)點(diǎn)數(shù)量越大,LINE 算法的時(shí)間效率優(yōu)勢更加明顯。相比DeepWalk,在圖的整體關(guān)聯(lián)度,LINE考慮得更全面,獲得的表示向量包含的信息更豐富,且適用于各種圖結(jié)構(gòu)。

(3)Node2vec

文獻(xiàn)[41]將圖視為一個(gè)文檔,節(jié)點(diǎn)就是里面的文字,如何生成能夠反映圖結(jié)構(gòu)的文本序列是至關(guān)重要的,如圖8(a)所示,采用DFS方式生成的序列,可以反映子圖的同構(gòu)性[49],而采用BFS 方式生成的序列,可以反映子圖的同質(zhì)性[50-51],兩種方式生成的節(jié)點(diǎn)序列都可以蘊(yùn)含圖的結(jié)構(gòu)信息。Node2vec 中提出一種啟發(fā)式游走方法,在游走過程中引入兩個(gè)參數(shù)p 和q,來控制游走的方向,同時(shí)兼顧兩種方式,以獲得更佳的節(jié)點(diǎn)序列。

如圖11 所示,從節(jié)點(diǎn)t(起始節(jié)點(diǎn))走到了節(jié)點(diǎn),現(xiàn)在要決定下一個(gè)節(jié)點(diǎn)的走向。為每個(gè)節(jié)點(diǎn)分配一個(gè)游走概率πvx=αpq(t,x)·wvx,wvx是節(jié)點(diǎn)間的權(quán)重。

圖11 啟發(fā)示游走示意圖

其中,dtx表示節(jié)點(diǎn)t 到節(jié)點(diǎn)x 的最短路徑,且值域僅為{0,1,2}。如 圖11 中,dtx1=1 ,dtx2=dtx3=2 ,而dtv=0,因其已被訪問過了。

對于返回參數(shù)p,控制游走是否回退,取p >max(q,1),可以確保游走到一個(gè)未訪問過節(jié)點(diǎn),取p <max(q,1),則會游走回退;對于出-入?yún)?shù)q,當(dāng)q >1 時(shí),下一次游走會選擇離t 更近的節(jié)點(diǎn),讓游走方式近似BFS,當(dāng)q <1 時(shí),下一次游走會選擇離t 更遠(yuǎn),游走更近似DFS。當(dāng)q 值變化,游走的方式也會跟著變化,當(dāng)q=1,p=1 時(shí),Node2vec退化成DeepWalk。

Node2vec 借用游走參數(shù)控制序列的生成順序,相比單一使用DFS 或者BFS 進(jìn)行序列生成,Node2vec 可以保留更豐富的節(jié)點(diǎn)鄰域信息。在訓(xùn)練過程中可以通過手工設(shè)置p 和q 兩個(gè)參數(shù)來調(diào)整模式的關(guān)注點(diǎn),相比DeepWalk 和LINE 提高了自身的靈活度以及在不同推薦場景的適應(yīng)性。例如在社交網(wǎng)絡(luò)的場景下,更強(qiáng)調(diào)子圖的同質(zhì)性,可以調(diào)大q 值;在文本引用的場景,更強(qiáng)調(diào)子圖的同構(gòu)性,可以調(diào)小q 值。

(4)GES與EGES

在圖嵌入算法中,如果在圖中新增了一個(gè)節(jié)點(diǎn),此節(jié)點(diǎn)沒有任何的交互記錄,該如何應(yīng)對呢?為此文獻(xiàn)[43]在DeepWalk 的基礎(chǔ)上,提出了GES(Graph Embedding with Side Information)模型。在模型中引入了項(xiàng)目的元信息作為輔助信息,對于一個(gè)新項(xiàng)目,可以通過項(xiàng)目的元信息獲得對應(yīng)的表示向量,以應(yīng)對冷啟動問題。在給定W 為項(xiàng)目或輔助信息的向量矩陣,表示項(xiàng)目v的表示向量,表示項(xiàng)目v 第s 類輔助信息的表示向量,則一個(gè)擁有n 類輔助信息的項(xiàng)目v 由n+1 個(gè)向量構(gòu)成,對項(xiàng)目v 的最終表示向量為:

式(24)中就是把項(xiàng)目本身的表示向量與它的元信息表示向量取均值。這樣,對一個(gè)不存在任務(wù)交互行為的新項(xiàng)目,可以根據(jù)它的部分輔助信息確定其表示向量。如圖12 所示,對于一個(gè)新項(xiàng)目,可以從含有相同元信息(如類型、品牌、商家)的類似項(xiàng)目中借用它們的元信息向量用作自己的表示向量。

圖12 項(xiàng)目冷啟動示意圖

EGES(Enhanced Graph Embedding with Side Information)考慮到GES對于所有輔助信息都是統(tǒng)一對待,但實(shí)際是同一項(xiàng)目的不同輔助信息在不同的用戶行為上下文中,所占的權(quán)重應(yīng)該是不同的。比如在現(xiàn)實(shí)中,用戶A買了一部蘋果手機(jī),會根據(jù)蘋果這個(gè)品牌去瀏覽蘋果筆記本或平板電腦,對于另外同樣買了一部蘋果手機(jī)的用戶B,他會因?yàn)閮r(jià)格問題選擇瀏覽價(jià)位更低的其他品牌的筆記本或平板,用戶A 的行為,受品牌這一個(gè)元信息的影響多一些,用戶B 的行為,受價(jià)格這一元信息的影響多一些。因此EGES 為不同的輔助信息分配不同的權(quán)重,表示第v 個(gè)項(xiàng)目的第s 類輔助信息的權(quán)重,一個(gè)項(xiàng)目的表示向量為:

相比其他的圖嵌入方法,GES和EGES使用項(xiàng)目的元信息作為輔助信息除了可以應(yīng)對冷啟動問題,在訓(xùn)練過程還保留了用戶行為的潛在信息,并考慮到實(shí)際用戶消費(fèi)場景,做了權(quán)重調(diào)整,可以全面地學(xué)習(xí)到不同用戶的行為信息。

5 基于分布式表示的推薦算法的總結(jié)與展望

第4 章詳細(xì)介紹了幾類經(jīng)典的分布式表示算法的原理及其可以應(yīng)對的實(shí)際場景,本章將通過以下三個(gè)問題對基于分布式表示的推薦算法進(jìn)行總結(jié)。

5.1 分布式表示推薦算法在推薦領(lǐng)域的主要現(xiàn)存問題上的表現(xiàn)

在推薦領(lǐng)域中,一直存在著數(shù)據(jù)總量大、數(shù)據(jù)稀疏、冷啟動等關(guān)鍵問題。如表1所示,文中提及的算法采用的數(shù)據(jù)集量較大且都存在著嚴(yán)重的數(shù)據(jù)稀疏問題,部分算法所采用的數(shù)據(jù)集考慮到用戶信息安全隱去了用戶的信息。面對數(shù)據(jù)總量大、數(shù)據(jù)稀疏問題,文中描述的各類算法都取得了不錯的效果,面對數(shù)據(jù)量不大的圖結(jié)構(gòu)(如PPI數(shù)據(jù)集),分布式表示推薦算法同樣可以應(yīng)用。

為了應(yīng)對冷啟動問題,分布式表示推薦算法將項(xiàng)目或用戶的元信息作為輔助信息,借用元信息的表示向量去生成一個(gè)新項(xiàng)目的表示向量,進(jìn)行推薦計(jì)算,可以有效應(yīng)對冷啟動問題。與傳統(tǒng)的基于內(nèi)容的推薦算法相比,二者都可以應(yīng)對冷啟動問題,前者的優(yōu)勢在于元信息的表示向量在學(xué)習(xí)過程中融入了用戶的行為信息,適合于實(shí)時(shí)的推薦場景。

5.2 與傳統(tǒng)推薦算法相比的優(yōu)勢

協(xié)同過濾的推薦方法也可以看作是類嵌入方法,通過矩陣分解技術(shù)將原來用戶和項(xiàng)目的交互矩陣,分解成用戶特征矩陣和項(xiàng)目特征矩陣兩個(gè)矩陣,最終將用戶和項(xiàng)目嵌入到低維空間中,通過用戶特征向量和項(xiàng)目特征向量的內(nèi)積來計(jì)算用戶對項(xiàng)目的偏好,亦或是通過向量間的相似度來排序得出推薦列表?;诜植际郊夹g(shù)推薦算法是通過淺層的神經(jīng)網(wǎng)絡(luò)訓(xùn)練,將同一行為序列中的項(xiàng)目嵌入到一個(gè)低維連續(xù)的向量空間,也可以同時(shí)將用戶和項(xiàng)目嵌入到空間中得出表示向量,再進(jìn)行后續(xù)的推薦工作。

后者在功能上的優(yōu)勢在于,不僅關(guān)注了用戶對項(xiàng)目的正向交互行為(如點(diǎn)擊、瀏覽、收藏、評分等),同時(shí)對用戶的負(fù)向行為(如拒絕、不喜歡等)也進(jìn)行了學(xué)習(xí),體現(xiàn)在向量空間中就是:負(fù)向的交互項(xiàng)目與正向的交互項(xiàng)目在空間距離上的相互遠(yuǎn)離??梢杂行У乇苊饬藶橛脩糁貜?fù)推薦之前不喜歡的項(xiàng)目,這是傳統(tǒng)的協(xié)同過濾方法沒有關(guān)注的。

協(xié)同過濾另一個(gè)缺陷是不適應(yīng)數(shù)據(jù)快速更新的推薦領(lǐng)域,如新聞推薦等,因新聞總是在快速更新,傳統(tǒng)的協(xié)同過濾無法對新數(shù)據(jù)產(chǎn)生足夠快的響應(yīng),導(dǎo)致其不適用于線上的實(shí)時(shí)推薦[52]。相比之下,后者可以學(xué)習(xí)用戶行為發(fā)生的時(shí)序關(guān)系,在訓(xùn)練時(shí),使同一時(shí)刻內(nèi)的若干交互項(xiàng)目的空間距離接近,時(shí)序間隔大的項(xiàng)目空間距離疏遠(yuǎn),讓項(xiàng)目的表示向量包含了用戶潛在的行為時(shí)序信息,可以快速對用戶的新行為做出響應(yīng),適用于當(dāng)前實(shí)時(shí)變化的推薦場景[32,37-38],這不僅存在于新聞推薦方面,在電商、短視頻推薦等用戶交互頻繁的場景更是如此。

表1 算法數(shù)據(jù)集及應(yīng)用場景

傳統(tǒng)的基于內(nèi)容的推薦算法,一個(gè)核心特點(diǎn)是可以緩解冷啟動問題,一個(gè)新項(xiàng)目根據(jù)它的屬性信息也可以參與推薦,具有很好的可解釋性,但依賴于前期高效的特征工程。引入元信息的分布式表示推薦算法可以在對用戶行為序列建模的時(shí)候,將項(xiàng)目或用戶的元信息也融入其中,這種方式不需要對現(xiàn)有的語言模型做太多的修改,在有效應(yīng)對冷啟動問題的同時(shí)還在元信息的層面學(xué)習(xí)用戶的行為信息。在實(shí)際的電商場景中,用戶購買了智能手機(jī)后,接著感興趣的商品卻不再是手機(jī),而是手機(jī)的相關(guān)配件,比如手機(jī)殼、貼膜等。一般的基于內(nèi)容的推薦算法不能學(xué)習(xí)這種用戶行為,下次推薦的更大概率還是帶有相同標(biāo)簽的手機(jī),但后者可以應(yīng)對這種不同類型變換的交互場景,如文獻(xiàn)[43]所描述,還可以通過權(quán)重來擬合用戶的行為方式,得出更佳的推薦效果。

應(yīng)對推薦領(lǐng)域中圖結(jié)構(gòu)的信息處理,分布式表示技術(shù)也有著不錯的表現(xiàn),相比其他的圖節(jié)點(diǎn)表示算法,基于分布式表示技術(shù)的圖嵌入算法在時(shí)間效率上得到了提升,這對于當(dāng)下數(shù)據(jù)大幅增長的環(huán)境是很重要的。隨著圖節(jié)點(diǎn)的不斷增加,其他圖算法的時(shí)間復(fù)雜度是指數(shù)級上漲,圖嵌入算法只是線性提升,這極大地縮短了模型的計(jì)算時(shí)間。在不同的應(yīng)用場景下,圖嵌入方法靈活調(diào)整自身的表示向量內(nèi)容,可以應(yīng)對常規(guī)圖算法無法解決的冷啟動問題,在推薦效果上也比其他算法要好[41-43]。

5.3 分布式表示算法的下一步發(fā)展

分布式表示算法得出更好的推薦結(jié)果,證明了基于分布式表示的推薦算法在推薦領(lǐng)域中的有效性和先進(jìn)性。對于基于分布式表示的推薦算法還有以下幾個(gè)方向值得探討研究:

(1)算法在不同場景下的適應(yīng)性調(diào)整。從上述幾種算法中都可以看出,起始只是純粹地將詞向量方法引入到推薦系統(tǒng)中,沒有做改動,到后來,研究人員會根據(jù)實(shí)際的業(yè)務(wù)場景,以及推薦的具體領(lǐng)域做出相應(yīng)的調(diào)整,不僅在靜態(tài)的歷史數(shù)據(jù)中取得了較高的準(zhǔn)確率,推薦廠商將相關(guān)推薦系統(tǒng)部署到生產(chǎn),對每日實(shí)時(shí)更新的數(shù)據(jù)進(jìn)行線上評測,線上的效果甚至比線下的效果更好。目前,在一些文娛休閑、電商消費(fèi)推薦領(lǐng)域,已經(jīng)有了較為深入的研究工作,但是在金融保險(xiǎn)、車輛銷售等推薦周期更長的領(lǐng)域可以繼續(xù)開展工作。

(2)與其他深度學(xué)習(xí)方法結(jié)合。隨著深度學(xué)習(xí)在圖形圖像、語音、文本處理等多領(lǐng)域均取得長足的進(jìn)展,許多研究人員也將深度學(xué)習(xí)引入推薦系統(tǒng)中,以期提高系統(tǒng)各項(xiàng)性能并解決存在的問題。基于分布式表示技術(shù)本身也是一種深度學(xué)習(xí)方法,用于對用戶行為序列進(jìn)行建模,得出項(xiàng)目的隱表示。后期工作可以探索與更多的深度學(xué)習(xí)模型結(jié)合,達(dá)到更好的推薦效果。

(3)新的推薦系統(tǒng)架構(gòu)。目前許多從事自然語言處理工作的科研單位都開源自身在詞向量預(yù)訓(xùn)練實(shí)驗(yàn)中得出的詞向量結(jié)果,其涵蓋世界上各類語種,可以提供給其他科研單位或個(gè)人進(jìn)行后續(xù)的科學(xué)研究或工程實(shí)現(xiàn)。但是在推薦系統(tǒng)中,不同推薦領(lǐng)域的項(xiàng)目表示向量多有不同,且部分向量可能還包含了用戶的隱私信息,因此要像詞向量那樣直接公開存在多方面挑戰(zhàn)。目前正在興起的數(shù)據(jù)聯(lián)邦[53-55]等技術(shù)平臺支持,讓其變得有可能,為應(yīng)對系統(tǒng)啟動以及跨域推薦提供了思路。如在電商領(lǐng)域,可以將部分商品經(jīng)過預(yù)訓(xùn)練得到表示向量,對于新上線的同類型的推薦系統(tǒng),可以直接采用這個(gè)向量對用戶進(jìn)行推薦,從而有效應(yīng)對了系統(tǒng)冷啟動問題。

6 結(jié)束語

推薦系統(tǒng)是解決信息過載問題的有效工具,核心在于所采用的推薦算法,而一個(gè)推薦算法的核心就是正確地捕捉到用戶興趣。高效的推薦算法能夠幫助用戶節(jié)約信息檢索時(shí)間,提供更好的用戶體驗(yàn),增強(qiáng)用戶的“黏性”。傳統(tǒng)的推薦算法在當(dāng)前數(shù)千萬乃至數(shù)億用戶量的場景下的推薦效果相形見拙。本文所綜述的基于分布式表示技術(shù)的推薦算法,通過對用戶的行為序列建模,將項(xiàng)目映射到用戶潛在的興趣空間中,得出項(xiàng)目的表征向量,再進(jìn)行后續(xù)的推薦工作,取得很好的效果。本文對主要幾種推薦算法進(jìn)行比較總結(jié),對基于分布式表示技術(shù)的推薦算法的發(fā)展進(jìn)行展望,為后續(xù)相關(guān)研究工作提供參考。

猜你喜歡
冷啟動分布式向量
輕型汽油車實(shí)際行駛排放試驗(yàn)中冷啟動排放的評估
向量的分解
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
基于學(xué)習(xí)興趣的冷啟動推薦模型
聚焦“向量與三角”創(chuàng)新題
分布式光伏熱錢洶涌
分布式光伏:爆發(fā)還是徘徊
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
基于DDS的分布式三維協(xié)同仿真研究