孫禮輝
(安徽商貿(mào)職業(yè)技術(shù)學(xué)院經(jīng)貿(mào)系 安徽蕪湖 241002)
據(jù)第41次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》數(shù)據(jù)顯示,2017年12月我國(guó)手機(jī)上網(wǎng)人數(shù)為7.53億,網(wǎng)民中手機(jī)上網(wǎng)的占97.5%[1](P1)。據(jù)艾媒咨詢數(shù)據(jù)顯示,2017年國(guó)內(nèi)網(wǎng)絡(luò)零售市場(chǎng)中移動(dòng)端交易額占比為70.8%[2](P5)。隨著各傳統(tǒng)電商企業(yè)和新興電商企業(yè)進(jìn)入移動(dòng)電商領(lǐng)域,移動(dòng)電商的信息內(nèi)容數(shù)量將急劇增加,超過(guò)了用戶的信息接受能力范圍,同時(shí)由于移動(dòng)設(shè)備在數(shù)據(jù)運(yùn)算、顯示等方面能力有限,導(dǎo)致“移動(dòng)信息過(guò)載”問(wèn)題的產(chǎn)生。而移動(dòng)推薦系統(tǒng)通過(guò)篩選和優(yōu)化推薦商品,能緩解移動(dòng)信息過(guò)載問(wèn)題,并有效提升用戶網(wǎng)購(gòu)體驗(yàn)。
O2O電子商務(wù),即線上下單、線下消費(fèi)的模式,是移動(dòng)商務(wù)的一種重要模式,早期以團(tuán)購(gòu)為主,目前擴(kuò)展到本地消費(fèi)、打車、共享經(jīng)濟(jì)等各個(gè)領(lǐng)域。O2O電商具有很強(qiáng)的位置屬性,需要同時(shí)考慮用戶和平臺(tái)商品的位置,并根據(jù)距離遠(yuǎn)近對(duì)商品進(jìn)行合理排序推薦。將位置信息融入推薦算法中,對(duì)于優(yōu)化O2O電商購(gòu)物流程,提高流量轉(zhuǎn)化率具有重要意義。
本文提出一種基于位置信息和協(xié)同過(guò)濾的移動(dòng)推薦算法。主要解決如下問(wèn)題:
①根據(jù)用戶和項(xiàng)目之間距離遠(yuǎn)近對(duì)項(xiàng)目進(jìn)行預(yù)過(guò)濾,縮小推薦范圍,降低計(jì)算量。②將用戶相似度和項(xiàng)目相似度相結(jié)合,優(yōu)化協(xié)同過(guò)濾算法,優(yōu)化推薦效果。
(一)協(xié)同過(guò)濾。目前基于協(xié)同過(guò)濾的推薦算法主要有UserCF與ItemCF兩類。UserCF是基于用戶間的相似度進(jìn)行推薦,ItemCF是基于項(xiàng)目間的相似度進(jìn)行推薦。本文采用UserCF和ItemCF相結(jié)合的算法,既考慮用戶的相似度,又考慮項(xiàng)目的相似度,給用戶推薦最合適的項(xiàng)目。本文采用目前廣泛使用的皮爾森相關(guān)系數(shù)來(lái)計(jì)算相似度。
用戶u與用戶v之間的相似度計(jì)算公式為:
其中,iuv表示用戶u和用戶v均評(píng)分過(guò)的項(xiàng)目交集,Rvi表示用戶v對(duì)項(xiàng)目i的評(píng)分,Rui表示用戶u對(duì)項(xiàng)目i的評(píng)分,和分別表示用戶u和用戶v在過(guò)去對(duì)所有項(xiàng)目評(píng)分的均值。表示用戶u和用戶v之間的相似程度,其值越大,表示相似程度越高,反之則表示相似程度越小。
項(xiàng)目i和項(xiàng)目j之間的相似度計(jì)算公式為:
其中,Ruj表示用戶u對(duì)項(xiàng)目j的評(píng)分,uij表示給項(xiàng)目i和項(xiàng)目j都 評(píng)分過(guò)的用戶交集,和表示過(guò)去所有用戶對(duì)項(xiàng)目i和項(xiàng)目j的評(píng)分均值。sim(i , j)表示項(xiàng)目i和項(xiàng)目j之間的相似程度。
(二)初步預(yù)測(cè)評(píng)分。用戶u對(duì)項(xiàng)目i的初步預(yù)測(cè)評(píng)分可以通過(guò)如下公式計(jì)算:
(三)修正評(píng)分。由于項(xiàng)目距離對(duì)用戶消費(fèi)決策具有一定影響,因此將項(xiàng)目距離引入評(píng)分計(jì)算公式中。通過(guò)如下公式對(duì)初步預(yù)測(cè)評(píng)分進(jìn)行修正:
其中,Rui為修正評(píng)分,表示初步預(yù)測(cè)評(píng)分,dui表示用戶u與項(xiàng)目i之間的位置距離,D為有效推薦距離,ρ是為了將預(yù)測(cè)評(píng)分修正為在歷史評(píng)分的分布范圍內(nèi)。
(一)相關(guān)定義。定義1:有效推薦距離D。在計(jì)算用戶有效推薦區(qū)域,圈定目標(biāo)項(xiàng)目時(shí),以用戶位置為圓心,一定距離為半徑的圓為范圍形成的有效推薦區(qū)域來(lái)進(jìn)行篩選。
(二)設(shè)計(jì)思想。在O2O電商消費(fèi)場(chǎng)景中,當(dāng)某項(xiàng)目距離較近時(shí),用戶購(gòu)買該項(xiàng)目的概率較大。因此,首先根據(jù)有效推薦距離D對(duì)項(xiàng)目進(jìn)行篩選,形成預(yù)推薦集。其次,針對(duì)預(yù)推薦集合中的每個(gè)用戶u未評(píng)過(guò)分的項(xiàng)目i,利用基于用戶相似度與基于項(xiàng)目相似度相結(jié)合的協(xié)同過(guò)濾算法,對(duì)項(xiàng)目i的評(píng)分預(yù)測(cè);然后,根據(jù)項(xiàng)目與用戶間距離對(duì)評(píng)分進(jìn)行修正,使距離越近項(xiàng)目評(píng)分越高;最后,按照用戶u對(duì)預(yù)推薦項(xiàng)目的評(píng)分高低進(jìn)行Top_N推薦。
與一般的協(xié)同過(guò)濾推薦算法相比,該推薦算法根據(jù)項(xiàng)目與用戶間距離對(duì)項(xiàng)目進(jìn)行篩選,縮小推薦范圍,降低計(jì)算量。與一般基于位置的移動(dòng)推薦算法相比,該算法應(yīng)用協(xié)同過(guò)濾對(duì)推薦系統(tǒng)進(jìn)行優(yōu)化,使推薦結(jié)果更加準(zhǔn)確。
(三)推薦算法。基于位置信息和協(xié)同過(guò)濾的移動(dòng)推薦算法(LBCF)的具體推薦過(guò)程如下:
輸入:用戶集合U、用戶位置信息、項(xiàng)目集合I、項(xiàng)目位置信息、歷史評(píng)分集合R、有效推薦距離D。
輸出:用戶u在當(dāng)前位置對(duì)附近項(xiàng)目按預(yù)計(jì)評(píng)分從高到低排列的top_N推薦列表。
①獲取用戶u及所有項(xiàng)目的位置信息,對(duì)超出有效推薦距離的項(xiàng)目進(jìn)行過(guò)濾,篩選得出預(yù)推薦集P。
②在歷史評(píng)分集合R中獲取用戶u的歷史評(píng)分列表uList。
③在預(yù)推薦集中取出第i個(gè)項(xiàng)目,若用戶u對(duì)項(xiàng)目i有過(guò)歷史評(píng)分則進(jìn)入步驟⑦,若沒(méi)有評(píng)分則進(jìn)入下一步。
④在歷史評(píng)分集合R中獲取對(duì)項(xiàng)目i有過(guò)評(píng)分的用戶列表iList。對(duì)于用戶列表iList中每個(gè)用戶ui,從歷史評(píng)分集合R中獲取其歷史評(píng)分列表uiList,然后應(yīng)用公式(1)計(jì)算用戶u與用戶ui間的相似度sim(u,ui)。
⑤對(duì)于uList中每個(gè)項(xiàng)目iu,從R中獲取所有用戶對(duì)該項(xiàng)目的評(píng)分記錄列表iuList,并根據(jù)公式(2)計(jì)算項(xiàng)目i和iu相似度sim(i,iu)。
⑦循環(huán)執(zhí)行步驟③到⑥,使用戶u對(duì)預(yù)推薦集中所有項(xiàng)目都有評(píng)分。
⑧應(yīng)用公式(4)對(duì)預(yù)測(cè)評(píng)分進(jìn)行修正,使得距離越近的項(xiàng)目相應(yīng)的評(píng)分越高。
⑨按照評(píng)分高低對(duì)項(xiàng)目進(jìn)行排序,選擇排名靠前的Top_N項(xiàng)目進(jìn)行推薦。
⑩對(duì)用戶集合中所有用戶,按照步驟①到⑨進(jìn)行計(jì)算,完成推薦過(guò)程。
(一)數(shù)據(jù)集。實(shí)驗(yàn)的數(shù)據(jù)集選自某電商平臺(tái)從2015年8月至2016年9月的部分訂單數(shù)據(jù),并對(duì)數(shù)據(jù)作了篩選處理,使每個(gè)用戶至少評(píng)價(jià)過(guò)一個(gè)商品,最終生成的數(shù)據(jù)集含有3629個(gè)用戶對(duì)236個(gè)商品的11023條購(gòu)買記錄,該數(shù)據(jù)集的稀疏度為89.2%。購(gòu)買記錄包括購(gòu)買時(shí)間、用戶購(gòu)買時(shí)的位置信息、用戶評(píng)分,評(píng)分為從1到5分。
(二)評(píng)價(jià)指標(biāo)。實(shí)驗(yàn)結(jié)果評(píng)價(jià)可以評(píng)估算法的性能。為評(píng)估本實(shí)驗(yàn)算法的精確度,采用廣泛使用的平均絕對(duì)誤差MAE對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià)。該指標(biāo)是通過(guò)計(jì)算預(yù)測(cè)評(píng)分與實(shí)際評(píng)分的差距來(lái)評(píng)價(jià)推薦結(jié)果的準(zhǔn)確性。當(dāng)MAE值越小,表示推薦越準(zhǔn)確[4](P5)。MAE計(jì)算公式為:
其中,N表示預(yù)測(cè)樣本的數(shù)量。p表示預(yù)測(cè)評(píng)分,q表示實(shí)際評(píng)分。
(三)實(shí)驗(yàn)結(jié)果分析。將實(shí)驗(yàn)數(shù)據(jù)按8:2的比例分成訓(xùn)練集與測(cè)試集,訓(xùn)練集用戶算法訓(xùn)練,測(cè)試集用于驗(yàn)證,通過(guò)計(jì)算平均絕對(duì)誤差來(lái)評(píng)價(jià)推薦結(jié)果。同時(shí),以基于用戶的協(xié)同過(guò)濾推薦算法UserCF和基于位置的最近距離均值推薦方法DARS進(jìn)行對(duì)比實(shí)驗(yàn)。然后通過(guò)實(shí)驗(yàn)確定合適的有效推薦距離D。將D設(shè)置為多個(gè)不同的參數(shù)值,使用LBCF算法在訓(xùn)練集上進(jìn)行訓(xùn)練,并通過(guò)測(cè)試集測(cè)試,得到評(píng)價(jià)數(shù)據(jù)如表1所示。
表1 不同有效推薦距離的LBCF推薦效果評(píng)價(jià)
由表1數(shù)據(jù)可以看出,當(dāng)有效推薦距離D值取為1000米時(shí),推薦效果最好。因此,實(shí)驗(yàn)中D取值1000。
以UserCF和DARS為對(duì)比算法進(jìn)行對(duì)比實(shí)驗(yàn)。其中DARS和LBCF中的有效推薦距離D值均取1000m。在不同參數(shù)ρ的取值下,對(duì)比實(shí)驗(yàn)結(jié)果如圖1所示。
圖1 ρ取不同值時(shí)各算法的MAE對(duì)比
根據(jù)圖1數(shù)據(jù)對(duì)比,ρ取值0.8時(shí),上述基于位置信息和協(xié)同過(guò)濾的移動(dòng)推薦算法(LBCF)實(shí)驗(yàn)結(jié)果明顯優(yōu)于基于用戶協(xié)同過(guò)濾推薦算法(UserCF)和基于位置的最近距離均值推薦方法(DARS)的推薦效果。
本文針對(duì)目前O2O電商在移動(dòng)推薦領(lǐng)域的需求,在參考現(xiàn)有協(xié)同過(guò)濾推薦算法相關(guān)文獻(xiàn)的基礎(chǔ)上,對(duì)UserCF和ItemCF算法結(jié)合,對(duì)協(xié)同過(guò)濾進(jìn)行改進(jìn),同時(shí)考慮距離遠(yuǎn)近對(duì)購(gòu)物決策的影響,將位置信息加入推薦算法中,優(yōu)化推薦效果,提升用戶體驗(yàn)。該算法在降低推薦計(jì)算量、推薦質(zhì)量上都有一定改進(jìn)。下一步改進(jìn)的方向主要在于研究時(shí)間、消費(fèi)能力等因素的影響,為用戶提供更加個(gè)性化的推薦。