国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LSTM自動編碼機的短文本聚類方法

2017-10-26 06:42:19黃健翀鄧玫玲
計算技術(shù)與自動化 2017年3期
關(guān)鍵詞:長短期記憶網(wǎng)絡(luò)自然語言處理聚類

黃健翀 鄧玫玲

摘要:一種基于文本向量化的短文本聚類方法。該方法以詞向量作為基本特征,使用基于LSTM的自動編碼機,對表征文本的詞向量進行壓縮編碼,從而將文本不定長的詞向量特征統(tǒng)一提取為統(tǒng)一輸入長度的文本特征向量。這些文本特征向量的聚類結(jié)果即為短文本的聚類結(jié)果。對這一方法使用帶標注的數(shù)據(jù)集進行了測試,使用基尼非純度作為指標衡量該方法的聚類效果與人工聚類的擬合度;同時,使用聚類中心平均距離來衡量聚類結(jié)果中句子之間的結(jié)構(gòu)相似度。結(jié)果表明,該方法更著重于匹配整體的文檔結(jié)構(gòu),得到的聚類的句子間的結(jié)構(gòu)相似度較高。

關(guān)鍵詞:自然語言處理;短文本;聚類;長短期記憶網(wǎng)絡(luò);自動編碼機

中圖分類號:TP183文獻標識碼:A

Abstract:A short text clustering method,which is based on text vectorization,is proposed in this article.Word vectors are used as basic features in this method,and are encoded and compressed by LSTMAutoEncoder to get fixed length vectors to represent the texts.These fixed length vectors are used for the final clustering.A test with labeled dataset is applied for this method,with Gini impurity used to measure the similarity of the result of the clustering of this method and human clustering.Meanwhile,innercluster distance is used as evaluation for the structural similarity within a cluster.The result shows that,this method is focused on matching the structural information of the text,as the result got a relatively high similarity within the cluster.

Key words:natural language processing;short text;clustering;long shortterm memory network;autoencooder

1引言

在自然語言處理的應(yīng)用領(lǐng)域中,文本聚類是一個重要的任務(wù)。通過文本聚類,可以根據(jù)文本內(nèi)容的性質(zhì)對海量文本進行初步的劃分,為后續(xù)如數(shù)據(jù)挖掘、標簽化處理、知識圖譜等一系列的應(yīng)用提供一定的信息。同時,文本聚類的結(jié)果對一些業(yè)務(wù)本身,諸如客服回復(fù)、病例整理等存在參考價值。在文本聚類中,以詞在文檔中的出現(xiàn)情況作為特征維度,組建特征向量并進行聚類的方法是一類較經(jīng)典的方法。該類方法依賴于兩個文檔之間共有詞的比較,需要對文檔中詞的出現(xiàn)情況進行編碼,并比較兩個編碼后的向量。在該類方法中,較經(jīng)典的文檔編碼方法是直接將詞出現(xiàn)情況進行編碼的詞袋(Bag of words)方法[1]以及進一步衍生的以詞頻-逆向文檔頻率(Term FrequencyInverse Document Frequency,TFIDF)作為權(quán)重的編碼方法。使用當文本長度較長時,文本間存在足夠多的相同詞匯,得到的表征文本的特征向量較稠密,能夠較好地應(yīng)用于文本聚類上。然而,短文本(通常在10~100詞之間)聚類問題因其文本長度短,基于詞出現(xiàn)情況生成的詞袋向量非常稀疏,詞和詞之間的重合率較低,容易由于同義詞/近義詞的語義鴻溝現(xiàn)象產(chǎn)生相似度漂移,傳統(tǒng)的聚類方式效果差強人意。

另一方面,詞袋模型在操作時并沒有考慮文本的結(jié)構(gòu)信息(Semantic Information)。雖然改進的詞袋模型使用n元(ngram)詞能夠保留部分結(jié)構(gòu)信息,但并非完整的結(jié)構(gòu)信息。

針對于短文本易受同義詞影響的特性,可以使用詞向量(Word vector)作為基礎(chǔ)特征。近義詞和同義詞的詞向量具有高相似度,可以利用這一特性,解決原先在詞袋模型中,同義詞無法識別的問題。使用詞向量作為基礎(chǔ)特征、LSTM整合處理的組合方法能有效地對文本內(nèi)在含義進行抽取,這一點已經(jīng)被最近的一些自然語言推斷(Natural Language Inference)方法充分證明了 [2][3]。因此,可以使用類似的方法,將詞向量按順序輸入到LSTM網(wǎng)絡(luò)中轉(zhuǎn)化為最終的文本向量,并使用經(jīng)典的Kmeans方法進行聚類。在文本向量的生成過程中,為了最大限度地保留有效信息,使用自動編碼機(AutoEncoder)的方式來對詞向量進行轉(zhuǎn)換的LSTM網(wǎng)絡(luò)模型進行訓(xùn)練。

