孫禮輝
(安徽商貿職業技術學院經貿系 安徽蕪湖 241002)
據第41次《中國互聯網絡發展狀況統計報告》數據顯示,2017年12月我國手機上網人數為7.53億,網民中手機上網的占97.5%[1](P1)。據艾媒咨詢數據顯示,2017年國內網絡零售市場中移動端交易額占比為70.8%[2](P5)。隨著各傳統電商企業和新興電商企業進入移動電商領域,移動電商的信息內容數量將急劇增加,超過了用戶的信息接受能力范圍,同時由于移動設備在數據運算、顯示等方面能力有限,導致“移動信息過載”問題的產生。而移動推薦系統通過篩選和優化推薦商品,能緩解移動信息過載問題,并有效提升用戶網購體驗。
O2O電子商務,即線上下單、線下消費的模式,是移動商務的一種重要模式,早期以團購為主,目前擴展到本地消費、打車、共享經濟等各個領域。O2O電商具有很強的位置屬性,需要同時考慮用戶和平臺商品的位置,并根據距離遠近對商品進行合理排序推薦。將位置信息融入推薦算法中,對于優化O2O電商購物流程,提高流量轉化率具有重要意義。
本文提出一種基于位置信息和協同過濾的移動推薦算法。主要解決如下問題:
①根據用戶和項目之間距離遠近對項目進行預過濾,縮小推薦范圍,降低計算量。②將用戶相似度和項目相似度相結合,優化協同過濾算法,優化推薦效果。
(一)協同過濾。目前基于協同過濾的推薦算法主要有UserCF與ItemCF兩類。UserCF是基于用戶間的相似度進行推薦,ItemCF是基于項目間的相似度進行推薦。本文采用UserCF和ItemCF相結合的算法,既考慮用戶的相似度,又考慮項目的相似度,給用戶推薦最合適的項目。本文采用目前廣泛使用的皮爾森相關系數來計算相似度。
用戶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之間的相似程度。
(二)初步預測評分。用戶u對項目i的初步預測評分可以通過如下公式計算:

(三)修正評分。由于項目距離對用戶消費決策具有一定影響,因此將項目距離引入評分計算公式中。通過如下公式對初步預測評分進行修正:

其中,Rui為修正評分,表示初步預測評分,dui表示用戶u與項目i之間的位置距離,D為有效推薦距離,ρ是為了將預測評分修正為在歷史評分的分布范圍內。
(一)相關定義。定義1:有效推薦距離D。在計算用戶有效推薦區域,圈定目標項目時,以用戶位置為圓心,一定距離為半徑的圓為范圍形成的有效推薦區域來進行篩選。
(二)設計思想。在O2O電商消費場景中,當某項目距離較近時,用戶購買該項目的概率較大。因此,首先根據有效推薦距離D對項目進行篩選,形成預推薦集。其次,針對預推薦集合中的每個用戶u未評過分的項目i,利用基于用戶相似度與基于項目相似度相結合的協同過濾算法,對項目i的評分預測;然后,根據項目與用戶間距離對評分進行修正,使距離越近項目評分越高;最后,按照用戶u對預推薦項目的評分高低進行Top_N推薦。
與一般的協同過濾推薦算法相比,該推薦算法根據項目與用戶間距離對項目進行篩選,縮小推薦范圍,降低計算量。與一般基于位置的移動推薦算法相比,該算法應用協同過濾對推薦系統進行優化,使推薦結果更加準確。
(三)推薦算法。基于位置信息和協同過濾的移動推薦算法(LBCF)的具體推薦過程如下:
輸入:用戶集合U、用戶位置信息、項目集合I、項目位置信息、歷史評分集合R、有效推薦距離D。
輸出:用戶u在當前位置對附近項目按預計評分從高到低排列的top_N推薦列表。
①獲取用戶u及所有項目的位置信息,對超出有效推薦距離的項目進行過濾,篩選得出預推薦集P。
②在歷史評分集合R中獲取用戶u的歷史評分列表uList。
③在預推薦集中取出第i個項目,若用戶u對項目i有過歷史評分則進入步驟⑦,若沒有評分則進入下一步。
④在歷史評分集合R中獲取對項目i有過評分的用戶列表iList。對于用戶列表iList中每個用戶ui,從歷史評分集合R中獲取其歷史評分列表uiList,然后應用公式(1)計算用戶u與用戶ui間的相似度sim(u,ui)。
⑤對于uList中每個項目iu,從R中獲取所有用戶對該項目的評分記錄列表iuList,并根據公式(2)計算項目i和iu相似度sim(i,iu)。
⑦循環執行步驟③到⑥,使用戶u對預推薦集中所有項目都有評分。
⑧應用公式(4)對預測評分進行修正,使得距離越近的項目相應的評分越高。
⑨按照評分高低對項目進行排序,選擇排名靠前的Top_N項目進行推薦。
⑩對用戶集合中所有用戶,按照步驟①到⑨進行計算,完成推薦過程。
(一)數據集。實驗的數據集選自某電商平臺從2015年8月至2016年9月的部分訂單數據,并對數據作了篩選處理,使每個用戶至少評價過一個商品,最終生成的數據集含有3629個用戶對236個商品的11023條購買記錄,該數據集的稀疏度為89.2%。購買記錄包括購買時間、用戶購買時的位置信息、用戶評分,評分為從1到5分。
(二)評價指標。實驗結果評價可以評估算法的性能。為評估本實驗算法的精確度,采用廣泛使用的平均絕對誤差MAE對實驗結果進行評價。該指標是通過計算預測評分與實際評分的差距來評價推薦結果的準確性。當MAE值越小,表示推薦越準確[4](P5)。MAE計算公式為:

其中,N表示預測樣本的數量。p表示預測評分,q表示實際評分。
(三)實驗結果分析。將實驗數據按8:2的比例分成訓練集與測試集,訓練集用戶算法訓練,測試集用于驗證,通過計算平均絕對誤差來評價推薦結果。同時,以基于用戶的協同過濾推薦算法UserCF和基于位置的最近距離均值推薦方法DARS進行對比實驗。然后通過實驗確定合適的有效推薦距離D。將D設置為多個不同的參數值,使用LBCF算法在訓練集上進行訓練,并通過測試集測試,得到評價數據如表1所示。

表1 不同有效推薦距離的LBCF推薦效果評價
由表1數據可以看出,當有效推薦距離D值取為1000米時,推薦效果最好。因此,實驗中D取值1000。
以UserCF和DARS為對比算法進行對比實驗。其中DARS和LBCF中的有效推薦距離D值均取1000m。在不同參數ρ的取值下,對比實驗結果如圖1所示。

圖1 ρ取不同值時各算法的MAE對比
根據圖1數據對比,ρ取值0.8時,上述基于位置信息和協同過濾的移動推薦算法(LBCF)實驗結果明顯優于基于用戶協同過濾推薦算法(UserCF)和基于位置的最近距離均值推薦方法(DARS)的推薦效果。
本文針對目前O2O電商在移動推薦領域的需求,在參考現有協同過濾推薦算法相關文獻的基礎上,對UserCF和ItemCF算法結合,對協同過濾進行改進,同時考慮距離遠近對購物決策的影響,將位置信息加入推薦算法中,優化推薦效果,提升用戶體驗。該算法在降低推薦計算量、推薦質量上都有一定改進。下一步改進的方向主要在于研究時間、消費能力等因素的影響,為用戶提供更加個性化的推薦。