李豐男,孟祥茹,焦艷菲,張琳琳,劉 念
1(中國科學院大學計算機控制與工程學院,北京 100049)
2(中國科學院 沈陽計算技術研究所,沈陽 110168)
3(沈陽高精數控智能技術股份有限公司,沈陽 110168)
隨著計算機技術和互聯網的迅速發展,越來越多的人習慣于通過互聯網了解社會熱點,借助互聯網發表個人的意見、看法和主張.互聯網已成為人們獲取信息、發表意見、維護權益的重要場所.因而,如何監管輿情事件在互聯網上的傳播已成為一個具有現實意義的重大問題.網絡輿情具有傳播速度快、影響力大、參與性強的特點,網民們的態度極易受到網絡輿情傳播方向的影響.話題檢測技術正是在這種情況下應運而生的.它不僅能夠幫助用戶及時從海量數據中獲取自己感興趣的話題信息,更能夠幫助政府有關部門及時了解社會熱點事件,掌握社會輿論的方向,這對于有效引導輿論、落實相關政策具有重大意義.
話題檢測技術主要分為兩大重要部分,一是文本表示,二是話題聚類.文本表示是話題檢測的基礎.傳統的向量空間模型存在復雜度高、特征稀疏、噪聲干擾嚴重等問題.為了解決這些問題,眾多學者從不同方向進行了各種嘗試.路榮等[1]利用LDA 話題模型有效解決了短文本的數據稀疏問題.肖倩等[2]將LDA主題模型與卷積神經網絡相結合,擺脫了對語義信息的過度依賴.李新盼[3]利用基于改進的Word2Vec和tfidf的文本表示模型,有效解決了傳統文本表示模型映射出的向量高維稀疏性和忽略語義相似度的問題.但上述文本表示模型均只解決了某一方面的問題,而未考慮盡可能包含全部文本信息.在話題聚類方面,陳艷紅等[4]提出了一種基于信息熵和密度改進的k-means聚類算法,降低了孤立點對算法性能的不利影響.趙楊[5]將“話題簇代表”這一概念引入到Single-Pass聚類算法中,降低了Single-Pass聚類算法的計算量.傳統的聚類算法在話題檢測方面有著諸多應用,但神經網絡聚類在該方面的應用卻較少.
針對以上問題,本文提出了一種基于Single-Pass聚類和SOM神經網絡聚類的話題檢測方法.該方法利用詞向量獲取文本的語義信息,利用LDA 話題模型獲取文本的主題信息,有效克服了文本聚類過程中特征維數高、數據稀疏的問題.并考慮到時間推移對話題興趣點的影響,引入了時間衰減因子.同時,將Single-Pass聚類和SOM聚類相結合,利用了Single-Pass聚類運算速度快且不需要提前設定聚類個數的優點,先獲得模糊聚類個數和權值矩陣,并將其作為SOM聚類的初始神經元個數和連接權向量,解決了SOM神經網絡聚類需要提前確定初始神經元的問題,進一步提高了話題檢測的準確率和效率.
詞向量是由Hinton[6]提出的一種詞語的特征表示,它的基本思想是通過對大量未標注的文本數據進行無監督的語言模型訓練,將詞語表示成一組低維實數向量,以此來刻畫詞語的語義特征.Word2Vec是由Google于2013年發布的詞向量訓練工具,它能夠從大規模未經標注的語料中高效地生成詞的向量形式.該模型可以通過減少訓練過程中所需要的參數,避免過擬合,提升了訓練效率.因而本文為了獲取文本的語義信息,同時避免詞向量的訓練過程過于復雜,采用了Word2Vec詞向量方法進行文本的向量化表示.
潛在狄利克雷分布(Latent Dirichlet Allocation,LDA)模型是由 Blei 等[7]于 2003年提出的一種貝葉斯概率模型.該模型具有優秀的話題建模能力,能夠有效實現文本的降維表示,這些都促使其在話題檢測領域得到了廣泛應用.
LDA模型是一個3層的文檔生成模型,主要結構包括文檔、主題、詞.該模型基于這樣的假設:每個文檔都是由多個隱含主題構成的,而每個主題又是由多個相關詞匯構成的,其拓撲結構如圖1所示.

圖1 LDA 拓撲結構圖
對于LDA主題模型,在僅給定文本數據集的情況下,可以采用Gibbs 采樣對模型未知參數進行估計,進而得出文檔-主題分布和主題-詞分布.
由于基于詞匯級別的語義特征向量只能對文本的淺層語義分布特征進行表示,缺乏對主題信息的具體描述.而基于LDA模型的主題特征向量恰好能對語義特征向量在特征表示上的不足進行補充.因此,本文采用多特征融合的方法結合了文本的主題特征和語義特征,使得最終求得的文本相似度中綜合考慮了文本的主題及語義信息,具體過程如下所示:
(1)采用LDA主題模型獲取文本的主題特征,根據主題特征采用JS距離來計算各文本主題分布的相似度.利用JS距離公式計算文檔p=p1,p2,···,pn和文檔q=q1,q2,···,qn的主題相似度simLDA(p,q)如下:

