陳 鑫,李偉康,洪 宇,周夏冰,張 民
(蘇州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
問句復(fù)述識別[1],旨在判定兩個自然問句是否表達相同的語義,即是否互為語義相同但表述不一的同質(zhì)異構(gòu)的問題類語言單位。通常,問句復(fù)述識別可被歸結(jié)為二元分類任務(wù)。問句復(fù)述識別是自然語言處理領(lǐng)域中一項基本且富有挑戰(zhàn)性的任務(wù),不僅是因為其需要識別語句表述上的迥異,且需要在語義表示學(xué)習(xí)的層面上感知問題的主旨、意圖和目標。比如,下例中的問句1與問句2雖具有較為一致的表述方式,但是兩者的語義不同,不是復(fù)述關(guān)系。
問句1:WhatisthestepbystepguidetoinvestinsharemarketinIndia?
(譯文: 在印度的股票市場中,什么能夠逐步地引導(dǎo)投資?)
問句2:Whatisthestepbystepguidetoinvestinsharemarket?
(譯文: 什么能逐步引導(dǎo)股票市場的投資?)
與此相對的是,下例中的問句3與問句4具有完全不同的表述方式,盡管如此,兩者之間的語義一致,互為復(fù)述關(guān)系。
問句3:HowcanIbeagoodgeologist?
(譯文: 我怎么能成為一名優(yōu)秀的地質(zhì)學(xué)家?)
問句4:WhatshouldIdotobeagreatgeologist?
(譯文: 我應(yīng)做什么才能成為一名偉大的地質(zhì)學(xué)家?)
除此之外,問句復(fù)述識別與陳述句復(fù)述識別[2]不同之處在于,存在一種“問題詞不一致但問題含義一致”的語言現(xiàn)象,如上例問句3與問句4所示。這一現(xiàn)象使得問句復(fù)述識別任務(wù)相較陳述句復(fù)述識別具有更高的復(fù)雜性。
針對以上問題,前人研究通過構(gòu)建復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)模型,或引入大規(guī)模外部數(shù)據(jù)進行模型預(yù)訓(xùn)練予以解決。例如,BiMPM[3]等模型對問句進行深度的語義向量編碼,再通過融合進行二元分類。雖然上述模型方法在效果上已達到較高水平,但模型復(fù)雜度與訓(xùn)練難度都較高。類似地,DECATT[4]模型雖然復(fù)雜度與訓(xùn)練難度較低,但其通過引入上千萬規(guī)模的噪聲數(shù)據(jù)進行預(yù)訓(xùn)練,使得該模型預(yù)訓(xùn)練難度較高。而同期的MatchPyramid[5]等模型,雖然復(fù)雜度低,訓(xùn)練速度快,但性能與BiMPM模型相比,尚有較大提升空間。
本文針對模型復(fù)雜度、訓(xùn)練難度與模型性能能否兼得的難題進行了探索,提出了一種多卷積自交互匹配神經(jīng)網(wǎng)絡(luò)模型(multi-convolution self-interaction matching neural network,MCSM)。首先,MCSM模型通過融合多種句子特征與預(yù)訓(xùn)練的詞向量對句子進行詞級別向量表示;然后,基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[6]構(gòu)建的多卷積自交互句子編碼方法對句子進行多粒度特征向量編碼,并在此基礎(chǔ)上利用多種池化操作進行特征抽取;最后,將抽取的句子特征進行簡單有效的元素融合,用于二元分類輸出結(jié)果。利用這一模型,本文實現(xiàn)了對兩個問句是否互為復(fù)述的二元分類任務(wù)。經(jīng)實驗驗證,該模型與前沿工作在性能上可比,但復(fù)雜度和訓(xùn)練難度均顯著低于前沿工作。本文的主要貢獻可以歸納如下:
① 提出基于CNN的多卷積自交互句子向量編碼表示方法,實現(xiàn)對句子在詞級與短語級上的多粒度特征融合編碼表示。
② 在標準的Quora復(fù)述識別語料上進行實驗,實驗結(jié)果表明,該模型在性能上與前沿工作可比的同時,模型復(fù)雜度低,且極易訓(xùn)練。
本文組織結(jié)構(gòu)如下,第1節(jié)簡要回顧前人研究并給出相應(yīng)分析;第2節(jié)具體介紹MCSM模型的架構(gòu)與具體流程;第3節(jié)給出實驗及結(jié)果,并對比分析方法性能;第4節(jié)給出總結(jié)與展望。
早期的復(fù)述識別研究是基于特征工程,通過構(gòu)建有效特征進行分類。這些特征包括:
① 字符串相似度指標,例如: n-gram重疊得分[7]與BLEU得分[8];
② 解析結(jié)構(gòu)的句法特征[9];
③ 通過潛在語義分析獲得的分布特征[10]。
而隨著深度神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,近期的復(fù)述識別的研究工作從特征工程轉(zhuǎn)向利用深度神經(jīng)網(wǎng)絡(luò)構(gòu)建模型進行二元分類,主要模型架構(gòu)可以分為以下兩類。
通過對兩個句子進行向量編碼表示,將兩個句子向量表示進行拼接、逐元素做差取絕對值、元素對應(yīng)位相乘等聚合操作,然后通過二元分類得出結(jié)果。例如Siamese-RNN與Siamese-CNN模型[11],利用相同的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)或者卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)對句子進行向量編碼表示,然后再對兩個句子向量處理后進行二元分類。這類模型架構(gòu)的缺點在于句子之間沒有任何交互,可能丟失來自另一個句子的重要信息。所以,一種改進的模型架構(gòu)被提出,其通過注意力機制讓兩個句子在編碼過程中充分交互影響,得到更好的句子表示。例如,BiMPM模型利用雙向長短期記憶網(wǎng)絡(luò)(bidirectional long short term memory network,Bi-LSTM)分別對句子進行向量編碼表示,接著采用4種不同的注意力計算方式對兩個句子進行交互,優(yōu)化句子向量表示,最后再通過聚合操作將兩個句子的表示聚合進行二元分類,但此類交互過程繁重復(fù)雜。
不同于句子向量表示的模型架構(gòu)主要關(guān)注于如何更好地進行句子向量編碼表示,該模型架構(gòu)主要是基于兩個句子的融合向量表示進行聯(lián)合特征抽取,利用抽取的句子聯(lián)合特征做二元分類,更關(guān)注于如何抽取更優(yōu)的聯(lián)合特征。例如MatchPyramid模型在利用預(yù)訓(xùn)練詞向量進行句子向量表示之后,將兩個句子向量表示進行元素乘融合,利用CNN與最大池化對句子聯(lián)合表示進行高維度特征抽取,將抽取的高維特征用于二元分類。這類模型架構(gòu)更關(guān)注于如何更好地抽取句子聯(lián)合特征,對于句子的向量表示不夠充分,有時只是利用預(yù)訓(xùn)練的詞向量進行簡單的表示。
首先,問句復(fù)述識別任務(wù)定義如下: 給定兩個自然問句P和Q,P=(p1,…,pj,…,pm),Q=(q1,…,qi,…,qn),m、n分別表示P與Q的長度,pi、qj分別表示P與Q中第i個與第j個單詞,需要識別問句P與Q是否互為復(fù)述。對此,本文提出一種多卷積自交互匹配神經(jīng)網(wǎng)絡(luò)(multi-convolution self-interaction matching neural network,MCSM),它屬于基于句子向量表示的模型框架。模型整體框架如圖1所示。

