一種基于lda主題模型的osn社區(qū)發(fā)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種利用了隱形狄利克雷分布(Latent Dirichlet Allocation,簡(jiǎn)稱 LDA)主題模型的在線社交網(wǎng)絡(luò)(Online Social Network,簡(jiǎn)稱0SN)社區(qū)發(fā)現(xiàn)機(jī)制,屬于社 會(huì)計(jì)算領(lǐng)域,特別是社區(qū)發(fā)現(xiàn)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的高速發(fā)展,網(wǎng)絡(luò)由最初的以數(shù)據(jù)為核心逐漸轉(zhuǎn)變?yōu)橐匀藶楹诵?,這 促進(jìn)了在線社交網(wǎng)絡(luò)的迅猛發(fā)展。在線社交網(wǎng)絡(luò)區(qū)別于傳統(tǒng)的人際關(guān)系網(wǎng)絡(luò),不僅擁有大 規(guī)模用戶及其好友關(guān)系,還擁有大量的用戶自發(fā)表達(dá)的文字信息,這給社區(qū)發(fā)現(xiàn)工作帶來(lái) 了新的生機(jī)和挑戰(zhàn)。
[0003] 傳統(tǒng)的社區(qū)發(fā)現(xiàn)方法主要基于連接,即圖的拓?fù)浣Y(jié)構(gòu),這種方法通過(guò)分析個(gè)體之 間的顯式連接進(jìn)行社區(qū)劃分,所發(fā)現(xiàn)的社區(qū)內(nèi)部節(jié)點(diǎn)之間連接相對(duì)緊密,不同社區(qū)之間連 接相對(duì)稀疏,但這種方法并沒(méi)有考慮到用戶的主題特性。在微博中,用戶的推文通常隱含了 用戶的興趣愛(ài)好、行為模式等信息,而自然語(yǔ)言處理中所使用到的主題模型可以將這些因 素考慮在內(nèi)。
【發(fā)明內(nèi)容】
[0004] 發(fā)明目的:針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明一種基于LDA主題模型的社區(qū)發(fā) 現(xiàn)方法,在不依靠網(wǎng)絡(luò)拓?fù)溥B接信息的基礎(chǔ)上,通過(guò)挖掘用戶微博語(yǔ)義信息得到相應(yīng)的概 率模型,同時(shí)引入微博內(nèi)容語(yǔ)義相似性,有效描述了用戶興趣愛(ài)好的概率分布情況;引入社 區(qū)內(nèi)部拓?fù)溥B接緊密性,挖掘內(nèi)部拓?fù)溥B接相對(duì)十分緊密的社區(qū)。
[0005] 技術(shù)方案:為了解決上述問(wèn)題,本發(fā)明提出一種基于LDA主題模型的OSN社區(qū)發(fā)現(xiàn) 方法,利用在線社交網(wǎng)絡(luò)中用戶與其好友的關(guān)系以及用戶自發(fā)表達(dá)的文字信息進(jìn)行OSN社 區(qū)發(fā)現(xiàn)過(guò)程,包括如下步驟:
[0006] 1)進(jìn)行數(shù)據(jù)集預(yù)處理,對(duì)原始用戶微博文檔進(jìn)行分詞、去停頓詞、去噪等預(yù)處理工 作,具體的,從weibo數(shù)據(jù)集中抽取每條記錄的[uid,text]字段,并根據(jù)Uid對(duì)所有微博進(jìn) 行歸類,每條記錄的格式為[uid,textl ;text2 ;……],使用中科院計(jì)算所漢語(yǔ)詞法分析系 統(tǒng)ICTCLAS2013版進(jìn)行分詞,在分詞過(guò)程中,去除停頓詞以及對(duì)于模型而言沒(méi)有實(shí)際意義 的詞語(yǔ)(如URL、標(biāo)點(diǎn)符號(hào)、語(yǔ)氣詞等),同時(shí)去除微博表情符號(hào);對(duì)記錄用戶關(guān)系的文檔中 的followers數(shù)據(jù)集進(jìn)行用戶關(guān)系雙向化處理并剔除沒(méi)有好友的用戶,每條記錄的格式為 [user, friendl ;friend2 ;......];
[0007] 2)根據(jù)既定社區(qū)元素構(gòu)建LDA主題模型,包括基于社區(qū)內(nèi)部微博內(nèi)容語(yǔ)義相似性 構(gòu)建的主題模型LDA-T和基于拓?fù)溥B接緊密性構(gòu)建的主題模型LDA-F,所述LDA-T中詞項(xiàng)集 是由用戶所有推文中的詞項(xiàng)構(gòu)成的集合,文檔集是由所有用戶的推文構(gòu)成的集合,主題為 社區(qū)的集合,所述LDA-F中詞項(xiàng)集是由用戶的所有好友構(gòu)成的集合,文檔集是由所有用戶 構(gòu)成的集合,主題是社區(qū)的集合;
[0008] 3)根據(jù)步驟2得到的模型LDA-T和LDA-F,對(duì)文檔下主題概率分布以及主題下 詞項(xiàng)概率分布施加 Dirichlet分布,生成基于超參數(shù)的聯(lián)合概率分布p (w",Zni, θ η,Φ I α, β),其中,α和β是Dirichlet分布的超參數(shù),wm表示第m篇文檔中所有詞項(xiàng)的集合,zm 表示第m篇文檔中所有詞項(xiàng)對(duì)應(yīng)的主題的集合,θ n表示第m篇文檔的主題概率分布,Φ表 示所有主題下的詞項(xiàng)概率分布的集合;
[0009] 4)根據(jù)步驟3得到的聯(lián)合概率分布,利用吉布斯采樣算法估計(jì)給定文檔時(shí)主題的 概率分布Θ JP給定主題時(shí)詞項(xiàng)的概率分布
[0010] 5)根據(jù)步驟4得到的參數(shù)獲取社區(qū)。
[0011] 所述步驟2中LDA模型中文檔的生成過(guò)程和參數(shù)約定為:
[0012] 1)對(duì)每個(gè)主題k e [1,Κ],采樣主題k的詞項(xiàng)概率分布
[0013] 2)對(duì)每個(gè)文檔m e [1,Μ],采樣文檔m的主題概率分布Θ n~Dir ( α );
[0014] 3)對(duì)每個(gè)文檔m e [1,Μ],采樣文檔m的長(zhǎng)度Nni~Poiss( ξ );
[0015] 4)對(duì)每個(gè)文檔m中的詞項(xiàng)n e [I,NJ,選擇隱含的主題Zni,n~Mult ( θ n),生成一 個(gè)詞項(xiàng)
[0016] 其中,Nni表示第m篇文檔所包含的詞項(xiàng)數(shù),K表示主題數(shù)目,M表示文檔數(shù)目,α、 β、ξ為概率分布的參數(shù)。
[0017] 所述步驟3生成的聯(lián)合概率分布為:
[0019] 其中,Wni表示第m篇文檔中所有詞項(xiàng)的集合,Zni表示第m篇文檔中所有詞項(xiàng)對(duì)應(yīng) 的主題的集合,S ni表示第m篇文檔的主題概率分布,Φ表示所有主題下的詞項(xiàng)概率分布的 集合,α和β是Dirichlet分布的超參數(shù),w m,n表示第m篇文檔的第η個(gè)詞項(xiàng),zm.n表示第 m篇文檔中第η個(gè)詞項(xiàng)所對(duì)應(yīng)的主題,Nni表示第m篇文檔所包含的詞項(xiàng)數(shù)。
[0020] 所述步驟4中,對(duì)LDA模型運(yùn)用吉布斯采樣算法,需要由已知的詞項(xiàng)集丨巧、先驗(yàn) Dirichlet分布的參數(shù)α,β以及主題數(shù)K最終求得給定文檔時(shí)主題的概率分布Θ和給 定主題時(shí)詞項(xiàng)的概率分布免,其計(jì)算方法為:
[0023] 其中,0n,k表示給定文檔m時(shí)主題為k的概率,η=表示主題k在文檔m中出現(xiàn)的 次數(shù),α =〈a ^ α2,…,am〉為M維的Dirichlet分布的超參數(shù),ak為正實(shí)數(shù),反映了 對(duì)參數(shù)Θ "的先驗(yàn)知識(shí),K為文檔m中主題的個(gè)數(shù);£表示給定主題k時(shí)詞項(xiàng)為t的概率, JiP表示詞項(xiàng)t在主題k中出現(xiàn)的次數(shù),β .",0k〉為K維的Dirichlet分布 的超參數(shù),β 正實(shí)數(shù),反映了對(duì)參數(shù)iPfc的先驗(yàn)知識(shí),V為主題k中詞項(xiàng)的個(gè)數(shù)。
[0024] 有益效果:本發(fā)明采用如上技術(shù)方案,具有如下優(yōu)點(diǎn):
[0025] 1)引入微博內(nèi)容語(yǔ)義相似性,有效描述了用戶興趣愛(ài)好的概率分布情況;
[0026] 2)引入社區(qū)內(nèi)部拓?fù)溥B接緊密性,挖掘內(nèi)部拓?fù)溥B接相對(duì)十分緊密的社區(qū);
[0027] 3)利用主題模型改進(jìn)傳統(tǒng)的社區(qū)發(fā)現(xiàn)方法,在不依靠網(wǎng)絡(luò)拓?fù)溥B接信息的基礎(chǔ) 上,通過(guò)挖掘用戶微博語(yǔ)義信息得到相應(yīng)的概率模型;
[0028] 4)利用吉布斯采樣算法,對(duì)模型進(jìn)行參數(shù)估計(jì),與變分推理和EM算法這兩種用于 參數(shù)估計(jì)的算法相比,能夠較為簡(jiǎn)單、快速地處理復(fù)雜分布的情況;
[0029] 5)引入數(shù)據(jù)集預(yù)處理機(jī)制,保證了社區(qū)發(fā)現(xiàn)結(jié)果的準(zhǔn)確度。
【附圖說(shuō)明】
[0030] 圖1為本發(fā)明的LDA主題模型圖;
[0031] 圖2為本發(fā)明的吉布斯采樣算法流程圖;
[0032] 圖3為本發(fā)明的社區(qū)發(fā)現(xiàn)流程圖。
【具體實(shí)施方式】
[0033] 下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明 而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等同 變換均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
[0034] -種基于LDA主題模型的OSN社區(qū)發(fā)現(xiàn)方法,首先進(jìn)行數(shù)據(jù)集預(yù)處理;再利用在 線社交網(wǎng)絡(luò)中用戶與其好友的關(guān)系以及用戶自發(fā)表達(dá)的文字信息建立LDA主題模型(包括 LDA-F模型和LDA-T模型),求解模型概率分布;然后利用吉布斯采樣算法進(jìn)行參數(shù)估計(jì); 最后根據(jù)估計(jì)的參數(shù)進(jìn)行OSN社區(qū)發(fā)現(xiàn),具體包括如下步驟:
[0035] 1)進(jìn)行數(shù)據(jù)集預(yù)處理:
[0036] I. I) LDA-F模型的數(shù)據(jù)集預(yù)處理
[0037] 由于LDA-F模型所定義的好友關(guān)系必須是雙向邊,因此在這里需對(duì)followers 數(shù)據(jù)集進(jìn)行用戶關(guān)系雙向化處理,并剔除沒(méi)有好友的用戶,每條記錄的格式為 [user, friendl ;friend2 ;......];
[0038] I. 2) LDA-T模型的數(shù)據(jù)集預(yù)處理
[0039] 從weibo數(shù)據(jù)集中抽取每條記錄的[uid, text]字段,并根據(jù)uid對(duì)所有微博進(jìn)行 歸類,每條記錄的格式為[uid, textl ;text2 ;......];對(duì)LDA-T模型的語(yǔ)料庫(kù)使用中科院計(jì) 算所漢語(yǔ)詞法分析系統(tǒng)ICTCLAS2013版進(jìn)行分詞,在分詞過(guò)程中,去除停頓詞以及對(duì)于模 型而言沒(méi)有實(shí)際意義的詞語(yǔ)(如URL、標(biāo)點(diǎn)符號(hào)、語(yǔ)氣詞等),同時(shí)去除微博表情符號(hào)。
[0040] 2)求解模型概率分布:
[0041] 基于社區(qū)內(nèi)部微博內(nèi)容語(yǔ)義相似性構(gòu)建的主題模型LDA-T和基于社區(qū)內(nèi)部拓?fù)?連接緊密性構(gòu)建主題模型LDA-F同屬于LDA模型。
[0042] 在基于社區(qū)內(nèi)部微博內(nèi)容語(yǔ)義相似性構(gòu)建的主題模型LDA-T中,詞項(xiàng)集是由用戶 所有推文中的詞項(xiàng)構(gòu)成的集合,文檔集是由所有用戶的推文構(gòu)成的集合,主題為社區(qū)的集