基于主題交互的社區(qū)發(fā)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種社區(qū)發(fā)現(xiàn)方法,特別是涉及一種基于主題交互的社區(qū)發(fā)現(xiàn)方法。
【背景技術(shù)】
[0002] 社交網(wǎng)絡(luò)屬于復(fù)雜網(wǎng)絡(luò)中的一種,是一種異構(gòu)網(wǎng)絡(luò)。在社交網(wǎng)絡(luò)中不僅包括用戶 節(jié)點(diǎn),其還包括由文本構(gòu)成的主題節(jié)點(diǎn),由用戶簽到信息構(gòu)成的位置節(jié)點(diǎn),由照片構(gòu)成的興 趣節(jié)點(diǎn)等,暨社交網(wǎng)絡(luò)不再是大量的性質(zhì)相同節(jié)點(diǎn)的鏈接,而是許多不同類型的節(jié)點(diǎn)的相 互鏈接。把不同性質(zhì)節(jié)點(diǎn)因?yàn)樵诰W(wǎng)絡(luò)中的緊密交互行為而構(gòu)成的密集子圖稱為網(wǎng)絡(luò)中的社 區(qū)。
[0003] 針對(duì)復(fù)雜網(wǎng)絡(luò)中的社區(qū)發(fā)現(xiàn)主要有兩種方式:一種是將復(fù)雜網(wǎng)絡(luò)簡(jiǎn)化為一般網(wǎng) 絡(luò),暨只含有同種性質(zhì)節(jié)點(diǎn)的網(wǎng)絡(luò),然后利用用戶相似度,從而得到網(wǎng)絡(luò)中的社區(qū)。另一種 方式是將同質(zhì)網(wǎng)絡(luò)中的社區(qū)發(fā)現(xiàn)方法修正或提出新方法應(yīng)用到復(fù)雜網(wǎng)絡(luò)中,從而發(fā)現(xiàn)網(wǎng)絡(luò) 中的社區(qū)。第一種方法將復(fù)雜網(wǎng)絡(luò)簡(jiǎn)化為一般網(wǎng)絡(luò),會(huì)明顯的丟失網(wǎng)絡(luò)中的信息,而且用戶 之間的關(guān)系不緊密,不利于進(jìn)行社區(qū)發(fā)現(xiàn),同時(shí)在完成社區(qū)的發(fā)現(xiàn)后,并不能直觀的得知社 區(qū)的特征,暨用戶因?yàn)槭裁丛颍瑢?duì)什么感興趣而形成了一個(gè)社區(qū),因?yàn)樯鐓^(qū)中并不直觀的 包含主題信息。第二種方法中,對(duì)一般方法的改變并不能完全適應(yīng)在復(fù)雜網(wǎng)絡(luò)中的社區(qū)發(fā) 現(xiàn),同時(shí)在完成社區(qū)發(fā)現(xiàn)后,也不能直觀的通過觀察社區(qū)得知不同主題節(jié)點(diǎn)對(duì)社區(qū)的貢獻(xiàn) 程度,暨社區(qū)特征的精確刻畫。
[0004] 文獻(xiàn)"專利公開號(hào)是CN10428271A的中國(guó)發(fā)明專利"公開了首先一種社區(qū)發(fā)現(xiàn)方 法,該方法通過用戶在社交網(wǎng)絡(luò)中發(fā)布的內(nèi)容進(jìn)行歸檔,并提取用戶的興趣特征,從而獲取 用戶的興趣特征集。之后通過構(gòu)建用戶關(guān)系圖,并以不同用戶間的興趣相似度作為用戶關(guān) 系的權(quán)重,采用已有的加權(quán)五項(xiàng)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)算法發(fā)現(xiàn)網(wǎng)絡(luò)中的重疊社區(qū)。該專利的一個(gè) 不足之處是在得到社區(qū)的同時(shí),并不知道這個(gè)社區(qū)是因?yàn)槭裁丛蚓奂谝黄鸬?,不能?準(zhǔn)的對(duì)社區(qū)進(jìn)行刻畫。而且即使為了刻畫社區(qū),對(duì)社區(qū)中的所有用戶發(fā)布的內(nèi)容進(jìn)行主題 特征提取,但是這樣得到的特征并不能很好的刻畫社區(qū),因?yàn)樾纬稍撋鐓^(qū)的主題并不是得 自用戶的所有信息,而只是用戶的部分信息所得。
【發(fā)明內(nèi)容】
[0005] 為了克服現(xiàn)有社區(qū)發(fā)現(xiàn)方法對(duì)社區(qū)描述準(zhǔn)確度差的不足,本發(fā)明提供一種基于主 題交互的社區(qū)發(fā)現(xiàn)方法。該方法提取某一時(shí)間段內(nèi)網(wǎng)絡(luò)中文本、照片等的主題信息,對(duì)于社 交網(wǎng)絡(luò)中的用戶、主題關(guān)系,根據(jù)網(wǎng)絡(luò)中的每一次交互建立超圖模型。對(duì)于超圖模型中的每 一條邊,按照用戶熵以及主題熵計(jì)算超邊的權(quán)值,選取用戶中的種子節(jié)點(diǎn),并以這些種子節(jié) 點(diǎn)出發(fā)構(gòu)建初始子圖,并根據(jù)超邊權(quán)值計(jì)算不同節(jié)點(diǎn)的子圖貢獻(xiàn)度。迭代計(jì)算不同節(jié)點(diǎn)的 貢獻(xiàn)度,使得子圖的密度達(dá)到最大,得到密集子圖。以層次聚類的方法對(duì)密集子圖進(jìn)行不同 程度的聚合,得到不同層次下的社區(qū)。由于以種子節(jié)點(diǎn)出發(fā)構(gòu)建初始子圖,并根據(jù)超邊權(quán)值 計(jì)算不同節(jié)點(diǎn)的子圖貢獻(xiàn)度,然后迭代計(jì)算不同節(jié)點(diǎn)的貢獻(xiàn)度,得到密集子圖,對(duì)密集子圖 進(jìn)行不同程度的聚合,得到不同主題節(jié)點(diǎn)對(duì)社區(qū)的貢獻(xiàn)值,準(zhǔn)確地描述社區(qū)。
[0006] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于主題交互的社區(qū)發(fā)現(xiàn)方 法,其特點(diǎn)是采用以下步驟:
[0007] 步驟一、采用LDA提取微博網(wǎng)絡(luò)中文本的主題信息,根據(jù)微博網(wǎng)絡(luò)中用戶的每一 次交互信息建立超圖模型。超圖模型中包括用戶節(jié)點(diǎn)以及主題節(jié)點(diǎn);每一次發(fā)布行為構(gòu)成 一條發(fā)布邊u-t,其中u表示用戶,t表示主題,每一次轉(zhuǎn)發(fā)行為構(gòu)成一條轉(zhuǎn)發(fā)邊ul-tl-u2, 暨用戶U 1從用戶u 2處轉(zhuǎn)發(fā)了主題為tl的微博文本。
[0008] 步驟二、計(jì)算用戶集合U中不同用戶有關(guān)不同主題的用戶熵,同時(shí)計(jì)算主 題集合T中不同主題有關(guān)不同用戶的主題熵。采用
1計(jì)算發(fā)布 邊的權(quán)重,其中Cut表示u-t邊出現(xiàn)的次數(shù),evu表示用戶熵,evt表示主題熵;采用
表示發(fā)布邊的權(quán)值大小。
[0009] 步驟二、在將網(wǎng)絡(luò)映射為超圖t旲型后,用
表不子圖V'的 密度,其中S表示子圖中的所有邊,ws表示邊的權(quán)值,s i表示邊s的第i個(gè)相關(guān)節(jié)點(diǎn)。心表 示S1節(jié)點(diǎn)對(duì)整個(gè)子圖的貢獻(xiàn)程度。若子圖AM是密集子圖,則f(x)達(dá)到最大值。在超圖 中進(jìn)行社區(qū)發(fā)現(xiàn)的問題采用以下公式表達(dá):
[0010]
(1);
[0011] 其中Wv1,…Vk)表示包含節(jié)點(diǎn)V1,…V k的邊的權(quán)值,所有節(jié)點(diǎn)對(duì)社區(qū)的最大貢獻(xiàn) 為l/ε,暨ε用來控制社區(qū)的初始大小。
[0012] 計(jì)算網(wǎng)絡(luò)中的每一個(gè)用戶節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的數(shù)目|Nu|,其中Nu表示用戶u的鄰 居節(jié)點(diǎn)集合,1況% I表示用戶u的鄰居節(jié)點(diǎn)4的鄰居節(jié)點(diǎn)數(shù),
表示用戶u 的所有鄰居節(jié)點(diǎn)的平均鄰居節(jié)點(diǎn)數(shù)。選取|Nu|>avg(Nu)的用戶節(jié)點(diǎn)作為種子節(jié)點(diǎn)。
[0013] 從種子節(jié)點(diǎn)出發(fā),選取與種子節(jié)點(diǎn)相關(guān)的節(jié)點(diǎn)構(gòu)成初始子圖。在初始子圖中,根據(jù) 節(jié)點(diǎn)所在超邊的權(quán)重計(jì)算節(jié)點(diǎn)的權(quán)重比例P(i) = ( Σ w(l, "4-1, i))/( Σ w(l,…,k)), 其中i表示節(jié)點(diǎn),w(l, ···,k)表示初始子圖中的超邊的權(quán)值,w(l,…k-1, i)表示初始子圖 中包含節(jié)點(diǎn)i的超邊的權(quán)值。設(shè)e =「wg(Agl,暨對(duì)avg(Nu)向上取整。根據(jù)節(jié)點(diǎn)的權(quán)重比 例,以及Χι〈ε計(jì)算不同節(jié)點(diǎn)對(duì)密集子圖的初始貢獻(xiàn)度Xl。
[0014] 步驟四、采用拉格朗日公式
進(jìn)行問題求解。同時(shí),對(duì)節(jié)點(diǎn)進(jìn)行分類Vu(X) = UIx1G (〇, e]},vd(x) = UIx1G [0, ε)},
表示f(x)關(guān)于^的偏導(dǎo)數(shù)。對(duì)公式進(jìn)行推導(dǎo),根據(jù)組合優(yōu)化的KKT條 CN 105159911 A VL 3/4 貝 件,根據(jù)公式
迭代的計(jì)算節(jié)點(diǎn)X "對(duì)密集子圖的貢獻(xiàn)程度,其 中i表示Vu中g(shù)i (X)最大的節(jié)點(diǎn),j表示Vd中g(shù)i (X)最小的節(jié)點(diǎn),1表示迭代次數(shù)。
其中g(shù), (X)表示X的兩階導(dǎo)。迭代 終止條件為,節(jié)點(diǎn)貢獻(xiàn)度不在變化或社區(qū)大小小于ε。得到社區(qū)的密集子圖。
[0015] 步驟五、對(duì)于得到的密集子圖,采用Jaccard系數(shù)作為相似度進(jìn)行度量,以層次聚 類的方式得到不同程度下的社區(qū)。
[0016] 本發(fā)明的有益效果是:該方法提取某一時(shí)間段內(nèi)網(wǎng)絡(luò)中文本、照片等的主題信息, 對(duì)于社交網(wǎng)絡(luò)中的用戶、主題關(guān)系,根據(jù)網(wǎng)絡(luò)中的每一次交互建立超圖模型。對(duì)于超圖模型 中的每一條邊,按照用戶熵以及主題熵計(jì)算超邊的權(quán)值,選取用戶中的種子節(jié)點(diǎn),并以這些 種子節(jié)點(diǎn)出發(fā)構(gòu)建初始子圖,并根據(jù)超邊權(quán)值計(jì)算不同節(jié)點(diǎn)的子圖貢獻(xiàn)度。迭代計(jì)算不同 節(jié)點(diǎn)的貢獻(xiàn)度,使得子圖的密度達(dá)到最大,得到密集子圖。以層次聚類的方法對(duì)密集子圖進(jìn) 行不同程度的聚合,得到不同層次下的社區(qū)。由于以種子節(jié)點(diǎn)出發(fā)構(gòu)建初始子圖,并根據(jù)超 邊權(quán)值計(jì)算不同節(jié)點(diǎn)的子圖貢獻(xiàn)度,然后迭代計(jì)算不同節(jié)點(diǎn)的貢獻(xiàn)度,得到密集子圖,對(duì)密 集子圖進(jìn)行不同程度的聚合,得到不同主題節(jié)點(diǎn)對(duì)社區(qū)的貢獻(xiàn)值,準(zhǔn)確地描述社區(qū)。
[0017] 下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作詳細(xì)說明。
【附圖說明】
[0018] 圖1是本發(fā)明基于主題交互的社區(qū)發(fā)現(xiàn)方法的流程圖。
【具體實(shí)施方式】
[0019] 參照?qǐng)D1。本發(fā)明基于主題交互的社區(qū)發(fā)現(xiàn)方