圖1 多卷積自交互匹配模型架構(gòu)
MCSM模型通過詞向量層、句子編碼層快速高效地對句子進行向量編碼表示,通過特征抽取層從句子向量表示中抽取特征,最后經(jīng)過融合輸出層進行二元分類。
詞向量層: 該層目標是將句子中的每個單詞編碼成一個維度為d的向量表示,將句子中的每個單詞表示拼接得到詞級的句子向量表示。與閱讀理解任務(wù)中QANet模型[12]利用高速網(wǎng)絡(luò)(highway network,Highway)[13]對字符向量與詞向量融合方法類似,MCSM模型通過構(gòu)建短語特征(phrase feature,PH)、詞共現(xiàn)特征(word exact match feature,EM)、位置特征(position embedding feature,PE)與預(yù)訓(xùn)練的300維的GloVe詞向量[14]拼接,采用Highway網(wǎng)絡(luò)快速地進行融合,得到詞級句子向量編碼表示。這些特征與Highway網(wǎng)絡(luò)的具體信息將在3.2節(jié)詳細介紹。
句子編碼層: 該層是MCSM模型的核心層,目的是進行高效、快速的多粒度句子特征向量編碼表示。句子編碼層利用本文提出的多卷積自交互編碼方法(multi-convolution self-interaction encoder,MCSE)對句子進行編碼,不同于BiMPM等模型利用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(bidirectional long short term memory network,Bi-LSTM)對句子進行編碼表示,MCSE以CNN為基礎(chǔ)對句子進行編碼。MCSE對句子編碼過程可視化過程如圖2所示。其中,假設(shè)卷積窗口為2,Hp是詞級的句子向量表示,將句子中每個詞的向量表示與卷積出的短語特征向量表示融合,得到最終的多粒度特征向量表示Emulti_p。本文將在3.3節(jié)給出MCSE的具體過程和細節(jié)。

