李裕礞,練緒寶,徐 博,王 健,林鴻飛
(大連理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116023)
基于用戶隱性反饋行為的下一個(gè)購物籃推薦
李裕礞,練緒寶,徐 博,王 健,林鴻飛
(大連理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116023)
下一個(gè)購物籃推薦是當(dāng)前電子商務(wù)領(lǐng)域中極其重要的一項(xiàng)任務(wù),傳統(tǒng)的下一個(gè)購物籃推薦方法主要分為時(shí)序推薦模型和總體推薦模型。這些方法對(duì)點(diǎn)擊、收藏、加入購物車等用戶的隱性反饋行為利用得不夠,并且沒有考慮用戶行為偏好的時(shí)間敏感性。該文提出了一種基于用戶隱性反饋行為的下一個(gè)購物籃推薦方法,將用戶行為按照一定的時(shí)間窗口進(jìn)行劃分,對(duì)于每個(gè)窗口從多個(gè)維度抽取用戶對(duì)商品的時(shí)序偏好特征,運(yùn)用深度學(xué)習(xí)領(lǐng)域的卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行分類器訓(xùn)練。在真實(shí)數(shù)據(jù)集中的實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的線性模型和樹模型等分類器相比,該文提出的卷積神經(jīng)網(wǎng)絡(luò)框架具有較強(qiáng)的特征萃取能力和泛化能力,提高了推薦系統(tǒng)的用戶滿意度。
下一個(gè)購物籃推薦;隱性反饋;時(shí)序行為;卷積神經(jīng)網(wǎng)絡(luò)
電子商務(wù)伴隨著互聯(lián)網(wǎng)的普及得到了飛速的發(fā)展,將實(shí)體店的商品搬到虛擬的網(wǎng)絡(luò)平臺(tái),一方面方便了用戶,優(yōu)化了購物體驗(yàn);另一方面也方便了賣家推銷自己的商品,降低了成本。然而,紛繁多樣的商品卻也增加了用戶挑選商品的難度。電子商務(wù)平臺(tái)中可以產(chǎn)生大量的用戶隱性反饋行為數(shù)據(jù),其中包含了豐富的用戶偏好信息,從這些行為數(shù)據(jù)中預(yù)測(cè)出用戶下一個(gè)購買的商品即下一個(gè)購物籃[1-4]具有極其重要的意義。
當(dāng)前,大部分的推薦方法主要關(guān)注用戶-商品的二元矩陣,并對(duì)它們的二元關(guān)系直接建模。其往往只能利用用戶對(duì)商品有限的顯性反饋數(shù)據(jù),而隱性反饋行為及行為的時(shí)效性往往會(huì)被忽略。有研究表明用戶的歷史交易行為對(duì)用戶的購買行為表現(xiàn)了較強(qiáng)的相關(guān)性。為了解決下一個(gè)購物籃推薦問題,主要有兩種建模思路。第一種是基于馬爾可夫鏈的時(shí)序推薦模型,即充分利用時(shí)序行為數(shù)據(jù)來根據(jù)用戶的上一次購買行為預(yù)測(cè)下一次購買行為。這種模型的優(yōu)勢(shì)是能夠通過時(shí)序行為產(chǎn)生好的推薦。第二種是總體推薦模型,即不考慮用戶行為的時(shí)間敏感性(即時(shí)序特點(diǎn)),而是根據(jù)用戶的整個(gè)消費(fèi)歷史記錄來產(chǎn)生推薦結(jié)果。這種推薦方法可以捕獲用戶的總體偏好,這里面最具代表性的就是協(xié)同過濾推薦,協(xié)同過濾推薦主要分為基于記憶的協(xié)同過濾和基于模型的協(xié)同過濾(如矩陣分解等)。更好的方案是既考慮用戶的時(shí)序行為,也能包含用戶的總體偏好,相應(yīng)地,Steffen Rendle等人提出了分解個(gè)性化馬爾可夫鏈模型[5](factorizing personalized Markov chains, FPMC),它既能對(duì)用戶的時(shí)序行為建模,也能捕獲用戶的總體偏好,實(shí)驗(yàn)結(jié)果表明和單獨(dú)的時(shí)序模型和綜合推薦模型相比它具有更好的推薦效果。
近年來,深度學(xué)習(xí)模型已經(jīng)在計(jì)算機(jī)視覺、語言識(shí)別和自然語言處理等領(lǐng)域取得了突破性的進(jìn)展。它通過模擬人類神經(jīng)系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),能夠自動(dòng)地從原始輸入特征中學(xué)習(xí)出高級(jí)抽象特征,實(shí)驗(yàn)證明,和淺層模型相比,深層模型能更好地表達(dá)數(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),每個(gè)神經(jīng)元的輸入通過卷積核(也稱為特征圖,feature map)與前一層的局部接受域相連,并提取該局部特征;其二為池化層(pooling layer),網(wǎng)絡(luò)中的每個(gè)神經(jīng)元通過一個(gè)卷積核連接,從而提取出總體特征。卷積神經(jīng)網(wǎng)絡(luò)對(duì)于處理圖像等二維特征具有較大的優(yōu)勢(shì)。
基于以上分析,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的下一個(gè)購物籃推薦模型。以用戶-商品對(duì)作為一個(gè)訓(xùn)練樣本,將此問題看作二元分類問題,對(duì)用戶在下一時(shí)刻是否購買該商品進(jìn)行分類判斷。為了捕獲用戶對(duì)商品的時(shí)序偏好特征,我們將用戶對(duì)商品的行為按照一定長(zhǎng)度的時(shí)間窗口進(jìn)行劃分,利用用戶的隱性反饋行為從多個(gè)角度對(duì)窗口內(nèi)用戶對(duì)商品的偏好特征進(jìn)行刻畫。使用卷積神經(jīng)網(wǎng)絡(luò)在卷積層中按照時(shí)間窗口提取其局部特征,在池化層中提取其總體特征,以此訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型,從而充分利用用戶對(duì)商品的時(shí)序偏好和總體偏好。最后,在預(yù)測(cè)階段我們將測(cè)試集的樣本特征輸入模型,產(chǎn)生Top-K樣本作為最終購買預(yù)測(cè)結(jié)果。
本文的主要貢獻(xiàn)包括以下幾點(diǎn):
① 采用了時(shí)間窗口的機(jī)制充分刻畫用戶對(duì)商品的時(shí)序行為偏好特征,并且對(duì)每個(gè)窗口從多個(gè)角度對(duì)用戶的隱性反饋行為特征進(jìn)行建模。
② 提出了一種基于分類的推薦模型,和傳統(tǒng)的時(shí)序推薦方法、協(xié)同過濾推薦方法不同,本文將用戶在下一時(shí)刻對(duì)某一商品是否發(fā)生購買行為看作一個(gè)二元分類問題,增強(qiáng)了此問題的適用性。
③ 提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的下一個(gè)購物籃推薦算法,按照時(shí)間軸將用戶行為特征轉(zhuǎn)化成二維平面輸入卷積神經(jīng)網(wǎng)絡(luò)中,充分利用卷積神經(jīng)網(wǎng)絡(luò)可通過卷積層提取局部特征及池化層提取總體特征的特性,充分發(fā)掘特征之間的內(nèi)在聯(lián)系,從而獲得更好的特征表達(dá),對(duì)模型進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,這種機(jī)制有效地提高了推薦性能。
電子商務(wù)平臺(tái)中會(huì)產(chǎn)生大量的用戶隱性反饋行為數(shù)據(jù),這些行為數(shù)據(jù)中往往包含了時(shí)間序列,從這些隱性反饋行為數(shù)據(jù)中挖掘出有價(jià)值的模式來為用戶提供個(gè)性化推薦,既可以幫助零售商更好地理解用戶的消費(fèi)需求,也可以降低用戶挑選商品的難度。這種根據(jù)用戶的歷史行為預(yù)測(cè)用戶在下一個(gè)時(shí)間序列發(fā)生購買的商品,又稱為下一個(gè)購物籃推薦(next basket recommendation),其已經(jīng)成為推薦系統(tǒng)領(lǐng)域一項(xiàng)極具挑戰(zhàn)且具有重要意義的任務(wù)。
下一個(gè)購物籃推薦是基于隱性反饋數(shù)據(jù)推薦系統(tǒng)的一個(gè)典型應(yīng)用,用戶不表達(dá)顯性的偏好,而只有正向的瀏覽記錄。下一個(gè)購物籃推薦方法主要分為三種,分別是時(shí)序推薦模型(sequential recommender)、總體推薦模型(general recommender)和混合推薦模型(hybrid recommender)。時(shí)序推薦模型主要基于馬爾可夫鏈,利用序列行為數(shù)據(jù)通過上一次行為預(yù)測(cè)下一次購買[9]。Zimdars等人[10]提出一種基于馬爾可夫鏈的序列推薦模型,主要研究利用概率決策樹模型抽取序列模式從而學(xué)習(xí)到下一個(gè)狀態(tài)。2002年Mobasher等人[11]研究推薦中的不同序列模式,并且發(fā)現(xiàn)連續(xù)的序列模式相比總體序列模式更加適合序列推薦任務(wù)。2012年Chen等人[12]將歌手建模為馬爾可夫鏈,提出了一種邏輯斯蒂馬爾可夫嵌入(logistic Markov embedding)模型來學(xué)習(xí)歌曲的向量表達(dá)從而預(yù)測(cè)出其所屬歌手。與序列推薦模型相比,總體推薦模型并不考慮用戶的序列行為,而是基于用戶的整個(gè)購買歷史做出推薦,其核心思想是將用戶購買行為轉(zhuǎn)化成對(duì)商品的評(píng)分矩陣,再利用傳統(tǒng)的協(xié)同過濾推薦算法生成推薦結(jié)果。時(shí)序推薦模型考慮了用戶偏好的時(shí)間敏感性的特點(diǎn),能夠捕獲到其時(shí)序偏好,總體推薦模型能夠捕獲到用戶的總體偏好卻忽略了時(shí)序偏好,一種更好的方案是將兩者結(jié)合起來,混合推薦模型即是這樣的一種方法。2010年Rendle等人[5]提出了一種分解個(gè)性化馬爾可夫鏈模型(factorizing personalized Markov chain, FPMC),他們構(gòu)建了一個(gè)交易立方體,立方體中的每個(gè)元素是用戶在上一次交易中已經(jīng)買了某商品時(shí)再買另一商品的概率值,通過分解這樣一個(gè)立方體解釋用戶、上一次交易的商品、下一次購物籃商品三者之間的關(guān)系。由于分解過程中考慮了用戶整個(gè)購買歷史,F(xiàn)PMC模型可以綜合考慮用戶的時(shí)序偏好和總體偏好。2015年Wang等人提出了一種層次表達(dá)模型[13](hierarchical representation model, HRM),使用了一種深度網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練用戶和商品的特征向量表達(dá),在預(yù)測(cè)時(shí)綜合考慮了用戶的交易記錄中的所有商品和用戶的偏好向量,能夠捕獲總體偏好和序列行為。這些方法雖然能夠綜合考慮用戶的時(shí)序行為和總體偏好,但是他們對(duì)于多種不同類型隱性反饋行為的用戶偏好建模、用戶偏好的時(shí)間敏感性建模及發(fā)掘用戶不同時(shí)序偏好的內(nèi)在聯(lián)系方面所做的工作不夠,仍然有一定的局限性。
對(duì)于在線商品購買預(yù)測(cè)的推薦場(chǎng)景,其中包含一系列用戶U={U1,U2,…,Un}和一系列商品I={I1,I2,…,In},商品具有類別等屬性。在電子商務(wù)平臺(tái)中用戶會(huì)有一系列隱性反饋行為,每一條行為記錄可表示為{Ui,Ij,Ck,action_type,time},其中Ck表示商品類別k,action_type表示行為的類型,主要包括點(diǎn)擊(click)、收藏(collect)、加入購物車(cart)、購買(buy)等,time表示發(fā)生該行為的時(shí)間。如圖1所示,在線商品購買預(yù)測(cè)問題可表示為給定T時(shí)間之前的用戶行為記錄集合D,預(yù)測(cè)用戶在T時(shí)間發(fā)生購買行為的商品集合。
圖1 基于隱性反饋行為的下一個(gè)購物籃推薦示意圖
本文以阿里巴巴移動(dòng)推薦算法競(jìng)賽公開的數(shù)據(jù)集為例,具體數(shù)據(jù)集描述詳見6.1節(jié),數(shù)據(jù)集中給定用戶一個(gè)月的行為記錄。為了更好地捕獲用戶的時(shí)序特征,本文將數(shù)據(jù)劃分為時(shí)間窗口,并從多個(gè)維度對(duì)用戶偏好特征進(jìn)行刻畫。
4.1 樣本及特征體系構(gòu)建
與傳統(tǒng)的推薦方法不同,本文將在線商品購買的預(yù)測(cè)問題看作一個(gè)分類問題,將用戶-商品對(duì)作為一個(gè)訓(xùn)練樣本,本文的特征構(gòu)建和模型訓(xùn)練均基于這樣的樣本數(shù)據(jù)。
如圖2所示,選定三天為一個(gè)窗口,從12月14日至12月16日期間的用戶行為數(shù)據(jù)中抽取樣本并進(jìn)行特征統(tǒng)計(jì),以12月17日用戶對(duì)該商品是否發(fā)生購買行為對(duì)樣本進(jìn)行標(biāo)注,構(gòu)建出訓(xùn)練集。在12月15日至12月17日期間用戶的行為數(shù)據(jù)中抽取特征作為測(cè)試集,從而對(duì)12月18日進(jìn)行在線商品購買進(jìn)行預(yù)測(cè)。特別地,對(duì)于預(yù)測(cè)日期前三天沒有發(fā)生購買行為的用戶-商品對(duì),我們選擇直接忽略處理。
圖2 數(shù)據(jù)集劃分示意圖
為了體現(xiàn)用戶商品購買預(yù)測(cè)的時(shí)序特性和時(shí)間敏感特性,在三天的樣本構(gòu)建窗口內(nèi)選擇更加細(xì)粒度的特征統(tǒng)計(jì)時(shí)間窗口,以每八個(gè)小時(shí)作為一個(gè)特征統(tǒng)計(jì)窗口將數(shù)據(jù)劃分為九個(gè)窗口。根據(jù)數(shù)據(jù)集中用戶行為記錄的特點(diǎn),我們將特征分為五個(gè)群組,按照特征統(tǒng)計(jì)方法又將特征分為四種類型,如表1所示。
表1 特征體系示意表
4.2 計(jì)數(shù)特征
對(duì)于每個(gè)特征統(tǒng)計(jì)窗口,本文使用了行為計(jì)數(shù)特征及去重型計(jì)數(shù)特征。行為計(jì)數(shù)是以累計(jì)的方式統(tǒng)計(jì)在當(dāng)前窗口及其之前發(fā)生各類行為的數(shù)量。如對(duì)于點(diǎn)擊行為,分別表示用戶對(duì)商品的點(diǎn)擊數(shù)量、用戶的總點(diǎn)擊數(shù)量、商品的總點(diǎn)擊數(shù)量等,其他行為以此類推。去重型計(jì)數(shù)特征與行為計(jì)數(shù)類似,但只統(tǒng)計(jì)不重復(fù)的各類行為數(shù)據(jù)的數(shù)量。
4.3 比值特征
用戶對(duì)商品的行為占用戶、商品或商品類別總行為的比例往往也是影響用戶對(duì)該商品偏好程度的一個(gè)方面。例如用戶對(duì)某商品的點(diǎn)擊數(shù)與該用戶的總點(diǎn)擊數(shù)的比值等。在時(shí)間窗口t用戶i對(duì)商品j的點(diǎn)擊量占用戶i總點(diǎn)擊量的比值計(jì)算方法如式(1)所示。
其中分子部分表示用戶i對(duì)商品j在窗口t的點(diǎn)擊量,UI表示用戶-商品特征群組中的行為統(tǒng)計(jì);分母部分表示在窗口t用戶i的總點(diǎn)擊量,U表示用戶特征群組中的行為統(tǒng)計(jì)。
4.4 轉(zhuǎn)化率特征
由于消費(fèi)者心理及行為習(xí)慣的差異,有的用戶購買目的性較強(qiáng),可能少量的瀏覽便能決定是否購買該商品;而有的用戶會(huì)顯得比較猶豫。從商品的角度來分析,有的商品往往需要較少的點(diǎn)擊就能轉(zhuǎn)化為一次購買,如消費(fèi)類的電影票;而其他商品往往需要更多的瀏覽行為,如服裝類?;谶@些分析,本文提出轉(zhuǎn)化率特征作為描述用戶、商品及商品類別的一個(gè)方面。在時(shí)間窗口t用戶i的購買轉(zhuǎn)化率可表示為如式(2)所示。
其中分子部分表示用戶i在時(shí)間窗口t的購買總量,分母部分表示為用戶i在時(shí)間窗口t的點(diǎn)擊總量。
4.5 均值特征
為了更好地刻畫用戶的活躍度、商品及商品類別的流行度,本文基于計(jì)數(shù)型特征衍生出一系列的均值型特征。以點(diǎn)擊行為為例,在用戶特征群組里包括用戶對(duì)商品、用戶對(duì)商品類別的平均點(diǎn)擊次數(shù);在商品特征群組中包括商品被點(diǎn)擊的平均次數(shù);在商品類別特征群組中包括該商品類別被所有用戶的平均點(diǎn)擊次數(shù)。用戶i對(duì)商品的平均點(diǎn)擊次數(shù)計(jì)算方法如式(3)所示。
其中分子部分表示在時(shí)間窗口t用戶i的點(diǎn)擊數(shù),分母部分表示在時(shí)間窗口t用戶i點(diǎn)擊不同商品的數(shù)量。
為了綜合考慮用戶對(duì)特定商品偏好的時(shí)序敏感性及用戶的總體偏好,同時(shí)發(fā)掘用戶在不同時(shí)間序列中商品偏好行為特征的內(nèi)在聯(lián)系,從而獲得更好的特征表達(dá),本文利用用戶隱性反饋行為構(gòu)建特征并采用卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)用戶的下一次購買行為進(jìn)行預(yù)測(cè)。
5.1 模型框架
圖3 卷積神經(jīng)網(wǎng)絡(luò)模型示意圖
基于以上分析及構(gòu)建好的用戶時(shí)序行為偏好特征,我們采用了如圖3所示結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)模型。模型分為四層,分別為輸入層、多窗口卷積層、池化層及輸出層。其中輸入層為構(gòu)建好的輸入特征,按照時(shí)間序列將輸入特征轉(zhuǎn)化為一個(gè)二維平面,每個(gè)時(shí)間窗口表達(dá)為一個(gè)特征向量;多窗口卷積層通過不同長(zhǎng)度的時(shí)間窗口對(duì)輸入特征平面進(jìn)行卷積計(jì)算,得到不同的特征圖(feature map);池化層對(duì)卷積層得到的不同特征圖進(jìn)行降維,得到一個(gè)池化后的特征向量;輸出層與池化層是全連接的網(wǎng)絡(luò)結(jié)構(gòu)。
5.2 卷積層及池化層
假設(shè)一共有T個(gè)特征統(tǒng)計(jì)時(shí)間窗口,每個(gè)時(shí)間窗口有K個(gè)用戶對(duì)商品的偏好行為特征,那么對(duì)于每個(gè)輸入樣本x可以表示為一個(gè)T×K的矩陣,即x∈RT×K。 卷積層中的特征圖由輸入層和卷積核通過卷積計(jì)算得到。假設(shè)卷積核的窗口長(zhǎng)度為h,xi:i+j表示時(shí)間窗口i到時(shí)間窗口i+j進(jìn)行拼接得到的特征向量,卷積核w可表示為一個(gè)h×K的向量,即w∈Rh×K,特征圖可得到T-h+1個(gè)特征,即特征圖f=[f1,f2,…,fT-h+1],其中第i個(gè)特征fi按照式(4)計(jì)算得到。
其中b是偏置項(xiàng),是一個(gè)實(shí)數(shù);σ(x)是非線性激活函數(shù),本文采用ReLu作為激活函數(shù),如式(5)所示。
本文采用最大值池化(Max-pooling)的方式對(duì)卷積層輸出的特征圖進(jìn)行處理。池化層旨在對(duì)特征圖進(jìn)行縮放,同時(shí)降低網(wǎng)絡(luò)的復(fù)雜度,通過最大值池化操作可以得到該卷積核的最主要特征。本文也采用了幾種不同窗口長(zhǎng)度的卷積核。假設(shè)在卷積層第k個(gè)卷積核得到的特征圖為fk=[fk,1,fk,2,…,fk,T-h+1],池化操作可表示為式(6)所示。
5.3 模型訓(xùn)練
其中bk表示全連接層的第k個(gè)偏置項(xiàng)。通過最大化模型的似然概率值可得到模型的交叉熵?fù)p失函數(shù),如式(8)所示。
其中T為訓(xùn)練數(shù)據(jù)集,yi為第i個(gè)樣本的真實(shí)類別,xi為第i個(gè)樣本的特征,θ為模型的參數(shù)。通過極小化該損失函數(shù)學(xué)習(xí)模型參數(shù),訓(xùn)練方法本文采用了2012年Zeiler提出的改進(jìn)的梯度下降方法Adadelta[14]。另外,為防止模型出現(xiàn)過擬合現(xiàn)象,我們對(duì)卷積層采取了Dropout[15]處理,即按照一定的概率隨機(jī)將卷積層的神經(jīng)元節(jié)點(diǎn)轉(zhuǎn)為0,使其權(quán)重不工作。
本章詳細(xì)介紹本文的實(shí)驗(yàn)過程采用的數(shù)據(jù)集、實(shí)驗(yàn)結(jié)果、實(shí)驗(yàn)對(duì)比分析,以及實(shí)驗(yàn)參數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響等。
6.1 數(shù)據(jù)集描述
本文的實(shí)驗(yàn)采用的是阿里巴巴集團(tuán)在2015年舉辦的移動(dòng)推薦算法競(jìng)賽公開的數(shù)據(jù)集,此數(shù)據(jù)集包含了一個(gè)月(2014年11月18日—2014年12月18日)的用戶行為數(shù)據(jù)及商品信息。其中用戶的行為數(shù)據(jù)包括10 000個(gè)用戶對(duì)2 876 947個(gè)商品的各種行為,行為類型包括點(diǎn)擊、收藏、加入購物車和購買,每一條行為記錄標(biāo)識(shí)了精確到小時(shí)的行為時(shí)間。商品信息包括商品類別信息,且標(biāo)識(shí)出該商品是否為線上到線下類型的商品(online to offline, O2O),表2是數(shù)據(jù)集的一些基本統(tǒng)計(jì)信息。
表2 數(shù)據(jù)集的基本統(tǒng)計(jì)信息
6.2 評(píng)價(jià)指標(biāo)
本文提出方法的目的在于根據(jù)用戶的歷史行為記錄預(yù)測(cè)用戶在下一時(shí)刻購買的商品列表,因此我們將數(shù)據(jù)集中最后一天即2014年12月18日的數(shù)據(jù)作為測(cè)試集對(duì)模型進(jìn)行評(píng)價(jià),以該日期之前的行為數(shù)據(jù)作為訓(xùn)練集對(duì)模型進(jìn)行訓(xùn)練,樣本的構(gòu)建方法如4.1節(jié)所示。我們采用F1-score作為模型的評(píng)價(jià)指標(biāo),F(xiàn)1-score可以看成是準(zhǔn)確率(precision)和召回率(recall)的調(diào)和平均數(shù),只有在兩者都較高時(shí)才能有較高的得分,目前F1值已廣泛用于推薦系統(tǒng)的評(píng)價(jià)中。
6.3 數(shù)據(jù)預(yù)處理與實(shí)驗(yàn)設(shè)置
由于本文中采用的數(shù)據(jù)集正負(fù)樣本分布極其不平衡,比例約為1∶680,負(fù)樣本中含有較多的噪聲,為了讓模型更適合不平衡數(shù)據(jù)下的學(xué)習(xí)[16],我們對(duì)負(fù)樣本做了隨機(jī)欠采樣(under sampling)處理,有放回地選擇5%負(fù)樣本與正樣本合并作為該標(biāo)注日的訓(xùn)練數(shù)據(jù)集。為了豐富數(shù)據(jù)集,我們選擇了多個(gè)標(biāo)注日的數(shù)據(jù)合并作為最終訓(xùn)練集。按照第四節(jié)中所介紹的方法統(tǒng)計(jì)特征,將每個(gè)樣本可以劃分為共九個(gè)時(shí)間窗口。模型訓(xùn)練過程采用AdaDelta Update Rule進(jìn)行隨機(jī)梯度下降調(diào)整模型的參數(shù)。模型可調(diào)的超參數(shù)(hyper parameters)如表3所示,表中的值為在驗(yàn)證集誤差最小時(shí)模型的超參數(shù)。
表3 卷積神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
6.4 實(shí)驗(yàn)結(jié)果與對(duì)比
為了驗(yàn)證卷積神經(jīng)網(wǎng)絡(luò)在捕獲用戶對(duì)商品時(shí)序偏好和挖掘用戶時(shí)序行為特征之間內(nèi)在聯(lián)系的優(yōu)勢(shì),我們?cè)诒WC訓(xùn)練特征等條件相同的情況下對(duì)比了幾種常用的分類模型。它們分別是線性邏輯回歸分類模型[17](logistic regression, LR)、支持向量機(jī)模型[18](support vector machine, SVM)、隨機(jī)森林模型[19](random forests, RF)和梯度提升回歸樹模型[20](gradient boosting decision tree, GBDT),另外還對(duì)比了將最近8小時(shí)加入購物車商品(latest cart)作為推薦結(jié)果。我們對(duì)預(yù)測(cè)結(jié)果進(jìn)行了過濾,只選擇O2O商品作為最終的預(yù)測(cè)結(jié)果,實(shí)驗(yàn)中使用了sklearn工具包。實(shí)驗(yàn)過程中各個(gè)模型的超參數(shù)設(shè)置分別為:
① LR,選擇L2正則,正則化系數(shù)為0.1。
② SVM,選擇徑向基(radial basis function, RBF)核函數(shù),核函數(shù)gamma為0.005。
③ RF,樹的數(shù)量為200,選擇熵作為特征切分標(biāo)準(zhǔn),隨機(jī)特征比例為0.5。
④ GBDT,樹的數(shù)量為100,學(xué)習(xí)率為0.1,樹的最大深度為3。
使用上述參數(shù)得到的實(shí)驗(yàn)結(jié)果如表4所示。從中可以看出,使用本文設(shè)計(jì)的特征的各機(jī)器學(xué)習(xí)模型效果均較大幅度地優(yōu)于基于購物車規(guī)則的Latest Cart,說明本文對(duì)用戶的時(shí)序行為偏好建模是合理的,對(duì)于提高推薦系統(tǒng)準(zhǔn)確率有積極作用。在單一模型中,CNN模型效果最佳。使用簡(jiǎn)單投票的模型融合方法,將LR及GBDT前N個(gè)結(jié)果的交集,合并到CNN的輸出中,可進(jìn)一步提高模型結(jié)果。由此也說明本文方法與傳統(tǒng)的LR及GBDT擁有不同的視角,由于線性模型假設(shè)各個(gè)特征是獨(dú)立的,無法挖掘出特征之間的內(nèi)在聯(lián)系, 本文 提出的方法能更好地挖掘用戶時(shí)序偏好特征之間的內(nèi)在聯(lián)系,并且能夠充分地利用用戶的隱性反饋行為。
表4 各個(gè)模型的實(shí)驗(yàn)結(jié)果對(duì)比
本文中的任務(wù)要求預(yù)測(cè)出未來一天內(nèi)用戶購買的確切商品,不同于以往的推薦問題,該任務(wù)要求較為苛刻,用戶是否購買一件商品受很多因素影響,預(yù)測(cè)難度較大,傳統(tǒng)的推薦方法如協(xié)同過濾更偏向于預(yù)測(cè)用戶感興趣的商品,對(duì)購買行為的預(yù)測(cè)效果較差。此外,使用傳統(tǒng)帶時(shí)序信息的推薦方法如factorizing personalized Markov chains(FPMC)等,均只能預(yù)測(cè)出在未來一段時(shí)間內(nèi)用戶可能感興趣的商品,而對(duì)于固定一天時(shí)間內(nèi)的預(yù)測(cè)效果較差。本文任務(wù)來源于阿里移動(dòng)推薦算法競(jìng)賽,在經(jīng)過大量實(shí)驗(yàn)及對(duì)競(jìng)賽中各個(gè)隊(duì)伍所選用的方法進(jìn)行對(duì)比后發(fā)現(xiàn),使用原始推薦方法協(xié)同過濾、FPMC等在該任務(wù)上所得到的準(zhǔn)確率均無法超過2%,與本文中對(duì)比的分類方法相比均存在較大差距。由此也說明,對(duì)于未來固定時(shí)間內(nèi)的購買行為預(yù)測(cè)問題,使用分類的方法能取得更好的效果。因此,本文著重比較了多個(gè)分類模型在該任務(wù)上的效果差異。
本文也對(duì)比了阿里推薦競(jìng)賽中的冠軍隊(duì)伍公布的其模型在12月18日數(shù)據(jù)集上評(píng)測(cè)的結(jié)果*https://tianchi.shuju.aliyun.com/mini/reply.htm,表5中展示了本文中的各個(gè)模型與冠軍隊(duì)伍對(duì)應(yīng)模型的F1值的對(duì)比結(jié)果。從中可看出, 本文中的CNN模型及經(jīng)過簡(jiǎn)單的模型融合后,模型結(jié)果的F1值優(yōu)于對(duì)方對(duì)應(yīng)模型的結(jié)果。由此也可在一定程度上說明本文構(gòu)建的CNN網(wǎng)絡(luò)結(jié)構(gòu)及引入的用戶隱性反饋行為的合理性。
表5 本文方法與競(jìng)賽隊(duì)伍最優(yōu)F1值對(duì)比
本文分析了雙十二購物節(jié)對(duì)于模型預(yù)測(cè)結(jié)果的影響。如圖4所示,在雙十二當(dāng)天,各模型預(yù)測(cè)結(jié)果的F1值均有大幅提升,其中CNN模型當(dāng)天的F1值達(dá)到15.44%,經(jīng)過模型融合后結(jié)果進(jìn)一步提升到16.21%。而在11日及13日模型預(yù)測(cè)結(jié)果則有明顯的下降。分析原因在于,在雙十二購物節(jié)前后幾天里,人們的購物行為與平常相比出現(xiàn)了較大差異,人們將通常分散在幾天購買的東西,集中在購物節(jié)當(dāng)天購買。使得在用戶有限的潛在購買商品集合中,在當(dāng)天產(chǎn)生更多購買行為,從而使得模型對(duì)購買行為的預(yù)測(cè)效果有所提升。從圖4中也可看出,在CNN模型的基礎(chǔ)上進(jìn)行簡(jiǎn)單投票方式的模型融合,便可在大多數(shù)時(shí)間中得到更優(yōu)的效果,說明本文中的CNN模型與其他對(duì)比模型在數(shù)據(jù)處理上較為不同,能夠更好地萃取出不易被其他模型感知到的用戶隱性反饋行為。
圖4 各模型預(yù)測(cè)結(jié)果的F1值與日期的關(guān)系
針對(duì)用戶的隱性反饋行為,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的下一個(gè)購物籃推薦算法。本文選取電子商務(wù)領(lǐng)域中的下一個(gè)購物籃推薦作為研究目標(biāo), 介紹了所研究問題,并詳細(xì)介紹了本文所采用的方法。首先將用戶行為按照一定的時(shí)間窗口進(jìn)行劃分,對(duì)于每個(gè)窗口,從多個(gè)維度抽取用戶對(duì)商品的時(shí)序偏好特征。運(yùn)用深度學(xué)習(xí)領(lǐng)域的卷積神經(jīng)網(wǎng)絡(luò)模型,由模型中的卷積層組合不同長(zhǎng)度的特征圖來訓(xùn)練分類器。最后介紹了本文的實(shí)驗(yàn)過程,在真實(shí)數(shù)據(jù)集上取得了較好的預(yù)測(cè)效果,實(shí)驗(yàn)結(jié)果也表明本文方法與其他線性或樹形模型具有不同的特征抽取視角,有更強(qiáng)的特征萃取能力及泛化能力,同時(shí)經(jīng)簡(jiǎn)單投票的模型融合后能產(chǎn)生更好的效果,有助于提高推薦系統(tǒng)的準(zhǔn)確性及用戶滿意度。
另外我們也發(fā)現(xiàn),在當(dāng)前的下一個(gè)購物籃推薦中也存在一些可以改進(jìn)的方面,比如在商品顯性反饋行為建模中引入更多的外部信息,如用戶對(duì)商品評(píng)論信息,融入文本挖掘特征及評(píng)論的情感信息等。在建模方面可以對(duì)用戶進(jìn)行用戶畫像,從而更細(xì)致地考慮不同類型用戶的偏好特點(diǎn)。另一方面,對(duì)商品也進(jìn)行更加細(xì)致的刻畫,如考慮其位置信息等。
[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)域?yàn)橥扑]系統(tǒng),用戶畫像挖掘,深度學(xué)習(xí)與文本情感分析等。
E-mail: lym199286@mail.dlut.edu.cn
練緒寶(1993—),碩士,主要研究領(lǐng)域?yàn)橥扑]系統(tǒng),機(jī)器學(xué)習(xí)等。
E-mail: lianxubao93176@163.com
徐博(1988—),博士研究生,主要研究領(lǐng)域?yàn)樗阉饕?,機(jī)器學(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);國家重點(diǎn)研發(fā)計(jì)劃(2016YFB1001103)