黃建強 趙梗明 賈世林
(上海師范大學信息與機電工程學院 上海 200030)
語義相似度計算是自然語言處理任務的重要組成部分,廣泛應用于QA 系統(tǒng),信息檢索、機器翻譯,復述問題以及對話系統(tǒng)中[1~4]。很多學者針對文本相似度計算提出了許多相關模型算法,郭慶琳等[5]提出在改進DF 算法和TD-IDF 的用于文本相似度計算的空間向量模型。廖開際等[6]提出構建文本特征項的加權語義網模型來計算文本之間的相似度算法。李連等[7]提出考慮文本特征詞改進的空間向量模型方法計算文本相似度。張佩云等[8]提出了基于詞頻統(tǒng)計的考慮特征項在文本中的重要程度以及特征項之間的關系的加權語義文本相似度計算方法。王振振等[9]提出基于LDA 模型來計算文本相似度計算準確度。除此還有基于語義本體的文本相似度計算方法,主要有基于距離、屬性、信息內容以及混合式的語義相似度計算方法[10~14]。
以上基于語義,概率以及統(tǒng)計方法在文本相似度計算中得到了應用,但此類方法是針對特定任務人為設計的,導致其泛化能力差,而深度學習因具有自動特征提取特點而被廣泛應用,比如J Mueller等[15]提出基于LSTM 用于計算語義相似度的孿生網絡模型,Wenwen Li 等[16]提出基于多層神經網絡的地理本體語義文本相似度計算模型。而僅用深度學習模型文本特征,忽視了傳統(tǒng)的數據挖掘方法在特征提取方面的優(yōu)勢,導致語義特征提取不全,難以在自然語言各類任務中有很好的表現(xiàn)。
針對以上問題,本文在結合以上方法的基礎上提出基于biLSTM 的三層快速堆疊式編碼結構融合數據挖掘方法的語義分析模型,充分提取文本數據特征,在實際的語義相似度計算任務中該種新型模型比傳統(tǒng)單模型神經網絡結構有更好的表現(xiàn)。
負采樣(Negative Sampling,NEG),是噪音對比估計(Noise Contrastive Estimation,NCE)的簡化版本。
在CBOW 模 型 中[17],預 測 詞w,對 于 已 知Context(w),其中Context(w)表示詞w的上下文,詞w就是正樣本,其他詞表示負樣本,假設我們已經獲得詞w的負樣本子集NEG(w),則有如下定義:
對于給定的正樣本(Context(w),w),模型目標函數如下表示:
圖1 LSTM網絡結構圖
LSTM 是RNN 的變種,在處理序列形式的數據時,鏈式結構的RNN 有好的表現(xiàn),但在處理長序列時,RNN 會存在梯度消失的問題[18],針對該問題,LSTM 網絡作為RNN 的變種,在解決長序列問題中,有很好的表現(xiàn)[19]。LSTM 中的門結構:sigmoid神經網絡和點乘的操作結合。其中,以sigmoid 作為激活函數的全連接神經網絡會輸出0~1 之間的數值,描述當前通過的信息量,即sigmoid 輸出為1或0 時,信息全部或都不能通過。LSTM 對應網絡結構圖如圖1。
其中,f為遺忘門,i為輸入門,g為核控制單元,o:輸出門。ht-1表示上一時刻狀態(tài),Ct-1表示cell狀態(tài)。
網絡結構前向傳播如下:
先將輸入xt和上一時刻狀態(tài)ht-1以σ變換求出決定Ct-1舍棄哪些信息。
再將輸入xt和上一時刻狀態(tài)ht-1以σ求變換決定Ct保留哪些信息。
其中it表示添加新信息的參數,gt表示生成新數據時的控制參數。
然后根據參數Ct-1,it,gt,ft計算出最終cell控制參數。
最后對于新輸入xt和上一狀態(tài)ht-1用σ作變化決定cell 狀態(tài)輸出哪些信息,再與cell 狀態(tài)的輸出做tanh 變換的值作點乘。
用快捷堆疊式biLSTM 結合數據挖掘結合的方法實現(xiàn)基于孿生神經網絡對短文本句子相似度計算模型。
該模型主要由文本量化,編碼層,分類器三部分組成。
文本量化:利用遷移學習思想,詞向量表示以大量專業(yè)語料,利用基于負采樣的連續(xù)詞袋模型訓練出詞向量。將預訓練的詞向量用于以字級表示的文本,即一個字對應一個多維向量,最終將用于相似度計算的文本以矩陣形式表示。
編碼層:該模型[20]堆疊biLSTM 層數為3 層,biLSTMi表示第i層的biLSTM,因此第i層的biL?STM 在t時刻輸入的句子表示為(),則第i層biLSTM在時刻t的輸出表示為
W=(w1,w2,…,wn)表示句子序列,其中wi∈Rd表示句子中第i個詞的表示向量,則第i層biLSTM在時刻t表示為
假設模型是m層biLSTM,最后的文本向量表示可由最后第m層biLSTM輸出再經過最大池化操作獲得。最后一層表示為
其中,,v∈R2dm,Hm∈R2dm×n,dm表示biLSTM 隱藏狀態(tài)的維度,v表示句子的最后向量表示。
圖2 模型結構
數據挖掘特征:分別以Cosine 距離[21],編輯距離計算[22]出句子對特征,將兩者計算的特征融合,融合結果經過全連接層獲得向量輸出。
分類器:在獲得經過編碼器輸出的文本表示向量后,根據文獻,將相似度計算的文本向量相減取絕對值,點乘操作,以及文本向量拼接,最后將三者操作結果拼接成新向量,可有如下計算:
最后將拼接的結果經過全連接層(Fully Con?nected Layer,F(xiàn)C)計算獲得向量輸出,最后分別將數據挖掘特征和編碼器輸出特征向量拼接,再將拼接的向量通過全連接層,其中全連接層采用Drop?out思想,避免網絡過擬合,將全連接層的輸出作為最后softmax 分類器的輸入,根據分類最終達到對句子相似度計算目的。softmax函數公式:
其中,σ(z)表示K維實數向量,j=1,…,K。
本次實驗工具用開源深度學習框架tensorflow構建快捷堆疊式biLSTM 模型,以word2vec 模型將文本向量化,向量維度為300 維,結合數據挖掘計算文本特征,最終實驗多模型結合的網絡結構訓練。
文本分別以詞級和字級將文本量化,其中分詞用jieba 分詞工具。本實驗分為三組對比實驗,第一組實驗先對字符級和詞級做對比實驗;第二組實驗將本模型分別與CNN,LSTM,Bi-LSTM 結構的模型作比較;第三組實驗對比數據挖掘方法的優(yōu)劣,以驗證數據挖掘方法融合傳統(tǒng)神經網絡方法的優(yōu)越性。
實驗數據來自阿里天池比賽十萬對標注的支付寶對話語料,語料格式為句1,句2,標簽0 或1,1表示文本相似,0 表示不相似。其中90000 條作為訓練數據,10000條作為驗證數據。
清洗:針對數據存在亂碼,繁體字等情況,在分析數據后,決定將亂碼,符號等無用信息進行刪除,部分繁體字對于整句話是無用的,對于這部分繁體字刪除,部分繁體字包含語句信息,不予刪除,將其轉換成簡體中文,以保留文本上下文信息。
分詞:用jieba 分詞工具,對清洗后的數據進行分詞,清洗后的文本仍然存在與語義無關的字或詞,比如“了”“的”,這些詞對于整句話的語義表達沒有影響,甚至會影響最后的分類效果,因此將這些詞或字刪除。分詞工具會存在分詞不準確的現(xiàn)象,比如最新詞匯“支付寶”,利用該分詞工具無法分詞,針對此問題,該分詞工具提供了用戶添加自定義詞典功能,使其能夠識別新詞。
預訓練詞向量:由于該數據集是金融背景對話語料,本次實驗預訓練詞向量利用文獻在多家新聞網站收集的無監(jiān)督的新聞語料訓練,訓練語料大小為6.2G,最終訓練詞的向量維度為300[23]。
數據增強:為了防止訓練結果過擬合,本次實驗對原始數據做增強,將部分詞語,比如“怎么”替換成“如何”,即近義詞替換,從而達到對原始數據增強的效果。
學習率:由于文本量化采用預先訓練的詞向量表示,因此較低的學習率,能夠減小網絡訓練過擬合風險,因此網絡的初始學習率設置為0.001,訓練的總輪次為10,每批次訓練數為64,每兩輪將學習率降低一半,,訓練前期,網絡需要更快的擬合,訓練后期,網絡趨于擬合,降低學習率,有效避免過擬合現(xiàn)象。
Dropout 設置:為了避免過擬合現(xiàn)象,設置Dropout 參數,本次實驗設置的Dropout 值為0.8。Droput指在模型訓練過程中,以一定概率讓網絡隱含層部分節(jié)點停止工作,在刪除部分網絡單元后,網絡具有一定的稀疏性,減輕了不同特征之間協(xié)同效應[24]。
實驗分別以字符級和詞級表示原始文本,以Precision,Recall,Accuracy,F(xiàn)1score 作為模型評價,以F1score 作為最終的評價標準,分別將本論文模型與CNN,biLSTM 編碼的語義分析模型做對比,實驗結果見表1。
對實驗結果分析如下。
1)字級量化在四種特征提取模型中,SSE+數據挖掘方法效果最好,最高的F1 分數可達到0.523,最低的是biLSTM 模型,在詞級量化時,SSE+數據挖掘方法效果最好,F(xiàn)1分數最高可達0.542。
表1 模型對比
2)通過比較所有模型,以詞級量化的語義相似度計算效果優(yōu)于字級。
3)以詞級量化文本,將數據挖掘方法融合SSE模型結果優(yōu)于SSE 模型,表明該模型在文本語義相似度計算任務中具有優(yōu)越性。
本文在總結傳統(tǒng)神經網絡不足的基礎上,利用基于負采樣的連續(xù)詞袋模型作為語料訓練模型,將文本量化表示后,提出以數據挖掘特征結合多層堆疊編碼的網絡結構的方法,通過多模型的結合,達到對文本向量的特征充分提取的目的,以提高最終語義相似度判斷精確度。
針對本模型,有待提高的部分,如將文本以字符和詞級結合的方法將文本量化,再分別與字符級和詞級表示的結果作對比,本次實驗的訓練集關于金融場景對話,可用金融語料訓練詞向量。在后續(xù)的研究工作中,會對上述兩部分做對比分析。