圖2 MCSE句子編碼可視化過程
特征抽取層: 該層目標是從句子向量表示中抽取特征。例如,對于句子P的表示Emulti_p,通過最大池化和平均池化操作,將兩者進行拼接獲得最終的句子特征向量表示Ef_p,具體計算公式如式(1)所示,其中Maxp與Meanp分別表示最大池化與平均池化操作,[: ]表示拼接操作。
Ef_p=[Maxp(Emulti_p): Meanp(Emulti_p)]
(1)
融合輸出層: 該層是MCSM模型的最后一層,在獲取句子P、Q的特征向量之后,通過簡單的元素乘操作進行融合,最后通過一層全連接層網(wǎng)絡(luò)并使用softmax激活函數(shù)進行二元分類,得到最終的分類結(jié)果。
在詞向量層,本文通過構(gòu)建簡單有效的句子特征來幫助模型更好地進行句子向量編碼表示。MCSM模型是基于CNN對問句進行語義編碼,考慮到CNN通過設(shè)定的滑動窗口依序?qū)ψ匀粏柧溥M行短語向量卷積,本文因此提出短語特征PH,旨在利用該特征將自然問句中的自然短語標識出來,使得模型在利用CNN進行卷積時能夠得到更優(yōu)的句子短語向量表示。此外,通過觀測大量語料發(fā)現(xiàn),在兩個自然問句中出現(xiàn)的不同單詞對兩個問句是否互為復(fù)述起著較為重要的作用,例如引言中的問句1與問句2中不相同的單詞“in India”使得兩個問句不互為復(fù)述,因此本文提出詞共現(xiàn)特征EM來幫助模型更好地對兩個問句進行語義編碼。同時,因為CNN不能像Bi-LSTM一樣捕獲句子中單詞的相對位置信息,本文通過構(gòu)建位置特征PE進行彌補。以下是三種特征的具體構(gòu)造方法。
短語特征PH: 通過spacy標識出句子中的名詞短語,利用0-1標簽將名詞短語的單詞對應(yīng)標簽標注為1,其余為0。每個句子能夠得到一個對應(yīng)的短語特征標簽PH。通過將PH的0、1標簽分別隨機初始化成300維的向量,將句子的PH特征映射成特征向量EPH,即PH特征向量。
詞共現(xiàn)特征EM: 通過比較兩個句子P、Q中的每個單詞是否同時出現(xiàn)得到。如果單詞同時出現(xiàn)在P、Q中,單詞對應(yīng)的EM標簽為0,否則標簽為1。得到EM特征之后,通過將0、1標簽分別隨機初始化成100維向量,得到特征向量EEM,即EM特征向量。EM特征雖然簡單,但是在閱讀理解任務(wù)中的DrQA[15]被驗證有效。
位置特征PE: 具體采用學(xué)者Vaswani A等[16]提出的位置向量計算公式,進行位置特征向量的構(gòu)建。具體的計算公式如式(2)、式(3)所示。
其中,pos是指單詞在句子中的具體位置,例如句子中的第一個單詞,對應(yīng)的pos為1。C表示一個常數(shù)變量,Vaswani A等將其值設(shè)為10K。dPE表示的是位置向量的維度。i是指dPE中的具體的序號,PE(pos,2i)與PE(pos,2i+1)分別計算的是位置向量中偶數(shù)位、奇數(shù)位上的具體數(shù)值。實驗中,dPE設(shè)置為50,則i的取值為0~25。通過式(2)~(3)計算,最終得到位置向量EPE。
在獲得以上三種特征向量之后,將這三種特征向量與GloVe詞向量進行拼接,通過一層Highway網(wǎng)絡(luò)對這些特征向量進行簡單快速地融合。Highway網(wǎng)絡(luò)的提出是為了解決深層次網(wǎng)絡(luò)訓(xùn)練困難的問題,允許信息高速無阻礙的流動。整個過程計算公式如式(4)~(7)所示。
其中,Ex是拼接三種特征向量表示與詞向量表示的句子表示,T是計算得出的門控矩陣,C是線性操作調(diào)整后的句子表示,利用式(7)得出最后融合多種句子特征與詞向量信息的詞級句子表示H。其中,W1、W2、b1、b2是隨機初始化的參數(shù),隨模型訓(xùn)練進行更新,并且本文三種特征向量也隨著模型訓(xùn)練而進行更新。本文在3.3.2節(jié)分析三種句子特征對模型的影響。
目前,傳統(tǒng)的句子編碼方法主要是基于CNN與LSTM對句子的詞向量表示進行編碼。其中,基于CNN的句子編碼方法主要根據(jù)設(shè)置的窗口大小n,依次按序?qū)渥又羞B續(xù)n個單詞的詞向量表示進行卷積操作,得到短語級的向量表示,最終將多個短語級向量表示拼接得到整個句子的向量表示。但是在自然語句中不是所有連續(xù)的單詞能夠組成短語,對于不能構(gòu)成短語的n個單詞,傳統(tǒng)的基于CNN句子的編碼方法仍然將其作為短語進行向量卷積,得到的短語級向量表示相對于原有n個單詞的詞向量表示,可能在語義表示上會出現(xiàn)一些錯亂。而基于LSTM的句子編碼方法,由于LSTM具有時序依賴特性,對句子進行編碼時無法像CNN那樣進行并行編碼,只能串行編碼導(dǎo)致效率較低。因此,本文提出一種多卷積自交互編碼方法MCSE,能夠?qū)⒒贑NN卷積得到的短語級句子向量與原有的單詞級句子向量進行充分融合,得到多粒度句子向量表示,以緩解傳統(tǒng)的基于CNN句子編碼方法中一些語義向量表示錯亂的問題,同時句子編碼效率高于基于LSTM的句子編碼方法。在3.4.2節(jié)將會具體分析對比MCSE與基于CNN、LSTM句子編碼方法。
MSCE通過兩個參數(shù)不共享的CNN對同一句子向量進行短語級特征抽取,將其中一個抽取特征作用于原有詞級別特征與另一個短語級特征交互融合的過程中,具體程如圖3所示。

