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