高永兵,楊利瑩,胡文江,馬占飛
(1.內蒙古科技大學 信息工程學院,內蒙古 包頭 014010; 2.包頭師范學院 信息工程系,內蒙古 包頭 014010)
近年來,微博已經成為最具即時性的信息共享公共平臺,不僅可以在第一時間分享社會熱點、交流看法和觀點,也能及時傳播專業領域的發展信息。以2016年旅游業為例,相關博文數近12.5億,旅游業用戶達9 623萬,這些微博反映出該領域的重要信息,具有較高的參考價值,以時間為軸線對領域的發展情況進行追蹤具有重要意義。主題提取可以高度概括重要信息,提高閱讀效率,目前,國內外學者都針對主題演化開展了相關研究?,F存的主題演化研究方法可以歸納為3類:基于社會網絡的方法,基于本體的方法和基于主題模型的方法?;谏鐣W絡的方法[1-2]將主題表示為網絡節點,主題間的演化關系用節點間的有向邊表示,邊的權重代表演化強度,演化強度與主題詞和引文有關,但是這種基于鏈接的方法對于新出現的主題敏感度不高,此外由已經出現的主題可能會鏈接到下一個無關主題從而造成主題漂移;基于本體的方法[3-4]關注主題的語義信息和增量構建過程,借鑒詞共現思想,結合本體構建主題與主題間的關系網絡,然而該方法對訓練集的依賴性很大,不適用于動態主題演化過程?;谥黝}模型的方法能夠自動挖掘潛在的語義信息,且模型的靈活度高,能夠根據不同的應用場景做出相應的調整,具有較強的適用性。
主題模型中應用最廣泛的是由文獻[5]提出的潛在Dirichlet分布(Latent Dirichlet Allocation,LDA)模型,以此模型為基礎衍生出許多主題演化模型[6-8],解決了原始LDA模型忽略文本的時間信息而無法描述文本主題演化的問題。然而以LDA為基礎的主題模型需要人為預先指定主題數目,在整個事件的演化過程中,主題的數目是不固定的,某個主題也并非貫穿于整個事件的始終。例如,“人民幣加入SDR”包含多個主題,隨著時間推移,微博上討論的主題從前期的一系列基礎準備工作到如何適應市場發展,再到加入SDR后給中國經濟帶來的影響。在沒有任何先驗知識的前提下,很難準確把握主題數量。為克服以上問題,研究者提出了分層Dirichlet 過程(Hierarchical Dirichlet Process,HDP)模型[9],利用狄利克雷過程(Dirichlet Process,DP)無限維度的特征實現主題數目的自動確定。
主題演化是傳統主題挖掘技術的延伸與發展,指的是按照時間發展順序對不同階段的文本進行主題分析,要求既能概括文本信息,又能表現發展動態。對領域微博進行主題演化研究存在諸多難點。首先,傳統的主題模型都是針對長文本提出的,如何調整主題模型以適應微博數據的短文本性和交互性是一大難點;此外,隨著社會分工的細化,存在許多交叉行業與領域,如何準確地抽取指定行業領域的微博也是需要考慮的問題;最后,利用主題模型挖掘出領域微博的主題后,如何既能表現該領域的主題分布,又能增加對新主題的敏感性既而表達其演化過程,也是一個難點。
綜合考慮以上問題,本文提出一種針對領域微博主題演化的分析方法。首先,基于用戶標簽和簡介的領域微博提取出領域微博數據;然后,綜合考慮領域特征和時間特征,構建適用于領域微博主題挖掘的DM-HDP模型,并設計相應的采樣方法推導該模型;最后,在真實的數據集上進行實驗,驗證DM-HDP模型的有效性。
關于主題演化最早的研究可以追溯到文獻[10]中提出的動態主題挖掘思想,該思想將連續的文本按時間段劃分,以LDA模型為基礎對每個時段內的文本建模,綜合考慮α和β參數隨時間的變化,建立LDA模型鏈,最后得到隨時間變化的主題分布。然而這種方法得到的主題數目是固定的,與實際情況不符。文獻[11]中提出的時段性DP混合模型,假定每個時期內的主題數量不限定,隨時間的推移可以產生新的主題,已存在的主題可以保留或者消亡。該方法解決了主題數量不確定的問題,但是運用了循環中國餐館構造過程(Chinese Restaurant Construction Process,CRCP)采樣推導,假設每個詞僅屬于一個主題,忽略了文本單詞一詞多義的特性,丟失單詞部分主題信息,導致模型的精度降低。文獻[12]提出基于HDP模型的主題演化方法,該方法構建了三層DP代表不同層次的主題分布,認為某時段的主題分布受上一時段的參數影響,結合折棒構造方法(Stick-breaking construction)和CRCP實現動態的文本主題挖掘。該方法通過建立動態主題模型系統性地挖掘文本流的主題分布,卻沒有對主題的演化過程進行分析,呈現的結果不直觀。文獻[13]中提出的一種面向多文檔流的主題演化模型,允許每個文本流都有本地主題和共享主題,為每個主題的受歡迎程度建立時間變化函數,定量地分析主題變化規律。文獻[14]在LDA模型的基礎上增加DP,不僅能獲取模型的隱變量,還能完成超參數的動態更新和主題數的變動,然而該方法并沒有對子主題的劃分做詳細介紹。文獻[15]中提出的在線分層DP的非參數貝葉斯模型,主題的演化過程分為2個層次,對時間塊內的文檔建立在線HDP模型,對跨時間塊的文檔用時間衰減函數衡量其時間相關性,假設當前主題分布受之前幾個時段主題分布的影響,就造成系統對新主題敏感度不高。
上述研究都基于長文本,對于微博這種短文本不一定適用。文獻[16]提出用于挖掘微博主題的MB-LDA模型,綜合考慮微博的聯系人信息和文本信息,改進LDA模型以適應微博的特殊結構。文獻[17]提出MB-HDP模型,利用微博的時間信息、用戶興趣和話題標簽,聚合主題相關的信息。至此,目前還很少有關于領域微博主題演化的研究。
主題演化過程需考慮的兩大因素是內容和時間,一方面要求在內容上按主題進行分類識別,另一方面又要保證時間上的延續和關聯。本文首先按照用戶標簽提取出領域微博,然后以時間周期為界,將領域微博劃分為多個獨立單位,在此單位內部忽略時間信息,建立領域微博主題模型DM-HDP,以挖掘該時段的主題分布,將主題劃分到不同的大主題下,按時間順序為相同的大主題建立關聯,進而分析主題的演化過程。
DP是關于分布的分布,其采樣點本身就是一個隨機概率分布。HDP本質是DP的多層形式,可視為基于貝葉斯的傳統主題模型LDA在無參方向的衍生[18]。以下介紹基于文檔的兩層HDP模型生成過程。首先從基分布H和參數γ構成的DP中,抽樣出分布G0;然后從基分布G0和參數α0構成的DP中,為每篇文檔抽取主題分布Gj,其中DP代表DP過程。
G0|γ,H~DP(γ,H)
Gj|α0,G0~DP(α0,G0)
θji|Gj~Gj
Wji|θji~Mult(θji)
(1)
式(1)中,θji指示了詞Wji的主題。HDP的圖模型生成過程如圖1所示,其中圓形代表分布,圓角矩形代表參數,陰影部分表示可觀測量,矩形表示該過程可循環。