圖3 MCSE編碼過程
對問句P進行句子編碼,詞向量層輸出的句子表示為Hp,MCSE的具體步驟如下:
① 通過兩個參數(shù)不共享的CNN,采用相同尺寸的卷積窗口和相同數(shù)目的卷積核,同時對句子P的向量表示Hp進行卷積操作,得到短語級卷積特征向量E1cnn_p與E2cnn_p,卷積特征向量具體計算公式如式(8)~(11)所示。
其中,k是卷積核窗口大小,W與b為隨機初始化參數(shù),隨模型訓(xùn)練進行調(diào)整。式(11)是卷積特征向量中每個特征fpi具體計算過程。同時,每個卷積通過自動填充的方式保持卷積結(jié)果形狀與輸入形狀一樣。
② 將短語級別卷積特征向量E2cnn_p做如式(12)所示計算,得到一個融合門控矩陣G。
G=W·Sigmoid(E2cnn_p)
(12)
其中,對問句P與Q進行MCSE編碼時,共享同一個線性操作。這使得問句P與Q之間在計算各自門控矩陣G時有一種直接的交互影響、間接影響得到的多粒度句子向量表示。共享線性操作對MCSM模型性能影響在3.4節(jié)具體分析。
③ 利用計算得到的融合門控矩陣G,融合詞級別特征向量與短語級別特征向量,得到多粒度句子向量表示Emulti_p,具體計算如式(13)所示。
Emulti_p=HP·(1-G)+G·E1cnn_p
(13)
通過公式(13),能夠?qū)⒃~級別上的特征向量HP與短語級別卷積特征向量E1cnn_p通過融合控制矩陣G進行對應(yīng)融合,得到更好的多粒度特征句子表示Emulti_p。
本文采用來自Quora的數(shù)據(jù)集QQPD(全稱為“Quora question paraphrase dataset”),該數(shù)據(jù)集包含超過400 000的問句對,并且每個問句對都有一個二元標簽,標識問句對是否互為復(fù)述。本文使用與BiMPM相同的數(shù)據(jù)集(1)https: //github.com/zhiguowang/BiMPM劃分。其中,訓(xùn)練集有384 348條,包含正樣本139 360條,負樣本245 042條;開發(fā)集與測試集各有10 000條,各包含正負樣本5 000條。本文采用準確率對性能進行評價。
本文利用公開的來自840B Common Crawl語料訓(xùn)練的300維GloVe詞向量,對句子單詞進行向量表示,對于不在詞袋的單詞,MCSM將其映射為一個隨機初始化的向量。對于短語特征PH、詞共現(xiàn)特征EM、位置特征PE,MCSM分別對應(yīng)初始化300維、100維、50維的特征向量。對于句子編碼層中的CNN,卷積窗口大小設(shè)置為5,卷積核個數(shù)為750。MCSM訓(xùn)練時采用動態(tài)dropout,具體公式如式(14)、式(15)所示。
其中衰減率dr為0.997,間隔步長s為10k,W是初始步長,隨訓(xùn)練按序增長,sr是計算得到的按訓(xùn)練步長而變化的衰減率,初始衰減率ir為1.0。MCSM分別在詞向量層、特征抽取層進行動態(tài)dropout。訓(xùn)練時,如果連續(xù)5輪迭代開發(fā)集數(shù)據(jù)性能沒有提升,就按照表1所示,按順序進行優(yōu)化函數(shù)與學(xué)習(xí)率的切換。

