肖慶華,劉學(xué)軍,施浩杰
(南京工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 211816)
大數(shù)據(jù)、物聯(lián)網(wǎng)等技術(shù)快速發(fā)展,互聯(lián)網(wǎng)中的各類應(yīng)用層出不窮導(dǎo)致了數(shù)據(jù)呈現(xiàn)爆炸式增長(zhǎng)[1],由于數(shù)據(jù)量的龐大和冗雜,導(dǎo)致了嚴(yán)重的“信息過(guò)載”的問(wèn)題,在紛雜的信息中找到自己需要的信息是一件很困難的事;同樣地,使自己生產(chǎn)的信息受到廣大用戶的關(guān)注,也是一件困難的事.推薦系統(tǒng)由此成為了解決這些矛盾的工具[2].推薦系統(tǒng)就是使用戶和信息之間建立橋梁,從而讓用戶能夠在龐大的數(shù)據(jù)空間中快速找到自己感興趣的信息,一些用戶自己產(chǎn)生的信息能夠快速被其他用戶捕捉,實(shí)現(xiàn)脫穎而出.隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,一些移動(dòng)數(shù)據(jù)如社交、地理等數(shù)據(jù)為推薦系統(tǒng)提供了更多的數(shù)據(jù)來(lái)源,使研究更為廣泛.
在人們買衣服的時(shí)候,總會(huì)有人問(wèn)諸如這樣的問(wèn)題:“這件襯衫和那件牛仔褲配嗎?”又或者在買電子產(chǎn)品諸如相機(jī)的時(shí)候,不知道要買哪些鏡頭以適配此相機(jī)?這些問(wèn)題的產(chǎn)生就導(dǎo)致了推薦系統(tǒng)向更深的層次發(fā)展,互補(bǔ)替代推薦系統(tǒng)由此產(chǎn)生.在現(xiàn)代的推薦系統(tǒng)中,了解產(chǎn)品之間的關(guān)系是很重要的.例如,當(dāng)用戶正在尋找手機(jī)時(shí),推薦其它手機(jī)可能是有意義的,但是一旦他們購(gòu)買了手機(jī),我們可能會(huì)推薦電池、外殼或充電器,這兩種類型的推薦被稱為替代品和互補(bǔ)品:替代品是可以替代其它同類產(chǎn)品而相互購(gòu)買的產(chǎn)品,而互補(bǔ)品是可以和其它同類產(chǎn)品同時(shí)購(gòu)買的產(chǎn)品.
根據(jù)上述問(wèn)題,利用互補(bǔ)替代推薦系統(tǒng)就可以解決.如圖1所示,當(dāng)一個(gè)用戶買了相機(jī)、手機(jī)或者羽毛球拍后,根據(jù)互補(bǔ)推薦算法,可以很快地為該用戶推薦出相關(guān)互補(bǔ)產(chǎn)品,例如相機(jī)的互補(bǔ)產(chǎn)品有鏡頭、相機(jī)包、閃存卡等,手機(jī)的互補(bǔ)產(chǎn)品有手機(jī)殼、充電器、數(shù)據(jù)線等,羽毛球拍的互補(bǔ)產(chǎn)品有羽毛球、羽毛球服飾、羽毛球包等.
圖1 互補(bǔ)推薦示例
目前的互補(bǔ)替代推薦系統(tǒng)主要針對(duì)其準(zhǔn)確性而進(jìn)行很多深入研究.然而,在準(zhǔn)確性逐步提高的情況下,互補(bǔ)推薦本身的其它一些屬性沒有得到重視,例如多樣性研究.在保證互補(bǔ)推薦的準(zhǔn)確性前提下,推薦列表的多樣性也很重要,當(dāng)推薦列表的多樣性提升時(shí),用戶的接受程度也會(huì)變高,用戶的參考方案也相應(yīng)地變多.本文主要研究如何在互補(bǔ)推薦的準(zhǔn)確性前提下提升推薦列表的多樣性,最大化用戶滿意度,根據(jù)此問(wèn)題提出了基于多模態(tài)互補(bǔ)物品的多樣性推薦方法,稱為DR-MCI(Diversity Recommendations of Multi-modal Complementary Items).該方法利用卷積神經(jīng)網(wǎng)絡(luò)、doc2vec和貝葉斯平均評(píng)分對(duì)互補(bǔ)物品對(duì)的圖像、描述文本以及評(píng)分信息進(jìn)行特征表述,計(jì)算兩個(gè)物品之間的特征距離,然后進(jìn)行非線性組合形成初步的推薦列表,最后加入用戶偏好特征進(jìn)行多樣性推薦.
傳統(tǒng)推薦方法分為基于內(nèi)容、協(xié)同過(guò)濾和混合推薦.基于內(nèi)容的推薦就是根據(jù)用戶評(píng)分的物品,尋找其它內(nèi)容與之相似的物品作為推薦,但是這種方法一般會(huì)遇到特征提取困難的問(wèn)題;協(xié)同過(guò)濾推薦就是利用用戶之間的相似興趣,發(fā)現(xiàn)用戶對(duì)物品的潛在愛好;混合推薦,顧名思義,就是結(jié)合一種或者多種推薦方法,形成統(tǒng)一的推薦模型進(jìn)行推薦.
包推薦(Package Recommendation)是一種特殊形式的多領(lǐng)域相關(guān)推薦方法,通過(guò)智能化的方式將項(xiàng)目之間進(jìn)行組合,將具有一定關(guān)系的物品進(jìn)行打包推薦給用戶.Interdonato等人[3]首次提出了一種通用的包推薦方法,通過(guò)分析用戶偏好,根據(jù)帕累托最優(yōu)方法選取top-k項(xiàng)目分配到給定包中.為了提升包推薦的精度,一些研究通過(guò)限定包的規(guī)模從而達(dá)到提升效率的目的.Villavivencio等人[4]針對(duì)多樣性研究提出復(fù)合推薦方法,該方法主要針對(duì)旅游方案的推薦,但是因其通過(guò)分層多樣集的方法使該推薦也適用于其它領(lǐng)域.
近年來(lái),深度學(xué)習(xí)在圖像處理、自然語(yǔ)言處理等領(lǐng)域取得了很大的突破[5],使推薦系統(tǒng)有了更多的研究方向.Li等[6]提出了RNS模型,即神經(jīng)序列推薦模型,利用A-CNN即感知卷積網(wǎng)絡(luò)技術(shù)獲得用戶潛在偏好.Ma等[7]提出了交叉注意記憶模型(CoA-CAMN),該模型通過(guò)VGG-Net16獲取圖片信息并與推文結(jié)合,最終獲得用戶偏好信息.Wu等[8]使用生成對(duì)抗網(wǎng)絡(luò)(GAN)構(gòu)建了推薦模型—PD-GAN,它是由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)組成,該模型主要是產(chǎn)生多樣化且相關(guān)的推薦項(xiàng),從而增加推薦結(jié)果的多樣性.
互補(bǔ)產(chǎn)品推薦的傳統(tǒng)方法依賴于行為和非視覺數(shù)據(jù),如客戶共同瀏覽或共同購(gòu)買的數(shù)據(jù).然而,某些領(lǐng)域,如時(shí)尚領(lǐng)域,主要是基于視覺的.Julian等[9,10]利用人們的視覺圖片數(shù)據(jù)進(jìn)行互補(bǔ)替代推薦的研究,他們感興趣的是揭示成對(duì)物品的外觀之間的關(guān)系,特別是建模人類的概念,即哪些物體是互補(bǔ)的,哪些可以被視為可接受的替代品.他們利用視覺線索,以一種非監(jiān)督的方式來(lái)學(xué)習(xí)分布的共同發(fā)生的互補(bǔ)項(xiàng)目在現(xiàn)實(shí)世界的圖像.實(shí)際上,還有很多互補(bǔ)替代關(guān)系是基于文本的,Zhao等[11]將商品的標(biāo)題信息向量化,輸入到孿生網(wǎng)絡(luò)中訓(xùn)練預(yù)測(cè)出互補(bǔ)概率;Julian等[12]使用的主要數(shù)據(jù)來(lái)源是產(chǎn)品評(píng)論的文本,從這些文本中建模并預(yù)測(cè)產(chǎn)品之間的關(guān)系.Zhang等[13]提出將基于視覺的和基于文本的結(jié)合起來(lái)實(shí)現(xiàn)互補(bǔ)推薦.
假設(shè)我們有物品集I=[I1,I2,…,In]和互補(bǔ)集Ci=[ric1,ric2,…,rici],i∈{1,2,…},表示的是待查詢物品Ii和待推薦物品IC1,IC2,…,ICi∈I具有互補(bǔ)關(guān)系.模型的前半部分主要是構(gòu)建兩個(gè)物品之間的互補(bǔ)距離公式,dm(Ii,Ij),dt(Ii,Ij),dr(Ii,Ij),其中,dm(Ii,Ij)表示物品Ii和物品Ij的圖片之間的距離,dt(Ii,Ij)表示物品Ii和物品Ij的描述文本之間的距離,dr(Ii,Ij)表示物品Ii和物品Ij的評(píng)分之間的距離,也稱物品Ij的質(zhì)量期望,然后將這3種距離進(jìn)行非線性組合,得到統(tǒng)一的距離公式d(Ii,Ij),最后可以得到初步的互補(bǔ)推薦結(jié)果;模型的后半部分是將前半部分得到的推薦物品進(jìn)行深層次的分析,結(jié)合物品之間的替代關(guān)系,利用bandits算法實(shí)現(xiàn)多樣性推薦.總體框架如圖2所示.
圖2 互補(bǔ)物品多樣性推薦框架
首先,需要將電商平臺(tái)上的商品圖片進(jìn)行視覺特征提取,根據(jù)文獻(xiàn)[9],我們可以提取高維圖片特征,使用的技術(shù)是卷積神經(jīng)網(wǎng)絡(luò)[14](CNN),CNN模型通過(guò)ImageNet預(yù)訓(xùn)練過(guò),實(shí)際上,我們需要的是CNN全連接層的第2層為輸出層,并且圖片向量的維度為fm=4096,在提取高維圖片特征之后,通過(guò)馬氏變換矩陣可以實(shí)現(xiàn)降維,最終作為圖片的嵌入層[7],馬氏變換就是通過(guò)去除掉一些不相關(guān)的點(diǎn),從而實(shí)現(xiàn)降維.接著計(jì)算馬氏距離來(lái)表示圖片之間的距離,具體表示形式如等式(1)所示:
(1)
其中,mi和mj是高維嵌入向量,表示物品Ii和物品Ij的圖片特征向量,∑即協(xié)方差矩陣,它是馬氏距離的重要組成部分,EM∈Rfm×fem是低階馬氏變換矩陣,fem則是嵌入圖片維度.根據(jù)此距離公式,使用sigmoid轉(zhuǎn)移函數(shù)可以計(jì)算兩個(gè)物品屬于某一關(guān)系的概率:
(2)
根據(jù)這個(gè)概率等式,使用極大似然估計(jì)法可以訓(xùn)練出EM,最終獲得圖片模態(tài)的互補(bǔ)替代程度.
以上基于圖片模態(tài)的互補(bǔ)替代距離的計(jì)算可以表達(dá)出兩個(gè)物品的互補(bǔ)替代程度,但是在某些時(shí)候,緊緊憑借這一個(gè)模態(tài)往往是不夠的,因?yàn)閳D片也具有一定的欺騙性,如圖3所示,一個(gè)長(zhǎng)得像打火機(jī)的U盤和真實(shí)的打火機(jī)是種類完全不同的兩個(gè)物品,玩具熊和熊狀的背包也是兩個(gè)功能不同的物品,因此光從圖片角度去推薦互補(bǔ)替代產(chǎn)品有時(shí)會(huì)影響準(zhǔn)確度,由此提出了利用物品的描述文本實(shí)現(xiàn)更精確的推薦.一個(gè)物品有id、標(biāo)題、類型和評(píng)論文本等屬性,我們可以構(gòu)建兩個(gè)物品在標(biāo)題或者評(píng)論文本尺度上的距離函數(shù)dt(Ii,Ij),該函數(shù)就是表示物品Ii和物品Ij的標(biāo)題以及評(píng)論文本之間的距離,即互補(bǔ)程度.
圖3 容易混淆的圖片舉例
對(duì)于標(biāo)題和評(píng)論文本的表示方面,有人提出過(guò)分布式表示的方法[15],但我們使用的文本長(zhǎng)度以及單詞量都比較大,因此我們用doc2vec[16,17]的技術(shù)實(shí)現(xiàn)文本單詞的向量化是比較合適的.在這之前,需要引入word2vector[18,19],它是一個(gè)將單詞轉(zhuǎn)化為向量形式的工具.它的基本思想是把自然語(yǔ)言中的每一個(gè)詞,表示成一個(gè)統(tǒng)一意義維度的短向量,任何一門語(yǔ)言,都是由一堆的詞組成,所有的詞,構(gòu)成一個(gè)詞匯表,詞匯表,可以用一個(gè)長(zhǎng)長(zhǎng)的向量來(lái)表示.詞的個(gè)數(shù),就是詞匯表向量的維度,那么,任何一個(gè)詞,都可以表示成一個(gè)向量.在此基礎(chǔ)上,將每個(gè)單詞的向量進(jìn)行疊加組合就可以表示出一段句子甚至一篇文檔的向量形式,doc2vec就是在word2vec的思想上進(jìn)行延伸的.
基于以上,將距離表示的描述公式化可以得到等式(3):
(3)
其中,ti和tj是嵌入向量,表示物品Ii和物品Ij的文本特征向量,用doc2vec訓(xùn)練而成,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,最終選擇模型訓(xùn)練的窗口大小為20,文本向量維度為ft=100,矩陣ET∈Rft×fet是需要訓(xùn)練得到的最終文本特征來(lái)表示互補(bǔ)關(guān)系,fet是文本嵌入維度.同樣是使用sigmoid轉(zhuǎn)移函數(shù)計(jì)算兩個(gè)物品屬于某一關(guān)系的概率,最終獲得文本模態(tài)的互補(bǔ)替代程度.
當(dāng)我們得到圖片模態(tài)和文本模態(tài)的互補(bǔ)距離時(shí),將這兩種模態(tài)進(jìn)行線性組合是可以得到推薦結(jié)果的,即pdm(Ii,Ij)+qdt(Ii,Ij),p和q是超參數(shù),但是這樣會(huì)存在一個(gè)問(wèn)題,推薦結(jié)果很粗糙,只是單純的將最接近互補(bǔ)關(guān)系的物品推薦給用戶,而沒有考慮到用戶喜不喜歡、需不需要,這時(shí)推薦質(zhì)量很低,因此提出了將用戶評(píng)分所隱含的喜好程度加入到互補(bǔ)推薦過(guò)程,根據(jù)文獻(xiàn)[13],我們使用貝葉斯推斷.用戶的評(píng)分是參差不齊的,有些物品有大量用戶評(píng)分過(guò),而有些物品評(píng)分稀疏,直接利用均值來(lái)表示一個(gè)物品的評(píng)分是不合理的,而貝葉斯推斷可以解決此問(wèn)題,它通過(guò)不斷修正先驗(yàn)概率,最終得到后驗(yàn)概率,即用戶對(duì)物品i的期望θi.
首先定義隨機(jī)變量:
(4)
表示物品i的第k個(gè)評(píng)分是好的還是壞的,rik即物品i的第k個(gè)評(píng)分,ηr是閾值評(píng)判是好的評(píng)分還是差的評(píng)分,qik的概率密度函數(shù)可表示為等式(5):
(5)
其中,qik服從伯努利分布qik~B(1,θi),此時(shí)物品Ii可以得到一個(gè)好的評(píng)分因此θi可以測(cè)量用戶的期望,期望越高表示此物品評(píng)分越好.通過(guò)貝葉斯估計(jì)法可以得到θi的估計(jì)值,最終得到評(píng)分距離dr(Ii,Ij|θj)∝(1-θj|qjk).
當(dāng)?shù)玫綀D片模態(tài)、文本模態(tài)以及評(píng)分期望后,為了得到初步的推薦結(jié)果,使用神經(jīng)方法進(jìn)行模型訓(xùn)練,將以上模態(tài)進(jìn)行非線性組合,通過(guò)特征差異學(xué)習(xí)互補(bǔ)物之間的關(guān)系c(Ii,Ij|θj)=[dm(Ii,Ij),dt(Ii,Ij),dr(Ii,Ij|θj)],用此公式作為神經(jīng)網(wǎng)絡(luò)的非對(duì)稱合并層,加入權(quán)重W和偏置b,并使用tanh作為激活函數(shù),得到距離表示:
dn(Ii,Ij)=tanh(c(Ii,Ij|θj)×W1+b1)×W2
(6)
最終得到物品Ii和物品Ij屬于互補(bǔ)關(guān)系的概率為:
(7)
ηd是學(xué)習(xí)到的互補(bǔ)閾值.
定義損失函數(shù)為:
L=-yijlog(P(rij∈Ci))-(1-yij)log(1-P(rij∈Ci))
(8)
其中,yij表示物品i和物品j是否存在互補(bǔ)關(guān)系.
當(dāng)?shù)玫匠醪降幕パa(bǔ)物品推薦后,由于缺乏多樣性,因此,加入Bandits算法進(jìn)行多樣性推薦.Bandits算法就是為選擇而生,對(duì)用戶確定的興趣進(jìn)行迎合利用,當(dāng)然用戶對(duì)已知的興趣總會(huì)膩的,因此需要不斷探索用戶新的興趣,這樣就實(shí)現(xiàn)了對(duì)某一個(gè)類型的物品推薦出更多這一類型的物品,從而實(shí)現(xiàn)多樣性推薦.
Bandts算法是一個(gè)統(tǒng)稱,我們使用湯姆森采樣(Thompson sampling)算法實(shí)現(xiàn),假設(shè)有很多臺(tái)賭博機(jī),可以搖臂,有贏和輸兩種情況,將物品比作賭博機(jī),用戶評(píng)分就是贏和輸?shù)膽{證,假設(shè)每一個(gè)臂都有收益,且都有一個(gè)概率分布,其中有收益的概率為p,經(jīng)過(guò)搖臂試驗(yàn),估計(jì)出一個(gè)置信度較高的“p的概率分布”,假設(shè)每一次的分布都服從貝塔分布,即p~Beta(wins,lose),它具有兩個(gè)參數(shù),每次搖臂,有收益則這個(gè)臂的wins加1,無(wú)收益lose就加1,每次選臂的方式是,用每個(gè)臂當(dāng)前的貝塔分布產(chǎn)生隨機(jī)數(shù)b,選擇所有b中最大的那個(gè)臂.
經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,在所有Bandits算法中,湯姆森采樣在互補(bǔ)物品的多樣性推薦上取得了不錯(cuò)的效果.
本文提出的網(wǎng)絡(luò)結(jié)構(gòu)基于Tensorflow平臺(tái)實(shí)現(xiàn),該試驗(yàn)在CPU為Intel Xeon E5-2630v3,顯卡為GTX 1080Ti(11G),內(nèi)存為32G的工作站上運(yùn)行,操作系統(tǒng)為Window10,代碼編寫使用Python語(yǔ)言.
本文是針對(duì)電商平臺(tái)而研究的一種推薦技術(shù),因此使用的數(shù)據(jù)來(lái)自亞馬遜(Amazon)商城提供的公開數(shù)據(jù)集(Amazon product data)(1)http://jmcauley.ucsd.edu/data/amazon,完整數(shù)據(jù)集中的物品數(shù)量超過(guò)100萬(wàn)件,包含4千多萬(wàn)個(gè)同購(gòu)關(guān)系,共29個(gè)類別,由于數(shù)據(jù)量龐大,我們只選取了其中的5類商品,包括電子產(chǎn)品、衣服鞋子珠寶、圖書、手機(jī)及配件和電影電視.在數(shù)據(jù)集官網(wǎng)中,我們可以很清晰的分辨出其中的數(shù)據(jù)格式,其中reviews數(shù)據(jù)壓縮包包含了評(píng)論者編號(hào)(reviewerID)、商品編號(hào)(asin)、評(píng)論文本(reviewText)和評(píng)分(overall),meta數(shù)據(jù)壓縮包中包含了商品編號(hào)(asin)、標(biāo)題(title)、具有同購(gòu)關(guān)系的商品(related),同購(gòu)關(guān)系包括附帶購(gòu)買(also_bought)和同時(shí)購(gòu)買(bought_together).
具體的數(shù)據(jù)規(guī)模如表1所示.
表1 數(shù)據(jù)集規(guī)模統(tǒng)計(jì)表
數(shù)據(jù)預(yù)處理需要對(duì)評(píng)論和元數(shù)據(jù)進(jìn)行合并處理,即一個(gè)商品對(duì)應(yīng)唯一的商品編號(hào)、來(lái)自多個(gè)用戶的評(píng)論文本和評(píng)分、標(biāo)題文本以及具有相關(guān)關(guān)系的商品編號(hào).原始數(shù)據(jù)準(zhǔn)備完成,還需要對(duì)圖片數(shù)據(jù)進(jìn)行處理,根據(jù)文獻(xiàn)[9],我們可以得到每個(gè)商品編號(hào)對(duì)應(yīng)的圖片特征向量,其維度是4096維.對(duì)于標(biāo)題文本和評(píng)論文本,我們需要將其向量化,在這之前,將標(biāo)題和評(píng)論文本進(jìn)行合并,即一個(gè)商品編號(hào)對(duì)應(yīng)一個(gè)標(biāo)題信息和多個(gè)用戶的評(píng)論文本,然后利用doc2vec技術(shù)實(shí)現(xiàn)文本向量化,最終得到商品編號(hào)對(duì)應(yīng)的文本特征向量,其維度是100維.
在互補(bǔ)推薦的準(zhǔn)確性方面,P@k(Precision)在推薦領(lǐng)域準(zhǔn)確度測(cè)量方法中被廣泛使用,它表示前k項(xiàng)中正確推薦的項(xiàng)目的比例.另外,準(zhǔn)確性的測(cè)量還可以用等式(9)計(jì)算:
(9)
其中,當(dāng)x>0時(shí),S(x)=1,否則S(x)=0.
在多樣性方面,先計(jì)算D(R(u)),即每個(gè)用戶u的推薦結(jié)果R(u)中,每?jī)蓚€(gè)物品的不相似程度,然后計(jì)算所有用戶的推薦列表不相似程度的均值D:
(10)
(11)
通過(guò)對(duì)數(shù)據(jù)集的預(yù)處理和分析,訓(xùn)練集是選取所有數(shù)據(jù)的80%,20%為測(cè)試集.訓(xùn)練過(guò)程采用五折交叉驗(yàn)證法進(jìn)行多次訓(xùn)練,圖像和文本的潛在因素維度設(shè)置為10,對(duì)于評(píng)分,閾值設(shè)置為ηr=3.在訓(xùn)練推薦模型之前,需要訓(xùn)練文本向量化模型,其中訓(xùn)練的窗口大小w:{3,5,10,20},訓(xùn)練的文本向量長(zhǎng)度l:{50,100,150,200},根據(jù)實(shí)驗(yàn)結(jié)果可知,訓(xùn)練窗口大小選取5,文本向量長(zhǎng)度選取100最為合適.對(duì)于文本數(shù)據(jù)進(jìn)行預(yù)處理的python代碼已在github(2)https://github.com/tsinghuaxiao/text2vec網(wǎng)站上貼出.互補(bǔ)推薦模型的學(xué)習(xí)采用隨機(jī)梯度下降法(stochastic gradient descent,SGD),可選取學(xué)習(xí)率α:{0.1,0.01,0.001,0.0001,0.00001}.
為了驗(yàn)證所提出的算法的整體性能,將DR-MCI算法同以下4種方法—LRA、LRB、WNN、LMT進(jìn)行了比較:
LRA即邏輯回歸平均評(píng)分.本文將物品Ii和物品Ij的圖片模態(tài)、文本模態(tài)和評(píng)分信息作為輸入,計(jì)算兩個(gè)物品互補(bǔ)的概率,其中評(píng)分是用平均評(píng)分,沒有用到貝葉斯方法.
LRB即邏輯回歸貝葉斯評(píng)分.前兩者模態(tài)和LRA是相同的,唯一的區(qū)別就是評(píng)分使用的是貝葉斯推斷.
LMT即低階馬氏變換.該方法在文獻(xiàn)[7]中得到運(yùn)用,但是只針對(duì)圖片模態(tài),在本實(shí)驗(yàn)中,使用到了圖片模態(tài)、文本模態(tài)以及評(píng)分信息.
基于多模態(tài)互補(bǔ)物品的多樣性推薦利用圖片模態(tài)、文本模態(tài)以及評(píng)分信息,利用神經(jīng)網(wǎng)絡(luò)方法進(jìn)行非線性組合,加上Bandits算法實(shí)現(xiàn)其互補(bǔ)多樣性推薦.從表2可以看出,DR-MCI在亞馬遜商城的5種類別商品數(shù)據(jù)集上以P@5和P@10實(shí)現(xiàn)了最先進(jìn)的性能,驗(yàn)證了所提模型的有效性.在前兩個(gè)方法LRA和LRB的比較中,可以得知,不管是P@5還是P@10,貝葉斯推斷方法在處理大規(guī)模評(píng)分?jǐn)?shù)據(jù)時(shí)具有很好的性能,這也是本文采用貝葉斯方法的原因.
表2 相關(guān)方法實(shí)驗(yàn)結(jié)果對(duì)比
為了驗(yàn)證多模態(tài)對(duì)實(shí)驗(yàn)的影響,本文對(duì)以下4種方法進(jìn)行實(shí)驗(yàn)比較:
DR-MCI_M:該方法只考慮圖片這單一模態(tài),根據(jù)等式(1)進(jìn)行實(shí)驗(yàn).
DR-MCI_MT:該方法組合了圖片和文本模態(tài),沒有考慮評(píng)分信息,即對(duì)圖片距離和文本距離進(jìn)行線性組合互補(bǔ)距離為pdm(Ii,Ij)+qdt(Ii,Ij).
DR-MCI_MTR:該方法將圖片、文本和評(píng)分都考慮在內(nèi),但是使用的是傳統(tǒng)的線性組合.
DR-MCI:最終,我們將所有模態(tài)都考慮在內(nèi),并且舍棄線性組合的方式,而采用神經(jīng)方法進(jìn)行非線性組合,從而訓(xùn)練出最終的模型.
根據(jù)圖4的實(shí)驗(yàn)結(jié)果,可以看出,在不同模態(tài)組合當(dāng)中,采用單一圖片模態(tài)的效果是最差的,因?yàn)楣鈴膱D片的角度去分析兩個(gè)物品的互補(bǔ)程度是不合理的,很多時(shí)候圖片具有欺騙性.隨著模態(tài)的增加以及組合方式的改進(jìn),我們發(fā)現(xiàn)DR-MCI_MT和DR-MCI_MTR方法的準(zhǔn)確率在逐步提升,本文提出的方法取得了最優(yōu)的性能,平均準(zhǔn)確率達(dá)到了0.767.
圖4 不同模態(tài)組合下的實(shí)驗(yàn)對(duì)比
除了推薦的準(zhǔn)確性能外,多樣性在本文中的表現(xiàn)也很重要,因此根據(jù)Bandits算法選取的不同,設(shè)置了3種對(duì)照試驗(yàn):
EG-D:Epsilon-Greedy算法,這是一個(gè)樸素Bandit算法,類似模擬退火的思想:首先在(0,1)之間選一個(gè)較小的數(shù)作為e,然后每次以概率e做一件事,即所有臂中隨機(jī)選一個(gè),最后每次以概率1-e選擇到當(dāng)前為止,平均收益最大的那個(gè)臂.
TS-D:湯姆森采樣(Thompson Sampling)算法的核心思想就是利用beta(wins,lose)分布去選擇合適的臂,具體算法在本文的3.6小節(jié)介紹過(guò).
根據(jù)表3可知,在這3種算法中,TS-D的性能最優(yōu),其次是UCB-D,最后是EG-D,在所有Bandits算法中,UCB和湯姆森采樣確實(shí)能表現(xiàn)得更優(yōu)異,結(jié)合本文提出的多樣性計(jì)算公式以及多次實(shí)驗(yàn),最終驗(yàn)證該方法的有效性.
表3 多樣性實(shí)驗(yàn)結(jié)果對(duì)比
本文針對(duì)現(xiàn)有的互補(bǔ)替代推薦方法的精度和多樣性表現(xiàn)不足的問(wèn)題,提出了基于圖片、文本以及評(píng)分的多模態(tài)互補(bǔ)物品多樣性推薦DR-MCI模型.在該模型中,通過(guò)對(duì)圖片模態(tài)的卷積操作實(shí)現(xiàn)圖片特征表示,對(duì)標(biāo)題和評(píng)論文本進(jìn)行文本向量化訓(xùn)練實(shí)現(xiàn)文本特征表示,對(duì)評(píng)分進(jìn)行貝葉斯推斷操作實(shí)現(xiàn)評(píng)分維度的選取,應(yīng)用神經(jīng)方法將這三者進(jìn)行非線性組合,加入Bandits算法,最終實(shí)現(xiàn)互補(bǔ)替代多樣性推薦.因?yàn)樘娲扑]原理和互補(bǔ)類似,只是選取的輸入數(shù)據(jù)集不一樣,因此本文主要對(duì)互補(bǔ)推薦進(jìn)行了更加詳細(xì)的描述.綜合實(shí)驗(yàn)結(jié)果表明,所提出的算法優(yōu)于基線算法,有效提升了互補(bǔ)替代推薦的精度和多樣性.