田亮 吐爾根·依布拉音 艾山·吾買爾 卡哈爾江·阿比的熱西提
關鍵詞: 文本聚類; LDA模型; 多語言; 文本特征提取; 相似度聚類; 權重
中圖分類號: TN911?34; TP391 ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)03?0122?05
Abstract: Taking the English, Chinese and Uygur large?scale texts clustering as the object, the static text clustering system based on LDA model is implemented according to the characteristics of three languages. It is difficult for the extraction of text feature and selection of clustering algorithm due to the nonstandard texts from network media such as Blog and MicroBlog, and their abroad topic areas. The suitable clustering number [k] is calculated by analyzing the sample texts, and then the LDA algorithm is called to cluster the text as [k]?class, and give the keywords of each class of text. The test results show this system can cluster the English, Chinese and Uygur texts with high similarity into a class, and improve the clustering effect greatly.
Keywords: text clustering; LDA model; multi?language; text feature extraction; similarity clustering; weight
隨著科技和互聯網的發展,普通民眾也越來越傾向于在網絡媒體上發聲,除了專用的網絡平臺如微博、微信等,一般新聞網站也會在每篇新聞后開通評論區。這些數據本身有很高的價值,除了商業價值外,也會關系到社會的和諧穩定。中國國內使用最普遍的是漢語文本,但同時存在少數民族聚集區使用其民族傳統的語言。新疆有超過一千萬維吾爾族同胞使用他們本族語言,也有維吾爾語網頁和論壇供維吾爾族同胞交流和傳播思想。在國家“一帶一路”政策下,新疆的地理位置和語言特色也凸顯其重要性,維吾爾語屬于阿勒泰語系突厥語族,和中亞許多國家的語言有相似的語言特征。新疆作為中國的一個窗口,既需要與中亞多國保持高效交流,又要保證安全和穩定,如何有效對網絡平臺進行監管成為亟需解決的問題。針對維吾爾語特點,已經有一些維吾爾語文本算法被提出,文獻[1]提出基于詞干混合策略的維吾爾語聚類方法,文獻[2?3]分別提出維吾爾語的改進后綴樹聚類算法以及基于相似度維吾爾語詞的聚類方法,文獻[4]針對維吾爾語文本聚類提出一種結合GAAC和K?means的方法,但只針對給定的4類少量文本做了實驗。
本文根據漢語、維吾爾語及英語的特點,結合LDA模型,由對聚類文本的分析計算出最優的聚類數[k],將其作為LDA模型的參數對文本聚類,再將所得信息綜合到一個文本文件上,供用戶查看分析。提取的信息可用于商業分析,也可用于觀察民情,還能對利用網絡別有用心的一些人筑起一道防范墻。
文獻[5]提出的LDA模型是一個三層的概率模型,所謂三層是指文檔集層、文檔層和詞組層。為了將模型表示清楚,先設文檔集為[D],包含[M]篇文檔,[M]篇文檔可表示為[W1,W2,…,WM],其中[Wm]表示第[m]篇文檔。文檔集共由[V]個不同的詞組組成,任取一篇文檔設由[N]個詞組組成,表示為[w1,w2,…,wN,]其中,[wn]表示第[n]個詞組,如圖1所示。

圖1中[α,β]表示文檔集層的環境變量,所有文檔共享此變量,分別為[M]維和[K]維向量;[K]是設置的話題數;[θ,φ]表示文檔層變量,分別為[M×K]和[K×V]的矩陣;[W,Z]表示文檔內詞組層變量,[W]就是看到的詞組,而[Zm,n]則代表第[m]篇文檔中第[n]個詞組潛在的主題分配。圖1中箭頭表示的是依賴關系,可表示成條件概率形式。LDA模型中變量比較多,依賴關系也復雜,所以很多代碼都采用Gibbs采樣[6]簡化算法。
在對文本聚類時,首先需要解決聚類種類[k]值,有些任務中[k]值是很容易確定的,如只從體育板塊和科技板塊爬取的數據就可以將[k]值確定為2,但要處理從微博等公眾媒體上爬取的數據時,[k]值的確定就變得困難而且重要了。如果取值太小,有些類里會出現涉及多個不用領域的文檔,如果取值太大,則有些類不能反映一個完整的領域。文獻[7]提出利用topic_number_ log [P(wT)]曲線來確定話題數的方法,其中,[w]代表文檔集里所有的詞,[T]表示給定話題數,當[T]取不同值時,有一個值能使log [P(wT)]最大,Thomas認為這個值就是此文檔集應取的話題數。文獻[8]提出平均最小距離概念,并指出平均距離越小,結構越穩定。
研究者曾將LDA算法與其他聚類方法相結合,文獻[9]提出先用LDA模型產生文本特征,再使用k?means聚類算法對其聚類,文獻[10]提出的算法中使用LDA模型產生文本的特征向量,進一步使用層次聚類算法對這些特征聚類。在研究中發現也存在如下弊端:
1) 對于大量文本的聚類算法,時間是必須考慮的因素;
2) 在特征表示上,通過文本屬于不同話題簇的概率作為特征的表示方法,通常會存在較高的噪音,這就導致了“緯度災難”問題[11]。
3) 需要事先設定聚類數,不適用直接從微信、博客上爬取的語料。
實驗使用的主要硬件配置為:CPU E5?2690 v4 2.60 GHz,內存500 GB,操作系統為Centos 7.2,編程語言采用Python 3.5,接口使用了Django框架。實驗數據由微信平臺上爬取,漢語有75 000篇,維吾爾語和英語各有15 000篇文檔(均除去預處理后少于5個詞的文檔)。
2.1 ?系統流程
本系統采用的是服務器?客戶端形式,由客戶端發送請求,并提交待聚類文本集的下載地址,服務器將文本下載后調用聚類算法模塊,聚類完成后將結果寫入一個文本文件,并將文件放入客戶端可訪問的地址,最后通過回調函數告知客戶端聚類完成的地址,客戶端再將文件下載到本地以供閱讀和分析。具體實驗流程如圖2所示。