表1 優(yōu)化函數(shù)配置
本文分別從模型性能、復(fù)雜度與序列操作次數(shù)、GPU顯存開銷與訓(xùn)練數(shù)據(jù)一輪迭代所需時間這3個維度上進行分析。
3.3.1 性能分析
模型在開發(fā)集與測試集上的準確率如表2所示。其中前4行數(shù)據(jù)取自BiMPM的工作;MatchPyramid模型性能是利用MatchZoo[19]復(fù)現(xiàn)得到;第6行至第7行的數(shù)據(jù)取自DECATT[2]的工作,Pt-DECATTword與Pt-DECATTchar是引入外部數(shù)據(jù)Paralex[20]語料作為噪聲數(shù)據(jù)進行預(yù)訓(xùn)練得到。Pt-DECATT將3 600萬的Paralex語料做為正樣本,構(gòu)造將近6 400萬負樣本,整個預(yù)訓(xùn)練噪聲數(shù)據(jù)規(guī)模將近1億。

表2 Quora語料上實驗結(jié)果
(注: “開發(fā)集”和“測試集”兩列對應(yīng)的單位為“%”)
從表2結(jié)果具體分析,MCSM模型在測試集上性能略低于通過大規(guī)模外部數(shù)據(jù)預(yù)訓(xùn)練得到的Pt-DECATTword與Pt-DECATTchar。而在不引入外部數(shù)據(jù)的條件下,MCSM在測試集上的性能與DECATT相差無幾,而與Siamese-CNN、Siamese-LSTM、MatchPyramid相比,MCSM準確率提升4%以上,比L.D.C提升1.2%,MCSM只比BiMPM準確率略低1.42%。綜上,在不引入外部數(shù)據(jù)的情況下,本文所提MCSM模型性能優(yōu)于大多數(shù)模型,且接近前沿模型性能。
3.3.2 模型復(fù)雜度分析
本文對基線模型與MCSM模型進行復(fù)雜度分析。如表3所示,前3行是學(xué)者Vaswani A等[14]給出的單獨一層自注意力、RNN、CNN模型復(fù)雜度與序列操作次數(shù)分析結(jié)果,其中n表示序列長度,d表示向量維度,k表示卷積核個數(shù),其中RNN具有時序依賴性無法并行操作,所以序列操作次數(shù)是O(n)。因為基線模型與MCSM模型都分別用到注意力、RNN與CNN,所以本節(jié)以這三者的復(fù)雜度與序列操作次數(shù)為基準對各個模型進行復(fù)雜度分析。

表3 模型復(fù)雜度分析
本節(jié)選取5種基線系統(tǒng)進行復(fù)雜度分析,結(jié)果如表3所示。首先,由于RNN無法并行,所以綜合復(fù)雜度與操作次數(shù)比較,RNN要比CNN復(fù)雜,而一般而言,n要小于d,所以CNN要比注意力復(fù)雜一些,但兩者相差不大。同時,BiLSTM是基于RNN的變種,在復(fù)雜度上要高于RNN,更遠高于CNN與注意力。而BiMPM模型主要架構(gòu)有2個BiLSTM與4×2個注意力(由于BiMPM中的注意力是雙向的);MCSM模型主要架構(gòu)是4個CNN;同時,Siamese-CNN、MatchPyramid兩種模型的主要架構(gòu)分別是1個CNN與2個CNN,Siamese-LSTM的主要架構(gòu)是1個BiLSTM,DECATTchar模型主要架構(gòu)相當于2個注意力。所以,綜合表3中復(fù)雜度與操作次數(shù)兩個維度比較,MCSM模型遠低于BiMPM;稍微低于Siamese-LSTM;與Siamese-CNN、MatchPyramid相當;比DECATTchar略高。
3.3.3 模型訓(xùn)練難易度分析
本節(jié)選擇復(fù)現(xiàn)Siamese-CNN、Siamese-LSTM、BiMPM、DECATTchar,通過與MCSM在GPU顯存使用大小與訓(xùn)練迭代速度上進行對比。以上模型均在英偉達GeForce GTX 1080的實際環(huán)境中運行得出的結(jié)果,其中,Siamese-CNN、Siamese-LSTM采用MatchZoo以Keras進行復(fù)現(xiàn),MCSM是以Keras實現(xiàn),BiMPM通過Tensoflow進行復(fù)現(xiàn),DECATTchar采用Pytorch進行復(fù)現(xiàn)(2)https: //github.com/Robertren/NeuralParaphraseWithPretrain,雖然模型復(fù)現(xiàn)框架有所不同,但是對模型使用GPU內(nèi)存與迭代一輪訓(xùn)練速度影響不大。最終,模型訓(xùn)練過程需要占用的GPU顯存大小和迭代一輪訓(xùn)練語料所需時間如表4所示。

