一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法
【專利摘要】本發(fā)明公開了一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,屬于數(shù)據(jù)挖掘、社交網(wǎng)絡(luò)、等領(lǐng)域,解決現(xiàn)有個(gè)性化推薦中沒(méi)有考慮社交網(wǎng)絡(luò)特性的問(wèn)題。本發(fā)明采集社交網(wǎng)絡(luò)中用戶歷史數(shù)據(jù),對(duì)用戶的興趣愛(ài)好建模,得到所有用戶的偏好向量集合;根據(jù)用戶偏好向量集合中表示用戶的興趣愛(ài)好偏好向量和表示用戶的朋友關(guān)系偏好向量對(duì)用戶聚類,找出社交網(wǎng)絡(luò)中用戶所在的興趣愛(ài)好和朋友關(guān)系重疊社區(qū);根據(jù)用戶的興趣愛(ài)好和用戶的朋友關(guān)系重疊社區(qū),得到目標(biāo)用戶的初始待推薦好友列表,并對(duì)得到的初始待推薦好友列表進(jìn)行過(guò)濾和排序,得到最終的待推薦好友列表。本發(fā)明利用了用戶的興趣愛(ài)好和朋友關(guān)系進(jìn)行好友推薦,更加適合社交網(wǎng)絡(luò)。
【專利說(shuō)明】—種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法
【技術(shù)領(lǐng)域】
[0001]一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,利用社交網(wǎng)絡(luò)具有的典型復(fù)雜網(wǎng)絡(luò)特性,找到社交網(wǎng)絡(luò)中用戶的興趣愛(ài)好社區(qū),利用用戶的興趣愛(ài)好和朋友關(guān)系進(jìn)行好友推薦,提高個(gè)性化推薦的準(zhǔn)確度和社交服務(wù)的用戶體驗(yàn),涉及數(shù)據(jù)挖掘、社交網(wǎng)絡(luò)、個(gè)性化推薦等領(lǐng)域。
【背景技術(shù)】
[0002]社交網(wǎng)絡(luò)是典型的復(fù)雜網(wǎng)絡(luò),具有復(fù)雜網(wǎng)絡(luò)的小世界特性(small-world)、無(wú)標(biāo)度(scale-free)特性和社團(tuán)結(jié)構(gòu)特性。
[0003]小世界特性指的是在網(wǎng)絡(luò)規(guī)模很大的情況下,任意兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)之間可以通過(guò)相對(duì)較小的步驟建立聯(lián)系。社交網(wǎng)絡(luò)不僅完全符合“六度分離”理論,而且具有較小的特征路徑長(zhǎng)度,符合復(fù)雜網(wǎng)絡(luò)的小世界特性。
[0004]無(wú)標(biāo)度特性是指網(wǎng)絡(luò)中的少數(shù)節(jié)點(diǎn)擁有大量的連接,而大部分節(jié)點(diǎn)只與很少的節(jié)點(diǎn)連接,無(wú)標(biāo)度特性反應(yīng)了用戶聚集的集中性。在社交網(wǎng)絡(luò)中新加入的用戶更傾向于和活躍用戶建立連接,比如用戶加入Twitter時(shí),首先關(guān)注自己喜歡的明星,隨著網(wǎng)絡(luò)規(guī)模的增力口,類似明星這樣的節(jié)點(diǎn)得到的連接越來(lái)越多。
[0005]社團(tuán)結(jié)構(gòu)是指網(wǎng)絡(luò)中所有的節(jié)點(diǎn)的聯(lián)系是有規(guī)律的,一些節(jié)點(diǎn)的邊連接非常緊密,成為規(guī)模網(wǎng)絡(luò)中的一個(gè)密集子網(wǎng)。在社團(tuán)內(nèi)部,節(jié)點(diǎn)之間的聯(lián)系非常緊密,而社團(tuán)與社團(tuán)之間的節(jié)點(diǎn)聯(lián)系非常稀疏。
[0006]個(gè)性化推薦技術(shù)主要包括:協(xié)同過(guò)濾、基于內(nèi)容的過(guò)濾、基于知識(shí)的過(guò)濾和混合推薦。其中,應(yīng)用最廣泛的協(xié)同過(guò)濾又分為基于用戶的協(xié)同過(guò)濾、基于項(xiàng)目的協(xié)同過(guò)濾,基于隱語(yǔ)義模型的協(xié)同過(guò)濾和基于圖模型的協(xié)同過(guò)濾等。
[0007]協(xié)同過(guò)濾的基本思想是通過(guò)用戶的歷史行為來(lái)預(yù)測(cè)目標(biāo)用戶最可能喜歡哪些物品或?qū)δ男┪锲犯信d趣。通過(guò)分析得到用戶的興趣愛(ài)好,在所有用戶中找到與目標(biāo)用戶有相似興趣的用戶,綜合這些相似用戶對(duì)某一物品的行為(點(diǎn)擊、評(píng)分等),預(yù)測(cè)目標(biāo)用戶對(duì)物品的喜好程度。不同的推薦算法根據(jù)不同的推薦策略進(jìn)行推薦,每種算法都有自己的優(yōu)勢(shì)和缺點(diǎn),適用于不同的應(yīng)用場(chǎng)景。
[0008]好友推薦是SNS社交網(wǎng)絡(luò)的基礎(chǔ)服務(wù),現(xiàn)有的好友推薦大致可以分為兩類:一類是基于用戶的社交關(guān)系,包括“朋友的朋友”和共同好友的數(shù)量來(lái)進(jìn)行推薦,比如Facebook上“People you may know”,就是通過(guò)推薦和自己沒(méi)有朋友關(guān)系但是和自己的朋友有朋友關(guān)系的用戶;還有基于共同朋友的數(shù)量,共同朋友越多,說(shuō)明用戶在現(xiàn)實(shí)生活中也可能認(rèn)識(shí),比如國(guó)內(nèi)社交網(wǎng)站人人網(wǎng),在推薦朋友時(shí)把共同好友數(shù)量越多的用戶認(rèn)為可能是同學(xué)。另外一類是基于用戶的興趣愛(ài)好,比如在Twitter上,會(huì)根據(jù)你關(guān)注的人找到和這些用戶類型相同的用戶,當(dāng)?shù)顷懯醉?yè)時(shí),頁(yè)面上的“Who to Follow”就會(huì)出現(xiàn)用戶推薦列表,認(rèn)為用戶也會(huì)對(duì)他們感興趣。
[0009]現(xiàn)有的社區(qū)發(fā)現(xiàn)算法通常僅僅利用社交網(wǎng)絡(luò)的用戶朋友關(guān)系網(wǎng)絡(luò)拓?fù)鋱D,而且找到的社區(qū)是非重疊社區(qū)。另外,現(xiàn)有的好友推薦方法常常只利用了用戶的朋友關(guān)系,沒(méi)有考慮用戶的興趣愛(ài)好或者沒(méi)有考慮用戶興趣愛(ài)好的動(dòng)態(tài)變化。
【發(fā)明內(nèi)容】
[0010]本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足之處提供一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,結(jié)合社交網(wǎng)絡(luò)的社團(tuán)結(jié)構(gòu)特性,基于用戶的興趣愛(ài)好和用戶的朋友關(guān)系尋找社交網(wǎng)絡(luò)中的重疊社區(qū),提高個(gè)性化推薦的準(zhǔn)確度和社交服務(wù)的用戶體驗(yàn)。
[0011]為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
[0012]一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,其特征在于,如下步驟:
[0013](I)采集社交網(wǎng)絡(luò)中用戶歷史數(shù)據(jù),對(duì)用戶的興趣愛(ài)好建模,得到每個(gè)用戶的偏好向量集合,從而得到所有用戶的偏好向量集合;
[0014](2)根據(jù)每個(gè)用戶的偏好向量集合中表示用戶的興趣愛(ài)好偏好向量和表示用戶的朋友關(guān)系偏好向量對(duì)用戶聚類,找出社交網(wǎng)絡(luò)中每個(gè)用戶所在的興趣愛(ài)好重疊社區(qū)和朋友關(guān)系重置社區(qū);
[0015](3)根據(jù)每個(gè)用戶所在的興趣愛(ài)好重疊社區(qū)和朋友關(guān)系重疊社區(qū),得到目標(biāo)用戶的初始待推薦好友列表,并對(duì)得到的初始待推薦好友列表進(jìn)行過(guò)濾和排序,得到最終的待推薦好友列表。
[0016]作為優(yōu)選,所述步驟(1)中,對(duì)用戶的興趣愛(ài)好建模的具體步驟如下:
[0017](11)對(duì)用戶歷史數(shù)據(jù)去噪,將不能明確表示用戶的興趣愛(ài)好的數(shù)據(jù)過(guò)濾掉,即刪除用戶共同行為量最大的數(shù)據(jù)部分;
[0018](12)對(duì)過(guò)濾后的數(shù)據(jù)進(jìn)行歸一化處理,并用布爾類型表示;
[0019](13)通過(guò)布爾類型量化用戶對(duì)項(xiàng)目的喜歡程度,獲得社交網(wǎng)絡(luò)中每個(gè)用戶的偏好
向量集合。
[0020]作為優(yōu)選,所述步驟(2)中,找出社交網(wǎng)絡(luò)中每個(gè)用戶所在的興趣愛(ài)好重疊社區(qū)和朋友關(guān)系重疊社區(qū)的具體步驟如下:
[0021](21)生成第一個(gè)社區(qū),加入社區(qū)集合,從用戶集合中隨機(jī)選取一個(gè)用戶,將選取的用戶加入第一個(gè)社區(qū),并刪除用戶集合中的該用戶;
[0022](22)從用戶集合中選擇一個(gè)用戶U,與社區(qū)集合C= {Cl, L, cj中的每個(gè)社區(qū)進(jìn)行計(jì)算,得到U和已存在的社區(qū)Ci的凝聚度CO,計(jì)算公式如下:
【權(quán)利要求】
1.一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,其特征在于,如下步驟: (1)采集社交網(wǎng)絡(luò)中用戶歷史數(shù)據(jù),對(duì)用戶的興趣愛(ài)好建模,得到每個(gè)用戶的偏好向量集合,從而得到所有用戶的偏好向量集合; (2)根據(jù)每個(gè)用戶的偏好向量集合中表示用戶的興趣愛(ài)好偏好向量和表示用戶的朋友關(guān)系偏好向量對(duì)用戶聚類,找出社交網(wǎng)絡(luò)中每個(gè)用戶所在的興趣愛(ài)好重疊社區(qū)和朋友關(guān)系重疊社區(qū); (3)根據(jù)每個(gè)用戶所在的興趣愛(ài)好重疊社區(qū)和朋友關(guān)系重疊社區(qū),得到目標(biāo)用戶的初始待推薦好友列表,并對(duì)得到的初始待推薦好友列表進(jìn)行過(guò)濾和排序,得到最終的待推薦好友列表。
2.根據(jù)權(quán)利要求1所述的一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,其特征在于:所述步驟(1)中,對(duì)用戶的興趣愛(ài)好建模的具體步驟如下: (11)對(duì)用戶歷史數(shù)據(jù)去噪,將不能明確表示用戶的興趣愛(ài)好的數(shù)據(jù)過(guò)濾掉,即刪除用戶共同行為量最大的數(shù)據(jù)部分; (12)對(duì)過(guò)濾后的數(shù)據(jù)進(jìn)行歸一化處理,并用布爾類型表示; (13)通過(guò)布爾類型量化用戶對(duì)項(xiàng)目的喜歡程度,獲得社交網(wǎng)絡(luò)中每個(gè)用戶的偏好向量集合。
3.根據(jù)權(quán)利要求1所述的一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,其特征在于,所述步驟(2)中,找出社交網(wǎng)絡(luò)中每個(gè)用戶所在的興趣愛(ài)好重疊社區(qū)和朋友關(guān)系重疊社區(qū)的具體步驟如下: (21)生成第一個(gè)社區(qū),加入社區(qū)集合,從用戶集合中隨機(jī)選取一個(gè)用戶,將選取的用戶加入第一個(gè)社區(qū),并刪除用戶集合中的該用戶; (22)從用戶集合中選擇一個(gè)用戶U,與社區(qū)集合C={Cl, L, cj中的每個(gè)社區(qū)進(jìn)行計(jì)算,得到u和已存在的社區(qū)Ci的凝聚度CO,計(jì)算公式如下:
4.根據(jù)權(quán)利要求1所述的一種基于社區(qū)發(fā)現(xiàn)的社交網(wǎng)絡(luò)好友推薦方法,其特征在于,所述步驟(3)中,得到目標(biāo)用戶的初始待推薦好友列表,并對(duì)得到的初始待推薦好友列表進(jìn)行過(guò)濾和排序的步驟如下: (31)根據(jù)CUPC算法,利用表示用戶的興趣愛(ài)好偏好向量找到社交網(wǎng)絡(luò)中的用戶的興趣愛(ài)好社區(qū)CP,如果用戶的興趣愛(ài)好為重疊社區(qū),則
【文檔編號(hào)】G06F17/30GK104021233SQ201410305704
【公開日】2014年9月3日 申請(qǐng)日期:2014年6月30日 優(yōu)先權(quán)日:2014年6月30日
【發(fā)明者】屈鴻, 蘭冰, 馮旻昱, 吳詩(shī)文, 劉金鳳 申請(qǐng)人:電子科技大學(xué)