王衡軍,司念文,宋玉龍,單義棟
?
結(jié)合全局向量特征的神經(jīng)網(wǎng)絡(luò)依存句法分析模型
王衡軍1,司念文1,宋玉龍2,單義棟1
(1. 解放軍信息工程大學(xué)三院,河南 鄭州 450001;2. 73671部隊(duì),安徽 六安 237000)
利用時(shí)序型長(zhǎng)短時(shí)記憶(LSTM, long short term memory)網(wǎng)絡(luò)和分片池化的卷積神經(jīng)網(wǎng)絡(luò)(CNN, convolutional neural network),分別提取詞向量特征和全局向量特征,將2類(lèi)特征結(jié)合輸入前饋網(wǎng)絡(luò)中進(jìn)行訓(xùn)練;模型訓(xùn)練中,采用基于概率的訓(xùn)練方法。與改進(jìn)前的模型相比,該模型能夠更多地關(guān)注句子的全局特征;相較于最大化間隔訓(xùn)練算法,所提訓(xùn)練方法更充分地利用所有可能的依存句法樹(shù)進(jìn)行參數(shù)更新。為了驗(yàn)證該模型的性能,在賓州中文樹(shù)庫(kù)(CTB5, Chinese Penn Treebank 5)上進(jìn)行實(shí)驗(yàn),結(jié)果表明,與已有的僅使用LSTM或CNN的句法分析模型相比,該模型在保證一定效率的同時(shí),能夠有效提升依存分析準(zhǔn)確率。
依存句法分析;圖模型;長(zhǎng)短時(shí)記憶網(wǎng)絡(luò);卷積神經(jīng)網(wǎng)絡(luò);特征
句法分析作為自然語(yǔ)言處理的一個(gè)重要環(huán)節(jié),對(duì)于提升機(jī)器理解文本的準(zhǔn)確率具有重要作用。依存句法分析因其靈活簡(jiǎn)潔、易于理解和標(biāo)注等特點(diǎn)而受到大量研究人員的青睞,準(zhǔn)確率也不斷提升。文獻(xiàn)[1]最早提出將依存句法分析歸結(jié)為從一個(gè)完全有向圖中尋找最大生成樹(shù)問(wèn)題,采用在線學(xué)習(xí)算法學(xué)習(xí)邊的權(quán)值,模型解碼利用Eisner算法[2],通過(guò)自底向上不斷合并低階子樹(shù),構(gòu)成更高階的子樹(shù),直到找出最優(yōu)依存句法樹(shù)結(jié)構(gòu)。
傳統(tǒng)的基于圖的依存句法分析[1~6]采用線性模型計(jì)算樹(shù)的分值,樹(shù)的分值由滿(mǎn)足特定結(jié)構(gòu)的子樹(shù)分值之和確定,子樹(shù)的分值由該子樹(shù)的特征函數(shù)和相應(yīng)權(quán)向量乘積得到。典型的線性模型依存分析器如MSTParser[1]已經(jīng)能夠達(dá)到一定的準(zhǔn)確率,然而,這類(lèi)傳統(tǒng)模型依靠人工設(shè)計(jì)的特征模板提取特征,存在明顯不足:1) 特征提取過(guò)程受限于固定的特征模板,難以獲取實(shí)際真正有效的特征;2) 特征模板的設(shè)計(jì)依賴(lài)于大量的領(lǐng)域知識(shí),只有通過(guò)特征工程進(jìn)行不斷的實(shí)驗(yàn)選擇,來(lái)提升準(zhǔn)確率;3)所提取的特征數(shù)據(jù)稀疏,且不完整。
近年來(lái)的研究多將深度神經(jīng)網(wǎng)絡(luò)(DNN, deep neural network)應(yīng)用到依存分析中[7~11],采用分布式詞向量作為輸入,利用DNN從少量的核心特征(詞和詞性)自動(dòng)提取復(fù)雜的特征組合,減少了人工參與的特征設(shè)計(jì),取得了比傳統(tǒng)模型更好的效果。這個(gè)過(guò)程中,DNN被用于自動(dòng)特征提取,訓(xùn)練出一個(gè)非線性得分模型,輸出任意2個(gè)詞之間的依存關(guān)系得分,模型解碼依然采用傳統(tǒng)的最大生成樹(shù)算法。
文獻(xiàn)[7]提出了一種前饋神經(jīng)網(wǎng)絡(luò)(FNN, feed-forward neural network)依存分析模型,但由于FNN通常受到窗口大小的限制,和傳統(tǒng)的n-gram語(yǔ)法特征類(lèi)似,只能利用有限的上下文信息。
文獻(xiàn)[8,9]采用時(shí)序型長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)建立依存分析模型,當(dāng)前時(shí)刻的網(wǎng)絡(luò)輸出由當(dāng)前時(shí)刻輸入和前一時(shí)刻輸出共同決定,通過(guò)這樣的循環(huán)結(jié)構(gòu),理論上可以利用到無(wú)限長(zhǎng)度的上下文信息。實(shí)驗(yàn)結(jié)果驗(yàn)證了LSTM比FNN的依存分析效果更好。
文獻(xiàn)[10]采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行高階基于圖的依存分析,試圖利用CNN從句首到句尾的卷積操作,克服FNN的窗口大小限制,提取更大范圍的上下文特征,改善基于圖的依存分析在計(jì)算子樹(shù)得分上的局部決策問(wèn)題。與文獻(xiàn)[7~9]的最大化間隔訓(xùn)練不同,本文采用了概率標(biāo)準(zhǔn)進(jìn)行訓(xùn)練,將所有依存樹(shù)的得分概率化,考慮的情形更加一般,在一定程度上提升了模型準(zhǔn)確率。但是其使用的三階模型復(fù)雜度較高,分析效率受到一定限制。
文獻(xiàn)[11]將CNN和LSTM結(jié)合進(jìn)行依存分析,利用CNN提取字符特征,形成字符級(jí)別的向量表示,再結(jié)合詞向量共同輸入LSTM。與文獻(xiàn)[10]類(lèi)似,采用對(duì)數(shù)似然的概率標(biāo)準(zhǔn)進(jìn)行訓(xùn)練。由于字符級(jí)別特征的加入,該模型取得了更好的結(jié)果。
上述的依存分析模型中單獨(dú)使用LSTM,只能提取到詞向量特征,只有文獻(xiàn)[11]同時(shí)結(jié)合了CNN和LSTM,可以分別提取字符向量特征和詞向量特征,效果上也達(dá)到了最佳。實(shí)際上,由于CNN在句子結(jié)構(gòu)建模上效果很好[12,13],可以用來(lái)提取整句級(jí)別的全局特征,這與文獻(xiàn)[11]利用CNN提取字符特征的應(yīng)用恰好相反?;谠撍悸?,本文將CNN和LSTM結(jié)合進(jìn)行依存分析。首先,預(yù)訓(xùn)練的分布式詞向量用來(lái)表示單個(gè)詞語(yǔ),作為網(wǎng)絡(luò)輸入。然后,將標(biāo)準(zhǔn)的雙向LSTM和經(jīng)過(guò)改進(jìn)的CNN結(jié)合使用,與文獻(xiàn)[11]不同,本文的CNN和LSTM以并行方式進(jìn)行特征提取,分別提取詞向量特征和全局向量特征,其中,全局向量特征關(guān)注支配詞與被支配詞的上下文特征以及整個(gè)句子中的位置和相對(duì)順序等特征,形成一個(gè)包含整句信息的全局向量。最后,輸入到FNN中并行訓(xùn)練,輸出依存弧的得分。模型訓(xùn)練中采用基于概率模型的訓(xùn)練方法,與最大化間隔訓(xùn)練方法相比,更充分地利用所有的可能依存樹(shù)進(jìn)行參數(shù)更新。
為了驗(yàn)證模型的依存分析性能,在賓州中文樹(shù)庫(kù)上進(jìn)行依存句法分析實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文提出的結(jié)合LSTM和CNN的特征提取方法與單獨(dú)采用LSTM或CNN的模型相比,能夠利用更加豐富的特征,有效提升依存分析準(zhǔn)確率。同時(shí),基于概率模型的訓(xùn)練方法在效果上也優(yōu)于最大化間隔訓(xùn)練方法。
依存句法分析的目的是為每個(gè)句子建立一棵有向的、帶根節(jié)點(diǎn)的依存句法樹(shù)。一棵標(biāo)準(zhǔn)的依存句法樹(shù)結(jié)構(gòu)如圖1所示,樹(shù)節(jié)點(diǎn)為句子中的詞語(yǔ),節(jié)點(diǎn)之間的有向?。ㄒ来婊。┍硎靖腹?jié)點(diǎn)(支配詞)和子節(jié)點(diǎn)(被支配詞)的依存關(guān)系及類(lèi)型,依存關(guān)系類(lèi)型用來(lái)表示2個(gè)詞之間的句法或語(yǔ)義關(guān)系。句子下方標(biāo)注了詞語(yǔ)的詞性和在句中的相對(duì)位置。
圖1 依存句法樹(shù)結(jié)構(gòu)
根據(jù)子樹(shù)中包含的依存弧數(shù)目,可將子樹(shù)劃分為不同的階數(shù)。根據(jù)依存分析模型所采用的最大子樹(shù)的階數(shù),可將其劃分為一階[1]、二階[3,4]、三階[5]以及更高階模型[6]。文獻(xiàn)[1]最早提出了一階線性模型,其假設(shè)弧與弧之間沒(méi)有關(guān)聯(lián),單個(gè)弧相當(dāng)于一棵子樹(shù),依存句法樹(shù)分值等于該樹(shù)所包含的所有依存弧分值之和。由于模型階數(shù)越高,在分析準(zhǔn)確率上升的同時(shí),大量的子樹(shù)特征計(jì)算極大地提升了模型復(fù)雜度,降低了效率。因此,在準(zhǔn)確率和效率兼顧的前提下,目前一階和二階模型的研究和應(yīng)用較為廣泛。
近年來(lái),基于深度學(xué)習(xí)的方法在自然語(yǔ)言處理中應(yīng)用廣泛。深度神經(jīng)網(wǎng)絡(luò)(DNN, deep neural network)結(jié)合詞的分布式向量(distributed embedding)作為輸入,在詞性標(biāo)注[14]、命名實(shí)體識(shí)別[15]、文本表示[16]、機(jī)器翻譯[13]等任務(wù)上實(shí)現(xiàn)了較大的提升。關(guān)于DNN在依存句法分析領(lǐng)域的應(yīng)用,近年來(lái)有許多深入的研究工作。由于DNN在特征提取和表示上的優(yōu)勢(shì),極大緩解了傳統(tǒng)方法的特征依賴(lài)問(wèn)題,DNN自動(dòng)提取的特征優(yōu)于人工設(shè)計(jì)的特征,使依存分析在性能上有較大提升。因此,當(dāng)前主要關(guān)注神經(jīng)網(wǎng)絡(luò)下的依存分析模型。
基本的前饋神經(jīng)網(wǎng)絡(luò)(FNN, feed-forward neural network)依存分析模型如圖2所示,由輸入層、隱含層和輸出層構(gòu)成,其中,隱含層可由多個(gè)層構(gòu)成。文獻(xiàn)[17]首次采用FNN對(duì)基于轉(zhuǎn)移的依存分析進(jìn)行建模,將stack和buffer中主要元素(共18個(gè))的分布式向量送進(jìn)輸入層,采用交叉熵目標(biāo)函數(shù)訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)分類(lèi)器,為每次所要采取的轉(zhuǎn)移動(dòng)作做分類(lèi)決策。與傳統(tǒng)的使用大量特征模板相比,該模型特征集合僅包含18個(gè)元素,極大簡(jiǎn)化特征設(shè)計(jì)過(guò)程,保證一定的分析準(zhǔn)確率,并且速度上有很大提升。在文獻(xiàn)[17]的基礎(chǔ)上,文獻(xiàn)[18]將FNN拓展到更深層的模型,并在最后一層增加感知層,采用柱搜索解碼,進(jìn)一步提升分類(lèi)器的準(zhǔn)確率。文獻(xiàn)[19]同樣使用FNN模型,采用全局歸一化策略,設(shè)計(jì)基于特定任務(wù)的轉(zhuǎn)移系統(tǒng),實(shí)現(xiàn)FNN模型下效果最佳的基于轉(zhuǎn)移的依存分析器。在基于圖的依存分析方面,文獻(xiàn)[7]將FNN應(yīng)用到基本的圖模型中,訓(xùn)練出一個(gè)非線性的得分模型,輸出每個(gè)依存弧分值,采用最大生成樹(shù)算法從圖中搜索最佳樹(shù)結(jié)構(gòu)。
圖2 FNN依存分析模型
由于FNN存在窗口大小限制,研究者們采用具有循環(huán)結(jié)構(gòu)的時(shí)序型LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行依存分析。與FNN相比,LSTM更加擅長(zhǎng)處理序列化數(shù)據(jù),可以很好地利用輸入序列的歷史信息,分析其整體邏輯關(guān)系。與普通的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN, recurrent neural network)相比,LSTM引入了記憶核(memory cell)和門(mén)機(jī)制,解決梯度消失/爆炸問(wèn)題,可以學(xué)習(xí)到更長(zhǎng)距離的依存關(guān)系特征。文獻(xiàn)[20]首次將LSTM應(yīng)用到基于轉(zhuǎn)移的依存分析中,利用LSTM分別為轉(zhuǎn)移系統(tǒng)中的堆棧建模,取得了比FNN更好的效果。文獻(xiàn)[9]提出了更加一般的基于bi-LSTM的特征提取器,采用特征提取器獲取詞語(yǔ)及其上下文特征表示,并將其應(yīng)用到基于轉(zhuǎn)移和基于圖的依存分析框架中,都取得了很好的效果,如圖3所示。文獻(xiàn)[8]采用LSTM提取詞向量特征后,進(jìn)一步加入了一種分段向量,該分段向量由單向LSTM的隱含層向量相減獲得,理論上包含句子層面的全局特征,實(shí)驗(yàn)也表明其能夠提升長(zhǎng)距離依存分析的準(zhǔn)確率。
最近的依存分析模型將注意力機(jī)制引入LSTM神經(jīng)網(wǎng)絡(luò),如文獻(xiàn)[21]提出的基于雙向注意力的神經(jīng)網(wǎng)絡(luò)依存分析模型,文獻(xiàn)[22]提出的支配詞動(dòng)態(tài)選擇策略的依存分析模型。其中,文獻(xiàn)[22]設(shè)計(jì)了雙向仿射得分函數(shù),采用交叉熵目標(biāo)函數(shù)訓(xùn)練,實(shí)現(xiàn)目前最好的依存分析效果。
圖3 bi-LSTM依存分析模型
本文提出的依存分析模型基于當(dāng)前廣泛應(yīng)用的LSTM神經(jīng)網(wǎng)絡(luò),在此基礎(chǔ)上,在模型輸入層之后增加特征層,特征層中引入一種全局向量特征,設(shè)計(jì)分片池化的CNN提取該全局特征向量。通過(guò)結(jié)合LSTM提取的上下文詞向量特征以及CNN提取的句子級(jí)別的全局向量特征,使句法分析模型在不增加所使用的基本特征的情況下,充分利用到更豐富的特征組合,提升分析準(zhǔn)確率。
具體的模型結(jié)構(gòu)如圖4所示。主要分為以下幾個(gè)部分。
圖4 加入特征層的bi-LSTM依存分析模型
1) 輸入層。對(duì)于給定句子中的每個(gè)詞語(yǔ),在預(yù)訓(xùn)練的詞向量矩陣中進(jìn)行索引,生成相應(yīng)的詞向量序列作為模型輸入。
2) 特征層。對(duì)輸入的詞向量進(jìn)行特征提取,采用bi-LSTM和分片池化的CNN分別提取上下文詞向量特征和全局向量特征。
3) 隱含層和輸出層。對(duì)提取后的特征進(jìn)行組合和非線性變換,輸出層給出依存弧的分?jǐn)?shù)值。
下面分別就特征層的詞向量特征、全局向量特征和基于概率的訓(xùn)練方法進(jìn)行詳細(xì)介紹。
由于分布式詞向量本身含有詞語(yǔ)之間相似度信息,對(duì)詞性標(biāo)注和句法分析等任務(wù)是很好的原始特征。本文采用預(yù)訓(xùn)練的分布式詞向量作為輸入,然后采用bi-LSTM對(duì)其進(jìn)行處理,提取上下文詞向量特征,該過(guò)程如圖5所示。
圖5 bi-LSTM提取詞向量特征過(guò)程
bi-LSTM輸出向量聚合了詞語(yǔ)前向和后向的上下文信息,將其作為詞向量特征,與原始詞向量相比,融入了更加豐富的上下文信息,能夠更好地利用長(zhǎng)距離依賴(lài)特征。
卷積神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言處理中應(yīng)用廣泛,文獻(xiàn)[12]提出在機(jī)器翻譯任務(wù)中,采用CNN對(duì)句子進(jìn)行建模,通過(guò)分塊池化最大限度保留原始句子的語(yǔ)義信息,得到全局級(jí)別的句子向量表示。依存句法分析中,支配詞和被支配詞的上下文信息對(duì)分析其搭配關(guān)系十分重要,充分利用該特征有利于提升依存分析準(zhǔn)確率[1,7]。為提取這類(lèi)特征,借鑒文獻(xiàn)[12]的思想,通過(guò)改進(jìn)標(biāo)準(zhǔn)的CNN結(jié)構(gòu),將其應(yīng)用于提取句子級(jí)別的全局向量特征,如圖6所示。
卷積神經(jīng)網(wǎng)絡(luò)的工作過(guò)程分為以下3個(gè)部分。
其中,向量表示大小為win的窗口內(nèi)的詞向量,為權(quán)重矩陣,為偏移向量,函數(shù)為tan h非線性激活函數(shù)。每個(gè)filter輸出向量的維度需要和句子長(zhǎng)度保持一致,為此,采取通常的做法,對(duì)句子首尾分別填充零向量。
圖7 分片池化過(guò)程
3) 輸出全局向量。為了得到最終的輸出向量,池化層后緊跟著一個(gè)全連接層,將該向量矩陣映射到輸出層,得到輸出向量,即全局向量特征。
由于CNN在池化過(guò)程中采用了分片池化方式,針對(duì)支配詞和被支配詞的位置進(jìn)行分片池化,使得到的向量包含支配詞和被支配詞之間的依賴(lài)關(guān)系、相對(duì)位置、在整個(gè)句子中的位置等特征信息,并且采用多個(gè)filter且每個(gè)filter掃描整個(gè)句子最終得到該向量,因此稱(chēng)作該句子的全局向量特征。
模型的特征層將特征詞向量和全局向量特征進(jìn)行連接,輸入一個(gè)簡(jiǎn)單的FNN進(jìn)行訓(xùn)練。FNN的輸出是一個(gè)||維的向量(為依存關(guān)系類(lèi)型集合),每一維即代表一種依存關(guān)系類(lèi)型的得分。
采用最大化間隔算法時(shí),按照目標(biāo)函數(shù)最小化的一般形式,將目標(biāo)函數(shù)設(shè)置為[7,8]
最大化間隔訓(xùn)練算法的優(yōu)點(diǎn)是可以減少過(guò)擬合,同時(shí)并不需要太多額外的計(jì)算量。但是,在實(shí)際訓(xùn)練過(guò)程中,模型參數(shù)更新僅依賴(lài)于錯(cuò)誤分析結(jié)果,即僅利用最佳預(yù)測(cè)樹(shù)和標(biāo)準(zhǔn)樹(shù)之間的誤差,而直接忽略了其他可能的依存樹(shù)對(duì)參數(shù)更新的作用,這樣通過(guò)降低計(jì)算復(fù)雜度的方式,在一定程度上簡(jiǎn)化了模型的訓(xùn)練過(guò)程。
訓(xùn)練中的目標(biāo)函數(shù)定義為
根據(jù)以上結(jié)果,目標(biāo)函數(shù)可重新定義為
1) 實(shí)驗(yàn)數(shù)據(jù)及評(píng)價(jià)指標(biāo)
實(shí)驗(yàn)采用賓州中文樹(shù)庫(kù)數(shù)據(jù)集,該數(shù)據(jù)集由LDC語(yǔ)言數(shù)據(jù)聯(lián)盟發(fā)布,語(yǔ)料主要來(lái)源于新華社和部分香港新聞等媒體,句子的平均長(zhǎng)度為27個(gè)詞,分別進(jìn)行了分詞、詞性標(biāo)注和短語(yǔ)結(jié)構(gòu)句法樹(shù)構(gòu)建,共包含33種詞性分類(lèi)和23種句法標(biāo)記。
表1 采用Penn2Malt工具轉(zhuǎn)換CTB5前后對(duì)比
由于CTB5數(shù)據(jù)集本身是短語(yǔ)結(jié)構(gòu)句法樹(shù)庫(kù),需要采用Penn2Malt工具將其轉(zhuǎn)化為依存結(jié)構(gòu)樹(shù)庫(kù),在轉(zhuǎn)換后的數(shù)據(jù)集上進(jìn)行依存句法分析實(shí)驗(yàn)。實(shí)驗(yàn)中,采用標(biāo)準(zhǔn)分詞和詞性標(biāo)注,利用其自帶的支配詞節(jié)點(diǎn)發(fā)現(xiàn)規(guī)則,找到每個(gè)詞對(duì)應(yīng)的支配詞節(jié)點(diǎn)位置。表1給出了例句“上海浦東開(kāi)發(fā)與法制建設(shè)同步”轉(zhuǎn)換前后的句法結(jié)構(gòu)對(duì)比。
其中,表1左側(cè)為轉(zhuǎn)換之前的短語(yǔ)結(jié)構(gòu)樹(shù)標(biāo)注。右側(cè)為轉(zhuǎn)換為依存結(jié)構(gòu)樹(shù)后的標(biāo)注,第1~5列分別表示詞語(yǔ)順序、詞語(yǔ)、詞性、支配詞位置(0表示其支配詞為ROOT虛根節(jié)點(diǎn),其余從1開(kāi)始)、與支配詞之間依存關(guān)系類(lèi)型。例如:詞性NR、NN、CC、VV表示該詞為專(zhuān)有名詞、普通名詞、并列連詞、其他動(dòng)詞;位置標(biāo)記2表示“上?!睂?duì)應(yīng)的支配詞為“浦東”,位置標(biāo)記0表示“同步”的支配詞為ROOT,“同步”為該句的核心動(dòng)詞;句法關(guān)系標(biāo)記NMOD表示復(fù)合名詞修飾關(guān)系(上海,浦東),SUB表示主謂關(guān)系(建設(shè),同步)。與該例句對(duì)應(yīng)的依存句法樹(shù)結(jié)構(gòu)如圖1所示。
按照前人工作中的做法[20],實(shí)驗(yàn)中將數(shù)據(jù)集劃分為訓(xùn)練集、開(kāi)發(fā)集和測(cè)試集,各部分統(tǒng)計(jì)及劃分如表2所示。
表2 數(shù)據(jù)集統(tǒng)計(jì)及劃分情況
在實(shí)驗(yàn)結(jié)果評(píng)價(jià)上,采用無(wú)標(biāo)記依存正確率(UAS, unlabeled attachment score)和帶標(biāo)記依存正確率(LAS, labeled attachment score)作為依存分析結(jié)果評(píng)價(jià)指標(biāo),如式(16)和式(17)所示。
由于和標(biāo)點(diǎn)符號(hào)有關(guān)的依存關(guān)系不包含額外的句法結(jié)構(gòu)信息,對(duì)其進(jìn)行統(tǒng)計(jì)的意義不大,因此,不考慮與標(biāo)點(diǎn)符號(hào)相關(guān)的依存關(guān)系。
2) 預(yù)訓(xùn)練的詞向量與參數(shù)初始化
實(shí)驗(yàn)中所用的預(yù)訓(xùn)練的詞向量,采用谷歌公司的開(kāi)源工具word2vec在Gigaword語(yǔ)料上訓(xùn)練得到。word2vec工具是一款簡(jiǎn)單高效的詞向量訓(xùn)練工具,能夠?qū)Υ罅空Z(yǔ)料分析,將詞語(yǔ)映射到多維向量空間,輸出詞語(yǔ)的向量表示形式。輸出的詞向量包含豐富的詞匯和語(yǔ)義關(guān)系,可以被用到許多自然語(yǔ)言處理工作中,例如句法分析、語(yǔ)義角色標(biāo)注、機(jī)器翻譯等。詞向量維度根據(jù)訓(xùn)練時(shí)設(shè)置的參數(shù)而定,本文詞向量維度設(shè)定為50維。表3為2個(gè)例句在生成的詞向量矩陣中進(jìn)行索引,得到對(duì)應(yīng)的詞向量數(shù)值(只列出了前8維部分?jǐn)?shù)值)。詞性向量和依存關(guān)系類(lèi)型向量的維度設(shè)定為30,其元素值統(tǒng)一隨機(jī)初始化在區(qū)間(?0.05, 0.05)內(nèi)。模型中其他待初始化的權(quán)重矩陣和偏移向量等參數(shù),根據(jù)所在層的向量維度具體確定。
3) 實(shí)驗(yàn)環(huán)境與流程
本文實(shí)驗(yàn)均采用python語(yǔ)言,在anaconda集成開(kāi)發(fā)環(huán)境下的spyder軟件平臺(tái)進(jìn)行程序編寫(xiě)。依存分析模型中調(diào)用的神經(jīng)網(wǎng)絡(luò)來(lái)源于DyNet動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)工具包[23],該工具包由美國(guó)卡耐基梅隆大學(xué)等多所學(xué)校的研究人員共同開(kāi)發(fā),其中,包含了RNN、LSTM和CNN等常用的深度神經(jīng)網(wǎng)絡(luò)模型,主要面向基于深度學(xué)習(xí)的自然語(yǔ)言處理領(lǐng)域研究。同時(shí),實(shí)驗(yàn)中參考了部分前人工作所設(shè)計(jì)的模型代碼[9,20]。
表3 預(yù)訓(xùn)練詞向量維度數(shù)值
實(shí)驗(yàn)硬件環(huán)境為Core i7處理器,主頻2.6 GHz,8 GB RAM,操作系統(tǒng)為64位Ubuntu 14.04。
Step2 模型初始化。調(diào)用庫(kù)中的LSTM函數(shù),搭建模型結(jié)構(gòu),初始化模型的參數(shù)矩陣。
Step4 前向傳播。經(jīng)過(guò)前向傳播直到輸出層給出每2個(gè)詞之間的依存弧分值,根據(jù)其構(gòu)建該句對(duì)應(yīng)的完全有向依存圖,從圖中搜索得到預(yù)測(cè)的相應(yīng)依存句法樹(shù)結(jié)構(gòu),計(jì)算()及()等。
Step5 反向傳播及參數(shù)更新。計(jì)算目標(biāo)函數(shù)并求其對(duì)各參數(shù)的偏導(dǎo)數(shù),采用批次梯度下降法更新參數(shù),每批樣本訓(xùn)練結(jié)束后調(diào)整參數(shù)矩陣值,計(jì)算該批樣本訓(xùn)練損失值。每個(gè)結(jié)束時(shí)計(jì)算整個(gè)的平均損失。設(shè)定大小,直到達(dá)到迭代次數(shù)為止,訓(xùn)練結(jié)束。
Step6 模型測(cè)試。從文件中加載訓(xùn)練后的模型參數(shù),輸入測(cè)試集中待分析句子,得出句子的依存句法結(jié)構(gòu),計(jì)算依存分析準(zhǔn)確率。
從上述過(guò)程可以看出,相比于傳統(tǒng)的線性依存分析方法,非線性的神經(jīng)網(wǎng)絡(luò)相當(dāng)于完成了如下的功能。對(duì)句子從輸入詞向量開(kāi)始,經(jīng)過(guò)特征層提取和組合,計(jì)算出詞語(yǔ)之間的依存關(guān)系得分,如式(18)所示。
以式(13)代替式(3),實(shí)現(xiàn)了采用神經(jīng)網(wǎng)絡(luò)計(jì)算依存弧的分值。神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)在于特征提取,而和已有的神經(jīng)網(wǎng)絡(luò)依存分析模型不同的是,本文中的模型在工作流程的Step3中,同時(shí)采用了bi-LSTM和CNN提取不同類(lèi)型的特征,在Step5中使用了基于概率的訓(xùn)練方法,使模型在特征提取和模型訓(xùn)練上效果更佳。
本文提出的模型中,影響依存分析性能的主要因素包括3部分:詞向量特征、全局向量特征和基于概率的訓(xùn)練方法。為了比較這3個(gè)因素的影響,分別設(shè)計(jì)了如下實(shí)驗(yàn)進(jìn)行對(duì)比測(cè)試。
實(shí)驗(yàn)1 考察所提取的向量特征對(duì)依存分析準(zhǔn)確率的影響,分別為詞向量特征和全局向量特征。采用bi-LSTM提取詞向量特征時(shí),bi-LSTM隱層大小將影響到詞向量特征的質(zhì)量,因此,這里主要考察bi-LSTM隱層大小變化對(duì)依存分析結(jié)果的影響。對(duì)于全局向量特征,為了驗(yàn)證提取的全局向量特征的有效性,分別比較加入和不加入全局向量特征時(shí),實(shí)驗(yàn)結(jié)果的非標(biāo)記依存正確率值。綜上,實(shí)驗(yàn)中通過(guò)改變bi-LSTM隱層大小,分別觀察加入與不加入全局向量時(shí)的值,結(jié)果如圖8所示。
從圖8可以看出,分別采用基于概率的訓(xùn)練方法和最大化間隔訓(xùn)練算法的情況下,全局向量特征的加入都提升了依存分析的值,證明了該全局向量特征的有效性。同時(shí)也可以看出,bi-LSTM隱層大小影響到提取的詞向量特征,進(jìn)一步影響到依存分析結(jié)果。從圖8(a)可以看到,隱層大小達(dá)到120后,值大小基本不再變化。
圖8 不同隱層大小下的實(shí)驗(yàn)結(jié)果UAS值
實(shí)驗(yàn)2 考察基于概率的訓(xùn)練方法和最大化間隔訓(xùn)練算法在依存分析準(zhǔn)確率上的影響。此時(shí)加入全局特征向量,分別觀察2種訓(xùn)練方法下的值,如圖9所示。從圖9可以看出,隨著隱層大小增大,2種訓(xùn)練方法下的值都在不斷提升。同時(shí),在bi-LSTM隱層較小時(shí),最大化間隔訓(xùn)練方法效果較好;當(dāng)隱層增大后,基于概率的訓(xùn)練方法對(duì)依存分析提供了更大幫助,其值超過(guò)了最大化間隔方法。在隱層大小為120時(shí),基本不再有太大提升。
基于概率的訓(xùn)練方法思想受文獻(xiàn)[6]啟發(fā),文獻(xiàn)[10]也采用了類(lèi)似的方法,將其應(yīng)用到高階的基于圖的依存句法分析中。與它們不同的是,本文將其應(yīng)用在一階模型中,同時(shí)結(jié)合了bi-LSTM和CNN來(lái)提取不同的特征,在基于概率的訓(xùn)練下,依存分析效果更好,在一些指標(biāo)上超過(guò)了這2篇文獻(xiàn),表4列出在相同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果對(duì)比情況。
圖9 不同訓(xùn)練方法的實(shí)驗(yàn)結(jié)果UAS值
表4 依存分析結(jié)果對(duì)比
實(shí)驗(yàn)3 為了橫向比較本文的依存分析模型性能,分析研究了目前已有的依存分析模型,通過(guò)實(shí)驗(yàn)結(jié)果對(duì)比依存分析準(zhǔn)確率。在最終的對(duì)比實(shí)驗(yà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)練過(guò)程中的迭代次數(shù),每個(gè)內(nèi)訓(xùn)練集訓(xùn)練完一次。下一個(gè)開(kāi)始前重新打亂訓(xùn)練集中樣本順序,防止模型在訓(xùn)練集上的過(guò)擬合??v坐標(biāo)表示每個(gè)結(jié)束時(shí),整個(gè)的平均訓(xùn)練損失大小。為了對(duì)比實(shí)驗(yàn)效果,圖10給出了該設(shè)置下LSTM和bi-LSTM的訓(xùn)練過(guò)程,僅從訓(xùn)練效果上看,bi-LSTM+CNN模型損失值降到了最小,表明同時(shí)應(yīng)用詞向量特征和全局向量特征,對(duì)依存分析提供了更大的幫助。
圖10 訓(xùn)練過(guò)程每個(gè)epoch的平均損失值
為了驗(yàn)證本文方法相對(duì)于基線系統(tǒng)的性能提升,采用了經(jīng)典的依存分析器進(jìn)行對(duì)比測(cè)試:基于圖的依存分析器MSTParser和基于轉(zhuǎn)移的依存分析器MaltParser,表8列出了詳細(xì)的測(cè)試結(jié)果。此外,本文還與部分準(zhǔn)確率較高的中文依存分析器進(jìn)行了詳細(xì)比較,分別包括:線性模型下基于轉(zhuǎn)移[24]和基于圖[25]的依存分析系統(tǒng);與本文類(lèi)似的,采用LSTM[8,9,11,20]或CNN[10,11]的依存分析系統(tǒng)。
表8 依存分析結(jié)果及對(duì)比
從表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ù)雜的特征,而本文僅為一階模型,所以值略低,但值更高。與同時(shí)使用CNN和LSTM文獻(xiàn)[11]相比,其采用CNN和LSTM分別提取字符向量特征和詞向量特征,準(zhǔn)確率高于本文模型,達(dá)到了目前最佳,而本文模型與其相比仍有一定差距,有待進(jìn)一步提高。
本文在前人工作的基礎(chǔ)上,將bi-LSTM和CNN結(jié)合使用,提出了一種基于bi-LSTM的依存句法分析模型,該模型能夠結(jié)合句子級(jí)別的全局向量特征,提升依存分析效果。與傳統(tǒng)線性模型相比,該模型采用深度神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)上下文特征和全局特征表示,不需人為選擇特征,避免了特征依賴(lài)問(wèn)題。與神經(jīng)網(wǎng)絡(luò)依存分析模型相比,本文將LSTM和CNN結(jié)合使用,建立了基于圖的一階模型,復(fù)雜度低于其他高階模型。采用了基于概率模型的訓(xùn)練方法,充分利用了所有可能的依存分析樹(shù)進(jìn)行訓(xùn)練,依存分析結(jié)果接近或高于單獨(dú)使用LSTM和CNN的模型。
下面是對(duì)目標(biāo)函數(shù)式(13)求偏導(dǎo)數(shù)的詳細(xì)過(guò)程。
式(20)難點(diǎn)在于()偏導(dǎo)數(shù)的計(jì)算,式(21)是()的偏導(dǎo)數(shù)具體求解過(guò)程。
式(13)中第一項(xiàng)偏導(dǎo)數(shù)的計(jì)算結(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)鍵問(wè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] 曾誰(shuí)飛, 張笑燕, 杜曉峰, 等. 基于神經(jīng)網(wǎng)絡(luò)的文本表示模型新方法[J]. 通信學(xué)報(bào), 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-),男,湖南衡陽(yáng)人,解放軍信息工程大學(xué)副教授、碩士生導(dǎo)師,主要研究方向?yàn)闄C(jī)器學(xué)習(xí)、自然語(yǔ)言處理和信息安全。
司念文(1992-),男,湖北襄陽(yáng)人,解放軍信息工程大學(xué)碩士生,主要研究方向?yàn)闄C(jī)器學(xué)習(xí)、自然語(yǔ)言處理。
宋玉龍(1995-),男,安徽阜陽(yáng)人,73671部隊(duì)助理工程師,主要研究方向?yàn)榫W(wǎng)絡(luò)與信息安全。
單義棟(1988-),男,山東乳山人,解放軍信息工程大學(xué)碩士生,主要研究方向?yàn)樽匀徽Z(yǔ)言處理。