孫 超,曲維光,魏庭新,顧彥慧,李 斌,周俊生
(1. 南京師范大學 計算機與電子信息學院,江蘇 南京 210023;2. 南京師范大學 文學院,江蘇 南京 210097;3. 南京師范大學 國際文化教育學院,江蘇 南京 210097;4. 昆山震川高級中學,江蘇 蘇州 215300)
通常情況下,動詞是句子理解的關(guān)鍵,對句子的理解一般從動詞入手。現(xiàn)代漢語中動詞連用的現(xiàn)象大量存在,但相似形式所代表的語法結(jié)構(gòu)和語義結(jié)構(gòu)卻不一定相同,有時甚至千差萬別。在句子級別的語義研究方面,謂詞所處的事件框架中包含的各種語義關(guān)系構(gòu)成了句子的語義結(jié)構(gòu)。連動句包含多個謂詞,蘊含了十分豐富的知識。連動句表示的是多個事件,且這些事件相互依賴并呈現(xiàn)出語義上的時序、方式、目的、因果等關(guān)系[1]。因此獲取連動句的方法將在自然語言理解領(lǐng)域中發(fā)揮重要的作用,有效的連動句識別可以在大規(guī)模語料中獲取其中的連動句,從而便于對連用的動詞或動詞性短語之間的語義關(guān)系進行研究,有助于自然語言處理中句子級別的語義分析任務(wù)和句法解析任務(wù)的研究,獲取連動句的方法將在常識獲取、智能網(wǎng)頁等人工智能應(yīng)用領(lǐng)域中發(fā)揮重要的作用,同時也為其他特殊句式的獲取和處理提供了思路,從而幫助人們更加深入地理解自然語言。
連動句是漢語中一種較特殊的句式結(jié)構(gòu),在漢語中非常普遍。對連動句的研究可以從馬建忠的《馬氏文通》(成書于1898年)中找到最早的蹤跡[2]。隨后,又有很多語言學家對連動句作了深入研究,其中,趙元任(《北京口語語法》)、張志公(《漢語語法常識》)、丁聲樹等(《現(xiàn)代漢語語法講話》)、呂叔湘(《現(xiàn)代漢語八百詞》)等都曾對連動結(jié)構(gòu)做過分析和界定[2]。一般認為,連動句是指句中謂語為連動謂語的句子,即這個句子的謂語是兩個或兩個以上的動詞連用,這些動詞之間沒有聯(lián)合、動賓、偏正或主謂等關(guān)系,也沒有明顯的語音停頓,不使用關(guān)聯(lián)詞語連接,而且這些動詞都由同一個主語發(fā)出[3]。
綜合前人的研究[4-7],本文將所研究的連動句定義如下: 在一個單句中,含有兩個或兩個以上的動詞(或動詞結(jié)構(gòu))且動詞的施事為同一對象。其中第一個動詞(簡稱V1)的主語位置出現(xiàn)的名詞短語NP1位置固定,而第二個動詞結(jié)構(gòu)(簡稱V2)所對應(yīng)的名詞短語NP2,與V1的NP1同形,且必須隱含。其句法格式為: NP1+V1+(NP2=[NP1])+V2,且V1和V2之間在語義上具有時序、目的、方式和原因等關(guān)系。例如,“我去圖書館看書”,此句中的“去”和“看”兩個動詞的主語都是“我”且只出現(xiàn)在第一個動詞的主語位置,兩個動詞皆為動作行為動詞。而像“地面人員看到丁毅找準跑道”一句中也含有兩個動詞“看到”和“找準”,但兩者的主語分別是“地面人員”和“丁毅”,所以此句屬于本文定義的非連動句。
抽象語義表示(Abstract Meaning Representation, AMR)是近年來一種新興的句子級別的語義表示方法,它突破了傳統(tǒng)的句法樹結(jié)構(gòu)的限制,將一個句子語義抽象為一個單根有向無環(huán)圖,很好地解決了論元共享的問題[8]。在連動句中,存在內(nèi)部概念節(jié)點論元共享的現(xiàn)象,即在一個單句中多個謂詞共享同一施事論元角色,這種V1、V2的施事論元共享現(xiàn)象正是連動句區(qū)別于其他特殊句法結(jié)構(gòu)的最主要特征,而在AMR中會將缺省的論元進行補全,得到完整語義表示?;诖颂卣鳎梢詮腁MR圖中獲取可能的連動句,再經(jīng)過人工校對得到連動句集合和非連動句集合,故本文選取了李斌等[9]設(shè)計建立的中文AMR語料作為部分實驗數(shù)據(jù)集。
本文的數(shù)據(jù)集主要由兩部分組成,第一部分是使用抽象語義表示(AMR)體系標注的人教版小學1~6年級語文教材;另一部分是清華樹庫的語料,經(jīng)過人工標注賦予每個句子連動句或非連動句的標簽。
本文提出的連動句的識別方法分為兩步。第一步: 首先利用簡單的規(guī)則剔除語料中一部分非連動句;第二步: 基于神經(jīng)網(wǎng)絡(luò)做文本分類,將連動句與非連動句看作兩個類別的文本進行分類,使用BERT編碼,利用多層CNN和BiLSTM模型聯(lián)合獲取特征,進行句子分類,標簽為連動句的文本,即為模型識別出的連動句。此方法不需要手工篩選復(fù)雜特征,降低了對NLP領(lǐng)域的前置知識的需求。文本分類的實驗結(jié)果達到92.71%的準確率,連動句識別的F1值為87.41%。同時本工作也可以幫助AMR標注,定位連動句的位置,在后續(xù)工作中進一步完成連動句中連動詞和主語的識別以及連動詞間的語義關(guān)系識別,進而實現(xiàn)連動句的AMR自動標注。
近年來針對連動句的研究主要集中于連動句的對外教學研究以及從漢語言文學角度研究分析連動句的句法和語義問題,針對連動句識別的研究工作較少。
2013年許有勝提出了連動結(jié)構(gòu)的自動識別和分析方法[10]。他主要從形式特征和語義角色兩個方面編制出一些規(guī)則,嘗試對連動結(jié)構(gòu)進行自動識別和分析。但是由于連動結(jié)構(gòu)的復(fù)雜性,所設(shè)置的規(guī)則并不能涵蓋所有情況,使得他提出的自動識別方法在很多環(huán)節(jié)的處理上都存在問題,但它提供了一種“基于規(guī)則識別”的思路。
2017年劉雯旻等提出了一種規(guī)則和統(tǒng)計相結(jié)合的連動句識別方法[11],他們構(gòu)建了基于連動句形式特征和語義角色的基礎(chǔ)規(guī)則庫和被動名詞庫,利用互信息計算謂語動詞與主語候選項的搭配強度,從而達到連動句識別的目的,實驗結(jié)果達到79.42%的準確率,F1值為70.83%。
隨著深度學習的發(fā)展,神經(jīng)網(wǎng)絡(luò)在解決文本信息處理相關(guān)任務(wù)中取得了較大的進展。本文將連動句的識別問題視為文本分類問題,提出一種基于神經(jīng)網(wǎng)絡(luò)的識別方法。深度學習的文本分類方法需要將文本輸入到一個深度網(wǎng)絡(luò)中,得到文本的表示形式,然后將文本表示形式輸入到Softmax函數(shù)中,得到每個類別的概率。目前,利用神經(jīng)網(wǎng)絡(luò)對文本進行分類已經(jīng)取得很多進展。Kim 最早提出將CNN應(yīng)用于文本分類任務(wù)[12],Lai等提出RCNN模型,更好地利用了上下文信息[13],Conneau等在此基礎(chǔ)上提出VDCNN 模型,采用了深度卷積網(wǎng)絡(luò)方法[14]。Liu等針對文本多分類任務(wù)提出基于RNN的不同共享機制模型[15],Wang提出了DRNN 模型,通過固定信息流動的步長提高文本情感分析的準確率[16]。
雖然許多神經(jīng)網(wǎng)絡(luò)的模型在文本分類任務(wù)中都取得了不錯的分類效果,但連動句與非連動句的分類又與一般的文本分類任務(wù)不同,許多形式上十分相似的句子很可能不屬于同一類別, 更 需要關(guān)注句中動詞間的語義關(guān)系和它們的施事。基于此,本文利用BERT得到文本的表示形式,在訓練過程中可以根據(jù)上下文動態(tài)地調(diào)整詞向量,將其與多層CNN和BiLSTM進行組合作為連動句識別的模型,在人工構(gòu)建的語料庫上取得了不錯的效果。
本模型采用BERT的輸出結(jié)果作為字表示,將BiLSTM層與兩層CNN獲取的局部特征相結(jié)合,用Concatenate連接,再經(jīng)過一個全連接層,最后通過Softmax層輸出最終的判斷結(jié)果,整體模型結(jié)構(gòu)如圖1所示。
圖1 模型結(jié)構(gòu)圖
BERT是基于Transformer的雙向編碼器表示(Bidirectional Encoder Representation from Transformers)[17],旨在通過聯(lián)合調(diào)節(jié)所有層中的上下文來預(yù)先訓練深度雙向表示。使用雙向的Transformer進行編碼,使得在處理每個詞的表示時都要考慮上下文信息,具體模型結(jié)構(gòu)如圖2所示。同時BERT在預(yù)訓練的過程中使用了Masked LM和Next Sentence Prediction兩種方法,迫使模型更多地依賴于上下文信息去預(yù)測詞匯和句子,并且賦予了模型一定的糾錯能力,分別捕捉詞語和句子級別的表示。
圖2 BERT模型圖
BERT模型的輸入不僅僅是字本身,它由三個Embeddings向量合成,包含更多信息,輸出則是已經(jīng)融入全句語義的各個字的向量表示。BERT輸入向量表示如圖3所示,其中Token Embeddings層將各個字轉(zhuǎn)換成固定維度的向量,在BERT中每個字都會被轉(zhuǎn)換成768維向量表示。BERT能夠處理輸入句子對,Segment Embeddings層的作用是區(qū)分兩個句子,前一個向量將0賦給第一個句子中的各個token,后一個向量是把1賦給第二個句子中的各個token。在本文中,輸入的是一個句子,所以Segment Embeddings全為0。Position Embeddings實現(xiàn)編碼序列的順序性,當一個句子同一個字出現(xiàn)多次時,Position Embeddings提供了不同的向量表示。最終對“我去圖書館看書”一句編碼,得到3個維度為(1,9,768)的向量,3個向量按位相加最終得到大小為(1,9,768)的合成表示,富含更加豐富的語義信息。
圖3 BERT輸入向量表示示意圖
2.2.1 BiLSTM層
將待判斷的單句進行字級別的編碼后將結(jié)果送入BiLSTM層,BiLSTM不僅利用字在句子中的前后順序信息,同時還可以捕獲雙向的較長距離的語義依賴關(guān)系,從而更好地判斷當動詞間相隔較遠情況下是否可以構(gòu)成連動關(guān)系。
BiLSTM可以學習輸入詞的前后信息,從而有助于分類。 給定由n個字組成的句子X,將它表示為一組向量(x0,x1,…,xn-1),通過式(1)~式(5)計算每個時間t的LSTM單元[18]。其中xt,ht-1,ct-1表示輸入,ht和ct表示輸出。it、ot、ft分別表示輸入門、輸出門和遺忘門。Wi、Wo、Wc分別表示輸入詞向量xt,隱藏層狀態(tài)ht和記憶單元ct的權(quán)重矩陣,bi、bf、bc和bo分別表示偏差向量?!啊选北硎景次怀瞬僮?,σ表示sigmoid激活函數(shù)。
it=σ(Wi[Ct-1,ht-1,xt]+bi)
(1)
ft=σ(Wf[Ct-1,ht-1,xt]+bf)
(2)
ct=ft⊙ct-1+it⊙tanh(Wc[ht-1,xt]+bc)
(3)
ot=σ(Wo[Ct-1,ht-1,xt]+bo)
(4)
ht=ot⊙tanh(ct)
(5)
通過LSTM可以得到與句子長度相同的隱層狀態(tài)序列{h0,h1,…,hn-1},將前向LSTM與后向LSTM結(jié)合成為BiLSTM。通過對正向的時間序列和反向的時間序列進行訓練,使輸出的數(shù)據(jù)中盡量多地包含上下文信息。解決了LSTM網(wǎng)絡(luò)缺乏對上下文聯(lián)系的問題,從而使模型獲取更多的上下文信息[19]。本文中使用的是兩個BiLSTM堆疊形成的模型,中間使用一個全連接層進行降維,前一層BiLSTM的輸出作為下一層BiLSTM的輸入。
2.2.2 CNN層
卷積神經(jīng)網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)中提取局部特征的一種網(wǎng)絡(luò)[20],具有強大的特征學習和表示能力,它的基本結(jié)構(gòu)由四層構(gòu)成,分別是輸入層、卷積層、池化層、全連接層。本模型中使用了兩層CNN網(wǎng)絡(luò)進行串聯(lián),第一層CNN的輸入使用BERT的輸出,將第一層CNN的輸出和BERT的輸出進行拼接作為第二層的輸入。卷積層本質(zhì)上是特征提取器,輸入經(jīng)過過濾器進行卷積操作后得到新的特征。設(shè)濾波器W∈m×n,卷積得到式(6):
(6)
其中,m?M,n?N。另外,在卷積的標準定義基礎(chǔ)上,根據(jù)不同任務(wù)的需求,可調(diào)整濾波器的滑動步長(stride)、引入零填充(zero padding)來增加卷積的多樣性,更靈活地進行特征抽取。兩層濾波器采用不同的滑動步長,獲取不同尺度的局部特征信息,有利于捕獲句中不同距離動詞間的信息。卷積層[21]通過局部連接大大減少了網(wǎng)絡(luò)參數(shù)的數(shù)量,通過權(quán)重共享使特征提取與數(shù)據(jù)位置無關(guān),但其輸出的神經(jīng)元個數(shù)并沒有顯著地減少,容易造成過擬合,所以在卷積層之后再加上一個池化層,使用Max-pooling進行降維,同時增加平移不變性。模型更關(guān)注是否存在某些特征而非其位置,使得網(wǎng)絡(luò)對一些細小的局部形態(tài)改變保持不變性,在減少數(shù)據(jù)量的同時保留有用的信息,最終得到固定長度的輸出。
2.2.3 分類預(yù)測
將經(jīng)過CNN層獲得的特征與經(jīng)過BiLSTM層獲得的特征進行拼接,通過全連接層將特征整合到一起,同時對網(wǎng)絡(luò)進行Dropout 處理,以防止過擬合,隨后送入Softmax層進行預(yù)測。由于在數(shù)據(jù)集中連動句與非連動句分布不均,連動句數(shù)量較少,在計算損失函數(shù)時使用加權(quán)損失函數(shù),使模型更多地關(guān)注樣本數(shù)較少的類,更有利于模型識別連動句。
圖4 連動句識別流程
本文對連動句的識別流程如圖4所示。第一步,首先需要對語料進行切分操作,本文對連動句的識別以單句為單位,以標點符號“?!薄ⅰ?,”、“: ”、“;”為切分依據(jù),之后再對語料進行詞性標注。本文中使用的詞性標注器是用清華樹庫語料作為原始語料、用BiGRU-CRF模型自行訓練所得,該模型可以實現(xiàn)對動詞的細分類。本文采用范曉的《漢語動詞概論》的分類系統(tǒng)[22],動詞可根據(jù)其表義功能分為動作行為動詞、心理動詞、使令動詞,存現(xiàn)動詞、判斷動詞、能愿動詞、趨向動詞、先導動詞。動作行為動詞和心理動詞可充當連動句中的V。像“科長的口袋一下子鼓了起來”一句中,“起來”被標注為趨向動詞,所以本文認為該句中只含有一個動詞“鼓”。更加精準的詞性標注,有利于語料在進行規(guī)則篩選時預(yù)先識別出更多的非連動句。
由于在真實語料中連動句與非連動句所占比例相差很大,且大部分的簡單非連動句(句中不含動詞或只含有一個動詞或動詞結(jié)構(gòu))比較容易分辨,為了使神經(jīng)網(wǎng)絡(luò)模型將注意力放在學習與連動句在形式上比較相似的非連動句上,更好地學習兩者的特征,本文首先制定了相應(yīng)規(guī)則對語料進行預(yù)處理,預(yù)先識別出部分非連動句,其余句子可能為連動句,作為連動句的候選集送入神經(jīng)網(wǎng)絡(luò)進行分類。
本文設(shè)計規(guī)則,預(yù)先篩選出以下三種條件的句子,將其排除在連動句候選集之外:
條件一: 不含動詞或只含有一個動詞(或動詞結(jié)構(gòu))的句子。
條件二: 含有關(guān)聯(lián)詞的緊縮句或復(fù)句。例如,“常海一進病房就大咧咧地坐到程信的病床上”句中含有“一……就……”形似連動,但該句屬于緊縮句。
條件三: 只含有多個動詞和虛詞的句子。當一個長句經(jīng)過標點切分為獨立小句或有些小句充當標題時,句子中只含有動詞和虛詞,缺少大量信息,不足以判斷是否為連動。例如,“競爭與沖突”“搜索前進”等句子缺乏上下文信息,無法判斷動詞的主語,進而無法判斷其是否為連動句。
通過第一步簡單規(guī)則的輔助,可識別出大量非連動句,使連動句候選集中連動句與非連動句的占比差距大大縮小,從相差14倍多縮小到相差不到3倍,表1展示了篩選前后連動句與非連動句的數(shù)據(jù)變化。
表1 規(guī)則篩選處理對比表
經(jīng)過規(guī)則篩選后得到的連動句候選集中除連動句外,還含有大量的非連動句。這些非連動句中有一部分是和連動句相差明顯的句子,例如,“我在天色微明時走到了楊柳鎮(zhèn)”根據(jù)語義可以得到“微明”和“走到”的施事明顯不一致;但還有部分與連動句相似度很高的其他特殊句式,例如,兼語句“他幫助婦女擺脫貧困”,雖然此處“幫助”和“擺脫”的施事并不一致,但此類句子在句式上與連動句相似,有一定區(qū)分難度。又如含有被動語義的句子,在判斷動詞的施事時也可能遇到困難,例如“他被通知住院”,“通知”和“住院”的施事并不相同,但在“他被診斷宣判生命只剩2個月”中“診斷”和“宣判”的施事又是同一個,該句為連動句,這些相似度極大的句子給本文的工作帶來困難,也是神經(jīng)網(wǎng)絡(luò)模型需要重點學習的內(nèi)容。
本實驗采用精確率(Precision)、召回率(Recall)、F1值(F1-measure)、準確率(Accuaracy)作為評價標準,計算如式(7)~式(10)所示。其中,TP: 正確分類中連動句個數(shù);FP: 錯誤分類中連動句個數(shù);TN: 正確分類中非連動句個數(shù);FN: 錯誤分類中非連動句個數(shù)。
連動句中V1和V2有共同的主語,在傳統(tǒng)的語義表示方法上,由于樹結(jié)構(gòu)的限制,一般只標注主語和核心謂詞的關(guān)系,而連動結(jié)構(gòu)中其他謂詞與主語的關(guān)系則被隱含。但這種隱含的語義關(guān)系正是連動結(jié)構(gòu)區(qū)別于其他特殊句法結(jié)構(gòu)最重要的特點。而在AMR中將補充出句中省略或隱含的成分,以還原出較為完整的句子語義,彌補傳統(tǒng)句法表示的嚴重缺陷。
例如,“小白兔連忙挎起籃子往家跑?!币痪涞腁MR文本表示如圖5所示,“挎”和“跑”的施事arg0都是“白兔”,原句中第二個動詞“跑”的主語被省略了,在AMR圖中會將此缺省補全,同時它也表示出了兩個動詞間的語義關(guān)系,此例中兩個動詞間的語義關(guān)系為“temporal(時序)”。
圖5 AMR文本表示圖
本文根據(jù)AMR圖抽取出小學語文1~6年級課本中所有共享論元arg0的句子,但在這些句子中可能還包含一些動補結(jié)構(gòu)、謂詞賓語句、緊縮句等,例如在“戴嵩決定畫一幅《斗牛圖》。”一句中,AMR將“決定”和“畫”的arg0都標注為“戴嵩”,所以抽取算法也會將該句抽取出來,但該句是謂詞賓語句,所以對抽取出的句子還要再加以人工校對。同時又對清華樹庫的語料進行人工標注,共計40 667個完整的句子。將句子切分為獨立小句后,得到11萬個分句,其中7 200個獨立小句為連動句。經(jīng)過第一步處理后,共計25 052個獨立小句進行第二步神經(jīng)網(wǎng)絡(luò)模型的實驗,按照6:2:2的比例劃分訓練集、開發(fā)集和測試集。
使用BERT的基礎(chǔ)版本,網(wǎng)絡(luò)層數(shù)設(shè)置為12,隱藏層數(shù)設(shè)置為768,self-attention head設(shè)置為12。在BERT中要預(yù)先設(shè)置max_seq_length參數(shù),未達到此長度的句子要做padding處理,而超過此長度的數(shù)據(jù)將會被截斷,造成信息丟失。同時若此參數(shù)設(shè)置過大會占用大量內(nèi)存空間。本實驗主要參數(shù)設(shè)置如表2所示。
表2 模型參數(shù)設(shè)置
為驗證本文提出的方法的有效性,本實驗主要與以下幾種目前流行的文本分類模型進行對比,實驗結(jié)果如表3所示。
(1)基于規(guī)則和統(tǒng)計: 劉雯旻等在2017年提出,他們構(gòu)建了基于連動句形式特征和語義角色的基礎(chǔ)規(guī)則庫和被動名詞庫,利用互信息計算謂語動詞與主語候選項的搭配強度,在他們?nèi)斯俗⒌臄?shù)據(jù)集上進行實驗。
(2)FastText: 利用簡單的三層模型(輸入層、單層隱藏層、輸出層),根據(jù)上下文預(yù)測文本的類別[23]。
表3 不同文本分類模型結(jié)果對比 (單位: %)
(3)TextCNN: 利用CNN來提取句子中的關(guān)鍵信息,先將文本分詞做詞嵌入得到詞向量, 再將詞向量經(jīng)過一層卷積,一層最大池化,最后將輸出外接softmax實現(xiàn)文本類別的預(yù)測。
(4)TextRNN: RNN模型具有短時記憶功能,其通過前后時刻的輸出鏈接保證了“記憶”的留存,比較適合處理自然語言等序列問題,引入門控機制后,能夠解決長時依賴問題,捕獲輸入樣本之間的長距離聯(lián)系。
(5)BERT: 用Transformers作為特征抽取器的深度雙向預(yù)訓練語言模型,在許多自然語言處理任務(wù)中有很好的表現(xiàn)。
通過表3展示出的不同文本分類模型進行連動句識別的結(jié)果可知,本文提出的模型在連動句與非連動句分類的任務(wù)上具有很好的效果。除基于規(guī)則和統(tǒng)計的方法使用作者標注的語料外,其余神經(jīng)網(wǎng)絡(luò)的模型均使用本文中介紹的利用簡單規(guī)則篩選后的語料。對比結(jié)果發(fā)現(xiàn),F(xiàn)astText模型基本沒能學習到連動句的特征,在本任務(wù)上的效果較差;TextCNN和TextRNN的效果相差不大,但都表現(xiàn)得還不夠理想;而BERT模型F1較之前的模型有較大的進步,通過進一步分析BERT模型識別錯誤的句子發(fā)現(xiàn),BERT 模型對長句的識別效果比較差。“連動句”這種語言現(xiàn)象可以出現(xiàn)在任何領(lǐng)域,它關(guān)注的是動詞與動詞的發(fā)出者之間的關(guān)系,而不是整個句子的語義關(guān)系,而且與詞序有關(guān)。本文提出的模型使用BERT編碼使模型獲得了更多的語義信息,BiLSTM 層可以提取上下文不同距離的語義化信息,同時CNN層可以獲取局部的特征,將多種特征進行組合,從而完成對連動句與非連動句的區(qū)分。
在時間消耗方面,本文所提出的模型的收斂速度很快,圖6和圖7展示了模型在開發(fā)集上的迭代次數(shù)與Loss和Acc的變化曲線,由圖可知模型在迭代幾輪后便可得到在開發(fā)集上效果最好的模型參數(shù),之后Loss值會發(fā)生小范圍的波動。為防止模型訓練造成過擬合的問題,所以在實驗中設(shè)置了提前終止參數(shù),并使用dropout 使模型得到更好的泛化效果。
圖6 Loss變化曲線圖
同時為了驗證模型各層結(jié)構(gòu)在實驗中所起到的作用,特設(shè)置消融實驗,結(jié)果如表4所示。由實驗結(jié)果可知,使用隨機初始化的字符級別的詞向量代替BERT,實驗的F1值降低了約20%,可見語義信息的獲取和使用在連動句識別中起到了至關(guān)重要的作用,同時在訓練過程中,本文提出的模型也會對詞向量進行微調(diào),以達到更好的表現(xiàn)。與此同時,本文在獲取特征時也采取了局部特征和全局特征組合的方式,更有助于連動句識別。
圖7 Acc變化曲線
表4 消融實驗結(jié)果 (單位: %)
通過實驗發(fā)現(xiàn),在使用BERT+CNN模型時,實驗的R值較高,這是因為CNN側(cè)重于提取句子局部信息,當句子局部出現(xiàn)兩個動詞或動詞短語時,這一特征就會被CNN捕捉到,然而并非所有兩個動詞短語連用都是連動結(jié)構(gòu),可能是緊縮復(fù)句、兼語句、動詞短語作賓語句等其他語言現(xiàn)象,因此造成這一模型R值較高而P值較低。而使用BERT+BiLSTM的模型則恰好相反,它的P值較高,Bi-LSTM 側(cè)重于捕捉句子全局信息,從整句角度去考察句子特征,因此比較容易將同樣包含兩個或兩個以上動詞的復(fù)句、兼語句、動詞短語作賓語句等從句子層面排除在外,然而連動結(jié)構(gòu)除了在句法層出現(xiàn)外,還可以以短語形式出現(xiàn)在定語、狀語的多個句法位置,BiLSTM模型對這類連動結(jié)構(gòu)的識別能力較差,導致R值較低。本文使用的模型將兩者的優(yōu)勢集中起來,提高了模型的F1值。
根據(jù)實驗結(jié)果我們發(fā)現(xiàn)連動句的識別錯誤分為兩種:
其一是將非連動句錯誤地識別為連動句,主要分為以下幾種情況:
(1) 漢語中一些動詞的主語并非動詞的施事者,導致模型判斷出錯。例如,“出租車招手即?!币痪渲?,句子的主語是“出租車”,但“招手”的施事是“人”而“停”的施事是“出租車”,二者并不相同。
(2) 部分動詞或動詞短語作狀語的狀中結(jié)構(gòu)和動詞或動詞短語作賓語的動賓結(jié)構(gòu)識別易出錯,它們在形式上與連動句相似,例如,“宋東山心平氣和地向小伙子笑笑”,此句中“心平氣和”和“笑笑”的施事皆為“宋東山”,但該句為狀中結(jié)構(gòu)而非連動句;又如“川川總愛刨根問底”,“刨根問底”為動詞,充當“愛”的賓語,且二者的施事都為“川川”,此句為動賓結(jié)構(gòu)。
其二是某些連動句無法識別出來,主要分為以下兩種情況:
(1) 對多義詞的識別效果不好。漢語中很多詞語存在一詞多義現(xiàn)象,但有些詞語模型無法識別出它的動詞義項,導致模型判斷出錯。例如,“小剛看見這句話火了”,“火”有多個義項,可以是名詞、動詞、形容詞,此時模型識別比較困難。
(2) 對長句的識別效果不好。例如,“海淀區(qū)紅山口甲3號國防大學醫(yī)院疑難病研究中心的法集河使用近百味中藥炮制膏藥”模型識別為非連動句,但對“法集河使用近百味中藥炮制膏藥”可正確識別其為連動句。當句子某些修飾成分過長時,會影響模型的識別效果。
本文基于小學1~6年級語文教材和部分清華樹庫的語料構(gòu)建了連動句數(shù)據(jù)集,介紹了一種基于神經(jīng)網(wǎng)絡(luò)的連動句識別方法,先對語料進行切分和詞性標注工作,再通過簡單的規(guī)則進行第一輪非連動句的判斷,之后使用BERT進行編碼,將BiLSTM和CNN模型獲取的特征組合,進行第二輪連動句與非連動句的判斷,進而完成連動句的識別任務(wù)。實驗表明,該模型取得了不錯的識別效果。
我們下一步工作是進一步提高連動句識別的準確率,同時從語料中識別出的連動句中進一步找出其中的連動詞,并識別它們之間的語義關(guān)系,從而幫助處理CAMR中連動句式的標注與解析工作。