本發(fā)明涉及一種面向位置社交網(wǎng)絡(luò)的興趣點(diǎn)推薦方法,屬于社交興趣推薦領(lǐng)域。
背景技術(shù):
近年來,基于位置的社交網(wǎng)絡(luò)(locationbasedsocialnetworks,lbsns)的迅猛發(fā)展,為推薦服務(wù)提供用戶信息、社交關(guān)系、位置坐標(biāo)、簽到時間、評論信息等多維度信息。在lbsn中,用戶通過簽到來發(fā)布自己的當(dāng)前位置信息,并分享他們對當(dāng)前興趣點(diǎn)(poi,如旅游景點(diǎn)、博物館、圖書館、餐廳等)的評論信息和體驗(yàn)感覺。這些基于位置的社交網(wǎng)站收集了海量的用戶簽到信息,利用用戶的簽到信息向用戶推薦感興趣且沒有去過的地方。興趣點(diǎn)推薦對于用戶和商家都有著非常重要的作用,一方面減輕用戶信息過載問題,滿足用戶個性化需求,另外一方面幫助商家向潛在用戶推送廣告,增加商家的知名度,以此提高商業(yè)效益。因此,興趣點(diǎn)推薦算法的研究具有重要的現(xiàn)實(shí)意義。
目前,興趣點(diǎn)推薦算法研究主要結(jié)合用戶信息、社交關(guān)系、位置坐標(biāo)、簽到時間、評論信息等進(jìn)行推薦。其中,有效的利用時空因素可以進(jìn)一步提高興趣點(diǎn)推薦的性能,給用戶帶來更好的推薦體驗(yàn)。在日常生活中時間因素起著非常重要的作用?;谏缃痪W(wǎng)絡(luò)的用戶行為的時間特征包含用戶訪問興趣點(diǎn)的時間記錄。通過分析用戶的簽到數(shù)據(jù),挖掘出用戶行為的時序特征,從而改善推薦效果。例如,人們通常在工作日和周末訪問的地方不同。隨著時間的變化,用戶的偏好也會發(fā)生變化。與此同時,地理位置對于位置推薦影響力也不容忽視。tobler的第一地理學(xué)法則顯示:相對于距離遠(yuǎn)的興趣點(diǎn),距離近的興趣點(diǎn)之間更相似。在現(xiàn)實(shí)生活中,人們通常訪問一個興趣點(diǎn)后,通常喜歡訪問該興趣點(diǎn)附近的地理位置。換句話說,相鄰的興趣點(diǎn)比遠(yuǎn)距離的興趣點(diǎn)具有更強(qiáng)的地理相關(guān)性?;诘乩砦恢玫呐d趣點(diǎn)推薦分為2種:一種方法是僅考慮用戶的當(dāng)前位置坐標(biāo),過濾掉離用戶較遠(yuǎn)的興趣點(diǎn),另一種方法是應(yīng)用主題模型或者地理潛在特征來獲取poi的潛在特征。
以上成果有效的推進(jìn)興趣點(diǎn)推薦服務(wù)的發(fā)展,但是仍然存在不足:
1)推薦精確率和召回率低。很難從簽到數(shù)據(jù)中得到有效信息和過于稀疏的數(shù)據(jù)是推薦精度低的原因之一。除此之外,未能夠?qū)τ脩艉灥綌?shù)據(jù)進(jìn)行深入分析;
2)將時間劃分為多個片段,會加劇數(shù)據(jù)稀疏。
技術(shù)實(shí)現(xiàn)要素:
時間和空間特征是興趣點(diǎn)推薦系統(tǒng)的獨(dú)特屬性。有效的利用時空因素可以進(jìn)一步提高興趣點(diǎn)推薦的性能,給用戶帶來更好的推薦體驗(yàn)。但是,現(xiàn)有研究對于時間特征研究不深入,只是簡單的將用戶簽到偏好進(jìn)行不同時刻的劃分,沒有深入挖掘時間因素對用戶偏好的影響。除此之外,將時間等分24個片段,會加劇數(shù)據(jù)稀疏。然而,簽到數(shù)據(jù)集自身特征挖掘的局限性和數(shù)據(jù)的過于稀疏性也是興趣點(diǎn)推薦精確率和召回率低的原因之一。針對上述問題,本發(fā)明提供一種面向位置社交網(wǎng)絡(luò)的興趣點(diǎn)推薦方法,目的是給用戶推薦從未去過的位置,提高推薦精度,減輕用戶信息過載問題,滿足用戶個性化需求,同時也可以幫助商家向潛在用戶推送廣告,增加商家的知名度,以此提高商業(yè)效益。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
本發(fā)明提供一種面向位置社交網(wǎng)絡(luò)的興趣點(diǎn)推薦方法,包括如下步驟:
步驟1,根據(jù)目標(biāo)用戶的簽到興趣點(diǎn)的歷史記錄,獲取目標(biāo)用戶的相似用戶集合;
步驟2,通過在基于用戶的協(xié)同過濾算法中,融入時間特征,得到基于時間特征和用戶協(xié)同過濾的興趣點(diǎn)評分;
步驟3,將基于時間因素的興趣點(diǎn)流行度的估算融入空間特征去,得到基于空間特征和興趣點(diǎn)流行度特征的興趣點(diǎn)評分;
步驟4,分別將步驟2的基于時間特征和用戶協(xié)同過濾的興趣點(diǎn)評分和步驟3的基于空間特征和興趣點(diǎn)流行度特征的興趣點(diǎn)評分進(jìn)行標(biāo)準(zhǔn)化,再將標(biāo)準(zhǔn)化后的數(shù)據(jù)進(jìn)行線性組合,得到目標(biāo)用戶對興趣點(diǎn)的綜合評分;
步驟5,根據(jù)步驟4中的綜合評分向目標(biāo)用戶進(jìn)行興趣點(diǎn)推薦。
作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟1中目標(biāo)用戶的相似用戶v為與目標(biāo)用戶u的歷史共同簽到興趣點(diǎn)數(shù)量nu,v>m的用戶,其中,u,v∈user,v∈suser,
作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟2中基于時間特征和用戶協(xié)同過濾的興趣點(diǎn)評分為:
其中,
作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟3中基于空間特征和興趣點(diǎn)流行度特征的興趣點(diǎn)評分為:
其中,
作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟4中采用min-max分別將步驟2的基于時間特征和用戶協(xié)同過濾的興趣點(diǎn)評分和步驟3的基于空間特征和興趣點(diǎn)流行度特征的興趣點(diǎn)評分進(jìn)行標(biāo)準(zhǔn)化。
作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟4中目標(biāo)用戶對興趣點(diǎn)的綜合評分為:
其中,k為第二預(yù)設(shè)參數(shù),k∈[0,1];
作為本發(fā)明的進(jìn)一步優(yōu)化方案,步驟5中根據(jù)步驟4中的綜合評分,按綜合評分從高到低的順序向目標(biāo)用戶進(jìn)行興趣點(diǎn)推薦。
本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:本發(fā)明首先通過在基于用戶的協(xié)同過濾算法中,融入時間特征,給出相應(yīng)的建模方法;然后將基于時間因素的興趣點(diǎn)流行度的估算融入空間特征去,給出相應(yīng)的建模方法;最后將兩個方法進(jìn)行融合,得到一個基于線性框架的興趣點(diǎn)推薦建模方法有助于提高推薦精確度,克服了傳統(tǒng)的興趣點(diǎn)推薦或應(yīng)用基本的協(xié)同過濾方法、或在基本的協(xié)同過濾算法中引入空間特征,而忽視了時序和興趣點(diǎn)流行度特征對推薦精確度的影響。
附圖說明
圖1是本發(fā)明的實(shí)現(xiàn)模型圖。
圖2是本發(fā)明融合時空和流行度特征的興趣點(diǎn)推薦算法流程圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明:
一、體系結(jié)構(gòu)
基于本發(fā)明的系統(tǒng)由原始語料庫、預(yù)處理數(shù)據(jù)模塊、相似度計(jì)算模塊、時間感知的協(xié)同過濾模塊、最近鄰候選興趣點(diǎn)選擇模塊、興趣點(diǎn)流行度模塊、融合空間和流行度模塊以及線性融合模塊等組成,如圖1所示。以下對各部分進(jìn)行具體說明:
一個原始語料庫,存儲從foursquare網(wǎng)站上抓取的用戶的簽到記錄(包含用戶id,簽到位置id,位置坐標(biāo),時間);
預(yù)處理數(shù)據(jù)模塊,過濾掉與目標(biāo)用戶簽到相同位置少于m次的相似用戶,得到目標(biāo)用戶u的最近鄰相似用戶集合;
相似度計(jì)算模塊,主要計(jì)算任意兩個時間點(diǎn)的相似度和基于不同時間點(diǎn)的用戶相似度,提出基于連續(xù)時間的平滑技術(shù),可以解決由于將一天時間劃分為以小時為單位的多個時間點(diǎn)所帶來的數(shù)據(jù)稀疏問題,提高推薦精確度;
時間感知的協(xié)同過濾模塊,在基于用戶的協(xié)同過濾中,采用基于不同時間點(diǎn)的平滑技術(shù),得到目標(biāo)用戶u在時間點(diǎn)t訪問興趣點(diǎn)l的推薦模型;
最近鄰候選興趣點(diǎn)選擇模塊,采用地球球面距離公式計(jì)算候選興趣點(diǎn)離目標(biāo)用戶歷史訪問興趣點(diǎn)的距離,對其中最短距離取反,得到目標(biāo)用戶訪問候選興趣點(diǎn)l的條件概率;
興趣點(diǎn)流行度模塊,主要是進(jìn)行用戶對興趣點(diǎn)的歡迎程度的評估,利用候選興趣點(diǎn)在某個時間點(diǎn)的被簽到數(shù)量和該候選興趣點(diǎn)長期的被簽到數(shù)量計(jì)算得到;
融合空間和流行度模塊,在最近鄰候選興趣點(diǎn)估計(jì)的基礎(chǔ)上,融合基于時間因素的興趣點(diǎn)流行度估計(jì),得到最終目標(biāo)用戶u在時間點(diǎn)t訪問興趣點(diǎn)l的推薦模型;
線性聯(lián)合模塊,將以上兩個推薦模型進(jìn)行線性加權(quán),實(shí)驗(yàn)采用foursquare數(shù)據(jù)集,按興趣點(diǎn)評分從高到低排序向用戶推薦興趣點(diǎn)。
二、方法流程
如圖2所示,當(dāng)目標(biāo)用戶u在時間點(diǎn)t對其進(jìn)行興趣點(diǎn)推薦,具體步驟如下:
步驟1:預(yù)處理數(shù)據(jù),得到目標(biāo)用戶u的相似用戶集合suser。具體預(yù)處理數(shù)據(jù)步驟如下:統(tǒng)計(jì)foursquare數(shù)據(jù)集中目標(biāo)用戶u訪問過的地點(diǎn)集合lu。遍歷地點(diǎn)集合lu,找到訪問過相同的興趣點(diǎn)的用戶v,計(jì)算目標(biāo)用戶u和用戶v共同訪問的興趣點(diǎn)的數(shù)量nu,v,若nu,v大于閾值m,則用戶v是目標(biāo)用戶u與之相似的用戶,否則過濾掉v。如此反復(fù),最后得到與目標(biāo)用戶u的相似的用戶集合suser。其中m∈{0,1,..,10},通過調(diào)整參數(shù)m的值發(fā)現(xiàn),其值為4時,實(shí)驗(yàn)結(jié)果最優(yōu)。
步驟2:將用戶歷史簽到時間t按小時等分為24段,t={0,1,...,23},例如09:01:00記為9,00:10:00記為0。
步驟3:利用公式
步驟4:利用公式
步驟5:利用公式
步驟6:根據(jù)基于不同時間點(diǎn)的用戶相似度,利用公式
步驟7:采用地球球面距離公式,計(jì)算用戶對于距離的敏感度,找到最近鄰候選興趣點(diǎn)。其中,球面距離公式為:
geodist(li,lj)=r·cos-1(sin(lati)·sin(latj)+cos(lati)·cos(latj)·cos(lngi-lngj)),用戶對于距離的敏感度的計(jì)算公式為
步驟8:利用候選興趣點(diǎn)在某個時間點(diǎn)的被簽到數(shù)量和該候選興趣點(diǎn)長期的被簽到數(shù)量,計(jì)算基于時間因素的興趣點(diǎn)流行度。其中,流行度計(jì)算公式為
步驟9:將步驟7和8通過公式
步驟10:將步驟6和9通過公式
步驟11:按綜合評分從高到低的順序向目標(biāo)用戶進(jìn)行top-n興趣點(diǎn)推薦,即由高至低向目標(biāo)用戶推薦綜合評分較高的n個興趣點(diǎn)。
以上所述,僅為本發(fā)明中的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可理解想到的變換或替換,都應(yīng)涵蓋在本發(fā)明的包含范圍之內(nèi),因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。