其中,p和q為兩個文本的主題概率向量,DKL(p,q)為KL距離.由于其計算距離時不滿足相似度對稱性,因此一般采用JS距離計算相似度.
(2)采用Word2Vec詞向量模型獲取文本的語義特征,根據語義特征采用余弦相似度來計算文本相似度.利用余弦相似度公式計算文檔p=p1,p2,···,pn和文檔q=q1,q2,···,qn的語義相似度simW2V(p,q)如下:

(3)采用加權融合的方法結合文本的主題相似度和語義相似度,文檔p=p1,p2,···,pn和文檔q=q1,q2,···,qn的文本相似度sim(p,q)的具體計算公式如下:

其中,α和β分別表示simLDA(p,q)和simW2V(p,q)的權值,α+β=1.
(4)時間衰減因子同樣是判斷兩個文本是否屬于同一話題的重要因素.兩個文本的發布時間相隔越遠,這兩個文本屬于同一話題的可能性就越低,那么,就應該賦予較低的權重.這是因為話題是具有一定生命周期的.對于大眾用戶來說,隨著時間的推移其對該話題的興趣點會慢慢淡化或者轉移到新的話題上.因此,本文根據牛頓冷卻定律設計了時間衰減因子,用來表示大眾對話題興趣的下降.本文設計時間衰減因子的計算公式如下:

其中,t0,t分別表示兩個文本的發布時間,k為衰減率,表示大眾對話題興趣的下降速度.
將該時間衰減因子引入到本文的文本相似度計算中,得到最終的相似度計算公式:

Single-Pass算法是一種增量聚類算法,它計算簡單,運行速度快,且不需要預先指定聚類個數,常應用于大規模文本聚類.其基本思想是:按照一定的順序輸入文本,將第一個輸入的文本作為第一個話題簇,當后續文本繼續輸入時,判斷輸入文本與已有話題簇的相似度,選擇輸入文本與已有某個話題簇的最大相似度,并判斷是否滿足相似度閾值要求,滿足則把輸入文本歸入到最大相似話題簇,反之則說明輸入文本與已有話題簇均為不同類別,那么創建新的話題簇,重復上述過程直到所有的文本處理結束.
雖然Single-Pass算法簡單易懂,并且在處理流數據時極具優勢,但它也存在一些缺點:
(1)輸入順序對聚類結果的影響程度很大.對于相同的文檔集合,不同的輸入順序很可能會導致不同的聚類結果.
(2)聚類精度較低.Single-Pass聚類算法僅僅遍歷文本一次,如果聚類結果出現偏差,無法動態更新.
針對以上提出的不足,本文對該算法做了以下改進:
(1)在輸入待聚類文本之前,按照文本發布時間對其進行排序,這符合話題的演變過程,以此來減少不同輸入順序對聚類結果的影響.
(2)因Single-Pass聚類算法聚類精度較低,本文僅使用該算法進行粗聚類,獲取模糊聚類個數和中心點位置,作為后續SOM神經網絡算法的初始化參數.
自組織特征映射神經網絡(Self-Organizing feature Map,SOM)是由Kohonen[8]提出的一種無監督的競爭學習型前饋網絡.該模型能夠通過神經網絡學習獲得數據的重要特征或內在規律,從而將數據劃分到不同的區域,達到對數據聚類的效果.SOM神經網絡的網絡結構僅由輸入層和競爭層(輸出層)構成.輸入層的每一個神經單元均與競爭層的每一神經單元相連接,構成全互連的結構,從而保證了輸入層獲取到的全部信息均能傳輸到競爭層.其神經網絡結構如圖2所示:

圖2 SOM神經網絡結構圖
SOM神經網絡的訓練過程主要分為競爭、合作和權值調整這3個階段.其算法流程圖如圖3.

圖3 SOM算法流程圖
SOM神經網絡聚類算法網絡結構較為簡單,學習速度快,具有較強的泛化能力,適用于大規模數據的聚類.但該模型也有一定的缺點,在傳統的SOM神經網絡聚類算法中,其權值的初始值是通過隨機選擇產生的,這在一定程度上會影響該模型的聚類效果.因此,在初始化參數階段,本文提出采用Single-Pass聚類算法先進行粗聚類,得到話題聚類的中心點,將其作為SOM神經網絡聚類算法權值的初始值,使用SOM神經網絡聚類算法進行細聚類,得到最終的聚類結果.具體流程如下:
(1)按照文本的發布時間順序輸入待聚類的文本向量,執行Single-Pass算法,得到初始聚類數目K和初始權值矩陣M.
(2)將文本向量輸入到SOM神經網絡進行訓練,該神經網絡采用Single-Pass算法確定的聚類數目K以及對應的權向量作為初始神經元個數和權向量.
(3)獲得Single-Pass-SOM組合聚類的結果,并在此基礎上進行相關分析.
Single-Pass-SOM組合聚類算法結合了 SOM網絡和Single-Pass算法的優點,同時彌補了各自的缺陷,是一種較為理想的聚類方法.
基于Single-Pass-SOM組合聚類算法,本文構建了話題檢測模型.具體流程如圖4所示.

