楊振宇 張登輝,2
1(常州大學(xué)信息科學(xué)與工程學(xué)院 江蘇 常州 213000)2(浙江樹人大學(xué)信息科技學(xué)院 浙江 杭州 310015)
學(xué)術(shù)文獻(xiàn)是科研人員展示研究成果、交流學(xué)術(shù)觀點(diǎn)的主要文字載體。句子意圖為語句本身承載的語義信息和語句在上下文所體現(xiàn)的關(guān)聯(lián)作用。分析句子的意圖信息可洞察作者寫作邏輯,剖析文章整體結(jié)構(gòu)與風(fēng)格,已成為文獻(xiàn)質(zhì)量分析[1]、信息抽取[2]和自動(dòng)摘要[3]等任務(wù)的典型技術(shù)手段。學(xué)術(shù)文獻(xiàn)一般含有很多復(fù)雜長句,從篇章整體看,句子間注重邏輯順序[4];從句子結(jié)構(gòu)看,組成句子的多個(gè)子句、詞組都具有一定的語義,通過陳述、對(duì)比等修辭方法表達(dá)句子的整體意圖。句子意圖分類旨在提取復(fù)雜長句整體語義特征,以及子句、詞組間的細(xì)粒度結(jié)構(gòu)關(guān)系。然而,學(xué)術(shù)文獻(xiàn)復(fù)雜長句具有的多分句、一詞多義等特點(diǎn)給句子意圖分類任務(wù)帶來一定的挑戰(zhàn)。
意圖分類屬于短文本分類任務(wù),處理該任務(wù)的模型主要有基于規(guī)則的分類模型、基于傳統(tǒng)機(jī)器學(xué)習(xí)的分類模型和基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)分類模型?;谝?guī)則的分類模型需要構(gòu)建分類詞典,通過規(guī)則制定一系列關(guān)鍵詞所對(duì)應(yīng)的類別構(gòu)建分類模型,然后根據(jù)關(guān)鍵詞匹配進(jìn)行文本分類。該類模型的問題:① 依賴人工制定規(guī)則,且面向不同領(lǐng)域的數(shù)據(jù)需要重新制定;② 關(guān)鍵詞匹配方法無法區(qū)分不同語境下一詞多義現(xiàn)象。傳統(tǒng)機(jī)器學(xué)習(xí)分類模型大多從語言學(xué)特征考慮,特征提取與模型選擇對(duì)分類效果具有較大影響。Widyantoro等[5]對(duì)學(xué)術(shù)文獻(xiàn)句子的內(nèi)容特征進(jìn)行設(shè)計(jì)與提取,使用支持向量機(jī)、決策樹和樸素貝葉斯方法進(jìn)行句子分類。姜杰等[6]結(jié)合基于規(guī)則的方法和機(jī)器學(xué)習(xí)方法提升句子分類的準(zhǔn)確性。但傳統(tǒng)機(jī)器學(xué)習(xí)分類模型依賴人工設(shè)計(jì)并提取特征,且需要對(duì)特征進(jìn)行組合與優(yōu)化,受數(shù)據(jù)影響大,在復(fù)雜長句意圖分類任務(wù)上很難取得較好的魯棒性。
深度學(xué)習(xí)能夠從詞向量與句向量中自動(dòng)提取句子的深層次抽象特征,較好地解決了句子分類任務(wù)中特征提取問題,取得較傳統(tǒng)機(jī)器學(xué)習(xí)模型更好的分類效果。Kim[7]將詞向量與卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于句子模型構(gòu)建,提出TextCNN模型用于句子分類,雖然取得了一定效果,但該模型固定的filter_size導(dǎo)致獲取的文本信息具有局限性。Joulin等[8]提出一種基于CNN的特殊模型fastText,該模型只包含一個(gè)平均池化層,使用線性變換獲取更多的分類信息,雖然訓(xùn)練速度較快,但其使用的詞袋結(jié)構(gòu)忽略了文本序列特征。Ren等[9]采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)作為特征提取器的LSTM模型,提取文本長距離序列信息。曾蒸等[10]提出一種雙向長短時(shí)記憶循環(huán)網(wǎng)絡(luò)(Bi-LSTM)模型,捕獲雙向語義依賴。雖然在短文本分類任務(wù)上基于深度學(xué)習(xí)的句子分類方法體現(xiàn)出較好性能,但這些模型采用的靜態(tài)詞向量無法表示不同上下文中一詞多義現(xiàn)象,且不能充分表現(xiàn)出詞組、分句間的細(xì)粒度關(guān)系。
為此,本文提出一種結(jié)合BERT模型與雙層的LSTM網(wǎng)絡(luò)的復(fù)雜長句意圖分類方法。首先使用基于遷移學(xué)習(xí)的BERT模型獲取上下文相關(guān)的動(dòng)態(tài)詞向量,以解決一詞多義的表征問題;然后通過詞級(jí)、句級(jí)LSTM網(wǎng)絡(luò)提取復(fù)雜長句中詞組、分句間的隱含特征,獲取句子深度語義信息,提高模型分類準(zhǔn)確度。
句子分類任務(wù)旨在將文本映射到一組預(yù)定義的類別中,給定所有可能的文本輸入空間φ,其中x={x1,x2,…,xn}∈φ,以及包含m個(gè)標(biāo)簽的輸出空間L={l1,…,li,…,lm},分類器模型需要學(xué)習(xí)從輸入樣本x∈X到正確標(biāo)簽ltrue∈L的映射f:φ→L,使得:
(1)
為充分獲取多分句、一詞多義特點(diǎn)復(fù)雜長句中的語義信息,構(gòu)建了一種結(jié)合BERT與雙層LSTM的深層次句子意圖分類模型,模型架構(gòu)如圖1所示。
圖1 復(fù)雜長句意圖分類模型架構(gòu)
對(duì)于n個(gè)單詞組成的輸入文本S={w1,…,wq,…,wn},本文使用詞根嵌入、位置嵌入進(jìn)行表示。通過詞根嵌入表示單詞本身的語義信息,通過位置嵌入保留詞匯在原有句子中的位置信息。接著對(duì)兩種嵌入進(jìn)行拼接,即:
E(wq)=ETE(wq)⊕EPE(wq)
(2)
式中:ETE為詞根嵌入,EPE為位置嵌入, ⊕為拼接操作。每種嵌入表示意義如下:
(1) 詞根嵌入。將輸入的單詞進(jìn)行分詞和映射,使用內(nèi)嵌3萬個(gè)詞單元的WordPiece[11]嵌入對(duì)詞匯進(jìn)行分割。例如單詞“l(fā)earning”被分割為“l(fā)earn”“##ing”兩個(gè)詞單元,其中“##”表示分隔符。每個(gè)詞單元映射成一定維數(shù)的向量,作為該層的初始詞嵌入。
(2) 位置嵌入。用于標(biāo)記詞單元在句子中的位置,即位置向量。初始位置向量計(jì)算方法如下:
(3)
(4)
式中:計(jì)算位置為t的dE維詞向量在j維度的位置特征值,若j為偶數(shù)使用式(3)計(jì)算,若j為奇數(shù)使用式(4)計(jì)算。
BERT模型[12]訓(xùn)練過程分為預(yù)訓(xùn)練和微調(diào)兩個(gè)階段。模型采用Transformer特征抽取器[13]雙向提取文本信息。模型結(jié)構(gòu)如圖2所示。
圖2 BERT模型結(jié)構(gòu)
預(yù)訓(xùn)練階段利用無監(jiān)督學(xué)習(xí),從大規(guī)模數(shù)據(jù)集中訓(xùn)練獲得具有強(qiáng)大性能的模型,通過上下文相關(guān)的動(dòng)態(tài)詞向量表征不同語境下一詞多義的語義信息。該階段包含兩個(gè)任務(wù):MLM(Masked Language Model)和NSP(Next Sentence Prediction)。MLM任務(wù)將輸入語料當(dāng)中15%的單詞進(jìn)行隨機(jī)遮掩,模型根據(jù)上下文預(yù)測遮掩的單詞。NSP任務(wù)用來判斷預(yù)測句子對(duì)是否為連續(xù)句子,訓(xùn)練數(shù)據(jù)是從輸入語料中隨機(jī)抽取連續(xù)句子對(duì)A、B,其中將50%句子B進(jìn)行保留,這些句子對(duì)具有IsNext關(guān)系。另外,將50%句子B進(jìn)行隨機(jī)替換,這些句子對(duì)具有NotNext關(guān)系。分別取兩個(gè)任務(wù)的似然函數(shù)相加作為模型預(yù)訓(xùn)練損失函數(shù)。過程如圖3所示。
圖3 BERT模型預(yù)訓(xùn)練過程
微調(diào)階段加載預(yù)訓(xùn)練獲得的網(wǎng)絡(luò)參數(shù),初始化網(wǎng)絡(luò),并根據(jù)任務(wù)需求,在BERT輸出層接入不同結(jié)構(gòu)的網(wǎng)絡(luò)進(jìn)行監(jiān)督學(xué)習(xí),提高網(wǎng)絡(luò)訓(xùn)練速度,一定程度上規(guī)避了小規(guī)模數(shù)據(jù)集訓(xùn)練中出現(xiàn)過擬合的風(fēng)險(xiǎn)[14]。針對(duì)復(fù)雜長句意圖分類任務(wù),本文在BERT模型后接入雙層的LSTM網(wǎng)絡(luò),進(jìn)一步訓(xùn)練網(wǎng)絡(luò)模型。
在復(fù)雜長句意圖分類任務(wù)中,每個(gè)輸入的單元可能對(duì)最終分類結(jié)果產(chǎn)生不同程度的影響,LSTM網(wǎng)絡(luò)能夠?qū)斎雴卧M(jìn)行信息篩選。該網(wǎng)絡(luò)在RNN的基礎(chǔ)上增加了用來選擇信息的門,分別為輸入門、輸出門、遺忘門,以及用來存儲(chǔ)信息且通過不同門更新信息的記憶單元。英文學(xué)術(shù)文獻(xiàn)大多由多個(gè)分句的復(fù)雜長句構(gòu)成,為捕獲細(xì)粒度的意圖信息,本文通過詞級(jí)、句級(jí)LSTM網(wǎng)絡(luò)對(duì)句子語義特征進(jìn)行提取與表示。
(5)
式中:W*表示權(quán)重矩陣,b*表示偏置項(xiàng),均為網(wǎng)絡(luò)待學(xué)習(xí)參數(shù);σ為sigmoid激活函數(shù)。
(6)
(7)
(8)
(9)
(10)
對(duì)于BERT模型輸出的特征信息,其細(xì)粒度語義提取與表示過程如圖4所示。
圖4 復(fù)雜長句細(xì)粒度語義更新與表示
(11)
(12)
式中:λ表示權(quán)重參數(shù)。
將復(fù)雜長句S={s1,…,sq,…,sn}看作由n個(gè)分句構(gòu)成的序列,則其特征向量表示為:
(13)
特征向量經(jīng)由句級(jí)LSTM網(wǎng)絡(luò)更新獲取長句語義表示ht,其過程與詞級(jí)LSTM網(wǎng)絡(luò)相似,即:
(14)
句級(jí)LSTM網(wǎng)絡(luò)的輸出作為復(fù)雜長句最后語義特征傳入全連接層,通過Softmax函數(shù)進(jìn)行歸一化操作,得到復(fù)雜長句句子意圖預(yù)測結(jié)果,p(li|h)表示文本S在第i種意圖的概率,其計(jì)算方法為:
(15)
式中:w*和b*表示權(quán)重矩陣與偏置項(xiàng);m表示總標(biāo)簽數(shù)。本文使用梯度下降算法對(duì)模型進(jìn)行優(yōu)化訓(xùn)練,利用交叉熵函數(shù)計(jì)算模型損失,更新模型參數(shù)。損失函數(shù)L計(jì)算方法為:
(16)
式中:yi表示文本真實(shí)標(biāo)簽的one-hot向量在i維度上的值;φ表示L2正則化參數(shù)。
本文實(shí)驗(yàn)所用計(jì)算硬件為NVIDIA的GPU:Tesla P100 PCIE,所用深度學(xué)習(xí)框架為Tensorflow,實(shí)驗(yàn)環(huán)境具體配置如表1所示。
表1 實(shí)驗(yàn)環(huán)境配置
本文使用的實(shí)驗(yàn)數(shù)據(jù)來自美國人工智能協(xié)會(huì)(AAAI, American Association for Artificial Intelligence)收錄的學(xué)術(shù)文獻(xiàn)(http://www.aaai.org/Library/AAAI/aaai-library.php),選取2016年—2019年“自然語言處理”領(lǐng)域中的部分英文科技文獻(xiàn)進(jìn)行標(biāo)注?;谖墨I(xiàn)[5,15]中的句子分類方法并結(jié)合后續(xù)篇章結(jié)構(gòu)與風(fēng)格分析需求,將文獻(xiàn)中摘要以及正文部分的復(fù)雜長句按照意圖分類標(biāo)注如表2所示。
表2 復(fù)雜長句標(biāo)注類型
經(jīng)標(biāo)注之后數(shù)據(jù)集取70%作為訓(xùn)練集,15%作為驗(yàn)證集,15%作為測試集。參照驗(yàn)證集的分類效果對(duì)模型參數(shù)進(jìn)行不斷調(diào)整與優(yōu)化,最后在測試集上進(jìn)行測試。
本文加載BooksCorpus與英文維基百科作為訓(xùn)練數(shù)據(jù)的BERT-Base-Uncased預(yù)訓(xùn)練模型,其Transformer層數(shù)為12,每層Transformer隱藏神經(jīng)元個(gè)數(shù)為768; LSTM網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)為200。在網(wǎng)絡(luò)訓(xùn)練過程中,初始學(xué)習(xí)率為10-4,批樣本大小為64,最大迭代次數(shù)為30,dropout為0.5。
本實(shí)驗(yàn)采用精確率P(Precision)、召回率R(Recall)和F1值作為實(shí)驗(yàn)評(píng)價(jià)指標(biāo)。精確率指分類正確的句子數(shù)量占所有預(yù)測為某分類句子數(shù)量的比重,召回率指分類正確的句子數(shù)量占某分類真實(shí)句子數(shù)量的比重。F1值是一個(gè)融合了精確率和召回率的綜合指標(biāo),F(xiàn)1值越高則說明模型越理想。由于本文為多類別分類任務(wù),取每類別各個(gè)指標(biāo)求平均來評(píng)估模型分類性能,上述指標(biāo)計(jì)算方法如下:
(17)
(18)
(19)
式中:Ci表示模型正確預(yù)測某分類的句子數(shù)量;Ai表示預(yù)測為某分類的句子數(shù)量;Bi表示某分類實(shí)際的句子數(shù)量;N表示類別數(shù)量。
2.5.1對(duì)比實(shí)驗(yàn)結(jié)果分析
為驗(yàn)證本文方法在復(fù)雜長句意圖分類上的性能,在相同數(shù)據(jù)集上進(jìn)行五組對(duì)比實(shí)驗(yàn)。
(1) BERT-D-LSTM:即本文方法,結(jié)合BERT模型與雙層LSTM網(wǎng)絡(luò)對(duì)復(fù)雜長句意圖語義特征進(jìn)行提取,通過Softmax層實(shí)現(xiàn)句子分類。
(2) BERT-LSTM:在BERT輸出層僅使用單層詞級(jí)LSTM網(wǎng)絡(luò)參與訓(xùn)練。
(3) BERT:僅使用BERT模型,經(jīng)過預(yù)訓(xùn)練與微調(diào)階段將輸出層的特征表示直接傳入全連接層與softmax層預(yù)測分類結(jié)果。
(4) TextCNN:采用Word2vec模型獲取靜態(tài)詞向量,使用CNN作為特征提取器,通過移動(dòng)卷積核進(jìn)行卷積操作提取文本語義特征。
(5) LSTM:采用Word2vec模型獲取靜態(tài)詞向量,其語義特征提取方式與1.3節(jié)描述一致。
參考驗(yàn)證集對(duì)模型參數(shù)進(jìn)行不斷調(diào)整直至模型收斂,在測試集中測試模型效果,實(shí)驗(yàn)結(jié)果如表3所示。
表3 模型測試結(jié)果
從表3可以得出,本文方法在所有模型中取得最高的F1值。對(duì)比第1、第2和第3組實(shí)驗(yàn)可以發(fā)現(xiàn),微調(diào)階段在BERT之后加入LSTM網(wǎng)絡(luò),模型在評(píng)價(jià)指標(biāo)上均有所提高,其中F1值較第3組實(shí)驗(yàn)分別提升了0.025與0.013,表明結(jié)合LSTM網(wǎng)絡(luò)對(duì)語義特征進(jìn)一步提取能提升模型在復(fù)雜長句意圖分類任務(wù)上的性能。對(duì)比第1和第2組實(shí)驗(yàn)可以發(fā)現(xiàn),加入句級(jí)LSTM較單層LSTM在F1值上提升了0.012,表明雙層LSTM網(wǎng)絡(luò)可以更好地捕捉復(fù)雜長句當(dāng)中詞組間、分局間細(xì)粒度的意圖語義信息。對(duì)比5組實(shí)驗(yàn)?zāi)軌虬l(fā)現(xiàn),加入BERT預(yù)訓(xùn)練之后,相較于傳統(tǒng)的TextCNN 、LSTM模型F1值具有較高提升,這是由于靜態(tài)詞向量無法捕捉上下文相關(guān)的語義信息,加入BERT預(yù)訓(xùn)練之后,可以捕獲上下文相關(guān)的語義信息,從而更精確地表征句子語義。因此本文提出的方法能更好地解決復(fù)雜長句意圖分類問題。
2.5.2λ權(quán)重參數(shù)對(duì)模型的影響
1.4節(jié)中,對(duì)分句的語義特征表示中加入權(quán)重參數(shù)λ來調(diào)整分句的隱含特征與詞匯特征之間的比值。本文探究了該比值對(duì)模型分類F1值的影響,如圖5所示。
圖5 λ對(duì)模型F1值的影響
由圖5可看出,在一定范圍內(nèi)隨著λ增加,模型的分類效果有所提升,其中λ在0.45左右時(shí)取得最好的效果,說明將詞級(jí)網(wǎng)絡(luò)獲取到的分句隱含特征與原特征結(jié)合能獲取到細(xì)粒度的語義表示,從而得到更好的分類效果。然而當(dāng)λ達(dá)到0.7時(shí),隨著λ增加,模型分類F1值低于λ為0的效果且持續(xù)下降。其原因是當(dāng)λ取值較高時(shí),句級(jí)LSTM網(wǎng)絡(luò)會(huì)過于關(guān)注分句的隱含特征導(dǎo)致丟失詞匯級(jí)語義信息,因此分類效果隨之降低。
2.5.3最大句子長度對(duì)模型的影響
在模型訓(xùn)練之前,首先需要規(guī)定句子的最大長度,設(shè)置不同的最大句子長度會(huì)對(duì)模型的性能產(chǎn)生一定的影響。本文對(duì)數(shù)據(jù)集當(dāng)中句子長度分布情況進(jìn)行統(tǒng)計(jì),如圖6所示。
圖6 句子長度分布
為探該設(shè)置對(duì)模型分類F1值的影響,本文采用幾種不同的最大句子長度在本文方法上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 句子最大長度對(duì)模型F1值的影響
由圖7可以得出,當(dāng)句子最大長度取25~35時(shí),模型的F1值取得最高。若句子最大長度取值較大,對(duì)于長句而言會(huì)對(duì)模型添加很多不必要的噪聲,對(duì)于短句而言補(bǔ)0填充也會(huì)對(duì)模型產(chǎn)生影響;若句子最大長度取值較小,會(huì)丟失語義信息。
為對(duì)學(xué)術(shù)文獻(xiàn)中的復(fù)雜長句意圖進(jìn)行準(zhǔn)確識(shí)別。本文將BERT與雙層的LSTM網(wǎng)絡(luò)進(jìn)行連接得到復(fù)雜長句意圖分類模型。通過詞級(jí)、句級(jí)LSTM網(wǎng)絡(luò)提取復(fù)雜長句細(xì)粒度語義表示。實(shí)驗(yàn)結(jié)果表明,該方法對(duì)于多分句、一詞多義特點(diǎn)的復(fù)雜長句能夠較好進(jìn)行特征提取與表示,表現(xiàn)出較好的分類效果,總體效果優(yōu)于BERT、TextCNN和LSTM模型。該方法對(duì)于學(xué)術(shù)文獻(xiàn)中復(fù)雜長句意圖分類任務(wù)具有一定的實(shí)用性,為進(jìn)一步分析篇章整體風(fēng)格與結(jié)構(gòu)提供了支撐。
本文僅針對(duì)于句子的單意圖進(jìn)行分類,而復(fù)雜的英文句子可能會(huì)表現(xiàn)出多種意圖,今后將對(duì)多意圖情況展開研究。另一方面,在一些表述方式相近的類別上分類的準(zhǔn)確度還有待提升,因此后續(xù)研究將嘗試對(duì)輸入的句子采用更多層次的詞嵌入方法表示,以提高分類的準(zhǔn)確度。