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