陳 陽,邵 曦,趙海博
(1.南京郵電大學 通信與信息工程學院,江蘇 南京 210003; 2.軟通動力信息技術有限公司,浙江 杭州 310000)
基于UR-LDA的微博主題挖掘
陳 陽1,邵 曦1,趙海博2
(1.南京郵電大學 通信與信息工程學院,江蘇 南京 210003; 2.軟通動力信息技術有限公司,浙江 杭州 310000)
以微博為代表的社交網絡已經成為用戶發布和獲取實時信息的重要手段,然而這些實時信息中很大一部分都是垃圾或者是冗余的信息。通過有效的手段,精準地發現、組織和利用社交網絡海量短文本背后隱藏的有價值的信息,對微博中隱含主題的挖掘,具有較高的輿情監控和商業推廣價值。盡管概率生成主題模型LDA(Latent Dirichlet Allocation)在主題挖掘方面已經得到了廣泛的應用,但由于微博短文本消息語義稀疏以及文本之間相互關聯等特點,傳統的LDA模型并不能很好地對它進行建模。為此,基于LDA模型,綜合考慮微博的文本關聯關系和聯系人關聯關系,提出了適用于處理微博用戶關系數據的UR-LDA模型,并采用吉布斯抽樣對模型進行推導。真實數據集上的實驗結果表明,UR-LDA模型能有效地對微博進行主題挖掘。
微博;主題挖掘;UR-LDA;吉布斯抽樣
微博,微型博客(Micro Blog)的簡稱,是Web2.0時代興起的一種新型社交網絡形式,以其開放性、交互性、自由性和及時性而風靡全球。微博基于用戶之間的關聯關系,構建了一個海量信息分享、傳播和獲取的平臺。用戶可以通過網絡,移動設備和其他客戶端軟件登錄微博,進行短文本信息的實時獲取或更新。據新浪微博財報顯示,新浪微博日活躍用戶數(DAU)達到1.06億,在2016年第一分鐘發出去的微博信息高達883 536條。
用戶通過微博網站構建的平臺可以發布海量信息。但微博用戶人群構成多樣,文本內容口語化,主題隨意性強,語法缺少規范。據統計發現,超過50%的微博內容為情感語錄、個人心情等,因此,微博文本噪聲占比高。在信息爆炸的時代,通過有效的手段從海量的短文本中挖掘出有效的主題信息就顯得尤為重要。優質的主題挖掘對情感分析系統、輿情監控系統以及大數據預警系統的發展具有極大的推動作用。
傳統的微博主題挖掘算法按照其輸入數據的種類,主要分為以下三類:基于網絡關系的微博主題挖掘、基于用戶標簽或文本內容的微博主題挖掘、結合用戶文本內容、網絡關系的微博主題挖掘。
M.E.J.Newman等[1]提出的算法是基于網絡關系的社交網絡主題挖掘方法的典型代表。該算法認為移除不同主題之間的連接邊就能較好地將社交網絡分割成不同的主題[1]。
文獻[2]提取用戶標簽,將各個用戶興趣特征向量化,最后對用戶興趣特征向量聚類進行主題挖掘。在該算法中,用戶標簽不完整及口語化會嚴重影響最終的聚類效果。
文獻[3]利用一種正規化框架,結合用戶關系和用戶文本內容進行社交網絡主題挖掘。
Blei等[4]提出了概率主題模型LDA,即“文檔—主題—詞”三層貝葉斯模型,為社交網絡主題挖掘提供了新的思路。
汪進祥[5]利用LDA主題模型與中文標注相結合進行微博話題挖掘。
但是未經修改,LDA主題模型一般適用于新聞等經過初次加工的語料,而微博是短文本(字數通常小于140),語義信息稀疏,噪聲大,文本語言口語化,極大地增加了對其主題挖掘的難度[6];另一方面,轉發型微博文本和對話型微博文本從形式上說明微博文本之間是相互關聯的,與傳統LDA模型假設文本之間相互獨立是矛盾的。以上特性說明微博主題挖掘不能簡單套用傳統的LDA模型?;贚DA,結合微博文本的特性,提出了一種適合中文微博主題挖掘模型UR-LDA。
2.1 LDA模型
LDA主題模型繼承自LSA[7]和PLSA[8]方法,在文檔—單詞引入“主題”的概念,形成了“文檔—主題—詞”的三層貝葉斯模型[9]。在LDA模型中,文本m可以表示成多個主題的聯合分布,記為P(z),每個主題又是詞匯表中所有單詞上的概率分布,記為P(w|z)。因此,文本中每個單詞的概率分布為:
(1)
其中,K為主題個數;i∈[1,Nm],Nm為數據集中所有單詞的個數。
同時,LDA模型是一個完備的主題模型,詞語符合“詞袋模式”,即在文檔的生成過程中,不同詞語之間相互獨立,順序無關,模型引入Dirichlet分布,只需要分別設置超參數α和β就可以表示文檔m與主題的關系θm以及主題k與詞語的關系φk,實現文檔—主題和主題—詞語之間參數的精簡。LDA模型的文本生成模型如圖1所示。
(1)根據先驗參數為α的Dirichlet分布,隨機抽取每篇文檔的混合主題概率θm。
(2)根據先驗參數為β的Dirichlet分布,隨機抽取各個詞語在主題k下出現的概率φk。
(3)針對每篇文檔m中的每一個待生成的詞wm,n:
①根據θm抽取當前單詞所代表的主題zm,n。
②根據p(wm,n|φk,zm,n)抽取具體的單詞wm,n。
一個文本中所有單詞與其所屬主題的聯合概率分布,如式(2)所示:

(2)
2.2 吉布斯抽樣法
吉布斯抽樣法是一種簡單的蒙特卡洛算法實現,經常用來進行LDA模型概率推導。該方法的思想是[10]:對于已知概率分布π(x),x=(x1,x2,…,xn)(通常稱為目標分布),如果π太過復雜以致不能直接從它抽樣,可以通過構造一個非周期且不可約的馬爾可夫鏈來間接獲取樣本。由于模擬的數值可以被視作是來自目標分布的獨立樣本,當馬爾可夫鏈足夠長時,就可以用其穩態分布來推斷π的重要特征。具體過程如下:




3.1 微博生成模型UR-LDA
從微博消息的發布形式可以看出,微博不同于一般文本,本身帶有表征文本之間關聯關系的信息,如:轉發型微博中含有“//@”,對話型微博含有“@”。其中,轉發型微博的文本內容由當前用戶和其他用戶發布原創微博共同組成,往往用于當前用戶對轉發部分的評論,可以通過“//@”把原創部分和轉發部分隔離開來。例如,“好樣的!//@陳陽:林說會以馬努為榜樣,說會無視交易流言,已經習慣了”。其中“//@”之前的是原創內容,“//@”之后的轉發內容,“@陳陽”表示轉發部分的作者是陳陽。轉發型微博的主題主要取決轉發部分而不取決于微博發布者,而且當微博發布者原創部分的內容不包含能夠表征任何有意義主題的詞時,可以將其忽略。對話型微博含有特定的提醒或者發送對象,如“@JeremyLin林書豪一直被你的精神鼓舞著,前進著!”,“@JeremyLin林書豪”表示該條微博所要發送的對象是JeremyLin林書豪。這種類型的微博體現了微博文本聯系人之間的關聯關系。
UR-LDA是在研究LDA的基礎上,綜合考慮微博文本關聯關系和聯系人關聯關系以及微博短文本特性,形成適合中文微博主題挖掘的模型。在UR-LDA模型中,一條微博如果是轉發微博,其主題由當前用戶原創部分和轉發部分共同確定;如果是對話型微博,其主題由該條微博發送對象中所有與當前微博相關的微博共同確定。其中發送對象中的相關微博是指,發送對象發布的,含有當前微博關鍵字的微博。
UR-LDA模型的參數介紹見表1。

表1 模型符號定義說明