2詞的分布式表示向量模型

以TFIDF作為權(quán)重的詞袋模型中,特征(后續(xù)簡述為TFIDF特征)中的單個詞語實際上是作為一個單元來進行處理的。在詞表示的級別,其表示可以視為一個僅在對應(yīng)該詞的維度上對應(yīng)值為1的詞獨熱編碼(Onehot encoding)向量。而詞袋模型則是將這些向量累加起來并乘以對應(yīng)的IDF值作為權(quán)重,得到該文檔向量中對應(yīng)于這一個詞的最終特征值。在這一過程中,詞與詞之間的關(guān)系并沒有被考慮。表達同樣意義或近似意義的詞,為該特征向量上的毫無關(guān)系的兩個維度。

基于“詞的語義由其上下文確定” 理論(A word is characterized by the company it keeps),許多分布語言模型被提出。其中較典型的有基于矩陣的分布表示——以全局向量法(Global Vector,GloVe)[4]為代表,和基于神經(jīng)網(wǎng)絡(luò)的分布表示——以本文中使用的詞向量生成工具Word2vec[5]采用的連續(xù)詞袋(Continuous BagofWords)模型和跳過語法模型(Skipgram)為代表。endprint

通過分布式表示的詞向量模型得到的詞向量,有一個特性是可以很好地表征詞和詞之間的關(guān)系。典型的例子是詞的關(guān)系的類比,如

υ("國王")-υ("王后")≈υ("男")-υ("女")

υ("英國")+υ("首都 ")≈υ("倫敦")(1)

對詞間關(guān)系有良好表達這一特性正是對短文本的表征中所需要的。這一特性使得近義詞或同義詞更容易被表征為近似的向量。這一關(guān)系能夠在后續(xù)的LSTM網(wǎng)絡(luò)中被捕捉并利用。此外,分布式表示的詞向量具有低維稠密的特點,在后續(xù)的使用上較高維稀疏的基于詞獨熱編碼(Onehot encoding)所生成的詞袋(Bag of Words)或進一步的TFIDF特征更為方便。

3基于LSTM的自動編碼機

31自動編碼機(Autoencoder)

自動編碼機是利用自監(jiān)督學(xué)習(xí)來對輸入樣本進行編碼的人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)。自動編碼機的主要用于對某種特定分布的數(shù)據(jù)集進行壓縮編碼,以達到降低數(shù)據(jù)樣本維度的目的。自動編碼機通常用于進行無監(jiān)督學(xué)習(xí)(原理為自監(jiān)督學(xué)習(xí))和特征學(xué)習(xí)[6][7]。自動編碼機及其衍生也在生成模型中得到了應(yīng)用[8]。自動編碼機的結(jié)構(gòu)主要分為兩個部分:編碼器(Encoder)與解碼器(Decoder),其中編碼器主要將原始數(shù)據(jù) 壓縮為輸出編碼 ,即:

:X→Z(2)

而解碼器則將輸出編碼 還原為接近原始數(shù)據(jù)的數(shù)據(jù),即

Ψ:Z→X′(3)

自動編碼機的原理圖如下:

圖1自動編碼機原理簡圖

將數(shù)據(jù)轉(zhuǎn)化為編碼的過程中,數(shù)據(jù)的信息有一定損失。在編碼中僅保留主要的信息。這一特性亦提供了降低隨機噪聲的能力。因此,在部分場景中會使用自動編碼機作為降噪機制,將編碼再解碼后的數(shù)據(jù)作為降噪后的結(jié)果輸出。

為使自動編碼機能夠保留原樣本中的主要信息,優(yōu)化目標設(shè)置為:

,φ=argmin,φ||X-φ((x))X||2(4)

即輸出編碼經(jīng)過解碼器還原后,其和原輸入相差距離最小,應(yīng)該能最大限度地還原原始數(shù)據(jù)。

32長短期記憶網(wǎng)絡(luò)(Long shortterm memory Neural Network)

