陳 炯,張 虎
(1.山西職業(yè)技術(shù)學(xué)院 計算機(jī)工程系,山西 太原030006;2.山西大學(xué) 計算機(jī)與信息技術(shù)學(xué)院,山西 太原 030006;3.山西大學(xué) 計算智能與中文信息處理教育部重點實驗室,山西 太原 030006)
興趣點(point-of-interest,POI)推薦通過分析用戶歷史數(shù)據(jù),挖掘用戶偏好,為用戶推薦可能感興趣的新的地理位置。POI推薦不僅能夠滿足用戶個性化需求,而且能夠幫助商家提供智能化位置服務(wù),實現(xiàn)精準(zhǔn)營銷,因此,近年來受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[1]。
現(xiàn)實生活中用戶安排某次行程、訪問某個位置,往往會參考朋友介紹,并考慮個人喜好、路途遠(yuǎn)近、時間約束等因素,因此,用戶在興趣點的簽到?jīng)Q策是一個復(fù)雜的過程,會受到社交關(guān)系、地理位置、個人興趣、時間等多方面因素的影響。目前已有的興趣點推薦方法大多通過收集并分析用戶簽到記錄關(guān)聯(lián)的社交關(guān)系、地理位置、評論內(nèi)容、簽到時間等信息,挖掘用戶隱藏偏好,借助協(xié)同過濾等方法向用戶推薦感興趣的地理位置[2-7],但是現(xiàn)有方法存在以下不足,一是推薦模型僅僅集成了部分因素,缺乏對用戶簽到?jīng)Q策影響因素的全面分析;二是很少將評論文本與時間因素同時融入推薦框架,特別是評論文本的情感傾向挖掘以及時間因素的深度分析尚不充分。
針對現(xiàn)有方法存在的不足,本文在分析基于位置的社交網(wǎng)絡(luò)(LBSN)中多源異構(gòu)復(fù)雜信息的基礎(chǔ)上,提出了內(nèi)容增強(qiáng)與時間匹配的興趣點推薦模型(GSRT),綜合考慮了地理、社交、內(nèi)容、時間等因素,集成了POI類別與流行度信息,使用自然語言處理技術(shù)挖掘評論文本的情感傾向,深度分析用戶活動規(guī)律與POI流行度的時間匹配,并將情感傾向與時間匹配同時融入推薦模型中,以提高興趣點推薦的性能。
用戶在興趣點上的簽到模式隱式反映了用戶的個性化偏好,一些研究將POI看著傳統(tǒng)推薦系統(tǒng)中的項目,借用經(jīng)典協(xié)同推薦算法挖掘用戶的簽到歷史記錄進(jìn)行興趣點推薦。Ye等[2]使用基于用戶的協(xié)同過濾框架來計算社交影響,獲得用戶對候選POI的社交相關(guān)分?jǐn)?shù)進(jìn)行興趣點推薦。Zhang等[3]采用基于用戶的協(xié)同過濾方法,聚合用戶的社交關(guān)系,并對社交簽到頻率或評分進(jìn)行分布估計,從而計算社交相關(guān)分?jǐn)?shù)參與POI推薦。由于LBSN中POI推薦的特殊性,單純使用簽到數(shù)據(jù)進(jìn)行POI推薦很難取得理想效果。
大量的研究致力于融合簽到數(shù)據(jù)與各類多源信息改進(jìn)POI推薦的性能[8]。Ying等[4]提出了一種稱為UPOI-Walk的模型,綜合了用戶的社交動機(jī)、個性化偏好和POI人氣吸引力用于推薦,取得了較好效果。Li等[5]提出了一種兩階段興趣點推薦模型,集成了社交朋友、位置朋友與鄰近朋友3種關(guān)系,進(jìn)一步提高了推薦質(zhì)量。雖然社交影響改善了興趣點推薦的效果,但其對POI推薦的貢獻(xiàn)非常有限[9]。Ye等[2]提出了一種統(tǒng)一的POI推薦框架,基于協(xié)同過濾思想,線性融合用戶偏好、社交影響和地理影響,由于引入地理因素,模型推薦效果有了較大提高,但是,影響用戶簽到?jīng)Q策的內(nèi)容與時間等信息尚未被模型使用,推薦準(zhǔn)確率有待進(jìn)一步提高。王嘯巖等[6]提出了一種稱為SoGeoCom的興趣點推薦模型,融合了社交網(wǎng)絡(luò)數(shù)據(jù)、地理位置及評論文本3個因素進(jìn)行興趣點推薦,并分別使用協(xié)同過濾、冪律分布與隱狄利克雷分布等方法和技術(shù),建模用戶社交影響、地理影響與用戶評論,該方法雖然使用了用戶簽到POI留下的評論信息,但是僅僅使用隱狄利克雷分布生成評論的主題,沒有識別并利用評論文本的情感指向。一些研究嘗試引入時間因素進(jìn)一步改進(jìn)推薦效果。Zhang等[7]提出了一種稱為TICRec的概率框架,綜合考慮了社交、位置與時間影響,并利用工作日和周末的時間影響相關(guān)性(TIC)來提高模型的推薦質(zhì)量,取得了較好效果,但是該方法忽略了用戶活動的時間規(guī)律性和POI隨時間變化的流行度,沒有將用戶和POI之間的時間匹配融入推薦框架中。
鑒于以上不足,本文做嘗試使用自然語言處理技術(shù)挖掘用戶評論情感傾向捕獲用戶簽到偏好,深度分析時間因素挖掘用戶活動時間規(guī)律與POI時間流行度之間的匹配,并將社交、地理、內(nèi)容、時間等多種因素同時融入統(tǒng)一的推薦框架中,提出了內(nèi)容增強(qiáng)與時間匹配的興趣點推薦模型,實驗結(jié)果表明所提出的模型推薦質(zhì)量有了明顯提升。
在LBSN中,包括用戶與位置兩類實體,以及用戶與位置、位置與位置、用戶與用戶3種關(guān)系。用戶對位置的簽到活動,生成了用戶與位置之間的特殊關(guān)系,加強(qiáng)了位置之間的相互關(guān)聯(lián),同時也促進(jìn)了用戶之間原有社交關(guān)系的演化。例如,用戶簽到了一個新的位置,會在用戶與位置之間建立簽到關(guān)系;同一用戶訪問的兩個位置之間的相關(guān)關(guān)系會發(fā)生改變;兩個用戶之間的社交關(guān)系因其簽到了相同的位置而得到加強(qiáng)。兩類實體之間的這3種關(guān)系隨著簽到活動的持續(xù)推進(jìn)而動態(tài)變化,使得LBSN中集聚的信息更加豐富,如圖1所示。POI推薦就是通過挖掘這些海量數(shù)據(jù)背后隱藏的模式和關(guān)系,洞悉用戶對位置的偏好,為用戶推薦未曾訪問過的感興趣的地理位置。
為便于說明問題,對文中所使用的主要符號作如下約定。U和ui分別表示LBSN中用戶的集合和集合中的一個用戶,F(xiàn)i代表用戶ui的朋友集合,L和li分別代表LBSN中所有位置組成的集合和集合中的一個位置,Li表示用戶ui簽到位置組成的集合,CH和chi分別表示LBSN上所有簽到記錄的集合和其中的一次簽到,C和ci分別表示LBSN上所有位置的類別組成的集合和類別集合中的一個元素,R與ri分別代表LBSN中所有評論的集合和其中的一個評論,Ω表示工作日與周末組成的集合。
圖1 多源異構(gòu)的LBSN信息網(wǎng)絡(luò)
通常情況下,受物理約束與成本限制,用戶更喜歡訪問距離較近的POI,用戶訪問POI呈現(xiàn)地理聚集現(xiàn)象[10]。研究表明LBSN中用戶簽到位置的距離呈現(xiàn)冪律分布[11]。因此可以使用冪律分布建模用戶簽到的地理影響。冪率分布函數(shù)如式(1)所示
p(d)=c·d-α
(1)
其中,d表示用戶當(dāng)前POI與候選POI之間的距離,p(d)表示用戶簽到候選POI的概率,c為歸一化常數(shù),α為冪指數(shù)。
數(shù)據(jù)擬合與參數(shù)估計的方法有多種,最大似然估計常用于冪律分布的參數(shù)估計,可使用最大似然估計法計算冪指數(shù)α。位置lm與ln之間的距離dis(lm,ln)可以通過Ha-versine 式(2)計算獲得
(2)
其中,R是地球的平均半徑,latm與latn分別是lm與ln的緯度,lonm與lonn分別是lm與ln的經(jīng)度。
設(shè)用戶ui簽到過的POI集合為Li,則ui在Li中所有POI處的簽到概率可按式(3)計算
(3)
根據(jù)貝葉斯規(guī)則,用戶在候選POIlj上的簽到概率p(lj|Li)可按式(4)計算
(4)
經(jīng)歸一化處理后,用戶ui簽到lj的地理相關(guān)分?jǐn)?shù)可按式(5)計算
(5)
社交同質(zhì)理論表明,社交關(guān)系在很大程度上影響人類的移動行為[9]。在LBSN中,用戶的社交關(guān)系不僅對用戶的簽到?jīng)Q策產(chǎn)生重要影響,而且可以緩解POI推薦面臨的數(shù)據(jù)稀疏與冷啟動問題[12]。通過分析簽到數(shù)據(jù)發(fā)現(xiàn),朋友之間的距離不同,社交關(guān)系對簽到?jīng)Q策的影響也不相同,距離越近影響越大;用戶的社交朋友圈一定程度上反映了個人的文化背景和生活習(xí)俗,對用戶的簽到?jīng)Q策也會產(chǎn)生一定的影響,共同朋友越多,社交關(guān)系對簽到?jīng)Q策的影響越大;用戶簽到的興趣點一定程度上反映了用戶的個人品味與興趣偏好,朋友之間共同簽到的POI越多,興趣偏好越相似,其建議被對方采納的可能性也越大。綜合用戶距離、共同朋友、共同簽到3個方面來度量不同用戶之間的社交影響力具有一定的合理性。定義用戶ui與uj之間的社交影響力為社交影響因子soi,j,采用式(6)計算
(6)
(7)
其中,soi,k為用戶ui與uk之間的社交影響因子。
LBSN中,與興趣點關(guān)聯(lián)的內(nèi)容信息包括評論、照片、視頻及評分等。興趣點推薦算法通常假設(shè),用戶總是喜歡其簽到過的POI。然而,這種假設(shè)忽略了兩個事實:一是用戶雖然到訪了某個POI,卻給出了差評;二是用戶十分期待尚未簽到過的POI。簡單地根據(jù)用戶簽到過某POI便得出用戶喜歡該POI的結(jié)論,顯然是不符合實際的。評論文本所蘊含的情感指向才是用戶對POI滿意度的真實表達(dá)。
評論的情感傾向性分析有多種方法,最基本的是基于詞典的無監(jiān)督情感分析方法。該方法使用自然語言處理工具與情感詞典,識別評論的情感傾向是積極、消極或中性的。首先需要對原始評論文本進(jìn)行預(yù)處理,包括噪聲過濾、標(biāo)簽消除、表情符過濾等,然后使用自然語言處理技術(shù)進(jìn)行分詞、詞性標(biāo)注,抽取形容詞或副詞作為評論的情感詞;最后,基于情感詞典計算文本中各情感詞的極性值總和,作為目標(biāo)評論的情感傾向性分值。
(8)
(9)
2.5.1 用戶活動時間規(guī)律建模
(10)
(11)
(12)
2.5.2 POI時間流行度建模
(13)
其中,cv(j)表示獲取lj類別的操作。
(14)
(15)
2.5.3 用戶與POI的時間匹配
(16)
(17)
采用與文獻(xiàn)[19]相同的數(shù)據(jù)集進(jìn)行實驗。簽到數(shù)據(jù)包含有用戶編號、評論文本、位置編號、位置經(jīng)緯度、簽到時間等信息。通過用戶編號與位置編號,能夠關(guān)聯(lián)用戶的社交關(guān)系與位置的類別等信息。
為獲取評論文本的情感傾向,使用NLTK 3.4與SentiWordNet 3.0[20],首先提取簽到數(shù)據(jù)中的評論文本,濾除非文本符號、非英文字符、URL、重復(fù)標(biāo)點符號等,然后進(jìn)行拼寫校正、詞干提取、停用詞過濾等,最后對評論進(jìn)行詞性標(biāo)注,并計算評論的情感傾向性分值。
推薦系統(tǒng)常用的評測指標(biāo)有準(zhǔn)確率(Precision)、召回率(Recall)、均方根誤差(RMSE)、平均絕對誤差(MAE)等,其中準(zhǔn)確率與召回率是通用指標(biāo)。本文使用Top@N推薦的準(zhǔn)確率P@N與召回率R@N進(jìn)行性能測試。定義如式(18)與式(19)所示
(18)
(19)
其中,R(u)表示推薦給用戶u的POI的Top@N列表,T(u)表示測試集中用戶實際簽到的POI列表。
(1)參數(shù)s的設(shè)置
參數(shù)s的大小反映了模型處理時間因素的粒度,s的取值不同,一方面會影響到用戶活動時間規(guī)律建模質(zhì)量,也會影響POI時間流行度模型的精度。為分析s的取值對模型性能的影響并選取最優(yōu)值,本文在僅考慮時間因素情況下,對比了不同s取值時模型的P@N與R@N,其中,N=5,10,15,20,實驗結(jié)果如圖2與圖3所示。當(dāng)s=24時,模型在不同N值下準(zhǔn)確率與召回率平均值分別為0.0314與0.0471,比s=48時模型的準(zhǔn)確率平均低0.0004,但召回率平均高出0.005,因此,綜合考慮準(zhǔn)確率與召回率,當(dāng)s=24時模型得了最佳性能。
圖2 不同s取值下的P@N
圖3 不同s取值下的R@N
(2)參數(shù)β的設(shè)置
為分析β的取值對模型性能的影響并選取合適的β值,本文在僅考慮時間因素情況下,對比了不同β取值時模型的P@N與R@N,其中,N=5,10,15,20,實驗結(jié)果如圖4與圖5所示。
圖4 不同β取值下的P@N
圖5 不同β取值下的R@N
從圖中可以看出,當(dāng)β=5/7時,模型在不同N值下均取得最佳性能,準(zhǔn)確率和召回率平均值分別達(dá)到最大值0.0319和0.0468。
為了驗證本文模型GSRT的有效性,選取US、USG、SoGeoCom、TICRec這4種典型的興趣點推薦模型作為基準(zhǔn)。
(1)US:一種稱為UPOI-Walk的興趣點推薦模型,通過用戶的個性化興趣、社交動機(jī)和位置的人氣吸引力推斷用戶位置偏好[4]。
(2)USG:一種興趣點推薦方法的經(jīng)典代表,通過組合用戶個性化偏好、社交關(guān)系和地理位置綜合預(yù)測用戶興趣位置[2]。
(3)SoGeoCom:一種整合社交網(wǎng)絡(luò)數(shù)據(jù)、地理位置及評論文本3個因素的興趣點推薦方法[6]。
(4)TICRec:考慮了社交影響、地理位置與時間影響相關(guān)性因素,利用工作日和周末的時間影響相關(guān)性(TIC)來實現(xiàn)時間感知的興趣點推薦[7]。
(5)GSRT模型:本文提出的集成了社交因素、地理影響、時間匹配、評論情感、分類與流行度信息的推薦模型。
實驗中,設(shè)置s=24,β=5/7,推薦列表長度N=5,10,15,20,實驗結(jié)果如圖6與圖7所示。
圖6 各模型精確率P@N對比
圖7 各模型召回率R@N對比
從圖6和圖7中可以看出,所有對比方法的準(zhǔn)確率與召回率都比較低,不同N值下,準(zhǔn)確率和召回率最高分別為0.176和0.074,這是由于LBSN中用戶簽到數(shù)據(jù)集非常稀疏,導(dǎo)致絕對準(zhǔn)確率與召回率較低,這與多數(shù)主流興趣點推薦算法的實驗結(jié)果是一致的[2,7]。
從圖6和圖7中也可以看出,當(dāng)推薦列表長度增加時,各種對比基線的準(zhǔn)確率和召回率變化趨勢與文獻(xiàn)[19]實驗結(jié)果一致。
從圖6和圖7中還可以看出,US模型的推薦準(zhǔn)確率和召回率最低,不同N值下,準(zhǔn)確率與召回率最高分別為0.082與0.038,這是因為該模型僅僅考慮了用戶的社交關(guān)系、分類偏好與POI流行度因素,沒有考慮地理位置、評論文本與時間因素。USG比US預(yù)測效果要好,是由于模型引入了地理位置信息作為預(yù)測因素,但與GSRT模型相比,USG模型沒有考慮評論文本與時間因素,也沒有利用POI分類與流行度信息,模型的預(yù)測性能仍有較大提升空間。與USG相比,SoGeoCom增加了評論文本信息,并通過隱狄利克雷分布挖掘評論的話題用于捕捉用戶偏好,導(dǎo)致推薦質(zhì)量有所提升,但與GSRT相比,未考慮時間因素、分類與流行度信息,也未挖掘用戶評論的情感傾向,因此推薦效果比較差。TICRec模型融合了社交影響、地理影響與時間影響相關(guān)性3個因素,與SoGeoCom相比,雖未考慮評論文本,但是由于模型集成了時間影響因素,并利用工作日和周末的時間影響相關(guān)性改善推薦質(zhì)量,推薦效果較好,但與GSRT相比,缺乏對評論文本、分類與流行度信息的利用,推薦質(zhì)量相對較低。GSRT模型在建模地理位置、社交關(guān)系對推薦預(yù)測影響的基礎(chǔ)上,將用戶評論內(nèi)容的情感指向與用戶活動的時間規(guī)律性匹配同時引入推薦框架中,并集成了位置的分類流行度信息,以增強(qiáng)推薦模型的預(yù)測能力,在不同的推薦列表長度下,準(zhǔn)確率達(dá)到0.176的最高值,與對比方法TICRec相比,準(zhǔn)確率與召回率平均提高了17%與21%。驗證了同時引入評論內(nèi)容的情感指向與用戶活動時間規(guī)律性匹配能夠有效改善模型的預(yù)測性能。
為解析內(nèi)容與時間因素對POI推薦的貢獻(xiàn)度,通過刪除GSRT模型相應(yīng)組件的方式構(gòu)建了2個對比模型,分別是GSRT模型刪除時間因素與評論文本后獲得的子模型GSR與GST模型。實驗中,N=5,10,15,20,并設(shè)置GST與GSRT模型的s=24,β=5/7,實驗結(jié)果如圖8與圖9所示。
圖8 各模型精確率P@N對比
圖9 各模型召回率R@N對比
從圖中可以看出,融合了地理、社交、內(nèi)容、時間等因素的GSRT模型明顯優(yōu)于GSR與GST模型,不同N值下,準(zhǔn)確率與召回率至少分別提升了0.013與0.0054,這是由于融合了更多因素的推薦模型能夠更加準(zhǔn)確地建模用戶的簽到偏好,獲得更好的推薦效果。
此外,從圖中還可以看出,融合了地理、社交、時間因素的GST模型明顯優(yōu)于融合了地理、社交、內(nèi)容的GSR模型,不同N值下,準(zhǔn)確率與召回率至少分別提升了0.006與0.003,說明時間因素對興趣點推薦的影響大于內(nèi)容因素,這是因為人們的日?;顒痈嗟氖艿綍r間的制約,盡管人們非常喜歡某個位置,但是時間約束限制了個人偏好的發(fā)揮。
本文針對LBSN中現(xiàn)有的興趣點推薦方法存在的不足,提出了內(nèi)容增強(qiáng)與時間匹配的POI推薦模型GSRT,該模型在考慮地理位置、社交關(guān)系基礎(chǔ)上,融入評論情感與時間等因素,通過使用自然語言處理技術(shù)挖掘評論文本的情感傾向,來調(diào)節(jié)用戶偏好估計,通過建模用戶活動時間規(guī)律與POI的時間流行度,匹配用戶簽到行為,進(jìn)一步增強(qiáng)推薦性能。大規(guī)模Foursquare真實數(shù)據(jù)上的實驗結(jié)果表明,GSRT模型明顯優(yōu)于當(dāng)前主流的興趣點推薦模型。
近年來,深度學(xué)習(xí)技術(shù)發(fā)展迅速[21],并在一些領(lǐng)域取得重大進(jìn)展,為人工智能和機(jī)器學(xué)習(xí)帶來了革命性變革,已被用于各種自然語言處理、數(shù)據(jù)分析與個性化推薦任務(wù)中[22]。因此,未來的研究中,我們將考慮如何將深度學(xué)習(xí)技術(shù)應(yīng)用到興趣點推薦中,以進(jìn)一步提高模型的訓(xùn)練精度和推薦質(zhì)量。