強蓉
(西南大學 重慶市 400715)
近些年,在實際應用中,大多會選擇利用多種異構類型的上下文信息對不同用戶的潛在偏好進行分析和挖掘,并為用戶生成推薦列表,本文的研究提出一種融合時間序列的POI 動態(tài)推薦算法[1]。
在常規(guī)模式下,需要通過對不同用戶訪問情況的分析,來實現基于用戶的協(xié)同過濾。這一模式下,需要分析、研究用戶對相同位置訪問的次數。并對不同用戶之間的相似程度進行分析,即余弦相似度。協(xié)同過濾是一種十分經典的推薦算法,主要涉及到兩個部分,即離線的過濾和協(xié)同的過濾[2]。分析協(xié)同過濾模型,通常情況下包含了若干用戶和物品的數據信息。但是,評分數據并非存在于所有用戶之間,其中僅有部分用戶和數據間具有評分數據。而基于用戶的協(xié)同過濾算法,通過引入一定的時間意識因子,綜合各種地理位置信息進行分析,則可以構建起融合時間序列興趣點動態(tài)推薦模型。
在應用過程中,可以對時間序列進行不同的劃分。在具體的劃分方式上,有多種不同的情況[3]。例如,可以以小時為單位,將一天中的24 小時劃分為24 個相等的時間槽?;蛘咭蕴鞛閱挝唬瑢⒚恐? 天時間劃分為休息日和工作日兩個不同的時間序列。在本文的研究過程中,選擇將一天劃分為24 個小時。在不同的時刻,分別對用戶相應的偏好情況進行分析。其中,時間t 代表了一定的整數,這些整數的取值范圍為0~23。在對不同用戶進行推薦的時候,在考慮用戶喜好等情況的同時,也應綜合考慮時間問題,結合不同時間段,為用戶提供動態(tài)的推薦。而對不同時間段相似度度量的比較分析,可以掌握用戶當前的時間信息,之后,便可以更為精確的為用戶進行動態(tài)推薦。
通常情況下,用戶在興趣點訪問方面的偏好與時間相關。因此,在不同的時間點,不同的興趣點會對應具有不同的流行度。因此,對時間之間的關系進行分析有利于更好的對用戶的喜好情況進行分析和描述。
本文在應用基于用戶的協(xié)同過濾算法時,應用時間序列對其實施了一定的改進。在從相似性角度對不同用戶進行分析的時候,時間序列特征是十分重要的觀察內容。假設不同的用戶處于相同的時間范圍內,但對同一個位置的訪問頻率存在一定的差異或者存在較為相似的情況。那么,則說明用戶間所具有的相似度相對較低或者相對較高。具體進行分析的過程中,可以使用余弦相似度來衡量不同用戶之間的相似度,計算公式如下所示:
在對不同時間序列相似性進行分析的時候,可以借助對全部用戶任意兩個時間點間相似度統(tǒng)計結果來進行判定。將收集到的相似度統(tǒng)計結果處理后獲得平均值,即得到最終的統(tǒng)計結果,可用來進行相似度判定。具體情況如下述公式所示:
但是,在實際統(tǒng)計計算過程中,會出現一些孤立的時間點。這些時間點的存在會影響到最終的評估效果,降低了推薦效果。為此,還需要進行應的過渡處理。在進行處理的時候,可以選用平滑技術。
在研究中,設定在某一個時刻,即t 時刻,用戶對位置l 進行了一定的訪問。那么,對這一情況進行相關預測,計算出評分結果的方法參照如下公式,其中,與當前t 時刻的跨度之間的距離用n予以表示:
1.3.1 基于地理因子的推薦算法
從分布規(guī)律角度進行分析可以發(fā)現,POI 的訪問情況與冪律分布情況相符合。具體來看,表現為POI 間距離越小,對應的用戶訪問的概率便越大。由此可見,在實際生活中,在興趣點推薦領域,地理位置是一項十分重要的內容,會對相應的推薦效果產生很大的影響。在統(tǒng)計學中,冪律power law表示的是兩個量之間的函數關系,其中一個量的相對變化會導致另一個量的相應冪次比例的變化,且與初值無關:表現為一個量是另一個量的冪次方[4]。例如,正方形面積與邊長的關系,如果長度擴大到兩倍,那么面積擴大到四倍。冪律分布是一種概率分布,在冪律分布中,事件發(fā)生的概率與事件大小的某個負指數成比例。也就是事件越大,發(fā)生的可能性越小。因此,在冪律分布中,小事件的數量要比大事件要多得多。冪律分布對兩個興趣點之間距離和用戶簽到幾率之間存在的關系進行了描述,具體情況可以如下的公式進行表示:
其中,dis 表示的為POI 之間的距離,P 代表的是簽到POI 的概率。如果取對數,則可以得到如下的公式:
對其中的各項參數進行計算,計算方法采用最小二乘回歸法。之后,可以選擇應用一定的分類算法得出推薦結果。本次研究中,選擇使用樸素貝葉斯分類法。樸素貝葉斯分類是一種十分簡單的分類算法,在該算法的具體應用過程中,解決思路十分簡單。在研究中可以設定特定的待分類項,之后,對此項出現情況下不同類別所出現的概率進行分析和統(tǒng)計,比較統(tǒng)計結果的大小,結果雖大的類別便為此待分類項所屬的類別。在整個數據集中,利用P 來的表示全部的興趣點集合,利用Pu 來表示用戶已經訪問過的興趣點。那么,在計算用戶未訪問過的興趣點P'的時候,其被用戶訪問的概率可以表示為:P( P' | Pu)。
如果現在前提條件是用戶已經訪問過Li,那么,在對其訪問Lj的預測值進行計算的時候,綜合應用基于地理影響因子所計算出的評分結果,可以采用的計算公式為:
1.3.2 基于流行度信息的推薦算法
基于流行度信息進行計算的過程中,首先需要以時間為基礎,掌握流行度特征的分布情況。為得到這一分布情況,還需要對在時間序列劃分的基礎上,處理各種興趣點的流行度信息。之后,結合所獲得的流行度特征分布情況,可以對用戶對興趣點的評分情況進行預測。具體來看,相應的計算公式如下:
其中,所有的興趣點集合用L 進行表示,在t 時刻興趣點l 被用戶所訪問過的次數總和用公式中的分子部分進行表示。
將流行度信息與地理因子綜合在一起,評分結果計算方法為:
建立UTPG 模型,假設某一個用戶u 在某一個時刻(t 時刻)對l 進行訪問。則相應的預測評分計算方法所參考的方式為下述公式所示內容:
其中,a 所代表的是調節(jié)參數,其取值范圍為0~1。
具體的算法流程如表1所示。
表1:算法流程
在對本研究所提出的算法結果進行評估的時候,需要借助一定的數據集。在本文中,選擇使用Gowalla 的用戶簽到數據集。在這一數據集中,會對不同用戶的每一次簽到情況進行相應的記錄,并對其中涉及到的不同屬性指標予以記錄,包括用戶的簽到時間和用戶ID 等。同時,還會涉及到一些地理位置相關屬性指標,例如用戶簽到地所處的精度和維度等等。該數據集是一種真實、可靠的數據集,在興趣點推薦領域的應用十分廣泛。本文在應用這一數據集的時候,將其中20%作為測試集,其余80%的數據則列為訓練集。
衡量推薦結果的質量需要進行科學的評估,在進行結果評估的時候,本文選擇使用召回率與精度這兩個常用的指標。在對不同算法的應用效果進行評估的時候,算法所具備的覆蓋能力是一個十分重要的觀察指標。算法的覆蓋能力越強,所對應的算法的應用效果越好。其中,召回率這一指標便可以用來對算法的覆蓋能力大小進行評估,進而幫助人們更好的對算法的效果進行判定。在對不同算法的準確性進行評估的時候,大多會選擇應用精度這一指標。在本文的研究中,在對推薦結果的質量進行評估和判定的時候,即選擇使用上述兩個指標。在計算精度的時候,應用的方式如下所示:
其中,Call與Ca代表的分別為全部集合與預測正確的集合。
在召回率進行計算的時候,計算方式如下所示:
其中,Ct與Ca代表的分別為實際正確的集合以及預測正確的集合。
在本文中,綜合考慮了4 種異構信息,提出了基于時間序列的POI 動態(tài)推薦算法。相關異構信息主要包括如下的內容:
(1)不同用戶間偏好影響信息。這一類型的信息可以用來分析不同用戶在偏好方面的具體情況;
(2)興趣點時間特征信息。借助這類型的信息,能夠實現對興趣點不同時刻所具備的時間特征的分析研究。
(3)地理位置信息。對用戶的不同訪問興趣點之間的關系進行分析,應用的分析方法為冪律分布函數。
(4)流行度信息。在研究中,通過對不同時刻不同興趣點所具備的流行度信息進行分析,并將其融合到一定的算法當中,可以得到對用戶訪問興趣點的預測信息,得出對應的預測概率結果。
另外,在實際生活中,進行興趣點實踐分析研究的時候,有時會受到現實條件等因素的影響,無法獲取到充足的數據信息,進而影響到最終的推薦效果,降低推薦的精確性。而本次研究中所提出的推薦算法在改善推薦性能方面具有良好的效果,可以很好的應對實際生活中數據稀疏等問題,確保推薦結果的準確性。另外,通過本文的結果分析和驗證也發(fā)現,研究中所應用的UTPG 算法在召回率以及精確度等指標方面均十分優(yōu)秀,可以獲得理想的推薦,具備一定的現實參考價值。