為處理序列型的數(shù)據(jù),Gollerp[9]等提出了遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN)。遞歸神經(jīng)網(wǎng)絡(luò)將先前時刻的輸出作為輸入一部分,與此刻的外部輸入一起輸入到神經(jīng)網(wǎng)絡(luò)中,以將先前時刻的輸入信息保留并在后續(xù)中使用。為更好地處理和保留長序列的歷史信息,Hochreiter[10]等提出了長短期記憶網(wǎng)絡(luò)(Long Shortterm Memory Neural Network)。其原理如圖:

在上圖中,Xt為LSTM網(wǎng)絡(luò)當前時刻的輸入,ht-1為LSTM上一時刻的輸出,ht為當前時刻的輸出,Ct-1為LSTM上一個

時刻的細胞狀態(tài)(Cell State),Ct為LSTM當前的細胞狀態(tài)。關(guān)于細胞狀態(tài)的意義,請詳見后續(xù)的描述。

在LSTM網(wǎng)絡(luò)中,數(shù)據(jù)分為兩個支流。每個支流均由Sigmoid函數(shù)(在圖中由σ表示)來決定其對后續(xù)的影響,而tanh函數(shù)為核心處理函數(shù)。先前的信息保存在細胞狀態(tài)(Cell State)中,在結(jié)構(gòu)圖中為上路部分,如圖:

該部分首先由以下結(jié)構(gòu)生成限制函數(shù)以決定保留多少先前的歷史信息,即生成對原先細胞狀態(tài)的保留系數(shù)

在該部分中當前輸入Xt和歷史輸出ht經(jīng)過tanh函數(shù)變換后為細胞狀態(tài)的更新信息。使用一個Sigmoid函數(shù)對其進行系數(shù)變換,以決定更新信息在新的細胞狀態(tài)中的權(quán)重。最終這一部分輸出的系數(shù)加權(quán)后的更新信息。

系數(shù)加權(quán)后的歷史信息和系數(shù)加權(quán)后的更新信息直接疊加,得到新的細胞狀態(tài),如以下:

該輸出同時作為一部分的下一時刻的輸入使用。從以上結(jié)構(gòu)可以看出,LSTM網(wǎng)絡(luò)可以保留歷史信息,并根據(jù)歷史信息處理和當前輸入同時決定當前輸出。該模型用于整合序列的詞向量是非常合適的。使用LSTM網(wǎng)絡(luò),前后文的信息將得到最大保留,從而輸出一個信息較全面的文本特征。

33基于LSTM的自動編碼機的實現(xiàn)

為將文本轉(zhuǎn)換為定長的稠密向量,并盡量保留原文本序列中的信息,我們采用了基于LSTM的自動編碼機,其大致結(jié)構(gòu)如下:

在這里,為了便于說明,我們將不同時刻的LSTM網(wǎng)絡(luò)展開。句子經(jīng)分詞后,表示各個詞的詞向量按順序輸入到作為編碼器的LSTM網(wǎng)絡(luò)中,解碼器直接獲取編碼器的輸出進行解碼,并以原來的詞向量作為優(yōu)化目標,使信息經(jīng)過編碼器和解碼器后得到最大保留,以保證原句子被轉(zhuǎn)換為統(tǒng)一的短文本向量后其信息得到了最大的保留。同時,使用LSTM網(wǎng)絡(luò)順序處理詞向量信息最大程度地保留了原先的句子結(jié)構(gòu)信息。

詞向量由Word2Vec[5]工具對文本進行自監(jiān)督訓(xùn)練后輸出生成,到目前為止所有的工作都可以使用不需人工標注的數(shù)據(jù)。

4聚類方法與整體說明

使用LSTM自動編碼機生成文本特征向量后,使用Kmeans聚類算法對文本進行聚類。方法整體結(jié)構(gòu)如下:

先通過Word2Vec神經(jīng)網(wǎng)絡(luò)進行詞嵌入(Word Embedding),使用輸出的詞向量作為序列輸入到LSTM網(wǎng)絡(luò)中進行以自動編碼機(AutoEncoder)的方式進行自監(jiān)督訓(xùn)練,得到的文本向量最終輸入到Kmeans聚類中進行文本聚類。

本文中,Word2Vec的詞向量生成使用的工具是Gensim,語料庫(Corpus)使用了中文維基于2017/05/20的導(dǎo)出文件和內(nèi)部的投訴處理數(shù)據(jù)集合并而成的語料。LSTM自動編碼機的網(wǎng)絡(luò)訓(xùn)練使用的是Keras神經(jīng)網(wǎng)絡(luò)工具箱。Kmeans聚類方法來自于python的機器學(xué)習(xí)庫Sklearn。endprint

