范林雨,李軍輝,孔 芳
(蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
抽象語義表示AMR(Abstract Meaning Representation)[1]是一種新興的語義解析表示形式,旨在從句子文本中抽象出語義特性,并利用圖結(jié)構(gòu)呈現(xiàn)句子的結(jié)構(gòu)化語義信息。AMR將句子語義結(jié)構(gòu)表示為一個(gè)單根的有向無環(huán)圖。圖1所示示例是以德文作為目標(biāo)語言文本,首先解析為AMR序列,再將AMR序列轉(zhuǎn)化為AMR圖。圖1c中的節(jié)點(diǎn)表示文本中的概念,如“take-01”表示“獲取”這個(gè)概念,“01”表示take的第1種詞義;圖中的邊表示概念之間的語義關(guān)系,如“:ARG0”表示概念“both”為概念“take-01”的施事者。由于AMR是對(duì)文本進(jìn)行抽象語義表示,拋開了句子的語法結(jié)構(gòu)保存了文本的語義信息,因此它可以被應(yīng)用于許多語義相關(guān)的自然語言處理任務(wù)中,如文本摘要[2]、機(jī)器翻譯[3]等。
Figure 1 Example of cross-lingual AMR parsing圖1 跨語言AMR解析示例
近年來,AMR解析的相關(guān)研究多是圍繞英文開展。Konstas等人[4]首次將AMR解析看作是一個(gè)序列到序列的問題,引起了廣泛關(guān)注。隨后,基于Transformer序列到序列模型[5]的AMR解析成為AMR解析的主流方式。Ge等人[6]通過向序列到序列的AMR解析模型中引入句法和語義知識(shí),提高AMR解析性能。Xu等人[7]也將AMR語義解析作為序列到序列的任務(wù),并聯(lián)合機(jī)器翻譯任務(wù)、句法分析任務(wù)以及AMR解析任務(wù)進(jìn)行預(yù)訓(xùn)練,最后在AMR語料上進(jìn)行微調(diào),最終性能獲得了極大的提升。Yu 等人[8]探究在使用序列到序列模型時(shí)融入AMR圖的結(jié)構(gòu)化信息,針對(duì)解碼端已經(jīng)解碼的字符構(gòu)建AMR子圖,再根據(jù)當(dāng)前解碼端的輸入字符,在子圖中找到其祖先結(jié)點(diǎn),將這部分信息融入到解碼端,輔助解析下一個(gè)字符。Bevilacqua等人[9]以預(yù)訓(xùn)練模型BART(Bidirectional and Auto-Regressive Transformers)作為初始化模型。與Ge等人[6]和Xu等人[7]的工作不同的是,該文獻(xiàn)對(duì)AMR圖的線性化方式有所改變,使用自定義符號(hào)對(duì)AMR圖的概念進(jìn)行替換,解決了AMR圖線性化過程中共入概念信息不一致的問題。
受語料資源的限制,目前大部分AMR的相關(guān)研究都是面向英文的。受啟發(fā)于句子的語義表示是跨語言的,Damonte 等人[10]首次提出跨語言AMR解析任務(wù),其實(shí)驗(yàn)結(jié)果表明AMR語義表示可以在不同語言之間共享;還對(duì)AMR數(shù)據(jù)集LDC(Linguistic Data Consortium)2015E86[1]中的測試集進(jìn)行了翻譯,并公開了其他非英文(德文、西班牙文、意大利文和中文)的AMR解析測試集,即LDC2020T07[10]數(shù)據(jù)集。圖1是跨語言AMR解析的一個(gè)例子,可以看到,對(duì)于語義相同的英文和德文,它們的AMR是一致的。
在特定語言的AMR解析任務(wù)中,由于缺少人工標(biāo)注的AMR語料,相關(guān)研究多集中于跨語言AMR解析,即以AMR作為公共的語義表示,實(shí)現(xiàn)目標(biāo)語言的AMR解析。例如,Xu等人[11]利用大規(guī)模平行語料,提出多任務(wù)預(yù)訓(xùn)練的方法進(jìn)行跨語言AMR解析,以德文為例,在預(yù)訓(xùn)練過程中聯(lián)合英-德和德-英機(jī)器翻譯、英文AMR分析、德文AMR解析、AMR-英文文本生成和AMR-德文文本生成共6種任務(wù),并提出了多種微調(diào)方法,最終在德文AMR解析上獲得了70.45%的SmatchF1值。Cai等人[12]也借助已有的翻譯系統(tǒng),將目標(biāo)語言翻譯為英文,并聯(lián)合英文輸入進(jìn)行跨語言AMR解析。
以上相關(guān)研究假設(shè)存在英文與目標(biāo)語言的平行句對(duì),或存在高性能的英文與目標(biāo)語言翻譯系統(tǒng)。與這些相關(guān)工作不同的是,本文是探討在沒有平行句對(duì)或高性能翻譯系統(tǒng)的情況下的跨語言AMR解析。也就是說,假設(shè)僅存在英文和目標(biāo)語言單語文本,如何實(shí)現(xiàn)高性能的跨語言AMR解析。受啟發(fā)于無監(jiān)督機(jī)器翻譯任務(wù)[13]以及Xu等人[11]的相關(guān)工作,本文將AMR解析看作是序列到序列的生成任務(wù),并與無監(jiān)督機(jī)器翻譯任務(wù)一起進(jìn)行基于多任務(wù)學(xué)習(xí)的預(yù)訓(xùn)練。具體地,在數(shù)據(jù)方面,本文主要是圍繞單語英文語料進(jìn)行,同時(shí)借助單語目標(biāo)語言語料實(shí)現(xiàn)跨語言AMR解析任務(wù)。為了實(shí)現(xiàn)目標(biāo)語言到AMR的映射,需要構(gòu)建(英文,目標(biāo)語言,AMR)三元(偽)平行語料。首先,構(gòu)建平行語料(英文,AMR),本文采用AMR解析工具,對(duì)單語英文進(jìn)行解析,獲得(英文,AMR)的偽平行語料;然后,構(gòu)建目標(biāo)語言與平行語料(英文,AMR)英文端的映射,以英文作為橋梁,構(gòu)建(目標(biāo)語言,AMR)訓(xùn)練語料。由于不具備(英文,目標(biāo)語言)平行語料,本文主要是在預(yù)訓(xùn)練階段引入機(jī)器翻譯任務(wù),實(shí)現(xiàn)英文到目標(biāo)語言的翻譯。在任務(wù)方面,本文引入無監(jiān)督機(jī)器翻譯方法構(gòu)建英文到目標(biāo)語言的翻譯;為了更好地指導(dǎo)目標(biāo)語言AMR解析任務(wù),在預(yù)訓(xùn)練階段還引入英文AMR解析任務(wù);預(yù)訓(xùn)練的最后一個(gè)任務(wù)是目標(biāo)語言AMR解析任務(wù)。在預(yù)訓(xùn)練階段結(jié)束后,利用預(yù)訓(xùn)練后模型的翻譯能力對(duì)AMR 2.0金標(biāo)準(zhǔn)語料的源端英文進(jìn)行翻譯,獲得(目標(biāo)語言,AMR)銀標(biāo)準(zhǔn)語料,并基于該語料進(jìn)行微調(diào)。本文分別以德文、西班牙文和意大利文作為目標(biāo)語言,實(shí)現(xiàn)跨語言AMR解析?;贚DC2020T07[10]的實(shí)驗(yàn)結(jié)果表明,本文提出的方法是有效的,在德文、西班牙文、意大利文分別獲得了67.89%,68.04%和67.99%的SmatchF1值。
本文的主要工作包括:
(1)首次探索了在沒有目標(biāo)語言和英文平行語料或者高性能英文-目標(biāo)語言翻譯系統(tǒng)的情況下,如何實(shí)現(xiàn)高性能的跨語言AMR解析。
(2)提出了融合無監(jiān)督機(jī)器翻譯和AMR解析的多任務(wù)學(xué)習(xí)預(yù)訓(xùn)練方法。在預(yù)訓(xùn)練過程中,隨著翻譯性能的提升,跨語言解析的質(zhì)量也將逐步提升。
(3)基于LDC2020T07[10]進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,以德文、西班牙文和意大利文為目標(biāo)語言的跨語言AMR解析性能分別達(dá)到了67.89%,68.04%和67.99%的SmatchF1值。
自從Banarescu等人[1]提出了英文AMR的標(biāo)注準(zhǔn)則,并且公布AMR的標(biāo)注語料,就開啟了一系列針對(duì)AMR解析的研究。目前基于AMR解析的研究主要是基于以下幾種方式:首先是兩階段的AMR解析[14-17],該方法首先生成節(jié)點(diǎn),然后再構(gòu)建邊;其次是基于轉(zhuǎn)移的AMR解析[18-20],這種方法將源端詞匯與目標(biāo)端AMR圖的概念進(jìn)行對(duì)齊,隨后針對(duì)源端不同的詞匯采取不同的轉(zhuǎn)移行動(dòng)來構(gòu)建邊或插入節(jié)點(diǎn);然后是基于圖的AMR解析[21,22],提出該方法是為了更好地建模圖結(jié)構(gòu),基于圖的遍歷順序DFS(Depth First Search)或BFS(Breadth First Search)生成節(jié)點(diǎn);最后是基于序列到序列的方式進(jìn)行AMR解析[7,23,24],該方法首先對(duì)AMR圖進(jìn)行序列化,序列化的方法包括BFS和DFS,然后使用序列到序列模型進(jìn)行AMR解析。
上述這些方法中,序列到序列的方法使用廣泛且受到很多研究人員的青睞,因?yàn)樵摲椒▽?shí)現(xiàn)簡單且性能可觀。且隨著預(yù)訓(xùn)練模型在AMR解析任務(wù)中成功應(yīng)用,使用預(yù)訓(xùn)練模型進(jìn)行AMR解析也逐漸形成主流。如Bevilacqua等人[9]使用BART作為預(yù)訓(xùn)練模型,以序列到序列的方式進(jìn)行AMR解析,通過探索不同的線性化方法達(dá)到了當(dāng)時(shí)最好的性能;Bai等人[25]在BART預(yù)訓(xùn)練模型的基礎(chǔ)上,針對(duì)AMR的圖結(jié)構(gòu)提出了圖的預(yù)訓(xùn)練方法,并將預(yù)訓(xùn)練與微調(diào)的任務(wù)進(jìn)行統(tǒng)一,在AMR解析任務(wù)中取得了不錯(cuò)的性能提升。
上述所有相關(guān)的研究都是探究英文AMR解析任務(wù)。由于缺乏跨語言AMR的訓(xùn)練語料,針對(duì)目標(biāo)語言AMR解析任務(wù)的研究非常有限。實(shí)際上,能否將AMR應(yīng)用在不同語言仍然是個(gè)開放性的問題。
Vanderwende等人[26]首次進(jìn)行跨語言AMR解析任務(wù),首先將目標(biāo)語言文本解析為語義形式,然后將其作為錨點(diǎn)解析成AMR圖。Damonte 等人[10]試圖將目標(biāo)語言詞匯與AMR的概念進(jìn)行對(duì)齊,使用基于轉(zhuǎn)移的方法進(jìn)行跨語言AMR解析。Xu等人[11]提出了跨語言AMR解析的預(yù)訓(xùn)練模型,實(shí)現(xiàn)跨語言AMR解析以及AMR到文本的雙向預(yù)測。該模型主要在預(yù)訓(xùn)練階段引入機(jī)器翻譯任務(wù),聯(lián)合跨語言AMR解析任務(wù)在大量外部語料的使用下,實(shí)現(xiàn)模型對(duì)文本語義的理解。拋開外部語料的使用,Cai等人[12]提出了一種新的方法,將金標(biāo)準(zhǔn)AMR語料的英文端使用機(jī)器翻譯模型翻譯成目標(biāo)語言,隨后以英文和目標(biāo)語言為輸入,進(jìn)行跨語言AMR解析。
上述研究都是在具備(英文,目標(biāo)語言)或者(英文,AMR)平行語料的情況下進(jìn)行的。本文主要探索僅圍繞單語英文和單語目標(biāo)語言的情況下如何進(jìn)行跨語言AMR解析,并提出具體的實(shí)現(xiàn)方案。
跨語言AMR解析是以目標(biāo)語言文本作為輸入,輸出為目標(biāo)語言文本對(duì)應(yīng)英文翻譯的AMR圖。在這個(gè)任務(wù)中,AMR圖的節(jié)點(diǎn)依然依托于英文單詞、PropBank(Proposition Bank)集合以及AMR關(guān)鍵詞。
以德文為例,圖1給出了跨語言AMR解析的一個(gè)例子。通過圖1可以觀察到,跨語言AMR解析的輸入為德文文本,輸出為德文文本對(duì)應(yīng)的AMR序列,最后通過后處理,將AMR序列轉(zhuǎn)換為AMR圖。
本文使用Transformer[5]作為實(shí)驗(yàn)的模型架構(gòu)。Transformer使用了縮放的點(diǎn)乘自注意力機(jī)制。具體來說,該注意力機(jī)制包括查詢矩陣Q、關(guān)鍵信息矩陣K和值矩陣V。注意力矩陣的計(jì)算如式(1)和式(2)所示:
(1)
S=QKT
(2)
其中,Q,K,V∈RN×d,N表示句子長度,d表示模型維度;M是掩碼矩陣,用于屏蔽句子中無關(guān)字符的信息。
Transformer模型包含一個(gè)編碼器和一個(gè)解碼器。對(duì)于編碼器,它包含若干個(gè)堆疊的相同層,每一層都有多頭自注意力機(jī)制和全連接層。對(duì)于多頭自注意力機(jī)制的每一個(gè)頭,它的計(jì)算方法如式(1)和式(2)所示。對(duì)于解碼器,它也是由若干個(gè)堆疊的相同層構(gòu)成,每一層都由多頭自注意力機(jī)制、上下文注意力機(jī)制以及全連接層組成。它的2個(gè)注意力機(jī)制的計(jì)算方式也如式(1)和式(2)所示。不同于多頭自注意力機(jī)制,上下文注意力機(jī)制的K和V來自編碼端的輸出。
本文的語料僅包括單語英文、單語德文、單語西班牙文以及單語意大利文。在數(shù)據(jù)準(zhǔn)備階段,使用AMR解析器對(duì)單語英文進(jìn)行解析,構(gòu)建(英文,AMR)銀標(biāo)準(zhǔn)語料。對(duì)于AMR圖的序列化,本文借鑒Xu等人[7]在AMR解析中的預(yù)處理方式對(duì)AMR圖進(jìn)行預(yù)處理。首先,刪除圖中的指示變量,因?yàn)橹甘咀兞恐皇怯脕碇复鷪D中的相同節(jié)點(diǎn)而不具備任何語義信息,刪除后不會(huì)影響模型的訓(xùn)練。本文也去除圖中的wiki鏈接(:wiki),原因?yàn)槟P涂赡軙?huì)鏈接維基百科中不存在的對(duì)象。至于共入節(jié)點(diǎn),本文只是簡單地對(duì)概念進(jìn)行復(fù)制。最終,將AMR圖轉(zhuǎn)換為一棵樹,使用以前序遍歷的方式線性化樹,其效果可見圖1b。
在測試階段,需要將模型輸出的AMR序列進(jìn)行還原,才能使用評(píng)測工具對(duì)其進(jìn)行性能評(píng)估。具體做法是恢復(fù)在預(yù)處理階段去除的變量、wiki鏈接以及共入節(jié)點(diǎn)。本文使用Noord等人[24]提供的預(yù)處理和后處理工具進(jìn)行處理。
圖2以德文作為目標(biāo)語言展示了本文預(yù)訓(xùn)練過程的整體架構(gòu)。圖2a為無監(jiān)督機(jī)器翻譯的過程,包含2個(gè)子任務(wù),分別為去噪自編碼和反向翻譯。圖2a以英文輸入為例展示預(yù)訓(xùn)練過程,目標(biāo)語言輸入預(yù)訓(xùn)練過程與之相同。其中,虛線箭頭代表生成,虛線文本代表模型生成文本。圖2b是跨語言AMR解析過程,包含2個(gè)子任務(wù):英文AMR解析以及目標(biāo)語言AMR解析
Figure 2 Pre-training process of cross-lingual AMR parsing圖2 跨語言AMR解析的預(yù)訓(xùn)練過程
實(shí)驗(yàn)使用Transformer作為基礎(chǔ)模型架構(gòu)。為了在模型中引入翻譯功能并且考慮到實(shí)驗(yàn)現(xiàn)有的數(shù)據(jù),本文在模型中增加了無監(jiān)督機(jī)器翻譯。為了提高無監(jiān)督機(jī)器翻譯的性能,Lample等人[13]使用XLM預(yù)訓(xùn)練模型作為起始模型。簡單來說,本文是在XLM預(yù)訓(xùn)練模型的基礎(chǔ)上繼續(xù)進(jìn)行預(yù)訓(xùn)練。本文定義序列為S,其中英文序列、目標(biāo)語言序列以及AMR序列分別表示為SE、ST和SA。
對(duì)無監(jiān)督機(jī)器翻譯而言,預(yù)訓(xùn)練是關(guān)鍵因素[27,28]。Lample等人[29]的實(shí)驗(yàn)結(jié)果表明,使用預(yù)訓(xùn)練的跨語言詞向量去初始化模型的詞向量能夠使無監(jiān)督機(jī)器翻譯取得重大進(jìn)展。本文遵循Lample等人[13]的方法,使用XLM預(yù)訓(xùn)練模型作為啟動(dòng)模型。
無監(jiān)督機(jī)器翻譯任務(wù)主要分為2個(gè)任務(wù)。任務(wù)1是去噪自編碼。該任務(wù)是針對(duì)英文和目標(biāo)語言展開。先對(duì)輸入文本進(jìn)行加噪,加噪的方式為刪除、打亂和遮掩;然后將輸入的噪聲文本還原為真實(shí)文本。這一任務(wù)的目的是為了提高模型的魯棒性。任務(wù)2是反向翻譯任務(wù)。該任務(wù)針對(duì)單語輸入文本,首先利用模型翻譯為對(duì)應(yīng)的目標(biāo)語言文本構(gòu)建偽平行語料,然后進(jìn)行機(jī)器翻譯。具體到本文是目標(biāo)語言到英文以及英文到目標(biāo)語言的雙向翻譯任務(wù)。以目標(biāo)語言到英文翻譯為例,首先針對(duì)輸入SE,生成對(duì)應(yīng)目標(biāo)語言文本ST,構(gòu)成(ST,SE)的偽平行句對(duì),進(jìn)行機(jī)器翻譯訓(xùn)練。對(duì)于英文到目標(biāo)語言的翻譯,是以目標(biāo)語言作為輸入按上述相同的步驟進(jìn)行操作。
由于缺乏跨語言AMR的訓(xùn)練語料,本文將英文文本作為錨點(diǎn)??紤]到僅有單語英文和單語目標(biāo)語言,如何構(gòu)建目標(biāo)語言到AMR的映射是主要問題。首先給定單語英文序列SE,使用AMR解析器對(duì)其進(jìn)行解析,獲得(SE,SA)的偽平行句對(duì)。由于預(yù)訓(xùn)練中引入了無監(jiān)督機(jī)器翻譯,模型具備英文和目標(biāo)語言之間翻譯的能力,因此利用模型對(duì)平行句對(duì)(SE,SA)的源端SE進(jìn)行翻譯,得到目標(biāo)文本ST,構(gòu)建(SE,ST)的偽平行句對(duì),最終以錨點(diǎn)SE形成(SE,ST,SA)的三元平行句對(duì)。
Xu等人[11]在進(jìn)行跨語言AMR解析預(yù)訓(xùn)練時(shí),采用聯(lián)合多任務(wù)的方法試圖縮小英文和目標(biāo)語言之間的差距,并且為了更好地指導(dǎo)跨語言AMR解析,又增加了一項(xiàng)AMR解析任務(wù)。Xu等人[11]的實(shí)驗(yàn)結(jié)果表明,在預(yù)訓(xùn)練中加入AMR解析任務(wù)指導(dǎo)目標(biāo)語言到AMR序列的映射是可行的,因此本文也增加了AMR解析任務(wù)。具體來說,跨語言AMR解析主要包括2個(gè)任務(wù):
(1)英文AMR解析任務(wù)。該任務(wù)主要是針對(duì)平行句對(duì) (SE,SA)進(jìn)行,其主要目的是指導(dǎo)目標(biāo)任務(wù)跨語言AMR解析。
(2)目標(biāo)語言AMR解析任務(wù)。該任務(wù)為本文的目標(biāo)任務(wù),在平行句對(duì)(ST,SA)上進(jìn)行,該平行語料構(gòu)造過程如上所述。
值得注意的是,在預(yù)訓(xùn)練中跨語言AMR解析的語料始終圍繞單語英文SE進(jìn)行。平行句對(duì)(SE,SA)和(SE,ST)均是通過SE進(jìn)行翻譯獲得。
到目前為止,預(yù)訓(xùn)練階段一共包含4個(gè)任務(wù),分別是去噪自編碼、反向翻譯、英文AMR解析和目標(biāo)語言AMR解析。其中,去噪自編碼和反向翻譯任務(wù)根據(jù)輸入的語言類型又分別包含2個(gè)子任務(wù):英文的去噪自編碼、目標(biāo)語言的去噪自編碼;英文到目標(biāo)語言翻譯、目標(biāo)語言到英文翻譯。為了將上述任務(wù)融合到一個(gè)模型中,本文采用多任務(wù)學(xué)習(xí)訓(xùn)練的方式。
算法1為預(yù)訓(xùn)練階段的整體訓(xùn)練過程。算法1訓(xùn)練集中下標(biāo)N和M表示數(shù)據(jù)集的規(guī)模。算法1第3行首先采樣訓(xùn)練批數(shù)據(jù),第4~22行分別是本文預(yù)訓(xùn)練階段的4個(gè)任務(wù)。通過算法1可以看到,本文的多任務(wù)訓(xùn)練方式按多個(gè)任務(wù)順序執(zhí)行,對(duì)于每個(gè)任務(wù)加載對(duì)應(yīng)批數(shù)據(jù)進(jìn)行訓(xùn)練,更新完模型后再執(zhí)行下一個(gè)任務(wù)。
算法1 跨語言AMR解析預(yù)訓(xùn)練過程訓(xùn)練集:英文ARM Dpara∈{(SE1,SA1),(SE2,SA2),…,(SEN,SAN)},單語目標(biāo)語言Dmono∈{ST1,ST2,…,STM}1:forepoch=1,…,K do2: forstep=1,…,B do3: 采樣訓(xùn)練批數(shù)(XE,YA)∈Dpara,XT∈Dmono;4: #任務(wù)1:去噪自編碼5: #noisy(*)表示對(duì)輸入*進(jìn)行加噪6: L1=-log(XE|noisy(XE));7: 更新模型;8: L2=-log(XT|noisy(XT));9: 更新模型;10: #任務(wù)2:反向翻譯11: #translate1(*)表示將輸入翻譯為目標(biāo)語言12: L3=-log(XE|translate1(XE));13: 更新模型;14: #translate2(*)表示將輸入翻譯為英文15: L4=-log(XT|translate2(XT));16: 更新模型;17: #任務(wù)3:英文AMR解析18: L5=-log(YA|XE);19: 更新模型;20: #任務(wù)4:跨語言AMR解析21: L6=-log(YA|translate1(XE));22: 更新模型;23: end for24:end for
在獲得上述任務(wù)的預(yù)訓(xùn)練模型后,就要將其應(yīng)用在金標(biāo)準(zhǔn)語料上。在微調(diào)階段,本文使用AMR 2.0語料,即英文對(duì)應(yīng)的AMR官方語料。對(duì)于英文-AMR平行句對(duì)(SE,SA),使用前述預(yù)訓(xùn)練完畢的模型將源端英文文本SE翻譯為目標(biāo)語言ST,構(gòu)建(ST,SA)的訓(xùn)練文本,形成(SE,ST,SA)的三元訓(xùn)練文本。本文的目標(biāo)是跨語言AMR解析,因此在微調(diào)階段只進(jìn)行目標(biāo)語言AMR解析。需要說明的是,本文也嘗試用預(yù)訓(xùn)練階段數(shù)據(jù)在微調(diào)階段進(jìn)行聯(lián)合多任務(wù)微調(diào),但是效果并不明顯。
本節(jié)以德文DE(DEntsch)、西班牙文ES(ESpaol)、意大利文IT(ITaliano)作為目標(biāo)語言,通過實(shí)驗(yàn)驗(yàn)證本文跨語言AMR解析方法的有效性。
在預(yù)訓(xùn)練階段,對(duì)英文、德文、西班牙文以及意大利文使用WMT16的新聞?lì)I(lǐng)域的單語語料。對(duì)于單語英文而言,訓(xùn)練數(shù)據(jù)包含4.4×106個(gè)單語句子;對(duì)于單語德文、單語西班牙文以及單語意大利文,訓(xùn)練集的規(guī)模為5.0×106個(gè)單語句子。為了獲得英文到AMR的偽平行語料,需要使用AMR解析器對(duì)單語英文進(jìn)行解析。本文使用Bevilacqua等人[9]的AMR解析系統(tǒng),該系統(tǒng)在英文AMR解析任務(wù)上獲得了84.5%的SmatchF1值。
微調(diào)階段使用AMR 2.0數(shù)據(jù)集,其訓(xùn)練集包含36 521個(gè)平行句對(duì),開發(fā)集和測試集的規(guī)模分別為1 368和1 371。
本文使用在17種語言上(包括德文、西班牙文、意大利文)預(yù)訓(xùn)練的XLM模型作為基礎(chǔ)模型,實(shí)驗(yàn)使用的代碼為XLM的代碼。實(shí)驗(yàn)使用GELU(Gaussian Error Linear Unit)激活函數(shù),丟棄率(Dropout)設(shè)置為0.1。模型訓(xùn)練使用Adam優(yōu)化器對(duì)參數(shù)進(jìn)行更新,其中β1=0.9,β2=0.98。實(shí)驗(yàn)的預(yù)熱步數(shù)(Warm up)為4 000,學(xué)習(xí)率在 10-4~ 5×10-4,在解碼過程中使用束搜索(Beam search),束的大小設(shè)置為5。預(yù)訓(xùn)練階段,模型針對(duì)不同的任務(wù)設(shè)置不同的批次大小。對(duì)于無監(jiān)督機(jī)器翻譯部分,每個(gè)子任務(wù)的批次大小為2 048個(gè)形符(Token);對(duì)于跨語言AMR解析部分,每個(gè)子任務(wù)的批次大小為4 096個(gè)形符(Token);微調(diào)階段的批次大小為4 096個(gè)形符。實(shí)驗(yàn)在Tesla V100 GPU上進(jìn)行。對(duì)于預(yù)訓(xùn)練階段,訓(xùn)練分為9個(gè)階段(epoch),每個(gè)階段在單個(gè)任務(wù)上迭代了2 000次;對(duì)于微調(diào)階段,訓(xùn)練分為5個(gè)階段(epoch),每個(gè)階段迭代2 000次。
為了評(píng)測模型的性能,本文使用LDC2020T07[10]語料庫。該語料庫包含對(duì)AMR 2.0測試集人工翻譯的1 371個(gè)句子,翻譯的目標(biāo)語種包含德文、西班牙文以及意大利文。對(duì)于AMR解析性能,使用Smatch[30]以及其他細(xì)粒度的評(píng)判指標(biāo)[31]。
表1給出了本文的實(shí)驗(yàn)結(jié)果。其中Baselinenone表示以英文為樞軸語言的跨語言AMR解析性能,即使用AMR 2.0語料訓(xùn)練英文AMR分析器(SmatchF1值為72.58%);然后再將LDC2020T10[10]測試集中的德文、西班牙文以及意大利文使用本文的預(yù)訓(xùn)練模型分別翻譯成英文;再調(diào)用英文AMR分析器獲得相應(yīng)的AMR分析結(jié)果。Baselinepre-trained表示本文實(shí)現(xiàn)的無監(jiān)督預(yù)訓(xùn)練模型,該模型未進(jìn)行微調(diào)。Finetuned為將無監(jiān)督預(yù)訓(xùn)練后的模型在AMR 2.0語料上按3.5節(jié)的方法進(jìn)行微調(diào)的結(jié)果。從表1可以看出,本文提出的無監(jiān)督預(yù)訓(xùn)練方法,在性能上遠(yuǎn)遠(yuǎn)超過Baselinenone的,在德文、西班牙文以及意大利文上的SmatchF1值分別提高了15.24,13.57和14.62。在Baselinepre-trained的基礎(chǔ)上進(jìn)行微調(diào)又進(jìn)一步提升了跨語言AMR解析的性能,在德文、西班牙文以及意大利文上的SmatchF1值分別較Baselinepre-trained的提高了1.58,1.40和1.79。表1的實(shí)驗(yàn)結(jié)果表明,本文在預(yù)訓(xùn)練階段引入的無監(jiān)督機(jī)器翻譯任務(wù)能夠縮小語言之間AMR分析性能的差距。Finetuned和Baselinepre-trained的對(duì)比結(jié)果表明,盡管本文在預(yù)訓(xùn)練階段使用了質(zhì)量較好的銀標(biāo)準(zhǔn)數(shù)據(jù),且體現(xiàn)出的效果也很好,但還是和AMR金標(biāo)準(zhǔn)數(shù)據(jù)存在差異,使用金標(biāo)準(zhǔn)數(shù)據(jù)微調(diào)依然可以提升AMR解析性能。
Table 1 Performance of cross-lingual AMR Parsing 表1 跨語言AMR解析性能
表2給出了各種細(xì)粒度指標(biāo)的F1值。從表2可知,本文提出的無監(jiān)督預(yù)訓(xùn)練+微調(diào)方法在各個(gè)細(xì)粒度指標(biāo)上均遠(yuǎn)超Baselinenone的,并且在微調(diào)后各個(gè)細(xì)粒度指標(biāo)均有不同程度的提升。
本文實(shí)現(xiàn)跨語言AMR解析主要借助自無監(jiān)督機(jī)器翻譯任務(wù)。因?yàn)楸疚脑陬A(yù)訓(xùn)練以及微調(diào)階段進(jìn)行跨語言AMR任務(wù)的源端數(shù)據(jù)是通過模型的翻譯功能對(duì)AMR語料的源端英文進(jìn)行翻譯所得,所以本節(jié)探究在預(yù)訓(xùn)練的不同階段,翻譯性能對(duì)跨語言AMR解析性能的影響。
圖3以德文為例給出了預(yù)訓(xùn)練不同階段的德文AMR解析的SmatchF1值和英文到德文的BELU值,使用的測試集為AMR 2.0測試集中的英文和其對(duì)應(yīng)的德文翻譯,其中橫軸表示迭代次數(shù),縱軸分別表示SmatchF1值和BLEU值。從圖3可以看出,隨著迭代次數(shù)的增加,模型翻譯的性能得到了逐步提升,同時(shí)目標(biāo)語言到AMR解析的性能也得到了逐步提升。同時(shí),還觀察到,由于無監(jiān)督機(jī)器翻譯的翻譯性能有限,導(dǎo)致了跨語言AMR解析的源端數(shù)據(jù)質(zhì)量不高,因此如何在這種情況下繼續(xù)提升跨語言AMR解析的性能是將來研究的重點(diǎn),其次在未來還將探索在更多語種上進(jìn)行跨語言AMR解析。
Figure 3 Cross-lingual AMR Parsing performance versus unsupervised translation performance in pre-traing phase圖3 預(yù)訓(xùn)練階段跨語言AMR解析性能 與無監(jiān)督翻譯性能趨勢圖
本文在既無英文-目標(biāo)語言平行語料又無英文-AMR平行語料的情況下,探索如何完成跨語言AMR解析任務(wù)。以單語英文為錨點(diǎn)構(gòu)建英文-目標(biāo)語言-AMR三元語料,具體地,通過在預(yù)訓(xùn)練階段引入無監(jiān)督機(jī)器翻譯實(shí)現(xiàn)英文到目標(biāo)語言的翻譯;并且借助AMR解析器獲得(英文和AMR)的平行語料。以德文、西班牙文和意大利文為目標(biāo)語言,實(shí)驗(yàn)結(jié)果表明本文提出的方法能夠在跨語言AMR解析任務(wù)中取得很好的效果。但是,在實(shí)驗(yàn)中也發(fā)現(xiàn),預(yù)訓(xùn)練階段和微調(diào)階段使用的目標(biāo)語言-AMR銀標(biāo)準(zhǔn)訓(xùn)練語料的源端目標(biāo)語言和測試集的金標(biāo)準(zhǔn)語料的源端目標(biāo)語言存在著質(zhì)量上的差異。因此,接下來的工作中,將探索如何縮短這種差異,提高跨語言AMR解析的性能。
Table 2 Smatch F1 of fine-grained metrics for cross-lingual AMR parsing表2 跨語言AMR解析的細(xì)粒度指標(biāo)的Smatch F1值 %