黃子怡,李軍輝,貢正仙
(蘇州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
抽象語義表示(Abstract Meaning Represent-ation,AMR)是一種新興的語義解析表示形式,旨在抽象出句子中的語義特性,利用圖結(jié)構(gòu)呈現(xiàn)樹結(jié)構(gòu)無法表示的句子結(jié)構(gòu)信息。AMR標注將句子語義結(jié)構(gòu)表示為一個單根的有向無環(huán)圖,并為句子中的實體、事件、屬性和狀態(tài)引入變量,作為圖中的概念節(jié)點(Concept);兩節(jié)點之間的邊表示對應(yīng)的語義關(guān)系[1-2]。AMR解析已經(jīng)被廣泛應(yīng)用于機器翻譯、問答系統(tǒng)、文本摘要[3-5]等下游自然語言處理領(lǐng)域任務(wù)中。句法分析(Syntactic Parsing)是自然語言處理中的一個基礎(chǔ)任務(wù),同時也是許多自然語言處理和自然語言理解(NLU)任務(wù)的基礎(chǔ)。目前常見的句法分析可以分為成分(短語結(jié)構(gòu))句法分析(Constituency Parsing)和依存句法分析(Dependency Parsing),前者側(cè)重于探索句子中短語及短語之間的層次邏輯結(jié)構(gòu),后者側(cè)重于句子中各個單詞之間的依存關(guān)系。由于句子的句法結(jié)構(gòu)與AMR概念的修飾與被修飾關(guān)系是兼容的,并且句子中謂詞與論元的修辭關(guān)系與AMR圖中概念之間的語義關(guān)系對應(yīng)。那么AMR與句法分析任務(wù)能否為彼此提供幫助?本文將嘗試在各個場景下回答該問題,其中包括無外部標注資源、存在BERT和未標注資源等場景。
考慮到AMR解析的任務(wù)通常較句法分析更困難,目前的相關(guān)研究皆在于如何利用句法分析來提高AMR解析的性能。例如,Ge等人[6]探索了利用成分句法分析來輔助AMR解析。他們的實驗表明了句法可以為AMR解析任務(wù)提供幫助。但該方法依賴于句法分析的質(zhì)量,存在著錯誤傳播的潛在問題,即如果句法樹中存在錯誤,那么這些錯誤將負面影響AMR解析的性能。Xu等人[7]通過對成分句法分析、AMR解析和機器翻譯三個任務(wù)進行聯(lián)合學(xué)習(xí),來提高AMR解析的性能。此外,以上研究均基于單一場景探索句法分析在AMR解析中的應(yīng)用。
為了更好地探索AMR解析與句法分析任務(wù)之間的關(guān)系,本文提出了基于聯(lián)合學(xué)習(xí)的成分句法與AMR語義分析方法。具體地,本文使用序列到序列(Seq2Seq)模型同時對成分句法分析(以下簡稱為句法分析)和AMR解析任務(wù)進行建模,回避句法樹和AMR圖在結(jié)構(gòu)上的差異,簡化訓(xùn)練的難度,提高模型在任務(wù)間的遷移性。為了減少數(shù)據(jù)稀疏帶來的模型對數(shù)據(jù)的依賴問題,我們還利用訓(xùn)練好的句法和AMR解析器對大規(guī)模無標注數(shù)據(jù)進行解析,得到自動標注語料,并使用這些語料對模型進行預(yù)訓(xùn)練。此外,本文探索了預(yù)訓(xùn)練模型BERT在聯(lián)合學(xué)習(xí)任務(wù)中的應(yīng)用。實驗結(jié)果表明,對AMR與句法分析任務(wù)進行聯(lián)合學(xué)習(xí),可以同時提高兩個任務(wù)的性能。相比于單任務(wù)提升了8.73和6.36個F1值,并超越目前使用Seq2Seq模型的最好性能。目前使用Seq2Seq模型進行句法分析的最好性能為91.36[8]F1值,我們提出的方法F1值可以達到95.10。AMR解析使用相同的語料在Seq2Seq模型上最好性能是F1值可以達到80.20[7],使用同樣的語料我們的方法可以達到80.35的F1值。
為了方便進行論文復(fù)現(xiàn),我們將模型源碼發(fā)布在https://github.com/Victoriaheiheihei/syn-sem-multi_task_learning.git.
成分句法分析的方法主要包括以下幾種:基于轉(zhuǎn)移的方法(Transition-based)[9]、基于圖(Graph-based)[10]的方法和序列到序列的方法(Seq2Seq-based)[11]。
基于轉(zhuǎn)移的成分句法分析,將整個句法樹的構(gòu)建視為對序列解析動作(action)的預(yù)測。自左向右地對句子單詞進行掃描,每一步根據(jù)預(yù)測的動作或?qū)卧~逐個壓入棧中或生成一個新的句法結(jié)構(gòu)。Watanabe等人[12]首先利用神經(jīng)網(wǎng)絡(luò)來實現(xiàn)基于轉(zhuǎn)移的成分句法分析,他們通過RNN來生成動作序列。隨后,Dyer等人[13]利用Stack-LSTMs自頂向上預(yù)測解析動作來完成樹的構(gòu)建。另外一種常用的分析方法是基于圖的方法?;趫D的方法通過對句子中所有可能的句法成分進行打分,通過分值的高低來判斷該句法成分是否為句法樹中的一個節(jié)點。雖然基于圖的方法可以并行預(yù)測所有的句法成分,但是為了確保預(yù)測得到的結(jié)果滿足樹的性質(zhì)還需要使用復(fù)雜的CKY(Cocke-Kasami-Younger)算法進行結(jié)構(gòu)化解碼。Stern等人[10]最早提出可以對不同位置的BiLSTMs輸出進行相減,將輸出作為句法成分的表示,并在此基礎(chǔ)上對句法成分進行打分。在后續(xù)的工作中Kitaev等人[14]將其中的BiLSTMs表示替換為內(nèi)容和位置信息相分離的Transformer,Zhang等人[15]利用雙仿射注意力(Biaffine Attention)機制代替相減特征,并利用GPU批量化運算加速結(jié)構(gòu)化解碼操作。
近年來隨著深度學(xué)習(xí)的快速發(fā)展,特別是注意力機制和Transformer架構(gòu)的提出,讓序列到序列模型的性能得到不斷的提升。在此背景下,Vinyals等人[11]首先嘗試將句法解析任務(wù)建模為序列到序列任務(wù)并利用LSTM加注意力的模型進行訓(xùn)練。為了降低預(yù)測難度,在對句法樹進行序列化時,他們只保留括號、句法標簽以及詞性標簽,同時將句法標簽與其相對應(yīng)的括號進行合并。在后續(xù)的工作中[8,16],研究者引入Transformer模型結(jié)構(gòu),使得無結(jié)構(gòu)約束的成分句法分析性能接近于目前最好的基于轉(zhuǎn)移和基于圖等有結(jié)構(gòu)約束的句法分析模型。
目前針對AMR數(shù)據(jù)進行語義解析的方法大致可以分為以下幾類:基于轉(zhuǎn)移的方法(Transition-based Parsing)[17]、基于圖的方法(Graph-based Parsing)[18]和序列到序列的方法(Seq2Seq-based Parsing)[6]。
早期AMR解析借鑒依存句法分析任務(wù)的既得經(jīng)驗,使用處理句法樹的方法進行AMR解析,從緩沖區(qū)中讀取單詞并逐步將它們組合成堆棧中的語法結(jié)構(gòu)的一系列決策。Wang等人[19]設(shè)計了一系列具有語言直覺性的動作,借助句子依賴結(jié)構(gòu)與AMR之間映射的規(guī)律,將Text2AMR任務(wù)轉(zhuǎn)變?yōu)門ext2Dependency、Dependency2AMR兩個過程。Ballesteros等人[20]引入了Stack-LSTMs,使用棧從左至右處理句子并遞增地生成對應(yīng)的AMR圖,后來又有學(xué)者[21]提出用Stack-Transformer代替了上述模型中的Stack-LSTMs。在基于圖的方法中,JAMR[22]先預(yù)測AMR圖中的概念節(jié)點,然后利用最大生成樹的思想來獲取這些概念節(jié)點所構(gòu)成的最優(yōu)AMR圖。最新基于圖的方法均采用圖神經(jīng)網(wǎng)絡(luò),例如,Cai等人[23]利用兩個編碼器(序列編碼器、圖編碼器)在維持AMR的圖結(jié)構(gòu)基礎(chǔ)上進行概念識別和關(guān)系預(yù)測遞增地生成圖中的每個節(jié)點和關(guān)系。Zhang等人[24]先是利用序列到序列模型預(yù)測目標端概念序列,然后再基于這些概念序列構(gòu)建AMR圖。最后一種方法是基于序列到序列[6]的AMR解析,相較于上述方法,基于序列到序列的模型以端到端的方式構(gòu)建AMR圖,可以利用較少的特性讓模型學(xué)習(xí)到任務(wù)信息。Barzdins等人[25]首次利用序列到序列模型進行AMR解析任務(wù)。在預(yù)處理過程中,通過復(fù)制AMR中共用的概念節(jié)點、刪除wiki鏈接和變量,將原本復(fù)雜的AMR圖簡化為AMR樹,然后通過先序遍歷將AMR樹轉(zhuǎn)化為序列。然而,受到數(shù)據(jù)稀疏問題的影響,序列到序列模型的結(jié)果遠不及同一時期最好的模型。為了解決這一問題,Peng等人[26]提出一種對標簽的分類方法來克服目標端詞匯稀疏的問題,并且在模型中引入有監(jiān)督的注意力機制,進一步提升AMR解析的性能;van Noord等人[27]、Konstas等人[28]和Xu等人[7]則嘗試利用額外的大規(guī)模無標注數(shù)據(jù)。近年來隨著Transformer模型的提出和改進,Ge等人[6]和Xu等人[7]將Transformer模型應(yīng)用于AMR解析,同時通過子詞化將低頻詞切分為更小的粒度,以減少低頻詞對模型的影響。
聯(lián)合學(xué)習(xí)也稱為多任務(wù)學(xué)習(xí),旨在使用單個模型建模多種任務(wù),通過參數(shù)共享來捕獲任務(wù)之間存在的隱藏關(guān)聯(lián)信息,從而提高模型在這些任務(wù)上的性能。
句法任務(wù)與語義任務(wù)存在很強的互補性,近年來越來越多的工作開始關(guān)注于如何利用句法信息來提升語義解析的性能[6,29]。但這些工作往往需要引入復(fù)雜的模型結(jié)構(gòu)。相比之下,如果讓語義解析與句法分析任務(wù)聯(lián)合學(xué)習(xí),會使模型變得更加簡單,同時也理應(yīng)為模型帶來顯著的性能提升。然而正如Zhou等人[30]所指出目前關(guān)于句法和語義分析的聯(lián)合學(xué)習(xí)的研究很少,大部分只關(guān)注依賴結(jié)構(gòu),且在這些利用聯(lián)合學(xué)習(xí)進行語義和句法學(xué)習(xí)的研究[31]中,并沒有探討聯(lián)合學(xué)習(xí)是否同時對語義和句法任務(wù)的性能都有提升。Xu等人[7]借助于Seq2Seq模型的優(yōu)勢,即輸入和輸出之間無須建立一一對應(yīng)的關(guān)系,首次對句法分析、AMR解析和機器翻譯三個任務(wù)進行聯(lián)合學(xué)習(xí),實驗結(jié)果表明簡單地通過聯(lián)合學(xué)習(xí)可以借助句法信息來提升AMR解析的性能。本文是對Xu等人[7]工作的深化,探索多種場景下AMR與句法分析任務(wù)之間的關(guān)系。
本文使用目前綜合性能最佳的Seq2Seq模型Transformer[16]作為AMR解析和句法分析的基準模型。Transformer是第一個完全依賴self-attention機制來計算輸入和輸出表示而不使用序列對齊的RNN或CNN的模型,且對于RNN和CNN中比較明顯的短板,如無法實現(xiàn)并行計算、計算冗余而低效、進行順序計算時信息會丟失導(dǎo)致RNN缺乏長距離依賴等問題,在Transformer模型中都可以得到較好的解決。Transformer本質(zhì)上是一個由編碼器和解碼器組成的端到端結(jié)構(gòu),可以實現(xiàn)原始數(shù)據(jù)到目標任務(wù)結(jié)果的直接輸出。編碼器包含自注意力層(Self-Attention Layer)和全連接前饋神經(jīng)網(wǎng)絡(luò)(Position-wise Feed-Forward Networks, FFN),自注意力層和全連接前饋神經(jīng)網(wǎng)絡(luò)之間使用殘差連接(Residual Connection)及層級正則化(Layer Normalization)進行數(shù)據(jù)處理。解碼器包含自注意力層(Self-Attention Layer)、上下文注意力層(Context-Attention Layer)和全連接前饋神經(jīng)網(wǎng)絡(luò)(Position-wise Feed-Forward Networks, FFN)層。有關(guān)Attention機制及Transformer的更多細節(jié),可以參閱文獻[16]。
由于AMR圖中包含大量的用于指示共同引用節(jié)點的變量,這些變量本身并不影響AMR的語義,除此之外還包含用于補充專有名詞等特定名詞信息的wiki鏈接。本文使用Zhu等人[32]和Barzdins等人[25]實驗中基準系統(tǒng)所使用的預(yù)處理方法,將AMR圖中多余的變量、wiki鏈接、空格及標點等刪除,在不改變句子語義的情況下獲得線性化的AMR圖。圖1給出了源端句子、源端句子對應(yīng)的標準AMR圖以及經(jīng)過線性處理后的線性化AMR。
圖1 AMR預(yù)處理
對于句法樹的處理方法,本文參考文獻[11]實驗中的數(shù)據(jù)處理方法,將一棵句法樹自頂向下地采用先序遍歷的方式訪問,獲得該樹對應(yīng)的線性化表示,并且為了加強機器對于句法的學(xué)習(xí)能力,刪除了句子中的詞語,僅保留詞語對應(yīng)的詞性和句子的句法成分。在早期的實驗中我們發(fā)現(xiàn),如果句法分析中存在大量括號,會影響模型對句子信息的學(xué)習(xí),為了使模型更好地捕捉到句子的結(jié)構(gòu)信息,我們?yōu)槔ㄌ柼砑恿藰俗ⅲ瑢俗⒑蟮恼w作為一個符號輸入模型進行計算。圖2給出了源端句子、其對應(yīng)的線性化句法樹以及經(jīng)過后處理的線性化句法樹。
圖2 句法樹預(yù)處理
模型生成的AMR序列是一個不包含共用節(jié)點、wiki變量、包含冗余和重復(fù)信息的線性化AMR樹,需要通過一系列的后處理來恢復(fù)AMR圖。后處理包括恢復(fù)共用節(jié)點和wiki變量,修復(fù)模型生成的不完整的概念等。為方便起見,本文使用Van Noord等人[27]實驗中使用的AMR解析預(yù)處理和后處理腳本(1)https://github.com/RikVN/AMR。
類似地,模型生成的句法樹只包含句法標簽和詞性標簽。為了還原為句法樹,我們自定義后處理腳本,將模型生成的線性化句法樹還原為標準句法樹結(jié)構(gòu)。
AMR解析和句法分析都存在訓(xùn)練語料不足的問題。在有限的數(shù)據(jù)集下,低頻詞在訓(xùn)練中對模型性能的影響就會擴大。為了解決由于數(shù)據(jù)量不足帶來的數(shù)據(jù)稀疏問題,在基線實驗和不使用BERT預(yù)訓(xùn)練模型的實驗中,采用字節(jié)對編碼(Byte Pair Encoding,BPE),將低頻詞切分為粒度更小、出現(xiàn)頻率更高的子詞,使神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行更好的學(xué)習(xí),捕捉到深層的隱藏信息。而在涉及BERT的實驗中,根據(jù)使用的BERT模型不同,其tokenizer的實現(xiàn)可能有WordPiece和Byte Pair Encoding。作者應(yīng)當在此處詳細注明具體的tokenizer類型。
不同任務(wù)可以通過訓(xùn)練捕捉到不同的語言特征,將多種任務(wù)同時訓(xùn)練可以強化模型對語言中隱藏信息的捕獲能力。正如上文所述,以AMR為表達形式的語義解析和以句法樹為表達形式的成分句法解析的標簽在側(cè)重點上各有不同,如AMR擁有語義角色,而句法樹擁有AMR中沒有體現(xiàn)的介詞、助詞、時態(tài)等信息,此外它們對于相同詞性的詞的處理方式也不同,從句法樹中可以學(xué)習(xí)到句子中哪一個詞是名詞,而在AMR中可以學(xué)習(xí)到哪些詞是地點,而地點多以名詞的形式出現(xiàn),反過來又有助于句法分析。本文提出一種可行的基于聯(lián)合學(xué)習(xí)的句法分析和AMR解析方法。
目前多任務(wù)學(xué)習(xí)方法大致可以總結(jié)為兩類,一是不同任務(wù)之間共享相同的參數(shù)(Common Parameter),二是挖掘不同任務(wù)之間隱藏的共有數(shù)據(jù)特征(Latent Feature),前者被稱為Hard參數(shù)共享,后者被稱為Soft參數(shù)共享。為了在最大程度上發(fā)揮聯(lián)合學(xué)習(xí)的優(yōu)勢,我們選擇對這兩個不同的任務(wù)共享全部的模型參數(shù),即Hard參數(shù)共享模式。也就是說,在進行聯(lián)合訓(xùn)練時,AMR任務(wù)和句法任務(wù)都是使用相同的一個編碼器和相同的一個解碼器。在進行聯(lián)合學(xué)習(xí)時使用相同的編碼器是十分常見的[33-35],這樣可以使編碼器獲得更多不同任務(wù)的訓(xùn)練數(shù)據(jù),以提升其對輸入文本的編碼能力。但值得注意的是,我們同樣也在這兩個不同的任務(wù)中共享了模型的解碼器部分。在聯(lián)合學(xué)習(xí)中共享解碼器,首先是考慮到經(jīng)過數(shù)據(jù)預(yù)處理后的線性化AMR圖與句法樹有著很高的相似性,可以通過相同的解碼器進行解碼,因此共享解碼器不但可以減少模型中的參數(shù)數(shù)量,還能讓解碼器得到更加充分的訓(xùn)練;其次,我們希望通過共享解碼器的參數(shù)來讓兩個任務(wù)彼此間變得更加緊密,更能夠互相幫助。但是這樣的模型容易造成兩個任務(wù)的標簽混淆,模型無法學(xué)習(xí)到任務(wù)的私有特征。為了使兩個任務(wù)區(qū)分開,兩個任務(wù)的語料在目標端數(shù)據(jù)預(yù)處理上使用了不同的起始符。如圖3所示,在對AMR任務(wù)進行解碼時解碼器的起始標簽為“
算法 1 聯(lián)合學(xué)習(xí)算法輸入: AMR圖的訓(xùn)練集G,句法樹的訓(xùn)練集T,訓(xùn)練迭代步數(shù)N輸出: AMR和成分句法聯(lián)合模型參數(shù)Θ隨機初始化模型參數(shù): Θfor n in 1,2,3,…,N do //n為當前訓(xùn)練步數(shù) //訓(xùn)練AMR解析任務(wù) 從G中隨機抽取一批數(shù)據(jù): (sg,g) 預(yù)測: g'=Θ(sg) 計算目標函數(shù): Lg=L(g,g') 計算梯度: Δ(Θ,Lg) 更新模型: Θ=Θ-ΔΘ //訓(xùn)練句法分析任務(wù) 從T中隨機抽取一批數(shù)據(jù): (st,t) 預(yù)測: t'=Θ(st) 計算目標函數(shù): Lt=L(t,t') 計算梯度: Δ(Θ,Lt) 更新模型: Θ=Θ-ΔΘend
圖3 模型示意圖其中SNY指句法分析任務(wù)
預(yù)訓(xùn)練模型是在深度學(xué)習(xí)架構(gòu)上用大量數(shù)據(jù)在特定任務(wù)上進行訓(xùn)練的語言模型。本文以BERT為例,探索在使用強而有效的BERT預(yù)訓(xùn)練模型場景下,AMR解析和句法分析的聯(lián)合學(xué)習(xí)是否有效。Xu等人[7]分析并比較了四種BERT應(yīng)用于AMR解析的方法,包括用BERT替代Transformer中的編碼器、將BERT作為特征提取器、將BERT作為額外的編碼器以及用BERT代替Transformer中的詞嵌入。在前期實驗中發(fā)現(xiàn),使用BERT 代替詞嵌入的方法在AMR解析和句法分析任務(wù)上的效果最好,因此本文實驗中使用該方法,簡稱為 BERT embedding。同時,受Tenney等人[36]啟發(fā),本文將BERT的各層輸出加權(quán)求和后得到的上下文相關(guān)表示作為后續(xù)編碼器的輸入,該方法稱為ScalarMix,計算如式(1)所示。
(1)
其中H=[H1,H2,…,HK]是BERT最后K層的輸出,ω∈K是可學(xué)習(xí)的K維向量,γ∈用來確定最終輸出的方差。可學(xué)習(xí)標量則用來調(diào)整最終輸出向量的方差。
Xie等人[37]的工作表明: 當缺少標注數(shù)據(jù)時,半監(jiān)督學(xué)習(xí)可以有效地改善深度學(xué)習(xí)模型的性能。為了克服AMR解析和句法分析對標注數(shù)據(jù)集規(guī)模的依賴,本實驗中利用大規(guī)模未標注數(shù)據(jù),通過在小規(guī)模數(shù)據(jù)上已經(jīng)訓(xùn)練好的解析器,獲得大規(guī)模自動標注數(shù)據(jù),再利用該自動標注數(shù)據(jù)對模型進行預(yù)訓(xùn)練,以此解決AMR解析和句法分析數(shù)據(jù)不足的問題。通過這種方法可以得到AMR解析和句法分析的自動標注數(shù)據(jù)(EN,AMR,SyntaxTree)。我們先利用該自動標注數(shù)據(jù)對模型進行預(yù)訓(xùn)練,然后再利用人工標注數(shù)據(jù)對預(yù)訓(xùn)練模型進行微調(diào)(Fine-tuning)。
本實驗使用的AMR數(shù)據(jù)集是AMR 2.0 (LDC2017T10),其訓(xùn)練集、開發(fā)集和測試集分別包含 36 521個、1 368個和1 371個句子以及對應(yīng)的AMR圖;句法分析數(shù)據(jù)集是Penn Treebank,其訓(xùn)練集(WSJ02-21)、開發(fā)集(WSJ24)和測試集(WSJ23)分別包含39 611個、1 346個和2 416個句子以及對應(yīng)的句法樹。此外,為了獲取大規(guī)模自動標注AMR以及句法樹,本文對WMT14英德數(shù)據(jù)集中的390萬英文端句子使用基線AMR模型以及開源工具AllenNLP(2)https://github.com/allenai/allennlp分別進行解析得到自動標注AMR和句法樹。為了緩解數(shù)據(jù)稀疏問題,本文將自動標注語料以及標準語料進行子詞化處理,詞頻參數(shù)設(shè)置為2萬(3)https://github.com/rsennrich/subword-nmt.git。此外,由于BERT模型會自動對句子進行子詞化處理,因此在涉及BERT預(yù)訓(xùn)練模型的實驗中,為了與BERT模型的子詞化處理結(jié)果一致,我們使用transformers(4)https://github.com/huggingface/transformers工具包中的BertTokenizer對數(shù)據(jù)進行子詞化處理。實驗中所使用的BERT為bert-base-uncased (12 layers, 768 dimensions, 12 heads)。
本實驗所使用的代碼是以O(shè)penNMT-py為基礎(chǔ)的Transformer模型。實驗中Transformer編碼器和解碼器的層數(shù)皆設(shè)置為6層,將多頭注意力機制的頭數(shù)設(shè)置為8。詞嵌入向量和隱藏層的維度都設(shè)置為512,前饋神經(jīng)網(wǎng)絡(luò)層的維度為2 048。標簽平滑設(shè)為0.1。實驗中還使用了Adam優(yōu)化器對參數(shù)更新進行優(yōu)化,其中β1=0.9、β2=0.998、batch size=8 192。除此之外,實驗中的Warm up step、learning rate、dropout rate、label_smoothing分別設(shè)為16 000、2.0、0.1、0.1。在解碼過程中,beam size設(shè)置為4。
在訓(xùn)練的過程,單任務(wù)的模型訓(xùn)練20萬步,聯(lián)合學(xué)習(xí)模型訓(xùn)練30萬步。在進行模型選擇時,基線實驗以及僅使用外部語料進行預(yù)訓(xùn)練的實驗中都選用在開發(fā)集上性能最好的模型進行測試,在使用BERT的實驗中,選用最后的模型進行測試。在使用預(yù)訓(xùn)練模型聯(lián)合學(xué)習(xí)的實驗中,在微調(diào)的過程中僅使用單任務(wù)數(shù)據(jù)進行微調(diào)。
句法分析的評測使用標準的Evalb工具,AMR解析的評測使用Smatch[38]及其他細粒度的評判指標。
表1給出并比較了在不同場景下,聯(lián)合學(xué)習(xí)和非聯(lián)合學(xué)習(xí)的AMR解析和句法分析的性能。在此,將不使用外部資源并且非聯(lián)合學(xué)習(xí)的模型作基準模型。從中可以看出:
表1 基于AMR語義解析及成分句法分析聯(lián)合學(xué)習(xí)實驗性能
(1) 聯(lián)合學(xué)習(xí)能夠同時提高AMR解析和句法分析的性能。例如,在不使用外部資源的情況下,聯(lián)合學(xué)習(xí)分別提升了AMR解析3.50個SmatchF1值和句法分析2.18個F1值。
(2) 隨著外部語料的使用,AMR解析和句法分析的性能得到了大幅度的提升,造成聯(lián)合學(xué)習(xí)較非聯(lián)合學(xué)習(xí)的優(yōu)勢變小。例如,在同時使用大規(guī)模自動標注語料和BERT的場景,聯(lián)合學(xué)習(xí)分別提升了AMR解析0.30個SmatchF1值和句法分析0.14個F1值。
(3) 基準模型與相比,我們最好的模型在AMR解析和句法解析上分別提升了8.73和6.36個F1值。
以下分別針對AMR解析和句法分析,與相關(guān)工作進行比較。
4.4.1 與AMR 解析比較
表2列出并比較了近些年AMR解析相關(guān)工作的實驗結(jié)果,其中G′19和X′20使用大規(guī)模自動標注語料,Z′19、Q′20和C′20使用BERT預(yù)訓(xùn)練模型。與他們的工作相比,本文提出的方法Smatch性能明顯優(yōu)于G′19、Z′19和Q′20,與X′20和C′20相當。同時,在NER和SRL兩個方面取得的性能均優(yōu)于其他系統(tǒng)。
表2 AMR Parsing與前人工作比較
4.4.2 與Syntactic Parsing比較
表3列出并比較了近些年英文句法分析的實驗結(jié)果。其中“T”表示采用基于轉(zhuǎn)移的方法,“G”表示采用基于圖的方法,“S”表示采用序列標注的方法,無標注表示使用Seq2Seq的方法,“?”表示使用了BERT模型。從結(jié)果可以看出,本文模型性能要優(yōu)于同樣使用Seq2Seq的模型,并且在使用和不使用BERT的場景下,都能達到接近使用圖模型的性能。
表3 Syntactic parsing與前人工作比較
4.5.1 BERT ScalarMix對模型結(jié)果的影響
在3.2節(jié)中提到,本文實驗中將BERT各層參數(shù)加權(quán)求和后的結(jié)果作為BERT embedding的輸出,該方法被稱為ScalarMix,此處對該方法在兩個任務(wù)上進行了對比。本節(jié)中使用的BERT依舊為bert-base-uncased,在不使用ScalarMix的實驗中,BERT embedding選擇BERT第12層的輸出作為模型的詞嵌入。在模型的選擇上,我們依舊根據(jù)模型在開發(fā)集上的性能選擇最終的測試模型,實驗結(jié)果如表4所示。
表4 BERT ScalarMix對模型性能的影響
結(jié)果表明,使用ScalarMix在單任務(wù)訓(xùn)練的實驗中,AMR解析和句法分析分別提升了2.72和0.18個F1值;在聯(lián)合學(xué)習(xí)的實驗中,AMR解析和句法分析分別提升1.43和0.02個F1值。我們推測可能的原因是BERT的每一層對不同任務(wù)的信息捕獲能力各不相同,ScalarMix通過加入兩個習(xí)得參數(shù)w和γ,讓模型根據(jù)BERT每一層對任務(wù)信息的捕獲能力,學(xué)習(xí)BERT在每一層的利用程度。Tenney等人[36]發(fā)現(xiàn)在利用BERT詞表示來訓(xùn)練詞性、句法和語義等任務(wù)時,句法信息出現(xiàn)在BERT的較低層的表示中,而語義信息則貫穿整個神經(jīng)網(wǎng)絡(luò)。實驗證明,即便是在AMR解析任務(wù)中這一結(jié)論依舊成立,且由于神經(jīng)網(wǎng)絡(luò)對提高句法信息已經(jīng)擁有較好的捕獲能力,ScalarMix對句法任務(wù)的性能不如AMR解析任務(wù)明顯。
4.5.2 實例分析
AMR標注中除了包含語義角色之外,還擁有g(shù)eneral semantic role (如: manner、:age、:location)、in quantities (如: quant)、in date-entity (如day、:month)等標簽,在句法解析中的任意一個名詞可以在語義解析中獲得更充分的解釋。如圖4所示,對比單任務(wù)和聯(lián)合學(xué)習(xí)任務(wù)的解碼結(jié)果發(fā)現(xiàn),在單任務(wù)句法分析的實驗中,the selling panic in both stocks and futures并沒有被看作是一個名詞短語,而是被拆分成了兩個名詞短語。但是在聯(lián)合學(xué)習(xí)中,模型成功學(xué)習(xí)到了這個短語,將這幾個名詞解析成一個名詞短語,且在AMR中會對一個擁有詞根的詞做進一步的拆解,如investor,在AMR中就會被拆解為:
圖4 單任務(wù)和聯(lián)合學(xué)習(xí)在句法任務(wù)上的差異
(p / person
:ARG0-of (i / invest-01))
因此可以學(xué)習(xí)到相同詞根但不同詞性的詞之間存在的聯(lián)系,進一步幫助句法分析。
同樣地,AMR解析在聯(lián)合學(xué)習(xí)的過程中也可以借助句法信息更好地對語義以及短語之間的修飾關(guān)系進行學(xué)習(xí)。如圖5所示,在單任務(wù)AMR解析任務(wù)中,模型沒有學(xué)習(xí)到短語at the research center對at a news conference的修飾關(guān)系,然而在聯(lián)合學(xué)習(xí)的模型中,模型成功學(xué)習(xí)到兩個短語之間的從屬關(guān)系,且輸出的AMR圖與正確結(jié)果一致。
圖5 單任務(wù)和聯(lián)合學(xué)習(xí)在AMR解析上的差異
4.5.3 句法性能對于AMR解析的影響
在上述實驗中,我們使用AllenNLP作為自動標注句法樹的來源,AllenNLP的性能為94.11,但Mrini等人[43]的模型性能可以達到96.38,是目前性能最好的模型。為了進一步探究句法分析對AMR解析性能的影響,我們使用Mrini等人[43]開源的代碼和訓(xùn)練好的模型(5)https://github.com/KhalilMrini/LAL-Parser(LAL-parser)對WMT14數(shù)據(jù)進行解析,得到自動標注的句法樹,并用該句法樹重復(fù)表1中使用自動標注語料進行聯(lián)合學(xué)習(xí)(External)的實驗,實驗結(jié)果如表5所示。從表5可以看出,準確性更高的自動標注句法樹對AMR解析以及句法分析的性能都有一定的提升,但性能提升并不明顯。我們推測是因為AllenNLP已經(jīng)達到94.11的性能,其生成的自動標注句法樹足以讓模型學(xué)習(xí)到所需句法知識,因此更高準確性的句法對AMR提升并不大。
表5 句法分析性能對AMR解析的影響
本文基于Seq2Seq模型提出了一種聯(lián)合成分句法分析和AMR解析的學(xué)習(xí)方法。實驗結(jié)果表明,成分句法分析和AMR解析的聯(lián)合學(xué)習(xí)對兩個任務(wù)的性能都有一定程度的性能提升。為了克服數(shù)據(jù)稀疏的問題,本文使用了自動標注的大規(guī)模外部語料,進一步提升了實驗性能。除此之外,本文還以一種更有效的方法使用BERT預(yù)訓(xùn)練模型。在使用外部語料和BERT進行訓(xùn)練后,相比較于基線實驗結(jié)果可以使AMR解析和句法解析性能分別提升了8.73和6.36個F1值。實驗表明聯(lián)合句法分析和AMR解析任務(wù)是一種行之有效的方法,但隨著外部資源的加入,聯(lián)合學(xué)習(xí)較非聯(lián)合學(xué)習(xí)的優(yōu)勢逐漸減小。
在未來的工作中,我們計劃在解碼時加入對抗機制,讓模型能夠區(qū)分多任務(wù)之間的私有特征和共享特征,以避免兩個任務(wù)由于共同更新參數(shù)而丟失掉對自身任務(wù)有益的部分信息。此外,近期有學(xué)者借助自訓(xùn)練進行AMR解析并取得了不錯的效果,我們也在嘗試將自訓(xùn)練的訓(xùn)練策略加入到聯(lián)合學(xué)習(xí)的過程中。