在實驗中,我們用于聚類的數(shù)據(jù)集為內(nèi)部的投訴處理數(shù)據(jù)集。該數(shù)據(jù)集根據(jù)業(yè)務(wù)標簽分為了10類,為結(jié)果。本次實驗的評估方式主要有以下幾個方面:

1)通過特征向量降維后的可視化結(jié)果,可以比較直觀地看到生成后的特征向量的分布情況。在這里我們使用Tsne來進行特征向量的降維。

2)平均聚類中心距離:

i=1n∑xjCi‖xj-i‖(5)

其中xj為屬于Ci類的樣本向量,ci為該類的中心向量,n為該類的大小。該指標為傳統(tǒng)的聚類效果指標,用于衡量類中樣本的集中度。該項指標越低,則表明聚類結(jié)果中句子結(jié)構(gòu)越接近。

3)原標簽類與聚類后標簽類的基尼非純度(Gini Impurity)

I(Ci)=1-max1≤k≤K∑Jj=1[yj=k?]J(6)

其中yj為某個樣本標簽,k為原數(shù)據(jù)集中的類別標簽,J為Ci類中的樣本總數(shù)。該指標從流行的決策樹(Decision Tree)模型類的分類與回歸樹(Classifcation and Regression Tree,CART)算法[9]中衍生出來,主要衡量類中非主要的原標簽的比例。該項指標反映了聚類結(jié)果與人工標注的相似度。

5實驗結(jié)果與分析

51詞向量提取

本次實驗中詞向量提取使用的語料來源為兩部分。其一用于后續(xù)聚類的投訴數(shù)據(jù)集,該部分數(shù)據(jù)中共有有效句子460762個,詞13396546個。由于該部分數(shù)據(jù)量較小,另外使用了中文維基于2017/05/20的導(dǎo)出文件作為輔助語料庫,與該部分一起用于進行詞向量的提取。中文維基導(dǎo)出的語料庫中共有有效句子3311845個,詞140948202個。最終獲取詞向量字典大小為100003,罕見詞(出現(xiàn)次數(shù)<5)未收錄。

生成的詞向量字典中部分隨機抽取的詞匯及與其最相似的詞的匹配示例如下:

以上結(jié)果顯示了詞向量的意義相似性,即生成的詞向量和其含義相近的詞的詞向量具有較高的相似匹配度。

52LSTM自動編碼機網(wǎng)絡(luò)訓(xùn)練

LSTM自動編碼機使用Keras神經(jīng)網(wǎng)絡(luò)工具包實現(xiàn)。Keras環(huán)境使用的是使用Theano后端(Backend)。

在訓(xùn)練過程中,自動編碼機將編碼器(Encoder)與解碼器(Decoder)結(jié)合起來進行訓(xùn)練。訓(xùn)練完成后,將編碼器(Encoder)用于對文本進行編碼,并使用這些編碼向量進行聚類。

53文本向量降維后的可視化

首先將TFIDF特征向量與LSTM自動編碼機文本向量進行降維可視化,從這一角度來直觀地了解生成的特征對聚類的影響。

以下是TFIDF的原標簽分布與其聚類結(jié)果的標簽分布。

其中圖10中文本按照其原先標識的標簽進行顏色的標識,圖11中文本按照聚類后的標簽進行顏色的標識。

圖12為使用LSTM自動編碼機,編碼器輸出的壓縮文本向量的原標簽分布情況。圖13為使用這些文本向量進行聚類后的結(jié)果??梢钥吹皆谠搱D中文本已經(jīng)形成了一定程度的集落,且與數(shù)據(jù)集提供的標簽有一定程度的對應(yīng)關(guān)系。在聚類后的集群中有部分體現(xiàn)了這樣的關(guān)系。

54使用基尼(Gini)非純度和聚類中心距離作為指標衡量

參考4,我們用于比較模型的主要標準為基尼(Gini)非純度和聚類中心平均距離。以下為實驗結(jié)果。

55總結(jié)

本文介紹了一種使用詞向量作為基本特征,并使用LSTM網(wǎng)絡(luò)將文本的詞向量特征統(tǒng)一提取為統(tǒng)一的文本的特征的方法?;谶@種文本特征,使用Kmeans等聚類方法對文本進行聚類。