續表1
UR-LDA模型的貝葉斯網絡圖如圖2所示。

圖2 UR-LDA模型
(1)UR-LDA從參數為β的Dirichlet分布中抽取主題k與單詞的關系φk。
(2)通過正則表達式[//\s*?@.*?:]過濾掉微博文本中與轉發相關的特殊字符,僅保留用戶原創部分和轉發部分。
(3)針對包含“@”文本:
①通過正則表達式[@(.+?)\s+]找出該文本所有與“@對話對象名”相匹配的字符串,提取相應的對話對象名并利用中科院的ICTCLAS提取當前文本的關鍵字。
②遍歷①中所有的對話對象,找出每個對象發布的含有①中提取的關鍵字的微博。為降低微博短文本語義稀疏對主題挖掘效果的影響,將同一會話對象中找到的相關微博存入到一個文件中,作為一個新的文本。
③利用傳統的LDA模型,根據先驗參數為αur的Dirichlet分布,隨機抽?、谥懈鱾€會話對象的新文本的混合主題概率θmui,并對其求均值,記為θur,置πur為1(πur初始值為0)。θur的計算公式為:
(3)
其中,N為①中得到對話對象的總數;θur為每個會話對象生成的新文本在各個主題上的概率分布。
(4)判斷πur的取值,若πur=1,則將求得的θur賦給微博m與各個主題之間的關系θm;否則直接從參數為α的Dirichlet分布中抽取該微博m與各個主題之間的關系θm。整個微博集中,θm的概率分布為:

(4)
一條微博中,所有單詞與其所屬主題的聯合概率分布為:
P(w,z|θm,β)=P(z|θm)P(w|z,β)
(5)
3.2 模型推導
用Gibbs Sampling對UR-LDA模型進行推導,其過程如下:
(1)利用歐拉公式對式(2)進行展開:

(6)

(7)
(2)對式(7)反復迭代,并對所有主題進行抽樣,最終達到抽樣結果穩定。由于抽取單詞和抽取主題都滿足多項式分布,θm和φk的結果分別如下:
(8)
(9)
類似的,可以得到θmui:
(10)
對θmui求均值,得到θur:
(11)
至此,UR-LDA模型通過吉布斯抽樣求解出微博文本在各個主題上的概率分布θm以及每個主題在單詞上的概率分布φk。對整個微博集進行分析,通過概率計算,就可以挖掘出單個微博文本最有可能屬于哪個主題,每個主題最具代表性的單詞。
4.1 數據準備
4.1.1 新浪微博數據采集
微博數據采集是微博主題挖掘的基礎。目前微博數據的獲取主要有兩種方式,即網絡爬蟲技術和新浪微博提供API接口獲取數據,但這兩種方式都存在一定的問題。
目前許多網頁都采用了Ajax[11]技術,利用JavaScript動態生成網頁,爬蟲技術很難爬取到完整的網頁數據。由于微博平臺的不開放性,新浪對API的調用有諸多限制,使用微博開放的API接口的方式并不能滿足大規模數據需求的情況。因此,在實驗過程中,可以將兩者結合,在多臺機器上進行采集,獲取大量完整的微博數據。最后將獲取到的微博數據進行格式化,保存為json格式或者保存到關系型數據庫中。
將網絡爬蟲技術和新浪微博API接口獲取數據方式進行結合,共獲取1 894個新浪微博用戶214 870條微博數據,將這些數據存入MySQL數據庫作為實驗數據,利用UR-LDA模型對其建模。
4.1.2 數據預處理
在獲得原始數據后,通常需要進行數據預處理,提高數據的可靠性。實驗室針對中文微博的主題挖掘,通過以下步驟優化數據源。
(1)去掉微博文本中不能體現任何有意義主題的文本,如不包含任何漢字的文本。
(2)通過正則表達式[//\s*?@.*?:]過濾掉微博文本中與轉發相關的特殊字符。
(3)對微博文本長度小于10的微博進行刪除。
(4)通過正則表達式[@(.+?)\s+]取出微博文本所有會話聯系人,以“@[會話聯系人1,會話聯系人2,…,會話聯系人n]”的形式寫在當前微博文本的前面,并以空格將兩者隔開。
(5)設置白名單詞典、用戶詞典及停用詞表。
白名單詞典[12]是為了防止一些有意義的詞被當成噪聲而設置的,如:KTV。
用戶詞典是為了防止一些人名和固定詞被無意義分割而設計的,如“成龍”。
停用詞是指沒有實際主題含義的詞,如“十分”、“非?!?、“特別”等。設計停用詞表,主要是為了去除微博文本中的停用詞。
(6)通過ICTCLAS[13]進行分詞處理,過濾掉微博中不屬于白名單詞典的所有單個漢字,非漢字詞語,停用詞,地點以及特殊字符等影響主題挖掘實驗的詞。
4.1.3 實驗環境
實驗環境為Intel(R) Pentium(R)4 3.00 GHz 的CPU,4 G內存,160 GB硬盤的PC機,操作系統為Win8,實驗工具為JetBrains PyCharm 2016.1.2。
4.2 UR-LDA模型參數
模型參數參考文獻[14]中的方法進行設置。取經驗值α=αur=50/K,β=0.01,K=60,其中K是整個數據集上的主題總數。
4.3 實驗結果
4.3.1 整體效果
選取UR-LDA模型的主題挖掘前4個主題社區的結果,如圖3所示。

圖3 UR-LDA模型部分效果圖
圖中,每個主題選擇了20個關鍵詞進行表征,關鍵詞是按照其在主題下的分布概率由高到低顯示。
根據各個主題相對應的關鍵詞可以發現Topic 1是與房價相關的主題,Topic 2是與公務員相關的主題,Topic 3是與足球相關的主題,Topic 4是與手機產品相關的主題。不同主題的關鍵詞都能有效表征當前主題,說明主題的關鍵詞分類合理,主題之間的獨立性比較高。
4.3.2 對比實驗
在研究主題模型時,可以使用困惑度(perplexity)指標對模型進行評估。perplexity是度量概率圖模型性能的常用指標[14],它表示了預測數據時的不確定度,該值越小,模型建模效果越好[15]。計算公式[16-17]如下:
(12)
其中,w為微博數據集;wm為在數據集中出現的單詞;Nm為測試集中出現的詞語總數。
在相同參數下,分別計算傳統LDA模型和UR-LDA模型的perplexity,結果如圖4所示。
從圖中可以看出,隨著迭代次數的增加,直到模型趨于收斂,UR-LDA模型的perplexity都要小于傳統的LDA模型,說明UR-LDA模型在測試數據上具有更好的建模效果。

圖4 模型困惑度對比圖
針對新浪微博短文本語義稀疏以及文本之間相互關聯的特點,提出了一種適合處理微博用戶關系數據的UR-LDA模型,并采用吉布斯抽樣對模型進行推導。在真實的數據集上進行實驗,結果證明UR-LDA較傳統的LDA主題模型有更好的主題挖掘效果。
雖然UR-LDA模型能夠較有效地對微博進行主題挖掘,但也有一定的局限性[18]。通過新浪微博,也可以發布音樂、視頻、圖片等多媒體信息,而不再是單純的文字信息。今后的研究工作主要集中在處理微博中的多媒體數據,增強主題模型挖掘能力等方面。
[1] Girvan M,Newman M E J.Community structure in social and biological networks[J].PNAS,2002,99(12):7821-7826.
[2] Li Xin,Guo Lei,Zhao Yihong.Tag-based social interest discovery[C]//Proceedings of the 17th international conference on world wide web.[s.l.]:[s.n.],2008:675-684.
[3] Mei Qiaozhu,Cai Deng,Zhang Duo,et al.Topic modeling with network regularization[C]//Proceedings of the 17th international conference on world wide web.[s.l.]:[s.n.],2008:101-110.
[4] Blei D M,Ng A Y,Jordan M I.Latent Dirichlet allocation[J].Journal of Machine Learning Research,2003,3:993-1022.
[5] 汪進祥.基于主題模型的微博話題挖掘[D].北京:北京郵電大學,2015.
[6] Kang J H,Lerman K,Plangprasopchok A.Analyzing Microblogs with affinity propagation[C]//Proceedings of the KDD workshop on social media analytics.New York:ACM,2010:67-70.
[7] Deerwester S,Dumais S,Landauer T,et al.Indexing by latent semantic analysis[J].Journal of the American Society of Information Science,1990,41(6):391-407.
[8] Hofmann T.Probabilistic latent semantic indexing[C]//Proceedings of the 22nd annual international ACM SIGIR conference on research and development in information retrieval.New York:ACM,1999:50-57.
[9] Nallapati R M, Ahmed A, Xing E P,et al.Joint latent topicmodels for text and critations[C]//Proceedings of the 14th ACM SIGKDD international conference on knowledge discovery and data mining.[s.l.]:ACM,2008:542-550.
[10] 李 明,王占宏,魯 明.基于J2EE框架的混合模式治安管理信息系統研究與應用[J].計算機工程,2003,29(1):252-252.
[11] Garrett J J.Ajax:a new approach to web applications[EB/OL].(2005-02-18)[2011-02-18].http://www.adaptivepath.com/publications/essays/archives/000385.php.
[12] 郭劍飛.基于LDA多模型中文短文本主題分類體系構建與分類[D].哈爾濱:哈爾濱工業大學,2014.
[13] Thomas H.Probabilistic latent semantic indexing[C]//Proceedings of SIGIR.Berkeley,CA,USA:[s.n.],1999:50-57.
[14] Griffiths T,Steyvers M.Probabilistic topic models[M]//Latent semantic analysis:a road to meaning.Hillsdale,NJ:Laurence Erlbaum,2006.
[15] Philp R,Eric H.Gibbs sampling for the uninitiated[R].[s.l.]:[s.n.],2010.
[16] 張晨逸,孫建伶,丁軼群.基于MB-LDA模型的微博主題挖掘[J].計算機研究與發展,2011,48(10):1795-1802.
[17] 胡吉明,陳 果.基于動態LDA主題模型的內容主題挖掘與演化[J].圖書情報工作,2014,58(2):138-142.
[18] Ma D,Rao Lan,Wang Ting.An empirical study of SLDA for information retrieval[J].Information Retrieval Technology,2011(1):84-92.
Microblog Topic Mining Based on UR-LDA
CHEN Yang1,SHAO Xi1,ZHAO Hai-bo2
(1.College of Communication & Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China; 2.Isoftstone Information Technology (Group) Co.,Ltd.,Hangzhou 310000,China)
Social network in particular microblog has become a significant way for users to propagate and retrieve information.However,a large proportion of the real time information is junk or redundant.So the discovery of latent topics in social networks through finding,organizing and using valuable information behind the mass passage with effective ways carries high value in public option monitoring and commercial promotion.Although probabilistic generative topic model (Latent Dirichlet Allocation,LDA) has been widely applied in the field of topics mining,it cannot work well on microblog,which contains little information and has connection with others.A novel probabilistic generative model based on LDA,called UR-LDA,has been proposed which is suitable for modeling the micro-blog data and taking the document relation and user relation into consideration to help mining in micro-blog.A Gibbs sampling implementation for inference the UR-LDA model has been also presented.Experimental results used with actual dataset show that UR-LDA can offer an effective solution to topic mining for microblog.
microblog;topic mining;UR-LDA;Gibbs sampling
2016-05-23
2016-09-14 網絡出版時間:2017-03-13
國家自然科學基金青年基金(60902065)
陳 陽(1992-),女,碩士研究生,研究方向為社交網絡主題挖掘;邵 曦,博士,副教授,研究生導師,研究方向為多媒體信息處理系統。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170313.1545.016.html
TP31
A
1673-629X(2017)06-0173-05
10.3969/j.issn.1673-629X.2017.06.036