田亮 吐?tīng)柛ひ啦祭? 艾山·吾買爾 卡哈爾江·阿比的熱西提
關(guān)鍵詞: 文本聚類; LDA模型; 多語(yǔ)言; 文本特征提取; 相似度聚類; 權(quán)重
中圖分類號(hào): TN911?34; TP391 ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ?文章編號(hào): 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
隨著科技和互聯(lián)網(wǎng)的發(fā)展,普通民眾也越來(lái)越傾向于在網(wǎng)絡(luò)媒體上發(fā)聲,除了專用的網(wǎng)絡(luò)平臺(tái)如微博、微信等,一般新聞網(wǎng)站也會(huì)在每篇新聞后開(kāi)通評(píng)論區(qū)。這些數(shù)據(jù)本身有很高的價(jià)值,除了商業(yè)價(jià)值外,也會(huì)關(guān)系到社會(huì)的和諧穩(wěn)定。中國(guó)國(guó)內(nèi)使用最普遍的是漢語(yǔ)文本,但同時(shí)存在少數(shù)民族聚集區(qū)使用其民族傳統(tǒng)的語(yǔ)言。新疆有超過(guò)一千萬(wàn)維吾爾族同胞使用他們本族語(yǔ)言,也有維吾爾語(yǔ)網(wǎng)頁(yè)和論壇供維吾爾族同胞交流和傳播思想。在國(guó)家“一帶一路”政策下,新疆的地理位置和語(yǔ)言特色也凸顯其重要性,維吾爾語(yǔ)屬于阿勒泰語(yǔ)系突厥語(yǔ)族,和中亞許多國(guó)家的語(yǔ)言有相似的語(yǔ)言特征。新疆作為中國(guó)的一個(gè)窗口,既需要與中亞多國(guó)保持高效交流,又要保證安全和穩(wěn)定,如何有效對(duì)網(wǎng)絡(luò)平臺(tái)進(jìn)行監(jiān)管成為亟需解決的問(wèn)題。針對(duì)維吾爾語(yǔ)特點(diǎn),已經(jīng)有一些維吾爾語(yǔ)文本算法被提出,文獻(xiàn)[1]提出基于詞干混合策略的維吾爾語(yǔ)聚類方法,文獻(xiàn)[2?3]分別提出維吾爾語(yǔ)的改進(jìn)后綴樹(shù)聚類算法以及基于相似度維吾爾語(yǔ)詞的聚類方法,文獻(xiàn)[4]針對(duì)維吾爾語(yǔ)文本聚類提出一種結(jié)合GAAC和K?means的方法,但只針對(duì)給定的4類少量文本做了實(shí)驗(yàn)。
本文根據(jù)漢語(yǔ)、維吾爾語(yǔ)及英語(yǔ)的特點(diǎn),結(jié)合LDA模型,由對(duì)聚類文本的分析計(jì)算出最優(yōu)的聚類數(shù)[k],將其作為L(zhǎng)DA模型的參數(shù)對(duì)文本聚類,再將所得信息綜合到一個(gè)文本文件上,供用戶查看分析。提取的信息可用于商業(yè)分析,也可用于觀察民情,還能對(duì)利用網(wǎng)絡(luò)別有用心的一些人筑起一道防范墻。
文獻(xiàn)[5]提出的LDA模型是一個(gè)三層的概率模型,所謂三層是指文檔集層、文檔層和詞組層。為了將模型表示清楚,先設(shè)文檔集為[D],包含[M]篇文檔,[M]篇文檔可表示為[W1,W2,…,WM],其中[Wm]表示第[m]篇文檔。文檔集共由[V]個(gè)不同的詞組組成,任取一篇文檔設(shè)由[N]個(gè)詞組組成,表示為[w1,w2,…,wN,]其中,[wn]表示第[n]個(gè)詞組,如圖1所示。
圖1中[α,β]表示文檔集層的環(huán)境變量,所有文檔共享此變量,分別為[M]維和[K]維向量;[K]是設(shè)置的話題數(shù);[θ,φ]表示文檔層變量,分別為[M×K]和[K×V]的矩陣;[W,Z]表示文檔內(nèi)詞組層變量,[W]就是看到的詞組,而[Zm,n]則代表第[m]篇文檔中第[n]個(gè)詞組潛在的主題分配。圖1中箭頭表示的是依賴關(guān)系,可表示成條件概率形式。LDA模型中變量比較多,依賴關(guān)系也復(fù)雜,所以很多代碼都采用Gibbs采樣[6]簡(jiǎn)化算法。
在對(duì)文本聚類時(shí),首先需要解決聚類種類[k]值,有些任務(wù)中[k]值是很容易確定的,如只從體育板塊和科技板塊爬取的數(shù)據(jù)就可以將[k]值確定為2,但要處理從微博等公眾媒體上爬取的數(shù)據(jù)時(shí),[k]值的確定就變得困難而且重要了。如果取值太小,有些類里會(huì)出現(xiàn)涉及多個(gè)不用領(lǐng)域的文檔,如果取值太大,則有些類不能反映一個(gè)完整的領(lǐng)域。文獻(xiàn)[7]提出利用topic_number_ log [P(wT)]曲線來(lái)確定話題數(shù)的方法,其中,[w]代表文檔集里所有的詞,[T]表示給定話題數(shù),當(dāng)[T]取不同值時(shí),有一個(gè)值能使log [P(wT)]最大,Thomas認(rèn)為這個(gè)值就是此文檔集應(yīng)取的話題數(shù)。文獻(xiàn)[8]提出平均最小距離概念,并指出平均距離越小,結(jié)構(gòu)越穩(wěn)定。
研究者曾將LDA算法與其他聚類方法相結(jié)合,文獻(xiàn)[9]提出先用LDA模型產(chǎn)生文本特征,再使用k?means聚類算法對(duì)其聚類,文獻(xiàn)[10]提出的算法中使用LDA模型產(chǎn)生文本的特征向量,進(jìn)一步使用層次聚類算法對(duì)這些特征聚類。在研究中發(fā)現(xiàn)也存在如下弊端:
1) 對(duì)于大量文本的聚類算法,時(shí)間是必須考慮的因素;
2) 在特征表示上,通過(guò)文本屬于不同話題簇的概率作為特征的表示方法,通常會(huì)存在較高的噪音,這就導(dǎo)致了“緯度災(zāi)難”問(wèn)題[11]。
3) 需要事先設(shè)定聚類數(shù),不適用直接從微信、博客上爬取的語(yǔ)料。
實(shí)驗(yàn)使用的主要硬件配置為:CPU E5?2690 v4 2.60 GHz,內(nèi)存500 GB,操作系統(tǒng)為Centos 7.2,編程語(yǔ)言采用Python 3.5,接口使用了Django框架。實(shí)驗(yàn)數(shù)據(jù)由微信平臺(tái)上爬取,漢語(yǔ)有75 000篇,維吾爾語(yǔ)和英語(yǔ)各有15 000篇文檔(均除去預(yù)處理后少于5個(gè)詞的文檔)。
2.1 ?系統(tǒng)流程
本系統(tǒng)采用的是服務(wù)器?客戶端形式,由客戶端發(fā)送請(qǐng)求,并提交待聚類文本集的下載地址,服務(wù)器將文本下載后調(diào)用聚類算法模塊,聚類完成后將結(jié)果寫(xiě)入一個(gè)文本文件,并將文件放入客戶端可訪問(wèn)的地址,最后通過(guò)回調(diào)函數(shù)告知客戶端聚類完成的地址,客戶端再將文件下載到本地以供閱讀和分析。具體實(shí)驗(yàn)流程如圖2所示。
語(yǔ)言的類型一般會(huì)由提交文本的用戶給出,如果沒(méi)有給出則根據(jù)文檔內(nèi)容的編碼調(diào)用語(yǔ)種識(shí)別模塊來(lái)判定。確定語(yǔ)言種類后,根據(jù)不同語(yǔ)言做相應(yīng)的數(shù)據(jù)預(yù)處理,漢語(yǔ)屬于孤立語(yǔ),缺乏詞形的變化,對(duì)詞序有嚴(yán)格的要求;維吾爾語(yǔ)屬于黏著語(yǔ),通常一個(gè)詞干對(duì)應(yīng)很多后綴來(lái)表示不同的意思;英語(yǔ)屬于屈折語(yǔ),一個(gè)詞綴通常有不同的意思。對(duì)于漢語(yǔ),在聚類前需要進(jìn)行分詞,使用開(kāi)源工具包jieba實(shí)現(xiàn)漢語(yǔ)文本分詞,維吾爾語(yǔ)和英語(yǔ)則需要首先將標(biāo)點(diǎn)符號(hào)與單詞分開(kāi)。
2.2 ?系統(tǒng)功能
本系統(tǒng)的主要功能設(shè)計(jì)如下:
1) 具有文本聚類功能,根據(jù)英漢維語(yǔ)言的各自特點(diǎn)實(shí)現(xiàn)對(duì)其文本的聚類。
2) 通過(guò)對(duì)文檔樣本的分析,自動(dòng)計(jì)算出此文檔集應(yīng)聚集幾個(gè)類別。
3) 提取每一類的關(guān)鍵詞,根據(jù)TF?IDF權(quán)重,給出排序靠前的若干詞,通過(guò)對(duì)關(guān)鍵詞的分析來(lái)判斷這一類文本相關(guān)內(nèi)容。
4) 對(duì)于每一篇文檔,不僅給出它所屬的類別,也給出它屬于每個(gè)類別的概率。
5) 用戶可以根據(jù)每一類的中心向量計(jì)算類之間的相似度。
2.3 ?實(shí)驗(yàn)結(jié)果
在確定聚類種類時(shí),使用粗細(xì)結(jié)合的方法,即第一次找到大致范圍,第二次再確定具體數(shù)值。以漢語(yǔ)文本聚類來(lái)說(shuō)明,根據(jù)文獻(xiàn)[4]中提出的方法,先在區(qū)間10~400范圍內(nèi)找出較小的值,但不會(huì)每個(gè)數(shù)都計(jì)算,而是選用一定的跨度,如漢語(yǔ)文本實(shí)驗(yàn)中,在區(qū)間50~70中包含最優(yōu)值,接下來(lái)在50~70區(qū)間內(nèi)以增量1的方式找出這批文本的最優(yōu)值。表1給出聚類種類[k]從10~100的[logP(wT)]取值。
最終,得到漢語(yǔ)文本應(yīng)聚63類,維吾爾語(yǔ)應(yīng)聚38類而英語(yǔ)聚50類。
所以用較多的時(shí)間來(lái)計(jì)算聚類最優(yōu)的種類,通過(guò)實(shí)驗(yàn)可以發(fā)現(xiàn),在LDA模型下,直接生成的話題簇可以代表聚類種類。在表2~表4中羅列了漢語(yǔ)文本、維吾爾語(yǔ)文本及英語(yǔ)文本聚類后,詞頻最高的前10個(gè)詞,可以直觀地發(fā)現(xiàn),這些詞都有緊密的聯(lián)系,放在一起,就可以作為一類文本的特征詞用于檢索更進(jìn)一步的任務(wù)。
LDA模型能夠根據(jù)TF?IDF[12]計(jì)算出每個(gè)詞的權(quán)重,一篇文檔中所有詞的權(quán)重和為1。利用這些權(quán)重值可以將一篇文檔特征向量化,再由此向量計(jì)算出每一類的中心到各文檔中心的平均距離,平均距離小則表示這一類比較緊密,而類之間的距離則反映了類與類之間的相似度。在做漢語(yǔ)文本實(shí)驗(yàn)的75 000篇文檔中,對(duì)應(yīng)表2的聚類結(jié)果,有149篇屬于1類,896篇屬于2類,1 173篇屬于3類,42篇屬于4類,502篇屬于5類,其余則屬于另外58類。采用[α]余弦?jiàn)A角計(jì)算兩文本之間的相似度[13],即:
表6給出了不同數(shù)量文本集在聚類時(shí)耗費(fèi)的時(shí)間,從表中可以看出,相同文本數(shù)的聚類中,漢語(yǔ)花費(fèi)的時(shí)間遠(yuǎn)高于維吾爾語(yǔ)和英語(yǔ)。在LDA模型中,算法的迭代時(shí)間是和文本數(shù)及文本中包含的詞成正比的,除此之外,聚類種類[k]值和文本集中所有不同詞匯的個(gè)數(shù)也直接影響每次迭代計(jì)算量。本次實(shí)驗(yàn)中中文文本平均每篇大小為5.4 KB,略大于維文的4.8 KB,英文則只有1.7 KB,在utf?8編碼下,三種語(yǔ)言下每篇文檔所含詞的總數(shù)相差很大。語(yǔ)料來(lái)源是人們可以隨意發(fā)表文章的微信和博客,文檔中會(huì)出現(xiàn)很多不規(guī)范的用語(yǔ),在停用詞表中只能包含極少部分出現(xiàn)頻率比較高的符號(hào),大量的符號(hào)和錯(cuò)誤拼寫(xiě)則作為新的詞匯進(jìn)入到算法中,漢語(yǔ)分詞不準(zhǔn)確時(shí),也會(huì)產(chǎn)生很多沒(méi)有明顯意義的“詞”,這些不同詞的總個(gè)數(shù)就是每篇文檔向量表示時(shí)的維度。
可以看出,隨著文本數(shù)的增加,三種語(yǔ)言聚類的時(shí)間也在增加,但漢語(yǔ)的聚類時(shí)間明顯長(zhǎng)于其他兩種語(yǔ)言,表7給出隨文本數(shù)增加,每種語(yǔ)言文本總詞量的變化及不重復(fù)詞匯數(shù)的變化。
本文針對(duì)大量靜態(tài)文本,實(shí)現(xiàn)了一種在時(shí)間和效果上得以兼顧,現(xiàn)實(shí)可用的文本聚類方法[14]。現(xiàn)有的聚類算法對(duì)維度比較低的數(shù)據(jù)基本上都能有很好的效果,但具體到文本聚類上,由于一般選擇的特征維度和文本集的詞匯量有關(guān),能達(dá)到幾萬(wàn)甚至百萬(wàn)級(jí)別,會(huì)產(chǎn)生很多冗余和噪聲,即文本聚類中的“維度災(zāi)難”難題。LDA算法通過(guò)三層貝葉斯模型得到文檔和詞分配到各個(gè)話題的概率,而不是直接將其分配到某一個(gè)話題上,再通過(guò)多次迭代的方式使其收斂。實(shí)驗(yàn)證明這種方式能夠比較好地處理文本特征高維度帶來(lái)的噪音問(wèn)題。
參考文獻(xiàn)
[1] 劉源,吐?tīng)柛ひ啦祭?,阿力木江·艾沙,?基于詞干的混合策略維吾爾語(yǔ)文本聚類特征選擇方法研究[J].計(jì)算機(jī)應(yīng)用與軟件,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] 翟獻(xiàn)民,田生偉,禹龍,等.面向維吾爾語(yǔ)文本的改進(jìn)后綴樹(shù)聚類[J].計(jì)算機(jī)應(yīng)用,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] 譚勛,吐?tīng)柛ひ啦祭簦健の豳I爾,等.基于相似度計(jì)算的維吾爾語(yǔ)詞聚類[J].新疆大學(xué)學(xué)報(bào)(自然科學(xué)版),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] 吐?tīng)柕亍ね泻咸?,艾海麥提江·阿布?lái)提,米也塞·艾尼玩,等.一種結(jié)合GAAC和K?means的維吾爾文文本聚類算法[J].計(jì)算機(jī)工程與科學(xué),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抽樣算法及軟件設(shè)計(jì)的初步研究[J].計(jì)算機(jī)應(yīng)用與軟件,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] 張夢(mèng)笑,王素格,王智強(qiáng).基于LDA特征選擇的文本聚類[J].電腦開(kāi)發(fā)與應(yīng)用,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].情報(bào)科學(xué),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].合肥:安徽大學(xué),2014.
TANG Qiulian. Short text clustering based on BTM [D]. Hefei: Anhui University, 2014.
[14] 彭敏,官宸宇,朱佳暉,等.面向社交媒體文本的話題檢測(cè)與追蹤技術(shù)研究綜述[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),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.