两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于位置和社交關(guān)系的群組與地點推薦方法

文檔序號:10687890閱讀:295來源:國知局
一種基于位置和社交關(guān)系的群組與地點推薦方法
【專利摘要】本發(fā)明公開了一種基于位置和社交關(guān)系的群組與地點推薦方法。通過對LBSN中的用戶簽到信息的采集,剔除有效性差的地點與用戶數(shù)據(jù),最終獲得用戶的簽到數(shù)據(jù)。然后利用皮爾森相關(guān)系數(shù),以用戶間共有的簽到數(shù)據(jù)衡量簽到相似性,計算出用戶間簽到相似度,構(gòu)建用戶簽到相似度網(wǎng)絡(luò)。再根據(jù)簽到相似性網(wǎng)絡(luò),利用離散粒子群優(yōu)化方法,識別出不同的社區(qū)。然后根據(jù)用戶社交網(wǎng)絡(luò)的帳號,獲取好友列表,形成社區(qū)內(nèi)用戶的社交鄰接關(guān)系,最終生成社交群組,推薦給目標(biāo)用戶并利用協(xié)同過濾的推薦方法對目標(biāo)用戶進(jìn)行地點推薦。本發(fā)明的社區(qū)發(fā)現(xiàn)方法簡單易操作,且劃分社區(qū)的速度快。通過社交群組和地點推薦相結(jié)合的方法,降低了方法的復(fù)雜度,提高了推薦精度。
【專利說明】
一種基于位置和社交關(guān)系的群組與地點推薦方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于專門適用于特定領(lǐng)域的數(shù)據(jù)處理方法,具體涉及一種基于位置和社交 關(guān)系的群組與地點推薦方法。
【背景技術(shù)】
[0002] 隨著智能手機(jī)和定位技術(shù)的發(fā)展,基于位置的社交網(wǎng)絡(luò)(Location Based Social NetW〇rk,LBSN)得到了廣泛的應(yīng)用。這種環(huán)境下,如何在手機(jī)上尋找到用戶需要的有效信息 已經(jīng)成為迫切需要解決的問題。而推薦系統(tǒng)的應(yīng)用可以有效地解決這個問題,為用戶主動 推送其感興趣的事物,如朋友,位置,娛樂項目等。通過與移動社交網(wǎng)絡(luò)的結(jié)合,獲取用戶的 大量屬性信息,如性別,年齡,愛好等,使得推薦系統(tǒng)能夠準(zhǔn)確地預(yù)測用戶感興趣的事物。近 年來,隨著基于位置的社交網(wǎng)絡(luò)的興起,用戶的數(shù)據(jù)信息得到了極大的豐富,可以輕易地獲 取到用戶的簽到信息,推薦系統(tǒng)得到了進(jìn)一步的發(fā)展,因而基于位置的社交網(wǎng)絡(luò)的推薦系 統(tǒng)成為研究的熱點。
[0003] 已有的基于位置的社交網(wǎng)絡(luò)的推薦系統(tǒng)存在如下問題:第一、結(jié)合簽到信息和社 交信息,構(gòu)建相似度網(wǎng)絡(luò),兩類信息的同步進(jìn)行,使得社交信息對推薦結(jié)果產(chǎn)生較大影響, 推薦精度不高,比如公開號為CN104268171A、名稱為〃基于活動相似和社交信任的社交網(wǎng)好 友推薦系統(tǒng)及方法"的國內(nèi)發(fā)明專利就屬于這種類型。第二、使用傳統(tǒng)的協(xié)同過濾方法,對 每一個用戶都要遍歷整個網(wǎng)絡(luò),加大了計算復(fù)雜度?,F(xiàn)有技術(shù)中還出現(xiàn)了試圖融合協(xié)同過 濾技術(shù)與社交信息進(jìn)行推薦的系統(tǒng),比如公開號為CN105184603A、名稱為〃一種融合協(xié)同過 濾算法和位置信息的目標(biāo)地推薦方法",但還是存在著算法復(fù)雜度大、可擴(kuò)展性差的缺點。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明要解決的技術(shù)問題是針對現(xiàn)有的推薦技術(shù)中存在的推薦精度低、計算復(fù)雜 度高的缺點。
[0005] 為解決上述問題,本發(fā)明提出一種基于位置和社交關(guān)系的群組與地點推薦方法, 包括如下步驟:
[0006] 步驟1:生成社交群組階段;
[0007] 步驟1-1:從基于位置的社交網(wǎng)絡(luò)(LBSN)中得到包含用戶及其簽到地點的簽到數(shù) 據(jù),從中剔除簽到次數(shù)少于a次的用戶,以及被簽到次數(shù)少于b次的地點,最終得到的簽到數(shù) 據(jù)含有S個用戶,t個地點,用戶集合U= (Ul,U2,…心),地點集合L= ( Il,12,…It),共計W條簽 到信息,每條簽到信息包含用戶、地點,表示為(m,lP),其中U 1表示用戶示地點P;
[0008] 步驟1-2:根據(jù)用戶簽到數(shù)據(jù),以用戶之間簽到數(shù)據(jù)的交集,即對相同地點簽到的 數(shù)據(jù),通過皮爾森相關(guān)系數(shù)計算,得到的數(shù)值作為用戶之間的簽到相似度權(quán)值,計算出s個 用戶兩兩之間的簽到相似度,構(gòu)建用戶簽到相似性網(wǎng)絡(luò)6。=<1]^>4=( &1〇5><5是6。的矩 陣;
[0009] 步驟1-3:根據(jù)用戶簽到相似度,利用離散粒子群優(yōu)化方法,識別出不同的社區(qū) (community),社區(qū)集合為C=(ci,c2,···),其中Ci代表第i個社區(qū);
[0010]步驟1-4:用戶在LBSN中連接其在某種社交網(wǎng)絡(luò)(如Facebook)的帳號,獲取該社交 網(wǎng)絡(luò)中用戶的好友列表,針對任一社區(qū)中的用戶對,用其在該社交網(wǎng)絡(luò)中共同好友數(shù)目標(biāo) 識作為權(quán)值,表示為用戶間的社交親密度,形成社區(qū)內(nèi)用戶的社交鄰接關(guān)系;
[0011]步驟1-5:根據(jù)社交親密度,在目標(biāo)用戶Ut所在的社區(qū)中,選擇與目標(biāo)用戶以的 社交親密度值最大的k-Ι個用戶,生成包含目標(biāo)用戶的人數(shù)為k的社交群組(group),推薦給 目標(biāo)用戶Ut;
[0012]步驟2:組內(nèi)地點推薦階段;
[0013] 步驟2-1:在群組內(nèi),根據(jù)用戶簽到相似度,利用協(xié)同過濾方法,對目標(biāo)用戶未簽到 地點進(jìn)行評分預(yù)測;
[0014] 步驟2-2:利用Top-N方法,選出N個評分最高的地點推薦給目標(biāo)用戶。
[0015] 進(jìn)一步,上述步驟1-2還包括以下步驟:
[0016] 在w條簽到信息中,以用戶i對地點p的簽到次數(shù),即(m,lP)出現(xiàn)的數(shù)目,作為用戶i 對地點P的評分,定義用戶U1對地點U平分為n^p,利用皮爾森相關(guān)系數(shù)計算用戶之間的簽 到相似度,從而計算出S個用戶兩兩之間的簽到相似度,由此構(gòu)建用戶簽到相似性網(wǎng)絡(luò)G。= <U,E>,A=(aij)sxs 是 Gc 的矩陣,
[0017]利用皮爾森相關(guān)系數(shù)計算用戶簽到相似性公式如下:
[0018]
123456 其中m,Uj代表用戶,Llj表示用戶i和用戶j之間共有的簽到地點,『私!表示用戶i對 某一地點1的評分,巧表示U i對共同簽到地點評分的平均值。 2 進(jìn)一步,上述步驟1-3包括: 3
[0021]利用DPSO方法進(jìn)行社區(qū)劃分,在一個多維空間內(nèi),以粒子群內(nèi)粒子移動的過程模 擬社區(qū)劃分優(yōu)化過程,根據(jù)粒子位置坐標(biāo)劃分社區(qū),坐標(biāo)維數(shù)等于LBSN中的用戶數(shù),位置坐 標(biāo)的分量對應(yīng)不同用戶,值相同的分量對應(yīng)的用戶在同一社區(qū),一個粒子的位置坐標(biāo)對應(yīng) 一種劃分結(jié)果,根據(jù)評價社區(qū)劃分標(biāo)準(zhǔn)的模塊度Q,決定粒子的速度,促使粒子的移動,位置 的改變,得到不同的社區(qū)劃分結(jié)果,進(jìn)而促使粒子向著優(yōu)化社區(qū)劃分即使Q值變大的位置移 動,最終達(dá)到迭代次數(shù)或停止條件時Q取最大值,對應(yīng)坐標(biāo)所代表的社區(qū)劃分方式為最佳的 社區(qū)劃分, 4
[0022]模塊度Q的定義如下: 5
[0023]
6 以同一個社區(qū)內(nèi)所有用戶簽到相似度權(quán)值總和與預(yù)期的所有用戶簽到相似度權(quán) 值總和相減所得值衡量社區(qū)劃分優(yōu)劣,Q越大表示識別出的社區(qū)劃分結(jié)構(gòu)越好,即同一個社 區(qū)內(nèi)所有用戶簽到相似度權(quán)值總和比預(yù)期的大,同一社區(qū)內(nèi)的聯(lián)系比預(yù)期的密切,
[0025]其中&1謙示用戶i與用戶j之間的簽到相似性權(quán)值,Z1= 是A中第i行除了第i 個值之外值的總和,h=ElZl是A中的總和,定義為預(yù)期的用戶i和用戶j之間的簽到 相似度,4表示用戶i所在的社區(qū),如果用戶i,j在同一社區(qū),則=1,否則為0,
[0026] 假設(shè)在s維空間中,m個粒子組成一個群體,每個粒子α包含一個s維的位置向量Xa = (Χα,1,Χα,2,···,Xd,S),速度向量Va=(Va,l,Va,2,…,Va, s),其中位置向量中的S個分量代表社 交網(wǎng)絡(luò)中的S個用戶,XM表示粒子α中對應(yīng)的用戶Uj,位置向量的每一個分量的取值范圍是 [I,S ]之間的整數(shù),速度向量的每一個分量的取值為0或1,針對粒子α的位置向量Xa = ( Xa, i, Χα, 2,…,Χα, s ),若Χα, 1 = Χα, 2,則用戶Ul,U2在同一社區(qū),以此規(guī)則劃分出社區(qū)結(jié)構(gòu),則每一個粒 子的位置對應(yīng)一種社區(qū)劃分,通過評價社區(qū)劃分標(biāo)準(zhǔn)的模塊度Q,根據(jù)粒子歷史位置記錄 (包含當(dāng)前位置),選擇使Q取最大值的位置為粒子歷史最佳位置Pbesta,再從m個粒子的 Pbesta中選出Q取最大值所對應(yīng)的位置為群體最佳位置Gbest,粒子根據(jù)Pbesta和Gbest調(diào)整 自己目前的速度向量Va,進(jìn)而通過速度調(diào)整改變自身的當(dāng)前位置Xa,通過粒子的不斷移動, 使得模塊度Q不斷增大,反復(fù)迭代直到滿足停止條件為止,此時Gbest對應(yīng)的社區(qū)劃分的模 塊度Q值最大,社區(qū)劃分結(jié)構(gòu)最佳,則Gbest坐標(biāo)對應(yīng)的社區(qū)劃分結(jié)果為最佳結(jié)果,
[0027] 速度向量和位置向量的更新規(guī)則如下:
[0028]
[0029]
[0030] 其中Cl1,d2是加速因子,cU = d2 = 1.494,ω是慣性權(quán)重,根據(jù)PSO中慣性權(quán)重對PSO 搜索能力影響的研究,取ω = 1.05,此時PSO搜索效率和搜索精度較高。η,^是[0,1 ]之間的 隨機(jī)值,Pbesta表示粒子a歷史最佳位置,Gbest表示群體最佳位置。取表示異或運算,如 在喊,若a,b值不同,則為1,否則為0,
[0031]函數(shù)Γ(·)定義如下:
[0032]
[0033]
[0034]
[0035] 其中Θ取[l,s]的任意整數(shù)。如果Xk與Θ相等,貝>J3(Xk,0) = l,否則為〇。當(dāng)Va, j = l時, 返回使函數(shù)取最大值的Θ,即在所有社區(qū)中,將一個社區(qū)內(nèi)所有用戶與用戶j的簽到相似性 權(quán)值求和,X、』等于值最大的社區(qū)內(nèi)用戶所對應(yīng)的坐標(biāo)分量的值,也表明用戶j與該社區(qū)聯(lián) 系最密切。
[0036] 根據(jù)上述描述,應(yīng)用DPSO方法進(jìn)行社區(qū)劃分的具體步驟如下:
[0037] 第一步:將m個粒子的位置向量中各分量隨機(jī)取[I,s]之間的整數(shù),速度向量中各 分量隨即取〇或1;
[0038]第二步:對每一個粒子a,計算當(dāng)前社區(qū)劃分的模塊度Q。,并根據(jù)模塊度值的大小, 更新該粒子的最佳位置PbesU,更新整個群體的最佳位置Gbest;
[0039] 第三步:更新粒子的位置,計算更新后的模塊度Q'a。若Q7a-Qc^lO'則返回第二 步,否則停止迭代,進(jìn)入第四步;
[0040] 第四步:滿足停止條件后,此時最終的Gbest,即模塊度最大所對應(yīng)的位置。按照坐 標(biāo)分量值相同,則對應(yīng)用戶在同一社區(qū)的規(guī)則,識別出e個社區(qū)。
[0041 ] 進(jìn)一步,上述步驟1-4還包括:
[0042] 根據(jù)社交網(wǎng)絡(luò)中用戶共同好友數(shù)據(jù),以用戶共同好友數(shù),作為評價用戶社交親密 度的指標(biāo)。定義用戶m,Uj之間的共同好友數(shù)量I imax為用戶U1與其他用戶共同好友 數(shù)最多的數(shù)量,對此進(jìn)行歸一彳彳
將b作為用戶m,u&間社交親密度,計算兩兩
用戶之間的社交親密度,形成社交親密度矩陣 7中第i行第j列的數(shù)值fu表示用 戶i和用戶j之間的社交親密度。
[0043] 進(jìn)一步,上述步驟1-5包括:
[0044] 選擇目標(biāo)用戶Ut所在的社區(qū),在社內(nèi),根據(jù)其他用戶m與目標(biāo)用戶Ut的社 交親密度值,即F中第t行第i列的值fit,求出Qt:中所有用戶與Ut的社交親密度,取最大的k-1個,與目標(biāo)用戶歸為一類,生成為一個群組#u t,推薦給目標(biāo)用戶ut。
[0045] 進(jìn)一步,上述步驟2-1包括:
[0046] 根據(jù)用戶簽到相似性網(wǎng)絡(luò),利用如下公式對目標(biāo)用戶Ut未簽到的地點込進(jìn)行評分 預(yù)測。
[0047]
[0048] 其中Ut表示目標(biāo)用戶,Ut表示目標(biāo)用戶所在的社交群組內(nèi)用戶集合,Ut'表示社 交群組內(nèi)除了U t以外某個用戶,心t斗表示用戶w對地點^的評分,表示用戶w對其簽 到過所有地點評分的均值。
[0049] 有益效果:
[0050] 1、本發(fā)明采用社區(qū)發(fā)現(xiàn)與劃分群組的方法,先利用位置信息進(jìn)行社區(qū)劃分,再利 用社交信息劃分社交群組。采用分層方式,產(chǎn)生了與目標(biāo)用戶相似的用戶集。該用戶集具有 與目標(biāo)用戶生活區(qū)域相似,且社交聯(lián)系密切的特點,此時再進(jìn)行推薦,將產(chǎn)生較為準(zhǔn)確的推 薦結(jié)果。
[0051] 2、本發(fā)明采用離散粒子群優(yōu)化方法,先對社交網(wǎng)絡(luò)中的用戶進(jìn)行劃分,再進(jìn)行后 續(xù)的推薦,相比于傳統(tǒng)的協(xié)同過濾方法,減小了方法復(fù)雜度,提高了系統(tǒng)的可擴(kuò)展性,使得 本發(fā)明更適用于大數(shù)據(jù)集的社交網(wǎng)絡(luò)。
[0052] 3、本發(fā)明采用社交群組和地點推薦相結(jié)合的機(jī)制,群內(nèi)成員聯(lián)系密切,且具有極 大的相似度。以地點推薦打開用戶間交流的話題,促進(jìn)用戶間的交流,同時由于用戶間現(xiàn)實 距離較近,更能促進(jìn)用戶間線下的交往,是一種擴(kuò)大交友范圍,結(jié)識志趣相投的朋友的方 式。
【附圖說明】
[0053]圖1為本發(fā)明的系統(tǒng)不意圖。
[0054]圖2為生成社交群組的示意圖。
【具體實施方式】
[0055] 以下結(jié)合說明書附圖對本發(fā)明創(chuàng)造作進(jìn)一步詳細(xì)說明。
[0056] 本發(fā)明的使用的主要符號及其含義包括:
[0059]本發(fā)明的目的是提供一種基于位置和社交關(guān)系的群組與地點推薦方法。該方法分 為生成社交群組和組內(nèi)地點推薦兩個階段。在生成社交群組的階段,通過對基于位置的社 交網(wǎng)絡(luò)中的用戶簽到信息的采集,剔除有效性差的地點與用戶數(shù)據(jù),最終獲得用戶的簽到 數(shù)據(jù)。然后利用皮爾森相關(guān)系數(shù)(Pearson correlation coefficient),以用戶間共有的簽 至擻據(jù)衡量簽到相似性,計算出用戶間簽到相似度,構(gòu)建用戶簽到相似度網(wǎng)絡(luò)。再根據(jù)簽到 相似性網(wǎng)絡(luò),利用離散粒子群優(yōu)化方法(DPSO,Discrete Particle Swarm Optimization), 識別出不同的社區(qū)(community)。然后通過用戶在LBSN中連接其在某種社交網(wǎng)絡(luò)(如 Facebook)的帳號,獲取用戶在該社交網(wǎng)絡(luò)中好友列表,針對任一社區(qū)中的用戶對,用其在 該社交網(wǎng)絡(luò)中共同好友數(shù)目標(biāo)識作為權(quán)值,表示為用戶間的社交親密度,形成社區(qū)內(nèi)用戶 的社交鄰接關(guān)系。再根據(jù)社交親密度,選擇與目標(biāo)用戶的社交親密度值最大的k-Ι個用戶, 生成包含目標(biāo)用戶的人數(shù)為k的社交群組(group),推薦給目標(biāo)用戶。在組內(nèi)地點推薦階段, 利用協(xié)同過濾的推薦方法對目標(biāo)用戶進(jìn)行地點推薦。
[0060]方法流程:
[0061 ]步驟1:生成社交群組階段;
[0062] 步驟1-1:從基于位置的社交網(wǎng)絡(luò)(LBSN)中得到包含用戶及其簽到地點的簽到數(shù) 據(jù),從中剔除簽到次數(shù)少于a次的用戶,以及被簽到次數(shù)少于b次的地點,最終得到的簽到數(shù) 據(jù)含有S個用戶,t個地點,用戶集合U= (U1,U2,…心),地點集合L= (Ii,h,…It),共計w條簽 到信息,每條簽到信息包含用戶、地點,表示為(m,lP),Ui表示用戶匕^表示地點p;
[0063] 步驟1-2:根據(jù)用戶簽到數(shù)據(jù),以用戶之間簽到數(shù)據(jù)的交集,即對相同地點簽到的 數(shù)據(jù),通過皮爾森相關(guān)系數(shù)計算,得到的數(shù)值作為用戶之間的簽到相似度權(quán)值,計算出s個 用戶兩兩之間的簽到相似度,構(gòu)建用戶簽到相似性網(wǎng)絡(luò)6。=<1]^>4=( &^)5&是6。的矩 陣;
[0064] 步驟1-3:根據(jù)用戶簽到相似度,利用離散粒子群優(yōu)化方法,識別出不同的社區(qū) (community),社區(qū)集合為C=(ci,c2,···),其中Ci代表第i個社區(qū);
[0065]步驟1-4:用戶在LBSN中連接其在某種社交網(wǎng)絡(luò)(如Facebook)的帳號,獲取該社交 網(wǎng)絡(luò)中用戶的好友列表,針對任一社區(qū)中的用戶對,用其在該社交網(wǎng)絡(luò)的共同好友數(shù)目標(biāo) 識作為權(quán)值,表示為用戶間的社交親密度,形成社區(qū)內(nèi)用戶的社交鄰接關(guān)系;
[0066]步驟1-5:根據(jù)社交親密度,選擇與目標(biāo)用戶的社交親密度值最大的k-Ι個用戶,生 成包含目標(biāo)用戶的人數(shù)為k的社交群組(group),推薦給目標(biāo)用戶;
[0067]步驟2:組內(nèi)地點推薦階段;
[0068] 步驟2-1:在群組內(nèi),根據(jù)用戶簽到相似度,利用協(xié)同過濾方法,對目標(biāo)用戶未簽到 地點進(jìn)行評分預(yù)測;
[0069] 步驟2-2:利用Top-N方法,選出N個評分最高的地點推薦給目標(biāo)用戶。
[0070] 本發(fā)明步驟1-2中,在w條簽到信息中,以用戶i對地點p的簽到次數(shù),即(m,lP)出現(xiàn) 的數(shù)目,作為用戶i對地點P的評分,定義用戶m對地點u平分為n^ p。利用皮爾森相關(guān)系數(shù) 計算用戶之間的簽到相似度,從而計算出s個用戶兩兩之間的簽到相似度,由此構(gòu)建用戶簽 到相似性網(wǎng)絡(luò)6〇 = <1^>4=(&"^3是6。的矩陣。
[0071 ]利用皮爾森相關(guān)系數(shù)計算用戶簽到相似性公式如下:
[0072]
[0073] 其中Ui,Uj代表用戶,Lij表示用戶i和用戶j之間共有的簽到地點,&,!表示用戶i對 某一地點1的評分,表示m對共同簽到地點評分的平均值。
[0074]本發(fā)明步驟1-3中,利用DPSO方法進(jìn)行社區(qū)劃分,在一個多維空間內(nèi),以粒子群內(nèi) 粒子移動的過程模擬社區(qū)劃分優(yōu)化過程。根據(jù)粒子位置坐標(biāo)劃分社區(qū),坐標(biāo)維數(shù)等于LBSN 中的用戶數(shù),位置坐標(biāo)的分量對應(yīng)不同用戶,值相同的分量對應(yīng)的用戶在同一社區(qū),一個粒 子的位置坐標(biāo)對應(yīng)一種劃分結(jié)果。根據(jù)評價社區(qū)劃分標(biāo)準(zhǔn)的模塊度Q,決定粒子的速度,促 使粒子的移動,位置的改變,得到不同的社區(qū)劃分結(jié)果,進(jìn)而促使粒子向著優(yōu)化社區(qū)劃分即 使Q值變大的位置移動,最終達(dá)到迭代次數(shù)或停止條件時Q取最大值,對應(yīng)坐標(biāo)所代表的社 區(qū)劃分方式為最佳的社區(qū)劃分。
[0075] 模塊度Q的定義如下:
[0076]
[0077] 以同一個社區(qū)內(nèi)所有用戶簽到相似度權(quán)值總和與預(yù)期的所有用戶簽到相似度權(quán) 值總和相減所得值衡量社區(qū)劃分優(yōu)劣,Q越大表示識別出的社區(qū)劃分結(jié)構(gòu)越好。即同一個社 區(qū)內(nèi)所有用戶簽到相似度權(quán)值總和比預(yù)期的大,同一社區(qū)內(nèi)的聯(lián)系比預(yù)期的密切。
[0078]其中&1謙示用戶i與用戶j之間的簽到相似性權(quán)值,Z1= 是A中第i行除了第i 個值之外值的總和,h=ElZl是A中的總和定義為預(yù)期的用戶i和用戶j之間的簽到 相似度。%表示用戶i所在的社區(qū),如果用戶i,j在同一社區(qū),則
否則為〇。
[0079] 假設(shè)在s維空間中,m個粒子組成一個群體,每個粒子α包含一個s維的位置向量Xa = (Χα,1,Χα,2,···,Xd,S),速度向量Va=(Va,l,Va,2,…,Va, s),其中位置向量中的S個分量代表社 交網(wǎng)絡(luò)中的S個用戶,XM表示粒子α中對應(yīng)的用戶Uj,位置向量的每一個分量的取值范圍是 [I,S ]之間的整數(shù),速度向量的每一個分量的取值為0或1。針對粒子α的位置向量Xa = ( Xa, i, Χα, 2,…,Χα, s ),若Χα, 1 = Χα, 2,則用戶Ul,U2在同一社區(qū),以此規(guī)則劃分出社區(qū)結(jié)構(gòu),則每一個粒 子的位置對應(yīng)一種社區(qū)劃分,通過評價社區(qū)劃分標(biāo)準(zhǔn)的模塊度Q,根據(jù)粒子歷史位置記錄 (包含當(dāng)前位置),選擇使Q取最大值的位置為粒子歷史最佳位置Pbesta。再從m個粒子的 Pbesta中選出Q取最大值所對應(yīng)的位置為群體最佳位置Gbest,粒子根據(jù)Pbesta和Gbest調(diào)整 自己目前的速度向量Va,進(jìn)而通過速度調(diào)整改變自身的當(dāng)前位置Xa。通過粒子的不斷移動, 使得模塊度Q不斷增大。反復(fù)迭代直到滿足停止條件為止,此時Gbest對應(yīng)的社區(qū)劃分的模 塊度Q值最大,社區(qū)劃分結(jié)構(gòu)最佳,則Gbest坐標(biāo)對應(yīng)的社區(qū)劃分結(jié)果為最佳結(jié)果。
[0080] 速度向量和位置向量的更新規(guī)則如下:
[0081]
[0082]
[0083] 其中cU,d2是加速因子,cU = d2 = 1.494,ω是慣性權(quán)重,根據(jù)PSO中慣性權(quán)重對PSO 搜索能力影響的研究,取ω = 1.05,此時PSO搜索效率和搜索精度較高。η,^是[0,1 ]之間的 隨機(jī)值,Pbesta表示粒子a歷史最佳位置,Gbest表示群體最佳位置。Θ表示異或運算,如 a:餅,若a,b值不同,則為1,否則為0。
[0084]函數(shù)Γ(·)定義如下:
[0085]
[0086]
[0087]
[0088] 其中Θ取[l,s]的任意整數(shù)。如果Xk與Θ相等,貝>J3(xk,0) = l,否則為〇。當(dāng)Va, j = l時, 返回使函數(shù)取最大值的Θ,即在所有社區(qū)中,將一個社區(qū)內(nèi)所有用戶與用戶j的簽到相似性 權(quán)值求和,X、』等于值最大的社區(qū)內(nèi)用戶所對應(yīng)的坐標(biāo)分量的值,也表明用戶j與該社區(qū)聯(lián) 系最密切。
[0089]根據(jù)上述描述,應(yīng)用DPSO方法進(jìn)行社區(qū)劃分的具體步驟如下:
[0090] 第一步:將m個粒子的位置向量中各分量隨機(jī)取[I,s]之間的整數(shù),速度向量中各 分量隨即取〇或1。
[0091] 第二步:對每一個粒子α,計算當(dāng)前社區(qū)劃分的模塊度Qa,并根據(jù)模塊度值的大小, 更新該粒子的最佳位置Pb e s U,更新整個群體的最佳位置Gbe s t。
[0092] 第三步:更新粒子的位置,計算更新后的模塊度V α。若Va-Q^lO'則返回第二 步,否則停止迭代,進(jìn)入第四步。
[0093] 第四步:滿足停止條件后,此時最終的Gbest,即模塊度最大所對應(yīng)的位置。按照坐 標(biāo)分量值相同,則對應(yīng)用戶在同一社區(qū)的規(guī)則,識別出e個社區(qū)。
[0094]本發(fā)明步驟1-4中,根據(jù)社交網(wǎng)絡(luò)中用戶共同好友數(shù)據(jù),以用戶共同好友數(shù),作為 評價用戶社交親密度的指標(biāo)。定義用戶m,Uj之間的共同好友數(shù)量u/,為用戶m與 其他用戶共同好友數(shù)最多的數(shù)量,對此進(jìn)行歸一佔
tfu作為用戶m,Uj之間社 交親密度,計算兩兩用戶之間的社交親密度,形成社交親密度矩陣F = 中第i行第 j列的數(shù)值表示用戶i和用戶j之間的社交親密度。
[0095] 本發(fā)明步驟1-5中,選擇目標(biāo)用戶ut所在的社區(qū)。在社區(qū)心£內(nèi),根據(jù)其他用戶m 與目標(biāo)用戶Ut的社交親密度值,即F中第t行第i列的值flt,求出S中所有用戶與&的社交親 密度,取最大的k-Ι個,與目標(biāo)用戶歸為一類,生成為一個群組5W,推薦給目標(biāo)用戶u t。
[0096] 本發(fā)明步驟2-1中根據(jù)用戶簽到相似性網(wǎng)絡(luò),利用如下公式對目標(biāo)用戶Ut未簽到 的地點^進(jìn)行評分預(yù)測。
[0097]
[0098] 其中Ut表示目標(biāo)用戶,Ut表示目標(biāo)用戶所在的社交群組內(nèi)用戶集合,iw表示社 交群組內(nèi)除了 Ut以外某個用戶,%士表示用戶Ut'對地點It^評分,表示用戶U t'對其簽 到過所有地點評分的均值。
[0099] 如圖1所示,本發(fā)明分為生成社交群組和組內(nèi)地點推薦兩個階段。
[0100] 首先,在生成社交群組階段,在簽到數(shù)據(jù)中,剔除簽到次數(shù)少于a次的用戶,以及被 簽到次數(shù)少于b次的地點,最終得到數(shù)據(jù)含有s個用戶,t個地點,共計w條簽到信息。然后利 用皮爾森相關(guān)系數(shù),以用戶間共有的簽到數(shù)據(jù)衡量簽到相似性,計算出用戶間簽到相似度, 構(gòu)建用戶簽到相似度網(wǎng)絡(luò)G。= <U,E>。
[0101] 再運用離散粒子群優(yōu)化方法劃分出社區(qū)。假設(shè)在s維空間中,m個粒子組成一個群 體,每個粒子CX包含一個S維的位置向量Χα =( Χα, 1,Χα, 2,…,Xa, s ),速度向量Va =( Vci, I,Vci, 2,…, Va,s),其中位置向量中的S個分量代表社交網(wǎng)絡(luò)中的S個用戶,Xau表示粒子α中對應(yīng)的用戶 Uj,位置向量的每一個分量的取值范圍是[1,S]之間的整數(shù),速度向量的每一個分量的取值 為0或1。針對粒子α的位置向量Xa= (Xa,:L,Xa,2,…,Xa,s),若Χα,1 = Χα,2,則用戶Ul,U2在同一社 區(qū),以此規(guī)則劃分出社區(qū)結(jié)構(gòu),則每一個粒子的位置對應(yīng)一種社區(qū)劃分,通過評價社區(qū)劃分 標(biāo)準(zhǔn)的模塊度Q,根據(jù)粒子歷史位置記錄(包含當(dāng)前位置),選擇使Q取最大值的位置為粒子 歷史最佳位置Pbesta。再從m個粒子的Pbesta中選出Q取最大值所對應(yīng)的位置為群體最佳位 置Gbest,粒子根據(jù)Pbesta和Gbest調(diào)整自己目前的速度向量Va,進(jìn)而通過速度調(diào)整改變自身 的當(dāng)前位置X a。通過粒子的不斷移動,使得模塊度Q不斷增大。反復(fù)迭代直到滿足停止條件 為止,此時G b e s t對應(yīng)的社區(qū)劃分的模塊度Q值最大,社區(qū)劃分結(jié)構(gòu)最佳,則G b e s t對應(yīng)的社 區(qū)劃分結(jié)果為最佳結(jié)果。具體實施步驟如圖2所示:將m個粒子的位置向量中各分量隨機(jī)取 [l,s]之間的整數(shù),速度向量中各分量隨即取0或1。對每一個粒子,計算當(dāng)前社區(qū)劃分的模 塊度Q a,并根據(jù)模塊度值的大小,更新該粒子的最佳位置PbesU,更新整個群體的最佳位置 Gbest。更新粒子的位置,計算更新后的模塊度Q\。若Q\-Qa>l(Tg,則重復(fù)上述步驟,否則停 止迭代。滿足停止條件后,此時最終的Gbest,即模塊度最大所對應(yīng)的位置。按照坐標(biāo)分量值 相同,則對應(yīng)用戶在同一社區(qū)的規(guī)則,識別出e個社區(qū)。
[0102] 再通過用戶在LBSN中連接其在某種社交網(wǎng)絡(luò)(如Facebook)的帳號,獲取用戶在該 社交網(wǎng)絡(luò)中好友列表,針對任一社區(qū)中的用戶對,用其在該社交網(wǎng)絡(luò)中共同好友數(shù)目標(biāo)識 作為權(quán)值,表示為用戶間的社交親密度,形成社區(qū)內(nèi)用戶的社交鄰接關(guān)系。再如圖2所示,選 擇目標(biāo)用戶U t所在的社區(qū)^。在社區(qū)^內(nèi),根據(jù)其他用戶出與目標(biāo)用戶Ut的社交親密度值, 即F中第t行第i列的值f lt,求出%中所有用戶與Ut的社交親密度,取最大的k-Ι個,與目標(biāo) 用戶歸為一類,生成為一個群組,推薦給目標(biāo)用戶ut。
[0103] 在地點推薦階段,根據(jù)用戶簽到相似性網(wǎng)絡(luò),以社交群組內(nèi)其他用戶對地點的評 分來對目標(biāo)用戶未簽到的地點進(jìn)行評分預(yù)測。再利用Top-N方法,選出N個評分最高的地點 推薦給目標(biāo)用戶。
【主權(quán)項】
1. 一種基于位置和社交關(guān)系的群組與地點推薦方法,其特征在于包括如下步驟: 步驟1:生成社交群組階段; 步驟1-1:從LBSN中得到包含用戶及其簽到地點的簽到數(shù)據(jù),從中剔除簽到次數(shù)少于a 次的用戶,以及被簽到次數(shù)少于b次的地點,最終得到的簽到數(shù)據(jù)含有s個用戶,t個地點,用 戶集合u= (U1,U2,…山),地點集合L= ( ll,12,…]^),共計W條簽到信息,每條簽到信息包含 用戶、地點,表示為(Ui,lp),其中Ui表示用戶i,lP表示地點P; 步驟1-2:根據(jù)用戶簽到數(shù)據(jù),以用戶之間簽到數(shù)據(jù)的交集,即對相同地點簽到的數(shù)據(jù), 通過皮爾森相關(guān)系數(shù)計算,得到的數(shù)值作為用戶之間的簽到相似度權(quán)值,計算出s個用戶兩 兩之間的簽到相似度,構(gòu)建用戶簽到相似性網(wǎng)絡(luò)6。=<1]3>4=( &^)%是6。的矩陣; 步驟1-3:根據(jù)用戶簽到相似度,利用離散粒子群優(yōu)化方法,識別出不同的社區(qū),社區(qū)集 合為C=(C1,C2,···),其中Ci代表第i個社區(qū); 步驟1-4:用戶在LBSN中連接其在某種社交網(wǎng)絡(luò)的帳號,獲取該社交網(wǎng)絡(luò)中用戶的好友 列表,針對任一社區(qū)中的用戶對,用其在該社交網(wǎng)絡(luò)中共同好友數(shù)目標(biāo)識作為權(quán)值,表示為 用戶間的社交親密度,形成社區(qū)內(nèi)用戶的社交鄰接關(guān)系; 步驟1-5:根據(jù)社交親密度,在目標(biāo)用戶ut所在的社區(qū)中,選擇與目標(biāo)用戶ut的社交親 密度值最大的k-Ι個用戶,生成包含目標(biāo)用戶的人數(shù)為k的社交群組,推薦給目標(biāo)用戶ut; 步驟2:組內(nèi)地點推薦階段; 步驟2-1:在群組內(nèi),根據(jù)用戶簽到相似度,利用協(xié)同過濾方法,對目標(biāo)用戶未簽到地點 進(jìn)行評分預(yù)測; 步驟2-2:利用Top-N方法,選出N個評分最高的地點推薦給目標(biāo)用戶。2. 根據(jù)權(quán)利要求1所述的一種基于位置和社交關(guān)系的群組與地點推薦方法,其特征在 于,所述步驟1-2包括: 在w條簽到信息中,以用戶i對地點p的簽到次數(shù),即(m,lp)出現(xiàn)的數(shù)目,作為用戶i對地 點P的評分,定義用戶m對地點U平分為\知,利用皮爾森相關(guān)系數(shù)計算用戶之間的簽到相 似度,從而計算出s個用戶兩兩之間的簽到相似度,由此構(gòu)建用戶簽到相似性網(wǎng)絡(luò)6。=<1], E〉,A=(aij)sXs 是 Gc 的矩陣, 利用皮爾森相關(guān)系數(shù)計算用戶簽到相似性公式如下:其中Ui,Uj代表用戶,Lij表示用戶i和用戶j之間共有的簽到地點,V!表示用戶i對某一 地點1的評分,巧;表示m對共同簽到地點評分的平均值。3. 根據(jù)權(quán)利要求1所述的一種基于位置和社交關(guān)系的群組與地點推薦方法,其特征在 于,所述步驟1-3包括: 利用DPS0方法進(jìn)行社區(qū)劃分,在一個多維空間內(nèi),以粒子群內(nèi)粒子移動的過程模擬社 區(qū)劃分優(yōu)化過程,根據(jù)粒子位置坐標(biāo)劃分社區(qū),坐標(biāo)維數(shù)等于LBSN中的用戶數(shù),位置坐標(biāo)的 分量對應(yīng)不同用戶,值相同的分量對應(yīng)的用戶在同一社區(qū),一個粒子的位置坐標(biāo)對應(yīng)一種 劃分結(jié)果,根據(jù)評價社區(qū)劃分標(biāo)準(zhǔn)的模塊度Q,決定粒子的速度,促使粒子的移動,位置的改 變,得到不同的社區(qū)劃分結(jié)果,進(jìn)而促使粒子向著優(yōu)化社區(qū)劃分即使Q值變大的位置移動, 最終達(dá)到迭代次數(shù)或停止條件時Q取最大值,對應(yīng)坐標(biāo)所代表的社區(qū)劃分方式為最佳的社 區(qū)劃分, 模塊度Q的定義如下:以同一個社區(qū)內(nèi)所有用戶簽到相似度權(quán)值總和與預(yù)期的所有用戶簽到相似度權(quán)值總 和相減所得值衡量社區(qū)劃分優(yōu)劣,Q越大表示識別出的社區(qū)劃分結(jié)構(gòu)越好,即同一個社區(qū)內(nèi) 所有用戶簽到相似度權(quán)值總和比預(yù)期的大,同一社區(qū)內(nèi)的聯(lián)系比預(yù)期的密切, 其中&1謙示用戶i與用戶j之間的簽到相似性權(quán)值,Ζι=Σ^^是A中第i行除了第i個值 之外值的總和,h=ElZl是A中的總和,定義為預(yù)期的用戶i和用戶j之間的簽到相似 度,~表示用戶i所在的社區(qū),如果用戶i,j在同一社區(qū),則= 1,否則為0, 假設(shè)在s維空間中,m個粒子組成一個群體,每個粒子α包含一個s維的位置向量Χα = (Χα,1,Χα,2,…,Xa,s),速度向量Va=(Va,l,Va,2,…,Va, s),其中位置向量中的S個分量代表社交 網(wǎng)絡(luò)中的s個用戶,xu表示粒子α中對應(yīng)的用戶位置向量的每一個分量的取值范圍是 [1,s ]之間的整數(shù),速度向量的每一個分量的取值為0或1,針對粒子α的位置向量Xa = ( Xa, i, Χα, 2,…,Χα, S ),若Χα, 1 = Χα, 2,則用戶U1,U2在同一社區(qū),以此規(guī)則劃分出社區(qū)結(jié)構(gòu),貝每一個粒 子的位置對應(yīng)一種社區(qū)劃分,通過評價社區(qū)劃分標(biāo)準(zhǔn)的模塊度Q,根據(jù)粒子歷史位置記錄 (包含當(dāng)前位置),選擇使Q取最大值的位置為粒子歷史最佳位置Pbesta,再從m個粒子的 Pbestcc中選出Q取最大值所對應(yīng)的位置為群體最佳位置Gbest,粒子根據(jù)Pbestcc和Gbest調(diào)整 自己目前的速度向量Va,進(jìn)而通過速度調(diào)整改變自身的當(dāng)前位置Χα,通過粒子的不斷移動, 使得模塊度Q不斷增大,反復(fù)迭代直到滿足停止條件為止,此時Gbest對應(yīng)的社區(qū)劃分的模 塊度Q值最大,社區(qū)劃分結(jié)構(gòu)最佳,則Gbest坐標(biāo)對應(yīng)的社區(qū)劃分結(jié)果為最佳結(jié)果, 速度向量和位置向量的更新規(guī)則如下:Χα^Χα Θ Va 其中cU,d2是加速因子,cU = d2 = 1.494,ω是慣性權(quán)重,根據(jù)PSO中慣性權(quán)重對PSO搜索能 力影響的研究,取ω = 1.05,此時PS0搜索效率和搜索精度較高,η,^是[0,1 ]之間的隨機(jī) 值,Pbesta表示粒子a歷史最佳位置,Gbest表示群體最佳位置,φ表示異或運算,如a?&若 a,b值不同,則為1,否則為0, 函數(shù)Γ( ·)定義如下: ΧαΘΥα定義如下:其中Θ取[1,s]的任意整數(shù),如果Xk與Θ相等,貝>J3(xk,0) = l,否則為〇,當(dāng)Va,j = l時,返回 使函數(shù)取最大值的Θ,即在所有社區(qū)中,將一個社區(qū)內(nèi)所有用戶與用戶j的簽到相似性權(quán)值 求和,X'U等于值最大的社區(qū)內(nèi)用戶所對應(yīng)的坐標(biāo)分量的值,也表明用戶j與該社區(qū)聯(lián)系最 密切, 根據(jù)上述描述,應(yīng)用DPSO方法進(jìn)行社區(qū)劃分的具體步驟如下: 第一步:將m個粒子的位置向量中各分量隨機(jī)取[l,s]之間的整數(shù),速度向量中各分量 隨即取0或1; 第二步:對每一個粒子a,計算當(dāng)前社區(qū)劃分的模塊度Q。,并根據(jù)模塊度值的大小,更新 該粒子的最佳位置PbesU,更新整個群體的最佳位置Gbest; 第三步:更新粒子的位置,計算更新后的模塊度Q、,若Q、_Qa> l〇_g,則返回第二步,否 則停止迭代,進(jìn)入第四步; 第四步:滿足停止條件后,此時最終的Gbest,即模塊度最大所對應(yīng)的位置,按照坐標(biāo)分 量值相同,則對應(yīng)用戶在同一社區(qū)的規(guī)則,識別出e個社區(qū)。4. 根據(jù)權(quán)利要求1所述的一種基于位置和社交關(guān)系的群組與地點推薦方法,其特征在 于,所述步驟1-4包括: 根據(jù)社交網(wǎng)絡(luò)中用戶共同好友數(shù)據(jù),以用戶共同好友數(shù),作為評價用戶社交親密度的 指標(biāo),定義用戶m,Uj之間的共同好友數(shù)量為用戶m與其他用戶共同好友數(shù)最 多的數(shù)量,對此進(jìn)行歸一化將fu作為用戶間社交親密度,計算兩兩用戶 之間的社交親密度,形成社交親密度矩陣F=(f^)sXs,F(xiàn)中第i行第j列的數(shù)值表示用戶i 和用戶j之間的社交親密度。5. 根據(jù)權(quán)利要求1所述的一種基于位置和社交關(guān)系的群組與地點推薦方法,其特征在 于,所述步驟1-5包括: 選擇目標(biāo)用戶ut所在的社區(qū)%,在社區(qū)%A,根據(jù)其他用戶出與目標(biāo)用戶Ut的社交親密 度值,即F中第t行第i列的值flt,求出%中所有用戶與Ut的社交親密度,取最大的k-Ι個,與 目標(biāo)用戶歸為一類,生成為一個群組推薦給目標(biāo)用戶u t。6. 根據(jù)權(quán)利要求1所述的一種基于位置和社交關(guān)系的群組與地點推薦方法,其特征在 于,所述步驟2-1包括: 根據(jù)用戶簽到相似性網(wǎng)絡(luò),利用如下公式對目標(biāo)用戶ut未簽到的地點1P?行評分預(yù)測,其中Ut表示目標(biāo)用戶,Ut表示目標(biāo)用戶所在的社交群組5%內(nèi)用戶集合,w表示社交群 組內(nèi)除了ut以外某個用戶,"知表示用戶w對地點^的評分,^表示用戶w對其簽到過 所有地點評分的均值。
【文檔編號】G06Q50/00GK106056455SQ201610383668
【公開日】2016年10月26日
【申請日】2016年6月2日
【發(fā)明人】呂如恒, 王玉峰
【申請人】南京郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
吕梁市| 天水市| 延安市| 九龙城区| 和静县| 疏附县| 衡阳市| 中山市| 许昌市| 嘉定区| 桐梓县| 星子县| 天镇县| 崇左市| 交口县| 南皮县| 洪洞县| 绿春县| 山西省| 渝中区| 类乌齐县| 临高县| 江西省| 高平市| 子洲县| 吉林市| 冕宁县| 义马市| 香河县| 云安县| 明水县| 泾阳县| 达尔| 新丰县| 邢台县| 台山市| 罗平县| 长兴县| 石棉县| 和顺县| 阳泉市|