本文使用的特征與基于TFIDF特征的方法相比,更加著重于匹配整個文檔的結(jié)構(gòu),得到的聚類中的句子間的結(jié)構(gòu)差異較小,這點從較小的聚類中心平均距離可以證明。

由于本次提供的原始數(shù)據(jù)集較小,在訓(xùn)練詞向量的時候使用了額外的維基語料庫作為輔助的詞向量數(shù)據(jù)集,但依然未能很好地解決某些業(yè)務(wù)關(guān)鍵詞出現(xiàn)次數(shù)較少而無法準確匹配其語義的現(xiàn)象,后續(xù)可以從以下方面進行完善:

1)依然使用詞向量作為基礎(chǔ)特征,以解決語義鴻溝現(xiàn)象,但需要更大的和業(yè)務(wù)相關(guān)的文本數(shù)據(jù)集;

2)增加能夠捕捉業(yè)務(wù)關(guān)鍵詞信息的方法,以應(yīng)對實際場景中以業(yè)務(wù)關(guān)鍵詞作為聚類重要依據(jù)的場景。

參考文獻

[1]RAJARAMAN A,UllMAN J D.Mining of Massive Datasets [M].1 Edition,Cambridge:Cambridge University,2011:1-17 doi:10.1017/CBO9781139058452.002.

[2]MUELLER J,THYAGARAJAN A.Siamese Recurrent Architectures for Learning Sentence Similarity[C]//AAAI.2016:2786-2792.

[3]CHEN Q,ZHU X,LING Z H,et al.Enhanced LSTM for natural language inference[C]//Proc.ACL.2017.

[4]PENNINGTON J,SOCHER R,MANNING C D.Glove:Global vectors for word representation[C]//EMNLP.2014,14:1532-1543.

[5]MIKOLOV T,CHEN K,CORRADO G,et al.Efficient estimation of word representations in vector space[J].arXiv preprint arXiv:1301.3781,2013.

[6]LIOU C Y,HUANG J C,YANG W C.Modeling word perception using the Elman network[J].Neurocomputing,2008,71(16):3150-3157.

[7]LIOU C Y,CHENG W C,LIOU J W,et al.Autoencoder for words[J].Neurocomputing,2014,139:84-96.

[8]KINGMA D P,WELLING M.Autoencoding variational bayes[J].arXiv preprint arXiv:1312.6114,2013.

[9]GOLLER C,KUCHLER A.Learning taskdependent distributed representations by backpropagation through structure[C].IEEE International Conference on Neural Networks,Washington,DC,USA.1996,1:347-352.

[10]HOCHREITER S,SCHMIDHUBER J.Long shortterm memory[J].Neural computation,1997,9(8):1735-1780.

[11]BREIMAN L,F(xiàn)RIEDMAN J,STONE C J,et al.Classification and regression trees [M].CRC press,1984.endprint

猜你喜歡
長短期記憶網(wǎng)絡(luò)自然語言處理聚類
多種算法對不同中文文本分類效果比較研究
LSTM—RBM—NMS模型下的視頻人臉檢測方法研究
餐飲業(yè)客流預(yù)測的深度聯(lián)合模型
商情(2018年47期)2018-11-26 09:12:38
基于LSTM的媒體網(wǎng)站用戶流量預(yù)測與負載均衡方法
基于DBSACN聚類算法的XML文檔聚類
電子測試(2017年15期)2017-12-18 07:19:27
基于組合分類算法的源代碼注釋質(zhì)量評估方法
面向機器人導(dǎo)航的漢語路徑自然語言組塊分析方法研究
漢哈機器翻譯中的文字轉(zhuǎn)換技術(shù)研究
HowNet在自然語言處理領(lǐng)域的研究現(xiàn)狀與分析
科技視界(2016年5期)2016-02-22 11:41:39
基于改進的遺傳算法的模糊聚類算法
赤峰市| 衡南县| 诸暨市| 林甸县| 玉林市| 靖安县| 江城| 琼海市| 泰顺县| 珠海市| 古浪县| 卢龙县| 汤原县| 永定县| 东兴市| 论坛| 汾阳市| 综艺| 温州市| 饶阳县| 阿拉善盟| 永康市| 唐山市| 合阳县| 隆尧县| 称多县| 新乡县| 上高县| 盐池县| 昔阳县| 十堰市| 桦南县| 安陆市| 彰化市| 辽中县| 古丈县| 玛沁县| 敦化市| 吉安市| 常熟市| 宁化县|