文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.191367
中文引用格式: 李海磊,楊文忠,李東昊,等. 基于特征融合的K-means微博話題發現模型[J].電子技術應用,2020,46(4):24-28,33.
英文引用格式: Li Hailei,Yang Wenzhong,Li Donghao,et al. K-means Weibo topic discovery model based on feature fusion[J]. Application of Electronic Technique,2020,46(4):24-28,33.
0 引言
根據CNNIC《中國互聯網信息中心》的第43次中國互聯網發展狀況統計報告,截至2018年12月,我國網民規模達8.29億,普及率達59.6%[1]。隨著互聯網和智能手機技術的快速發展,每個人都成為了信息的制造者、傳播者和分享者。作為社交娛樂、新聞來源和信息傳播的主要渠道之一,微博已經成為越來越受歡迎的平臺,微博的用戶群體龐大,每天都產生海量的數據,相比傳統的媒體(如報刊、電視、廣播),人們可以在微博上及時獲得社會上的熱點話題,因此,吸引了大量的研究者進行研究,并取得了大量的研究成果。對于熱點話題的研究不僅可以幫助政府發現網絡輿情并監管網絡輿情的走向;還可以幫助企業了解消費者的需求,及時調整公司的營銷戰略;還可以幫助用戶更好地提升閱讀的體驗,及時了解國家大事、社會熱點事件。因此,對微博的話題發現進行研究具有重要的意義。
1 國內外研究現狀
TDT(Topic Detection and Tracking)是美國國際高級研究計劃局(DARPA)發起倡議的,主要用于在新聞報道流中發現和跟蹤新事件。傳統的話題檢測技術在長文本中可以得到很好的結果,但是在微博短文本中很難得到好的效果。這是由于微博短文本的稀疏性問題,以及網絡用語不規范化、口語化嚴重,且文本中包含表情符號、圖片、視頻,這給微博話題的發現帶來了極大的挑戰。
TDT的核心思想是將類似的文檔聚集在一起形成主題。針對微博短文本熱點話題發現的方法主要有以下3種:基于統計分析、學習模型分析和改進相似度度量的方法。基于統計分析的方法中,研究者們認為在微博平臺上,熱點事件往往在短時間內引起很多人的關注,會導致大量的評論和轉發信息。根據這一特征,學者們統計給定時間內話題關鍵詞出現的頻率來檢測熱點話題。文獻[2]中Zheng Jun 等提出了一種通過劃分時間窗,并根據每個時間窗中微博數據詞頻增長率和相對詞頻的兩個因素提取微博數據的主題詞,從而聚類得到熱點話題的方法。文獻[3]中BENNY A通過使用特定的關鍵字收集tweet,然后對其進行匯總以找出與該關鍵字相關的主題。文獻[4]中張雪松等針對傳統文本聚類方法忽略詞之間的語義關系問題,提出了一種基于頻繁詞集的文本聚類方法,得到更好的聚類效果。
在基于學習模型分析的方法中,主要是通過對傳統的LDA主題模型的改進來挖掘潛在主題進行熱點話題檢測。文獻[5]中LIU G提出了將微博的時間屬性和標簽屬性引入到LDA模型中的多屬性潛在狄利克雷分配(MA-LDA)模型。文獻[6]石磊等提出一種基于循環神經網絡和主題模型的突發話題發現(RTM-SBTD)方法,結果表明所提出的方法在多種評價指標上優于對比方法。文獻[7]中車蕾提出了一種多特征融合文本聚類方法,來發現新聞話題。文獻[8]中曾祥坤等提出了一種文本主題提取模型和技術,解決以往交通事故統計中交通違法行為難以挖掘的問題,以實例驗證了該模型的有效性。
基于改進相似度度量的方法中,研究者們運用不同的方法以得到更好的結果。文獻[9]中ZHAO Y等針對傳統新聞話題檢測忽略其他屬性的問題,提出了將文本與時間相似度結合起來的熱點話題檢測方法。文獻[10]中黃建一提出了一種基于上下文相似度矩陣的Single-Pass短文本聚類方法。文獻[11]中李勇等針對現有話題檢測技術的不足,利用VSM和LDA模型對微博文本數據進行混合建模,融合微博社會關系,提出了SPWSR聚類算法進行熱點話題發現。文獻[12]中MA R等人提出一種結合過濾數據和基于特征詞的文本相似度改進的方法,提高了聚類的精度。文獻[13]中李征提出了一種基于改進文本相似度計算的聚類方法,并且得到了很好的效果。
綜上前3種微博話題的檢測研究雖然在一定程度上提高了話題發現的準確性,但是未能很好地解決微博短文本存在的高維稀疏的缺陷。因此,本文在現有的研究基礎上,根據微博短文本的特點,提出了一種特征融合的文本表示方法。首先,對微博文本數據集進行預處理,然后使用基于詞對的向量空間模型(Biterm_VSM)代替傳統的向量空間模型對文本進行建模;同時為減少后面聚類過程中語言二義性對聚類準確度產生的影響,本文引入LDA主題模型對微博文本進行建模,利用主題模型的優點挖掘出微博短文本中潛在的語義知識。最后結合詞對向量空間模型和LDA主題模型,將基于統計的方法和基于學習模型的方法融合為一體,達到提高微博短文本聚類質量的目的。分析了常用的幾種聚類算法的特點后,本文選擇了劃分聚類算法的經典模型K-means算法,并且把上一步得到的融合特征輸入到K-means聚類算法中,進行微博話題聚類。
2 相關介紹
為解決傳統的話題檢測方法在微博短文本上存在的缺陷,文中使用詞對向量空間模型(Biterm_VSM)來替代傳統的向量空間模型(VSM),并與LDA主題模型進行結合,更好地進行話題發現。
2.1 詞對向量空間的基本概念
在一句文本中,往往僅用少量的詞就可以充分地表示這個句子的語義,因此考慮使用多個詞作為一個文本的基本單元,但是同時帶來的是高維度,使得模型過于復雜[14]。所以本文使用在一句文本中共現的詞對作為文本表示的基本單位。
這個文本預處理之后為“重慶|ns路|n公交車|n人|n爭執|v秒|n互毆|v個人|n錯過|v站|n錯過|v后半生|n愿|v逝者|n安息|v”。這個文本產生的詞對集合為{(重慶,路),(重慶,公交車),…,(逝者,安息)}。由于數據集中的詞對比詞在文本中出現的頻率要低,因此其權重不使用詞對的詞頻-逆文檔頻率值(Vtf-idf)來表示,而是由詞對中兩個詞的Vtf-idf的和來表示:
2.2 LDA基本概念
話題發現模型應用最廣泛的是基于詞袋理論的層次貝葉斯模型-隱含狄利克雷分布監督話題模型LDA,它可以計算出每篇文檔的主題概率分布[15-16]。在LDA主題模型中假設文檔是多個潛在隱含主題上的混合分布,文檔中的詞語屬于各個主題。LDA概率模型圖如圖1所示。
2.3 文本聚類算法介紹
文本聚類的主要算法有6種[7],分別為基于層次的、基于密度的、基于網格的、基于模型的、基于圖論的和基于劃分的聚類算法。層次聚類算法是通過對數據集合按照某種指定的方式進行層次劃分,直到滿足某種收斂或者滿足某種符合的條件時算法停止,層次聚類算法分為凝聚式層次聚類和分裂式層次聚類;基于密度的算法是基于密度的,不同于其他的聚類算法是基于不同距離計算方式計算數據對象之間的距離,克服了基于距離算法只能發現一定距離內的類簇的局限性;基于網格的算法是通過將數據空間形成有限的數目的網格單元,然后在這些網格單元中進行聚類運算;基于模型的算法是對數據建立數學模型,并將數據集合與該模型進行擬合;基于圖論的聚類方法通過對樣本數據的拉普拉斯矩陣的特征向量進行聚類,從而達到對樣本數據聚類的目的;基于劃分的算法是首先將數據分為K組,通過迭代的方法將數據劃分到不同的分組中,使得最終的分組滿足一定的條件,類簇間達到最大距離,類簇內達到最小距離。
3 基于特征融合的微博話題發現模型
3.1 基本流程
本文方法的基本流程如圖2所示,主要包括數據采集、數據預處理、文本建模、計算相似度、基于K-means算法進行文本聚類、聚類得到相應的微博話題。其中,文本建模過程包括:Biterm_VSM特征詞建模、LDA的主題建模。計算相似度包括:計算基于詞對特征值的文本相似度、計算基于主題的文本相似度。
3.2 特征融合的文本相似度計算
在本文中,確定文本相似度是進行下面文本聚類分析的關鍵一步。本文采用線性組合的方式將基于TF-IDF的詞對向量空間模型和基于LDA主題模型結合,得到文本相似度,即本文的特征融合文本相似度。
線性結合的公式如式(5)所示:
式中,simBiterm_vsm(d1,d2)為兩個文本間詞對向量空間模型的文本相似度,simLDA(d1,d2)為兩個文本間主題向量空間模型的文本相似度。
3.2.1 詞對向量空間模型文本相似度計算
不同的模型需要用不同的相似度計算方法,采用詞對的標準化TF-IDF值來衡量詞對向量空間模型中的文本,采用歐氏距離來計算文本的相似度。
計算公式如式(6)所示:
其中,t1和t2分別為兩個文本,xi為文本t1的第i個特征向量,yi為文本t2的第i個特征向量。
在詞對向量空間模型中,文本向量的每個特征向量(詞對)W的計算公式是式(1)。
3.2.2 主題向量空間模型文本相似度計算
采用服從Dirichlet分布的主題概率向量來表示LDA主題模型中的文本,同樣采用歐氏距離來計算文本的相似度,公式如式(7)所示:
其中,p和q為兩個文本的主題概率分布,ai和bi為兩個文本中主題θi的概率分布。
3.3 特征融合的文本聚類算法
本文聚類算法采用的是經典算法K-means算法[18],該算法思想簡單,易于實現,可以快速有效地處理大規模數據。
K-means聚類算法的基本思想如下:
輸入:簇數目K,特征融合的文本向量矩陣
輸出:簇的集合D
步驟:
(1)從集合D中隨機選擇K個數據點作為話題簇的初始聚類中心點;
(2)計算每個微博向量與聚類中心點的距離,并將該微博向量分配到最近的中心點;
(3)重新計算K個簇的聚類中心并更新;
(4)重復上面的2個過程,直到話題簇的中心點不再變化,或者達到收斂的條件停止算法;
(5)輸出聚類簇的結果。
4 實驗
4.1 實驗環境
本文的實驗是利用PyCharm平臺下的Python語言實現的。所有實驗均在一臺操作系統為64位的Windows 10家庭中文版的Lenovo臺式電腦上,處理器為Inter CoreTM i7-7700 [email protected] GHz 3.60 GHz,內存為8 GB。
4.2 實驗數據
通過使用八爪魚爬蟲工具,采用關鍵詞爬取的方式采集2018年10月29日-2018年11月4日期間的12個新浪微博的話題數據共11 289條。
為了提高后續聚類檢測的速度和準確率,應該盡可能剔除垃圾數據,并在分詞之前過濾掉微博文本中的無用信息。
(1)微博賬號中有一些“僵尸賬號”。這些微博用戶發布的微博數很少,粉絲也很少,有些甚至接近于0。
(2)“@用戶”等信息具有主題的指向性或用戶對話。這種對話是一般性的,與熱門話題無關。根據一些官方微博和大V,眾所周知,微博的熱門話題很少涉及特定的用戶。因此,應該去掉“@用戶”以提高檢測的準確性。
(3)按照上述的步驟對微博文本進行處理后,采用Jieba分詞工具對文本進行分詞。Jieba分詞是Python語言的一個中文分詞包,不僅可以分詞,還可以進行詞性標注,不同的詞性在語篇中起著不同的作用。主題的表達和關鍵功能的識別是動詞、名詞。形容詞、介詞、虛詞和數字等表達效果要低得多。因此,要保留動詞、名詞、地名詞,其余的詞均刪除,可以使得文本建模過程中的維度進一步降低。
4.3 評價指標
話題發現是一個聚類的過程,而且實驗使用的數據是無標簽的,因而無法使用類似于分類過程中的評價體系,例如準確率、精確率、召回率以及由精確率和召回率得到的F1值。因此本文實驗的評價指標采用的是聚類的一種評價指標——調整蘭德系數(Adjusted Rand Index,ARI)。
蘭德系數(Rand Index,RI),RI取值范圍為[0,1],值越大意味著聚類結果與真實情況越接近。
其中,E(RI)為蘭德系數的平均值,max(RI)為蘭德系數的最大值。
4.4 對比試驗
4.4.1 實驗1
本文的對比實驗1分別由下面的4部分組成:
(1)采用基于詞特征的傳統向量空間模型對微博文本進行表示,并由K-means聚類算法進行進行聚類實驗;
(2)采用基于詞對特征的向量空間模型對微博文本進行表示,并由K-means聚類算法進行進行聚類實驗;
(3)采用基于主題向量空間模型對微博文本進行表示,并由K-means聚類算法進行進行聚類實驗;
(4)采用基于詞對特征向量空間模型和基于主題向量空間模型融合來對微博文本進行表示,并由K-means聚類算法進行聚類實驗。
實驗結果如圖3所示。
圖3中顯示了特征融合模型(Biterm_LDA)與其他模型(VSM、Biterm_VSM和LDA)的評價指標對比情況。從圖3中可以看出,結合了Biterm_VSM模型和LDA模型的Biterm_LDA模型比單純的VSM的性能要優;單獨使用Biterm_VSM模型和LDA模型性能差不多;相比于前3個模型,本文提出的特征融合模型的性能是最優的。
4.4.2 實驗2
本文的實驗2是主題為不同K值況下采用本文方法的對比情況,實驗結果如圖4所示。
從圖4中可以看出,當主題的數目越接近真實的微博話題數目時,效果越來越好;當主題的數目超過真實的微博話題數目時,效果越來越差。因此,主題模型K值的設定是很重要的。從實驗結果中可以看出,當K=12時,得到的聚類結果是最好的,而且和實際的微博話題數目是最接近的,說明本文提出的模型是有效的。
4.4.3 實驗3
本文的實驗3為K-means算法與密度聚類的DBCAN算法、譜聚類算法和凝聚式層次聚類算法3種算法之間的對比實驗,并且是在主題的數目K=12的情況下進行的。實驗結果如圖5所示。
從圖5中可以看出,本文提出的模型在微博短文本上,K-means聚類算法比其余的3種算法效果表現更好,分析可知,DBSCAN密度聚類算法對噪聲數據比較敏感,而且對參數的設置要求也較高,因此得到的結果有很大的差異。譜聚類和凝聚式層次聚類在本文數據上的性能表現沒有K-means聚類算法好。
5 結論
本文針對傳統話題檢測方法的缺陷,提出了一種改進的特征融合短文本聚類的微博話題發現模型,改進了傳統的向量空間模型對微博短文本的表示方式,引入詞對向量空間模型,并結合主題空間模型在潛在語義挖掘上的優點,提高了微博話題發現的準確性。實驗結果表明,改進的特征融合模型具有更優的話題發現效果。
雖然詞對比詞更能表達文本的語義信息,但是微博短文本數據集中詞對的數量要遠遠多于詞的數量,這會造成文本轉化為向量時的維度過高。而且K-means聚類算法對初始聚類中心點較為敏感,對最終的聚類結果有影響,因此下一步的工作方向就是解決主題K值的自適應和K-means聚類算法初始中心點選擇的問題。
參考文獻
[1] 中國互聯網信息中心.第43次中國互聯網絡發展狀況統計報告[R].北京:中國互聯網信息中心,2019.
[2] Zheng Jun,Li Yuanjun.A hot topic detection method for Chinese Microblog based on topic words[C].International Conference on Information Technology & Electronic Commerce,2015.
[3] BENNY A,PHILIP M.Keyword based tweet extraction and detection of related topics[J].Procedia Computer Science,2015,46(46):364-371.
[4] 張雪松,賈彩燕.一種基于頻繁詞集表示的新文本聚類方法[J].計算機研究與發展,2018,55(1):102-112.
[5] LIU G,XU X,ZHU Y,et al.An improved latent Dirichlet allocation model for hot topic extraction[C].2014 IEEE International Conference on Big Data and Cloud Computing(BdCloud).IEEE Computer Society,2014.
[6] 石磊,杜軍平,梁美玉.基于RNN和主題模型的社交網絡突發話題發現[J].通信學報,2018,39(4):189-198.
[7] 車蕾,楊小平.多特征融合文本聚類的新聞話題發現模型[J].國防科技大學學報,2017,39(3):85-90.
[8] 曾祥坤,張俊輝,石拓,等.基于主題提取模型的交通違法行為文本數據的挖掘[J].電子技術應用,2019,45(6):41-45.
[9] ZHAO Y,ZHANG K,ZHANG H,et al.-Hot topic detection based on combined content and time similarity[C].2017 International Conference on Progress in Informatics and Computing(PIC),Nanjing,2017:399-403.
[10] 黃建一,李建江,王錚,等.基于上下文相似度矩陣的Single-Pass短文本聚類[J].計算機科學,2019,46(4):50-56.
[11] 李勇,張克亮.面向LDA和VSM模型的微博熱點話題發現研究[J].自動化技術與應用,2016,35(8):52-57.
[12] MA R,XU P,LI L,et al.Hotspot detection in social media based on improved strategy clustering[C].International Conference on Big Data,2019.
[13] 李征,李斌.一種基于改進相似度計算的文本聚類方法[J].河南大學學報(自然科學版),2018,48(4):415-420.
[14] 張文博,米成剛,楊雅婷.基于詞對向量的中文新聞話題檢測方法[J].廈門大學學報(自然科學版),2019,58(2):231-236.
[15] BLEI D M,NG A Y,JORDAN M I.Latent Dirichlet allocation[J].The Journal of Machine Learning Research,2003,3(4/5):993-1022.
[16] ZHANG Q,SUN Y.The collocation model based on LDA[C].SPIE Sixth International Conference on Electronics and Information Engineering,Dalian,China,2015.
[17] 譚夢婕,呂鑫,陶飛飛.基于多特征融合的財經新聞話題檢測研究[J].計算機工程,2019,45(3):293-299,308.
[18] 張杰,卓靈,朱韻攸.一種K-means聚類算法的改進與應用[J].電子技術應用,2015,41(1):125-128.
作者信息:
李海磊1,楊文忠1,2,李東昊1,溫杰彬1,錢蕓蕓1
(1.新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046;
2.中國電子科學研究院 社會安全風險感知與防控大數據應用國家工程實驗室,北京 100041)