圖1 HDP圖模型生成過程
以上關于HDP的定義并不能直接應用,可應用2次Stick-breaking方法對HDP的過程進行構造,詳細的構造過程參見文獻[19]。
1)第1層構造如下:

φk~H
(2)
其中,βk表示一組服從Beta分布的隨機數,φk表示從基分布H中抽樣的點,δφk表示抽樣點的值。

2)第2層構造如下:
πjk~GEM(α0)
φk~H
(3)
其中,πjk表示取δφk點的概率。
該構造方法并沒有改變采樣點,只是對采樣點的權值做連續處理,HDP模型的Stick-breaking構造過程如圖2所示。

圖2 HDP圖模型構造過程
CRCP將單詞匹配主題的過程形象地比喻為顧客挑選餐桌并點菜的過程,具體如下:假設餐館可容納無數張餐桌,每張餐桌可容納無數位顧客,每張餐桌上只供應一道菜。顧客進入餐館選擇餐桌并點菜,顧客可以就坐于已有餐桌也可以選擇新餐桌。
1)若就坐于已有餐桌,便可以共享已點的菜肴,其概率與該餐桌上的顧客數量成正比,顧客數越多則被選中的概率越大;
2)顧客也可以以某參數概率選擇新餐桌,作為該餐桌的第一位顧客應負責點菜,選擇已有菜肴的概率受其被點次數的影響,菜肴被點到的次數越多則再次被點的可能性越大,顧客也可以以參數概率選擇新菜肴。
專業領域微博由長期從事具體業務的特定人群發布,帶有學科性、技術性的微博數據集合一般帶有明顯的用戶標簽及簡介信息。用戶標簽包含豐富的個性化描述信息以及用戶本身的特性,能夠代表用戶的所屬行業領域,本文利用用戶標簽進行領域標識。
首先構建領域關鍵詞詞典,通過抓取領域資訊網站的文檔,利用現有的基于文本分類的網頁爬蟲技術[20]及領域模型[21]爬取領域相關信息,分析文檔中的關鍵詞,按照關鍵詞詞頻統計結果,構建領域D={D1,D2,…}。將領域Di的專業詞匯集表示為dij={dij1,dij2,…}。
定義1基于用戶標簽的領域相似度。將用戶Ur的標簽詞匯集d(Ur)={d1,d2,…}與領域Di的專業詞匯集dij進行相似度計算,若該領域的專業詞匯集dij中的第k個詞匯與用戶的標簽詞匯相同(不考慮用戶標簽詞的先后順序),定義領域相似度如下:
(4)