表4 GPU內(nèi)存與時間開銷
從實驗結(jié)果可以發(fā)現(xiàn),MCSM模型訓(xùn)練速度比BiMPM快將近19倍左右,訓(xùn)練所需的GPU顯存比BiMPM下降大約80%。MCSM與DECATTchar相比,雖然訓(xùn)練所需GPU顯存更多,但是MCSM訓(xùn)練速度比DECATTchar快3倍多。而Siamese-CNN、Siamese-LSTM與MCSM相比,所需GPU顯存使用相差無幾,速度上Siamese-CNN最快,其次是MCSM,最慢的是Siamese-LSTM,但是三者間訓(xùn)練數(shù)據(jù)迭代一輪所需時間差距不大。綜上,MCSM模型訓(xùn)練難度低。
3.3.4 綜合分析
綜合模型性能、復(fù)雜度與訓(xùn)練難易度三者進行分析,本文所提MCSM模型在這三者之間達到最優(yōu)的平衡。訓(xùn)練迭代速度、模型復(fù)雜度優(yōu)于或接近MCSM的基線模型,性能上都低于MCSM,如Siamese-CNN和MatchPyramid;性能上與MCSM接近的基線模型,訓(xùn)練迭代速度比MCSM要慢,如DECATT模型;性能上優(yōu)于MCSM的基線模型,復(fù)雜度與訓(xùn)練難度都遠超過MCSM,如BiMPM模型。
本節(jié)分別對本文所提句子特征與多卷積自交互句子編碼方法MCSE進行有效性實驗分析對比。3.4.1節(jié)對句子特征進行分析,3.4.2節(jié)對MCSE句子編碼方法進行分析。通過這兩節(jié)的分析對比,驗證確定本文所提MCSM模型性能提升的內(nèi)在原因,輔助以后進一步完善模型提升性能。
3.4.1 句子特征分析
針對詞向量層中的3種句子特征,本文通過分別去除一種特征進行實驗,然后將這三種特征全部去除進行實驗對比。最終實驗結(jié)果如表5所示。

表5 句子特征性能分析
(注: “開發(fā)集”和“測試集”對應(yīng)的單位為“%”)
從實驗結(jié)果中可以發(fā)現(xiàn)句子短語特征對模型性能影響最低,位置特征對模型影響次之,詞共現(xiàn)特征對模型影響最大。三種特征全去除,只使用GloVe詞向量,整個模型性能下降2.03%。同時,本文基于Siamese-CNN、Siamese-LSTM模型,通過添加3種句子特征進行性能對比,如表6所示,Siamese-CNN與Siamese-LSTM的結(jié)果取自BiMPM的工作,而Siamese-CNN+、Siamese-LSTM+表示是添加3種句子特征后復(fù)現(xiàn)得到的結(jié)果。從表中結(jié)果可知,添加3種句子特征之后的模型相較于原有模型在測試集性能上均有所增加,由此,可以得出本文構(gòu)造的3種句子特征對于其他模型也有效。綜上所述,本文構(gòu)建的三種句子特征簡單有效。

表6 基于基線模型的句子特征實驗
(注: “開發(fā)集”和“測試集”對應(yīng)的單位為“%”)
3.4.2 多卷積自交互編碼方法有效性分析
本節(jié)通過更改MCSM模型中句子編碼層的編碼方法,將多卷積自交互句子編碼(MCSE)方法替換成Bi-LSTM與CNN,保持模型其他層相同,通過實驗結(jié)果分析MCSE與其他句子編碼方法之間的差異性。具體的實驗結(jié)果如表7所示,其中“+LSTM”、“+CNN”是指分別以Bi-LSTM、CNN替換MCSE的模型,“MCSE”指沒有進行替換的模型。

