社交群組識別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及大數(shù)據(jù),特別涉及一種社交群組識別方法。
【背景技術(shù)】
[0002] 隨著移動互聯(lián)網(wǎng)的發(fā)展,將生活中的社交關(guān)系迀移到了互聯(lián)網(wǎng)上,帶來了信息交 換方式的變革,而且改變了傳統(tǒng)的人際溝通方式,對社會生活的各個領(lǐng)域具有深遠的意義。 用戶之間可以廣泛地溝通、互動,通過撰寫、中轉(zhuǎn)、收藏等手段對文本數(shù)據(jù)進行操作。在社交 網(wǎng)絡(luò)中,總存在部分節(jié)點連接比較緊密,而這些節(jié)點同其他節(jié)點之間的聯(lián)系則相對稀疏,由 此可將這部分連接緊密的節(jié)點歸為同一個群組。群組作為一種重要的社交關(guān)系屬性,無形 中給輿情控制以及網(wǎng)絡(luò)監(jiān)管帶來了巨大的挑戰(zhàn)。如果沒有對群組關(guān)系進行充分識別識別, 則無法識別群組興趣,推薦感興趣內(nèi)容,更無法及時發(fā)現(xiàn)危害信息,維護良好的網(wǎng)絡(luò)環(huán)境。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種社交群組識別方法,包括:
[0004] 統(tǒng)計用戶節(jié)點間的會話內(nèi)容和關(guān)系,基于上述統(tǒng)計結(jié)果來識別特定社交群組。
[0005] 優(yōu)選地,所述統(tǒng)計用戶節(jié)點間的會話內(nèi)容和關(guān)系,進一步包括:
[0006] 利用數(shù)據(jù)結(jié)構(gòu)對會話過程進行描述;將參與會話的用戶以關(guān)系連接在一起,構(gòu)建 成基于單個事件的群組;最后在社交關(guān)系拓撲中采用節(jié)點衡量指標(biāo)識別強關(guān)系群組中的節(jié) 點,最后以樹形的層級結(jié)構(gòu)將該事件存儲至文件;其中所述強關(guān)系群組具體定義為,如果已 知群組α滿足:對于群組α內(nèi)的每個用戶節(jié)點i,均滿足i與群組α內(nèi)節(jié)點構(gòu)成的節(jié)點數(shù)量大于 該節(jié)點與群組α外節(jié)點構(gòu)成的節(jié)點數(shù)量,則群組α被稱為強關(guān)系群組;
[0007]獲取每個會話拓撲中包含的指向上級節(jié)點的備注信息,找到某個特定節(jié)點的父節(jié) 點,獲取每條會話所維護的中轉(zhuǎn)列表,記錄所有中轉(zhuǎn)該信息的用戶以及評論,由此發(fā)現(xiàn)該信 息節(jié)點的子節(jié)點集;在會話樹的基礎(chǔ)上,通過用戶之間的關(guān)系,將參與會話的節(jié)點構(gòu)建成關(guān) 系網(wǎng)絡(luò);在獲取社交關(guān)系時,獲取共同關(guān)注列表,利用每個節(jié)點L完成對參與事件會話用戶u 的關(guān)注,如果m關(guān)注了,則節(jié)點L與ui具有共同關(guān)注,即節(jié)點;通過這種方式得到m是否 關(guān)注了群組內(nèi)的其他節(jié)點;
[0008] 提取候選用戶的語義信息,在此基礎(chǔ)上將語義信息與會話標(biāo)題匹配的用戶篩選出 來作為相同語義用戶,再對相同語義用戶進行社交關(guān)系分析,對于符合分析結(jié)果的用戶篩 選出來作為新的候選用戶;候選用戶又分為文本相關(guān)用戶和關(guān)系相關(guān)用戶;在每一次的迭 代過程中關(guān)系相關(guān)用戶通過語義分析產(chǎn)生文本相關(guān)用戶,再計算文本相關(guān)用戶的會話標(biāo)題 關(guān)聯(lián)度閾值,從而得到目標(biāo)群組;
[0009] 初始候選用戶集合利用搜索引擎獲取,具體步驟如下:獲得群組特征詞,在搜索引 擎中進行檢索,對檢索的結(jié)果進行抓取,獲得發(fā)表文本內(nèi)容的用戶的鏈接信息,通過分析上 述用戶的鏈接信息,對每個用戶的社交內(nèi)容進行抓取,作為初始化候選用戶;
[0010] 對用戶的會話文本進行分析,通過計算用戶會話標(biāo)題關(guān)聯(lián)度來比較每個用戶與特 定會話標(biāo)題之間的相關(guān)程度,若存在第i次模型迭代后的關(guān)系用戶集合,為了得到第i+ι次 的文本相關(guān)用戶集合,對關(guān)系用戶集合中的每一個元素即每一個文本相關(guān)用戶,給定語義 關(guān)鍵詞,計算每個文本相關(guān)用戶的會話標(biāo)題關(guān)聯(lián)度;用戶i的會話標(biāo)題關(guān)聯(lián)度等于該用戶出 現(xiàn)關(guān)鍵詞的次數(shù)除以用戶的文本總數(shù);在得到了文本相關(guān)用戶集合之后,計算文本相關(guān)用 戶的不重復(fù)的會話標(biāo)題關(guān)聯(lián)度值的個數(shù),進而得到群組節(jié)點的閾值;
[0011] 若計算第i次迭代后的文本相關(guān)用戶有Μ個,其中非重復(fù)的用戶有MU個;則群組節(jié) 點的前Ν個用戶表達為:
[0012] 對Μ個文本相關(guān)用戶按照會話標(biāo)題關(guān)聯(lián)度值降序排列,排序后的前Ν個用戶是有效 的,即這前Ν個用戶是群組中的一員;得到Ν個用戶之后就可以將他們作為群組節(jié)點加入群 組節(jié)點集合。
[0013] 本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點:
[0014] 本發(fā)明提出了一種社交群組識別方法,有效提高互聯(lián)網(wǎng)社交組群的識別準(zhǔn)確率和 時效性。
【附圖說明】
[0015] 圖1是根據(jù)本發(fā)明實施例的社交群組識別方法的流程圖。
【具體實施方式】
[0016] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán)利 要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié)以 便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中的 一些或者所有細節(jié)也可以根據(jù)權(quán)利要求書實現(xiàn)本發(fā)明。
[0017] 本發(fā)明的一方面提供了一種社交群組識別方法。圖1是根據(jù)本發(fā)明實施例的社交 群組識別方法流程圖。
[0018] 為了完成對社交網(wǎng)絡(luò)的群組分析,首先建立數(shù)據(jù)采集系統(tǒng)對社交網(wǎng)站服務(wù)器上的 數(shù)據(jù)進行采集,其中數(shù)據(jù)類型包括:用戶信息如用戶ID、用戶名、文本數(shù)據(jù)如會話ID、會話文 本,以及關(guān)系數(shù)據(jù)如關(guān)注列表與關(guān)注者列表。該系統(tǒng)包含以下模塊:用戶信息獲取、文本數(shù) 據(jù)獲取、社交關(guān)系生成、去冗余、多線程、數(shù)據(jù)存儲、優(yōu)先級選擇、令牌批量獲取。數(shù)據(jù)采集系 統(tǒng)中的主控線程進行權(quán)限認證、程序初始化、種子節(jié)點讀取、過濾、數(shù)據(jù)庫操作;數(shù)據(jù)獲取線 程借助API開放接口進行數(shù)據(jù)采集,采集過程包括接口請求、j son數(shù)據(jù)解析、指針更新,最終 返回給主控線程總數(shù)據(jù)列表。在去冗余計算的選擇上,本發(fā)明采用二進制向量和一系列隨 機映射函數(shù)。為抓取種子ID列表、用戶ID列表、關(guān)系列表、會話ID分別添加了去冗余函數(shù),種 子列表,抓取用戶列表、社交列表均以其唯一標(biāo)識ID進行,而關(guān)系的格式則將兩個用戶的ID 組合到一起,并區(qū)分兩者的先后順序,前者為被關(guān)注,后者為前者的關(guān)注者。系統(tǒng)在多個模 塊添加了相應(yīng)操作:提取種子ID時,多線程對數(shù)據(jù)庫的操作添加互斥鎖;為每個線程分配抓 取任務(wù),如線程1只負責(zé)文本的獲取;線程2獲取用戶個人信息;為每個線程令牌資源庫進行 區(qū)分式排列組合。并為每個線程單獨設(shè)置一個斷點文件,記錄抓取的位置。數(shù)據(jù)庫模塊將數(shù) 據(jù)庫連接、關(guān)閉、查詢、增加、刪除操作進行統(tǒng)一管理,抓取對象的ID首先由人工方式輸入至 文件,每次開始抓取任務(wù)之前都加載一遍優(yōu)先級文件。在分任務(wù)處理中在抓取對象上,為每 個線程制定一套特定的抓取任務(wù),從用戶信息獲取、文本獲取、關(guān)系獲取中選取的一個或多 個處理目標(biāo)。從速度的控制上系統(tǒng)共提出了兩種調(diào)節(jié)方式,一是控制線程的數(shù)量,二是調(diào)整 API請求后獲取的數(shù)據(jù)量。
[0019] 用戶個人屬性可以反映出用戶的特性,而這種特性恰好提供了識別群組所需的強 特征。本發(fā)明首先通過人工方式對待識別的群組進行描述,并按照這些群組特性抽象出一 組關(guān)鍵詞列表,即群組特征詞。其次,利用用戶信息過濾模塊對檢測到的用戶進行識別,發(fā) 現(xiàn)屬于該群組的用戶節(jié)點。在過濾過程中采用字符串正則匹配將用戶個人屬性與群組特征 詞進行匹配,如果在用戶個人屬性或用戶名稱等文本數(shù)據(jù)中包含這些特征詞,則將該用戶 劃分至待識別的群組。
[0020] 用戶行為過濾模塊處理由社交網(wǎng)絡(luò)中用戶的主觀意愿而產(chǎn)生的文本數(shù)據(jù),利用以 下過程計算用戶與群組之間的相似度。
[0021] 首先建立一個基于群組特征詞的N維向量空間U,具體如下表示:
[0022] υ=[Τι,Τ2,Τ3,···,ΤΝ]
[0023] 其中Τ代表在群組中某個特征詞出現(xiàn)的頻率向量,Ν表示特征詞的下標(biāo)。
[0024]其次,利用文本分割對用戶Α的全部文本Pa進行處理。
[0025] Pa= [keyi,key2, · · ·,keyN]
[0026] sim(A,U) = (PA.U)/| |(Pa| I I |U| I)
[0027] 這里的key值為用戶會話文本中每個特征詞出現(xiàn)的頻率向量,比較用戶文本數(shù)據(jù) 與群組之間的行為特征是否相近,如若相似度sim(A,U)超過預(yù)定的閾值,則將該用戶節(jié)點A 劃分至群組U內(nèi)。當(dāng)該節(jié)點加入群組后,群組特征詞會隨著群組內(nèi)用戶集合所產(chǎn)生的文本數(shù) 據(jù)動態(tài)變化,識別當(dāng)前群組內(nèi)的潛在特征詞。
[0028] 在社交關(guān)系過濾模塊中,本發(fā)明應(yīng)用了社交網(wǎng)絡(luò)中的關(guān)系屬性識別未知節(jié)點是否 屬于群組。如果已知群組α滿足以下要求,則群組α被稱為強關(guān)系群組:對于群組α內(nèi)的每個 用戶節(jié)點i,均滿足i與群組α內(nèi)節(jié)點構(gòu)成的節(jié)點數(shù)量大于該節(jié)點與群組α外節(jié)點構(gòu)成的節(jié)點 數(shù)量。
[0029] 采用以下方法進行強關(guān)系群組識別,首先對會話過程進行還原,以數(shù)據(jù)結(jié)構(gòu)加以 描述;