閆俊伢,馬尚才
(1.山西大學商務學院 信息學院,太原 030031;2.山西財經大學 信息管理學院,太原 030006)
隨著互聯網技術的快速發展,移動網絡媒體逐漸成為人們獲取和發布信息的主流渠道。多種形勢的新型網絡媒體迅速發展為當下主流的網絡媒介之一,如微信社區、QQ、微博、知乎論壇等。微博作為一種新型的網絡交流媒體,讓用戶以十分便捷的方式及時分享短文本、圖片或者短視頻等內容,受到了大量網民的關注和喜愛[1-4],微博用戶數量和數據量均呈現出爆炸式增長狀態。微博正在逐步取代傳統的媒體,成為廣大網民和青少年群體獲取和交流信息的主要途徑,并對社會產生一定的影響。在這種情況下,如何有效地從海量的微博數據中快速、準確地獲取社交媒體中用戶對各種突發事件的認識、態度、情緒,及時獲取政府工作所需要的網絡輿情信息[5-6]成為了政府部門迫切需要關注的問題。
微博輿情是指微博用戶由于微博信息的刺激而產生的對信息的一種情感。目前,已經出現了不少針對微博輿情的研究成果。文獻[7]對3種不同輿情主題下的微博用戶行為進行了聚類分析,發現信息傳播中的微博用戶基本可分“一般關注”型、“主動參與”型、“信息傳播”型3類。“一般關注”型用戶通常人數眾多,他們多為輿情信息的接受者。文獻[8]考慮微博用戶權威性以及主題詞的時間段相關特性,對微博文本和主題詞的熱度進行了聯合排序并互相增強,使用主題詞組合支持度作為閾值對熱度序列中的主題詞進行聚類以表征熱點話題。文獻[9]提出了一種基于文本平均相似度的K-Means算法,通過對每個文本的平均相似度計算和排序,以文本平均相似度值為標準來選擇初始聚類中心點。傳統的向量空間模型難以準確度量文本間的相似度,文獻[10]使用LDA主題模型有效解決數據稀疏性問題,并通過聚類算法最終發現熱點話題。
通過分析上述研究發現,LDA主題模型和K-Means算法在文本主題數據挖掘方面均表現出較好的性能,因此本文將兩者相結合來實現微博輿情話題識別與追蹤,采用LDA模型進行微博數據的文本表示。最后,采用基于遺傳優化的K-means算法進行聚類分析,提高了聚類結果的準確率和穩定性。此外,為解決現有研究文獻中較少涉及的微博數據的高維、稀疏等問題,對微博數據以特征詞匯選擇的方式進行改進,優先選擇時間片內詞頻統計較高(包含信息量較大)的詞匯作為特征詞匯,從而降低向量空間的維數,提升運行效率。實驗結果驗證了提出方法的有效性和準確性。
本文首先對現有的話題識別與跟蹤方法進行分析,重點介紹基于劃分的本文聚類算法。話題識別與跟蹤方法的基本流程如圖1所示,主要包括7個部分。其中特征詞匯提取、文本向量表示和文本聚類是本文的研究重點。
目前,文本聚類可以分為4個類型:① 基于網格的聚類分析;② 基于層次的聚類分析;③ 基于劃分的聚類分析;④ 基于密度的聚類算法。
現階段主流的文本聚類方法是采用基于劃分的聚類分析,其執行流程如圖2所示。基于劃分的聚類分析算法中最典型的是K-means聚類算法,它是一種無監督的聚類算法,實現較簡單,聚類效果較好,因此應用十分廣泛。

圖1 話題識別與跟蹤方法的基本流程

圖2 基于劃分的聚類算法的執行流程
微博話題識別的本質是文本聚類挖掘的應用,即基于文本聚類的數據挖掘目標是從大量文本信息里發現知識。文本挖掘可以看作是一種機器學習的過程,本文采用文本數據挖掘的步驟如圖3所示,完成知識模式評估后可以實現知識模式的輸出。

圖3 文本數據挖掘的步驟
從圖1、3中可以看出:文本預處理是文本挖掘必不可少的環節,也是文本實驗處理的第1步,其目的是刪除原始文本數據中的無用信息。本文預處理主要包括噪音數據過濾、中文分詞和停用詞處理。
1)噪音數據過濾:主要過濾微博信息中各種表情、符號或鏈接文本,并過濾掉字數低于10個字的微博文本。
2)中文分詞:采用由中國科學院計算技術研究所開發的基于多層隱碼模型的漢語詞法分析系統ICTCLAS(institute of computing technology,Chinese lexical analysis system),其分詞系統詞性標注集如表1所示。