表7 MCSE與Bi-LSTM、CNN對比分析
(注: “開發(fā)集”和“測試集”對應(yīng)的單位為“%”)
從實驗結(jié)果可以發(fā)現(xiàn),基于MCSE句子編碼的模型不僅性能比基于Bi-LSTM句子編碼的模型在開發(fā)集與測試集上分別高1.96%、2.43%,而且迭代一輪訓(xùn)練數(shù)據(jù)的速度也比基于Bi-LSTM的模型要快將近2倍;而MCSE與基于CNN的模型相比,由于MCSE復(fù)雜度高于CNN,迭代速度上比基于CNN句子編碼的模型慢一些,但是在開發(fā)集與測試集上分別比基于CNN的模型高0.98%、1.82%。綜上,本文所提MCSE句子編碼方法實驗性能與訓(xùn)練難易度上都優(yōu)于基于Bi-LSTM的句子編碼方法,同時MCSE句子編碼方法得到的多粒度句子向量表示比基于CNN得到的短語級句子向量表示更優(yōu),最終模型性能高于基于CNN的模型。
在MCSE方法中,兩個句子的編碼過程共享一個線性操作對各自的交互矩陣G進行影響調(diào)節(jié),本文通過實驗對共享線性的影響進行探究,實驗結(jié)果如表8所示,其中“MCSM+”表示擁有共享線性操作的模型,“MCSM-”表示沒有共享線性操作的模型。實驗結(jié)果表明沒有共享線性的MCSM-比有共享線性的MCSM+在測試集上性能下降0.36%,雖然性能下降不多,但是仍能表明MCSE通過句子間共享線性操作,對兩個句子編碼過程實現(xiàn)簡單有效的句間交互,得到更好的句子向量編碼表示。因此,對于未來相關(guān)研究,需要我們探究如何更優(yōu)地進行兩個問句間的交互表示。

表8 共享線性操作分析
(注: “開發(fā)集”和“測試集”對應(yīng)的單位為“%”)
QQPD的測試集數(shù)據(jù)共有10 000條,我們按照萊文斯坦距離對測試數(shù)據(jù)集進行劃分。其中,萊文斯坦距離是編輯距離的一種,又稱Levenshtein距離,在本節(jié)主要指一個問句轉(zhuǎn)換成另一個問句所需要的最少編輯單詞操作次數(shù)。萊文斯坦距離越大,說明兩個自然問句之間差異越大,不一樣的單詞越多。下文的編輯距離都代指萊文斯坦距離。按照編輯距離分布劃分測試數(shù)據(jù),具體數(shù)據(jù)分布如圖4所示。其中,橫坐標是按照編輯距離大小進行劃分,縱坐標是標識具體的數(shù)據(jù)量大小。

圖4 測試集數(shù)據(jù)分布圖