定義2領域特征指數。根據用戶Ur的領域相似度ftag,統計其所發布的總微博數T(Ur)以及利用分類模型得到的專業領域微博數D(Ur),定義領域特征指數為:
(5)
分析用戶發布的領域特征指數,如果其值大于某閾值,則認為此用戶屬于該領域,即表示為:
Di(U)={Ur|Ur∈U,F(Ur)>thr1}
(6)
其中,集合U表示用戶集合,Ur是集合中的元素。僅當其領域特征指數條件F(Ur)>thr1成立時,此用戶屬于領域Di,由此得到屬于該專業領域的用戶集合Di(U)。
上一節中,得到了基于用戶的領域微博數據,然而其中不可避免地摻雜了如個人生活領悟等非專業領域信息。如果直接進行主題提取,不僅會造成時間上的浪費,也會降低主題提取的精度和質量,所以,本文提出考慮微博類型的DM-HDP模型,對專業領域微博進行主題提取。


表1 DM-HDP模型中符號含義說明
在DM-HDP模型中,每條領域微博與xv和yv2個參數相聯系,代表該微博主題是否為特定時間、是否與專業領域相關,每條微博的主題分布表示為zv。由此將微博分為4類:領域特定時間主題,領域一般時間主題,公共特定時間主題以及公共一般時間主題。由x和y確定的4種微博類型如表2所示。每種微博均在不同的主題分布下,需要建立4種主題分布與之相對應,其中主要任務是領域特定時間主題的識別。

表2 由x和y確定的4種微博類型
xv和yv服從參數為θx和θy的二項分布,分別代表某條微博是特定時間還是任何時間均可討論的內容,是專業領域相關的還是談論生活等非領域相關的信息。且θx和θy服從參數為ηx和ηy的Beta分布,表示為:
θx~Beta(ηx),θy~Beta(ηy)
(7)


圖3 DM-HDP模型的貝葉斯網絡

