王衡軍,司念文,宋玉龍,單義棟
?
結(jié)合全局向量特征的神經(jīng)網(wǎng)絡(luò)依存句法分析模型
王衡軍1,司念文1,宋玉龍2,單義棟1
(1. 解放軍信息工程大學(xué)三院,河南 鄭州 450001;2. 73671部隊,安徽 六安 237000)
利用時序型長短時記憶(LSTM, long short term memory)網(wǎng)絡(luò)和分片池化的卷積神經(jīng)網(wǎng)絡(luò)(CNN, convolutional neural network),分別提取詞向量特征和全局向量特征,將2類特征結(jié)合輸入前饋網(wǎng)絡(luò)中進(jìn)行訓(xùn)練;模型訓(xùn)練中,采用基于概率的訓(xùn)練方法。與改進(jìn)前的模型相比,該模型能夠更多地關(guān)注句子的全局特征;相較于最大化間隔訓(xùn)練算法,所提訓(xùn)練方法更充分地利用所有可能的依存句法樹進(jìn)行參數(shù)更新。為了驗證該模型的性能,在賓州中文樹庫(CTB5, Chinese Penn Treebank 5)上進(jìn)行實驗,結(jié)果表明,與已有的僅使用LSTM或CNN的句法分析模型相比,該模型在保證一定效率的同時,能夠有效提升依存分析準(zhǔn)確率。
依存句法分析;圖模型;長短時記憶網(wǎng)絡(luò);卷積神經(jīng)網(wǎng)絡(luò);特征
句法分析作為自然語言處理的一個重要環(huán)節(jié),對于提升機(jī)器理解文本的準(zhǔn)確率具有重要作用。依存句法分析因其靈活簡潔、易于理解和標(biāo)注等特點而受到大量研究人員的青睞,準(zhǔn)確率也不斷提升。文獻(xiàn)[1]最早提出將依存句法分析歸結(jié)為從一個完全有向圖中尋找最大生成樹問題,采用在線學(xué)習(xí)算法學(xué)習(xí)邊的權(quán)值,模型解碼利用Eisner算法[2],通過自底向上不斷合并低階子樹,構(gòu)成更高階的子樹,直到找出最優(yōu)依存句法樹結(jié)構(gòu)。
傳統(tǒng)的基于圖的依存句法分析[1~6]采用線性模型計算樹的分值,樹的分值由滿足特定結(jié)構(gòu)的子樹分值之和確定,子樹的分值由該子樹的特征函數(shù)和相應(yīng)權(quán)向量乘積得到。典型的線性模型依存分析器如MSTParser[1]已經(jīng)能夠達(dá)到一定的準(zhǔn)確率,然而,這類傳統(tǒng)模型依靠人工設(shè)計的特征模板提取特征,存在明顯不足:1) 特征提取過程受限于固定的特征模板,難以獲取實際真正有效的特征;2) 特征模板的設(shè)計依賴于大量的領(lǐng)域知識,只有通過特征工程進(jìn)行不斷的實驗選擇,來提升準(zhǔn)確率;3)所提取的特征數(shù)據(jù)稀疏,且不完整。
近年來的研究多將深度神經(jīng)網(wǎng)絡(luò)(DNN, deep neural network)應(yīng)用到依存分析中[7~11],采用分布式詞向量作為輸入,利用DNN從少量的核心特征(詞和詞性)自動提取復(fù)雜的特征組合,減少了人工參與的特征設(shè)計,取得了比傳統(tǒng)模型更好的效果。這個過程中,DNN被用于自動特征提取,訓(xùn)練出一個非線性得分模型,輸出任意2個詞之間的依存關(guān)系得分,模型解碼依然采用傳統(tǒng)的最大生成樹算法。
文獻(xiàn)[7]提出了一種前饋神經(jīng)網(wǎng)絡(luò)(FNN, feed-forward neural network)依存分析模型,但由于FNN通常受到窗口大小的限制,和傳統(tǒng)的n-gram語法特征類似,只能利用有限的上下文信息。
文獻(xiàn)[8,9]采用時序型長短時記憶網(wǎng)絡(luò)建立依存分析模型,當(dāng)前時刻的網(wǎng)絡(luò)輸出由當(dāng)前時刻輸入和前一時刻輸出共同決定,通過這樣的循環(huán)結(jié)構(gòu),理論上可以利用到無限長度的上下文信息。實驗結(jié)果驗證了LSTM比FNN的依存分析效果更好。
文獻(xiàn)[10]采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行高階基于圖的依存分析,試圖利用CNN從句首到句尾的卷積操作,克服FNN的窗口大小限制,提取更大范圍的上下文特征,改善基于圖的依存分析在計算子樹得分上的局部決策問題。與文獻(xiàn)[7~9]的最大化間隔訓(xùn)練不同,本文采用了概率標(biāo)準(zhǔn)進(jìn)行訓(xùn)練,將所有依存樹的得分概率化,考慮的情形更加一般,在一定程度上提升了模型準(zhǔn)確率。但是其使用的三階模型復(fù)雜度較高,分析效率受到一定限制。
文獻(xiàn)[11]將CNN和LSTM結(jié)合進(jìn)行依存分析,利用CNN提取字符特征,形成字符級別的向量表示,再結(jié)合詞向量共同輸入LSTM。與文獻(xiàn)[10]類似,采用對數(shù)似然的概率標(biāo)準(zhǔn)進(jìn)行訓(xùn)練。由于字符級別特征的加入,該模型取得了更好的結(jié)果。
上述的依存分析模型中單獨使用LSTM,只能提取到詞向量特征,只有文獻(xiàn)[11]同時結(jié)合了CNN和LSTM,可以分別提取字符向量特征和詞向量特征,效果上也達(dá)到了最佳。實際上,由于CNN在句子結(jié)構(gòu)建模上效果很好[12,13],可以用來提取整句級別的全局特征,這與文獻(xiàn)[11]利用CNN提取字符特征的應(yīng)用恰好相反?;谠撍悸?,本文將CNN和LSTM結(jié)合進(jìn)行依存分析。首先,預(yù)訓(xùn)練的分布式詞向量用來表示單個詞語,作為網(wǎng)絡(luò)輸入。然后,將標(biāo)準(zhǔn)的雙向LSTM和經(jīng)過改進(jìn)的CNN結(jié)合使用,與文獻(xiàn)[11]不同,本文的CNN和LSTM以并行方式進(jìn)行特征提取,分別提取詞向量特征和全局向量特征,其中,全局向量特征關(guān)注支配詞與被支配詞的上下文特征以及整個句子中的位置和相對順序等特征,形成一個包含整句信息的全局向量。最后,輸入到FNN中并行訓(xùn)練,輸出依存弧的得分。模型訓(xùn)練中采用基于概率模型的訓(xùn)練方法,與最大化間隔訓(xùn)練方法相比,更充分地利用所有的可能依存樹進(jìn)行參數(shù)更新。
為了驗證模型的依存分析性能,在賓州中文樹庫上進(jìn)行依存句法分析實驗。實驗結(jié)果表明,本文提出的結(jié)合LSTM和CNN的特征提取方法與單獨采用LSTM或CNN的模型相比,能夠利用更加豐富的特征,有效提升依存分析準(zhǔn)確率。同時,基于概率模型的訓(xùn)練方法在效果上也優(yōu)于最大化間隔訓(xùn)練方法。
依存句法分析的目的是為每個句子建立一棵有向的、帶根節(jié)點的依存句法樹。一棵標(biāo)準(zhǔn)的依存句法樹結(jié)構(gòu)如圖1所示,樹節(jié)點為句子中的詞語,節(jié)點之間的有向?。ㄒ来婊。┍硎靖腹?jié)點(支配詞)和子節(jié)點(被支配詞)的依存關(guān)系及類型,依存關(guān)系類型用來表示2個詞之間的句法或語義關(guān)系。句子下方標(biāo)注了詞語的詞性和在句中的相對位置。
圖1 依存句法樹結(jié)構(gòu)
根據(jù)子樹中包含的依存弧數(shù)目,可將子樹劃分為不同的階數(shù)。根據(jù)依存分析模型所采用的最大子樹的階數(shù),可將其劃分為一階[1]、二階[3,4]、三階[5]以及更高階模型[6]。文獻(xiàn)[1]最早提出了一階線性模型,其假設(shè)弧與弧之間沒有關(guān)聯(lián),單個弧相當(dāng)于一棵子樹,依存句法樹分值等于該樹所包含的所有依存弧分值之和。由于模型階數(shù)越高,在分析準(zhǔn)確率上升的同時,大量的子樹特征計算極大地提升了模型復(fù)雜度,降低了效率。因此,在準(zhǔn)確率和效率兼顧的前提下,目前一階和二階模型的研究和應(yīng)用較為廣泛。
近年來,基于深度學(xué)習(xí)的方法在自然語言處理中應(yīng)用廣泛。深度神經(jīng)網(wǎng)絡(luò)(DNN, deep neural network)結(jié)合詞的分布式向量(distributed embedding)作為輸入,在詞性標(biāo)注[14]、命名實體識別[15]、文本表示[16]、機(jī)器翻譯[13]等任務(wù)上實現(xiàn)了較大的提升。關(guān)于DNN在依存句法分析領(lǐng)域的應(yīng)用,近年來有許多深入的研究工作。由于DNN在特征提取和表示上的優(yōu)勢,極大緩解了傳統(tǒng)方法的特征依賴問題,DNN自動提取的特征優(yōu)于人工設(shè)計的特征,使依存分析在性能上有較大提升。因此,當(dāng)前主要關(guān)注神經(jīng)網(wǎng)絡(luò)下的依存分析模型。
基本的前饋神經(jīng)網(wǎng)絡(luò)(FNN, feed-forward neural network)依存分析模型如圖2所示,由輸入層、隱含層和輸出層構(gòu)成,其中,隱含層可由多個層構(gòu)成。文獻(xiàn)[17]首次采用FNN對基于轉(zhuǎn)移的依存分析進(jìn)行建模,將stack和buffer中主要元素(共18個)的分布式向量送進(jìn)輸入層,采用交叉熵目標(biāo)函數(shù)訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)分類器,為每次所要采取的轉(zhuǎn)移動作做分類決策。與傳統(tǒng)的使用大量特征模板相比,該模型特征集合僅包含18個元素,極大簡化特征設(shè)計過程,保證一定的分析準(zhǔn)確率,并且速度上有很大提升。在文獻(xiàn)[17]的基礎(chǔ)上,文獻(xiàn)[18]將FNN拓展到更深層的模型,并在最后一層增加感知層,采用柱搜索解碼,進(jìn)一步提升分類器的準(zhǔn)確率。文獻(xiàn)[19]同樣使用FNN模型,采用全局歸一化策略,設(shè)計基于特定任務(wù)的轉(zhuǎn)移系統(tǒng),實現(xiàn)FNN模型下效果最佳的基于轉(zhuǎn)移的依存分析器。在基于圖的依存分析方面,文獻(xiàn)[7]將FNN應(yīng)用到基本的圖模型中,訓(xùn)練出一個非線性的得分模型,輸出每個依存弧分值,采用最大生成樹算法從圖中搜索最佳樹結(jié)構(gòu)。
圖2 FNN依存分析模型
由于FNN存在窗口大小限制,研究者們采用具有循環(huán)結(jié)構(gòu)的時序型LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行依存分析。與FNN相比,LSTM更加擅長處理序列化數(shù)據(jù),可以很好地利用輸入序列的歷史信息,分析其整體邏輯關(guān)系。與普通的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN, recurrent neural network)相比,LSTM引入了記憶核(memory cell)和門機(jī)制,解決梯度消失/爆炸問題,可以學(xué)習(xí)到更長距離的依存關(guān)系特征。文獻(xiàn)[20]首次將LSTM應(yīng)用到基于轉(zhuǎn)移的依存分析中,利用LSTM分別為轉(zhuǎn)移系統(tǒng)中的堆棧建模,取得了比FNN更好的效果。文獻(xiàn)[9]提出了更加一般的基于bi-LSTM的特征提取器,采用特征提取器獲取詞語及其上下文特征表示,并將其應(yīng)用到基于轉(zhuǎn)移和基于圖的依存分析框架中,都取得了很好的效果,如圖3所示。文獻(xiàn)[8]采用LSTM提取詞向量特征后,進(jìn)一步加入了一種分段向量,該分段向量由單向LSTM的隱含層向量相減獲得,理論上包含句子層面的全局特征,實驗也表明其能夠提升長距離依存分析的準(zhǔn)確率。
最近的依存分析模型將注意力機(jī)制引入LSTM神經(jīng)網(wǎng)絡(luò),如文獻(xiàn)[21]提出的基于雙向注意力的神經(jīng)網(wǎng)絡(luò)依存分析模型,文獻(xiàn)[22]提出的支配詞動態(tài)選擇策略的依存分析模型。其中,文獻(xiàn)[22]設(shè)計了雙向仿射得分函數(shù),采用交叉熵目標(biāo)函數(shù)訓(xùn)練,實現(xiàn)目前最好的依存分析效果。
圖3 bi-LSTM依存分析模型
本文提出的依存分析模型基于當(dāng)前廣泛應(yīng)用的LSTM神經(jīng)網(wǎng)絡(luò),在此基礎(chǔ)上,在模型輸入層之后增加特征層,特征層中引入一種全局向量特征,設(shè)計分片池化的CNN提取該全局特征向量。通過結(jié)合LSTM提取的上下文詞向量特征以及CNN提取的句子級別的全局向量特征,使句法分析模型在不增加所使用的基本特征的情況下,充分利用到更豐富的特征組合,提升分析準(zhǔn)確率。
具體的模型結(jié)構(gòu)如圖4所示。主要分為以下幾個部分。
圖4 加入特征層的bi-LSTM依存分析模型
1) 輸入層。對于給定句子中的每個詞語,在預(yù)訓(xùn)練的詞向量矩陣中進(jìn)行索引,生成相應(yīng)的詞向量序列作為模型輸入。
2) 特征層。對輸入的詞向量進(jìn)行特征提取,采用bi-LSTM和分片池化的CNN分別提取上下文詞向量特征和全局向量特征。
3) 隱含層和輸出層。對提取后的特征進(jìn)行組合和非線性變換,輸出層給出依存弧的分?jǐn)?shù)值。
下面分別就特征層的詞向量特征、全局向量特征和基于概率的訓(xùn)練方法進(jìn)行詳細(xì)介紹。
由于分布式詞向量本身含有詞語之間相似度信息,對詞性標(biāo)注和句法分析等任務(wù)是很好的原始特征。本文采用預(yù)訓(xùn)練的分布式詞向量作為輸入,然后采用bi-LSTM對其進(jìn)行處理,提取上下文詞向量特征,該過程如圖5所示。
圖5 bi-LSTM提取詞向量特征過程
bi-LSTM輸出向量聚合了詞語前向和后向的上下文信息,將其作為詞向量特征,與原始詞向量相比,融入了更加豐富的上下文信息,能夠更好地利用長距離依賴特征。
卷積神經(jīng)網(wǎng)絡(luò)在自然語言處理中應(yīng)用廣泛,文獻(xiàn)[12]提出在機(jī)器翻譯任務(wù)中,采用CNN對句子進(jìn)行建模,通過分塊池化最大限度保留原始句子的語義信息,得到全局級別的句子向量表示。依存句法分析中,支配詞和被支配詞的上下文信息對分析其搭配關(guān)系十分重要,充分利用該特征有利于提升依存分析準(zhǔn)確率[1,7]。為提取這類特征,借鑒文獻(xiàn)[12]的思想,通過改進(jìn)標(biāo)準(zhǔn)的CNN結(jié)構(gòu),將其應(yīng)用于提取句子級別的全局向量特征,如圖6所示。
卷積神經(jīng)網(wǎng)絡(luò)的工作過程分為以下3個部分。
其中,向量表示大小為win的窗口內(nèi)的詞向量,為權(quán)重矩陣,為偏移向量,函數(shù)為tan h非線性激活函數(shù)。每個filter輸出向量的維度需要和句子長度保持一致,為此,采取通常的做法,對句子首尾分別填充零向量。
圖7 分片池化過程
3) 輸出全局向量。為了得到最終的輸出向量,池化層后緊跟著一個全連接層,將該向量矩陣映射到輸出層,得到輸出向量,即全局向量特征。
由于CNN在池化過程中采用了分片池化方式,針對支配詞和被支配詞的位置進(jìn)行分片池化,使得到的向量包含支配詞和被支配詞之間的依賴關(guān)系、相對位置、在整個句子中的位置等特征信息,并且采用多個filter且每個filter掃描整個句子最終得到該向量,因此稱作該句子的全局向量特征。
模型的特征層將特征詞向量和全局向量特征進(jìn)行連接,輸入一個簡單的FNN進(jìn)行訓(xùn)練。FNN的輸出是一個||維的向量(為依存關(guān)系類型集合),每一維即代表一種依存關(guān)系類型的得分。
采用最大化間隔算法時,按照目標(biāo)函數(shù)最小化的一般形式,將目標(biāo)函數(shù)設(shè)置為[7,8]
最大化間隔訓(xùn)練算法的優(yōu)點是可以減少過擬合,同時并不需要太多額外的計算量。但是,在實際訓(xùn)練過程中,模型參數(shù)更新僅依賴于錯誤分析結(jié)果,即僅利用最佳預(yù)測樹和標(biāo)準(zhǔn)樹之間的誤差,而直接忽略了其他可能的依存樹對參數(shù)更新的作用,這樣通過降低計算復(fù)雜度的方式,在一定程度上簡化了模型的訓(xùn)練過程。
訓(xùn)練中的目標(biāo)函數(shù)定義為
根據(jù)以上結(jié)果,目標(biāo)函數(shù)可重新定義為
1) 實驗數(shù)據(jù)及評價指標(biāo)
實驗采用賓州中文樹庫數(shù)據(jù)集,該數(shù)據(jù)集由LDC語言數(shù)據(jù)聯(lián)盟發(fā)布,語料主要來源于新華社和部分香港新聞等媒體,句子的平均長度為27個詞,分別進(jìn)行了分詞、詞性標(biāo)注和短語結(jié)構(gòu)句法樹構(gòu)建,共包含33種詞性分類和23種句法標(biāo)記。
表1 采用Penn2Malt工具轉(zhuǎn)換CTB5前后對比
由于CTB5數(shù)據(jù)集本身是短語結(jié)構(gòu)句法樹庫,需要采用Penn2Malt工具將其轉(zhuǎn)化為依存結(jié)構(gòu)樹庫,在轉(zhuǎn)換后的數(shù)據(jù)集上進(jìn)行依存句法分析實驗。實驗中,采用標(biāo)準(zhǔn)分詞和詞性標(biāo)注,利用其自帶的支配詞節(jié)點發(fā)現(xiàn)規(guī)則,找到每個詞對應(yīng)的支配詞節(jié)點位置。表1給出了例句“上海浦東開發(fā)與法制建設(shè)同步”轉(zhuǎn)換前后的句法結(jié)構(gòu)對比。
其中,表1左側(cè)為轉(zhuǎn)換之前的短語結(jié)構(gòu)樹標(biāo)注。右側(cè)為轉(zhuǎn)換為依存結(jié)構(gòu)樹后的標(biāo)注,第1~5列分別表示詞語順序、詞語、詞性、支配詞位置(0表示其支配詞為ROOT虛根節(jié)點,其余從1開始)、與支配詞之間依存關(guān)系類型。例如:詞性NR、NN、CC、VV表示該詞為專有名詞、普通名詞、并列連詞、其他動詞;位置標(biāo)記2表示“上?!睂?yīng)的支配詞為“浦東”,位置標(biāo)記0表示“同步”的支配詞為ROOT,“同步”為該句的核心動詞;句法關(guān)系標(biāo)記NMOD表示復(fù)合名詞修飾關(guān)系(上海,浦東),SUB表示主謂關(guān)系(建設(shè),同步)。與該例句對應(yīng)的依存句法樹結(jié)構(gòu)如圖1所示。
按照前人工作中的做法[20],實驗中將數(shù)據(jù)集劃分為訓(xùn)練集、開發(fā)集和測試集,各部分統(tǒng)計及劃分如表2所示。
表2 數(shù)據(jù)集統(tǒng)計及劃分情況
在實驗結(jié)果評價上,采用無標(biāo)記依存正確率(UAS, unlabeled attachment score)和帶標(biāo)記依存正確率(LAS, labeled attachment score)作為依存分析結(jié)果評價指標(biāo),如式(16)和式(17)所示。
由于和標(biāo)點符號有關(guān)的依存關(guān)系不包含額外的句法結(jié)構(gòu)信息,對其進(jìn)行統(tǒng)計的意義不大,因此,不考慮與標(biāo)點符號相關(guān)的依存關(guān)系。
2) 預(yù)訓(xùn)練的詞向量與參數(shù)初始化
實驗中所用的預(yù)訓(xùn)練的詞向量,采用谷歌公司的開源工具word2vec在Gigaword語料上訓(xùn)練得到。word2vec工具是一款簡單高效的詞向量訓(xùn)練工具,能夠?qū)Υ罅空Z料分析,將詞語映射到多維向量空間,輸出詞語的向量表示形式。輸出的詞向量包含豐富的詞匯和語義關(guān)系,可以被用到許多自然語言處理工作中,例如句法分析、語義角色標(biāo)注、機(jī)器翻譯等。詞向量維度根據(jù)訓(xùn)練時設(shè)置的參數(shù)而定,本文詞向量維度設(shè)定為50維。表3為2個例句在生成的詞向量矩陣中進(jìn)行索引,得到對應(yīng)的詞向量數(shù)值(只列出了前8維部分?jǐn)?shù)值)。詞性向量和依存關(guān)系類型向量的維度設(shè)定為30,其元素值統(tǒng)一隨機(jī)初始化在區(qū)間(?0.05, 0.05)內(nèi)。模型中其他待初始化的權(quán)重矩陣和偏移向量等參數(shù),根據(jù)所在層的向量維度具體確定。
3) 實驗環(huán)境與流程
本文實驗均采用python語言,在anaconda集成開發(fā)環(huán)境下的spyder軟件平臺進(jìn)行程序編寫。依存分析模型中調(diào)用的神經(jīng)網(wǎng)絡(luò)來源于DyNet動態(tài)神經(jīng)網(wǎng)絡(luò)工具包[23],該工具包由美國卡耐基梅隆大學(xué)等多所學(xué)校的研究人員共同開發(fā),其中,包含了RNN、LSTM和CNN等常用的深度神經(jīng)網(wǎng)絡(luò)模型,主要面向基于深度學(xué)習(xí)的自然語言處理領(lǐng)域研究。同時,實驗中參考了部分前人工作所設(shè)計的模型代碼[9,20]。
表3 預(yù)訓(xùn)練詞向量維度數(shù)值
實驗硬件環(huán)境為Core i7處理器,主頻2.6 GHz,8 GB RAM,操作系統(tǒng)為64位Ubuntu 14.04。
Step2 模型初始化。調(diào)用庫中的LSTM函數(shù),搭建模型結(jié)構(gòu),初始化模型的參數(shù)矩陣。
Step4 前向傳播。經(jīng)過前向傳播直到輸出層給出每2個詞之間的依存弧分值,根據(jù)其構(gòu)建該句對應(yīng)的完全有向依存圖,從圖中搜索得到預(yù)測的相應(yīng)依存句法樹結(jié)構(gòu),計算()及()等。
Step5 反向傳播及參數(shù)更新。計算目標(biāo)函數(shù)并求其對各參數(shù)的偏導(dǎo)數(shù),采用批次梯度下降法更新參數(shù),每批樣本訓(xùn)練結(jié)束后調(diào)整參數(shù)矩陣值,計算該批樣本訓(xùn)練損失值。每個結(jié)束時計算整個的平均損失。設(shè)定大小,直到達(dá)到迭代次數(shù)為止,訓(xùn)練結(jié)束。
Step6 模型測試。從文件中加載訓(xùn)練后的模型參數(shù),輸入測試集中待分析句子,得出句子的依存句法結(jié)構(gòu),計算依存分析準(zhǔn)確率。
從上述過程可以看出,相比于傳統(tǒng)的線性依存分析方法,非線性的神經(jīng)網(wǎng)絡(luò)相當(dāng)于完成了如下的功能。對句子從輸入詞向量開始,經(jīng)過特征層提取和組合,計算出詞語之間的依存關(guān)系得分,如式(18)所示。
以式(13)代替式(3),實現(xiàn)了采用神經(jīng)網(wǎng)絡(luò)計算依存弧的分值。神經(jīng)網(wǎng)絡(luò)的優(yōu)勢在于特征提取,而和已有的神經(jīng)網(wǎng)絡(luò)依存分析模型不同的是,本文中的模型在工作流程的Step3中,同時采用了bi-LSTM和CNN提取不同類型的特征,在Step5中使用了基于概率的訓(xùn)練方法,使模型在特征提取和模型訓(xùn)練上效果更佳。
本文提出的模型中,影響依存分析性能的主要因素包括3部分:詞向量特征、全局向量特征和基于概率的訓(xùn)練方法。為了比較這3個因素的影響,分別設(shè)計了如下實驗進(jìn)行對比測試。
實驗1 考察所提取的向量特征對依存分析準(zhǔn)確率的影響,分別為詞向量特征和全局向量特征。采用bi-LSTM提取詞向量特征時,bi-LSTM隱層大小將影響到詞向量特征的質(zhì)量,因此,這里主要考察bi-LSTM隱層大小變化對依存分析結(jié)果的影響。對于全局向量特征,為了驗證提取的全局向量特征的有效性,分別比較加入和不加入全局向量特征時,實驗結(jié)果的非標(biāo)記依存正確率值。綜上,實驗中通過改變bi-LSTM隱層大小,分別觀察加入與不加入全局向量時的值,結(jié)果如圖8所示。
從圖8可以看出,分別采用基于概率的訓(xùn)練方法和最大化間隔訓(xùn)練算法的情況下,全局向量特征的加入都提升了依存分析的值,證明了該全局向量特征的有效性。同時也可以看出,bi-LSTM隱層大小影響到提取的詞向量特征,進(jìn)一步影響到依存分析結(jié)果。從圖8(a)可以看到,隱層大小達(dá)到120后,值大小基本不再變化。
圖8 不同隱層大小下的實驗結(jié)果UAS值
實驗2 考察基于概率的訓(xùn)練方法和最大化間隔訓(xùn)練算法在依存分析準(zhǔn)確率上的影響。此時加入全局特征向量,分別觀察2種訓(xùn)練方法下的值,如圖9所示。從圖9可以看出,隨著隱層大小增大,2種訓(xùn)練方法下的值都在不斷提升。同時,在bi-LSTM隱層較小時,最大化間隔訓(xùn)練方法效果較好;當(dāng)隱層增大后,基于概率的訓(xùn)練方法對依存分析提供了更大幫助,其值超過了最大化間隔方法。在隱層大小為120時,基本不再有太大提升。
基于概率的訓(xùn)練方法思想受文獻(xiàn)[6]啟發(fā),文獻(xiàn)[10]也采用了類似的方法,將其應(yīng)用到高階的基于圖的依存句法分析中。與它們不同的是,本文將其應(yīng)用在一階模型中,同時結(jié)合了bi-LSTM和CNN來提取不同的特征,在基于概率的訓(xùn)練下,依存分析效果更好,在一些指標(biāo)上超過了這2篇文獻(xiàn),表4列出在相同數(shù)據(jù)集上的實驗結(jié)果對比情況。
圖9 不同訓(xùn)練方法的實驗結(jié)果UAS值
表4 依存分析結(jié)果對比
實驗3 為了橫向比較本文的依存分析模型性能,分析研究了目前已有的依存分析模型,通過實驗結(jié)果對比依存分析準(zhǔn)確率。在最終的對比實驗中,選擇準(zhǔn)確率最高的模型參數(shù)設(shè)置,如表5~表7所示。
表5 bi-LSTM(前向)參數(shù)設(shè)置
表6 CNN參數(shù)設(shè)置
表7 其他參數(shù)設(shè)置與向量維度大小
圖10給出了該設(shè)置下模型在訓(xùn)練集上的損失值變化,橫坐標(biāo)為訓(xùn)練過程中的迭代次數(shù),每個內(nèi)訓(xùn)練集訓(xùn)練完一次。下一個開始前重新打亂訓(xùn)練集中樣本順序,防止模型在訓(xùn)練集上的過擬合??v坐標(biāo)表示每個結(jié)束時,整個的平均訓(xùn)練損失大小。為了對比實驗效果,圖10給出了該設(shè)置下LSTM和bi-LSTM的訓(xùn)練過程,僅從訓(xùn)練效果上看,bi-LSTM+CNN模型損失值降到了最小,表明同時應(yīng)用詞向量特征和全局向量特征,對依存分析提供了更大的幫助。
圖10 訓(xùn)練過程每個epoch的平均損失值
為了驗證本文方法相對于基線系統(tǒng)的性能提升,采用了經(jīng)典的依存分析器進(jìn)行對比測試:基于圖的依存分析器MSTParser和基于轉(zhuǎn)移的依存分析器MaltParser,表8列出了詳細(xì)的測試結(jié)果。此外,本文還與部分準(zhǔn)確率較高的中文依存分析器進(jìn)行了詳細(xì)比較,分別包括:線性模型下基于轉(zhuǎn)移[24]和基于圖[25]的依存分析系統(tǒng);與本文類似的,采用LSTM[8,9,11,20]或CNN[10,11]的依存分析系統(tǒng)。
表8 依存分析結(jié)果及對比
從表8可以看出,本文提出的依存分析模型,相較于基線系統(tǒng)在值和值上都有明顯提升,大約都在5%左右。與傳統(tǒng)模型下準(zhǔn)確率最高的基于轉(zhuǎn)移[24]和基于圖[25]的依存分析系統(tǒng)相比,本文模型也達(dá)到了高于或者十分接近的準(zhǔn)確率。和僅使用LSTM的文獻(xiàn)[8,9]相比,本文在加入CNN提取的全局向量特征后,值高于文獻(xiàn)[8],與文獻(xiàn)[9]十分接近。和僅使用CNN的文獻(xiàn)[10]相比,由于其采用三階模型,能夠利用更復(fù)雜的特征,而本文僅為一階模型,所以值略低,但值更高。與同時使用CNN和LSTM文獻(xiàn)[11]相比,其采用CNN和LSTM分別提取字符向量特征和詞向量特征,準(zhǔn)確率高于本文模型,達(dá)到了目前最佳,而本文模型與其相比仍有一定差距,有待進(jìn)一步提高。
本文在前人工作的基礎(chǔ)上,將bi-LSTM和CNN結(jié)合使用,提出了一種基于bi-LSTM的依存句法分析模型,該模型能夠結(jié)合句子級別的全局向量特征,提升依存分析效果。與傳統(tǒng)線性模型相比,該模型采用深度神經(jīng)網(wǎng)絡(luò)自動學(xué)習(xí)上下文特征和全局特征表示,不需人為選擇特征,避免了特征依賴問題。與神經(jīng)網(wǎng)絡(luò)依存分析模型相比,本文將LSTM和CNN結(jié)合使用,建立了基于圖的一階模型,復(fù)雜度低于其他高階模型。采用了基于概率模型的訓(xùn)練方法,充分利用了所有可能的依存分析樹進(jìn)行訓(xùn)練,依存分析結(jié)果接近或高于單獨使用LSTM和CNN的模型。
下面是對目標(biāo)函數(shù)式(13)求偏導(dǎo)數(shù)的詳細(xì)過程。
式(20)難點在于()偏導(dǎo)數(shù)的計算,式(21)是()的偏導(dǎo)數(shù)具體求解過程。
式(13)中第一項偏導(dǎo)數(shù)的計算結(jié)果即式(24),則式(13)的最終的偏導(dǎo)數(shù)為
[1] MCDONALD R, CRAMMER K, PEREIRA F. Online large-margin training of dependency parsers[C]//The 43rd Annual Meeting on Association for Computational Linguistics. 2005:91-98.
[2] EISNER J M. Three new probabilistic models for dependency parsing: an exploration[J]. Computer Science, 1997:340-345.
[3] MCDONALD R T, PEREIRA F C N. Online learning of approximate dependency parsing algorithms[C]//The 11th Conference of the European Chapter of the Association for Computational Linguistics. 2006: 81-88.
[4] CARRERAS X. Experiments with a higher-order projective dependency parser[C]//The 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. 2007: 957-961.
[5] KOO T, COLLINS M. Efficient third-order dependency parsers[C]// The 48th Annual Meeting of the Association for Computational Linguistics. 2010:1-11.
[6] 馬學(xué)喆. 依存句法分析的若干關(guān)鍵問題的研究[D]. 上海: 上海交通大學(xué), 2013.
MA X Z. Research on key issues of dependency parsing[D]. Shanghai: Shanghai Jiaotong University, 2013.
[7] PEI W Z, GE T, CHANG B B. An effective neural network model for graph-based dependency parsing[C]// The 53rd Annual Meeting of the Association for Computational Linguistics. 2015: 313-322.
[8] WANG W H, CHANG B B. Graph-based dependency parsing with bidirectional LSTM[C]//The 54th Annual Meeting of the Association for Computational Linguistics. 2016: 2306-2315.
[9] KIPERWASSER E, GOLDBERG Y. Simple and accurate dependency parsing using bidirectional LSTM feature representations[J]. Transactions of the Association for Computational Linguistics, 2016(4): 313-327.
[10] ZHANG Z S, ZHAO H, QIN L H. Probabilistic graph-based dependency parsing with convolutional neural network[C]//The 54th Annual Meeting of the Association for Computational Linguistics. 2016: 1382-1392.
[11] MA X Z, HOVY E. Neural probabilistic model for non-projective MST parsing[J]. arXiv: arXiv: 1701.00874, 2017.
[12] ZHANG J J, ZHANG D K, HAO J. Local translation prediction with global sentence representation[C]//The 24th International Joint Conference on Artificial Intelligence. 2015:1398-1404.
[13] KALCHBRENNER N, GREFENSTETTE E, BLUNSOM P. A convolutional neural network for modelling sentences[J]. Eprint Arxiv, 2014(1).
[14] COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011(12): 2493-2537.
[15] JASON C, ERIC N. Named entity recognition with bidirectional lstm-cnns[J]. Transactions of the Association for Computational Linguistics, 2016(4): 357-370.
[16] 曾誰飛, 張笑燕, 杜曉峰, 等. 基于神經(jīng)網(wǎng)絡(luò)的文本表示模型新方法[J]. 通信學(xué)報, 2017, 38(4): 86-98.
ZENG S F, ZHANG X Y, DU X F, et al. New method of text representation model based on neural network[J]. Journal on Communications, 2017, 38(4): 86-98.
[17] CHEN D Q, MANNING C. A fast and accurate dependency parser using neural networks[C]//Conference on Empirical Methods in Natural Language Processing. 2014:740-750.
[18] WEISS D, ALBERTI C, COLLINS M, et al. Structured training for neural network transition-based parsing[C]//The 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. 2015: 323-333.
[19] ANDOR D, ALBERTI C, WEISS D, et al. Globally normalized transition-based neural networks[C]//The 54rd Annual Meeting of the Association for Computational Linguistics. 2016: 2442-2452.
[20] DYER C, BALLESTEROS M, WANG L, et al. Transition-based dependency parsing with stack long short-term memory[J]. Computer Science, 2015, 37(2): 321-332.
[21] CHENG H, FANG H, HE X D, et al. Bi-directional attention with agreement for dependency parsing[C]// Conference on Empirical Methods in Natural Language Processing. 2016: 2204-2214.
[22] DOZAT T, MANNING C D. Deep biaffine attention for neural dependency parsing[J]. arXiv: arXiv 1611.01734, 2016.
[23] NEUBIG G, DYER C, GOLDBERG Y, et al. DyNet: the dynamic neural network toolkit[J]. arXiv: arXiv 1701.03980, 2017.
[24] ZHANG Y, NIVRE J. Transition-based dependency parsing with rich non-local features[C]//The 49th Annual Meeting of the Association for Computational Linguistics. 2011:188-193.
[25] ZHANG H, MCDONALD R. Enforcing structural diversity in cube-pruned dependency parsing[C]//The 52nd Annual Meeting of the Association for Computational Linguistics. 2014:656-666.
Neural network model for dependency parsingincorporating global vector feature
WANG Hengjun1, SI Nianwen1, SONG Yulong2, SHAN Yidong1
1. The Third Institute, PLA Information Engineering University, Zhengzhou 450001, China 2. 73671 Army, Luan 237000, China
LSTM and piecewise CNN were utilized to extract word vector features and global vector features, respectively. Then the two features were input to feed forward network for training. In model training, the probabilistic training method was adopted. Compared with the original dependency paring model, the proposed model focused more on global features, and used all potential dependency trees to update model parameters. Experiments on Chinese Penn Treebank 5 (CTB5) dataset show that, compared with the parsing model using LSTM or CNN only, the proposed model not only remains the relatively low model complexity, but also achieves higher accuracies.
dependency parsing, graph-based model, long short-term memory network, convolutional neural network, feature
TN912.3
A
10.11959/j.issn.1000-436x.2018024
2017-06-12;
2017-12-08
司念文,snw1608@163.com
王衡軍(1973-),男,湖南衡陽人,解放軍信息工程大學(xué)副教授、碩士生導(dǎo)師,主要研究方向為機(jī)器學(xué)習(xí)、自然語言處理和信息安全。
司念文(1992-),男,湖北襄陽人,解放軍信息工程大學(xué)碩士生,主要研究方向為機(jī)器學(xué)習(xí)、自然語言處理。
宋玉龍(1995-),男,安徽阜陽人,73671部隊助理工程師,主要研究方向為網(wǎng)絡(luò)與信息安全。
單義棟(1988-),男,山東乳山人,解放軍信息工程大學(xué)碩士生,主要研究方向為自然語言處理。