語言的類型一般會由提交文本的用戶給出,如果沒有給出則根據文檔內容的編碼調用語種識別模塊來判定。確定語言種類后,根據不同語言做相應的數據預處理,漢語屬于孤立語,缺乏詞形的變化,對詞序有嚴格的要求;維吾爾語屬于黏著語,通常一個詞干對應很多后綴來表示不同的意思;英語屬于屈折語,一個詞綴通常有不同的意思。對于漢語,在聚類前需要進行分詞,使用開源工具包jieba實現漢語文本分詞,維吾爾語和英語則需要首先將標點符號與單詞分開。
2.2 ?系統功能
本系統的主要功能設計如下:
1) 具有文本聚類功能,根據英漢維語言的各自特點實現對其文本的聚類。
2) 通過對文檔樣本的分析,自動計算出此文檔集應聚集幾個類別。
3) 提取每一類的關鍵詞,根據TF?IDF權重,給出排序靠前的若干詞,通過對關鍵詞的分析來判斷這一類文本相關內容。
4) 對于每一篇文檔,不僅給出它所屬的類別,也給出它屬于每個類別的概率。
5) 用戶可以根據每一類的中心向量計算類之間的相似度。
2.3 ?實驗結果
在確定聚類種類時,使用粗細結合的方法,即第一次找到大致范圍,第二次再確定具體數值。以漢語文本聚類來說明,根據文獻[4]中提出的方法,先在區間10~400范圍內找出較小的值,但不會每個數都計算,而是選用一定的跨度,如漢語文本實驗中,在區間50~70中包含最優值,接下來在50~70區間內以增量1的方式找出這批文本的最優值。表1給出聚類種類[k]從10~100的[logP(wT)]取值。

最終,得到漢語文本應聚63類,維吾爾語應聚38類而英語聚50類。
所以用較多的時間來計算聚類最優的種類,通過實驗可以發現,在LDA模型下,直接生成的話題簇可以代表聚類種類。在表2~表4中羅列了漢語文本、維吾爾語文本及英語文本聚類后,詞頻最高的前10個詞,可以直觀地發現,這些詞都有緊密的聯系,放在一起,就可以作為一類文本的特征詞用于檢索更進一步的任務。

LDA模型能夠根據TF?IDF[12]計算出每個詞的權重,一篇文檔中所有詞的權重和為1。利用這些權重值可以將一篇文檔特征向量化,再由此向量計算出每一類的中心到各文檔中心的平均距離,平均距離小則表示這一類比較緊密,而類之間的距離則反映了類與類之間的相似度。在做漢語文本實驗的75 000篇文檔中,對應表2的聚類結果,有149篇屬于1類,896篇屬于2類,1 173篇屬于3類,42篇屬于4類,502篇屬于5類,其余則屬于另外58類。采用[α]余弦夾角計算兩文本之間的相似度[13],即:

表6給出了不同數量文本集在聚類時耗費的時間,從表中可以看出,相同文本數的聚類中,漢語花費的時間遠高于維吾爾語和英語。在LDA模型中,算法的迭代時間是和文本數及文本中包含的詞成正比的,除此之外,聚類種類[k]值和文本集中所有不同詞匯的個數也直接影響每次迭代計算量。本次實驗中中文文本平均每篇大小為5.4 KB,略大于維文的4.8 KB,英文則只有1.7 KB,在utf?8編碼下,三種語言下每篇文檔所含詞的總數相差很大。語料來源是人們可以隨意發表文章的微信和博客,文檔中會出現很多不規范的用語,在停用詞表中只能包含極少部分出現頻率比較高的符號,大量的符號和錯誤拼寫則作為新的詞匯進入到算法中,漢語分詞不準確時,也會產生很多沒有明顯意義的“詞”,這些不同詞的總個數就是每篇文檔向量表示時的維度。

