謝德峰,吉建民
(中國科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230027)
(*通信作者電子郵箱jianmin@ustc.edu.cn)
伴隨著21 世紀(jì)第二個(gè)十年期間人工智能領(lǐng)域的發(fā)展與各種深度學(xué)習(xí)模型的提出,人工智能已經(jīng)成為當(dāng)今計(jì)算機(jī)學(xué)科中非常重要的一個(gè)子學(xué)科,成為了21 世紀(jì)最火熱的話題。與此同時(shí),機(jī)器人作為人工智能領(lǐng)域的一個(gè)子學(xué)科,綜合了計(jì)算機(jī)學(xué)科中多個(gè)研究方向,也成為了許多學(xué)術(shù)團(tuán)隊(duì)和科技公司正在大力研究的對象。隨著經(jīng)濟(jì)的發(fā)展,生活輔助型智能應(yīng)用越來越多,給人們帶來了非常大的便利,智能機(jī)器人也逐步進(jìn)入市場,為人們提供簡單的勞動(dòng)服務(wù)。人們希望能用自然語言直接與機(jī)器人或者應(yīng)用進(jìn)行溝通,從而讓機(jī)器人或者應(yīng)用更好地服務(wù)人們,為人們帶來便利。
文獻(xiàn)[1]中指出,自然語言理解是機(jī)器人或者應(yīng)用能夠提供智能服務(wù)的關(guān)鍵技術(shù)之一。語義解析(semantic parsing)的定義就是這樣一個(gè)任務(wù):將一個(gè)自然語言語句轉(zhuǎn)化成機(jī)器能夠理解或執(zhí)行的語言,比如邏輯表達(dá)形式或可執(zhí)行的程序,從而使計(jì)算機(jī)理解自然語言。語義解析作為自然語言理解的核心,在很多任務(wù)中都是關(guān)鍵步驟。語義解析是讓機(jī)器人理解自然語言的關(guān)鍵步驟。
隨著深度學(xué)習(xí)的發(fā)展,許多團(tuán)隊(duì)也試著利用深度學(xué)習(xí)模型來完成語義解析的任務(wù)。但由于現(xiàn)有語義解析數(shù)據(jù)集的規(guī)模較小,遠(yuǎn)遠(yuǎn)不能滿足深度學(xué)習(xí)所需要的數(shù)據(jù)量,且構(gòu)建和標(biāo)注新的數(shù)據(jù)集非常困難,因?yàn)闃?biāo)注形式不是簡單的類別而是一串邏輯符號(hào)組成的表達(dá)式,標(biāo)注人員需要專業(yè)知識(shí)背景,因此,數(shù)據(jù)集少且規(guī)模小成為了制約語義解析發(fā)展的一個(gè)問題。此外,語義解析還對模型輸出的精度要求高,輸出序列只要有其中一個(gè)字符解析錯(cuò)誤,那么一整串序列輸出都是不正確且不可用的。同時(shí),語義解析過程中還存在兩大難題:其中一個(gè)問題是長期依賴問題,即需要生成的某個(gè)元素依賴于另一個(gè)遙遠(yuǎn)的元素;另一個(gè)問題是結(jié)構(gòu)建模問題,即所要生成的序列需要符合邏輯表示的語法要求,該語法包含了豐富的結(jié)構(gòu)信息。如何在上述一系列制約因素以及精度要求之下進(jìn)一步提高語義解析模型準(zhǔn)確率及效率,成為亟須研究和解決的難題。
句法解析(syntactic parsing)是自然語言處理中一個(gè)重要的任務(wù),其目標(biāo)是分析句子的語法結(jié)構(gòu)并將其表示為容易理解的結(jié)構(gòu)(通常是樹形結(jié)構(gòu))。句法解析與語義解析是兩個(gè)完全不同的任務(wù),二者的實(shí)現(xiàn)方式也截然不同:句法解析的目標(biāo)是解析出句子中詞匯與詞匯之間的句法關(guān)系(包括結(jié)構(gòu)關(guān)系和依存關(guān)系);語義解析的目標(biāo)在于解析句子的內(nèi)在含義并將該含義抽象成邏輯表示。一般而言,句法解析模型生成圖形式的句法關(guān)系,而語義解析生成序列形式的邏輯語句。句法解析得到的句法關(guān)系可作為特征信息用于輔助語義解析任務(wù)。句法解析是所有工具性自然語言處理(Natural Language Processing,NLP)任務(wù)中較為高級(jí)、復(fù)雜的一種任務(wù)。文獻(xiàn)[2]闡述了句法解析可進(jìn)一步分為句法結(jié)構(gòu)解析(syntactic structure parsing)和依存關(guān)系解析(dependency parsing)兩種,其中:句法結(jié)構(gòu)解析是通過分析語句中詞與詞之間的相互聯(lián)系,相互作用的方式,得到的整個(gè)涵蓋整個(gè)句子全局的句法結(jié)構(gòu)樹;而依存關(guān)系解析則是根據(jù)語法依存理論,分析語言單位內(nèi)成分之間的依存關(guān)系從而揭示其句法依存結(jié)構(gòu)。
以往的基于深度學(xué)習(xí)的語義解析方法大多是以序列到序列(Seq2Seq)模型[3-4]為基礎(chǔ)。在這些研究中,大多沒有直接用到輸入源的自然語言句子的句法特性,而是將識(shí)別句法特性的任務(wù)統(tǒng)一地交給了端到端神經(jīng)網(wǎng)絡(luò)去自主處理,但神經(jīng)網(wǎng)絡(luò)很難能在沒有相關(guān)標(biāo)注信息的情況下自主識(shí)別出輸入句子的句法特性。利用自然語言本身的句法特征信息可以為模型增加可參考的輸入信息,有助于緩解語義解析中語言結(jié)構(gòu)建模和數(shù)據(jù)集規(guī)模小的瓶頸問題。為了進(jìn)一步提高語義解析模型的準(zhǔn)確率和效率,本文采用一種利用句法信息來增強(qiáng)模型效率的語義解析方法,即利用句法解析任務(wù)來輔助語義解析任務(wù)。該方法利用輸入句子的句法依存關(guān)系來增強(qiáng)端到端語義解析模型的效率?;舅悸肥窃谝延卸说蕉苏Z義解析模型的基礎(chǔ)上,先對一個(gè)端到端的依存關(guān)系解析器進(jìn)行預(yù)訓(xùn)練,將該依存關(guān)系解析器的中間表示作為句法感知表示,與原有的字詞嵌入(word embedding)表示拼接到一起,產(chǎn)生新的輸入嵌入表示,而后再將該新的輸入嵌入表示用于端到端語義解析模型,以此來提高語義解析模型的效率。
近幾年也有一些工作開始嘗試?yán)镁浞ㄐ畔碓鰪?qiáng)端到端語義解析,例如文獻(xiàn)[5-6]采用樹形長短期記憶(Tree Long Short-Term Memory,Tree-LSTM)單元來處理句法結(jié)構(gòu)信息,但本文提出的融入句法感知表示進(jìn)行句法增強(qiáng)的語義解析更加簡單且有效。文獻(xiàn)[7]采用了融入句法感知表示的思路,受其啟發(fā),本文工作將該思路應(yīng)用于語義解析領(lǐng)域。本文實(shí)驗(yàn)使用基于Transformer 的Seq2Seq 模型作為基準(zhǔn)模型,采用轉(zhuǎn)導(dǎo)融合學(xué)習(xí)方式進(jìn)行模型融合。實(shí)驗(yàn)同時(shí)對比了最近10 年的語義解析研究工作。最終實(shí)驗(yàn)結(jié)果表明,在ATIS、GEO、JOBS 數(shù)據(jù)集上,本文采用的句法增強(qiáng)語義解析方法不僅全面超過了基準(zhǔn)水平,還在大部分指標(biāo)上超越了其他相關(guān)工作。
最傳統(tǒng)的語義解析包括模板匹配、手寫語法規(guī)則進(jìn)行推導(dǎo)等方法。雖然有些工作已經(jīng)能達(dá)到非常高的準(zhǔn)確率,但是都需要進(jìn)行大量的前期工程,依賴于手工設(shè)計(jì)的規(guī)則,通用性較差。
統(tǒng)計(jì)語義解析方法主要是運(yùn)用了機(jī)器學(xué)習(xí)方法,依賴于有標(biāo)注的自然語言和邏輯表達(dá)式配對的數(shù)據(jù)集。文獻(xiàn)[8-10]中依賴了自然語言語句的依存關(guān)系解析結(jié)果,用lambda 算子或者組合范疇語法分析器來將語句的依存結(jié)構(gòu)轉(zhuǎn)化為邏輯形式;文獻(xiàn)[11]中沒有用到手工規(guī)則或者組合范疇語法,而是直接采用了較為暴力的方法,通過連接(Join),求交(Intersection)和聚合(Aggregate)三種操作,以及提出的橋接操作自底向上地對語法樹的節(jié)點(diǎn)進(jìn)行兩兩合并,從而在根節(jié)點(diǎn)得到邏輯形式;文獻(xiàn)[12]將物理特征分類器和基于概率范疇語法的語言模型兩者進(jìn)行聯(lián)合學(xué)習(xí),以此讓語言模型能夠構(gòu)造組合意義表示;文獻(xiàn)[13]中采用了組合類別語法歸納來處理語義解析任務(wù);文獻(xiàn)[14]通過構(gòu)建一個(gè)詞法語法分解詞典來建模詞類之間的詞法、語法和語義,以此提升組合范疇文法的效率。
隨著深度學(xué)習(xí)的發(fā)展,許多基于神經(jīng)網(wǎng)絡(luò)Seq2Seq 模型或其衍生模型大量涌現(xiàn)。深度學(xué)習(xí)的優(yōu)點(diǎn)在于其在不需要特征工程的情況下,取得了不亞于手工轉(zhuǎn)換方法的準(zhǔn)確率,但同時(shí)也帶來了難以解釋模型的缺點(diǎn)。文獻(xiàn)[15]中采用基于LSTM 單元[16-17]和基于注意力機(jī)制[4,18]的Seq2Seq 模型來解決語義解析問題;同時(shí)文獻(xiàn)[15]還提出了統(tǒng)一基于LSTM 和注意力機(jī)制的序列到樹(Seq2Tree)模型來解決語義解析中的結(jié)構(gòu)建模問題,提高語義解析效率。自此,許多研究團(tuán)隊(duì)都以文獻(xiàn)[15]為基礎(chǔ),在編碼器端或者解碼器端進(jìn)行模型上的改進(jìn)。文獻(xiàn)[19]在編碼器端融入了自然語言的句法信息,考慮了單詞順序、依存結(jié)構(gòu)特征和句法成分特征,構(gòu)建了一個(gè)圖-序列(Graph2Seq)模型。文獻(xiàn)[20]則在解碼器端生成了一個(gè)語義圖,構(gòu)建了一個(gè)序列-語義圖模型。文獻(xiàn)[21]雖然是以Seq2Seq 模型為基礎(chǔ),但是根據(jù)結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)的特點(diǎn),在解碼器端分成三個(gè)頻道并加入了一個(gè)門單元。三個(gè)頻道分別預(yù)測數(shù)據(jù)表中列名稱、表中單元格名稱以及SQL 語法關(guān)鍵字;而門單元?jiǎng)t是一個(gè)控制開關(guān),在每個(gè)時(shí)間節(jié)點(diǎn)預(yù)測應(yīng)該選擇哪個(gè)頻道的預(yù)測結(jié)果作為輸出。文獻(xiàn)[22]則用了兩層的編碼器+解碼器模型(encoderdecoder)來實(shí)現(xiàn)從粗略到精細(xì)的語義解析過程:第一層先生成草稿,第二層再生成其中的變量作為補(bǔ)充。TRANX[23]借鑒了抽象語法樹(Abstract Syntax Tree,AST)的思想,根據(jù)目標(biāo)語言的語法構(gòu)建規(guī)約文法,基于該文法可以將生成目標(biāo)表示為語法樹,然后實(shí)現(xiàn)自頂向下的語法樹生成系統(tǒng)。文獻(xiàn)[24]提出了一種自適應(yīng)的解碼方式來幫助解碼器自主學(xué)習(xí)要生成的邏輯形式結(jié)構(gòu)。
近年來隨著預(yù)訓(xùn)練語言模型的興起,很多領(lǐng)域都開始注意到了眾多預(yù)訓(xùn)練語言模型的基礎(chǔ)模型Transformer[25]。Transformer具有媲美LSTM的處理遠(yuǎn)距離依賴的能力,同時(shí)也具備與卷積神經(jīng)網(wǎng)絡(luò)相似的并行可行性,它在處理大規(guī)模數(shù)據(jù)集時(shí)比LSTM 要更具魯棒性,不容易過擬合。TreeGen[26]借助Transformer[25]作為解碼器(decoder),同時(shí)也采用基于Transformer 改造的可用于語義解析的AST 閱讀器來編碼抽象句法樹。
為了在語義解析模型中融入依存句法信息感知表示,首先需要預(yù)訓(xùn)練一個(gè)依存關(guān)系解析器。本文所使用的句法信息為依存關(guān)系信息,依存關(guān)系解析是根據(jù)語法依存理論,解析語言單位內(nèi)成分之間的依存關(guān)系從而揭示其句法依存結(jié)構(gòu),依存關(guān)系樹則描述了原句中詞與詞之間的依存關(guān)系。如圖1 所示為一個(gè)句子中的依存關(guān)系信息示例。
圖1 依存關(guān)系信息示例Fig.1 Example of dependency relation information
依存關(guān)系解析器的作用是根據(jù)輸入句子及其詞性標(biāo)注標(biāo)記出其依存關(guān)系,從而獲得該句子的依存關(guān)系解析結(jié)構(gòu)圖。依存關(guān)系解析器本質(zhì)上是一個(gè)序列到圖的生成器,該依存關(guān)系解析過程可如圖2 所示。其中,r1~r8為編碼器生成的中間表示。
圖2 依存關(guān)系解析的解析過程Fig.2 Process of dependency relation parsing
本文所采用的依存關(guān)系解析器源自于文獻(xiàn)[27],該解析器已被證明了相較于文獻(xiàn)[28]中所提出的模型更加簡單卻更高效,因此采用該依存關(guān)系解析器提取輸入句子中的依存關(guān)系信息。如圖3 所示,該依存關(guān)系解析器由雙向LSTM、四個(gè)全連接層和兩個(gè)特殊的計(jì)算參數(shù)矩陣所構(gòu)成??梢詫⒃撃P涂醋魇蔷幋a器(encoder)和decoder 兩個(gè)部分,嵌入層和LSTM層為encoder 部分,其余上層為decoder 部分。首先,模型的輸入是單詞和單詞各自的詞性標(biāo)注信息(part-of-speech),將輸入的句子的詞嵌入(word embedding)和詞性標(biāo)注信息嵌入(Part-Of-Speech embedding,POS embedding)拼接起來作為輸入,然后用多層雙向長短期記憶層(Bi-directional LSTM,BiLSTM)處理該輸入,得到中間表示R。如式(1)~(2):
圖3 依存關(guān)系解析器模型結(jié)構(gòu)Fig.3 Structure of dependency relation parser
其中:e(word-dependency)、e(pos)為依存關(guān)系解析器端的詞嵌入和標(biāo)注信息嵌入。
隨后,用4 個(gè)不同的全連接層分別處理中間表示R,得到4 個(gè)表示,如式(3)~(6)所示,其含義與文獻(xiàn)[27]中含義相同。這一步的操作的目的是在保證LSTM解析能力不損失的情況下對R進(jìn)行降維處理,達(dá)到防止過擬合的目的。
接著,將上一步得到邊以及邊上標(biāo)簽的表示進(jìn)行雙衍射處理[28],如式(7)~(8)所示。雙衍射公式計(jì)算過程如式(9)~(10)所示。
值得注意的是:當(dāng)雙衍射處理是為了處理是否有邊存在的,即結(jié)果為得到S(edge)時(shí),U的維度為(d×1×d),d表示的維度;當(dāng)雙衍射處理是為了處理是否有邊上標(biāo)簽信息,即結(jié)果為得到S(label)時(shí),U的維度為(d×c×d),其中c是所有邊可能標(biāo)簽的數(shù)量總和。最后得到的邊矩陣S(edge)中,s(edge)[i][j]表示節(jié)點(diǎn)i指向節(jié)點(diǎn)j的邊存在的概率,而邊標(biāo)簽矩陣S(label)中,s(label)[i][j]表示節(jié)點(diǎn)i指向節(jié)點(diǎn)j的邊(若存在)的所有可能標(biāo)簽的概率。該過程如式(11)~(12)所示:
與文獻(xiàn)[27]相同,本文通過計(jì)算預(yù)測分布與真實(shí)標(biāo)簽分布的損失,然后通過反向傳播梯度下降來訓(xùn)練模型。用softmax cross-entropy 來計(jì)算邊標(biāo)簽預(yù)測與邊真實(shí)標(biāo)簽之間的損失,用sigmoid cross-entropy 來衡量邊存在概率與邊存在真實(shí)標(biāo)簽之間的損失。然后引入超參數(shù)λ來平衡這兩個(gè)損失函數(shù)的權(quán)重。過程如式(13)~(15)所示:
在語義解析領(lǐng)域,以往的多數(shù)研究都是以LSTM 和注意力機(jī)制為基礎(chǔ)Seq2Seq 模型。近年來隨著預(yù)訓(xùn)練語言模型的興起,Transformer[25]憑借其處理遠(yuǎn)距離關(guān)系依賴的能力和與卷積神經(jīng)網(wǎng)絡(luò)相似的并行能力而受到廣泛關(guān)注。本文也采用Transformer作為基礎(chǔ)的語義解析模型。
Transformer 引入了自注意力機(jī)制和多頭自注意力結(jié)構(gòu)。和一般的Seq2Seq模型一樣,本質(zhì)上是一個(gè)encoder-decoder的結(jié)構(gòu)。encoder 和decoder 都由多個(gè)單獨(dú)的處理單元堆疊而成,單元與單元之間采用層歸一化和殘差鏈接。如式(16)所示:
Transformer 由多頭自注意力層(multi-head self-attention)和位置前饋網(wǎng)絡(luò)層(position-wise feed-forward networks)組成,其中多頭自注意力模塊有多個(gè)縮放點(diǎn)乘運(yùn)算構(gòu)(scaled dotproduct)。上述多頭自注意力層和位置前饋網(wǎng)絡(luò)層的計(jì)算過程如式(17)~(19)所示:
decoder 部分跟encoder 相比,多了個(gè)一層用于處理encoder 所輸出中間表示的多頭注意力層,并且在自身的自注意力層加入了掩碼機(jī)制。Transformer 還采用三角函數(shù)還表示位置編碼(position encode),以表明輸入節(jié)點(diǎn)的位置信息。
與文獻(xiàn)[7]中的思路相同,為了融入句法信息感知,需要先預(yù)訓(xùn)練2.1 節(jié)所示的依存關(guān)系解析器模型,讓依存關(guān)系解析器有了初步理解句子依存關(guān)系的能力。而后將預(yù)訓(xùn)練好的依存關(guān)系解析器模型的encoder 部分的輸出,也就是式(2)中所示的R,作為所要用來提供句法信息的句法感知表示(syntax-aware representation)。
如式(20)所示,該過程是將得到的句法感知表示R與語義解析模型encoder 端的詞嵌入拼接到一起,加上位置編碼(position encode),再將其作為Transformer-encoder 的輸入,其中e(transformer-word-embed)是encoder 端的詞嵌入,e(position-encode)是 位 置編碼。
decoder 部分保持與Transformer 的decoder 部分一致。如圖4 所示,左側(cè)模型為用來提取依存關(guān)系信息的依存關(guān)系解析器,右側(cè)模型為Transformer 模型??梢钥闯?,原本的Transformer只需要輸入詞嵌入+位置編碼,采用本文方法改進(jìn)后,Transformer 的輸入是詞嵌入與依存關(guān)系解析器的中間表示R拼接后的向量+位置編碼,這樣的改進(jìn)旨在讓帶有依存句法信息的中間表示R以嵌入(embedding)的形式,讓模型可以通過解析該中間表示R得到句法信息。
圖4 融入句法信息感知后的Transformer整體結(jié)構(gòu)Fig.4 Overall structure of Transformer after fusing syntax-aware representation
模型融合是提高機(jī)器學(xué)習(xí)任務(wù)準(zhǔn)確性的一種常見實(shí)踐。由于語義解析任務(wù)的數(shù)據(jù)集規(guī)模小,標(biāo)注成本昂貴,常規(guī)的集成方法僅能對語義解析任務(wù)帶來微不足道的改進(jìn)。為了探索更好的模型融合效果,本文將轉(zhuǎn)導(dǎo)融合學(xué)習(xí)用于語義解析任務(wù)。轉(zhuǎn)導(dǎo)融合學(xué)習(xí)是由文獻(xiàn)[29]提出的一種簡單有效的模型融合方式,它使用若干個(gè)單獨(dú)的模型將源測試集的輸入數(shù)據(jù)轉(zhuǎn)換到目標(biāo)語言空間,然后用單模型在轉(zhuǎn)換后的合成數(shù)據(jù)上進(jìn)行微調(diào)。相較于傳統(tǒng)模型融合方式,不需要多個(gè)子模型同時(shí)在線預(yù)測,對于像Seq2Seq 這種推理過程為貪婪搜索或束搜索(beam search)的模型,轉(zhuǎn)導(dǎo)融合學(xué)習(xí)算法過程簡單、高效,但缺點(diǎn)是在融合過程中需要用到待預(yù)測的不包含標(biāo)注的輸入信息。轉(zhuǎn)導(dǎo)融合學(xué)習(xí)可以看為是一種半監(jiān)督學(xué)習(xí)方式。
轉(zhuǎn)導(dǎo)融合學(xué)習(xí)使用若干子模型來對驗(yàn)證集或測試集的輸入進(jìn)行預(yù)測。式(21)~(23)表示驗(yàn)證集,測試集和已在訓(xùn)練集上訓(xùn)練得到的K個(gè)子模型。采用子模型對驗(yàn)證集和測試集的輸入部分進(jìn)行推理,得到基于子模型的合成數(shù)據(jù),如式(24)~(25)所示。選擇式(23)中的任意一個(gè)子模型,用合成數(shù)據(jù)集對其進(jìn)行微調(diào),在微調(diào)過程中,用驗(yàn)證集進(jìn)行驗(yàn)證或采用交叉驗(yàn)證選出合適參數(shù)的模型,最終得到融合好的模型。
實(shí)驗(yàn)使用ATIS、GEO、JOBS三個(gè)語義解析數(shù)據(jù)集,并采用了文獻(xiàn)[15]提供的預(yù)處理版本,這些數(shù)據(jù)集的輸入是自然語言描述,而輸出則是lambda 演算形式的代碼序列。在實(shí)驗(yàn)中遵循了這些數(shù)據(jù)集的標(biāo)準(zhǔn)train-dev-test劃分,數(shù)據(jù)集的統(tǒng)計(jì)信息在表1中列出。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息Tab.1 Statistics of datasets
3.2.1 評(píng)價(jià)指標(biāo)
對ATIS 和GEO 數(shù)據(jù)集采用完全匹配(Exact Match)和樹型匹配(Tree Match)這兩個(gè)基于準(zhǔn)確率的指標(biāo)來度量最終模型結(jié)果的好壞。Exact Match是只有當(dāng)模型預(yù)測序列的單詞及位置均與測試結(jié)給定的標(biāo)注完全一致時(shí),才認(rèn)為該例的預(yù)測結(jié)果是正確的。而Tree Match 則遵循文獻(xiàn)[16]中的度量標(biāo)準(zhǔn),文獻(xiàn)[16]認(rèn)為預(yù)測結(jié)果只需與標(biāo)注結(jié)果含義相同即可認(rèn)為是正確的預(yù)測結(jié)果,采用Tree Match 意味著當(dāng)預(yù)測結(jié)果序列的樹形結(jié)構(gòu)表示與標(biāo)注結(jié)果目標(biāo)邏輯形式的樹形結(jié)構(gòu)相同時(shí)即可認(rèn)為該例的預(yù)測結(jié)果是正確的。對于JOBS數(shù)據(jù)集,本實(shí)驗(yàn)只采用Exact Match進(jìn)行最終結(jié)果度量。
3.2.2 實(shí)驗(yàn)細(xì)節(jié)參數(shù)設(shè)置
實(shí)驗(yàn)采用Stanford corenlp-4.1.0[30]對數(shù)據(jù)集的輸入部分進(jìn)行分詞(tokenization)、詞性標(biāo)注(part-of-speech tagging)和依存關(guān)系解析,將各個(gè)數(shù)據(jù)集的訓(xùn)練集部分輸入部分的分詞結(jié)果和詞性標(biāo)注結(jié)果作為2.1 節(jié)中的依存關(guān)系解析器的輸入,將依存關(guān)系解析結(jié)果作為2.1 節(jié)中的依存關(guān)系解析器的標(biāo)注數(shù)據(jù),以此來預(yù)訓(xùn)練該依存關(guān)系解析器。
對于兩個(gè)模型,實(shí)驗(yàn)均采用AdamW 作為優(yōu)化器,AdamW的 參 數(shù)betas 為(0.9,0.999),eps 為1E-8,weight decay coefficient為1E-2,實(shí)驗(yàn)采用提前停止(early stop)來防止模型過擬合。對于GEO、JOBS,實(shí)驗(yàn)利用交叉驗(yàn)證來尋找合適的模型參數(shù),而對于ATIS 則是在其驗(yàn)證集上驗(yàn)證。實(shí)驗(yàn)所使用的依存關(guān)系解析器與基于Transformer語義解析模型的各項(xiàng)參數(shù)設(shè)置如表2~3 所示,表中DR 為丟棄率(Dropout Rate),DI 為維度(DImension)。
表2 依存關(guān)系解析器的參數(shù)設(shè)置Tab.2 Parameter setting of dependency relation parser
表3 語義解析器的參數(shù)設(shè)置Tab.3 Parameter setting of semantic parser
本文在不同數(shù)據(jù)集上做了四組實(shí)驗(yàn):
實(shí)驗(yàn)1 基于Transformer 的語義解析模型作為實(shí)驗(yàn)的基準(zhǔn)模型(baseline);
實(shí)驗(yàn)2 在實(shí)驗(yàn)1的基礎(chǔ)上加入了轉(zhuǎn)導(dǎo)融合學(xué)習(xí);
實(shí)驗(yàn)3 本文所提出的融入依存關(guān)系信息感知表示的語義解析模型;
實(shí)驗(yàn)4 在實(shí)驗(yàn)3的基礎(chǔ)上加入了轉(zhuǎn)導(dǎo)融合學(xué)習(xí)。
融入依存關(guān)系信息感知表示的語義解析模型為實(shí)驗(yàn)主要模型,同時(shí),采用了轉(zhuǎn)導(dǎo)融合學(xué)習(xí)來進(jìn)一步提高各自的效率,以此來對比兩個(gè)模型各自融合前和融合后的效果差異。在ATIS、GEO 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表4 所示。JOBS 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表5 所示。外延匹配是一種使用了外部知識(shí)庫來輔助計(jì)算準(zhǔn)確率的方式。
表4 ATIS、GEO數(shù)據(jù)集上的準(zhǔn)確率 單位:%Tab.4 Accuracy on ATIS and GEO datasets unit:%
表5 JOBS數(shù)據(jù)集上的準(zhǔn)確率 單位:%Tab.5 Accuracy on JOBS dataset unit:%
對比實(shí)驗(yàn)1 和基于LSTM 的Seq2Seq[15]工作,在三個(gè)數(shù)據(jù)集上,使用基于Transformer 的Seq2Seq 模型均可以達(dá)到比基于LSTM 的Seq2Seq 模型更好的效果,可以看出Transformer 確實(shí)對于遠(yuǎn)距離依賴的解析能力較強(qiáng)。對比實(shí)驗(yàn)2和實(shí)驗(yàn)1(或?qū)Ρ葘?shí)驗(yàn)4 和實(shí)驗(yàn)3)的實(shí)驗(yàn)結(jié)果,可以看出轉(zhuǎn)導(dǎo)融合學(xué)習(xí)對于ATIS、GEO、JOBS 這類規(guī)模較小但標(biāo)注復(fù)雜的語義解析數(shù)據(jù)集有較好的提升效果。對比實(shí)驗(yàn)3 和實(shí)驗(yàn)1 可以看出融入了依存句法信息感知表示的模型比不融入該信息的模型表現(xiàn)更好,說明該本文所提的融入句法信息感知方式是有效的。
對于ATIS 數(shù)據(jù)集,實(shí)驗(yàn)2、實(shí)驗(yàn)3 和實(shí)驗(yàn)4 在Exact match指標(biāo)上都超越了之前已有的基于神經(jīng)網(wǎng)絡(luò)的工作的最佳結(jié)果,而實(shí)驗(yàn)4在Tree match 指標(biāo)上達(dá)到了與之前最佳結(jié)果相同的水準(zhǔn)。對于GEO 數(shù)據(jù)集,實(shí)驗(yàn)4 在Tree match 指標(biāo)上超越了之前已有基于神經(jīng)網(wǎng)絡(luò)的工作的最佳結(jié)果,而在Exact match 指標(biāo)上表現(xiàn)不好,通過分析可看出,是由于模型的解析能力較強(qiáng),能較靈活地學(xué)到語義解析中的結(jié)構(gòu)建模信息,因而在Tree match 指標(biāo)上表現(xiàn)良好,但在Exact match 指標(biāo)上卻表現(xiàn)一般。對于JOBS,由于現(xiàn)有可對比工作較少,只在Exact match 指標(biāo)上進(jìn)行對比,實(shí)驗(yàn)4 超越了之前已有工作的最佳結(jié)果,而實(shí)驗(yàn)3也達(dá)到了接近于現(xiàn)有工作最佳水平的結(jié)果。
可以看到融入依存句法信息感知表示以及轉(zhuǎn)導(dǎo)融合學(xué)習(xí)對語義解析模型的有效性。實(shí)驗(yàn)結(jié)果表明本文提出的融入依存信息感知的句法信息增強(qiáng)模型即使在沒有使用轉(zhuǎn)導(dǎo)融合學(xué)習(xí)的情況下,也能達(dá)到與現(xiàn)有工作水平相近甚至在某個(gè)指標(biāo)上可以超越的結(jié)果,而加入轉(zhuǎn)導(dǎo)融合學(xué)習(xí)之后,可以在多個(gè)指標(biāo)數(shù)超過其他相關(guān)工作。這驗(yàn)證了引入句法依存關(guān)系信息的有效性。
本文提出了一個(gè)融入依存關(guān)系信息的端到端句法信息增強(qiáng)語義解析模型,并采用了轉(zhuǎn)導(dǎo)融合學(xué)習(xí)的方法來融合模型。在ATIS、GEO、JOBS數(shù)據(jù)集上,該句法增強(qiáng)語義解析方法不僅全面超過了基準(zhǔn)水平,還在大部分指標(biāo)上超越了其他相關(guān)工作。且即使在沒有經(jīng)過轉(zhuǎn)導(dǎo)融合學(xué)習(xí)的情況下,也能達(dá)到與現(xiàn)有相關(guān)工作水平相近甚至在某些指標(biāo)上超越相關(guān)工作的水平。接下來我們將會(huì)進(jìn)一步在語義解析這個(gè)方向上探究如何更好地融入句法信息,或?qū)ふ腋行У男路椒ā?/p>