張毓,陳軍清
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
隨著社交媒體的廣泛流行,短信業(yè)務(wù)得到了迅猛的發(fā)展,但是垃圾短信對(duì)人們的騷擾也越來越嚴(yán)重,已經(jīng)嚴(yán)重?cái)_亂了我們正常的經(jīng)濟(jì)生活,不利于我們社會(huì)的和諧穩(wěn)定。隨著我們國家現(xiàn)代化的不斷建設(shè)和發(fā)展,使用信息技術(shù)來自動(dòng)化的處理垃圾短信文本的需要也越來越緊迫。但是不同于正常文本聚類研究,垃圾短信文本具有其稀疏性[1],文本中的大部分詞語只出現(xiàn)一次,因此詞頻-逆次序(TF-IDF)算法沒法在短信文本聚類研究中起作用。一些研究人員已經(jīng)通過增加預(yù)料例如Wikipedia[2]或者Ontology[3],來解決這個(gè)問題。
本文我們提出了一種基于深度特征語義學(xué)習(xí)模型的垃圾短信文本聚類方法。這些模型包括RNN模型,GRU模型,LSTM模型,bidirectional LSTM模型(BILISTM)。我們的貢獻(xiàn)總結(jié)如下:(1)我們系統(tǒng)對(duì)比了上述模型在垃圾短信數(shù)據(jù)集上的聚類效果。(2)我們是第一個(gè)在垃圾短信文本數(shù)據(jù)集上運(yùn)用BI-LISTM模型進(jìn)行聚類研究的。我們的模型由于使用了BI-LSTM神經(jīng)網(wǎng)絡(luò),既可以利用過去的信息,又可以利用將來的信息。該模型達(dá)到了極其可觀的聚類效果。(3)我們的研究表明,相對(duì)于其他模型而言,BI-LISM模型具有強(qiáng)大的健壯性。其對(duì)于詞向量依賴更小。
本節(jié)LSTM、BI-LISTM以及K-means。
在自然語言處理任務(wù)中,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[4]已經(jīng)取得巨大的成功以及廣泛應(yīng)用。RNN引入了循環(huán)單元,能夠使模型對(duì)前面的信息進(jìn)行記憶并應(yīng)用到當(dāng)前輸出的計(jì)算中。
如圖1所示,我們給RNN模型加入了一層池化層(pooling),其包含輸入層x,隱藏層h,輸出層y.在短信文本聚類研究,x代表詞向量,y代表垃圾短信類別。圖1我們展示了一個(gè)垃圾短信聚類的例子,“代開正規(guī)發(fā)票”作為四個(gè)詞向量,被聚類到商業(yè)廣告類別中。輸入層由各個(gè)時(shí)間段的特征構(gòu)成,即詞向量,可以用onehot來表示,不過容易導(dǎo)致詞維度過大,而且導(dǎo)致“語義鴻溝”。本文使用Word2Vec來生成詞向量。每個(gè)詞向量擁有相同的維度,80維。輸出層表示每條短信經(jīng)過模型運(yùn)算之后的最可能的類別,其維數(shù)和垃圾短信的類別數(shù)目相同,為5。與前饋網(wǎng)絡(luò)相比,RNN網(wǎng)絡(luò)加強(qiáng)了當(dāng)前隱藏層與之前隱藏層之間的聯(lián)系(RNN隱藏層的權(quán)值共享)。BNN循環(huán)層被設(shè)計(jì),用來存儲(chǔ)歷史信息。在這篇文章中,我們運(yùn)用了長短期時(shí)間記憶網(wǎng)絡(luò)(LSTM)[5]來進(jìn)行垃圾短信聚類研究。LSTM網(wǎng)絡(luò)與RNN網(wǎng)絡(luò)類似,除了引入了cell單元,其可以避免長期依賴關(guān)系問題。所以,與RNN相比,LSTM網(wǎng)絡(luò)在處理長期依賴問題上,表現(xiàn)地更好。圖1表示了用于提取短信聚類文本特征的LSTM模型。
圖1 LSTM模型
在自然語言處理領(lǐng)域,對(duì)于序列標(biāo)注任務(wù),我們可以通過雙向LSTM網(wǎng)絡(luò)模型,來獲取任意時(shí)刻過去和將來的輸入特征?;诖?,在垃圾短信文本聚類任務(wù)中,我們也可以在任意時(shí)刻,通過雙向LSTM網(wǎng)絡(luò)模型(圖2)[6]充分利用過去的特征(通過前向狀態(tài))以及將來的特征(通過后向狀態(tài))。我們使用反向傳播算法(BPTT)來訓(xùn)練雙向LSTM神經(jīng)網(wǎng)絡(luò)。任意時(shí)刻的信息,經(jīng)過展開的網(wǎng)絡(luò)以前向、后向兩種相同的方式傳遞,來達(dá)到訓(xùn)練網(wǎng)絡(luò)的目的。我們僅僅需要在句子的開頭及結(jié)尾區(qū)別對(duì)待就好。在實(shí)際實(shí)現(xiàn)中,我們?cè)谡麠l垃圾短信文本做前向、后向傳遞,僅僅在每條垃圾短信文本的開頭重置隱藏狀態(tài)為0,我們運(yùn)用批處理技術(shù),使得多個(gè)句子在同一時(shí)刻,可以并行運(yùn)行。
Kmeans聚類方法[7]是一種典型基于劃分的聚類方法。其利用文本對(duì)象之間的距離來判斷聚類對(duì)象之間的相似性。它的目標(biāo)是使下面的表達(dá)式值最?。?/p>
將包含有N個(gè)文檔的文本數(shù)據(jù)集,劃分成文K個(gè)分組,且K<=N,每一個(gè)分組代表的是一個(gè)聚類對(duì)象。一般來說基于劃分的方式是采用迭代計(jì)算的方式,不斷地計(jì)算每一個(gè)分組的中心類別,同時(shí)不斷地將文本對(duì)象分配給與中心對(duì)象相似度最接近的類別對(duì)象中,直到準(zhǔn)則函數(shù)開始收斂,就不再進(jìn)行迭代過程。
圖2 雙向LSTM模型
其具體操作步驟如下:(1)任意選取K個(gè)對(duì)象作為最初的類別對(duì)象中心。(2)將數(shù)據(jù)集中的對(duì)象根據(jù)最小距離分配到最相近的類別中心。
(3)使用每一個(gè)聚類中的平均值作為新的類別對(duì)象中心。
(4)重復(fù)步驟(2)-(3)直到聚類的中心不再發(fā)生變化。
(5)結(jié)束操作,得到K個(gè)聚類中心。
BiLSTM-K-means模型總體的結(jié)構(gòu)如圖3所示,它由三個(gè)主要部分構(gòu)成:詞向量層,BiLSTM網(wǎng)絡(luò)和K-means(來聚類提取到的垃圾短信文本特征)。網(wǎng)絡(luò)的輸入是一段垃圾短信文本序列,其經(jīng)過結(jié)巴分詞,再將分詞后的垃圾短信文本,向量化,(文中向量的方法有Word2Vec已經(jīng)隨機(jī)初始化)。再通過模型提取特征之后,運(yùn)行K-means聚類方法,來達(dá)到垃圾短信文本聚類的目的。
每條垃圾短信文本的詞通過詞向量表達(dá)輸入到Bi-LSTM網(wǎng)絡(luò)中,經(jīng)過前向。后向傳播,其輸出會(huì)包含上下文信息。在得到BILSTM網(wǎng)絡(luò)雙向表達(dá)的詞向量[8]之后,我們運(yùn)用Pooling機(jī)制去融合每條垃圾短信中不同時(shí)刻的詞向量信息,即句向量,也就是我們所要提取的特征向量。常見的Pooling方式有Max Pooling和Mean Pooling等。當(dāng)一個(gè)序列中的關(guān)鍵部分能代表其含義時(shí),Max Pooling能很好地捕捉到這一突出部分并在Pooling表達(dá)中呈現(xiàn)出來;Mean Pooling則考慮序列中全局的信息,當(dāng)要求序列總體反映某種性質(zhì)時(shí),可以通過Mean Pooling匯總序列的信息。在垃圾短信文本聚類任務(wù)上,不能由單一關(guān)鍵信息表達(dá),其目標(biāo)重要性程度并不集中,因此我們選取Mean Pooling的方式.我們也通過實(shí)驗(yàn)比較了兩者的效果,證實(shí)Mean Pooling效果更加明顯。
由詞向量構(gòu)成的垃圾短信文本,經(jīng)過Pooling機(jī)制后,得到句向量,本文中的維度為100維度,也就是我們經(jīng)過網(wǎng)絡(luò)提取得到的特征。再將其當(dāng)做K-means的輸入,就實(shí)現(xiàn)了我們垃圾短信文本聚類的目的。
圖3 BiLSTM-K-means模型
本文中的數(shù)據(jù)來源于中國移動(dòng)蘇州研究院提供的20w條垃圾短信數(shù)據(jù),其一共有5個(gè)類型,分別為廣告短信、政治短信、涉黑短信、詐騙短信以及涉黃短信。我們采用了10折交叉驗(yàn)證的方式,來將20w條垃圾短信文本劃分為如下訓(xùn)練集、測(cè)試集、驗(yàn)證集。
表1 數(shù)據(jù)集分布
C:集合當(dāng)中垃圾短信文本的類別
Number:集合中包含垃圾短信文本的條數(shù)
L(mean/max):每條垃圾短信包含詞的個(gè)數(shù)
|V|:數(shù)據(jù)中包含詞的個(gè)數(shù)
本文中所使用的數(shù)據(jù)時(shí)由中國移動(dòng)蘇州研究院提供的垃圾短信文本數(shù)據(jù),通過觀察,其存在大量難以處理的文本。例如,為了逃過關(guān)鍵詞的審查機(jī)制,垃圾短信文本中含有大量的非法字符,其主要是加在敏感詞匯之間如:普*稅、做*賬、上-葡-京、【農(nóng) -行】等;還有垃圾短信文本中含有大量的變體字,如:“幵”是“開”的變體等。給我們的文本向量化帶來了很多難度。因此,本文對(duì)垃圾短信文本數(shù)據(jù)首先進(jìn)行了規(guī)范化處理。包括清除干擾字符、轉(zhuǎn)換不了的字符等。
這樣經(jīng)過一系列的處理后,垃圾短信文本數(shù)據(jù)就變成正常的可以用來向量化的文本數(shù)據(jù)了。我們首先采用結(jié)巴分詞工具來對(duì)垃圾短信文本數(shù)據(jù)進(jìn)行切分,這樣我們就得到了經(jīng)過分詞之后,最長由160個(gè)詞組組成的垃圾短信文本數(shù)據(jù)。
為了得到更好的初始詞向量,本文采用Word2Vec(http://code.google.com/p/word2vec)來初始化詞向量,經(jīng)效果對(duì)比,我們采用skip-gram語言模型,負(fù)采樣來訓(xùn)練模型,來生成80維的詞向量,其語料庫由中文維基百科預(yù)料以及垃圾短信文本數(shù)據(jù)構(gòu)成。
聚類效果性能可以通過比較垃圾短信的標(biāo)簽以及所聚類結(jié)果的類別來評(píng)價(jià)。在本文中,我們通過ACC(準(zhǔn)確度)以及SSE(Sum of Squared Error,誤差平方和)這兩種指標(biāo)來衡量聚類的效果。對(duì)于一條給定的垃圾短信文本,其ACC(準(zhǔn)確度)[9]可以通過如下得出:
其中,yi以及ci分別是其對(duì)應(yīng)的真實(shí)標(biāo)簽類別和經(jīng)過聚類后其所屬的聚類類別標(biāo)簽,n是所有垃圾短信文本的總數(shù),δ(yi,ci)是制式函數(shù),當(dāng)且僅當(dāng)yi與ci相同時(shí),其值為1,其余為0。
我們所有模型的訓(xùn)練數(shù)據(jù)都是由20w條垃圾短信基于10折交叉驗(yàn)證得到的14w訓(xùn)練集,我們借鑒了常用的訓(xùn)練詞向量方法,限制了詞向量詞表的長度為5w,我們只訓(xùn)練出現(xiàn)評(píng)論最高的5w個(gè)詞向量,其他的詞向量我們用一個(gè)非常見詞向量<UNK>來表示。
我們的模型有兩層BI-LSTM,第一層有100個(gè)神經(jīng)元,第二層有20個(gè)神經(jīng)元。模型參數(shù)[-1,1]隨機(jī)初始化,我們的激活函數(shù)采用Sgmoid,droupout值為0.5,對(duì)于學(xué)習(xí)率我們采用這種策略:在前五次迭代過程中,學(xué)習(xí)率設(shè)置為1,五次迭代之后,每經(jīng)過一次迭代,學(xué)習(xí)率減半;訓(xùn)練集的batch-size設(shè)置為64,測(cè)試集的batch-size則為128。
訓(xùn)練過程中,采用了基于隨機(jī)打亂的mini-batches的隨機(jī)梯度下降法的Adadelta更新規(guī)則,而當(dāng)?shù)螖?shù)超過50次,或者驗(yàn)證數(shù)據(jù)集上的F1值連續(xù)下降10次后,我們就終止訓(xùn)練,并選擇在驗(yàn)證集上F1值最高時(shí)的模型參數(shù)。
在本文中,我們訓(xùn)練了RNN,LSTM,BI-lstm,以及GRU等模型來進(jìn)行垃圾短信文本聚類實(shí)驗(yàn),采用ACC(準(zhǔn)確度)作為評(píng)價(jià)指標(biāo)。同時(shí)為了驗(yàn)證我們模型的健壯性,我們使用了兩種方式Word2Vec以及隨機(jī)初始化來初始化詞向量,實(shí)驗(yàn)結(jié)果如表2所示。
表2 垃圾短信文本聚類模型性能對(duì)比
如上表所示,RANDOM是詞向量都是隨機(jī)生成的80維向量,而下面的詞向量則是經(jīng)過Word2Vec訓(xùn)練得來的。從上面可以得知,無論在哪個(gè)模型當(dāng)中,經(jīng)過訓(xùn)練之后的詞向量,即使直接用K-means來進(jìn)行聚類研究,也比RANDOM詞向量的效果高10%。通過對(duì)比。兩種詞向量在不同模型中的表現(xiàn),我們不難發(fā)現(xiàn),即使只是用了最簡單的RNN-K-means模型,其對(duì)詞向量的依賴也沒有K-means模型那么大,其性能提升大概有8個(gè)百分點(diǎn)。在所有的模型中,BI-LSTM-K-means模型,其性能提升大概5.3個(gè)百分點(diǎn),而LSTMK-means提升6.9個(gè)百分點(diǎn),GRU-KMEANS提升7.2個(gè)百分點(diǎn),這表明我們的BI-LSTM模型對(duì)詞向量的質(zhì)量依賴最小。表明其模型健壯性最佳。
在聚類模型中,我們的BI-LSTM模型的性能最佳,無論在哪種詞向量中,RANDOM詞向量實(shí)驗(yàn)中,其ACC可以達(dá)到90%,而Word2Vec實(shí)驗(yàn)中,ACC達(dá)到了97^,而且我們可以發(fā)現(xiàn),無論是哪種詞向量,在沒有應(yīng)用神經(jīng)網(wǎng)絡(luò)模型來提取特征時(shí),其效果都不高,在73%,而引入 RNN(RNN,GRU,LSTM,BI-LIST)模型之后,其效果有了質(zhì)的提升,即使是在RANDOM詞向量實(shí)驗(yàn)中,其ACC都在81%以上,在效果最好的BILSTM-K-means模型中,其ACC在90%;而在Word2-Vec實(shí)驗(yàn)中,其效果更是高達(dá)97%。
本文根據(jù)基于神經(jīng)網(wǎng)絡(luò)的大數(shù)據(jù)分析方法,設(shè)計(jì)了一種使用回復(fù)式神經(jīng)網(wǎng)絡(luò)BI-LSTM學(xué)習(xí)模型的文本特征提取架構(gòu)。根據(jù)網(wǎng)絡(luò)模型學(xué)習(xí)到的文本向量特征,利用傳統(tǒng)K-means聚類算法進(jìn)行聚類操作,實(shí)驗(yàn)的數(shù)據(jù)來源于實(shí)際的生產(chǎn)生活中。通過實(shí)驗(yàn)的結(jié)果表明,通過神經(jīng)網(wǎng)絡(luò)模型進(jìn)行文本特征提取后處理的實(shí)驗(yàn)結(jié)果要好于直接使用詞向量文本聚類的實(shí)驗(yàn)結(jié)果。
同時(shí)本文系統(tǒng)的比較了一些基于深度特征語義學(xué)習(xí)模型的垃圾短信文本聚類方法的效果,這些模型包括RNN-K-means模型,GRU-K-means模型,LSTMK-means模型,BI-LSTM-K-means模型,實(shí)驗(yàn)結(jié)果證明BI-LSTM-K-means最優(yōu)。
最后我們使用RANDOM以及Word2Vec兩種模型來驗(yàn)證模型的健壯性,通過對(duì)比實(shí)驗(yàn)我們發(fā)現(xiàn),相對(duì)于其他模型而言,BI-LISM模型具有強(qiáng)大的健壯性。其對(duì)于詞向量依賴更小。
參考文獻(xiàn):
[1]Charu CAggarwal and Cheng Xiang Zhai.2012.ASurvey of Text Clustering Algorithms.In Mining Text Data,pages77-128.Springer.
[2]Sommath Banerjee,Krishnam Ramanathan,and Ajay Vupta.2007.Clustering Short Texts Using Wikipedia.In SIGIR,pages787-788.ACM.
[3]Samah Fodeh,BillPunch,and Pang-Ning Tan.2011.On Ontology-Driven Document Clustering Using Core Semantic Fieatures.Knowledge and Information Systems,28(2):395-421.
[4]TomasMikolov,Stefan Kombrink,Lukas Burget,Jan H Cernocky,and Sacjeev Khudanpur.2011.Extensions of Recurrent Neural Network Language Model.In ICASSP,pages 5528-5531.IEEE.
[5]Swpp Hochreiterand Jurgen Schmidhuber.1997.Long Short-Term Memory.Neural Computation,9(8):1735-1780.
[6]A.Gravesand J.Schmidhuber.2005.Frame wise Phoneme Classification with Bidirecional LSTM and Other Neural Network Architectures.Neural Networks.
[7]KiriWagstaff,Claire Cardie,Seth Rogers,Stefan Schrodl,etal.2011.Constrained K-means Clustering with Background Knowledge.In ICML,volume1,pages577-584.
[8]Jeffrey Penningtom,Richard Socher,and Christopher D Manning.2014.Gove:Global Vectors for Word Representation.EMNLP,12.
[9]Pehihao Huang,Yan Huang,Wei Wang,and Liang Wang.2014.Deep Embedding Network for Clustering.ICPR,2014.