王 勇,易 庭
(廣東工業(yè)大學計算機學院,廣東廣州510006)
隨著移動互聯(lián)網(wǎng)的發(fā)展,越來越多的用戶都通過手機、平板等設備接入互聯(lián)網(wǎng),如何從用戶的位置信息中挖掘出商業(yè)利益已經(jīng)成為推薦領域的研究熱點.在商品推薦領域中常用的推薦算法有基于內(nèi)容推薦、協(xié)同過濾推薦、基于規(guī)則推薦、基于知識推薦等算法,其中協(xié)同過濾算法是在移動推薦領域中運用最為廣泛的算法[1].但是協(xié)同過濾推薦算法在實際應用中也存在不足,其中用戶評價標準不一導致評分矩陣誤差較大,SVD算法提出基于矩陣奇異值分解的方法解決該問題,但是該算法效率較低、運算量大.越來越多的移動軟件開始考慮用戶的位置信息,試圖通過用戶位置信息來提供更加精準個性化的服務.
移動推薦系統(tǒng)可以利用地點、時間、天氣等信息來影響推薦結果,其中基于位置的移動推薦系統(tǒng)是根據(jù)用戶的位置信息來提供準確的個性化推薦[2].移動用戶的興趣偏好隨著地理位置的不同會發(fā)生變化,同時待推薦商品也隨著用戶位置的移動而改變.然而當前移動推薦系統(tǒng)中考慮位置信息比較單一,只是簡單根據(jù)用戶位置獲取用戶周邊的商品和服務,或者根據(jù)用戶與商品的距離對待推薦商品進行排序,并沒有深入研究距離對推薦系統(tǒng)產(chǎn)生的影響.距離的遠近反映了用戶到達目的地的成本,推薦商品的距離越遠,用戶對該商品選擇的概率會隨之減少.對于推薦商品,用戶在其距離和喜好度上進行綜合考慮,用戶可能會選擇一個喜好度較低但距離更近的商品.僅僅通過距離遠近對推薦商品進行排序往往導致推薦的結果不能滿足用戶需求.Abowd等[3]提出的移動旅游推薦系統(tǒng),通過位置獲取天氣、溫度等過濾推薦項目,并沒有考慮移動用戶的個性化偏好和距離給用戶帶來的影響.Girardello等[4]提出的應用程序推薦系統(tǒng),該系統(tǒng)考慮了用戶位置信息對用戶選擇的影響,并沒有考慮移動用戶個人偏好和距離對應用程序選擇的影響.Yang[5]通過統(tǒng)計分析移動用戶訪問過的商家網(wǎng)頁,但是其忽略了“鄰居”用戶的距離關系.同時由于用戶對商品的評價標準不同,部分用戶在給商品進行評價時容易給出高分,而部分用戶對非喜愛的商品評分較低,導致評分矩陣的誤差較大,從而降低推薦列表準確度.
本文通過研究距離和評分趨勢對推薦系統(tǒng)的影響,在協(xié)同推薦的基礎上,提出一種新的基于距離衰減和評分趨勢改進的商品推薦方法.該方法中引入距離衰減函數(shù)和評分趨勢函數(shù)對協(xié)同推薦算法進行改進,并實現(xiàn)了一個基于該推薦方法的商品推薦系統(tǒng).
推薦系統(tǒng)主要是根據(jù)用戶的位置信息和購買歷史等數(shù)據(jù)為用戶提供精準推薦,本系統(tǒng)包括手機客戶端和服務器端,其系統(tǒng)架構如圖1所示.用戶通過移動設備向服務器發(fā)起請求,請求中攜帶位置等信息.其中位置信息通過位置管理模塊獲取,包括GPS或者基站定位方式獲取.服務器端包括用戶偏好管理、推薦商品管理和推薦處理3個模塊.用戶偏好管理模塊是通過獲取用戶的個人信息、購買記錄、簽到記錄等數(shù)據(jù),通過分類算法生成用戶偏好信息表;推薦商品管理模塊包括對商品進行分類等進行處理;推薦處理模塊采用協(xié)同推薦算法,首先通過評分趨勢函數(shù)對評分矩陣進行處理并計算出目標用戶的相似“鄰居”,然后通過相似“鄰居”對待推薦商品打分并根據(jù)位置信息對商品進行處理,從推薦商品中找到TOP—N商品返回給目標用戶.
圖1 系統(tǒng)架構圖Fig.1 System architecture graph
系統(tǒng)通過位置信息對商品和鄰居用戶集進行過濾.服務器通過用戶的請求獲取用戶的位置信息,根據(jù)距離式(1)、(2),從待推薦商品數(shù)據(jù)庫中獲取用戶周邊的待推薦商品集合I和用戶集R,通過用戶集合R查找用戶偏好數(shù)據(jù)庫形成用戶評分矩陣R(m,n).該矩陣表示不同用戶對項目的評分,其中rij是用戶i對項目j的打分.
距離公式采用球面坐標,(xa,ya)、(xb,yb)分別代表A、B兩個點的經(jīng)緯度,S代表兩個點的距離,式(3)把兩點之間的距離轉換到[0,1]區(qū)間(距離閾值為10 km),方便計算.
通過數(shù)據(jù)處理后獲得的用戶-項目R(m,n)評分矩陣,但是用戶在評分的時候往往會出現(xiàn)3種情況:積極用戶喜歡對購買的商品打高分,只有特別糟糕的情況下才會打低分;消極用戶則對產(chǎn)品極為嚴格,除非很滿意不然往往會給出低分;有的用戶不管好壞都會給一個中等分數(shù).從而導致評分矩陣偏差.本文通過計算用戶之間和項目之間的評分差異以及用戶評分趨勢,對評分矩陣進行處理.其中通過式(4)、(5)計算用戶和項目評分的趨勢,判斷用戶和項目是消極還是積極評分,其中為用戶的平均評分,而是項目的平均評分.
當φu與φi同時大于0時表明用戶偏向于積極評分,同時項目偏向于被積極評分.此時它們之間的評分取兩者之間的最低值.則它們之間的評分為
當φu與φi同時小于0時表明用戶偏向于消極評分,而項目偏向于被消極評分.此時它們之間的評分取兩者之間的最低值.則它們之間的評分為
當φu大于0而φi小于0時表明用戶偏向于積極評分而項目偏向于被消極品分,則它們之間的評分為
其β中為評分趨勢因子.
當φu小于0而φi大于0時表明用戶趨向于消極評分而項目趨向于被積極評分,此時它們的評分值為
通過商品評分趨勢函數(shù)對R′(m,n)進行處理,得到修正后的評分矩陣R′(m,n),同時該方法解決了評分矩陣的稀疏問題,通過預測用戶的評分趨勢使得用戶某些沒有評分的商品頁也能夠得到一個較準確的評分值.
通過該矩陣計算位置相鄰用戶與目標用戶的相似度,求出目標用戶最近“鄰居”,其中通過皮爾森公式(見式(10))計算相似度.式中Iuv表示用戶u與目標用戶v共同評分的項目,Ru,c表示用戶對項目c的評分,表示用戶對所有項目的平均評分,Rv,c表示目標用戶對項目c的評分,表示目標用戶對所有項目的平均評分.
通過目標用戶的最近鄰居評分矩陣,使用評分公式(11)對待推薦商品集I進行評分,獲得鄰居用戶對待推薦商品的評分表.
傳統(tǒng)的移動推薦算法只是通過用戶的位置信息獲取其周邊的服務進行推薦,但其并沒有考慮距離的遠近對用戶選擇的影響.Song[6-7]等指出個體總是頻繁地出現(xiàn)在某些特定的地點,位置上更靠近的用戶更容易產(chǎn)生相同的選擇.用戶選擇不同目標的概率與距離成負相關[8-9],隨著距離的擴大,人與人之間的影響會減弱,人與推薦產(chǎn)品之間的交互強度也會減弱,用戶選擇該產(chǎn)品的概率會隨之降低.距離衰減函數(shù)f(d)以距離d為參數(shù),目前最常用的距離衰減函數(shù)包括指數(shù)函數(shù)、冪函數(shù)以及高斯函數(shù),3種衰減函數(shù)衰減關系如圖2所示.隨著用戶之間距離的增大,用戶之間的相關度會減弱.其中指數(shù)函數(shù)和冪函數(shù)衰減速度過快,導致通過距離對推薦集的影響過大,影響了生成推薦商品集的正確性.
圖2 距離衰減圖Fig.2 Distance decay graph
本文采用高斯型衰減函數(shù),如式(12)所示,高斯衰減函數(shù)更能夠反映推薦系統(tǒng)中用戶對商品的選擇與距離之間的關系,其中α為衰減函數(shù)的衰減因子,衰減因子控制衰減函數(shù)的衰減速度.采用式(13)對待推薦商品的評分表進行距離衰減,選擇評分超過預設閾值的TOP-N商品推薦給用戶.
系統(tǒng)中的數(shù)據(jù)采集于Foursquare站點的簽到數(shù)據(jù)集,該數(shù)據(jù)集中包括大量的店鋪和商品以及位置信息、簽到記錄、用戶評論等大量信息.通過數(shù)據(jù)過濾提取出該站點2013年2月到2013年6月的簽到數(shù)據(jù)并刪除非活躍用戶的簽到信息(活躍用戶至少每個星期登錄一次),得到908 675個用戶和41 037 532條簽到數(shù)據(jù).最后通過位置信息選取紐約、洛杉磯、芝加哥等城市提取出相應的位置用戶的數(shù)據(jù).本文采用平均絕對誤差MAE、F1系數(shù)和排序分(rankscore)3個指標來對算法進行度量.
排序準確度用于度量推薦算法產(chǎn)生的列表符合用戶對產(chǎn)品排序的程度[10-11],考慮了推薦列表中的相對位置.Breese等提出排序分(rankscore)度量推薦系統(tǒng)的排序準確度,排序分rankscore′u越小說明用戶感興趣的在推薦列表中排在越靠前位置.定義如式(16)所示.
同時生成推薦集的平均時間是度量推薦算法復雜度的重要指標,在商用推薦系統(tǒng)中如果產(chǎn)生推薦集所需的時間開銷大,不僅影響系統(tǒng)的性能,同時也降低了用戶體驗.通過時間度量標準更能體現(xiàn)推薦算法的效率.
通過基于位置的商品推薦方法,本文建立了一個商品推薦系統(tǒng)應用原型.系統(tǒng)采用Foursquare數(shù)據(jù)集,并采用N折交叉驗證對數(shù)據(jù)集進行劃分,其中3/4數(shù)據(jù)作為訓練集,剩余1/4作為測試集.實驗中采用多種推薦方法對不同城市的用戶進行商品推薦并收集結果進行分析,其中分別包括協(xié)同推薦、不修正矩陣協(xié)同推薦(基于距離衰減函數(shù)改進的協(xié)同推薦)、SVD推薦、改進SVD推薦和本文基于距離衰減和評分趨勢改進的推薦算法.
距離衰減因子對本文推薦算法的影響分析.圖3表示距離衰減函數(shù)中衰減因子對排序分和MAE的影響.文獻指出對于個體在城市尺度的移動,距離衰減系數(shù)在1.0~2.0之間[12-14],系統(tǒng)中通過調(diào)整衰減因子的值產(chǎn)生不同商品推薦集推薦給用戶,當衰減因子為1.5時本文算法排序分和MAE趨向于最小,推薦精準度更高.
圖3 衰減因子與排序分、MAE關系圖Fig.3 The relationship between attenuation factor、ranking score and MAE standard diagram
在衰減因子取值為1.5后,系統(tǒng)分別采用了協(xié)同推薦(S0)、未修正矩陣推薦算法(S1)、SVD算法(S2)、改進SVD算法(S3)和本文推薦算法(S4)對不同城市的用戶進行商品推薦,并統(tǒng)計各算法的MAE、排序分、F1系數(shù)等數(shù)據(jù)如表1所示.從表中對比S1和S0可知通過距離衰減提高了協(xié)同推薦的準確率;對比S4與S1可知本文修正矩陣進一步提高了算法準確度;對比S2、S3、S4可知本文算法與SVD、改進SVD算法在MAE和F1指標基本相同,但是通過距離衰減使得本文算法排序分高于SVD和改進SVD算法.
表1 多個城市推薦算法評價Tab.1 Each city recommended algorithms evaluation
生成推薦集的平均時間是度量推薦算法復雜度的重要指標.實驗中統(tǒng)計各個算法產(chǎn)生推薦集的時間,并分析產(chǎn)生推薦集時間和用戶數(shù)量的關系,如圖4所示.隨著系統(tǒng)中用戶的增加,其中SVD算法的時間增長是最快的,因為SVD要對用戶矩陣進行奇異值分解,用戶越多評分矩陣越大,其矩陣處理耗時越高;協(xié)同推薦算法隨著用戶的增加其評分矩陣也會增大,效率越來越低,當用戶數(shù)量超過600時協(xié)同推薦算法的效率會低于本文推薦算法.本文推薦算法通過用戶評分趨勢對評分矩陣進行修正,其效率高于通過矩陣奇異值分解的SVD算法,同時通過距離衰減使得評分矩陣減小而提高效率;而不修正矩陣推薦算法沒有對用戶矩陣進行處理,但是其通過距離衰減使得其評分矩陣減小,其推薦效率是最高的.
圖4 各推薦算法效率圖Fig.4 Efficiency diagram of cornmend algortthms
本文提出一種基于位置的商品推薦方法,并在此基礎上構建了一個商品推薦應用系統(tǒng).該推薦方法研究了位置對商品推薦的影響和用戶評分標準不同給推薦帶來的影響,引入基于距離衰減和評分趨勢改進的協(xié)同推薦算法,提高了推薦商品的推薦準確度和排序.同時根據(jù)到目的用戶的距離對“鄰居”用戶和商品進行過濾,縮短了推薦商品集的產(chǎn)生時間,提高了系統(tǒng)的效率.
[1]余文喆,張蓉,王立.電子商務中的商品推薦系統(tǒng)[J].華東師范大學學報:自然科學版,2013(3):46-53.Yu W Z,Zhang R,Wang L.Recommendation in E-commerce[J].Journal of East China Normal University:Nature Science Editiion,2013(3):46-53.
[2]孟祥武,胡勛,王立才,等.移動推薦系統(tǒng)及其應用[J].軟件學報,2013,24(1):91-108.Meng X W,Hu X,Wang L C,et al.Mobile recommender systems and their applications[J].Journal of Software,2013,24(1):91-108.
[3]Abowd G D,Atkeson C G,Hong J,et al.A mobile context-aware tour guide[J].Wireless Networks,1997,3(5):421-433.
[4]Girardello A,Michahelles F.AppAware:which mobile applications are hot?[C]∥Proc of the Human Computer Interaction with Mobile Devices and Services(Mobile HCI 2010).Lisbon:ACM,2010:431-434.
[5]Yang W S,Cheng H C,Dia J B.A location-aware recommender system for mobile shopping environments[J].Expert Systems with Applications,2008,34(1):437-455.
[6]Song C,Qu Z,Blum M N,et al.Limits of predict ability in human mobility[J].Science,2010,327(5968):1018-1021.
[7]Song C,Koren T,Wang P,et al.Modeling the scaling properties of human mobility[J].Nature Physics,2010,6(10):818-823.
[8]劉瑜,龔俐,童慶禧.空間交互作用中的距離影響及定量分析[J].北京大學學報:自然科學版,2014,50(3):526-534.Liu Y,Gong L,Tong Q X.Quantifying the distance effect in spatial interactions[J].Acta Scientiarum Naturalium Universitaties PeKinensis,2014,50(3):526-534.
[9]袁書寒,陳維斌,傅順開.位置服務社交網(wǎng)絡用戶行為相似性分析[J].計算機應用,2012,32(2):322-325.Yuan S H,Chen W B,F(xiàn)u S K.User behavior similarity analysis of location based social network[J].Journal of Computer Applications,2012,32(2):322-325.
[10]朱郁筱,呂琳媛.推薦系統(tǒng)評價指標綜述[J].電子科技大學學報,2012,41(2):163-175.Zhu Y X,Lü L Y.Evaluation metrics for recommender system[J].Journal of University of Electronic Scienceand Technology of China,2012,41(2):163-175.
[11]劉建國,周濤,郭強.個性化推薦系統(tǒng)評價方法綜述[J].復雜系統(tǒng)與復雜性科學,2009,6(3):1-10.liu J G,Zhou T,Guo Q.Overview of the evaluated algorithms for the personal reconmendation systems[J].Complex Systems and Complexity Science,2009,6(3):1-10.
[12]Liu Y,Kang C,Gao S,et al.Understanding intra-urban trip patterns from taxi trajectory data[J].Journal of Geographical Systems,2012,14(4):463-483.
[13]Kang C,Ma X,Tong D,et al.Intra-urban human mobility patterns:An urban morphology perspective[J].Physica A:Statistical Mechanics and its Applications,2012,391(4):1702-1717.
[14]Gao S,Wang Y,Gao Y,et al.Understanding urban traffic flow characteristics:a rethinking of between-ness centrality[J].Environment and Planning B:Planning and Design,2013,40(1):135-153.