閆俊伢,馬尚才
(1.山西大學商務學院 信息學院,太原 030031;2.山西財經(jīng)大學 信息管理學院,太原 030006)
隨著互聯(lián)網(wǎng)技術的快速發(fā)展,移動網(wǎng)絡媒體逐漸成為人們獲取和發(fā)布信息的主流渠道。多種形勢的新型網(wǎng)絡媒體迅速發(fā)展為當下主流的網(wǎng)絡媒介之一,如微信社區(qū)、QQ、微博、知乎論壇等。微博作為一種新型的網(wǎng)絡交流媒體,讓用戶以十分便捷的方式及時分享短文本、圖片或者短視頻等內(nèi)容,受到了大量網(wǎng)民的關注和喜愛[1-4],微博用戶數(shù)量和數(shù)據(jù)量均呈現(xiàn)出爆炸式增長狀態(tài)。微博正在逐步取代傳統(tǒng)的媒體,成為廣大網(wǎng)民和青少年群體獲取和交流信息的主要途徑,并對社會產(chǎn)生一定的影響。在這種情況下,如何有效地從海量的微博數(shù)據(jù)中快速、準確地獲取社交媒體中用戶對各種突發(fā)事件的認識、態(tài)度、情緒,及時獲取政府工作所需要的網(wǎng)絡輿情信息[5-6]成為了政府部門迫切需要關注的問題。
微博輿情是指微博用戶由于微博信息的刺激而產(chǎn)生的對信息的一種情感。目前,已經(jīng)出現(xiàn)了不少針對微博輿情的研究成果。文獻[7]對3種不同輿情主題下的微博用戶行為進行了聚類分析,發(fā)現(xiàn)信息傳播中的微博用戶基本可分“一般關注”型、“主動參與”型、“信息傳播”型3類?!耙话汴P注”型用戶通常人數(shù)眾多,他們多為輿情信息的接受者。文獻[8]考慮微博用戶權威性以及主題詞的時間段相關特性,對微博文本和主題詞的熱度進行了聯(lián)合排序并互相增強,使用主題詞組合支持度作為閾值對熱度序列中的主題詞進行聚類以表征熱點話題。文獻[9]提出了一種基于文本平均相似度的K-Means算法,通過對每個文本的平均相似度計算和排序,以文本平均相似度值為標準來選擇初始聚類中心點。傳統(tǒng)的向量空間模型難以準確度量文本間的相似度,文獻[10]使用LDA主題模型有效解決數(shù)據(jù)稀疏性問題,并通過聚類算法最終發(fā)現(xiàn)熱點話題。
通過分析上述研究發(fā)現(xiàn),LDA主題模型和K-Means算法在文本主題數(shù)據(jù)挖掘方面均表現(xiàn)出較好的性能,因此本文將兩者相結合來實現(xiàn)微博輿情話題識別與追蹤,采用LDA模型進行微博數(shù)據(jù)的文本表示。最后,采用基于遺傳優(yōu)化的K-means算法進行聚類分析,提高了聚類結果的準確率和穩(wěn)定性。此外,為解決現(xiàn)有研究文獻中較少涉及的微博數(shù)據(jù)的高維、稀疏等問題,對微博數(shù)據(jù)以特征詞匯選擇的方式進行改進,優(yōu)先選擇時間片內(nèi)詞頻統(tǒng)計較高(包含信息量較大)的詞匯作為特征詞匯,從而降低向量空間的維數(shù),提升運行效率。實驗結果驗證了提出方法的有效性和準確性。
本文首先對現(xiàn)有的話題識別與跟蹤方法進行分析,重點介紹基于劃分的本文聚類算法。話題識別與跟蹤方法的基本流程如圖1所示,主要包括7個部分。其中特征詞匯提取、文本向量表示和文本聚類是本文的研究重點。
目前,文本聚類可以分為4個類型:① 基于網(wǎng)格的聚類分析;② 基于層次的聚類分析;③ 基于劃分的聚類分析;④ 基于密度的聚類算法。
現(xiàn)階段主流的文本聚類方法是采用基于劃分的聚類分析,其執(zhí)行流程如圖2所示。基于劃分的聚類分析算法中最典型的是K-means聚類算法,它是一種無監(jiān)督的聚類算法,實現(xiàn)較簡單,聚類效果較好,因此應用十分廣泛。
圖1 話題識別與跟蹤方法的基本流程
圖2 基于劃分的聚類算法的執(zhí)行流程
微博話題識別的本質(zhì)是文本聚類挖掘的應用,即基于文本聚類的數(shù)據(jù)挖掘目標是從大量文本信息里發(fā)現(xiàn)知識。文本挖掘可以看作是一種機器學習的過程,本文采用文本數(shù)據(jù)挖掘的步驟如圖3所示,完成知識模式評估后可以實現(xiàn)知識模式的輸出。
圖3 文本數(shù)據(jù)挖掘的步驟
從圖1、3中可以看出:文本預處理是文本挖掘必不可少的環(huán)節(jié),也是文本實驗處理的第1步,其目的是刪除原始文本數(shù)據(jù)中的無用信息。本文預處理主要包括噪音數(shù)據(jù)過濾、中文分詞和停用詞處理。
1)噪音數(shù)據(jù)過濾:主要過濾微博信息中各種表情、符號或鏈接文本,并過濾掉字數(shù)低于10個字的微博文本。
2)中文分詞:采用由中國科學院計算技術研究所開發(fā)的基于多層隱碼模型的漢語詞法分析系統(tǒng)ICTCLAS(institute of computing technology,Chinese lexical analysis system),其分詞系統(tǒng)詞性標注集如表1所示。
表1 ICTCLAS分詞系統(tǒng)詞性標注集
3)停用詞處理:刪除對文本內(nèi)容識別意義不大的語氣助詞、副詞、介詞等中英文停止詞表(stop word)。例如,日常用語中的“在”“里面”“也”“的”“它”“為”等。
選擇Term Frequeney-Inverse Doeument Frequeney(TF-IDF)方法作為文本特征詞匯的提取手段并進行改進,優(yōu)先選擇時間片內(nèi)詞頻統(tǒng)計較高(包含信息量較大)的詞匯作為特征詞匯。
時間片內(nèi)詞頻統(tǒng)計較高的詞匯選擇機制為:設置一個合理的時間片作為時間區(qū)間來進行詞頻統(tǒng)計,如該時間區(qū)間內(nèi)特征項的詞頻較大,則說明該特征詞匯包含文本內(nèi)容中的大量信息。詞頻統(tǒng)計按照從大到小排序,取前3位作為該文本的特征詞匯。
對TF-IDF方法來說,某詞匯t的權重計算法方法為
(1)
其中:N表示文本數(shù)據(jù)集中文本的總數(shù);df(t)和tf(t)分別表示包含詞匯t的文本的數(shù)量和其出現(xiàn)的總頻率。
為避免過高頻率的影響,進行維數(shù)壓縮,式(1)可簡化為
(2)
作為一種非結構化的字符數(shù)據(jù),微博文本是計算機不能輕易“讀懂”的內(nèi)容,因此需要把半結構化或非結構化的文本對象轉(zhuǎn)換成便于計算機理解的結構化數(shù)據(jù),以便進行后續(xù)聚類分析?,F(xiàn)階段,主流的文本表示方法分為概率模型和向量空間模型(VSM)兩種。概率模型中的LDA模型是一個3層貝葉斯概率模型,由于對文本聚類具有一定的優(yōu)勢,成為文檔主題生成模型的熱門方向[10]。因此,本研究采用LDA模型進行微博數(shù)據(jù)的文本表示。設定文本集合共有k個主題,每個主題z被表示成一個詞項的多項式分布。LDA的概率圖模型過程如圖4所示。
圖4 LDA的概率圖模型
在圖4中,方框W表示文本集合,方框N表示文本集中主題z和關鍵詞w的集合,α為Dirichlet分布的先驗參數(shù),β為被估計的矩陣參數(shù),θ為某文本中所有主題的概率分布。
一個Dirichlet隨機變量θ(k維)的概率密度分布可通過式(3)計算得到:
(3)
其中,Γ(·)表示一個伽瑪函數(shù)。設z表示具有N個元素的主題向量,則聯(lián)合分布可通過式(4)計算得到:
(4)
(5)
作為一種基于劃分的聚類算法,傳統(tǒng)K-means聚類算法是典型的無監(jiān)督學習算法,容易陷入局部最優(yōu)陷阱。因此,利用遺傳算法全局優(yōu)化能力來解決該問題。
遺傳算法中交叉搮作選用浮點數(shù)編碼[11]:
(6)
(7)
其中a表示取值范圍為(0,1)的隨機數(shù)。
釆用均勻變異算子進行變異操作,針對所有變異點從相關基因值的規(guī)定區(qū)間中選擇1個隨機值更新原始基因值:
X′=Umin+r(Umax-Umin)
(8)
其中:r表示取值范圍為(0,1)的隨機數(shù);Umax表示基因位的取值上限,Umin表示基因位的取值下限。適應度函數(shù)為
(9)
其中:E表示誤差平方和;b表示一個常數(shù)。
以最大迭代數(shù)為終止條件,改進的K-means算法實現(xiàn)文本數(shù)據(jù)聚類的主要步驟如圖5所示。步驟前部分主要任務是搜尋K-means算法所需的最佳初始聚類中心,主要利用遺傳算法所具有的全局搜索能力使得數(shù)據(jù)聚類結果更加優(yōu)異。
圖5 文本數(shù)據(jù)聚類的主要步驟
實驗數(shù)據(jù)分為兩部分:1)識別測試,通過網(wǎng)絡爬蟲軟件從新浪微博平臺上采集關于30個熱點話題的微博內(nèi)容作為實驗數(shù)據(jù),共3 672條微博帖子。2)跟蹤測試,利用新浪微博API獲取的公共微博數(shù)據(jù),時間為24 h,近2萬多條微博帖子。實驗環(huán)境參數(shù)和開發(fā)語言如表2所示。實驗算法的相關參數(shù)如表3所示。
表2 實驗環(huán)境軟硬件參數(shù)
表3 實驗相關算法參數(shù)
為對提出方法的性能進行量化分析,選擇信息檢測領域最常用的3個評價指標[12-13]:準確率(Precision)、召回率(recall)和綜合評價指標(F1-Measure)。三者的計算方式如下:
(10)
(11)
(12)
使用識別測試數(shù)據(jù)得到的30個話題的識別性能結果如圖6所示,并與文獻[9]的K-means聚類算法進行對比??梢钥闯觯涸跍蚀_率、召回率指標上,本文方法均表現(xiàn)出優(yōu)異的性能,這是由于采用的LDA主題模型改善了文本建模,并優(yōu)先選擇時間片內(nèi)詞頻統(tǒng)計較高(包含信息量較大)的詞匯作為特征詞匯。
圖6 30個話題的識別性能結果
同時,在綜合評價F1指標上,本文方法也保持了較高的數(shù)值。這是由于利用了遺傳算法所具有的全局搜索能力,克服了原有K-means聚類初始中心點選擇的隨機性,從而在性能上更加穩(wěn)定。
跟蹤測試的數(shù)據(jù)來自新浪微博API,由于數(shù)量眾多且范圍廣泛,導致很難從中準確提取主題詞,因此本文將話題大致分為時政新聞類、社會現(xiàn)象類、軍事題材類、廣告營銷類、媒體娛樂類、體育比賽類、科技博文類這7大類。7個話題在24 h內(nèi)的數(shù)量跟蹤結果如圖7所示,展現(xiàn)了一段時間內(nèi)微博輿情話題的變動情況。
圖7 24 h的話題跟蹤結果
本文提出將LDA模型和基于遺傳優(yōu)化的K-means本文聚類算法相結合來實現(xiàn)微博輿情話題識別與追蹤。此外,為了解決微博數(shù)據(jù)的高維、稀疏等問題,對微博數(shù)據(jù)以特征詞匯選擇的方式進行了改進,優(yōu)先選擇時間片內(nèi)詞頻統(tǒng)計較高(包含信息量較大)的詞匯作為特征詞匯,從而降低向量空間的維數(shù),提升運行效率。實驗結果驗證了所提出方法的有效性和準確性,但其在處理海量在線數(shù)據(jù)時的實時性還有待改善。后續(xù)將對話題文本相似度計算和生存周期開展進一步研究。