可以看出,隨著文本數的增加,三種語言聚類的時間也在增加,但漢語的聚類時間明顯長于其他兩種語言,表7給出隨文本數增加,每種語言文本總詞量的變化及不重復詞匯數的變化。

本文針對大量靜態文本,實現了一種在時間和效果上得以兼顧,現實可用的文本聚類方法[14]?,F有的聚類算法對維度比較低的數據基本上都能有很好的效果,但具體到文本聚類上,由于一般選擇的特征維度和文本集的詞匯量有關,能達到幾萬甚至百萬級別,會產生很多冗余和噪聲,即文本聚類中的“維度災難”難題。LDA算法通過三層貝葉斯模型得到文檔和詞分配到各個話題的概率,而不是直接將其分配到某一個話題上,再通過多次迭代的方式使其收斂。實驗證明這種方式能夠比較好地處理文本特征高維度帶來的噪音問題。
參考文獻
[1] 劉源,吐爾根·依布拉音,阿力木江·艾沙,等.基于詞干的混合策略維吾爾語文本聚類特征選擇方法研究[J].計算機應用與軟件,2012,29(12):30?32.
LIU Yuan, TURGUN Ibrahim, ALIM Asha, et al. On stem?based feature selection algorithm with mixed policies for Uyghur text clustering [J]. Computer applications and software, 2012, 29(12): 30?32.
[2] 翟獻民,田生偉,禹龍,等.面向維吾爾語文本的改進后綴樹聚類[J].計算機應用,2012,32(4):1078?1081.
ZHAI Xianmin, TIAN Shengwei, YU Long, et al. Improved suffix tree clustering for Uyghur text [J]. Journal of computer applications, 2012, 32(4): 1078?1081.
[3] 譚勛,吐爾根·依布拉音,艾山·吾買爾,等.基于相似度計算的維吾爾語詞聚類[J].新疆大學學報(自然科學版),2012,29(1):104?107.
TAN Xun, TURGUN Ibrahim, AISHAN Wumaier, et al. Uyghur words clustering based on the similarity calculation [J]. Journal of Xinjiang University (natural science edition), 2012, 29(1): 104?107.
[4] 吐爾地·托合提,艾海麥提江·阿布來提,米也塞·艾尼玩,等.一種結合GAAC和K?means的維吾爾文文本聚類算法[J].計算機工程與科學,2013,35(7):149?155.
TURDI Tohti, AHMATJAN Ablat, MUYASSAR Aniwar, et al. Combined algorithm of GAAC and K?means for Uyghur text clustering [J]. Computer engineering and science, 2013, 35(7): 149?155.
[5] BLEI D M, NG A Y, JORDAN M I. Latent dirichlet allocation [J]. The journal of machine learning research, 2003, 3: 993?1022.
[6] 馬躍淵,徐勇勇.Gibbs抽樣算法及軟件設計的初步研究[J].計算機應用與軟件,2005(2):124?126.
MA Yueyuan, XU Yongyong. An initial study on the algorithm and the software of Gibbs sampling [J]. Computer applications and software, 2005(2): 124?126.
[7] GRIFFITHS T L, STEYVERS M. Finding scientific topics [C]// Proceedings of 2004 National Academy of Sciences of the Uni?ted States of America. US: NCBI, 2004: 5228.
[8] CAO J, XIA T, LI J, et al. A density?based method for adaptive LDA model selection [J]. Neurocomputing, 2009, 72(7/9): 1775?1781.
[9] 張夢笑,王素格,王智強.基于LDA特征選擇的文本聚類[J].電腦開發與應用,2012,25(1):1?5.
ZHANG Mengxiao, WANG Suge, WANG Zhiqiang. A feature selection algorithm based on LDA for texts clustering [J]. Computer development & applications, 2012, 25(1): 1?5.
[10] 王鵬,高鋮,陳曉美.基于LDA模型的文本聚類研究[J].情報科學,2015,33(1):63?68.
WANG Peng, GAO Cheng, CHEN Xiaomei. Research on LDA model based on text clustering [J]. Information science, 2015, 33(1): 63?68.
[11] AGGARWAL C C, YU P S. Finding generalized projected clusters in high dimensional spaces [C]// 2002 ACM SIGMOD Record. [S.l.]: ACM, 2000: 70?81.
[12] SALTON G, MCGILL M J. Introduction to modern information retrieval [M]. US: McGraw?Hill, 2004.
[13] 湯秋蓮.基于BTM的短文本聚類[D].合肥:安徽大學,2014.
TANG Qiulian. Short text clustering based on BTM [D]. Hefei: Anhui University, 2014.
[14] 彭敏,官宸宇,朱佳暉,等.面向社交媒體文本的話題檢測與追蹤技術研究綜述[J].武漢大學學報(理學版),2016,62(3):197?217.
PENG Min, GUAN Chenyu, ZHU Jiahui, et al. A survey on topic detection and tracking in social media text [J]. Journal of Wuhan University (natural science edition), 2016, 62(3): 197?217.