圖4 話題檢測算法流程圖
本文的實驗數據為通過網絡爬蟲爬取的來自20個政府新聞門戶網站以及新浪微博可供訪問的從2018年12月到2019年4月的相關政策、政務新聞,共約10萬條文本數據.
通過網絡爬蟲獲取到的原始數據含有大量的臟數據,因此本文對獲取到的實驗數據進行了必要的預處理操作,包括去除重復文本數據、分詞、去除停用詞、去除特殊符號等操作.
在話題檢測中常用的評價指標包括準確率(P)、召回率(R)、F1值.F1值是召回率和準確率的幾何加權均值,可以更精確地衡量話題檢測的精度,F1值越大,話題檢測效果越好.計算公式如下:

其中,TP代表已檢測到的正確的文檔數,FP代表已檢測到的不正確的文檔數,FN代表未檢測到的正確的文檔數.
3.3.1 不同文本表示模型對實驗結果的影響
本實驗分別選用LDA主題模型,Word2Vec詞向量模型,LDA&&Word2Vec模型和本文提出的基于時間衰減因子的LDA&&Word2Vec文本表示模型進行性能對比.在實驗過程中,首先采用這4種模型實現文本的向量表示,再使用Single-Pass-SOM組合聚類模型進行文本話題檢測,并計算話題檢測的準確率、召回率和F1值,最后,對實驗結果進行比較分析,驗證本文提出的文本表示模型的有效性.實驗結果如圖所示,圖5為不同話題下4種文本表示模型話題檢測結果的準確率、召回率和綜合指標F1值.

圖5 文本表示模型話題檢測結果的P、R和F1值
從圖5可以看出本文提出的基于時間衰減因子的LDA&&Word2Vec文本表示模型無論是在準確率上,還是在召回率上均優于其他3種文本表示模型.從F1值上看,單獨的LDA模型和Word2Vec詞向量模型實驗結果差異不大,分別為73.3%和74.6%.而將這兩種文本表示模型相結合的LDA&&Word2Vec模型,由于綜合了這兩種模型的優點,既通過LDA主題模型獲取了文本的主題信息,又通過Word2Vec詞向量模型解決了文本數據稀疏和向量高維的問題,其F1值提高了8.97%.同時,在LDA&&Word2Vec模型的基礎上加入時間衰減因子,考慮到了時間對話題檢測效果的影響,其F1值又提高了3.44%.
3.3.2 不同方法實驗結果對比
本實驗在對文本數據采用基于時間衰減因子的LDA&&Word2Vec模型進行文本向量表示的基礎上,對Single-Pass聚類模型、SOM神經網絡聚類模型和Single-Pass-SOM組合聚類模型3種聚類模型分別進行實驗,并對實驗結果進行比較分析.實驗結果如圖所示,圖6為不同話題下3種聚類模型話題檢測結果的準確率、召回率和綜合指標F1值.

圖6 聚類模型話題檢測結果的P、R和F1值
從圖6可以看出,本文提出的Single-Pass-SOM組合聚類模型相比于單獨的Single-Pass模型和SOM模型,其在準確率、召回率和F1值上均有更好的表現.其在準確率上提高了6%~7%,在召回率上提高了6%,在綜合指標F1值上有5%~7%的提高.原因在于Single-Pass-SOM組合聚類模型使用Single-Pass聚類模型解決了SOM神經網絡模型初始化神經元設定的問題,同時又用SOM神經網絡模型提高了Single-Pass聚類模型的話題檢測的精度.
本文提出的Single-Pass-SOM組合聚類模型,采用LDA主題模型和Word2Vec詞向量模型從文本數據中獲取更高階的文本特征,以此來解決特征維度高、文本數據稀疏、主題不明顯的問題,并引入了時間衰減因子,綜合考慮了時間對話題興趣衰減的影響.同時,很好地將Single-Pass聚類模型和SOM神經網絡模型結合起來.實驗結果表明,相對于單獨的Single-Pass聚類和SOM神經網絡聚類的話題檢測方法,Single-Pass-SOM組合聚類模型在準確率、召回率和F1值上均有明顯提高.