表1 ICTCLAS分詞系統詞性標注集
3)停用詞處理:刪除對文本內容識別意義不大的語氣助詞、副詞、介詞等中英文停止詞表(stop word)。例如,日常用語中的“在”“里面”“也”“的”“它”“為”等。
選擇Term Frequeney-Inverse Doeument Frequeney(TF-IDF)方法作為文本特征詞匯的提取手段并進行改進,優先選擇時間片內詞頻統計較高(包含信息量較大)的詞匯作為特征詞匯。
時間片內詞頻統計較高的詞匯選擇機制為:設置一個合理的時間片作為時間區間來進行詞頻統計,如該時間區間內特征項的詞頻較大,則說明該特征詞匯包含文本內容中的大量信息。詞頻統計按照從大到小排序,取前3位作為該文本的特征詞匯。
對TF-IDF方法來說,某詞匯t的權重計算法方法為
(1)
其中:N表示文本數據集中文本的總數;df(t)和tf(t)分別表示包含詞匯t的文本的數量和其出現的總頻率。
為避免過高頻率的影響,進行維數壓縮,式(1)可簡化為
(2)
作為一種非結構化的字符數據,微博文本是計算機不能輕易“讀懂”的內容,因此需要把半結構化或非結構化的文本對象轉換成便于計算機理解的結構化數據,以便進行后續聚類分析。現階段,主流的文本表示方法分為概率模型和向量空間模型(VSM)兩種。概率模型中的LDA模型是一個3層貝葉斯概率模型,由于對文本聚類具有一定的優勢,成為文檔主題生成模型的熱門方向[10]。因此,本研究采用LDA模型進行微博數據的文本表示。設定文本集合共有k個主題,每個主題z被表示成一個詞項的多項式分布。LDA的概率圖模型過程如圖4所示。

圖4 LDA的概率圖模型
在圖4中,方框W表示文本集合,方框N表示文本集中主題z和關鍵詞w的集合,α為Dirichlet分布的先驗參數,β為被估計的矩陣參數,θ為某文本中所有主題的概率分布。
一個Dirichlet隨機變量θ(k維)的概率密度分布可通過式(3)計算得到:
(3)
其中,Γ(·)表示一個伽瑪函數。設z表示具有N個元素的主題向量,則聯合分布可通過式(4)計算得到:
(4)
(5)

作為一種基于劃分的聚類算法,傳統K-means聚類算法是典型的無監督學習算法,容易陷入局部最優陷阱。因此,利用遺傳算法全局優化能力來解決該問題。
遺傳算法中交叉搮作選用浮點數編碼[11]:
(6)
(7)
其中a表示取值范圍為(0,1)的隨機數。
釆用均勻變異算子進行變異操作,針對所有變異點從相關基因值的規定區間中選擇1個隨機值更新原始基因值:
X′=Umin+r(Umax-Umin)
(8)
其中:r表示取值范圍為(0,1)的隨機數;Umax表示基因位的取值上限,Umin表示基因位的取值下限。適應度函數為
(9)
其中:E表示誤差平方和;b表示一個常數。
以最大迭代數為終止條件,改進的K-means算法實現文本數據聚類的主要步驟如圖5所示。步驟前部分主要任務是搜尋K-means算法所需的最佳初始聚類中心,主要利用遺傳算法所具有的全局搜索能力使得數據聚類結果更加優異。

圖5 文本數據聚類的主要步驟
實驗數據分為兩部分:1)識別測試,通過網絡爬蟲軟件從新浪微博平臺上采集關于30個熱點話題的微博內容作為實驗數據,共3 672條微博帖子。2)跟蹤測試,利用新浪微博API獲取的公共微博數據,時間為24 h,近2萬多條微博帖子。實驗環境參數和開發語言如表2所示。實驗算法的相關參數如表3所示。

表2 實驗環境軟硬件參數

表3 實驗相關算法參數
為對提出方法的性能進行量化分析,選擇信息檢測領域最常用的3個評價指標[12-13]:準確率(Precision)、召回率(recall)和綜合評價指標(F1-Measure)。三者的計算方式如下:
(10)
(11)
(12)
使用識別測試數據得到的30個話題的識別性能結果如圖6所示,并與文獻[9]的K-means聚類算法進行對比。可以看出:在準確率、召回率指標上,本文方法均表現出優異的性能,這是由于采用的LDA主題模型改善了文本建模,并優先選擇時間片內詞頻統計較高(包含信息量較大)的詞匯作為特征詞匯。

圖6 30個話題的識別性能結果
同時,在綜合評價F1指標上,本文方法也保持了較高的數值。這是由于利用了遺傳算法所具有的全局搜索能力,克服了原有K-means聚類初始中心點選擇的隨機性,從而在性能上更加穩定。
跟蹤測試的數據來自新浪微博API,由于數量眾多且范圍廣泛,導致很難從中準確提取主題詞,因此本文將話題大致分為時政新聞類、社會現象類、軍事題材類、廣告營銷類、媒體娛樂類、體育比賽類、科技博文類這7大類。7個話題在24 h內的數量跟蹤結果如圖7所示,展現了一段時間內微博輿情話題的變動情況。

圖7 24 h的話題跟蹤結果
本文提出將LDA模型和基于遺傳優化的K-means本文聚類算法相結合來實現微博輿情話題識別與追蹤。此外,為了解決微博數據的高維、稀疏等問題,對微博數據以特征詞匯選擇的方式進行了改進,優先選擇時間片內詞頻統計較高(包含信息量較大)的詞匯作為特征詞匯,從而降低向量空間的維數,提升運行效率。實驗結果驗證了所提出方法的有效性和準確性,但其在處理海量在線數據時的實時性還有待改善。后續將對話題文本相似度計算和生存周期開展進一步研究。