梅玉婷,趙曙光
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海201620)
隨著人們在智能領(lǐng)域的探索,人工智能被應(yīng)用于多個方面,包括金融、醫(yī)療、圖像識別等領(lǐng)域。而自然語言是人工智能的一部分,其基于文本相似度計(jì)算的相關(guān)技術(shù)在人們的日常生活中大量應(yīng)用,包括機(jī)器翻譯、信息檢索、文本分類、自動摘要、輿情分析、語義情感分析、對話系統(tǒng)[1]、論文查重等。鑒于其廣泛的應(yīng)用領(lǐng)域,文本相似度分析吸引了很多學(xué)者去研究。要將自然語言與深度學(xué)習(xí)算法結(jié)合處理,通常需要首先將文本語言數(shù)學(xué)化,詞向量就是用來將語言中的詞進(jìn)行數(shù)學(xué)化的一種方式。經(jīng)過詞向量化的詞語將以向量形式表示。Word2Vec作為神經(jīng)概率語言模型的輸入,是為了通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)某個語言模型而產(chǎn)生的中間結(jié)果(權(quán)重矩陣),其是基于局部語料庫訓(xùn)練的,且特征提取是基于滑動窗口的。Word2Vec模型分為CBOW和Skip-gram。GloVe也是一種詞向量訓(xùn)練模型,其本質(zhì)上是對共現(xiàn)矩陣進(jìn)行降維。GloVe的滑窗是為了構(gòu)建共現(xiàn)矩陣,是基于全局語料的??梢奊loVe需要事先統(tǒng)計(jì)共現(xiàn)概率。本文選擇Word2Vec進(jìn)行預(yù)訓(xùn)練?;谏疃葘W(xué)習(xí)的文本相似度算法大多是基于RNN(Recurrent Neural Network),RNN是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。其處理的序列數(shù)據(jù)有一個特點(diǎn):后面的數(shù)據(jù)跟前面的數(shù)據(jù)有關(guān)系。為解決RNN在長序列中出現(xiàn)的梯度消失或爆炸問題[2],一般采用RNN的特例,如LSTM(Long Short-Term Memory)和GRU(Gat?ed Recurrent Unit),它們都使用神經(jīng)門控制信息流來緩解梯度消失或爆炸的問題,其次RNN并不太適合并行化,其輸出狀態(tài)的計(jì)算需要等到計(jì)算完成后才能開始。這阻礙了獨(dú)立計(jì)算,并大大減慢了序列處理的速度。而SRU(Simple Recurrent Units)簡化了計(jì)算過程,新增加了兩個特征:首先,在循環(huán)層之間增加了high?way連接,此前的研究已經(jīng)證明,如highway連接這樣的skip connections,在訓(xùn)練深度網(wǎng)絡(luò)時非常有效;其次,在將RNN正則化時,他們在標(biāo)準(zhǔn)的dropout外,增加了變分dropout,變分dropout在時間步長t與dropout使用相同的mask[3]。而在文本相似度分析中,為能捕獲文本上下文相關(guān)信息與雙向的語義依賴,獲得更復(fù)雜的文本表達(dá),提出了BiLSTM(Bi-directional Long Short-Term Memory)。本文對比BiLSTM與BiSRU算法。采用Siamese網(wǎng)絡(luò)模型,該模型是由2個權(quán)值共享的孿生網(wǎng)絡(luò)構(gòu)成。Siamese網(wǎng)絡(luò)能從數(shù)據(jù)中學(xué)習(xí)一個相似性度量,用這個學(xué)習(xí)出來的度量去比較和匹配新的未知類別的樣本。
LSTM(Long Short-Term Memory)通過門來避免長期依賴問題。其通過輸入門it、遺忘門ft和輸出門ot這三個門結(jié)構(gòu)來實(shí)現(xiàn)信息的保護(hù)和控制。在運(yùn)算過程中,對舊的狀態(tài)乘ft,用來忽略不需要的部分。輸出值的確定依賴于可過濾狀態(tài)。在sigmoid層來確定狀態(tài)的哪個部分將進(jìn)行輸出。
其中ht為t時刻的隱藏層的狀態(tài),σ為激活函數(shù)sigmoid,xt為t時刻的輸入詞向量。w和b分別為權(quán)重矩陣和偏置?!褳橹瘘c(diǎn)乘積。
SRU網(wǎng)絡(luò)結(jié)構(gòu)為能夠并行化處理,將大部分運(yùn)算進(jìn)行并行處理,將有具有小量運(yùn)算的步驟進(jìn)行串行處理。其在每一步獨(dú)立的進(jìn)行操作,循環(huán)組合與輕量級的計(jì)算,提高了計(jì)算速度。SRU基礎(chǔ)結(jié)構(gòu)包含了一個單一的遺忘門,假定輸入Xt和時間t,需要計(jì)算線性的轉(zhuǎn)換x?和遺忘門ft。整個SRU網(wǎng)絡(luò)結(jié)構(gòu)的計(jì)算結(jié)構(gòu)如下:
其中,f表示遺忘門,r表示重置門,h表示輸出狀態(tài),c表示內(nèi)部狀態(tài),x表示輸入。
雙向BiLSTM[4]通過兩個LSTM來得到時序相反的隱藏層狀態(tài)并將其連接得到一個輸出,前向LSTM和后向LSTM可以分別獲取輸入序列的上文信息和下文信息,BiLSTM模型能夠有效地提高準(zhǔn)確率。BiLSTM模型在t時刻的隱藏狀態(tài)包括前向htforward和后向htbackward。BiLSTM輸出Ht。Ht=[htforward,htbackward]。
通過對BiLSTM層的輸出進(jìn)行計(jì)算,可以得到一個注意力的概率分布,進(jìn)而由該概率分布可知每個時刻LSTM單元的輸出對句子語義的重要程度,將單詞級別的特征組合成句子級別的特征,更準(zhǔn)確的表達(dá)句子的語義。其核心思想是在輸入序列上引入注意權(quán)重,以優(yōu)先考慮存在相關(guān)信息的位置集,網(wǎng)絡(luò)結(jié)構(gòu)中的注意力機(jī)制模塊負(fù)責(zé)自動學(xué)習(xí)權(quán)重[5],它可以自動捕獲編碼器的隱藏狀態(tài)和解碼器的隱藏狀態(tài)之間的相關(guān)性。
在輸出計(jì)算層中,計(jì)算2個向量的距離采用的是曼哈頓距離,計(jì)算的輸出是在(0,1]區(qū)間內(nèi)的值。
模型采用孿生長短期期記憶模型(Siamese LSTM)[6],其由兩個相同的網(wǎng)絡(luò)結(jié)構(gòu)network1和network2組成,即network1和network2的權(quán)重相等。孿生神經(jīng)網(wǎng)絡(luò)有兩個輸入,將兩個輸入值輸進(jìn)神經(jīng)網(wǎng)絡(luò),這兩個神經(jīng)網(wǎng)絡(luò)可分別將輸入映射到新的空間,在新的空間中形成新的輸入表示。在訓(xùn)練階段使來自相同分類的一對訓(xùn)練樣本的損失函數(shù)值最小,同時使來自不同分類的一對訓(xùn)練樣本的損失函數(shù)值最大。通過Loss的計(jì)算,評價兩個輸入的相似度。傳統(tǒng)的Siamese network使用Contrastive Loss。本次的應(yīng)用方向是自然語言方向,在計(jì)算向量距離方面,cosine更適用于詞匯級別的語義相似度度量,而exp function更適用于句子級別、段落級別的文本相似性度量。在本文中,選擇曼哈頓距離作為評價函數(shù)。其結(jié)構(gòu)如圖1。
圖1 模型結(jié)構(gòu)圖
數(shù)據(jù)來源于CCKS2018評測項(xiàng)目中的微眾銀行客戶問句匹配大賽數(shù)據(jù)集[7],總數(shù)據(jù)集大小為10萬條。數(shù)據(jù)集格式是問句匹配,1代表語義相似,0代表語義不同。實(shí)驗(yàn)中選擇8萬條為測試集,2萬條為訓(xùn)練集。本實(shí)驗(yàn)首先選擇了BiLSTM和BiSRU模型進(jìn)行對比,采用accuracy、recall、total進(jìn)行模型效果衡量。在這基礎(chǔ)上,在對比Att-BiLSTM和Att-BiSRU的accuracy、recall、F-1值。
實(shí)驗(yàn)之前首先對文本使用jieba分詞工具對句子進(jìn)行分詞,采用Word2Vec進(jìn)行預(yù)訓(xùn)練。本文中的優(yōu)化函數(shù)采用Adam優(yōu)化器。學(xué)習(xí)率為1e-4,訓(xùn)練采用dropout=0.5和L2約束防止過擬合。
表1 不同模型實(shí)驗(yàn)結(jié)果
根據(jù)對比BiLSTM和BiSRU,發(fā)現(xiàn)BiLSTM算法性能優(yōu)于BiSRU,但在訓(xùn)練速度上,BiSRU比BiLSTM快。
表2 不同模型實(shí)驗(yàn)結(jié)果
根據(jù)對比Att-BiLSTM和BiLSTM,發(fā)現(xiàn)融入注意力機(jī)制后的算法性能會更好。
本文在研究基于深度學(xué)習(xí)的文本相似度時,針對現(xiàn)有模型語義表達(dá)不準(zhǔn)確及訓(xùn)練速度慢的缺點(diǎn),提出一種訓(xùn)練速度更快的Att-BiSRU算法,為使句向量表達(dá)更加準(zhǔn)確,將注意力機(jī)制融入其中,并采用孿生網(wǎng)絡(luò)模型進(jìn)行文本相似度研究。同時,本文對比了BiLSTM、BiSRU、Att-BiLSTM、Att-BiSRU四種模型,發(fā)現(xiàn)雖然LSTM算法模型效果更加好,但在訓(xùn)練速度方面沒有SRU模型快。本文采用Word2Vec進(jìn)行預(yù)訓(xùn)練,也對提升模型效果也有所幫助。