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