圖5 模型正確率分布圖
從圖4中我們可以發(fā)現(xiàn),編輯距離在10以內(nèi)的數(shù)據(jù)約占總數(shù)據(jù)量的65%以上。本節(jié)取基線模型BiMPM、MCSM、Siamese-CNN+的測試結(jié)果進行分析對比,其中Siames-CNN+與BiMPM的實驗結(jié)果是本文復(fù)現(xiàn)得到的,并且 Siamese-CNN+是添加3種句子特征的模型,兩者在測試集上準確率分別為84.93%、87.78%,MCSM模型在測試集上的準確率為86.75%。將這三種模型在測試集上按照編輯距離進行劃分,得出如圖5所示的各個編輯距離正確率數(shù)據(jù)分布圖,其中橫坐標是編輯距離分布,縱坐標是準確率。從圖5數(shù)據(jù)的分布上,我們可以發(fā)現(xiàn),三種模型分布在編輯距離為10以內(nèi)的數(shù)據(jù)上準確率不高,隨著編輯距離的增加,模型的準備率逐漸增加。由此可以發(fā)現(xiàn)問句復(fù)述識別難點在于如何更好地識別較為相似問句之間的復(fù)述關(guān)系。其次,分別比較三種模型在各個編輯距離分布上的準確率,我們發(fā)現(xiàn)BiMPM在編輯距離較小的數(shù)據(jù)上,準確率都比較高,可能原因在于BiMPM模型雖然復(fù)雜度高,但是對兩個問句間的交互充分,對于編輯距離小的數(shù)據(jù),能夠通過充分交互更好地理解句子語義。而MCSM模型對句間交互不夠充分,在編輯距離小的數(shù)據(jù)上準確率略小于BiMPM,但是在編輯距離大的數(shù)據(jù)上,MCSM模型要更有效些。
接著,我們?nèi)〕鼍唧w樣例數(shù)據(jù)進行分析。首先如問句5與問句6所示,它們真實標簽為0,表明兩者不互為復(fù)述,MCSM模型預(yù)測為不是復(fù)述,預(yù)測正確。問句5與問句6之間最大的語義差異來源于問句5中“thinkofhimself”,這個短語使得問句5的語義與問句6截然不同,很顯然MCSM模型通過構(gòu)建的句子特征與MCSE句子編碼方法將這個短語語義捕獲,在最后進行分類時得出正確的答案。
問句5:DoesDonaldTrumpthinkofhimselfasacharlatan?
(譯文: 唐納德特朗普認為自己是騙子?)
問句6:IsDonaldTrumpacharlatan?
(譯文: 唐納德特朗普是騙子嗎?)
Truth: 0 Prediction: 0
但是,問句7與問句8的真實標簽為1,互為復(fù)述,MCSM模型預(yù)測錯誤,但BiMPM模型對此預(yù)測正確。具體分析問句7與問句8,我們發(fā)現(xiàn)兩者主要差異在于問句7中“canIget”與問句8中“doyoufind”,BiMPM通過4種不同的注意力對問句7與問句8進行充分的語義向量交互得到更優(yōu)的語義向量表示,使得BiMPM得出正確的結(jié)果。而MCSM模型為得到更簡單的復(fù)雜度與更快的訓(xùn)練速度,在句間交互上不夠充分,在句子向量語義編碼中可能受兩個不同主語的影響,得出兩者不互為復(fù)述的結(jié)論。
問句7:HowcanIgettheproductnamefromaWalmartreceipt?
(譯文: 我如何從沃爾瑪收據(jù)中獲取產(chǎn)品名稱?)
問句8:HowdoyoufindproductnamesfromaWalmartreceipt?
(譯文: 您如何從沃爾瑪收據(jù)中找到產(chǎn)品名稱?)
Truth: 1 Prediction: 0
綜上,未來研究工作一方面需要研究對編輯距離小的問句對進行更好句子語義編碼;另一方面,如何在保證模型復(fù)雜度不會過高的前提下,更好地進行問句間的語義交互匹配,以此得到更優(yōu)的句子向量表示,這些需要更為深入的研究。
本文針對問句復(fù)述識別,提出了一種快速輕巧的多卷積自交互匹配模型MCSM。首先,本文通過構(gòu)建3種簡單有效的句子特征幫助模型更好地進行句子編碼;其次,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的多卷積自交互句子編碼方法,將詞級別句子特征與短語級別句子特征進行多粒度融合,得到語義信息更豐富的句子向量表示;最后利用池化操作抽取特征進行二元分類。本文在Quora標準復(fù)述識別語料上進行實驗,實驗結(jié)果證明,MCSM模型與基線模型BiMPM在性能上可比的同時,模型復(fù)雜度大幅降低,更易訓(xùn)練。具體而言,MCSM訓(xùn)練所需GPU顯存比BiMPM下降大約80%,迭代訓(xùn)練速度快19倍左右。
未來工作中,我們一方面將MCSM模型擴展到答案排序和自然語言推理等任務(wù)中。另一方面,結(jié)合實驗結(jié)果的錯誤分析結(jié)果,相似問句的復(fù)述識別與兩個問句編碼間的高效交互,也將成為后續(xù)的重要研究點,以此保證在模型復(fù)雜度不會大幅提高的前提下,通過更好的句間編碼交互捕獲更優(yōu)的句子向量表示,進一步提升模型性能。
另外,在中文問句復(fù)述識別的研究上,本文提出的詞共現(xiàn)特征EM,對應(yīng)中文復(fù)述語料也有作用,識別兩個中文問句是否互為復(fù)述,兩個問句中不一樣的漢字也對結(jié)果起著更為關(guān)鍵的作用;其次,本文所提的MCSE句子編碼方法對于中文句子的編碼表示也有一定啟發(fā)意義; 最后,考慮到中文的詞語比英文蘊含更豐富多樣的含義,例如存在一詞多義或者不同語境下相同詞語的語義不一致等現(xiàn)象。因此中文問句復(fù)述識別的研究中,問句間的語義交互匹配的作用應(yīng)該會顯得更為關(guān)鍵,如何對中文問句進行更為有效的句子交互可能是需要研究的重點問題之一。