1.Draw measure G0~DP(α,H)
2.For each time t
-draw measure Gt~DP(γ,G0)
3.For each domain parameter μ
-draw θx~Beta(ηx)
-draw θy~Beta(ηy)
-draw measure Gd~DP(μ,G0)
-for each time t:
4.For each microblog υj,for domain d,at time t
-draw xv~Multi(θx)
yv~Multi(θy)
-if x=0,y=0:draw zv~G0
-if x=1,y=0:draw zv~Gt
-if x=0,y=1:draw zv~Gd
-for each word ωji∈υj
*draw wji~Multi(zv)
根據式(3),可以將G0構造如下:
(8)
根據式(1),Gt、Gd可以表示為:
(9)
(10)
(11)

MCMC方法基于改進的CRCP,根據可觀測量w對所有的分布采樣。由于篇幅有限,本文僅給出Gibbs采樣的迭代式,詳細推導可參考文獻[9]。

(12)
由文獻[9]的5.2節,G0也可以被記為:
(13)
Gu~DP(ε,H)
(14)
r=(r1,r2,…,rk,ru)~Dir(M1,M2,…,Mk,α)
(15)
其中,k代表已有的菜肴數,將r擴展到k+1空間,依據式(15)采樣得到r的分布。

(16)
同理得到ψt、πdt。
3)zv采樣:給定xv和yv的值,可以得到相應的zv值,表示如下:
P(zv=k|xv,yv,w)∝P(v|xv,yv,zv=k,w)×
P(z=k|Gx,y)
(17)
P(v|xv,yv,zv=k,w)代表微博v在主題z下產生的概率,P(z=k|Gx,y)代表選擇菜肴z的概率,表示如下:
(18)

5)x和y采樣:
(19)
(20)

完成主題的挖掘后,如何從主題中選擇既重要又新穎的主題詞是一個關鍵。主題演化相比傳統的靜態主題挖掘要考慮時間因素,如果將靜態主題挖掘視為空間中的一個點,主題演化過程就是一系列點以時間為軸連成的線,不僅要關注主題的分布情況,還要分析其變化過程。主題詞的提取直接影響演化分析的準確度,要滿足以下2個條件:1)覆蓋率高,即主題詞要盡可能覆蓋領域微博的主要信息;2)冗余信息少,即主題詞的重復信息盡可能少。因此,需要對提取出的主題做進一步的濾除。
1)子主題的相似度通常采用KL距離來衡量,在已知前一時段主題分布的情況下,對當前時段的主題詞進行篩選,方法如下:設t時段中的領域微博被劃分為Kt個子主題,子主題tm-1,n′與tm,n間的KL距離表示為:
(21)
2)閾值的選取也是一個關鍵性問題。人工給定閾值的做法可能造成較大誤差,閾值過高會導致主題太分散而無法覆蓋領域的關鍵信息;閾值過低又會造成主題信息的冗余,不具有代表性。對此,本文依據主題平均距離,將本時段某一子主題與前一時段的所有子主題做距離計算,取其均值。
(22)
其中,M-1表示tm-1時段的子主題總數目。
以新浪微博作為數據來源,選取2016年6月1日—2016年12月3日的數據進行實驗。微博爬蟲監測約50萬活躍用戶,其中,每條轉發微博中包含如下信息:1)ID,表示該條消息的唯一ID;2)Created-at,表示微博的時間戳;3)Text,表示微博的文本內容;4)User,表示微博的用戶信息。按照定義的領域指數值篩選分類處理得到的部分數據如表3所示。

表3 領域微博數據
由于時段劃分由人為設定,可能會因為時段跨度小而導致數據量過小,且領域微博的發布數量隨機,會由于某一熱點消息而出現微博數量激增的情況,微博集的規模會在一定程度上影響系統性能。對此,采取下列相應措施:
1)當數據集過小時(少于80篇),數據較分散,得到的主題數可能高于微博條數,主題的代表性不明顯。對此,將微博文本以相同的比例復制,即在不影響詞語的詞頻及語境的情況下,提高詞語的集中度,擴大詞語的采樣空間。
2)當數據集過大時(大于400篇),聚類過程中容易產生“超大類”。大類中包含的特征較多,待歸類的數據容易歸類到與其含有共同信息的數據中,從而導致“滾雪球”式的增長。對此,將微博數據進行二次劃分后再進行主題的提取。
選取財經、教育、旅游和體育領域,截取2016年7月4日—2016年9月25日之間12周的523條微博,設定實驗的迭代次數為200,統計每個領域主題數的分布及變化情況,實驗結果如圖4所示。

