李裕礞,練緒寶,徐 博,王 健,林鴻飛
(大連理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,遼寧 大連 116023)
基于用戶隱性反饋行為的下一個購物籃推薦
李裕礞,練緒寶,徐 博,王 健,林鴻飛
(大連理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,遼寧 大連 116023)
下一個購物籃推薦是當前電子商務(wù)領(lǐng)域中極其重要的一項任務(wù),傳統(tǒng)的下一個購物籃推薦方法主要分為時序推薦模型和總體推薦模型。這些方法對點擊、收藏、加入購物車等用戶的隱性反饋行為利用得不夠,并且沒有考慮用戶行為偏好的時間敏感性。該文提出了一種基于用戶隱性反饋行為的下一個購物籃推薦方法,將用戶行為按照一定的時間窗口進行劃分,對于每個窗口從多個維度抽取用戶對商品的時序偏好特征,運用深度學(xué)習(xí)領(lǐng)域的卷積神經(jīng)網(wǎng)絡(luò)模型進行分類器訓(xùn)練。在真實數(shù)據(jù)集中的實驗結(jié)果表明,與傳統(tǒng)的線性模型和樹模型等分類器相比,該文提出的卷積神經(jīng)網(wǎng)絡(luò)框架具有較強的特征萃取能力和泛化能力,提高了推薦系統(tǒng)的用戶滿意度。
下一個購物籃推薦;隱性反饋;時序行為;卷積神經(jīng)網(wǎng)絡(luò)
電子商務(wù)伴隨著互聯(lián)網(wǎng)的普及得到了飛速的發(fā)展,將實體店的商品搬到虛擬的網(wǎng)絡(luò)平臺,一方面方便了用戶,優(yōu)化了購物體驗;另一方面也方便了賣家推銷自己的商品,降低了成本。然而,紛繁多樣的商品卻也增加了用戶挑選商品的難度。電子商務(wù)平臺中可以產(chǎn)生大量的用戶隱性反饋行為數(shù)據(jù),其中包含了豐富的用戶偏好信息,從這些行為數(shù)據(jù)中預(yù)測出用戶下一個購買的商品即下一個購物籃[1-4]具有極其重要的意義。
當前,大部分的推薦方法主要關(guān)注用戶-商品的二元矩陣,并對它們的二元關(guān)系直接建模。其往往只能利用用戶對商品有限的顯性反饋數(shù)據(jù),而隱性反饋行為及行為的時效性往往會被忽略。有研究表明用戶的歷史交易行為對用戶的購買行為表現(xiàn)了較強的相關(guān)性。為了解決下一個購物籃推薦問題,主要有兩種建模思路。第一種是基于馬爾可夫鏈的時序推薦模型,即充分利用時序行為數(shù)據(jù)來根據(jù)用戶的上一次購買行為預(yù)測下一次購買行為。這種模型的優(yōu)勢是能夠通過時序行為產(chǎn)生好的推薦。第二種是總體推薦模型,即不考慮用戶行為的時間敏感性(即時序特點),而是根據(jù)用戶的整個消費歷史記錄來產(chǎn)生推薦結(jié)果。這種推薦方法可以捕獲用戶的總體偏好,這里面最具代表性的就是協(xié)同過濾推薦,協(xié)同過濾推薦主要分為基于記憶的協(xié)同過濾和基于模型的協(xié)同過濾(如矩陣分解等)。更好的方案是既考慮用戶的時序行為,也能包含用戶的總體偏好,相應(yīng)地,Steffen Rendle等人提出了分解個性化馬爾可夫鏈模型[5](factorizing personalized Markov chains, FPMC),它既能對用戶的時序行為建模,也能捕獲用戶的總體偏好,實驗結(jié)果表明和單獨的時序模型和綜合推薦模型相比它具有更好的推薦效果。
近年來,深度學(xué)習(xí)模型已經(jīng)在計算機視覺、語言識別和自然語言處理等領(lǐng)域取得了突破性的進展。它通過模擬人類神經(jīng)系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),能夠自動地從原始輸入特征中學(xué)習(xí)出高級抽象特征,實驗證明,和淺層模型相比,深層模型能更好地表達數(shù)據(jù)的特征[6]。卷積神經(jīng)網(wǎng)絡(luò)[7-8]是一種特殊的深度網(wǎng)絡(luò)結(jié)構(gòu)的深度學(xué)習(xí)模型,它的權(quán)值共享網(wǎng)絡(luò)結(jié)構(gòu)使之更類似于生物神經(jīng)網(wǎng)絡(luò),降低了網(wǎng)絡(luò)模型的復(fù)雜度,減少了權(quán)值的數(shù)量。其基本結(jié)構(gòu)包括兩層,其一為卷積層(convolutional layer),每個神經(jīng)元的輸入通過卷積核(也稱為特征圖,feature map)與前一層的局部接受域相連,并提取該局部特征;其二為池化層(pooling layer),網(wǎng)絡(luò)中的每個神經(jīng)元通過一個卷積核連接,從而提取出總體特征。卷積神經(jīng)網(wǎng)絡(luò)對于處理圖像等二維特征具有較大的優(yōu)勢。
基于以上分析,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的下一個購物籃推薦模型。以用戶-商品對作為一個訓(xùn)練樣本,將此問題看作二元分類問題,對用戶在下一時刻是否購買該商品進行分類判斷。為了捕獲用戶對商品的時序偏好特征,我們將用戶對商品的行為按照一定長度的時間窗口進行劃分,利用用戶的隱性反饋行為從多個角度對窗口內(nèi)用戶對商品的偏好特征進行刻畫。使用卷積神經(jīng)網(wǎng)絡(luò)在卷積層中按照時間窗口提取其局部特征,在池化層中提取其總體特征,以此訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型,從而充分利用用戶對商品的時序偏好和總體偏好。最后,在預(yù)測階段我們將測試集的樣本特征輸入模型,產(chǎn)生Top-K樣本作為最終購買預(yù)測結(jié)果。
本文的主要貢獻包括以下幾點:
① 采用了時間窗口的機制充分刻畫用戶對商品的時序行為偏好特征,并且對每個窗口從多個角度對用戶的隱性反饋行為特征進行建模。
② 提出了一種基于分類的推薦模型,和傳統(tǒng)的時序推薦方法、協(xié)同過濾推薦方法不同,本文將用戶在下一時刻對某一商品是否發(fā)生購買行為看作一個二元分類問題,增強了此問題的適用性。
③ 提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的下一個購物籃推薦算法,按照時間軸將用戶行為特征轉(zhuǎn)化成二維平面輸入卷積神經(jīng)網(wǎng)絡(luò)中,充分利用卷積神經(jīng)網(wǎng)絡(luò)可通過卷積層提取局部特征及池化層提取總體特征的特性,充分發(fā)掘特征之間的內(nèi)在聯(lián)系,從而獲得更好的特征表達,對模型進行訓(xùn)練。實驗結(jié)果表明,這種機制有效地提高了推薦性能。
電子商務(wù)平臺中會產(chǎn)生大量的用戶隱性反饋行為數(shù)據(jù),這些行為數(shù)據(jù)中往往包含了時間序列,從這些隱性反饋行為數(shù)據(jù)中挖掘出有價值的模式來為用戶提供個性化推薦,既可以幫助零售商更好地理解用戶的消費需求,也可以降低用戶挑選商品的難度。這種根據(jù)用戶的歷史行為預(yù)測用戶在下一個時間序列發(fā)生購買的商品,又稱為下一個購物籃推薦(next basket recommendation),其已經(jīng)成為推薦系統(tǒng)領(lǐng)域一項極具挑戰(zhàn)且具有重要意義的任務(wù)。
下一個購物籃推薦是基于隱性反饋數(shù)據(jù)推薦系統(tǒng)的一個典型應(yīng)用,用戶不表達顯性的偏好,而只有正向的瀏覽記錄。下一個購物籃推薦方法主要分為三種,分別是時序推薦模型(sequential recommender)、總體推薦模型(general recommender)和混合推薦模型(hybrid recommender)。時序推薦模型主要基于馬爾可夫鏈,利用序列行為數(shù)據(jù)通過上一次行為預(yù)測下一次購買[9]。Zimdars等人[10]提出一種基于馬爾可夫鏈的序列推薦模型,主要研究利用概率決策樹模型抽取序列模式從而學(xué)習(xí)到下一個狀態(tài)。2002年Mobasher等人[11]研究推薦中的不同序列模式,并且發(fā)現(xiàn)連續(xù)的序列模式相比總體序列模式更加適合序列推薦任務(wù)。2012年Chen等人[12]將歌手建模為馬爾可夫鏈,提出了一種邏輯斯蒂馬爾可夫嵌入(logistic Markov embedding)模型來學(xué)習(xí)歌曲的向量表達從而預(yù)測出其所屬歌手。與序列推薦模型相比,總體推薦模型并不考慮用戶的序列行為,而是基于用戶的整個購買歷史做出推薦,其核心思想是將用戶購買行為轉(zhuǎn)化成對商品的評分矩陣,再利用傳統(tǒng)的協(xié)同過濾推薦算法生成推薦結(jié)果。時序推薦模型考慮了用戶偏好的時間敏感性的特點,能夠捕獲到其時序偏好,總體推薦模型能夠捕獲到用戶的總體偏好卻忽略了時序偏好,一種更好的方案是將兩者結(jié)合起來,混合推薦模型即是這樣的一種方法。2010年Rendle等人[5]提出了一種分解個性化馬爾可夫鏈模型(factorizing personalized Markov chain, FPMC),他們構(gòu)建了一個交易立方體,立方體中的每個元素是用戶在上一次交易中已經(jīng)買了某商品時再買另一商品的概率值,通過分解這樣一個立方體解釋用戶、上一次交易的商品、下一次購物籃商品三者之間的關(guān)系。由于分解過程中考慮了用戶整個購買歷史,F(xiàn)PMC模型可以綜合考慮用戶的時序偏好和總體偏好。2015年Wang等人提出了一種層次表達模型[13](hierarchical representation model, HRM),使用了一種深度網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練用戶和商品的特征向量表達,在預(yù)測時綜合考慮了用戶的交易記錄中的所有商品和用戶的偏好向量,能夠捕獲總體偏好和序列行為。這些方法雖然能夠綜合考慮用戶的時序行為和總體偏好,但是他們對于多種不同類型隱性反饋行為的用戶偏好建模、用戶偏好的時間敏感性建模及發(fā)掘用戶不同時序偏好的內(nèi)在聯(lián)系方面所做的工作不夠,仍然有一定的局限性。
對于在線商品購買預(yù)測的推薦場景,其中包含一系列用戶U={U1,U2,…,Un}和一系列商品I={I1,I2,…,In},商品具有類別等屬性。在電子商務(wù)平臺中用戶會有一系列隱性反饋行為,每一條行為記錄可表示為{Ui,Ij,Ck,action_type,time},其中Ck表示商品類別k,action_type表示行為的類型,主要包括點擊(click)、收藏(collect)、加入購物車(cart)、購買(buy)等,time表示發(fā)生該行為的時間。如圖1所示,在線商品購買預(yù)測問題可表示為給定T時間之前的用戶行為記錄集合D,預(yù)測用戶在T時間發(fā)生購買行為的商品集合。
圖1 基于隱性反饋行為的下一個購物籃推薦示意圖
本文以阿里巴巴移動推薦算法競賽公開的數(shù)據(jù)集為例,具體數(shù)據(jù)集描述詳見6.1節(jié),數(shù)據(jù)集中給定用戶一個月的行為記錄。為了更好地捕獲用戶的時序特征,本文將數(shù)據(jù)劃分為時間窗口,并從多個維度對用戶偏好特征進行刻畫。
4.1 樣本及特征體系構(gòu)建
與傳統(tǒng)的推薦方法不同,本文將在線商品購買的預(yù)測問題看作一個分類問題,將用戶-商品對作為一個訓(xùn)練樣本,本文的特征構(gòu)建和模型訓(xùn)練均基于這樣的樣本數(shù)據(jù)。
如圖2所示,選定三天為一個窗口,從12月14日至12月16日期間的用戶行為數(shù)據(jù)中抽取樣本并進行特征統(tǒng)計,以12月17日用戶對該商品是否發(fā)生購買行為對樣本進行標注,構(gòu)建出訓(xùn)練集。在12月15日至12月17日期間用戶的行為數(shù)據(jù)中抽取特征作為測試集,從而對12月18日進行在線商品購買進行預(yù)測。特別地,對于預(yù)測日期前三天沒有發(fā)生購買行為的用戶-商品對,我們選擇直接忽略處理。
圖2 數(shù)據(jù)集劃分示意圖
為了體現(xiàn)用戶商品購買預(yù)測的時序特性和時間敏感特性,在三天的樣本構(gòu)建窗口內(nèi)選擇更加細粒度的特征統(tǒng)計時間窗口,以每八個小時作為一個特征統(tǒng)計窗口將數(shù)據(jù)劃分為九個窗口。根據(jù)數(shù)據(jù)集中用戶行為記錄的特點,我們將特征分為五個群組,按照特征統(tǒng)計方法又將特征分為四種類型,如表1所示。
表1 特征體系示意表
4.2 計數(shù)特征
對于每個特征統(tǒng)計窗口,本文使用了行為計數(shù)特征及去重型計數(shù)特征。行為計數(shù)是以累計的方式統(tǒng)計在當前窗口及其之前發(fā)生各類行為的數(shù)量。如對于點擊行為,分別表示用戶對商品的點擊數(shù)量、用戶的總點擊數(shù)量、商品的總點擊數(shù)量等,其他行為以此類推。去重型計數(shù)特征與行為計數(shù)類似,但只統(tǒng)計不重復(fù)的各類行為數(shù)據(jù)的數(shù)量。
4.3 比值特征
用戶對商品的行為占用戶、商品或商品類別總行為的比例往往也是影響用戶對該商品偏好程度的一個方面。例如用戶對某商品的點擊數(shù)與該用戶的總點擊數(shù)的比值等。在時間窗口t用戶i對商品j的點擊量占用戶i總點擊量的比值計算方法如式(1)所示。
其中分子部分表示用戶i對商品j在窗口t的點擊量,UI表示用戶-商品特征群組中的行為統(tǒng)計;分母部分表示在窗口t用戶i的總點擊量,U表示用戶特征群組中的行為統(tǒng)計。
4.4 轉(zhuǎn)化率特征
由于消費者心理及行為習(xí)慣的差異,有的用戶購買目的性較強,可能少量的瀏覽便能決定是否購買該商品;而有的用戶會顯得比較猶豫。從商品的角度來分析,有的商品往往需要較少的點擊就能轉(zhuǎn)化為一次購買,如消費類的電影票;而其他商品往往需要更多的瀏覽行為,如服裝類?;谶@些分析,本文提出轉(zhuǎn)化率特征作為描述用戶、商品及商品類別的一個方面。在時間窗口t用戶i的購買轉(zhuǎn)化率可表示為如式(2)所示。
其中分子部分表示用戶i在時間窗口t的購買總量,分母部分表示為用戶i在時間窗口t的點擊總量。
4.5 均值特征
為了更好地刻畫用戶的活躍度、商品及商品類別的流行度,本文基于計數(shù)型特征衍生出一系列的均值型特征。以點擊行為為例,在用戶特征群組里包括用戶對商品、用戶對商品類別的平均點擊次數(shù);在商品特征群組中包括商品被點擊的平均次數(shù);在商品類別特征群組中包括該商品類別被所有用戶的平均點擊次數(shù)。用戶i對商品的平均點擊次數(shù)計算方法如式(3)所示。
其中分子部分表示在時間窗口t用戶i的點擊數(shù),分母部分表示在時間窗口t用戶i點擊不同商品的數(shù)量。
為了綜合考慮用戶對特定商品偏好的時序敏感性及用戶的總體偏好,同時發(fā)掘用戶在不同時間序列中商品偏好行為特征的內(nèi)在聯(lián)系,從而獲得更好的特征表達,本文利用用戶隱性反饋行為構(gòu)建特征并采用卷積神經(jīng)網(wǎng)絡(luò)模型對用戶的下一次購買行為進行預(yù)測。
5.1 模型框架
圖3 卷積神經(jīng)網(wǎng)絡(luò)模型示意圖
基于以上分析及構(gòu)建好的用戶時序行為偏好特征,我們采用了如圖3所示結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)模型。模型分為四層,分別為輸入層、多窗口卷積層、池化層及輸出層。其中輸入層為構(gòu)建好的輸入特征,按照時間序列將輸入特征轉(zhuǎn)化為一個二維平面,每個時間窗口表達為一個特征向量;多窗口卷積層通過不同長度的時間窗口對輸入特征平面進行卷積計算,得到不同的特征圖(feature map);池化層對卷積層得到的不同特征圖進行降維,得到一個池化后的特征向量;輸出層與池化層是全連接的網(wǎng)絡(luò)結(jié)構(gòu)。
5.2 卷積層及池化層
假設(shè)一共有T個特征統(tǒng)計時間窗口,每個時間窗口有K個用戶對商品的偏好行為特征,那么對于每個輸入樣本x可以表示為一個T×K的矩陣,即x∈RT×K。 卷積層中的特征圖由輸入層和卷積核通過卷積計算得到。假設(shè)卷積核的窗口長度為h,xi:i+j表示時間窗口i到時間窗口i+j進行拼接得到的特征向量,卷積核w可表示為一個h×K的向量,即w∈Rh×K,特征圖可得到T-h+1個特征,即特征圖f=[f1,f2,…,fT-h+1],其中第i個特征fi按照式(4)計算得到。
其中b是偏置項,是一個實數(shù);σ(x)是非線性激活函數(shù),本文采用ReLu作為激活函數(shù),如式(5)所示。
本文采用最大值池化(Max-pooling)的方式對卷積層輸出的特征圖進行處理。池化層旨在對特征圖進行縮放,同時降低網(wǎng)絡(luò)的復(fù)雜度,通過最大值池化操作可以得到該卷積核的最主要特征。本文也采用了幾種不同窗口長度的卷積核。假設(shè)在卷積層第k個卷積核得到的特征圖為fk=[fk,1,fk,2,…,fk,T-h+1],池化操作可表示為式(6)所示。
5.3 模型訓(xùn)練
其中bk表示全連接層的第k個偏置項。通過最大化模型的似然概率值可得到模型的交叉熵損失函數(shù),如式(8)所示。
其中T為訓(xùn)練數(shù)據(jù)集,yi為第i個樣本的真實類別,xi為第i個樣本的特征,θ為模型的參數(shù)。通過極小化該損失函數(shù)學(xué)習(xí)模型參數(shù),訓(xùn)練方法本文采用了2012年Zeiler提出的改進的梯度下降方法Adadelta[14]。另外,為防止模型出現(xiàn)過擬合現(xiàn)象,我們對卷積層采取了Dropout[15]處理,即按照一定的概率隨機將卷積層的神經(jīng)元節(jié)點轉(zhuǎn)為0,使其權(quán)重不工作。
本章詳細介紹本文的實驗過程采用的數(shù)據(jù)集、實驗結(jié)果、實驗對比分析,以及實驗參數(shù)對實驗結(jié)果的影響等。
6.1 數(shù)據(jù)集描述
本文的實驗采用的是阿里巴巴集團在2015年舉辦的移動推薦算法競賽公開的數(shù)據(jù)集,此數(shù)據(jù)集包含了一個月(2014年11月18日—2014年12月18日)的用戶行為數(shù)據(jù)及商品信息。其中用戶的行為數(shù)據(jù)包括10 000個用戶對2 876 947個商品的各種行為,行為類型包括點擊、收藏、加入購物車和購買,每一條行為記錄標識了精確到小時的行為時間。商品信息包括商品類別信息,且標識出該商品是否為線上到線下類型的商品(online to offline, O2O),表2是數(shù)據(jù)集的一些基本統(tǒng)計信息。
表2 數(shù)據(jù)集的基本統(tǒng)計信息
6.2 評價指標
本文提出方法的目的在于根據(jù)用戶的歷史行為記錄預(yù)測用戶在下一時刻購買的商品列表,因此我們將數(shù)據(jù)集中最后一天即2014年12月18日的數(shù)據(jù)作為測試集對模型進行評價,以該日期之前的行為數(shù)據(jù)作為訓(xùn)練集對模型進行訓(xùn)練,樣本的構(gòu)建方法如4.1節(jié)所示。我們采用F1-score作為模型的評價指標,F(xiàn)1-score可以看成是準確率(precision)和召回率(recall)的調(diào)和平均數(shù),只有在兩者都較高時才能有較高的得分,目前F1值已廣泛用于推薦系統(tǒng)的評價中。
6.3 數(shù)據(jù)預(yù)處理與實驗設(shè)置
由于本文中采用的數(shù)據(jù)集正負樣本分布極其不平衡,比例約為1∶680,負樣本中含有較多的噪聲,為了讓模型更適合不平衡數(shù)據(jù)下的學(xué)習(xí)[16],我們對負樣本做了隨機欠采樣(under sampling)處理,有放回地選擇5%負樣本與正樣本合并作為該標注日的訓(xùn)練數(shù)據(jù)集。為了豐富數(shù)據(jù)集,我們選擇了多個標注日的數(shù)據(jù)合并作為最終訓(xùn)練集。按照第四節(jié)中所介紹的方法統(tǒng)計特征,將每個樣本可以劃分為共九個時間窗口。模型訓(xùn)練過程采用AdaDelta Update Rule進行隨機梯度下降調(diào)整模型的參數(shù)。模型可調(diào)的超參數(shù)(hyper parameters)如表3所示,表中的值為在驗證集誤差最小時模型的超參數(shù)。
表3 卷積神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
6.4 實驗結(jié)果與對比
為了驗證卷積神經(jīng)網(wǎng)絡(luò)在捕獲用戶對商品時序偏好和挖掘用戶時序行為特征之間內(nèi)在聯(lián)系的優(yōu)勢,我們在保證訓(xùn)練特征等條件相同的情況下對比了幾種常用的分類模型。它們分別是線性邏輯回歸分類模型[17](logistic regression, LR)、支持向量機模型[18](support vector machine, SVM)、隨機森林模型[19](random forests, RF)和梯度提升回歸樹模型[20](gradient boosting decision tree, GBDT),另外還對比了將最近8小時加入購物車商品(latest cart)作為推薦結(jié)果。我們對預(yù)測結(jié)果進行了過濾,只選擇O2O商品作為最終的預(yù)測結(jié)果,實驗中使用了sklearn工具包。實驗過程中各個模型的超參數(shù)設(shè)置分別為:
① LR,選擇L2正則,正則化系數(shù)為0.1。
② SVM,選擇徑向基(radial basis function, RBF)核函數(shù),核函數(shù)gamma為0.005。
③ RF,樹的數(shù)量為200,選擇熵作為特征切分標準,隨機特征比例為0.5。
④ GBDT,樹的數(shù)量為100,學(xué)習(xí)率為0.1,樹的最大深度為3。
使用上述參數(shù)得到的實驗結(jié)果如表4所示。從中可以看出,使用本文設(shè)計的特征的各機器學(xué)習(xí)模型效果均較大幅度地優(yōu)于基于購物車規(guī)則的Latest Cart,說明本文對用戶的時序行為偏好建模是合理的,對于提高推薦系統(tǒng)準確率有積極作用。在單一模型中,CNN模型效果最佳。使用簡單投票的模型融合方法,將LR及GBDT前N個結(jié)果的交集,合并到CNN的輸出中,可進一步提高模型結(jié)果。由此也說明本文方法與傳統(tǒng)的LR及GBDT擁有不同的視角,由于線性模型假設(shè)各個特征是獨立的,無法挖掘出特征之間的內(nèi)在聯(lián)系, 本文 提出的方法能更好地挖掘用戶時序偏好特征之間的內(nèi)在聯(lián)系,并且能夠充分地利用用戶的隱性反饋行為。
表4 各個模型的實驗結(jié)果對比
本文中的任務(wù)要求預(yù)測出未來一天內(nèi)用戶購買的確切商品,不同于以往的推薦問題,該任務(wù)要求較為苛刻,用戶是否購買一件商品受很多因素影響,預(yù)測難度較大,傳統(tǒng)的推薦方法如協(xié)同過濾更偏向于預(yù)測用戶感興趣的商品,對購買行為的預(yù)測效果較差。此外,使用傳統(tǒng)帶時序信息的推薦方法如factorizing personalized Markov chains(FPMC)等,均只能預(yù)測出在未來一段時間內(nèi)用戶可能感興趣的商品,而對于固定一天時間內(nèi)的預(yù)測效果較差。本文任務(wù)來源于阿里移動推薦算法競賽,在經(jīng)過大量實驗及對競賽中各個隊伍所選用的方法進行對比后發(fā)現(xiàn),使用原始推薦方法協(xié)同過濾、FPMC等在該任務(wù)上所得到的準確率均無法超過2%,與本文中對比的分類方法相比均存在較大差距。由此也說明,對于未來固定時間內(nèi)的購買行為預(yù)測問題,使用分類的方法能取得更好的效果。因此,本文著重比較了多個分類模型在該任務(wù)上的效果差異。
本文也對比了阿里推薦競賽中的冠軍隊伍公布的其模型在12月18日數(shù)據(jù)集上評測的結(jié)果*https://tianchi.shuju.aliyun.com/mini/reply.htm,表5中展示了本文中的各個模型與冠軍隊伍對應(yīng)模型的F1值的對比結(jié)果。從中可看出, 本文中的CNN模型及經(jīng)過簡單的模型融合后,模型結(jié)果的F1值優(yōu)于對方對應(yīng)模型的結(jié)果。由此也可在一定程度上說明本文構(gòu)建的CNN網(wǎng)絡(luò)結(jié)構(gòu)及引入的用戶隱性反饋行為的合理性。
表5 本文方法與競賽隊伍最優(yōu)F1值對比
本文分析了雙十二購物節(jié)對于模型預(yù)測結(jié)果的影響。如圖4所示,在雙十二當天,各模型預(yù)測結(jié)果的F1值均有大幅提升,其中CNN模型當天的F1值達到15.44%,經(jīng)過模型融合后結(jié)果進一步提升到16.21%。而在11日及13日模型預(yù)測結(jié)果則有明顯的下降。分析原因在于,在雙十二購物節(jié)前后幾天里,人們的購物行為與平常相比出現(xiàn)了較大差異,人們將通常分散在幾天購買的東西,集中在購物節(jié)當天購買。使得在用戶有限的潛在購買商品集合中,在當天產(chǎn)生更多購買行為,從而使得模型對購買行為的預(yù)測效果有所提升。從圖4中也可看出,在CNN模型的基礎(chǔ)上進行簡單投票方式的模型融合,便可在大多數(shù)時間中得到更優(yōu)的效果,說明本文中的CNN模型與其他對比模型在數(shù)據(jù)處理上較為不同,能夠更好地萃取出不易被其他模型感知到的用戶隱性反饋行為。
圖4 各模型預(yù)測結(jié)果的F1值與日期的關(guān)系
針對用戶的隱性反饋行為,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的下一個購物籃推薦算法。本文選取電子商務(wù)領(lǐng)域中的下一個購物籃推薦作為研究目標, 介紹了所研究問題,并詳細介紹了本文所采用的方法。首先將用戶行為按照一定的時間窗口進行劃分,對于每個窗口,從多個維度抽取用戶對商品的時序偏好特征。運用深度學(xué)習(xí)領(lǐng)域的卷積神經(jīng)網(wǎng)絡(luò)模型,由模型中的卷積層組合不同長度的特征圖來訓(xùn)練分類器。最后介紹了本文的實驗過程,在真實數(shù)據(jù)集上取得了較好的預(yù)測效果,實驗結(jié)果也表明本文方法與其他線性或樹形模型具有不同的特征抽取視角,有更強的特征萃取能力及泛化能力,同時經(jīng)簡單投票的模型融合后能產(chǎn)生更好的效果,有助于提高推薦系統(tǒng)的準確性及用戶滿意度。
另外我們也發(fā)現(xiàn),在當前的下一個購物籃推薦中也存在一些可以改進的方面,比如在商品顯性反饋行為建模中引入更多的外部信息,如用戶對商品評論信息,融入文本挖掘特征及評論的情感信息等。在建模方面可以對用戶進行用戶畫像,從而更細致地考慮不同類型用戶的偏好特點。另一方面,對商品也進行更加細致的刻畫,如考慮其位置信息等。
[1] Ricci F, Rokach L, Shapira B. Introduction to recommender systems handbook[M]. Springer US, 2011: 147-184.
[2] Gatzioura A, Sanchezmarre M. A case-based recommendation approach for market basket data[J]. Intelligent Systems IEEE, 2015, 30(1):20-27.
[3] Lee J S, Jun C H, Lee J, et al. Classification-based collaborative filtering using market basket data[J]. Expert Systems with Applications, 2005, 29(3):700-704.
[4] Wang P, Guo J, Lan Y. Modeling retail transaction data for personalized shopping recommendation[C]//Proceedings of ACM International Conference on Conference on Information and Knowledge Management. ACM, 2014:1979-1982.
[5] Rendle S, Freudenthaler C, Schmidt-Thieme L. Factorizing personalized Markov chains for next-basket recommendation[C]//Proccedings of International Conference on World Wide Web, WWW 2010, Raleigh, North Carolina, USA, 2010:811-820.
[6] Bengio Y. Learning deep architectures for AI[J]. Foundations amp; Trends?in Machine Learning, 2009, 2(1):1-127.
[7] Kalchbrenner N, Grefenstette E, Blunsom P. A convolutional neural network for modelling sentences[J]. arXiv preprint Arxiv, 1404.2188,2014.
[8] 練緒寶. 基于排序?qū)W習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的推薦算法研究[D].大連理工大學(xué)碩士學(xué)位論文, 2016.
[9] Chand C, Thakkar A, Ganatra A. Sequential pattern mining: survey and current research challenges[J]. International Journal of Soft Computing amp; Engineering, 2012, 2(1):185-193.[10] Zimdars A, Chickering D M, Meek C. Using temporal data for making recommendations[C]//Proceedings of the 17th conference on Uncertainty in artificial intelligence. Morgan Kaufmann Publishers Inc., 2001: 580-588.
[11] Mobasher B, Dai H, Luo T, et al. Using sequential and non-sequential patterns in predictive web usage mining tasks[C]//Proceedings of the 2002 IEEE International Conference on Data Mining. IEEE, 2002:669-672.
[12] Chen S, Moore J L, Turnbull D, et al. Playlist prediction via metric embedding[C]//Proceedings of the 18th ACM Knowledge Discovery and Data Mining. 2012:714-722.
[13] Wang P, Guo J, Lan Y, et al. Learning hierarchical representation model for nextbasket recommendation[C]//Proccedings of International ACM SIGIR Conference on Research and Development in Information Retrieval. ACM, 2015:403-412.
[14] Zeiler M D. ADADELTA: An adaptive learning rate method[J]. Computer Science, 2012.
[15] Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4): 212-223.
[16] He H, Garcia E. Learning from imbalanced data[J]. IEEE Transactions on Knowledge amp; Data Engineering, 2008, 21(9):1263-1284.
[17] Dierckx G. Logistic regression model[J]. Encyclopedia of Actuarial Science, 2009, 39(2):261-291.
[18] Hearst M A, Dumais S T, Osman E, et al. Support vector machines[J]. IEEE Intelligent Systems, 1998, 13(4):18-28.
[19] Breiman L. Random forests[J]. Machine Learning, 2001, 45(1): 5-32.
[20] Friedman J H. Greedy function approximation: a gradient boosting machine[J]. Annals of Statistics, 2000, 29(5):1189-1232.
李裕礞(1992—),碩士研究生,主要研究領(lǐng)域為推薦系統(tǒng),用戶畫像挖掘,深度學(xué)習(xí)與文本情感分析等。
E-mail: lym199286@mail.dlut.edu.cn
練緒寶(1993—),碩士,主要研究領(lǐng)域為推薦系統(tǒng),機器學(xué)習(xí)等。
E-mail: lianxubao93176@163.com
徐博(1988—),博士研究生,主要研究領(lǐng)域為搜索引擎,機器學(xué)習(xí),排序?qū)W習(xí)等。
E-mail: xubo2011@mail.dlut.edu.cn
NextBasketRecommendationBasedonImplicitUserFeedback
LI Yumeng, LIAN Xubao, XU Bo, WANG Jian, LIN Hongfei
(School of Computer Science and Technology, Dalian University of Technology, Dalian, Liaoning 116023, China)
“Next Basket” recommendation is a crucial task in E-commerce field. Traditional algorithms can be divided into sequential recommender and general recommender, both of which neglect the impact of implicit feedback behavior and time sensitivity of user’s preferences. This paper proposes a “next basket” recommendation framework based on implicit user feedback. We divide the user behaviors into several time windows according to the timestamp of these behaviors, and model the user preference in different dimensions for each window. Then we utilize the convolutional neural network to train a classifier. Compared to traditional linear models and tree models on a real dataset, the proposed model improves the user satisfaction with the recommender system.
next basket recommendation; implicit feedback; sequential behavior; convolution neural network
1003-0077(2017)05-0215-08
TP391
A
2016-08-26定稿日期2017-03-29
國家自然科學(xué)基金(61572102,61632011, 61562080);國家重點研發(fā)計劃(2016YFB1001103)