孟祥福,毛 月,張霄雁,趙路路,趙澤祺
(遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105)
近年來,隨著移動互聯(lián)網(wǎng)技術(shù)和智能設(shè)備的快速發(fā)展,用戶能夠更加方便的獲得自己的實時位置信息,這使基于位置的社交網(wǎng)絡(luò)(Location-Based Social Networks,LBSN)和興趣點(POI,Point of Interest,例如酒店、旅游景點等)推薦技術(shù)得到了廣泛關(guān)注.現(xiàn)有的研究工作主要是利用用戶簽到的歷史數(shù)據(jù)及其情景信息(如地理信息、社交關(guān)系)來提高推薦質(zhì)量,但忽視了興趣點的評論信息,導(dǎo)致對興趣點屬性的挖掘并不深入.評論信息是指用戶訪問過該興趣點后對該興趣點的真實描述,用戶在進行興趣點選擇時通常會參考興趣點的評論信息,這使得用戶評論成為興趣點推薦中需要考慮的一個重要屬性.另外,目前的推薦系統(tǒng)大都追求推薦的個性化[1-4],對于興趣點推薦而言,即為用戶提供滿足其偏好和需求的興趣點,這就導(dǎo)致推薦結(jié)果大部分都是用戶熟悉的區(qū)域,覆蓋有限,興趣點之間的相似度較高,用戶選擇余地小,從而導(dǎo)致用戶的視野變窄.
針對上述問題,本文首先提出了一種興趣點之間的地理-社會-評論關(guān)系模型,用于評估興趣點之間的相關(guān)度;并且,在評估用戶評論文本的相似度時,本文提出的方法在一定程度上解決了用戶評論中經(jīng)常出現(xiàn)錯別字的問題,并考慮了評論文本的語義信息.對于推薦結(jié)果的選取,本文根據(jù)興趣點之間的相關(guān)度,提出了一種興趣點典型化推薦方法,旨在為用戶推薦具有代表性和差異性的興趣點.
本文工作主要與興趣點推薦算法和短文本分析方法相關(guān),下面分別對這兩個方面的國內(nèi)外相關(guān)工作進行分析.
興趣點推薦算法:近年來,興趣點推薦主要考慮兩方面的信息. 1)基于情景信息(地理因素、社會關(guān)系)的推薦.地理因素很大程度上影響用戶的行為,用戶更加傾向于去訪問他們熟悉的地方,地理屬性是興趣點推薦算法必須考慮的基本因素;在社交網(wǎng)絡(luò)中,用戶的愛好一般會與自己的好友較為相似,用戶經(jīng)常會訪問好友強烈推薦的地點,即可以利用訪問用戶社會網(wǎng)絡(luò)關(guān)系來提升興趣點推薦算法的性能,因此LBSN的興趣點推薦充分考慮了情景信息.Ference[5]等人從用戶偏好、社會影響和地理鄰近度的角度出發(fā),提出了一種協(xié)作推薦框架,經(jīng)過數(shù)據(jù)分析,得到好友關(guān)系和地理位置具有強關(guān)聯(lián)性,進而將其融合進行推薦.Zhang[6]等人將社會鏈接和地理信息融合到統(tǒng)一的POI推薦框架中,提出了ORec興趣點推薦方法.上述方法在一定程度上提高了推薦的準(zhǔn)確性,但推薦模型沒有考慮用戶評論,且推薦結(jié)果不具有多樣性.Xu等人[7]為了緩解高維稀疏數(shù)據(jù)的冷啟動問題,同時解決社會關(guān)系、基于內(nèi)容的方法和協(xié)同過濾的兼容性問題,提出基于社會和內(nèi)容的協(xié)同過濾模型. 2)基于用戶評論的推薦.用戶在選擇興趣點時通常會參考該興趣點的評論信息,通過對評論文本的挖掘可以發(fā)現(xiàn)用戶對興趣點的偏好,衡量興趣點之間的相似性,使推薦結(jié)果更具有實際意義.高明[8]等人基于LDA模型推斷微博的主題分布和用戶的興趣向量,提出了一種適用于微博的實時推薦算法.Yin[9,10]等人根據(jù)主題模型LDA預(yù)測用戶的興趣程度和基于本地的興趣點,提出了LCARS系統(tǒng),實現(xiàn)脫機建模和在線推薦.現(xiàn)有的方法雖在一定程度上能夠得到令用戶滿意的推薦結(jié)果,但都只是側(cè)重于考慮上述的單個因素,或者其中兩個因素,這就導(dǎo)致了對興趣點屬性的挖掘不夠全面,因此本文在推薦模型中綜合考慮了興趣點的地理位置、用戶社會關(guān)系以及評論文本信息,更加深入的量化了空間對象之間的耦合關(guān)系,在推薦時更能反映現(xiàn)實場景.另外,上述現(xiàn)有方法主要是給用戶推薦其滿意的興趣點,卻忽略了推薦列表本身的多樣性和代表性,導(dǎo)致推薦的興趣點之間較為相似并且是用戶較為熟悉的地點,本文提出了一種興趣點典型化推薦方法,旨在為用戶推薦具有代表性和差異性的興趣點,從而擴充用戶視野和豐富用戶體驗.
短文本分析方法:現(xiàn)有的短文本相似度評估方法大致為三類,第一類是基于詞語共現(xiàn)的方法[11-13],詞語共現(xiàn)模型是自然語言處理中一個較為經(jīng)典的模型,其基本思想是如果兩個文本包含較多的共同詞語那么它們是語義相關(guān)的或相似的;第二類是基于外部知識庫的方法[14,15],該類方法通過引入外部詞典(如HowNet,WordNet,同義詞詞林等)來計算詞項之間的相似度.第三類是基于主題模型的方法[16,17],最具代表性的有LSI和LDA.LSI解決了文本向量矩陣高維度的問題,但在降維的同時也會丟失文本結(jié)構(gòu)信息,無法解決多義詞問題,LDA能夠挖掘文檔-主題分布和主題-詞分布,雖能解決一詞多義和多詞一義的問題,但該模型在處理短文本時,由于短文本特征稀疏,一個詞被分配給某個主題的次數(shù)和一個主題包括的詞數(shù)目難以收斂,因此不適合較短文本.綜合可見,基于詞語共現(xiàn)的方法只是根據(jù)詞頻信息來評估相似度而并未考慮語義信息,將短文本轉(zhuǎn)化為向量后,會出現(xiàn)維度高、數(shù)據(jù)稀疏、一詞多義等問題;利用外部知識庫則無法解決語料庫中未涵蓋詞的語義問題,如用戶評論中誤拼的詞語;而基于主題模型的方法不合適處理用戶評論文本.本文提出的用戶評論文本相似度度量方法可避免數(shù)據(jù)稀疏問題,同時在一定程度上解決了用戶評論中經(jīng)常出現(xiàn)錯別字的問題,并考慮了評論短文本的語義信息.
本文提出的興趣點推薦模型主要分為兩個處理階段,解決方案的系統(tǒng)框架圖如圖1所示.
1)興趣點相關(guān)度評估與聚類.融合興趣點的地理位置、社會關(guān)系以及評論文本三方面因素,構(gòu)建地理-社會-評論關(guān)系模型,形成興趣點相關(guān)度矩陣,以此來評估興趣點之間的相關(guān)關(guān)系;根據(jù)興趣點之間的相關(guān)度,采用譜聚類算法對興趣點進行聚類[18],使得相關(guān)度較高的興趣點聚成一類且各個聚類之間具有較低的相關(guān)度.
圖1 總體框架圖Fig.1 General framework diagram
2)興趣點的典型化選取.利用概率密度估計方法,從上述每個聚類中選擇一個具有最大概率密度的興趣點,然后采用泊松分布與矩陣分解相結(jié)合的概率因子模型來擬合用戶訪問興趣點次數(shù)矩陣,從而對選取的典型興趣點進行個性化排序.
對于興趣點pi和pj,其地理距離定義為:
(1)
其中,E(pi,pj)為地點pi和pj之間的歐式距離,maxD為地點集合中任意兩點之間的最大距離.
因此,興趣點pi和pj之間的地理相關(guān)度為:
Sp(pi,pj)=1-Dp(pi,pj)
(2)
文獻[19]的提出的社會距離體現(xiàn)了用戶之間的親密度,對于興趣點pi和pj,其社會距離定義為:
(3)
其中,
(4)
其中,
Ua={ua|ua∈{Upi∪Upj}}
(5)
(6)
(7)
其中,Upi、Upj分別表示訪問過興趣點pi和興趣點pj的用戶集合,SUa,Ub表示用戶社會聯(lián)系的親密度,Pua、Pub分別為用戶ua和用戶ub訪問過的地點的集合.
興趣點pi和pj之間的社會相關(guān)度可表示為:
Ss(pi,pj)=1-Ds(pi,pj)
(8)
傳統(tǒng)的文本相似度度量方法大都將文本看作一組詞語的集合,通過計算詞語的TF-IDF值對文本建立特征向量,再利用向量之間的余弦相似度或Jaccard相似度等計算文本間的相似度,該類方法未考慮文本的語義信息;同時這種方法建立的向量也存在維度高,數(shù)據(jù)稀疏等問題.此外,用戶評論內(nèi)容通常較短,錯別字也會經(jīng)常出現(xiàn),并且語法格式隨意.因此,傳統(tǒng)的文本處理方法不適用于評論文本的處理和相似度度量.針對上述問題,本文提出了一種新的評論文本相似度度量方法,基本思想是將基于概念間的字符串相似度和概念間的語義相似度相結(jié)合,可在一定程度上解決錯別字的問題,并且考慮了文本的語義信息.
4.3.1 概念間的字符串相似度度量方法
用戶評論文本中經(jīng)常出現(xiàn)錯別字,從而導(dǎo)致基于詞典的相似度度量方法并不能度量其相似度,對此本文在文獻[20]的基礎(chǔ)上,提出了3種字符串相似度度量方法:最長公共子序列(LCS)、從第1個字符開始的最長連續(xù)公共子序列(MCLCS1)、從第n個字符開始的最長公共子序列(MCLCSn),并對這3種方法進行線性加權(quán)求和,確定概念間的字符串相似度.
給定兩個概念Wi、Wj:
1)對最長公共子序列(LCS)進行規(guī)范化,將其稱為NLCS:
(9)
2)對從字符1開始的最長連續(xù)公共子序列(MCLCS1)進行規(guī)范化,將其稱為NMCLCS1:
(10)
3)對從字符n開始的最長連續(xù)公共子序列(MCLCSn)進行規(guī)范化,將其稱為NMCLCSn:
(11)
概念間的字符串相似度可用下式計算:
α=λ1v1+λ2v2+λ3v3
(12)
其中,λ1、λ2、λ3為可調(diào)參數(shù),用于調(diào)整NLCS、NMCLCS1以及NMCLCSn在概念字符串相似度中的比重,λ1+λ2+λ3=1.根據(jù)文獻[20],可取λ1=λ2=λ3=1/3.
來看一個例子.給定一個概念“fresh”,在用戶評論文本中很容易將其誤拼成“fraesh”.基于詞典的相似度度量方法并不能度量其相似度值,因此可利用概念間的字符串相似度計算方法.
LCS(fresh,fraesh)=fresh
MCLCS1(fresh,fraesh)=fr
MCLCSn(fresh,fraesh)=esh
NLCS(fresh,fraesh)=52/5×6≈0.833
NMCLCS1(fresh,fraesh)=22/5×6≈0.133
NMCLCSn(fresh,fraesh)=32/5×6=0.3
α=1/3×0.833+1/3×0.133+1/3×0.3=0.422
因此,“fresh”和“fraesh”字符串相似度為0.422.
4.3.2 概念間的語義相似度度量方法
本文采用WordNet在線詞匯參照系統(tǒng)計算概念之間的語義相似度.它與傳統(tǒng)詞典不同,它使用同義詞集合代表概念,利用概念的IS-A關(guān)系將概念組合成標(biāo)準(zhǔn)的層次結(jié)構(gòu).
本文以WordNet的詞匯語義分類作為基礎(chǔ),抽取出其中的同義詞,然后采用基于向量空間的方法計算相似度,根據(jù)文獻[21],其工作流程如下:利用WordNet提供的函數(shù)接口,首先從WordNet的同義詞詞集(Synset)、屬類詞(Class word)和意義解釋(Sense explanation)這三個集合中抽取出候選同義詞,然后進行特征提取.根據(jù)對詞匯語義特征的描述,兩個意義(Sense)之間的相似度可以通過計算其在三個不同的意義特征空間中的距離來得到.根據(jù)意義相似度即可計算出WordNet中兩個概念之間的相似度.
下面給出計算兩條評論文本的相似度的算法流程:
輸入:兩條評論文本Ci和Cj
輸出:兩條評論文本的相似度值S(Ci,Cj)
①對評論文本Ci、Cj進行預(yù)處理.在對Ci、Cj進行分詞之后,需要去除標(biāo)點、特殊符號和停用詞.處理后文本Ci中剩下x個概念,文本Cj中剩下y個概念,y≥x,否則交換Ci、Cj.
②對于處理后的Ci、Cj中,刪除δ個相同的概念,則Ci={pi1,pi2,…,pi(x-δ)},Cj={rj1,rj2,…,rj(y-δ)},若x-δ=0(即Ci、Cj完全相同),則轉(zhuǎn)到⑥.
③建立一個(x-δ)×(y-δ)的字符串相似度矩陣,稱其為M1.
④建立一個(x-δ)×(y-δ)的語義相似度矩陣,稱其為M2.
⑤建立一個(x-δ)×(y-δ)的聯(lián)合矩陣,稱其為M.
M=(M1+M2)/2
(13)
⑥從聯(lián)合矩陣M中找到最大的元素γij.如果γij≥0,將γij添加到ρ列表中,并刪除第i行第j列的所有元素.重復(fù)這一過程,直到x-δ-|ρ|=0.
⑦計算兩條評論文本Ci、Cj的相似度為:
(14)
為了得到在0-1之間的數(shù)值,本文將結(jié)果乘以x和y的倒數(shù)調(diào)和平均值.
至此可得到興趣點pi和pj之間的評論相關(guān)度:
Sc(pi,pj)=S(Ci,Cj)
(15)
根據(jù)(1)-(15)式,分別得到了興趣點之間的地理相關(guān)度、社會相關(guān)度以及評論文本相關(guān)度,由此可以得到興趣點之間的地理-社會-評論相關(guān)度為:
Sgsc(pi,pj)=θ1Sp(pi,pj)+θ2Ss(pi,pj)+θ3Sc(pi,pj)
(16)
其中,θ1、θ2、θ3為可調(diào)參數(shù),用于調(diào)整地理相關(guān)度、社會相關(guān)度、評論文本相關(guān)度在興趣點相關(guān)度中的比重,其中θ1+θ2+θ3=1.
為了得到具有多樣性的興趣點推薦列表,需將第4節(jié)得到的興趣點相關(guān)度矩陣進行聚類,進而從不同類別中選取典型性的興趣點.譜聚類是一種基于圖論的聚類方法,該算法只需要數(shù)據(jù)之間的相似度矩陣即可,并更適合在高維度的數(shù)據(jù)上運行,因此本文采用譜聚類中規(guī)范割集準(zhǔn)則[22]進行興趣點的聚類.
圖2是一個帶權(quán)無向圖,頂點之間的連線表示兩個頂點之間的聯(lián)系,邊的權(quán)重代表頂點的相關(guān)度,本文用wij代表頂點i與j之間的相關(guān)度.假設(shè)圖2的無向圖被分為兩類G1和G2,以n維向量(這里n=7)q=[q1,q2,…,qn]記錄該無向圖的劃分方法(若頂點i屬于G1,則qi=c1;若頂點i屬于G2,則qi=c2),劃分方案可表示為q=[c1,c1,c1,c1,c2,c2,c2].按此劃分方案,劃分最優(yōu)子圖時所截斷的興趣點關(guān)系圖中邊的權(quán)重之和的函數(shù),即損失函數(shù)可表示為:
(17)
圖2 譜聚類示意圖Fig.2 Spectral clustering diagram
又因為:
(18)
合并算公式(17)和公式(18)可得:
(19)
其中,L=D-W.根據(jù)瑞利熵性質(zhì),當(dāng)q為L最小特征值時,可以取到qTLq的最小值,即Ncut(G1,G2)的最小值.而當(dāng)需要將帶權(quán)無向圖劃分為k個子圖時,則可取前m個最小特征值對應(yīng)的特征向量,組成一個n×m矩陣R,第i個行向量代表頂點i,進而利用k-means聚類劃分可最終得到k個興趣點聚類.
由于采用最小切割準(zhǔn)則的譜聚類結(jié)果容易出現(xiàn)歪斜分割問題,即偏向小區(qū)域分割現(xiàn)象,因此本文采用規(guī)范割集準(zhǔn)則(Normalized cut)對興趣點進行劃分.其損失函數(shù)表示為:
(20)
劃分方案為:
(21)
其中,d1、d2、d分別表示圖G1、G2、G的權(quán)值之和,采用規(guī)范割集劃分準(zhǔn)則的聚類過程與上述過程相同,這里不再贅述.
為了從每個聚類中選一個具有代表性的興趣點,本文采用了概率密度估計方法.概率密度是分析集合中某個對象典型程度的核心方法,本文采用高斯核函數(shù)的概率密度估計方法對興趣點進行典型化選取.基本思想是:給定一個興趣點集合Q和其中的一個興趣點o,興趣點o的典型程度與其他點在Q中的分布情況有關(guān),如果興趣點o周圍的點越密集,則興趣點o的概率密度越大,興趣點o就越具有代表性.f(o)是集合Q上的概率密度分布函數(shù):
(22)
根據(jù)興趣點之間的相關(guān)度,可以采用式(22)從每個聚類集合中選取一個具有代表性的興趣點,從而形成典型化的興趣點推薦集合.
對于5.2節(jié)得到的典型化興趣點推薦集合,還需對其中的興趣點按用戶偏好進行個性化排序.用戶訪問興趣點的行為在一定程度上符合以固定的平均瞬時速率隨機且獨立出現(xiàn)的特點,可用泊松分布近似擬合用戶在單位時間內(nèi)訪問某個興趣點次數(shù),因此本文采用泊松分布與矩陣分解相結(jié)合的概率因子模型[23]來擬合用戶訪問興趣點次數(shù)矩陣(即用戶滿意度矩陣).若用戶對某興趣點的訪問次數(shù)越多,則該用戶對該興趣點的興趣度越高,那么該興趣點推薦給用戶的價值也就越高.
本文用一個m×n(m表示用戶個數(shù),n表示興趣點個數(shù))維矩陣F記錄用戶訪問興趣點的次數(shù).例如,矩陣中的元素fij表示用戶i訪問興趣點j的次數(shù).假設(shè)fij滿足以yij為均值的泊松分布,則yij可以組成一個與矩陣F具有相同行列數(shù)的m×n矩陣Y,并且矩陣Y可被分解為一個m×d維的矩陣U和一個n×d維的矩陣V,其中U中的元素uik(k=1,2,…,d)表示用戶i對興趣點隱藏屬性(latent feature)k的偏好程度,V中的元素vjk(k=1,2,…,d)表示興趣點j對隱藏屬性k的貼近程度.假設(shè)uik、vjk服從Gamma先驗分布,經(jīng)推導(dǎo):
(23)
(24)
其中,根據(jù)文獻[23],αk、βk分別取最優(yōu)參數(shù)20、0.2.
利用公式(23)和(24)進行迭代,最終可以得到擬合度較高的Y=UVT,用來預(yù)測用戶訪問興趣點的次數(shù).根據(jù)該用戶滿意度矩陣對5.2節(jié)得到的典型化的興趣點推薦集合進行個性化排序,從而得到具有典型性和個性化的推薦列表.
本節(jié)介紹實驗數(shù)據(jù),實驗設(shè)置以及實驗結(jié)果,并對實驗結(jié)果進行分析.
本文采用真實數(shù)據(jù)集,Yelp數(shù)據(jù)集,Yelp是美國最大的點評網(wǎng)站,用戶可以在該網(wǎng)站上簽到,互加好友,上傳圖片和評論信息.表1-表4分別給出了Yelp數(shù)據(jù)集格式、社交關(guān)系數(shù)據(jù)格式、地理信息數(shù)據(jù)格式以及評論文本數(shù)據(jù)格式.
實驗截取經(jīng)度在-112.0到-111.9之間,緯度在33.3至33.6之間的地區(qū)作為實驗分析數(shù)據(jù),再刪除其中簽到次數(shù)少于5次的用戶以及被訪問次數(shù)少于5次的興趣點,最終數(shù)據(jù)包括40033條簽到記錄,2599個用戶、1778個興趣點以及對應(yīng)興趣點的2016、2017年的評論文本.
表1 Yelp數(shù)據(jù)集介紹
Table 1 Yelp dataset statistics
EventYelpUsers43873POIs111537Review229907
表2 社交關(guān)系數(shù)據(jù)格式
Table 2 Social relationship data format
PropertyYelpUseridQGgWWhEi5R4SLAKN-xwtNQFriendsCCK6WHhMmGqxgmt0vAfRBw
表3 地理信息數(shù)據(jù)格式
Table 3 Geographic information data format
Property YelpBusinessidbp5ARRJu3_8CBsAS4tOWhALatitude33.4360502Longitude-111.994973
表4 評論文本數(shù)據(jù)格式
Table 4 Comment text data format
PropertyYelpUseridbv2nCi5Qv5vroFiqKGopiwBusinessid0W4lkclzZThpx3V65bVgigReviewLovethestaff,lovethemeat,lovetheplace.
效果評價標(biāo)準(zhǔn):本文采用多樣性、準(zhǔn)確率和召回率這三個指標(biāo)對算法的效果進行評價.
(25)
(26)
(27)
其中,Lrec表示為用戶推薦的興趣點列表,Dgsc(pi,pj)表示興趣點pi和pj的地理-社會-評論距離.顯然,DivLrec的值越高,推薦列表Lrec的多樣性越高.U代表用戶集合,Ltest(ua)表示測試興趣點列表,由測試集中選出的前k個用戶ua訪問次數(shù)最多的興趣點組成;若用戶ua訪問的興趣點個數(shù)少于k,則Ltest(ua)由用戶ua訪問過的所有興趣點組成,k=|Lrec(ua)|.
推薦模型對比:傳統(tǒng)的矩陣分解只是根據(jù)用戶-興趣點訪問矩陣進行推薦,而并未考慮興趣點之間的關(guān)系,為了驗證本文提出的算法的有效性,選取了下列常用的矩陣分解推薦算法進行對比:
PFM:概率因子模型[23],該算法結(jié)合泊松分布及矩陣分解進行概率分析,通過梯度下降等方法學(xué)習(xí)出預(yù)測矩陣.
TPFM:該算法結(jié)合地理-社會-評論關(guān)系模型和譜聚類方法,對興趣點進行多樣性分析,再通過PFM算法擬合用戶滿意度矩陣.
oTPFM:該算法未考慮用戶的評論文本,通過結(jié)合地理-社會模型和譜聚類方法,對興趣點進行多樣性分析,再通過PFM算法擬合用戶滿意度矩陣.
SVD:奇異值分解算法[24],采用奇異值分解的方法進行矩陣分解.SVD是用于將矩陣規(guī)約成其組成部分的一種可靠的正交矩陣分解法.
TSVD:該算法結(jié)合地理-社會-評論關(guān)系模型和譜聚類方法,對興趣點進行多樣性分析,再通過SVD算法擬合用戶滿意度矩陣.
NMF:非負矩陣分解算法[25],它使分解后的所有分量均為非負值,并且同時實現(xiàn)非線性的維數(shù)約減.該算法廣泛應(yīng)用于信號處理,計算機視覺等領(lǐng)域.
TNMF:該算法結(jié)合地理-社會-評論關(guān)系模型和譜聚類方法,對興趣點進行多樣性分析,再通過NMF算法擬合用戶滿意度矩陣.
本節(jié)以調(diào)查的方式測試本文提出的評論文本相似度計算方法的準(zhǔn)確性.在Yelp數(shù)據(jù)集上,整理了31個興趣點的31組評論文本,選取其中的一組評論文本作為基準(zhǔn),利用本文提出的方法和ST-CW算法[26]分別將該基準(zhǔn)文本與其余30組評論文本做相似度計算,并整理出與該基準(zhǔn)評論文本相似度最高的10組評論.然后邀請了10個用戶(碩士生),讓他們從30組評論中選出與基準(zhǔn)文本最相似的10組評論文本.則算法的準(zhǔn)確率為:
(28)
其中,分子代表由不同方法得到的10組評論文本和由用戶選出的10組評論文本的交集,即兩種方法得到的結(jié)果與用戶標(biāo)注結(jié)果之間的重疊程度,重疊程度越高,說明用戶滿意度(算法準(zhǔn)確率)越高.
圖3 10名用戶的滿意程度Fig.3 Satisfaction of 10 users
從圖3可以看出,本文提出的算法的重疊率為82%,而ST-CW算法的重疊率為69%(重疊率取10個用戶的平均值).由此可見,本文提出的算法具有較高的重疊率,即具有較高的準(zhǔn)確率.
實驗中,以0.1為步長,采用枚舉法討論興趣點相關(guān)度的權(quán)重系數(shù).首先令θ1=0.1,分別令θ2=0.1、0.2、…、0.8,θ3=0.8、0.7、…、0.1,然后令θ1=0.2,分別令θ2=0.1、0.2、…、0.7,θ3=0.7、0.6、…、0.1,再令θ1=0.3,分別令θ2=0.1、0.2、…、0.6,θ3=0.6、0.5、…、0.1,以此類推.經(jīng)測得,當(dāng)θ1=0.8、θ2=0.1、θ3=0.1時在準(zhǔn)確率召回率指標(biāo)上取得較好的結(jié)果,因此選取0.8、0.1、0.1作為地理相關(guān)度、社會相關(guān)度以及評論相關(guān)度的權(quán)重系數(shù);而PFM中的參數(shù)根據(jù)文獻[23]中的最優(yōu)參數(shù)設(shè)定,αk=20、βk=0.2,該參數(shù)經(jīng)過測試,同樣適用于本文所用數(shù)據(jù)集;在k-means聚類中,本文將重復(fù)10次試驗,最后取10次結(jié)果的平均值以便使結(jié)果具有一定的穩(wěn)定性.為了確定5.1節(jié)中的參數(shù)m,隨機選取50%的數(shù)據(jù)集作為矩陣分解算法的訓(xùn)練集,剩下的50%作為測試集,測試m對實驗結(jié)果的影響,實驗結(jié)果如圖4所示.
圖4 參數(shù)m對實驗結(jié)果的影響Fig.4 Impact of m on experimental result
從圖4(a)中可知,m的取值對推薦列表多樣性的影響不大;由圖4(b)、圖4(c)可知,由于PFM、SVD、NMF未采用譜聚類算法,所以它們的結(jié)果不受參數(shù)m的影響;當(dāng)m=5時,TPFM、TSVD、TNMF的準(zhǔn)確率和召回率都達到了較高的水平.因此本文設(shè)定m=5為最優(yōu)參數(shù).
為了驗證評論信息對興趣點推薦結(jié)果的影響,在實驗時,將考慮了評論文本的地理-社會-評論模型與未考慮評論文本的地理-社會模型進行對比.分別以10%、20%、…、90%的數(shù)據(jù)集作為訓(xùn)練集,剩下的90%、80%、…、10%作為測試集,對考慮了評論文本的TPMF算法和未考慮評論文本的oTPFM算法進行對比,圖5給出了采用不同比例的訓(xùn)練集和測試集對TPFM和oTPFM推薦結(jié)果的影響.
從圖5(a)中可知,是否考慮評論文本對推薦結(jié)果的多樣性影響不大,但從圖5(b)和圖5(c)中可知,在準(zhǔn)確率和召回率指標(biāo)上,相比于沒有考慮評論信息的oTPFM算法,本文提出的TPFM算法均取得了更好的準(zhǔn)確率和召回率.由此可見,在原有地理屬性和社會屬性的基礎(chǔ)上,加入用戶評論不僅更加符合現(xiàn)實意義,而且還能達到提高推薦準(zhǔn)確性的目的,說明本文算法的優(yōu)越性.
為了更好地驗證算法的效果,本文選取m=5,并分別以10%、20%、…、90%的數(shù)據(jù)集作為訓(xùn)練集,剩下的90%、80%、…、10%作為測試集,對TPFM、PFM、TSVD、SVD、TNMF、NMF進行對比.圖6給出了采用不同比例的訓(xùn)練集和測試集對TPFM、PFM、TSVD、SVD、TNMF、NMF推薦結(jié)果的影響.
圖5 評論文本對實驗結(jié)果的影響Fig.5 Impact of comment on experimental result
圖6 訓(xùn)練數(shù)據(jù)集對實驗結(jié)果的影響Fig.6 Impact of training data on experimental result
由圖6(a)可知,相比于沒有進行多樣性分析的PFM、SVD、NMF算法,本文進行多樣性分析的TPFM、TSVD、TNMF算法在推薦列表上具有更高的多樣性;而圖6(b)、圖6(c)顯示,在準(zhǔn)確率、召回率指標(biāo)上,相比于沒有進行多樣性分析的PFM、SVD、NMF算法,TPFM、TSVD、TNMF算法也取得了更好的效果;而本文著重介紹的TPFM算法,在多樣性、準(zhǔn)確率以及召回率方面,普遍高于其他幾種算法.進一步驗證了本文提出的方法具有更好的性能.
本文根據(jù)興趣點的地理-社會-評論關(guān)系相關(guān)度,采用譜聚類方法對興趣點進行分類劃分,在此基礎(chǔ)上利用概率密度估計方法選取典型興趣點,在根據(jù)擬合的用戶滿意度矩陣對選取的興趣點進行個性化排序.
本文提出的算法考慮了興趣點的多重屬性,實現(xiàn)了興趣點在更高維度上的多樣性,更加具有實際意義.實驗結(jié)果表明,本文提出興趣點之間的相關(guān)度量化模型和推薦算法比傳統(tǒng)的矩陣分解算法具有更高的多樣性和準(zhǔn)確性.下一步將考慮興趣點更多的屬性,如興趣點的交通情況、興趣點的時序信息以及興趣點的消費水平等,同時算法的推薦效率也是值得進一步探究的問題.