劉 凱
(寧夏醫(yī)科大學(xué) 網(wǎng)絡(luò)信息中心,寧夏 銀川 750001)
推薦系統(tǒng)和內(nèi)容個(gè)性化在目前的在線Web服務(wù)中扮演著越來越重要的角色。其中,有一個(gè)常見難題就是很多Web服務(wù)致力于找到用戶需要的最相關(guān)內(nèi)容,來為用戶減少查詢時(shí)間。當(dāng)前的研究中,對(duì)于此問題常常使用協(xié)同過濾方法,如將用戶先前在Web站點(diǎn)中的交互歷史保存,之后通過一定的預(yù)測(cè)模型來推薦相關(guān)內(nèi)容[1-5];另一種常見的方法是使用基于內(nèi)容的推薦算法[6-7],將用戶與內(nèi)容之間的特征進(jìn)行相似性匹配,之后通過相似度來推薦新的條目。隨著用戶對(duì)于個(gè)性化和推薦質(zhì)量的要求的提高,這種固化的算法有明顯的局限性,兩種傳統(tǒng)的方法難以提供高質(zhì)量的推薦內(nèi)容。為了構(gòu)建用戶特征,本研究從用戶瀏覽和搜索的所有歷史中,提取具有聚類特點(diǎn)的特征來描述用戶的搜索趨向。這種方法潛在的假設(shè)是,用戶在線活動(dòng)歷史反映了大量用戶特有的背景和偏好,具有個(gè)性化特點(diǎn)。
因此,為了解決以上兩種傳統(tǒng)方法的局限性,提出了一種使用多視角深度學(xué)習(xí)方法,利用用戶和項(xiàng)目的特征來構(gòu)建推薦系統(tǒng)。本設(shè)計(jì)創(chuàng)新性地構(gòu)建了一種深層的結(jié)構(gòu)語(yǔ)義模型(DSSM)[8],將用戶和特征項(xiàng)映射到語(yǔ)義空間,利用非線性變化的方法使用戶數(shù)據(jù)和特征數(shù)據(jù)之間的相似性最大化。不僅如此,通過對(duì)原始的DSSM模型進(jìn)行分析和實(shí)驗(yàn),將來自單個(gè)域的特征拓展,共同學(xué)習(xí)為不同域的特征,將其命名為“多視圖深度神經(jīng)網(wǎng)絡(luò)”(MV-DNN)。實(shí)驗(yàn)結(jié)果表明,這種多視圖擴(kuò)展思想,可以同時(shí)提高所有域的推薦質(zhì)量,使得本模型可以在潛在的空間中找到用戶的精確特征表示,更容易存儲(chǔ)并學(xué)習(xí)不同視圖間的共享信息。
綜上,本研究的貢獻(xiàn)如下:第一,提出了一種基于內(nèi)容的深度學(xué)習(xí)方法,并且使用非線性映射方法構(gòu)建了豐富的用戶和項(xiàng)目特征;第二,介紹了一種新穎的多視圖深度學(xué)習(xí)模型,并對(duì)其進(jìn)行拓展,提出了MV-DNN模型來學(xué)習(xí)語(yǔ)義特征;第三,通過實(shí)驗(yàn),證明了此方法的有效性,給類似問題提供了新的解決辦法。
本文介紹的多視圖深度學(xué)習(xí),即DNN,是一種深層結(jié)構(gòu)化的語(yǔ)義模型,具體為DSSM模型,最早出現(xiàn)在文獻(xiàn)[9]中,這種模型是為了促進(jìn)Web快速搜索上下文中的匹配詞語(yǔ)而出現(xiàn)的。
DNN的典型架構(gòu)DSSM模型如圖1所示,DNN的輸入為原始文本特征,是一個(gè)高維的向量,比如在查詢過程中的原始計(jì)數(shù)或者是還沒有歸一化處理的文本。之后DSSM通過兩個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行傳遞計(jì)算,將這些原始高維向量映射到共享的語(yǔ)義空間當(dāng)中,最后對(duì)Web給出的推薦詞語(yǔ)進(jìn)行排序[10]。值得注意的是,DSSM會(huì)計(jì)算查詢?cè)~語(yǔ)和文檔之間的相關(guān)性,將其作為對(duì)應(yīng)的語(yǔ)義向量的余弦相似性,也就是最后排序的依據(jù)。
圖1 DSSM模型
具體原理如下,設(shè)x表示輸入向量,y表示輸出向量,i為中間的隱藏層,則1≤i≤n。ωi代表第i層的權(quán)重,bi代表第i層的偏置,則DSSM的更新迭代過程如下:
l1=W1x
li=f(Wili-1+bi),i=2,…,n-1
y=f(Wnln-1+bn)
(1)
針對(duì)深層結(jié)構(gòu)語(yǔ)義模型(DSSM),一般使用TANH函數(shù)作為輸出層和隱藏層的激活函數(shù),其中i=1,2,…,n。
(2)
傳統(tǒng)方法中,每個(gè)單詞W由一個(gè)高維向量表示,向量的維數(shù)是每個(gè)詞匯的大小。但是,在實(shí)際的Web搜索任務(wù)中,詞匯量非常大,并且一個(gè)矢量詞匯的維數(shù)越高,神經(jīng)網(wǎng)絡(luò)處理起來就會(huì)越復(fù)雜。因此,DSSM使用單詞的哈希、通過字母的三角向量來表示單詞[11]。例如,給出一個(gè)單詞“Web”,在添加單詞邊界符號(hào)之后,將這個(gè)字母分成序列,如W-E-B,之后將這三個(gè)字母進(jìn)行計(jì)數(shù),這樣得出的向量特征的維數(shù)遠(yuǎn)小于直接處理單詞。在訓(xùn)練過程中,假設(shè)查詢的結(jié)果與所點(diǎn)擊過的文章參數(shù)有關(guān)系,則通過softmax函數(shù)從一個(gè)查詢中的語(yǔ)義相關(guān)性估計(jì)給定文檔的后驗(yàn)概率如下(其中γ是softmax函數(shù)中的平滑因子,通常在特定的數(shù)據(jù)集上進(jìn)行特定的設(shè)置):
(3)
DSSM可以看作是一個(gè)多學(xué)習(xí)框架,將數(shù)據(jù)的兩個(gè)不同的視圖映射到一個(gè)共享視圖,因此,在設(shè)置中可以查看兩個(gè)不同視圖之間的共享映射[12]?;诖?,在此創(chuàng)新性地提出MV-DNN模型,如圖2所示。它使用DNN來映射高維稀疏特征,如將用戶、新聞、應(yīng)用程序的原始特征轉(zhuǎn)化為聯(lián)合語(yǔ)義空間的低維稠密特征。
圖2 MV-DNN模型
MV-DNN模型的目標(biāo)函數(shù)更新為:
(4)
將目標(biāo)函數(shù)改進(jìn)為這一形式,是為了找到一個(gè)用戶特征的單一映射,即它可以將用戶特征轉(zhuǎn)化成用戶在不同域中所有項(xiàng)目匹配的空間,這種共享參數(shù)的方法會(huì)增強(qiáng)算法的魯棒性,因?yàn)槠湓试S沒有足夠信心的域,通過具有更多數(shù)據(jù)的其他域來學(xué)習(xí)良好的映射[13]。采用SGD(隨機(jī)梯度下降)的方法對(duì)MV-DNN進(jìn)行訓(xùn)練。在實(shí)驗(yàn)中,每個(gè)訓(xùn)練過程包含一對(duì)輸入和輸出,一個(gè)用于用戶視圖的輸入,一個(gè)輸出目標(biāo)數(shù)據(jù)視圖。
雖然MV-DNN是從DSSM擴(kuò)展而來的框架,但它具有以下幾個(gè)獨(dú)特的特征,相比DSSM更適合大數(shù)據(jù)規(guī)模的問題。
(1)原始的DSSM模型用于查詢視圖和文檔、查看相同尺寸的特征[14],并且使用相同的表示(如字母排序)進(jìn)行預(yù)處理,但由于推薦系統(tǒng)的異構(gòu)性,用戶視圖和項(xiàng)目視圖很可能出現(xiàn)不同設(shè)置的輸入特征。因此,許多類型的特征不能使用DSSM的預(yù)處理方式最佳地表示。例如,URL地域特征通常包含前綴和后綴,如www、com等。因此,通過去除DSSM的通用預(yù)處理約束,新的MV-DNN模型可以結(jié)合分類特征,如電影類型和應(yīng)用類別、地理空間特征或用戶輸入的原始文本特征來進(jìn)行數(shù)據(jù)預(yù)處理[15]。
(2)MV-DNN具有擴(kuò)展到跨域的能力。通過每個(gè)項(xiàng)目以及對(duì)應(yīng)視圖的成對(duì)訓(xùn)練,MV-DNN可以輕松采用新的視圖進(jìn)行訓(xùn)練,并且因?yàn)橐晥D在訓(xùn)練過程中每個(gè)階段都保持獨(dú)立的用戶和項(xiàng)目集,且在每次訓(xùn)練的迭代過程中對(duì)所有項(xiàng)目最優(yōu)嵌入,所以,改進(jìn)后的模型,更好地適應(yīng)了跨域這一功能。
本實(shí)驗(yàn)中的4個(gè)數(shù)據(jù)集是從微軟產(chǎn)品的用戶日志中收集的,主要包括:(1)來自Bing Wed中的搜索日志;(2)來自Bing Web新聞的文章瀏覽歷史;(3)來自Windows App Store的下載日志;(4)來自Xbox的電影/電視劇瀏覽日志。所有的日志收集時(shí)間為2013年到2014年,主要集中在美國(guó)、加拿大和英國(guó),如表1所示。
表1 數(shù)據(jù)集描述
表1中的用戶特征部分是從Bing收集了用戶的搜索查詢和點(diǎn)擊過的URL(統(tǒng)一資源定位符)形成的用戶特征。需要首先對(duì)查詢歷史進(jìn)行歸一化處理,之后將其拆分成UNIG和RAM特征,并且將URL縮短為域級(jí)。之后,使用IF指數(shù)只保留最流行的特征。最后,從數(shù)據(jù)中選擇了300萬個(gè)單域特征和500K的跨域特征。
而新聞部分,是Bing網(wǎng)絡(luò)的新聞?wù)军c(diǎn)手機(jī)的新聞點(diǎn)擊歷史數(shù)據(jù)。每個(gè)新聞項(xiàng)目由三部分特征來表示,第一部分是新聞標(biāo)題的特征編碼,第二部分是每個(gè)新聞的頂級(jí)類別(如娛樂、體育等),第三部分為每個(gè)文章中的命名實(shí)體。使用內(nèi)部專有的NLP解析器生成,最后生成大小為100K的特征向量。
對(duì)于每一個(gè)數(shù)據(jù)集,實(shí)驗(yàn)的目標(biāo)是評(píng)估已經(jīng)在該域存在的用戶(舊用戶)和先前沒有與系統(tǒng)進(jìn)行過交互的用戶(新用戶)的推薦性能[16]。其中,針對(duì)新用戶,有一些搜索和瀏覽歷史,可以被編碼成用戶視圖。為了評(píng)估系統(tǒng)性能,數(shù)據(jù)集被分為訓(xùn)練集和測(cè)試集,如表2所示。使用以下標(biāo)準(zhǔn)對(duì)數(shù)據(jù)集進(jìn)行分類:首先,每個(gè)用戶被隨機(jī)分配一個(gè)標(biāo)簽,訓(xùn)練和測(cè)試的概率比為0.9∶0.1[17];其次,對(duì)于每個(gè)具有測(cè)試標(biāo)簽的用戶,將其進(jìn)一步標(biāo)記為新用戶或者舊用戶,概率比為0.8∶0.2[18]。對(duì)于標(biāo)記為舊用戶的數(shù)據(jù),因?yàn)槠浣Y(jié)果標(biāo)記準(zhǔn)確,因此有50%用于項(xiàng)目訓(xùn)練,其余的用于測(cè)試;對(duì)于新用戶,因?yàn)轫?xiàng)目無法保證結(jié)果,所以只能用于測(cè)試。
表2 訓(xùn)練集與測(cè)試集描述
本研究中的性能評(píng)估標(biāo)準(zhǔn),使用兩個(gè)評(píng)價(jià)標(biāo)準(zhǔn):(1)MRR(平均倒數(shù)秩),即計(jì)算正確項(xiàng)目的秩與其他項(xiàng)目的倒數(shù),并在整個(gè)測(cè)試數(shù)據(jù)中求平均結(jié)果;(2)P(精度)計(jì)算,即計(jì)算系統(tǒng)將項(xiàng)目正確的排序與數(shù)據(jù)庫(kù)中的正確項(xiàng)目的百分比。實(shí)驗(yàn)的運(yùn)行結(jié)果如表3和表4所示。
表4 實(shí)驗(yàn)結(jié)果2(第二組)
表3中所有的方法都是經(jīng)典方法,有些結(jié)果采用文獻(xiàn)[19]、[20]中的結(jié)果,有些是本文自己搭建模型后測(cè)試的結(jié)果。而表4中的模型,均為本文的實(shí)驗(yàn)結(jié)果。其中,在DNN模型中,需要使用降維方法來處理數(shù)據(jù)。MV-DNN方法中,前兩個(gè)結(jié)合應(yīng)用程序和新聞數(shù)據(jù),使用了Topk和KMess的用戶特征,第三組實(shí)驗(yàn)則利用應(yīng)用程序、電影電視建立了聯(lián)合模型,即實(shí)現(xiàn)了跨域?qū)W習(xí)。在MV-DNN訓(xùn)練過程中,訓(xùn)練的損失結(jié)果如圖3所示。
圖3 MV-DNN的訓(xùn)練過程中的損失結(jié)果
本文將算法分成三類進(jìn)行對(duì)比,表3顯示的是基礎(chǔ)算法,表4顯示的是單視圖模型以及多視圖的深度學(xué)習(xí)模型。其中,由表3可知,基礎(chǔ)算法運(yùn)行的算法結(jié)果很差,證實(shí)了在開頭提到的對(duì)于新用戶,傳統(tǒng)算法的表現(xiàn)較差;結(jié)果表明,即使在具有協(xié)同過濾的矩陣中,標(biāo)準(zhǔn)CRA算法在矩陣分解這項(xiàng)任務(wù)中表現(xiàn)得也不夠好。同時(shí),CCA算法也并沒有比隨機(jī)推薦算法效果更好,這表明即使使用了DSSM中的非線性映射,也并沒有改善用戶特征和項(xiàng)目特征的對(duì)應(yīng)相似性。根據(jù)表3可以清楚地發(fā)現(xiàn),CRT模型[21]對(duì)于已有用戶結(jié)果較好,但對(duì)于新用戶來說表現(xiàn)較差。
由表4可知,對(duì)于單視圖DNN來說,使用降維方法在某種程度上起到了一定作用,即用戶可以用相對(duì)較小的信息特征集來建立模型。同時(shí)也表明,K均值和LSH不太能有效地捕獲用戶行為的正確語(yǔ)義。將表4的方法與表3的方法進(jìn)行對(duì)比可知,單視圖模型中的SV模型優(yōu)于基準(zhǔn)線模型CTR。由此可以證明本文算法中的映射方法的有效性。此外,對(duì)于MV-DNN模型來說,無論對(duì)比傳統(tǒng)方法還是單視圖方法,最后一行的結(jié)果明顯優(yōu)于其他方法。尤其在與單視圖最優(yōu)模型相比時(shí),所有用戶的MRR得分從0.497提升為0.517,當(dāng)加入MV改進(jìn)之后,可以提升為最高0.527。這種大幅度的提升,可以證明本文算法的有效性。
由此,通過以上實(shí)驗(yàn),可以得出以下分析,作為經(jīng)典方法的協(xié)同推薦和基于內(nèi)容的推薦,包括近鄰建模[22]、矩陣分解[23]、限制玻爾茲曼機(jī)[24]、貝葉斯矩陣分解等方法[25]等,這些方法本質(zhì)上都是通過對(duì)用戶數(shù)據(jù)進(jìn)行協(xié)同過濾,之后直接計(jì)算用戶與項(xiàng)目間的相似性,使用相似性來計(jì)算新的條目與用戶之間的關(guān)聯(lián)程度。這些經(jīng)典的方法在老用戶上表現(xiàn)還不錯(cuò),但是在面對(duì)稀疏數(shù)據(jù)的時(shí)候,推薦質(zhì)量大幅度下降。而深度神經(jīng)網(wǎng)絡(luò)模型,通過對(duì)用戶數(shù)據(jù)進(jìn)行完整學(xué)習(xí)且兼顧了跨域?qū)W習(xí),表現(xiàn)已經(jīng)有大幅度的提升,尤其是進(jìn)行非線性映射,提高了用戶在不同域中的相似性篩選,已經(jīng)基本解決了面對(duì)新用戶的推薦質(zhì)量問題。且當(dāng)使用本文的多視覺神經(jīng)網(wǎng)絡(luò)(MV-DNN)時(shí),最大程度找到了在跨域問題上的用戶特征,使得最后的結(jié)果明顯好于傳統(tǒng)方法,由此證明了本文算法的實(shí)用性。
本研究提出了一種使用多視圖的深度學(xué)習(xí)方法,以豐富的用戶與項(xiàng)目特征形成了推薦算法。同時(shí),為了提高魯棒性和可擴(kuò)展性,還展示了如何擴(kuò)展這個(gè)框架,來給類似的問題提供解決思路。最后,在實(shí)驗(yàn)中表明,本文提出的方法大大優(yōu)于其他系統(tǒng)。在將來的工作中,目標(biāo)系統(tǒng)將更多的用戶特征融入到用戶視圖中,希望本文的深度學(xué)習(xí)模型具有更強(qiáng)的靈活性,從而能夠?qū)⒂脩籼卣骷糜跓o限維數(shù)的數(shù)據(jù)集訓(xùn)練中。同時(shí),筆者希望將傳統(tǒng)的協(xié)同過濾方法與本文方法相結(jié)合,來解決傳統(tǒng)方法的不足,進(jìn)一步提高本算法的性能。