吳 迎 崗
(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 廣東 廣州 510006)
隨著當(dāng)今互聯(lián)網(wǎng)的不斷快速發(fā)展,以短文本為基本形式的網(wǎng)絡(luò)信息急劇增加,文本分析應(yīng)用中短文本相似度計(jì)算起了重要作用,文本挖掘、人工智能信息檢索和知識(shí)管理等都需要借助于文本的相似性檢測(cè)、度量和評(píng)價(jià)的方法[1-2]。短文本相似性檢測(cè)就是通過(guò)計(jì)算得到兩個(gè)文本中這些相似部分的比例,然后分析及整合中間結(jié)果的過(guò)程。如果兩者相似度超過(guò)某一閾值,則可以判斷內(nèi)容重復(fù),并將結(jié)果反饋給用戶,對(duì)于存儲(chǔ)方面也能夠有效地降低存儲(chǔ)消耗。目前,常用的短文本相似度算法有基于關(guān)鍵詞頻率和反向文本頻率計(jì)算相似度的方法(TF-IDF)[3]、空間余弦相似度算法[4]、傳統(tǒng)的基于精確匹配的相似性匹配算法[5]、基于距離測(cè)量的差分對(duì)齊算法[6]等。
伴隨著深度學(xué)習(xí)在自然語(yǔ)言處理方面的迅速發(fā)展,其在文本相似度任務(wù)中也被逐漸地應(yīng)用起來(lái),并不斷取得新的突破。本文在已有神經(jīng)網(wǎng)絡(luò)研究的基礎(chǔ)之上,提出一種更加簡(jiǎn)單有效的基于有序神經(jīng)元LSTM(ON-LSTM)相結(jié)合的短文本相似度計(jì)算的方法。該模型能夠更好地對(duì)短文本深層次的結(jié)構(gòu)信息以及對(duì)詞匯間的局部語(yǔ)義信息進(jìn)行關(guān)注和表達(dá),并經(jīng)過(guò)IC層,加快模型的收斂速度。最終結(jié)合整體的語(yǔ)義信息表示,來(lái)計(jì)算文本的語(yǔ)義相似度,并判斷是否是相同的語(yǔ)義表達(dá)。
在如今的自然語(yǔ)言處理中詞嵌入技術(shù)得到了廣泛應(yīng)用,它是將單詞詞語(yǔ)用矢量的形式進(jìn)行表達(dá)并得到計(jì)算機(jī)能夠識(shí)別的向量形式的技術(shù),在短文本處理任務(wù)中為文本量化。對(duì)于傳統(tǒng)短文本向量表示都是基于one-hot編碼形式。one-hot編碼簡(jiǎn)單方便,但忽略了單詞詞語(yǔ)之間的語(yǔ)義關(guān)系,而且還會(huì)引起維度災(zāi)難問(wèn)題。詞向量的提出很好地解決了one-hot編碼存在的問(wèn)題,詞向量是將高維稀疏的特征向量映射為低維稠密的特征向量。Bengio等[7]提出用神經(jīng)網(wǎng)絡(luò)概率語(yǔ)言模型NNLP來(lái)處理文本信息。Mikolov等[8-9]基于 NNLP 提出 Word2vec模型,并給出了利用 CBOW和Skip-gram兩種模型構(gòu)建詞向量。本文利用Google提出的NLP工具Glove[10]進(jìn)行詞向量的訓(xùn)練。
Batch Normalization[11]和Dropout[12]是常用的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練技術(shù)。批量歸一化網(wǎng)絡(luò)激活函數(shù),使神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的均值為0、單位方差為1。Batch Normalization在每一層神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程如下:
B={x1…m}
(1)
yi=BNλ,β(xi)
(2)
(3)
(4)
(5)
y′i=γ×x′i+β
(6)
上述過(guò)程中B表示一個(gè)批次中有m個(gè)激活值,x′i表示歸一化之后的值,y′i表示經(jīng)過(guò)BN變換之后的值。Dropout則通過(guò)在一個(gè)層中為神經(jīng)元引入獨(dú)立的隨機(jī)門(mén)來(lái)構(gòu)造獨(dú)立的激活函數(shù),允許神經(jīng)元以概率p輸出其值,否則輸出0來(lái)停用它們。Dropout的數(shù)學(xué)形式表達(dá)式為:
y=f(W×d(x))
(7)
(8)
式中:p為Dropout的隨機(jī)失活率;mask為以1-p為概率的貝努力分布生成的二值向量。
IC層是由Batch Normalization和 Dropout 相結(jié)合構(gòu)成。本文為提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度以及防止出現(xiàn)過(guò)擬合現(xiàn)象引入了Batch Normalization機(jī)制和Dropout機(jī)制,它可以減少任意一對(duì)神經(jīng)元之間的相互信息以及系數(shù),從而減少神經(jīng)元之間相對(duì)于dropout層的成對(duì)互信息來(lái)實(shí)現(xiàn)更穩(wěn)定的訓(xùn)練過(guò)程,能夠更快地加快模型在訓(xùn)練中的收斂速度[13]。
目前深度學(xué)習(xí)的各種方法以及模型在NLP領(lǐng)域應(yīng)用廣泛[14],深度學(xué)習(xí)方法也為短文本相似度計(jì)算研究提供了新思路,對(duì)于給定的兩個(gè)輸入句子,通過(guò)某一方法得出這兩個(gè)句子是否具有相似的語(yǔ)義關(guān)系,即提出一個(gè)簡(jiǎn)單而又高效的計(jì)算方法來(lái)判斷兩個(gè)句子是否是相似的。如Huang等[15]提出了經(jīng)典的單語(yǔ)義模型DSSM(Deep Structured Semantic Models)。Mueller等[16]提出了基于Siamese網(wǎng)絡(luò)的學(xué)習(xí)文本相似度的模型體系結(jié)構(gòu),用于學(xué)習(xí)變長(zhǎng)字符序列的相似性度量。Pang等[17]提出了匹配金字塔模型,將卷積神經(jīng)網(wǎng)絡(luò)思想遷移到了文本匹配中。Chen等[18]提出了如今應(yīng)用最廣的ESIM模型,用句子間的注意力機(jī)制,來(lái)實(shí)現(xiàn)局部的推斷,進(jìn)一步實(shí)現(xiàn)全局的推斷短文本匹配模型。Zhou等[19]在ESIM模型的基礎(chǔ)上提出多方向匹配的BiMPM模型,從多個(gè)角度匹配模型,解決之前單一模型交互匹配不充分等問(wèn)題。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),RNN的鏈?zhǔn)浇Y(jié)構(gòu)能夠處理序列信息,因此在自然語(yǔ)言處理方面相關(guān)任務(wù)中被廣泛使用。RNN已經(jīng)被證明對(duì)于自然語(yǔ)言中的語(yǔ)言建模問(wèn)題具有很好的效果。其具有的結(jié)構(gòu)通常如圖1所示。
圖1 RNN網(wǎng)絡(luò)結(jié)構(gòu)圖
但循環(huán)神經(jīng)網(wǎng)絡(luò)自身也具有一定程度的局限性,例如:伴隨著相關(guān)序列信息的不斷輸入,循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)相對(duì)距離較遠(yuǎn)的序列信息學(xué)習(xí)的程度,會(huì)產(chǎn)生較長(zhǎng)距離依賴的問(wèn)題,即對(duì)于之前較長(zhǎng)時(shí)間序列信息上的一些信息可能產(chǎn)生感知力弱化的問(wèn)題,進(jìn)而會(huì)形成梯度爆炸和梯度彌散。鑒于RNN存在的缺陷問(wèn)題,長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)的出現(xiàn)可以更好地解決循環(huán)神經(jīng)網(wǎng)絡(luò)存在的相對(duì)距離較遠(yuǎn)的序列信息學(xué)習(xí)產(chǎn)生依賴的問(wèn)題。LSTM結(jié)構(gòu)如圖2所示。
圖2 LSTM結(jié)構(gòu)圖
其內(nèi)部門(mén)構(gòu)造機(jī)制的各個(gè)門(mén)以及記憶細(xì)胞的表達(dá)式如下:
LSTM遺忘門(mén)表達(dá)式為:
ft=σ(Wf·[ht-1,xt]+bf)
(9)
LSTM輸入門(mén)表達(dá)式為:
it=σ(Wi·[ht-1,xt]+bi)
(10)
(11)
LSTM細(xì)胞更新門(mén)表達(dá)式為:
(12)
ot=σ(Wo·[ht-1,xt]+bo)
(13)
LSTM最終的輸出表達(dá)式為:
ht=ot×tanh(Ct)
(14)
(15)
(16)
(17)
兩個(gè)LSTM分別從左端到右端以及從右端到左端計(jì)算序列。式中:Ht表示BiLSTM的最后輸出;ht表示兩個(gè)雙向LSTM層的當(dāng)前時(shí)刻隱藏層的輸出狀態(tài);b表示偏置項(xiàng)值;W代表網(wǎng)絡(luò)隱藏層的權(quán)重矩陣;xt表示當(dāng)前時(shí)刻的輸入數(shù)據(jù)。BiLSTM的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)
對(duì)于RNN以及LSTM都沒(méi)有利用到神經(jīng)元的序信息,而ON-LSTM神經(jīng)網(wǎng)絡(luò)則試圖將這些無(wú)序的神經(jīng)元經(jīng)過(guò)某種變化形成一個(gè)有序結(jié)構(gòu)來(lái)表示序列信息的某種特定信息結(jié)構(gòu),從而將神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元序信息利用起來(lái)。ON-LSTM中“ON”代表的是“Ordered Neurons”,即有序神經(jīng)元,文獻(xiàn)[20]表明其將神經(jīng)元經(jīng)過(guò)特定排序是為了將層級(jí)結(jié)構(gòu)(樹(shù)結(jié)構(gòu))整合到 LSTM 中去,從而允許長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)到文本句子中的層級(jí)結(jié)構(gòu)信息。進(jìn)而得到短文本信息的深層次特征表示和每一個(gè)句子之間的語(yǔ)義關(guān)系編碼,ON-LSTM可以令循環(huán)神經(jīng)網(wǎng)絡(luò)模型在不破壞其序列表示的情況下執(zhí)行樹(shù)狀合成。對(duì)于長(zhǎng)期依賴問(wèn)題以及較長(zhǎng)序列泛化問(wèn)題,ON-LSTM 也比普通LSTM模型性能更佳。ON-LSTM與LSTM 模型的架構(gòu)相似,不同的是排除了單元狀態(tài)的更新功能,并以新的更新規(guī)則替代,其變化部分表達(dá)式如下:
(18)
(19)
(20)
(21)
ht=ot° tanh(ct)
(22)
基于以上,本文提出一種基于有序神經(jīng)元LSTM的短文本相似度匹配方法。該方法利用ON-LSTM神經(jīng)網(wǎng)絡(luò)能夠自動(dòng)學(xué)習(xí)到句子的層級(jí)結(jié)構(gòu)信息的能力,對(duì)輸入的上下文信息進(jìn)行深層次的特征信息提取,更好地學(xué)習(xí)到上下文之間的聯(lián)系,然后進(jìn)行語(yǔ)義編碼,通過(guò)IC層加快模型收斂速度,結(jié)合整體的語(yǔ)義信息表示,最后通過(guò)全連接神經(jīng)網(wǎng)絡(luò)層來(lái)計(jì)算文本的語(yǔ)義相似度,提高模型的準(zhǔn)確率。
基于有序神經(jīng)元LSTM的短文本相似研究思路如圖4所示。首先對(duì)短文本數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,去除文本中包含的標(biāo)點(diǎn)符號(hào)和特殊字符,僅保留可挖掘語(yǔ)義價(jià)值的文本信息。然后將短文本數(shù)據(jù)導(dǎo)入進(jìn)行數(shù)據(jù)預(yù)處理,包括特征數(shù)值化、批歸一化以及在輸入神經(jīng)網(wǎng)絡(luò)前進(jìn)行隨機(jī)失活操作。在此過(guò)程中,使用Glove得到文本的詞向量表示以及將數(shù)據(jù)轉(zhuǎn)成固定長(zhǎng)度的向量化表示,每一條文本數(shù)據(jù)都可以表示成一個(gè)固定長(zhǎng)度的向量,每一個(gè)索引值代表了一個(gè)詞向量。經(jīng)過(guò)上面的操作,輸入的數(shù)據(jù)就可以根據(jù)單詞索引所對(duì)應(yīng)的詞向量形成詞矩陣。把得到的詞向量輸入到IC層中,加快模型收斂速度,經(jīng)過(guò)處理再輸入到ON-LSTM層中。最后進(jìn)行相應(yīng)的計(jì)算。
圖4 基于有序神經(jīng)元LSTM的短文本相似研究思路
本文基于有序神經(jīng)元LSTM的短文本相似模型結(jié)構(gòu)圖如圖5所示。首先將文本進(jìn)行數(shù)值化操作,然后輸入到ON-LSTM神經(jīng)網(wǎng)絡(luò)中,在此之前數(shù)據(jù)會(huì)通過(guò)IC層來(lái)加快模型自身的收斂速度,然后計(jì)算整體的文本語(yǔ)義信息表示,最后通過(guò)全連接層來(lái)計(jì)算兩個(gè)文本短語(yǔ)之間的語(yǔ)義相似度。
圖5 基于有序神經(jīng)元LSTM的短文本相似模型結(jié)構(gòu)圖
本文實(shí)驗(yàn)環(huán)境如表1所示。
表1 實(shí)驗(yàn)環(huán)境
本文選用公共的 Quora Question Pairs數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),驗(yàn)證所提出網(wǎng)絡(luò)模型的有效性。數(shù)據(jù)集共包含了 404 290個(gè)問(wèn)題組合對(duì),該數(shù)據(jù)集中提供了已經(jīng)標(biāo)記好類別的文本數(shù)據(jù)信息以及其他信息,數(shù)據(jù)集僅標(biāo)注類別標(biāo)簽為1和0,表示相似和不相似兩種狀態(tài),如一條數(shù)據(jù)具有相同語(yǔ)義則標(biāo)簽為 1,反之則為 0。判斷一個(gè)問(wèn)題對(duì)是否語(yǔ)義是相似的,即將問(wèn)題Q1和Q2作為輸入,根據(jù)網(wǎng)絡(luò)模型最終輸出的概率值來(lái)判定,概率值越接近1表示兩者越相似。
為了驗(yàn)證本文提出的基于有序神經(jīng)元LSTM的短文本相似模型的有效性,設(shè)置以下幾組深度學(xué)習(xí)方法對(duì)比實(shí)驗(yàn):CNN、LSTM、BiLSTM-CNN和Attention- LSTM。訓(xùn)練集以及測(cè)試集分別隨機(jī)選取為80%和20%。采用Glove訓(xùn)練的詞向量作為實(shí)驗(yàn)中神經(jīng)網(wǎng)絡(luò)的輸入,為了更好地對(duì)比分析實(shí)驗(yàn)結(jié)果,在保證相同條件的情況下,將相同神經(jīng)網(wǎng)絡(luò)模型的超參數(shù)均作相同設(shè)置。
實(shí)驗(yàn)中對(duì)于卷積神經(jīng)網(wǎng)絡(luò)以及LSTM中使用的參數(shù)值大小如下。在固定其他相同值參數(shù)的情況下,設(shè)置詞向量維度為300維,為了防止模型在訓(xùn)練過(guò)程中出現(xiàn)過(guò)擬合現(xiàn)象,將dropout率設(shè)置為0.25,卷積神經(jīng)網(wǎng)絡(luò)中的卷積核大小選為3,濾波器的數(shù)量設(shè)置為128,LSTM以及其他類似模型中隱藏節(jié)點(diǎn)數(shù)設(shè)置為128,激活函數(shù)選擇ReLU,優(yōu)化函數(shù)選擇Adam,在整個(gè)試驗(yàn)過(guò)程中利用批處理方法對(duì)其他參數(shù)進(jìn)行更新,批處理的大小設(shè)置為200,迭代次數(shù)設(shè)置為10。損失函數(shù)使用binary_crossentropy交叉熵?fù)p失函數(shù)來(lái)度量模型分類器的預(yù)測(cè)輸出的概率分布與真實(shí)分布之間的差異。假設(shè)概率分布p為期望輸出,概率分布q為實(shí)際輸出,H(p,q)為交叉熵,其公式為:
(23)
本文采用的評(píng)價(jià)標(biāo)準(zhǔn)為準(zhǔn)確率(Accuracy)和F1-Score。F1-Score是二分類問(wèn)題里面最常見(jiàn)的一個(gè)衡量指標(biāo),它是精準(zhǔn)率與召回率的調(diào)和平均數(shù),最大值為1,最小值為0。Precision衡量的是模型的查準(zhǔn)率,而Recall衡量的是模型的查全率,具體公式如下:
(24)
(25)
(26)
(27)
式中:TP表示預(yù)測(cè)是正樣本,實(shí)際上也是正樣本;FP表示預(yù)測(cè)是負(fù)樣本,實(shí)際上是正樣本;TN表示預(yù)測(cè)是負(fù)樣本,實(shí)際上也是負(fù)樣本;FN表示預(yù)測(cè)是正樣本,實(shí)際上是負(fù)樣本。
為驗(yàn)證本文提出網(wǎng)絡(luò)模型的有效性,分別將以上5種模型進(jìn)行實(shí)驗(yàn)對(duì)比分析,結(jié)果如表2所示。
表2 五種模型的比較結(jié)果(%)
由表2可知,本文提出的基于有序神經(jīng)元LSTM的短文本相似模型在準(zhǔn)確率以及F1-Score中表現(xiàn)出的性能均優(yōu)于對(duì)比實(shí)驗(yàn)中的其他四種網(wǎng)絡(luò)模型。本文網(wǎng)絡(luò)模型的準(zhǔn)確率和F1-Score分別達(dá)到了81.05%和75.26%均高與其他四種模型。LSTM在文本相似度任務(wù)中的性能要稍低于CNN網(wǎng)絡(luò),表明CNN和LSTM都具有對(duì)文本特征進(jìn)行學(xué)習(xí)的表征能力。而對(duì)于CNN和BiLSTM的混合模型要優(yōu)于兩者單一模型。Attention-LSTM模型是結(jié)合了注意力機(jī)制的模型,同單一LSTM模型相比,能夠有效地提升LSTM的準(zhǔn)確率。而采用本文提出的方法同Attention-LSTM以及LSTM比較,準(zhǔn)確率和F1-Score均有提高,表明ON-LSTM使文本的層級(jí)結(jié)構(gòu)信息融入到LSTM中,自動(dòng)學(xué)習(xí)到層級(jí)結(jié)構(gòu)信息,更好地表示文本深層次語(yǔ)義信息,實(shí)驗(yàn)效果也達(dá)到了最優(yōu)。
由圖6可知,變化趨勢(shì)均是屬于先上升再逐漸穩(wěn)定,其中CNN與LSTM以及Attention-BiLSTM模型變化率相較于另外兩組模型最為相似。而對(duì)于CNN和LSTM的混合模型BiLSTM-CNN要優(yōu)于兩者任何單一模型。本文提出基于有序神經(jīng)元LSTM的短文本相似模型呈現(xiàn)先上升再平穩(wěn)趨勢(shì),優(yōu)于其他四組深度學(xué)習(xí)模型,在文本特征提取方面具有較好的性能以及達(dá)到較高的精準(zhǔn)度。
圖6 val_acc的變化趨勢(shì)圖
由圖7可知,CNN模型的波動(dòng)最不穩(wěn)定,本文模型相較于其他四組深度學(xué)習(xí)模型來(lái)說(shuō)整體波動(dòng)較小,且變化趨勢(shì)逐漸降低并趨于平穩(wěn)。綜合圖6、圖7分析可知,本文提出的基于有序神經(jīng)元LSTM的短文本相似模型具有收斂速度快、準(zhǔn)確率高的優(yōu)點(diǎn)。
圖7 val_loss的變化趨勢(shì)圖
為衡量5組深度學(xué)習(xí)模型之間收斂速度的優(yōu)劣,統(tǒng)計(jì)它們每一次完成迭代的時(shí)間代價(jià),即模型完成一次訓(xùn)練所需花費(fèi)的時(shí)間代價(jià)。圖8顯示了不同深度學(xué)習(xí)模型時(shí)間代價(jià)隨迭代次數(shù)的變化趨勢(shì)。除CNN模型之外,本文模型在時(shí)間消耗方面整體優(yōu)于其他幾組模型,時(shí)間代價(jià)最小,這說(shuō)明了本文提出的基于有序神經(jīng)元LSTM的短文本相似模型具有收斂速度快的優(yōu)點(diǎn)。
圖8 時(shí)間代價(jià)趨勢(shì)圖
本文提出了一種基于有序神經(jīng)元LSTM的短文本相似模型。該模型能夠利用ON-LSTM自動(dòng)學(xué)習(xí)到層級(jí)結(jié)構(gòu)信息,更好地表示文本深層次語(yǔ)義信息,通過(guò)IC層加快模型收斂速度,結(jié)合整體語(yǔ)義信息表示,最后通過(guò)匹配層來(lái)計(jì)算文本的語(yǔ)義相似度。由多組對(duì)比實(shí)驗(yàn)表明,本文模型在指標(biāo)分析中比其他對(duì)比模型都有較好的提高,能夠更好地對(duì)文本相似性進(jìn)行計(jì)算,具有可行性以及有效性。