圖4 各領域主題數分布
分析發現,不同領域的主題數目在12~26之間變動,并且主題數的多少與微博數據集的大小沒有正比例關系,決定因素在于主題的集中程度。例如,實驗中第8周的財經相關微博為58條,其主題數為19;體育相關的微博為45條,其主題數卻為25。
以醫療行業微博數據為對象,設定實驗的迭代次數為200,統計主題的分布情況,實驗結果如表4所示。

表4 醫療行業主題分布
從表4中可以明顯看出,在醫療行業下分為10個大主題,其中每個大主題又由10個子主題構成,表現出明顯的層結構,有效地從微博文本中挖掘出了主題。
為分析主題內容上的相似性,利用式(19)計算2個相鄰時段的KL距離。選擇表4中的前5個子主題,其演化結果如圖5所示。

圖5 主題相似性變化圖
從圖5可以看出,主題1在8月5日主題間的差異較大,此時很有可能有突發事件;主題4和主題5的分布較平穩且KL值較低,說明該主題相似度較高,此段時間內沒有突發性事件。
以時間序列為軸線,分析醫療主題下的魏則西事件,具體演化過程分析如表5所示。

表5 魏則西事件主題演化過程
演化過程的要點可簡述為:2016年2月,公眾從知乎網站上得知魏則西的經歷,討論的內容集中在對治療方案及病情的關注與分析上;2016年4月,魏則西去世,公眾關注點集中在魏則西之死事件存在的涉事醫院外包診所給民營機構、百度競價排名等問題上;2016年6月,針對網友對魏則西所選擇的武警北京二院的治療效果及其內部管理問題的質疑,相關部門立即展開調查;隨后,公眾的注意力放在了廣告和醫療體制改革上。


圖6 基于LDA模型的貝葉斯網絡
6.6.1 內容困惑度
內容困惑度是廣泛應用于主題模型效果評估的一項指標,其值越小,說明主題模型的效果越好。內容困惑度計算方法如下:
(23)
設置迭代次數為100,基于LDA模型的主題數設為10,各模型的困惑度如圖7所示??梢钥吹?在迭代次數達到40時,各模型的困惑度趨于平穩。DM-HDP模型明顯優于LDA,說明自動確定主題數目是提升挖掘效果的關鍵因素。HDP比DM-HDP模型略差,說明考慮時間信息及領域信息可以改善主題的挖掘效果。

圖7 3種模型的內容困惑度對比
6.6.2 模型復雜度
模型復雜度作為衡量模型的重要指標被廣泛應用于主題模型的效果評估。復雜度越低表示模型用于描述數據集的主題越少。其他指標相同時,選擇復雜度較低的模型。由于本次實驗采用MCMC方法對模型中的各參數進行后驗概率的推導,所以模型的復雜度為主題數目與所有主題的復雜度之和。模型復雜度的計算方法參考文獻[22]。
(24)
設置迭代次數為100,各模型的復雜度如圖8所示。

