談成訪 ,汪材印,張亞康
1.宿州學(xué)院信息工程學(xué)院,安徽宿州,234000;2.宿州學(xué)院智能信息處理實(shí)驗(yàn)室,安徽宿州,234000
?
基于LDA模型的中文微博熱點(diǎn)話題發(fā)現(xiàn)
談成訪1,2,汪材印2,張亞康1
1.宿州學(xué)院信息工程學(xué)院,安徽宿州,234000;2.宿州學(xué)院智能信息處理實(shí)驗(yàn)室,安徽宿州,234000
針對(duì)微博文本數(shù)量增加速度快、信息量繁雜等問題, 將LDA模型應(yīng)用到熱點(diǎn)話題的挖掘中,構(gòu)建出微博熱點(diǎn)話題的識(shí)別過程。首先應(yīng)用LDA模型對(duì)微博語(yǔ)料庫(kù)進(jìn)行主題建模,采用困惑度方法確定最佳主題個(gè)數(shù),通過Gibbs抽樣算法實(shí)現(xiàn)參數(shù)推理,獲得語(yǔ)料庫(kù)的主題-詞匯概率分布和文本-主題概率分布,在此基礎(chǔ)上計(jì)算并識(shí)別出微博中的熱點(diǎn)話題、熱點(diǎn)詞匯和熱點(diǎn)話題微博。實(shí)驗(yàn)結(jié)果顯示該模型與人工挑選的結(jié)果基本一致,表明該模型具有較好的熱點(diǎn)識(shí)別效果。
LDA;微博;熱點(diǎn)話題
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,越來(lái)越多的人開始使用微博,微博的便捷性、實(shí)時(shí)性等特點(diǎn)使其成為人們分享信息、發(fā)表觀點(diǎn)的重要平臺(tái)。由于微博文本數(shù)量增加速度快、信息量繁雜,使得用戶難以對(duì)所有的微博信息進(jìn)行瀏覽,因此,從海量的微博信息中獲取熱點(diǎn)話題具有重要的研究意義:一方面有助于用戶迅速了解社會(huì)各個(gè)領(lǐng)域關(guān)注的熱點(diǎn),另一方面能為輿情監(jiān)測(cè)領(lǐng)域提供輿論向?qū)А?/p>
本文采用一種無(wú)監(jiān)督的機(jī)器學(xué)習(xí)方法——LDA(Latent Dirichlet Allocation)模型對(duì)微博語(yǔ)料庫(kù)進(jìn)行主題建模[1],進(jìn)而識(shí)別出熱點(diǎn)話題、熱點(diǎn)詞匯以及對(duì)應(yīng)的熱點(diǎn)話題微博。
LDA模型是Blei等人于2003年提出的一種三層貝葉斯產(chǎn)生式概率模型[2]。該模型認(rèn)為文檔是由若干主題混合而成,每個(gè)主題又由一系列的詞匯混合而成。模型如圖1所示。
在圖1中,α和β為L(zhǎng)DA模型的Dirichlet先驗(yàn)分布,分別表示整個(gè)文檔集上文本-主題概率分布和主題-詞概率分布,N代表單詞數(shù),M代表文檔集中文檔的總數(shù),T代表主題數(shù)。
將微博中的一條消息作為一篇文檔,微博語(yǔ)料庫(kù)即為文檔集D,假設(shè)文檔集D是M個(gè)文檔的集合,表示為D={d1,d2,…,dm},其中任意一個(gè)文檔d包含N個(gè)單詞,表示為d={w1,w2,…,wn},由此,一條微博文本中每個(gè)單詞的概率分布計(jì)算公式如下:
(1)
其中,z1是潛在變量,表示單詞wi取自該主題,p(wi|zi=j)表示詞匯w屬于第j個(gè)主題的概率,p(zi=j)表示文檔d中屬于第j個(gè)主題的概率。
圖1 LDA模型
本文將LDA主題建模的方法引入到微博熱點(diǎn)話題的挖掘中,模型參數(shù)估計(jì)利用Gibbs抽樣算法,間接計(jì)算得出微博文本內(nèi)容和主題之間以及主題和詞匯的概率分布關(guān)系,在此基礎(chǔ)上計(jì)算并發(fā)現(xiàn)海量微博中的熱點(diǎn)話題。具體識(shí)別過程如圖2所示。
2.1 文本預(yù)處理
首先將網(wǎng)頁(yè)爬蟲爬取的微博語(yǔ)料進(jìn)行HTML解析,再使用中國(guó)科學(xué)院計(jì)算機(jī)研究所的“漢語(yǔ)詞法分析系統(tǒng)ICTCLAS”進(jìn)行中文分詞和詞性標(biāo)注,然后在已有停用詞表的基礎(chǔ)上,加入英文字符、數(shù)字、數(shù)字字符、標(biāo)點(diǎn)符號(hào),同時(shí)統(tǒng)計(jì)微博中頻繁出現(xiàn)的無(wú)意義的詞語(yǔ)和符號(hào),如“@”、“轉(zhuǎn)發(fā)”等,構(gòu)建出適用于中文微博文本的停用詞表,并對(duì)中文分詞后的詞語(yǔ)進(jìn)行停用詞過濾。
圖2 基于LDA模型的微博熱點(diǎn)話題識(shí)別過程
2.2 LDA主題建模
由于主題個(gè)數(shù)影響LDA模型對(duì)文檔集的擬合性能,因此需要確定主題個(gè)數(shù)的最佳值。本文采用目前常用的評(píng)價(jià)標(biāo)準(zhǔn)困惑度(perplexity)來(lái)確定最佳主題個(gè)數(shù)的值,困惑度是從模型泛化能力衡量LDA模型對(duì)于文本的預(yù)測(cè)能力,通常情況下,困惑度越小,說(shuō)明模型的泛化能力越強(qiáng),模型的推廣型也就越好[3]。計(jì)算公式如下:
(2)
其中,M為文檔個(gè)數(shù),Ni表示第i個(gè)文檔d1的長(zhǎng)度,P(di)表示LDA主題模型產(chǎn)生文檔di的概率。
LDA模型的參數(shù)求解方法有很多種,本文利用MCMC中的Gibbs抽樣算法進(jìn)行推理,通過對(duì)變量進(jìn)行Gibbs抽樣間接計(jì)算出文本-主題概率分布和主題-詞概率分布,即θ和φ[4],計(jì)算公式如下:
(3)
(4)
2.3 熱點(diǎn)話題發(fā)現(xiàn)
2.3.1 熱點(diǎn)話題計(jì)算
利用LDA模型對(duì)微博語(yǔ)料庫(kù)進(jìn)行主題建模,可以獲得每條微博在這些潛在主題上的概率分布情況以及每個(gè)單詞在各個(gè)潛在主題上的概率分布情況。設(shè)在微博文本集合D={d1,d2,…,dm}中,一條微博的影響力表示為fdj:
fdj=Nu
(5)
其中,Nu為該微博用戶的當(dāng)前關(guān)注人數(shù)。
將每條微博中概率值由高到低排在前N位的潛在主題看作是該條微博的話題,每個(gè)話題Ti的影響力計(jì)算方法如下:
(6)
其中,m是微博數(shù),P(Ti)為話題Ti在各個(gè)微博中的出現(xiàn)概率值。
通過對(duì)各個(gè)話題計(jì)算影響力,即可發(fā)現(xiàn)當(dāng)前微博中的熱點(diǎn)話題。
2.3.2 熱點(diǎn)詞匯識(shí)別
假設(shè)微博熱點(diǎn)話題集合由K個(gè)話題構(gòu)成,即MT={T1,T2,…,Tk},將每個(gè)話題Ti產(chǎn)生的所有文檔,按照概率值由高到低排序,取前N個(gè)文檔并將這些文檔看成是話題類別Ti,采用中文分類中效果較好的MI(Mutual Information)方法,計(jì)算文檔中單詞w相對(duì)于話題類別Ti的互信息[5],其計(jì)算公式如下:
(7)
其中,p(w Ti)表示w和Ti同時(shí)出現(xiàn)的概率,p(w)表示w出現(xiàn)的概率,p(Ti)表示Ti出現(xiàn)的概率。
最后根據(jù)公式(7)計(jì)算出每個(gè)單詞在其話題類別Ti中的互信息值,并對(duì)互信息值取執(zhí)行降序排列,從中取前N個(gè)單詞作為該話題的熱點(diǎn)詞匯。
2.3.3 熱點(diǎn)話題微博推薦
假設(shè)微博中的熱點(diǎn)話題T包含n個(gè)熱點(diǎn)詞匯,記為WT={w1,w2,…,wn},C(vi,T)表示微博M中單詞vi和熱點(diǎn)話題T的關(guān)聯(lián)度,C(vi,T)的計(jì)算方法如下:
(8)
其中,Nd表示熱點(diǎn)話題T所在的話題類別文檔個(gè)數(shù),Ed表示該話題類別中出現(xiàn)單詞vi的文檔數(shù)。
微博M和熱點(diǎn)話題T的相關(guān)度表示為R(M,T)的計(jì)算方法如下[6]:
(9)
其中,TF(vi)是微博M中單詞vi的TFIDF權(quán)重,s為微博中的單詞數(shù)。
根據(jù)公式(9)計(jì)算出微博和熱點(diǎn)話題之間的相關(guān)度,并按照計(jì)算結(jié)果降序排列再推薦給微博用戶。
3.1 實(shí)驗(yàn)數(shù)據(jù)
本文實(shí)驗(yàn)數(shù)據(jù)是利用網(wǎng)頁(yè)爬蟲從新浪微博進(jìn)行抓取,通過新浪提供的API抓取了新浪微博平臺(tái)上2014年1月10日到2014年2月25日的微博共98 894條。經(jīng)過分詞、去掉停用詞等預(yù)處理后,從中選取微博文本長(zhǎng)度超過40個(gè)字符的10 267條作為微博實(shí)驗(yàn)語(yǔ)料庫(kù)。
3.2 實(shí)驗(yàn)結(jié)果分析
首先使用前面介紹的最佳主題個(gè)數(shù)確定方法,根據(jù)α=50/T,β=0.01[7](此為經(jīng)驗(yàn)值,這種取值在本實(shí)驗(yàn)語(yǔ)料庫(kù)上有較好的效果),令T分別取值10、20、30、40、50、60、70、80、90、100,在各種不同的取值下分別運(yùn)行Gibbs抽樣算法,分析困惑度的變化。實(shí)驗(yàn)結(jié)果如圖3所示。
由圖3可以看出,當(dāng)T=50時(shí),LDA模型困惑度最小,此時(shí)模型的性能最佳。因此,在實(shí)驗(yàn)中所采用的主題個(gè)數(shù)T均為50。
下一步利用LDA模型對(duì)預(yù)處理后的微博語(yǔ)料庫(kù)進(jìn)行主題建模,分別得到單詞在50個(gè)潛在主題上的概率分布以及潛在主題在每篇微博中的概率分布,再根據(jù)前面介紹的計(jì)算方法挖掘出熱點(diǎn)話題、熱點(diǎn)詞匯和熱點(diǎn)話題微博。
圖3 困惑度和主題數(shù)T的關(guān)系
為了方便進(jìn)行實(shí)驗(yàn)對(duì)比,本文采用人工方式從預(yù)處理后的微博語(yǔ)料庫(kù)中挑選5個(gè)熱點(diǎn)話題,并且用“人工標(biāo)注+詞頻統(tǒng)計(jì)”的方法,挑選出每個(gè)話題對(duì)應(yīng)的排在前5位的熱點(diǎn)詞匯;同時(shí),通過LDA主題建模識(shí)別微博語(yǔ)料庫(kù)的熱點(diǎn)話題,并且選取排列在前的5個(gè)話題作為熱點(diǎn)問題,然后對(duì)每個(gè)熱點(diǎn)話題,利用互信息法抽取出值最高的5個(gè)單詞作為熱點(diǎn)詞匯。使用人工方式挑選的熱點(diǎn)詞匯和基于LDA模型方法自動(dòng)抽取出的熱點(diǎn)詞匯比較結(jié)果如表1所示。
從表1中可以看出,本文使用的基于LDA模型的方法所識(shí)別的熱點(diǎn)話題與人工方式選取結(jié)果相一致,自動(dòng)抽取的熱點(diǎn)詞匯與人工選取的當(dāng)前時(shí)間段的社會(huì)熱點(diǎn)基本相符合,并且所抽取出的熱點(diǎn)詞匯能準(zhǔn)確地描述對(duì)應(yīng)的話題。
表1 兩種不同方式下選取的熱點(diǎn)詞匯比較
本文對(duì)如何從海量微博文本中自動(dòng)識(shí)別出熱點(diǎn)話題、熱點(diǎn)詞匯和熱點(diǎn)話題微博進(jìn)行了研究,通過對(duì)微博語(yǔ)料庫(kù)進(jìn)行預(yù)處理,構(gòu)建LDA主題模型,將Gibbs抽樣算法引入模型參數(shù)推理中,根據(jù)參數(shù)估計(jì)得到微博語(yǔ)料庫(kù)的主題-詞匯概率分布和文本-主題概率分布,同時(shí)結(jié)合微博的影響力,計(jì)算并發(fā)現(xiàn)熱點(diǎn)話題,最后利用互信息識(shí)別與熱點(diǎn)話題相關(guān)的熱點(diǎn)詞匯,實(shí)驗(yàn)結(jié)果表明本文提出的方法具有較好的識(shí)別效果。此外,由于微博中網(wǎng)絡(luò)用語(yǔ)的隨意性、口語(yǔ)化等特點(diǎn),使得少數(shù)分詞不夠準(zhǔn)確,對(duì)主題分析產(chǎn)生了一些不同程度的影響,在今后的研究中需要進(jìn)一步改進(jìn)。
[1]余傳明,張小青,陳雷.基于LDA模型的評(píng)論熱點(diǎn)挖掘:原理與實(shí)現(xiàn)[J]. 信息系統(tǒng),2010,33(5):103-106
[2]Blei D M, Lafferty J D. A correlated topic model of science[J].Annals of Applied Statistics, 2007(1):17-35
[3]CAO Juan, XIA Tian,et al.A density-based method for adaptive LDA model selection[J]. Neuro computing, 2009,72:1775-1781
[4]QUAN X J, LIU G, et al.Short text similarity based on probabilistic topics[J].Knowledge Information System,2010,25(3):473-491[5]李勁,張華.基于特定領(lǐng)域的中文微博熱點(diǎn)話題挖掘系統(tǒng)BTopicMiner[J].計(jì)算機(jī)應(yīng)用,2012,32(6):2346-2349
[6]Lv Nan,Luo Junyong,Liu Yao,et al.Topic three layer model based topic evolution analysis algorithm[J].Computer Engineering,2009,35(23):71-75
[7]Blei D M, NG A Y, Jordan M I.Latent Dirichlet allocation[J].Journal of Machine Learning Research,2003,3(3):993-1022
(責(zé)任編輯:汪材印)
A Hot Topic Identification based on LDA for Chinese Microblog
TAN Cheng-fang1,2, WANG Cai-yin2,ZHANG Yakang1
1.School of Information Engineering, Suzhou Anhui,234000;2.Intelligent Information Processing Lab, Suzhou Anhui,234000,China
In order to solve the problem that the number of microblog text is increasing quickly and the amount of microblog information is very complicated, LDA model is applied to mine the hot topic, and the identification process of microblog hot topic is constructed. Firstly, we use LDA to model microblog corpus, determine the best number of topics by the perplexity, and achieve parameters estimation with Gibbs sampling algorithm, then we obtain the probability distribution of the topic and the word and the probability distribution of the text and the topic, on the basis of this, we calculate and identify hot topics, hot words and hot topics microblog. Experimental results show that this model is consistent with the results of artificial selection, indicating that the model has better recognition performance on hotspots.
latent dirichlet allocation;microblog;hot Topic
2014-03-01
宿州學(xué)院校級(jí)科研平臺(tái)開放課題項(xiàng)目“問答社區(qū)中基于LDA的問題推薦機(jī)制研究”(2013YKF14);安徽省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目“基于微博的網(wǎng)絡(luò)輿情挖掘研究”(AH201310379082);安徽省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目“改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)在ERP實(shí)施風(fēng)險(xiǎn)評(píng)價(jià)中的應(yīng)用”(AH201310379078);安徽省高校省級(jí)自然科學(xué)研究項(xiàng)目“基于本體的直搜索研究及應(yīng)用”(KJ2012Z395)。
談成訪(1981-),女,安徽舒城人,碩士,講師,主要研究方向:web數(shù)據(jù)挖掘。
10.3969/j.issn.1673-2006.2014.04.021
TP391
A
1673-2006(2014)04-0071-04