黃 暢,郭文忠,郭 昆+
1.福州大學 數學與計算機科學學院,福州 350116
2.福州大學 網絡計算與智能信息處理重點實驗室,福州 350116
3.福州大學 空間數據挖掘與信息共享教育部重點實驗室,福州 350116
伴隨著傳統(tǒng)互聯(lián)網和移動互聯(lián)網的快速發(fā)展,微博得以蓬勃發(fā)展。微博允許用戶通過網頁、外部程序和手機安卓端等發(fā)布140字符以內的消息,實現消息共享。微博的短文本性、及時性和交互性等優(yōu)點受到大眾認可,已經逐漸成為了人們獲取和發(fā)布信息的重要工具。如何從海量的雜亂無章的微博數據中挖掘熱點話題已經成為了亟待解決的問題。微博熱點話題是指在短時間內被大量微博用戶高度關注的話題。微博用戶可以發(fā)布原創(chuàng)微博來發(fā)表自己對某個話題的看法,也可以通過轉發(fā)、評論和點贊等互動傳播方式來關注某個話題微博。由上可知,微博熱點話題具有突發(fā)性和傳播性。
傳統(tǒng)的熱點話題發(fā)現主要是用于發(fā)現新聞報道等長文本的熱點話題,代表性方法有基于聚類算法的熱點話題發(fā)現方法[1-5]和基于潛在狄立克雷分配(latent Dirichlet allocation,LDA)主題模型的熱點話題發(fā)現方法[6-10]?;诰垲愃惴ǖ臒狳c話題發(fā)現方法是基于統(tǒng)計原理對文本進行向量化,然后計算兩個文本間的幾何相似度,再對文本進行聚類,最終生成話題。由于此類算法僅考慮文本的統(tǒng)計特征,生成的熱點話題質量不佳。基于LDA主題模型的熱點話題發(fā)現不僅考慮文本的統(tǒng)計特性,還考慮文本的詞共現特性。因此,基于LDA主題模型的方法在熱點話題發(fā)現的精度方面優(yōu)于基于聚類的方法[11]。但是,由于微博最多只包含140個字符的短文本,每篇微博可能只包含一個主題,提供的信息量較少,且缺少上下文的信息,即存在數據稀疏問題。造成傳統(tǒng)的基于聚類的方法和基于LDA主題模型的方法不適用于微博稀疏文本中的話題發(fā)現。為了克服基于LDA主題模型的方法在處理稀疏數據時的困難,一些學者對LDA模型進行改進,提出了EM-LDA(e-commerce microblog-LDA)、Labeled-LDA等改進模型[12-13]。但是,這些模型仍然不能完全解決數據稀疏條件下的短文本中的熱點話題發(fā)現問題。
目前,Yan等[14]在2013年提出的基于詞對信息的詞對主題模型(biterm topic model,BTM),能夠較好地解決短文本的稀疏問題。但是,BTM僅適用于普通話題的發(fā)現,不能直接用于發(fā)現熱點話題。王亞民等[15]利用BTM模型進行微博輿情熱點發(fā)現,克服了傳統(tǒng)模型在文本建模中所面臨的高維度和稀疏性問題,提高了熱點話題的質量。李衛(wèi)疆等[16]引入BTM話題模型來處理微博短文本的同時整合了K-means聚類算法來對BTM模型所發(fā)現的話題進行聚類,緩解了短文本的數據稀疏性問題,提高了話題的質量。但是直接基于BTM模型生成的話題不一定是熱點話題,可能附帶普通話題。Yan等[17]在2015年提出了一種針對突發(fā)性話題發(fā)現的主題模型BBTM(bursty biterm topic model),可以直接實現突發(fā)話題的發(fā)現。引入詞對的突發(fā)特性,生成的話題可以排除非突發(fā)話題。
基于主題模型的熱點話題發(fā)現方法對主題數目K的變化十分敏感。如果K值設置過大,一個話題將會被拆分成多個語義相近的子話題;如果K值設置過小,則會造成多個話題被疊加生成一個話題。目前,基于主題模型的熱點話題發(fā)現方法幾乎都通過人工指定話題數目,因此如何實現自適應學習話題數目K成為一個待解決的問題。
針對微博短文本特征稀疏、高維度,以及目前基于主題模型的熱點話題發(fā)現方法需要人工指定話題數目等問題,提出基于改進BBTM模型的熱點話題發(fā)現方法H-HBTM(hot topic-hot biterm topic model)。首先,進行微博預處理,包括微博去噪、微博分詞和特征選擇等。其次,結合微博文本的突發(fā)特性和傳播特性計算詞對的熱值突發(fā)概率,將詞對的熱值突發(fā)概率作為BBTM模型的先驗概率,引入詞對的熱值突發(fā)特性,生成的話題可以排除非熱點話題。最后,借鑒文獻[18]中提出的主題相似度最小模型最優(yōu)的思想[18],設計一種基于密度的H-HBTM最優(yōu)K值選擇方法,自適應學習BBTM模型最優(yōu)主題數目。
本文主要貢獻如下:
(1)設計一種基于詞的突發(fā)性的特征選擇算法。利用詞的突發(fā)概率進行特征選擇,提取突發(fā)詞作為特征,能夠有效地去除不具突發(fā)特性的非熱點詞。
(2)提出一種詞對熱度的表征方法。詞對的熱度綜合了微博文本的轉發(fā)、評論和點贊特性以及詞對的突發(fā)特性,更全面地表示了詞對的熱度,有助于排除非熱點話題。
(3)設計一種基于密度的H-HBTM最優(yōu)K值選擇方法。自適應學習最優(yōu)話題數目,取代人工指定話題數目,克服了因話題數目設置不當,造成話題質量低下的問題。
BTM模型打破了傳統(tǒng)主題模型如LDA模型的文檔主題層,通過將文檔轉換為詞對,通過對整個語料庫的詞對建模學習主題,克服微博文本稀疏問題的同時考慮了詞之間的語義聯(lián)系,較傳統(tǒng)主題模型更好地理解微博文本信息,但BTM模型不能直接用于熱點話題發(fā)現,需要對生成的話題進行后處理,例如將BTM模型與聚類算法結合提取熱點話題。
BBTM模型為BTM模型的一種改進,是一種針對突發(fā)性話題發(fā)現的主題模型。模型的核心思想是量化詞對的突發(fā)概率,作為BTM建模的先驗知識,實現突發(fā)話題的發(fā)現。
此外,BTM和BBTM模型都需要人工指定最優(yōu)的主題數目K,并且BTM和BBTM模型對于主題數目K的變化非常敏感。目前,基于LDA主題模型的主題數確定方法較為成熟。
Blei等[19]采用困惑度(perplexity)作為主題質量的評估指標,困惑度越小的話題模型越優(yōu)。選擇困惑度最小時的話題數作為主題模型的最優(yōu)話題數,但是困惑度傾向于選擇大的主題數目,造成抽取的主題之間相似度較大,主題間的辨識度不高。曹娟等[18]深入分析了最優(yōu)主題數目與主題之間的相關性,證明了當主題之間平均余弦距離最小時,模型最優(yōu)。他們將最優(yōu)K值選擇與模型參數估計統(tǒng)一在一個框架里,提出了一種新的基于密度的最優(yōu)K值選擇方法。但是,該方法的主題向量用主題詞分布來表示,具有高稀疏性和高維度的特征,主題間相似度計算具有高復雜性。
傳統(tǒng)文本向量化常采用向量空間模型(vector space model,VSM)表示。向量空間模型表示的文本向量存在稀疏性和高維度的缺點,計算復雜,同時還忽略了詞與詞之間的語義關系。Hinton[20]首先提出詞向量的概念,詞向量將每一個詞映射成一個固定長度的密集向量,通過詞向量間的距離表示詞間的相似關系。2003年Bengio等[21]提出三層神經網絡構建語言模型,該語言模型可以根據文本的上下文內容推斷下一個詞。2013年Mikolov等[22]提出并開源了Word2Vec模型,包括CBOW(continuous bag of words model)和 Skip-gram(continuous skip-gram model)。CBOW模型輸入特征詞的上下文相關的詞對應的詞向量,輸出特征詞的詞向量。Skip-gram模型正好與CBOW想法相反,輸入一個詞的詞向量,輸出這個詞對應的上下文詞向量。
定義1(微博的傳播值)表示微博文檔d被轉發(fā)、評論和點贊的得分,如式(1)所示。該得分越高,則該微博是熱點微博的可能性越大。
其中,spreadd表示微博d的傳播值,fwd表示微博d被轉發(fā)的次數,comd表示微博d被評論的次數,topd表示微博d被點贊的次數。γ、χ、μ分別表示轉發(fā)、評論和點贊操作對微博的傳播值的影響程度。
定義2(詞的突發(fā)概率)詞w在t時刻的突發(fā)值burstw,t與歷史平均突發(fā)值burstw,history和burstw,t之和的比值表示詞的突發(fā)概率,如式(2)~式(4)所示。
其中,burstRatew,t表示詞w在t間隙的突發(fā)概率,Mt表示t間隙內的微博數目,i表示t間隙內的第i條微博,Nw,i表示t間隙內詞w在第i條微博中出現的次數,σ用于過濾低頻詞,slot表示相關時隙大小。
定義3(詞對熱值突發(fā)概率)詞對b在t時刻的熱度值hotb,t相對于歷史平均熱度值hotb,history的增長率,如式(5)~式(7)所示。
其中,hotRateb,t表示詞對熱值突發(fā)概率,δ用于過濾低頻詞對,slot表示相關時隙大小,spreadi,b指詞對所在微博的傳播值。
定義4(話題的詞向量表示)指該話題下最有代表性的m個關鍵詞的詞向量與其在該話題下分布概率之積的和。
其中,k表示話題向量,n表示話題向量維度,ki表示話題向量對應i維上的值,m表示關鍵詞數目,wij代表該話題下第j個關鍵詞的詞向量第i維上的值,ratej表示第j個關鍵詞在該話題下的分布概率。
定義5(余弦相似度)向量k和向量d的相似度Simkd用兩個向量間的余弦距離表示。
其中,ki表示k向量對應i維上的值,di表示d向量對應i維上的值。
定義6(平均話題相似度)等于兩兩話題向量間的相似度的均值。
其中,Simavg表示平均話題相似度,Simi,j表示第i個話題和第j個話題的相似度,n表示話題數量。
定義7(文檔的詞向量表示)該文檔所有詞的詞向量的平均值。
其中,d表示文檔向量,n表示文檔向量維度,di表示文檔向量對應i維上的值,m表示文檔中詞的數目,wij代表該文檔中第j個詞的詞向量第i維上的值。
BBTM模型存在未進行特征詞選擇,需要人工指定話題數目K,以及詞對突發(fā)概率只對詞對的出現頻數進行量化等問題。在改進BBTM模型中,新增特征詞選擇,采用基于密度的方法實現話題數目K的自動確定以及詞對的突發(fā)概率量化新增詞對的傳播屬性等。提出基于改進BBTM模型的熱點話題發(fā)現算法H-HBTM。
H-HBTM算法主要由5部分組成。
(1)微博文本預處理。對微博數據集進行微博去噪、分詞、去停用詞等預處理操作。
(2)特征選擇與詞對熱值概率化。采用詞的突發(fā)概率進行特征選擇,將微博短文本表示成詞對集,并計算詞對的熱值突發(fā)概率,作為BBTM模型的先驗概率。
(3)話題數目K的自動確定。采用基于密度的H-HBTM最優(yōu)K值選擇方法選擇BBTM模型的最優(yōu)K值,確定最優(yōu)BBTM模型。
(4)基于最優(yōu)BBTM模型的熱點話題發(fā)現。
(5)微博聚類。判定每個微博文本的話題。
以下各節(jié)分別對這5部分進行詳細闡述。
文本預處理的目的在于降低數據噪聲,為微博文本的建模做準備。文本的預處理工作主要包括按創(chuàng)建日期對微博分片、去除噪聲微博、微博分詞、詞性標注、去停用詞等。
微博熱點話題是指在短時間內被大量微博用戶高度關注的話題,熱點話題具有時間性和突發(fā)性。因此對微博文本進行建模前需要將微博按時隙劃分,在H-HBTM算法中,將微博按照創(chuàng)建的日期進行分片。
噪聲微博指微博內容與熱點話題無關的微博。噪聲的存在會干擾話題發(fā)現過程,降低話題質量。噪聲微博的共性是被轉發(fā)、評論和點贊的概率很小。因此可以根據式(1)計算每條微博的傳播值,將傳播值為0的微博標注為噪音微博并剔除。
分詞和詞性標注利用HanLP開源工具實現,為了分詞過程中能夠發(fā)現新詞,分詞時將微博中#之間的詞提取出來,加入到詞庫中。去停用詞指去除對熱點話題發(fā)現意義不大的詞以及非中文字符的詞,留下名詞、動詞、形容詞等對熱點話題發(fā)現有意義的詞。
4.2.1 特征選擇
微博中的詞可以分為熱點詞和非熱點詞。熱點詞是指與熱點話題相關的詞,在文本中出現的頻數具有短期突增的特點,即具有突發(fā)性。利用詞的突發(fā)特性選擇微博特征,選擇突發(fā)概率大于某一閾值的詞作為微博的特征。
基于詞突發(fā)性的特征選擇的基本過程如下。
算法1基于詞突發(fā)性的特征選擇
輸入:分詞后的文本集text,詞突發(fā)概率閾值ε,相關時隙大小slot。
輸出:文本特征集features。
1.根據式(3)計算每個詞在t時隙內突發(fā)值。
2.根據式(4)計算每個詞在與t時隙相關的slot個時隙中的歷史突發(fā)值。
3.根據式(2)計算詞的突發(fā)概率。
4.判斷每個詞的突發(fā)概率是否大于閾值ε,如果是,將詞加入特征集features。
4.2.2 詞對熱值概率化
BBTM模型將詞對的突發(fā)概率作為先驗知識,進行突發(fā)話題的發(fā)現,其中的突發(fā)值只考慮了文本中詞對的出現頻數。熱點話題相關的微博不僅僅表現為相關的微博數變多,還表現為相關的微博被轉發(fā)、評論和點贊的次數增多。熱點詞對是微博的組成部分,也具有突發(fā)性和傳播性。改進BBTM模型中用詞對的熱值突發(fā)概率取代突發(fā)概率作為BBTM模型的先驗知識,傳入BBTM模型中,排除非熱點話題。詞對的熱值綜合詞對的突發(fā)性和傳播性,既考慮詞對在文本中的出現次數,也考慮詞對所在微博的傳播值,更好地表示詞對的熱值。
詞對熱值概率化的基本過程如下。
算法2詞對熱值概率化
輸入:特征選擇后的文本集textFe,相關時隙大小slot。
輸出:詞對以及詞對熱值概率binaryTermsHot。
1.統(tǒng)計詞對,微博文本中的每個詞與其前后10個詞分別構成詞對。
2.根據式(7)計算每個詞對在t時隙內熱值。
3.根據式(6)計算每個詞對在與t時隙相關的slot個時隙中的歷史熱值。
4.根據式(5)計算詞對的熱值概率。
BBTM模型的話題數目K的自動確定,遵循主題相似度最小主題最優(yōu)的原則,尋找平均話題相似度最小時的話題數。改進文獻[18]中的基于密度的自適應最優(yōu)LDA模型的選擇方法,采用詞嵌入的方式來表示話題向量,通過將話題向量的維度控制為200維,大大降低了話題相似度計算的復雜程度。改進方法稱為基于密度的H-HBTM最優(yōu)K值選擇方法。H-HBTM算法中的詞嵌入模型采用Word2Vec中基于負采樣的Skip-gram詞向量訓練模型。基于密度的H-HBTM最優(yōu)K值選擇方法,首先,初始化話題數K。其次,調用BBTM模型生成話題以及話題詞,計算所有話題之間的相似度以及平均話題相似度。比較平均話題相似度與歷史話題相似度的大小,如果平均話題相似度大于歷史話題相似度,則下一輪話題的變化方向則與本輪相反(初始變化方向為減),然后統(tǒng)計每個話題的話題密度即與該話題的話題相似度小于平均話題相似度的話題數,統(tǒng)計噪聲話題數即話題密度小于K/3的話題數,接著根據話題的變化方向將話題數加或減噪聲話題數,得到下一輪的話題數,一直重復直至話題數不再改變或者達到最大迭代數。
基于密度的H-HBTM最優(yōu)K值選擇方法的基本過程如下。
算法3基于密度的H-HBTM最優(yōu)K值選擇
輸入:詞對及其對應的熱值概率集binaryTermsHot,最大迭代次數Kit。
輸出:話題數K。
1.隨機初始化話題數目K,K∈(20,60)。設置標志位flag=-1,用于記錄話題數的變化方向,設置歷史話題相似度為simHis=1,最優(yōu)話題數topic=K,最優(yōu)相似度simBest=1。
2.調用BBTM模型生成話題和話題詞,根據式(9)~式(11)計算平均話題相似度simAvg。
3.判斷平均話題相似度simAvg與歷史話題相似度simHis的大小。如果simAvg大于simHis,flag變?yōu)槠湎喾磾?,否則保持不變。
4.更新當前最優(yōu)話題數和最優(yōu)話題相似度。如果simBest>simAvg,則simBest=simAvg,simHis=simAvg,topic=K。
5.統(tǒng)計每個話題的話題密度,即與該話題相似度小于平均相似度的話題數。
6.計算噪聲話題數C,即話題密度小于K/3的話題數。
7.更新話題數K,K=K+flag×C。
8.重復步驟2~7,直至話題K不再改變時返回K,或者Kit達到最大時返回最優(yōu)話題數topic,函數結束。
H-HBTM算法的第4部分是利用最優(yōu)K值和詞對熱值概率化產生的詞對及其熱值突發(fā)概率對微博詞對集進行BBTM建模,以獲取微博熱點話題及所對應的話題詞分布。
微博聚類將每個微博文本歸入其所屬的熱點話題。聚類的思想是將每個微博文本歸入相似度最大的熱點話題中。聚類的方法:首先,計算微博文本的文本向量與所有熱點話題向量的余弦相似度。其次,選擇余弦相似度大于閾值且最大時對應的熱點話題作為該微博的話題。
基于詞嵌入的微博聚類算法基本過程如下。
算法4基于詞嵌入的微博聚類算法
輸入:微博集textFe,話題集topics。
輸出:微博及其所屬的話題。
1.根據式(13)獲取微博文本的文本向量。
2.計算該文本的文本向量與所有熱點話題向量的余弦相似度。
3.選擇相似度最大并且大于0.5的熱點話題作為該文檔所屬的熱點話題,如果未找到符合的熱點話題,則該微博屬于非熱點微博。
首先分析算法的時間復雜度。設每個時隙微博文檔共有M篇,詞對數量NB,詞數量NW,BBTM模型迭代次數Nit,最優(yōu)K值選擇迭代次數Kit。一條微博中文字符個數dw,詞個數dp。t表示第t個時隙,s表示相關時隙大小。
在微博文本預處理中,微博分片時間復雜度為O(tM),微博去噪的復雜度O((s+1)M)=O(sM),每條微博分詞的復雜度是,去停用詞的時間復雜度為dp。因此微博文本預處理的時間復雜度為O(tM+
在特征選擇與詞對熱值概率化中,特征選擇的時間復雜度O((s+1)NW)=O(sNW),詞對熱值概率化中,統(tǒng)計詞對時間復雜度O((s+1)M(dp×10))=O(sMdp)。t間隙內的詞對熱值計算O(NB),歷史詞對熱值計算O(sNB),突發(fā)熱值概率計算的時間復雜度為O(NB),因此特征選擇與詞對熱值概率化的時間復雜度為O(sNW+sMdp+(s+2)NB)=O(s(NW+Mdp+NB))。
在話題數目K的自動確定方法中,BBTM模型的時間復雜度為O(Nit(K+1)NB)=O(NitKNB),最優(yōu)K選擇的迭代次數為Kit。因此,自動確定K的時間復雜度為O(KitNitKNB)。
基于最優(yōu)BBTM模型的熱點話題發(fā)現的時間復雜度為O(NitKNB)。微博聚類的時間復雜度為O(MK)。
接下來分析算法的空間復雜度。微博文本預處理中,需要的存儲空間為O((s+1)M)=O(sM)。特征選擇與詞對熱值概率化計算時需要存儲特征集合、預處理后的文本、相關時隙詞對集及其熱值、t時隙的詞對和熱值以及熱值概率,空間開銷O(NW+(s+1)M+2sNB+3NB)=O(NW+s(M+NB))。話題數目K的自動確定方法和基于BBTM模型的熱點話題發(fā)現方法需要的存儲空間均為O((K+1)(1+NW)+2NB)=O(KNW+NB)。微博聚類需要存儲t時隙的微博,其空間復雜度為O(M)。
綜上所述,H-HBTM算法的空間復雜度為O(sM+NW+s(M+NB)+2(KNW+NB)+M),由于在熱點話題發(fā)現過程中slot,t,M,K<<NW,因此算法總的空間復雜度為O(NW+NB)。
(1)話題質量評估
話題質量評估指標采用Mimno等[23]提出的CS(coherence score)指標。CS值越大,表示生成的話題質量越好,CS計算公式如下所示。
評估話題集的整體質量采用ACS(average coherence score)指標,其計算公式如下所示。
(2)熱點話題精度評估
F值是信息檢索中一種結合查準率(precision,P)和查全率(recall,R)的平衡指標,F值越大表明熱點話題抽取效果越好。
式中,Fi表示話題i的F值,Pi表示話題i的查準率,TPi表示屬于話題i的文本中被正確識別的文本數,FPi表示不屬于i話題被錯誤識別為i話題的文本數目,TPi+FPi表示被算法識別為i話題的文本數,查準率反映熱點話題聚類的準確率。Ri表示話題i的查全率,FNi表示屬于話題i的文本被錯誤識別為其他話題的個數,TPi+FNi表示真正屬于i的文本數,查全率反映話題聚類的全面性。F是查全率和查準率的綜合指標,β是F值的調和參數,一般取β=1。
實驗數據采用八爪魚軟件隨機抓取從2018年1月20日至2018年1月24日的微博,共計30 000多條構成本實驗原始數據,用于發(fā)現1月24日的微博熱點話題。每天的數據分布如表1所示。其中,每條微博數據由微博內容、微博創(chuàng)建時間、轉發(fā)數、評論數和點贊數構成。
Table 1 Time distribution of experimental data表1 實驗數據時間分布說明
根據參考文獻[14],LDA的參數取值為alpha=0.05,beta=0.01。BTM、BBTM和H-HBTM參數取值為alpha=50/K,K為話題數,beta=0.01。所有方法的迭代次數均設置為2 000次。H-HBTM的其余參數的取值為slot=4,δ=1,γ=0.7,χ=0.2,μ=0.1。
在本節(jié)中,對H-HBTM的參數、話題數目K的自動確定、話題質量和微博聚類進行了實驗,以驗證提出的H-HBTM算法的有效性。
(1)算法參數實驗
H-HBTM算法特征選擇參數熱詞突發(fā)概率閾值ε選取會影響最終話題的質量。ε取值范圍(0,1),如果ε取值過大則會缺失部分熱點詞,如果ε取值過小,則無法完全過濾非熱點詞,兩者都會影響話題質量。因此進行了參數ε變化對話題質量影響的實驗。實驗結果如圖1所示。實驗結果ACS指標越大表示話題質量越好,由于實驗結果所得的ACS值都是負數,取它的相反數為縱坐標畫圖,因此結果值應取最低點。從圖中所知,參數ε取0.4時,話題質量得分相反數最小,說明此時生成的話題質量最好,因此實驗中參數ε的取值為0.4。
Fig.1 Experimental results of parameterε圖1 參數ε的實驗結果
(2)話題數目K的自動確定實驗
H-HBTM算法中采用基于密度的H-HBTM最優(yōu)K值選擇方法稱為KHBTM,用于確定話題數目K。為了證明該方法的有效性,將其與原方法基于密度的自適應最優(yōu)LDA模型的選擇方法(KLDA)進行比較。
圖2為KHBTM和KLDA自適應學習話題數目K過程中的平均話題相似度的變化過程。從圖中可以看出,兩種方法都是話題數目為35時,平均話題相似度最低,與人工標注的熱點話題數目一致。多次實驗的結果顯示KHBTM和KLDA兩種方法判定的話題數目與真實數目有時會存在誤差,但是誤差范圍不超過±3。因此,基于密度的H-HBTM最優(yōu)K值選擇方法能夠較好地確定話題數目K。
Fig.2 Performance on selecting K of KHBTM and KLDA圖2KHBTM和KLDA方法選擇K的性能表現
接下來比較兩種方法的運行時間,話題數設置為(10,20,…,100),總共10組進行實驗。在相同的話題數目下,比較兩種方法迭代一輪所耗用的時間。
圖3顯示KHBTM和KLDA兩種方法在不同話題數目下迭代一輪所消耗的時間。由圖3可知,KHBTM和KLDA兩種方法隨著話題數的增加,耗用的時間都是總體呈增長趨勢。其中,KHBTM耗時比KLDA耗時略少,主要是因為KLDA采用話題分布作為話題的向量,維數與微博文本中的特征詞個數相同,一般可達上萬維。而KHBTM中,話題向量采用Word2Vec詞嵌入的方式表示,將話題向量維數控制為200維,大大降低了話題向量維度,使得每輪迭代過程中話題相似度計算時間縮短。
Fig.3 Running time cost of adaptively learning topics K圖3 自適應學習話題數目K的運行時間
(3)話題質量實驗
將H-HBTM與基于BTM、LDA和BBTM的熱點話題發(fā)現方法進行對比。因為BTM適用于主題提取,直接使用BTM模型生成的話題不一定是熱點話題。因此,在進行BTM建模前,增加與H-HBTM相同的微博去噪操作,過濾噪聲微博,以實現熱點話題發(fā)現。稱增加微博去噪的BTM方法為H-BTM(hotbiterm topic model)。LDA和BBTM模型均做相似處理,處理后的方法分別稱為H-LDA(hot-latent Dirichlet allocation)和H-BBTM。實驗中,話題數目K設置為人工標注的話題數35。將上述方法生成的熱點話題集中的每個話題z有關的詞w按照P(w|z)降序排列,選擇靠前的T個詞依據式(14)計算話題z的質量得分。然后按照式(15)對每種方法生成的所有話題質量得分求平均值,作為該方法的話題質量得分。
表2給出四種方法生成的熱點話題的質量得分情況。從表2可以看出:H-LDA生成的話題質量最差,因為微博短文本篇幅短小,提供的信息量較少,且缺少上下文的信息,利用LDA模型分析微博短文本數據時就容易造成數據稀疏性的問題。而H-BTM、H-BBTM和H-HBTM算法的底層都是基于BTM主題模型。BTM主題模型對所有微博所包含的詞對集建模,克服了短文本的數據稀疏性問題,因此對短文本的處理能力優(yōu)于LDA。H-BBTM算法效果高于HBTM,表明考慮詞對的突發(fā)概率有助于提升話題的質量。H-HBTM算法話題質量得分優(yōu)于H-BBTM,表明微博的轉發(fā)、評論等傳播特性對熱點話題發(fā)現具有積極作用。這主要是由于微博的傳播特性加大了熱點詞對對熱點話題的貢獻度,降低了非熱點詞對對熱點話題發(fā)現的干擾程度。因此,生成的話題質量更優(yōu)。
Table 2 Topic quality score表2 話題質量得分
為了更加直觀地對實驗結果進行比較,以話題“朝天門纜車原址復建”和“王菲那英重逢”為例,分別列出人工標注生成的熱點詞匯以及采用H-LDA、HBTM、H-BBTM和H-HBTM方法所得的排在前10位的熱點詞匯。結果如表3所示。
從表3可以看出,與人工標注的話題詞集相比,H-LDA得到的詞集中含有較多無關詞。H-BTM產生的詞存在少量干擾詞,如朝天門纜車今年原址復建話題中提取的“搜索”“搜尋”,同時,那英王菲重逢話題中存在話題重疊問題,它與鹿晗、關曉彤、李易峰春晚邀約話題重疊,主要是由于數據集中前者話題有關的數據量比后者小很多,以致于無法將那英王菲重逢話題單獨提取。H-BBTM利用詞對的突發(fā)概率克服了數據量小的話題易產生話題重疊的問題,同時提取的詞中不存在無關詞,但是仍存在少許非熱點詞如朝天門纜車今年原址復建話題中的“正式”以及那英王菲重逢話題中的“完成”“傳出”。HHBTM提取的話題詞基本與人工標注集一致,能夠覆蓋整個話題表述,也解決了數據量小的話題易產生話題重疊的問題。
為了比較每種方法產生的熱點話題詞的效果,將每種方法提取的熱點話題詞集與人工標注的熱點話題詞集進行比較,將兩者公有詞個數作為該方法在話題上得分,兩個話題的得分的平均值作為方法的最終得分,得分越高表明該方法生成的熱點話題集與人工標注生成的話題集越接近,即效果越好。表4給出了H-LDA、H-BTM、H-BBTM和H-HBTM方法的最終得分。
由表4可知,四種方法中,H-HBTM的得分最高,可以得知,它得到的話題詞與人工標注的最接近。綜上所述,H-HBTM可以更加準確有效地提取各熱點話題下的熱點詞。
Table 3 Topic words from different methods表3 不同方法所得的話題詞
Table 4 Score from different methods表4 不同方法所得的話題得分
(4)微博聚類實驗
在微博聚類實驗中,將H-HBTM與H-LDA、HBTM和H-BBTM進行對比。H-HBTM采用基于詞嵌入的微博聚類算法,H-LDA、H-BTM和H-BBTM則選擇模型產生的文本話題分布中分布概率最高的話題,作為微博文本的話題。圖4為H-HBTM與HLDA、H-BTM和H-BBTM話題發(fā)現算法在所爬取的微博數據集上的實驗結果。
Fig.4 Comparison of average accuracy of 4 differentmethods圖4 四種不同方法的平均精度比較
P_Avg、R_Avg和F_Avg分別指平均查準率、平均查全率和平均F值,是所有話題的對應指標上的平均值。從圖4可以看出:H-HBTM的平均查準率、平均查全率以及兩者的綜合指標平均F值均略高于其他算法,這主要是由于H-HBTM提取的話題詞質量較優(yōu),因此話題聚類結果也較好。故H-HBTM算法能夠更加準確有效地挖掘熱點話題。
本文提出了一種基于改進BBTM模型的熱點話題發(fā)現方法H-HBTM,用于發(fā)現微博中的熱點話題。H-HBTM綜合了微博文本的轉發(fā)和評論等傳播特性以及詞對的突發(fā)特性以更好地表征詞對的熱度,用詞對的熱值概率代替BBTM模型中的詞對的突發(fā)概率,實現熱點話題發(fā)現。采用基于密度的最優(yōu)K值選擇方法,實現自適應學習H-HBTM算法的話題數目,使得熱點話題發(fā)現算法的話題數目無需人工指定。在抓取的數據集上的實驗表明:H-HBTM相比H-BTM、H-BBTM能夠更準確地提取熱點話題。未來的工作將考慮在并行計算框架上實現HHBTM的并行熱點話題發(fā)現。同時,通過跟蹤話題的產生、發(fā)展以及消亡過程,實現熱點話題的演化追蹤。