圖8 3種模型的復雜度對比
可以看到,當迭代次數小于30時,DM-HDP模型的復雜度增速明顯高于其他模型,在迭代次數達到80時,各模型的復雜度趨于平穩,HDP模型最高,DM-LDA次之,DM-HDP模型的復雜度最低。
本文主要研究對領域微博主題的提取方法。根據用戶興趣信息對爬取的混合微博進行領域篩選,判斷其是否屬于既定領域,并依據領域微博的特點,基于HDP模型建立領域微博主題挖掘DM-HDP模型,有效去除領域無關信息,使領域信息的專業性特點更加凸顯。同時,為了推導MB-HDP模型的分布參數,應用基于改進CRCP的MCMC采樣方法。對挖掘出的主題進行相關性計算,以捕捉主題的演化規律。實驗數據表明,DM-HDP模型性能優于基于LDA等現有模型。為了適應海量微博數據,后續研究將側重于尋找更加高效的采樣方法,以及設計有效方案進一步整合主題的層次結構。
[1] JENSEN S,LIU X,YU Y,et al.Generation of Topic Evolution Trees from Heterogeneous Bibliographic Networks[J].Journal of Informetrics,2016,10(2):606-621.
[2] 葉春蕾,冷伏海.基于社會網絡分析的技術主題演化方法研究[J].情報理論與實踐,2014,37(1):126-130.
[3] 陳 千,桂志國,郭 鑫,等.基于特征本體的文本流主題演化[J].計算機應用,2015,35(2):456-460.
[4] MA J,SUN M,LI C,et al.Ontology Evolution Algorithm for Topic Information Collection[J].International Journal of Nonlinear Science,2014,18(1):86-91.
[5] BLEI D M,NG A Y,JORDAN M I.Latent Dirichlet Allocation[J].Journal of Machine Learning Research,2003,32(3):993-1022.
[6] WANG Y,AGICHTEIN E,BENZI M.TM-LDA:Efficient Online Modeling of Latent Topic Transitions in Social Media[C]//Proceedings of ACM SIGKDD Inter-national Conference on Knowledge Discovery and Data Mining.New York,USA:ACM Press,2012:123-131.
[7] 胡吉明,陳 果.基于動態LDA主題模型的內容主題挖掘與演化[J].圖書情報工作,2014,58(2):138-142.
[8] HOFFMAN M D,BLEI D M,BACH F R.Online Learning for Latent Dirichlet Allocation[J].Advances in Neural Information Processing Systems,2010,23(5):856-864.
[9] TEH Y W,JORDAN M I,BEAL M J,et al.Hierarchical Dirichlet Processes[J].Journal of the American Statistical Association,2006,101(476):1566-1581.
[10] BLEI D M,LAFFERTY J D.Dynamic Topic Models[C]// Proceedings of the 23rd International Conference on Machine Learning.Washington D.C.,USA:IEEE Press,2006:113-120.
[11] AHMED A,XING E P.Dynamic Non-parametric Mixture Models and the Recurrent Chinese Restaurant Process:with Applications to Evolutionary Clustering[C]//Proceedings of Siam International Conference on Data Mining.Atlanta,USA:SDM Press,2008:219-230.
[12] ZHANG J,SONG Y,ZHANG C,et al.Evolutionary Hierarchical Dirichlet Processes for Multiple Correlated Time-varying Corpora[C]//Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York,USA:ACM Press,2010:1079-1088.
[13] HONG L,DOM B,GURUMURTHY S,et al.A Time-dependent Topic Model for Multiple Text Streams[C]//Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York,USA:ACM Press,2011:832-840.
[14] 方 瑩,黃河燕,辛 欣,等.面向動態主題數的話題演化分析[J].中文信息學報,2014,28(3):142-149.
[15] FU X,LI J,YANG K,et al.Dynamic Online HDP Model for Discovering Evolutionary Topics from Chinese Social Texts[J].Neurocomputing,2015,171(C):412-424.
[16] 張晨逸,孫建伶,丁軼群.基于MB-LDA模型的微博主 題挖掘[J].計算機研究與發展,2011,48(10):1795-1802.
[17] 劉少鵬,印 鑒,歐陽佳,等.基于MB-HDP模型的微博主題挖掘[J].計算機學報,2015,38(7):1408-1419.
[18] FERGUSON T S.A Bayesian Analysis of Some Nonparametric Problems[J].Annals of Statistics,1973,1(2):209-230.
[19] 周建英,王飛躍,曾大軍.分層Dirichlet過程及其應用綜述[J].自動化學報,2011,37(4):389-407.
[20] 陳曉偉.基于主題爬蟲與文本分類的微博資訊智能生成策略研究[D].武漢:華中科技大學,2013.
[21] 張力生,年 歡,宋 輝,等.領域模型中關聯語義的描述邏輯表示與應用[J].軟件,2015(6):66-74.
[22] MENG X,WEI F,LIU X,et al.Entity-centric Topic-oriented Opinion Summarization in Twitter[C]//Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York,USA:ACM Press,2012:379-387.