汪凱 梁宇騰 張玉潔 徐金安 陳鈺楓
北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 北京 100044
隨著計(jì)算機(jī)的普及和網(wǎng)絡(luò)技術(shù)的發(fā)展,電子化的科技文獻(xiàn)、專利和網(wǎng)絡(luò)文本數(shù)據(jù)與日俱增,成為人們獲取信息的主要來源之一和情報(bào)加工的重要素材[2]。面向大規(guī)模電子化文本數(shù)據(jù)的信息收集及情報(bào)加工的自動(dòng)化處理方式也因此進(jìn)入情報(bào)研究的視野,出現(xiàn)多文檔摘要、事件抽取、熱點(diǎn)跟蹤與發(fā)現(xiàn),以及知識(shí)圖譜構(gòu)建等面向文本的大數(shù)據(jù)分析任務(wù)[3-5]。以自然語言描述的文本數(shù)據(jù)屬于非結(jié)構(gòu)化數(shù)據(jù),其處理方式與結(jié)構(gòu)化數(shù)據(jù)不同,需要對(duì)自然語言句子進(jìn)行語言分析,在語義理解的基礎(chǔ)上才能獲取正確的信息和有意義的情報(bào),語言分析作為語義理解的基礎(chǔ)技術(shù)顯得尤為重要。漢語文本數(shù)據(jù)的分析技術(shù)包括分詞、詞性標(biāo)注和依存句法分析,它們的性能直接關(guān)系到上述大數(shù)據(jù)分析任務(wù)的工程應(yīng)用效果。
分詞、詞性標(biāo)注和依存句法分析三個(gè)任務(wù)一直是漢語信息處理研究的核心課題[6-7],早期三個(gè)任務(wù)的串行處理方式是在分詞之后進(jìn)行詞性標(biāo)注,然后再進(jìn)行依存句法分析。之后研究人員提出聯(lián)合處理方式,以避免串行方式中的錯(cuò)誤傳播,同時(shí)加強(qiáng)三個(gè)任務(wù)之間中間結(jié)果的相互利用,在三個(gè)任務(wù)的性能上取得顯著提升[8]。目前存在兩種主流的聯(lián)合處理方法,一種是基于轉(zhuǎn)移框架的聯(lián)合模型,另一種是基于圖框架的聯(lián)合模型。早期的聯(lián)合模型主要采用基于轉(zhuǎn)移的框架[9],但是轉(zhuǎn)移模型預(yù)測(cè)時(shí)只能利用局部信息,導(dǎo)致長距離依存弧的分析精度難以提升[10-12];而基于圖框架的聯(lián)合模型具有全局信息的建模能力,可使長距離依存弧得到有效處理,成為主流框架。
基于圖框架的聯(lián)合模型在包括漢語在內(nèi)等多種語言上為依存句法分析帶來性能上的提升[13-15],其中包括詞性標(biāo)注與依存句法分析的聯(lián)合模型[16],表明聯(lián)合詞性標(biāo)注可以提升依存分析的精度;也包括漢語分詞和依存句法分析的聯(lián)合模型[1],在兩個(gè)任務(wù)上取得目前最好性能。在基于圖框架下如何聯(lián)合三個(gè)任務(wù),進(jìn)一步提升精度成為新的挑戰(zhàn)。為此,本文首次提出在圖框架下三個(gè)任務(wù)的聯(lián)合模型。
本文剩余部分的組織結(jié)構(gòu)如下:第一節(jié)介紹相關(guān)研究;第二節(jié)介紹基于圖的三個(gè)任務(wù)聯(lián)合模型的框架;第三節(jié)描述三個(gè)任務(wù)聯(lián)合模型中的核心技術(shù);第四節(jié)介紹實(shí)驗(yàn)部分;第五節(jié)為結(jié)語,對(duì)本文研究進(jìn)行總結(jié)。
漢語的分詞、詞性標(biāo)注和依存句法分析三個(gè)任務(wù)的聯(lián)合處理方式是緩解串行處理方式中錯(cuò)誤傳播問題的重要手段。早期,研究人員主要關(guān)注基于轉(zhuǎn)移框架的聯(lián)合模型,取得了諸多研究成果。轉(zhuǎn)移框架是為了依存句法分析提出的一種解析方式,具體包括一個(gè)緩存區(qū)(Buffer,用于存放輸入句的單詞序列)、一個(gè)棧(Stack,用于存放單詞間的依存關(guān)系)以及幾個(gè)動(dòng)作(用于緩存區(qū)與棧之間的數(shù)據(jù)操作),比如“移進(jìn)(進(jìn)棧)”,“左歸約”和“右歸約”等動(dòng)作,然后通過預(yù)測(cè)一個(gè)移進(jìn)規(guī)約轉(zhuǎn)移動(dòng)作序列構(gòu)建一棵依存句法樹,將依存分析問題建模為尋找最優(yōu)動(dòng)作序列的問題。由于每步?jīng)Q策只能利用棧頂和緩沖區(qū)內(nèi)部分單詞的信息,因此是一種局部信息建模的方式。Hatori 等[9]在2012 年首次提出基于轉(zhuǎn)移框架的三個(gè)任務(wù)聯(lián)合模型,以依存句法分析的轉(zhuǎn)移框架為基礎(chǔ),將分詞與詞性標(biāo)注兩個(gè)任務(wù)分別轉(zhuǎn)化為兩種特殊的字級(jí)別的依存句法分析任務(wù)。具體的,為分詞與詞性標(biāo)注兩個(gè)任務(wù)分別設(shè)計(jì)分詞動(dòng)作與預(yù)測(cè)詞性動(dòng)作并加入到原先依存句法分析的動(dòng)作集合中,在漢字執(zhí)行規(guī)約操作時(shí)進(jìn)行分詞和詞性的預(yù)測(cè),從而在漢字級(jí)別實(shí)現(xiàn)三個(gè)任務(wù)的統(tǒng)一與聯(lián)合。Zhang 等[10]在2014 年手工標(biāo)注了漢語單詞內(nèi)部漢字之間的依存關(guān)系類型,并且定義了單詞內(nèi)部的特征模板,通過結(jié)合詞內(nèi)和詞間的依存特征提升了依存句法分析的精度。隨著深度學(xué)習(xí)的發(fā)展,Kurita 等[11]在2017 年首次將神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用于三個(gè)任務(wù)的聯(lián)合模型,該模型結(jié)合了原有特征模板和基于深度學(xué)習(xí)的預(yù)訓(xùn)練字向量、詞向量,并采用前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)移動(dòng)作的預(yù)測(cè),在分詞和詞性標(biāo)注的精度上得到大幅提升。
隨著計(jì)算機(jī)計(jì)算能力的大幅提升,具有全局信息建模能力的圖框架受到研究人員的關(guān)注,隨之提出的一些模型在精度上也超過了基于轉(zhuǎn)移框架的模型。圖框架設(shè)置點(diǎn)和邊來分別表示單詞和單詞之間的依存關(guān)系構(gòu)建一個(gè)有向圖,將依存句法分析轉(zhuǎn)換成在有向圖中尋找得分最大生成樹的問題[17]。與轉(zhuǎn)移框架相比,圖框架能夠同時(shí)考慮所有單詞的信息,使得在長距離依存弧的預(yù)測(cè)上也具有優(yōu)勢(shì)。Yan 等[1]在2020年首次在基于圖的框架下將漢語分詞與依存句法分析進(jìn)行聯(lián)合,在兩個(gè)任務(wù)上的精度超過基于轉(zhuǎn)移框架模型的最好精度。
考慮先前研究中基于轉(zhuǎn)移框架的聯(lián)合模型的優(yōu)勢(shì)以及近年基于圖框架的依存句法分析的發(fā)展趨勢(shì),我們嘗試實(shí)現(xiàn)基于圖框架的三個(gè)任務(wù)的聯(lián)合方式,意圖利用圖框架全局信息的建模能力和三個(gè)任務(wù)的相互學(xué)習(xí)機(jī)制,提升三個(gè)任務(wù)的精度。本文一方面探索如何在基于圖的框架下進(jìn)行三個(gè)任務(wù)的轉(zhuǎn)換,另一方面探究詞性標(biāo)注任務(wù)引入對(duì)性能的影響及原因。
依存句法分析任務(wù)的輸入是一個(gè)帶有詞性標(biāo)注的單詞序列,輸出為依存句法樹,通過樹結(jié)構(gòu)刻畫句子內(nèi)部單詞之間的組合或修飾關(guān)系。形式化地輸入句子可以表示為:x=$0w1,…,wn, 對(duì)應(yīng)的詞性序列為p0p1,…,pn,其中wi表示輸入句子的第i個(gè)詞,pi為wi的詞性,$0為人工設(shè)置的偽詞,作為依存句法樹的根節(jié)點(diǎn),用于指明句子中的核心動(dòng)詞。一棵符合依存文法的句法樹由多條依存弧構(gòu)成,可以表示為:t={(h,m,l);0≤h≤n,0<m≤n,l∈L}, 其 中(h,m,l)表示從核心節(jié)點(diǎn)(Head)wh到依存節(jié)點(diǎn)(Dependent)wm的一條依存弧,標(biāo)簽l表示依存弧上的關(guān)系類型,L是所有依存關(guān)系類型的集合,同時(shí)我們采用wm wh進(jìn)行標(biāo)記。
圖1 表示輸入句子“法國1 反對(duì)2 修改3 聯(lián)合國4 憲章5”的依存樹?!胺磳?duì)”是句子中的核心動(dòng)詞,從詞“反對(duì)2”到“法國1”的依存弧表示“反對(duì)2”是核心節(jié)點(diǎn),“法國1”是依存節(jié)點(diǎn),它們之間的依存關(guān)系類型為“nsubj”,表示名詞作為動(dòng)詞的主語(noun as subject),可以標(biāo)記為“法國1nsubj反對(duì)2”。
圖1 依存樹示例
由于漢語分詞是漢字級(jí)別的任務(wù),而詞性標(biāo)注和依存句法分析卻是單詞級(jí)別的任務(wù),為了將分詞、詞性標(biāo)注和依存句法進(jìn)行聯(lián)合,首先需要將三個(gè)任務(wù)轉(zhuǎn)換成統(tǒng)一的處理方式。本文的解決方式是將單詞級(jí)別的詞性標(biāo)注和依存句法分析都轉(zhuǎn)換成漢字級(jí)別的任務(wù),為此本文首先設(shè)計(jì)相應(yīng)的標(biāo)簽轉(zhuǎn)換方式,將分詞標(biāo)簽和詞性標(biāo)簽與依存句法標(biāo)簽進(jìn)行融合,形成三個(gè)任務(wù)的字級(jí)別標(biāo)簽,借此可以將三個(gè)任務(wù)都統(tǒng)一成漢字級(jí)別的依存句法分析任務(wù)。其次,在基于圖框架的依存句法分析中,只需將圖中的節(jié)點(diǎn)由單詞替換成漢字,并借助現(xiàn)有圖框架的分析方法可以在漢字級(jí)別實(shí)現(xiàn)實(shí)現(xiàn)三個(gè)任務(wù)的聯(lián)合。
聯(lián)合模型的整體框架如圖2 所示,輸入是漢字序列,輸出是分詞、詞性標(biāo)注、依存句法分析三個(gè)任務(wù)的分析結(jié)果。聯(lián)合模型主要包含三大部分,分別是漢字表示方法、評(píng)分函數(shù)以及解碼部分。字表示方法負(fù)責(zé)將漢字序列轉(zhuǎn)換成一組包含上下文信息的語義向量;評(píng)分函數(shù)部分負(fù)責(zé)對(duì)依存弧、依存關(guān)系類型進(jìn)行評(píng)分;最后的解碼算法負(fù)責(zé)將模型輸出的字級(jí)別標(biāo)簽解碼成三個(gè)任務(wù)的結(jié)果。下面將對(duì)聯(lián)合模型所涉及的核心技術(shù)進(jìn)行詳細(xì)描述。
圖2 基于圖框架的三個(gè)任務(wù)聯(lián)合模型
為了實(shí)現(xiàn)三個(gè)任務(wù)的聯(lián)合,我們首先需要將分詞和詞性標(biāo)注轉(zhuǎn)換為依存句法分析任務(wù)。我們可以將分詞任務(wù)看作詞內(nèi)字之間的依存句法分析。首先將每個(gè)單詞轉(zhuǎn)換成一個(gè)特殊的子樹,單詞中的字以其右鄰的字作為核心節(jié)點(diǎn),設(shè)置新的依存關(guān)系類型“app”作為詞內(nèi)字之間的依存關(guān)系類型。接著需要將詞級(jí)別的依存句法分析轉(zhuǎn)換為字級(jí)別的依存句法分析,我們可以將單詞之間的依存弧轉(zhuǎn)化為兩個(gè)單詞中最后一個(gè)字之間的依存弧,即單詞最后一個(gè)字的核心節(jié)點(diǎn)為該單詞核心節(jié)點(diǎn)詞的最后一個(gè)字,依存關(guān)系類型為原來單詞之間的依存關(guān)系類型。以圖1 中的例子說明,其中單詞“聯(lián)合國”中的“聯(lián)”與“合”以其右鄰字“合”與“國”為其核心節(jié)點(diǎn),并獲得依存關(guān)系類型“app”[1],可表示為“聯(lián)app合app國”;而單詞之間的依存弧“聯(lián)合國nn憲章”轉(zhuǎn)換為兩個(gè)詞最后的字“國”與“章”之間的依存弧,可表示為“國nn章”。圖1 中的例子原先是詞級(jí)別,經(jīng)過轉(zhuǎn)換后得到字級(jí)別結(jié)果如圖3 所示,如此實(shí)現(xiàn)分詞和依存句法分析兩項(xiàng)任務(wù)的聯(lián)合。
圖3 聯(lián)合分詞和依存句法分析的字級(jí)別依存樹
為了將詞性標(biāo)注任務(wù)與分詞和依存句法分析一起融合到圖框架中,本文設(shè)計(jì)一種基于字的詞性標(biāo)注方式。首先,我們可以將詞性標(biāo)注轉(zhuǎn)換為對(duì)于字的詞性標(biāo)注。我們認(rèn)為構(gòu)成詞的每個(gè)字具有與該詞相同的詞性,如此對(duì)于詞性為pi的單詞wi,可以將構(gòu)成wi的所有字的詞性設(shè)置成pi。為了與分詞和依存句法分析任務(wù)聯(lián)合,我們將每個(gè)字的詞性拼接到與其核心節(jié)點(diǎn)之間的關(guān)系類型上。例如,“聯(lián)合國”的詞性為“NR”(Proper Nouns),構(gòu)成該詞的三個(gè)字的詞性標(biāo)簽都設(shè)置為“NR”,前兩個(gè)字的詞性標(biāo)簽“NR”與“聯(lián)app合app國”中的關(guān)系類型“app”進(jìn)行拼接,得到“聯(lián)app-NR合app-NR國”,最后一個(gè)字的“NR”與“國nn章”中的關(guān)系類型“nn”進(jìn)行拼接,得到“國nn-NR章”。圖2 中的例子經(jīng)過轉(zhuǎn)換后的結(jié)果如圖4 所示,如此將詞性標(biāo)注任務(wù)引入到分詞和依存句法分析的聯(lián)合模型中,從而實(shí)現(xiàn)三項(xiàng)任務(wù)的聯(lián)合。如此我們可以在現(xiàn)有基于圖的依存分析框架下實(shí)現(xiàn)三個(gè)任務(wù)的聯(lián)合。
圖4 轉(zhuǎn)換后能融合三個(gè)任務(wù)的字級(jí)別依存樹
經(jīng)過3.1 節(jié)介紹的方法,已將三個(gè)任務(wù)的標(biāo)簽都標(biāo)注在字級(jí)別依存樹上,如此只需要針對(duì)漢字序列,讓模型預(yù)測(cè)出漢字級(jí)別依存樹,即可通過還原的方式恢復(fù)出三個(gè)任務(wù)的分析結(jié)果。對(duì)于輸入句x=$0c1c2, ..., cm,,其中ci表示第i個(gè)字。字的表示方法將離散的字序列映射為語義空間中上下文相關(guān)的一組向量。本文設(shè)計(jì)兩種融合上下文信息的表示方法,一種是基于雙向LSTM[18](BiLSTM)的表示方法,另一種是基于BERT(Bidrectional Encoder Representations from Transformers)[19]的表示方法。
當(dāng)表示方法采用BiLSTM 時(shí),首先使用傳統(tǒng)的ngram 對(duì)短距離的上下文信息進(jìn)行建模,具體是使用單字(unigram)、雙字(bigram)和 三 字(trigram)[1]特 征。 每 個(gè) 字 表 示 為ei=eci⊕ecici+1⊕ecici+1ci+2, 其中⊕為向量拼接操作符,eci、ecici+1和ecici+1ci+2為單字ci、雙字cici+1和三字cici+1ci+2的嵌入表示。本文使用三層BiLSTM 對(duì)長距離上下文信息的建模。融合上下文信息后第i個(gè)字ci的表示用LSTM 最后一層輸出hi表示,如公式(1)所示。
其中θbert為BERT 模型的參數(shù)。
上面我們已經(jīng)將三個(gè)任務(wù)的聯(lián)合轉(zhuǎn)換為字級(jí)別的依存句法分析任務(wù),所以圖模型上的節(jié)點(diǎn)與句子中每個(gè)字相對(duì)應(yīng),節(jié)點(diǎn)之間的弧與字級(jí)別依存弧相對(duì)應(yīng)。本文采用基于雙仿射注意力[20]的依存弧評(píng)分函數(shù)。由于每個(gè)字既可以作為依存節(jié)點(diǎn)又可作為核心節(jié)點(diǎn),我們用兩個(gè)多層感知機(jī)MLPsarc-head與MLPsarc-dep分別學(xué)習(xí)ci節(jié)點(diǎn)作為核心節(jié)點(diǎn)和依存節(jié)點(diǎn)的特征表示,一個(gè)學(xué)習(xí)ci作為核心節(jié)點(diǎn)的表示(arc-head),另一個(gè)學(xué)習(xí)ci作為依存節(jié)點(diǎn)的表示(arc-dep),分別如公式(3)和公式(4)所示。
本文設(shè)計(jì)的解碼算法主要分為兩個(gè)步驟:第一步是預(yù)測(cè)字級(jí)別依存樹和字級(jí)別依存關(guān)系類型;第二步將字級(jí)別依存樹和字級(jí)別依存關(guān)系類型轉(zhuǎn)換成詞級(jí)別的預(yù)測(cè)結(jié)果。
第一步預(yù)測(cè)方法如下:采用Eisner 算法[17]從所有符合依存文法的依存樹中找到得分最高的字級(jí)別依存樹,即得到字級(jí)別依存樹中的所有依存??;然后使用貪婪解碼[20]來獲得依存弧上的字級(jí)別關(guān)系類型。
第二步轉(zhuǎn)換步驟如下。
(1)分詞預(yù)測(cè):利用第一步得到的字級(jí)別依存關(guān)系類型進(jìn)行分詞預(yù)測(cè)。若當(dāng)前字與其核心節(jié)點(diǎn)之間的字級(jí)別依存關(guān)系類型為“app”開頭,則表示這兩個(gè)字屬于同一個(gè)詞;若非“app”開頭,則表示當(dāng)前字屬于詞的最后一個(gè)字,處于詞的邊界。如圖5 所示,字c1和c2與其核心節(jié)點(diǎn)的依存關(guān)系類型分別是“app-NR”和“app-NN”,都是以“app”開頭,字c3與其核心節(jié)點(diǎn)c5的字級(jí)別依存關(guān)系類型為“nsubj-NR”,不再以“app”開頭,則說明c3是詞的最后一個(gè)字,前三個(gè)字c1c2c3構(gòu)成一個(gè)詞。
(2)詞級(jí)別詞性預(yù)測(cè):針對(duì)步驟(1)得到的分詞結(jié)果,根據(jù)詞內(nèi)的字級(jí)別依存關(guān)系類型拆分出字級(jí)別詞性,然后使用投票機(jī)制得出預(yù)測(cè)詞的詞性,若出現(xiàn)的最多次數(shù)相同,則隨機(jī)選擇一個(gè)。例如圖4 中c1c2c3構(gòu)成一個(gè)詞,三個(gè)字與其核心節(jié)點(diǎn)的字級(jí)別依存關(guān)系類型分別為“app-NR”,“app-NN”以及“nsubj-NR”。根據(jù)分隔符“-”進(jìn)行拆分得到字級(jí)別詞性分別為“NR”,“NN”和“NR”。這三個(gè)詞性中出現(xiàn)次數(shù)最多的詞性為“NR”,所以詞c1c2c3的詞性預(yù)測(cè)為“NR”。
(3)詞級(jí)別依存弧和依存關(guān)系類型預(yù)測(cè):根據(jù)步驟(1)(2)得到的分詞結(jié)果與詞性,根據(jù)詞中最后一個(gè)字的字級(jí)別依存弧和字級(jí)別依存關(guān)系類型,可以得出詞級(jí)別依存弧和依存關(guān)系類型。如圖5 所示的兩個(gè)詞c1c2c3和c4c5,兩個(gè)詞中最后一個(gè)字分別為c3和c5之間的依存關(guān)系為c3nsubj-NRc5,從而得到詞c1c2c3為依存節(jié)點(diǎn)、詞c4c5為核心節(jié)點(diǎn),類型為“nsubj”的依存句法。
圖5 字級(jí)別結(jié)果轉(zhuǎn)換為詞級(jí)別
本 文 在CTB5、CTB7 和CoNLL09 三 個(gè)漢語公開數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。對(duì)于CTB5 和CTB7,數(shù)據(jù)劃分遵循已有工作[11]。分詞、詞性標(biāo)注和依存句法分析的評(píng)測(cè)指標(biāo)均采用準(zhǔn)確率、召回率、綜合性能指標(biāo)F1 值。同時(shí)為了方便對(duì)比實(shí)驗(yàn)分析,在部分實(shí)驗(yàn)中也采用了依存句法評(píng)價(jià)指標(biāo)UAS(Unlabeled Attachment Score)和LAS(Labeled Attachment Score)。
本文提出模型的超參數(shù)設(shè)置如下:多層感知 機(jī)(MLPsarc-head、MLPsarc-dep、MLPslabel-head、MLPslabel-dep)的層數(shù)都設(shè)置為1 層,激活函數(shù)設(shè)置為leakyReLU,前兩個(gè)的輸出維度d設(shè)置為500,后兩個(gè)的輸出維度p設(shè)置為100。在BiLSTM 和所有的MLP 中加入dropout 層,dropout率設(shè)置為0.33;損失函數(shù)公式(13)中的ω設(shè)置為0.5,batchsize 設(shè)置為128,雙向LSTM 的維度設(shè)置為400。本文采用Adam 優(yōu)化算法更新模型參數(shù)。此外,當(dāng)表示方法采用雙向LSTM時(shí),學(xué)習(xí)率設(shè)置為0.002 訓(xùn)練100 輪;當(dāng)表示方法采用BERT時(shí),學(xué)習(xí)率設(shè)置為0.00002訓(xùn)練15輪。我們?cè)陂_發(fā)集上驗(yàn)證模型,并且保留開發(fā)集上依存句法F1 值最好的模型,用于最后在測(cè)試集上進(jìn)行評(píng)測(cè)。
本文與已有的基于轉(zhuǎn)移和基于圖的代表性工作進(jìn)行比較,比較結(jié)果列在表1 中,分別用T 和G 表示基于轉(zhuǎn)移和基于圖的模型。在基于轉(zhuǎn)移的模型中,我們從已有工作中選取了在CTB5 和CTB7 上表現(xiàn)最好的模型進(jìn)行對(duì)比,其中Kurita 等人[11]的模型在分詞和詞性標(biāo)注任務(wù)上的精度最好,模型Zhang14 STD[10]在CTB7數(shù)據(jù)集的依存句法分析任務(wù)上精度最好,模型Zhang14 EAG[10]在CTB5 數(shù)據(jù)集上的依存句法分析任務(wù)精度最好。從中可以看出,基于轉(zhuǎn)移的這些模型在不同數(shù)據(jù)集上和不同任務(wù)上所具有的優(yōu)勢(shì)不同。同時(shí),我們注意到?jīng)]有一種方法可以在兩個(gè)數(shù)據(jù)集的三個(gè)任務(wù)上同時(shí)達(dá)到最好精度,具有不穩(wěn)定性;特別是模型Kurita17在分詞和詞性標(biāo)注任務(wù)上的精度提升并沒有帶來依存句法分析任務(wù)上相應(yīng)的精度提升。關(guān)于基于圖的模型,我們將Yan 的工作[1]列在表1中進(jìn)行對(duì)比,從中看出無論是Yan20 還是本文的模型,與基于轉(zhuǎn)移的模型相比,在CTB5 數(shù)據(jù)集上分詞和依存句法分析至少提升0.11%和6.16%,在CTB7 數(shù)據(jù)集上分詞和依存句法分析至少提升0.78%和6.17%?;趫D的模型在三個(gè)任務(wù)上的精度提升顯示圖模型在全局信息建模上的優(yōu)勢(shì)。
表1 聯(lián)合模型實(shí)驗(yàn)結(jié)果
與Yan20 相比,我們的模型(Ours)在引入詞性信息后,在CTB5 和CTB7 兩個(gè)數(shù)據(jù)集上分詞和依存句法分析精度都有提升,尤其在CTB7 數(shù)據(jù)集上分詞和依存句法分析分別提升0.14%和0.31%。Yan 沒有進(jìn)行詞性標(biāo)注,所以我們與基于轉(zhuǎn)移的工作中在詞性標(biāo)注上表現(xiàn)最好的模型Kurita17 相比,在CTB5 和CTB7 上詞性標(biāo)注的精度分別提升1.00%和2.10%。上面的分析結(jié)果表明本文模型在所有報(bào)道的三個(gè)任務(wù)上的精度達(dá)到最好。我們分析三個(gè)任務(wù)上精度的同時(shí)提升是在圖框架中引入詞性標(biāo)注任務(wù)帶來的結(jié)果,詞性信息引入一方面帶來分詞精度提升,從而使依存句法分析精度提升;另一方面詞性信息對(duì)依存句法分析本身也有直接幫助。我們會(huì)在后面進(jìn)行詳細(xì)分析。
當(dāng)表示方法采用BERT 時(shí),本文模型Ours(BERT)與Ours 相比在三個(gè)任務(wù)上精度均有提升,說明使用預(yù)訓(xùn)練模型BERT 相較于BiLSTM 會(huì)帶來性能上的提升。與同樣使用預(yù)訓(xùn)練模型的Yan20(BERT)相比,在CTB7 上的分詞和依存句法精度分別提升0.21%和0.88%,說明在使用預(yù)訓(xùn)練模型的基礎(chǔ)上引入詞性標(biāo)注任務(wù)依舊有助于提升分詞和依存句法分析的精度,同時(shí)也說明BERT 在預(yù)訓(xùn)練過程中學(xué)習(xí)詞性信息并不充分,本文聯(lián)合詞性標(biāo)注任務(wù)可以彌補(bǔ)并進(jìn)一步提升精度。
本文在Yan 的工作上基于圖的框架下引入詞性標(biāo)注任務(wù),下面分別分析其在分詞和依存句法分析上的效果。
4.4.1 詞性信息對(duì)未登錄詞的作用
未登錄詞是指出現(xiàn)在測(cè)試集而未出現(xiàn)在訓(xùn)練集中的詞,又稱為集外詞(out of vocabulary,OOV),實(shí)際應(yīng)用中未登錄詞的出現(xiàn)是普遍現(xiàn)象,會(huì)嚴(yán)重影響分詞的精度,因此對(duì)于未登錄詞的處理能力是衡量模型的重要指標(biāo)。我們通過未登錄詞的召回率這一指標(biāo)來衡量模型對(duì)未登錄詞的處理能力。我們比較了引入詞性標(biāo)注任務(wù)的模型Ours(BERT)和沒有引入的模型Yan20(BERT)對(duì)未登錄詞的召回能力,比較結(jié)果列于表2??梢钥闯鲆朐~性標(biāo)注任務(wù)的模型在三個(gè)數(shù)據(jù)集上的未登錄詞召回率均有提升,并且我們進(jìn)一步分析發(fā)現(xiàn)登錄詞的召回率并沒有下降,由此得出結(jié)論,分詞精度的提升來源于詞性標(biāo)注任務(wù)對(duì)未登錄詞處理能力的提升。我們進(jìn)一步分析Ours(BERT)與Yan20(BERT)的差異,具體的對(duì)前者能正確分詞的登錄詞,但后者未能正確分詞的未登錄詞進(jìn)行統(tǒng)計(jì),并按照未登錄詞的分類[22]進(jìn)行分析,結(jié)果列于表3。我們發(fā)現(xiàn)詞性信息的引入在各種類型的未登錄詞上都起到了改善的效果,其中在“普通生詞”上的改善最為明顯,其次是“成語”,在改好的結(jié)果中占比分別達(dá)到50.5%和19.2%。我們分析其原因?yàn)闈h語中構(gòu)成詞的字之間遵循一定模式,本文引入詞性標(biāo)注任務(wù)并將其轉(zhuǎn)換為字上詞性標(biāo)簽的預(yù)測(cè)方式,能夠建模字的詞性與分詞之間的關(guān)系,從而幫助包括未登錄詞在內(nèi)的分詞精度提升。
表2 不同數(shù)據(jù)集上未登錄詞的召回率
表3 分詞正確類型統(tǒng)計(jì)
4.4.2 詞性信息對(duì)依存句法的影響
為了進(jìn)一步分析詞性標(biāo)注任務(wù)的引入對(duì)依存句法分析的影響,我們與沒有詞性標(biāo)注任務(wù)的Yan 工作進(jìn)行對(duì)比。我們首先根據(jù)構(gòu)成依存弧的頭節(jié)點(diǎn)和依存節(jié)點(diǎn)的詞性模式對(duì)依存弧進(jìn)行分類,選取其中占比很大的頭節(jié)點(diǎn)為動(dòng)詞的依存弧,然后在這些依存弧上比較兩個(gè)模型的錯(cuò)誤率,比較結(jié)果按占比從高到低排序,列在表4 中。詞性模式X Y表示從詞性為X的單詞到詞性為Y的單詞的依存弧。我們發(fā)現(xiàn)本文模型在這些詞性模式上VV NN 的依存弧的錯(cuò)誤率都有所降低。例如在CTB7 數(shù)據(jù)集上以模板的依存弧數(shù)量高達(dá)到23049,本文所提模型Ours(BERT)預(yù)測(cè)的錯(cuò)誤率降低0.26%;在CoNLL09 數(shù)據(jù)集上,錯(cuò)誤率降低0.34%。我們分析其原因:由于構(gòu)成依存弧的頭節(jié)點(diǎn)和依存節(jié)點(diǎn)在詞性上遵循一定模式,以上面表4 中顯示的模式為例說明,一方面有些詞性的單詞不大可能作為“VV”的依存節(jié)點(diǎn),比如“JJ”與“DEG”等;另一方面能夠作為其依存節(jié)點(diǎn)的詞性的單詞按照其數(shù)量也有大小差異。所以當(dāng)本文引入詞性標(biāo)注任務(wù)并將其轉(zhuǎn)換為字之間的依存關(guān)系類型的預(yù)測(cè)時(shí),能夠建模詞性模式與依存弧構(gòu)建之間的關(guān)系,從而幫助依存弧的預(yù)測(cè)。
表4 不同詞性標(biāo)簽?zāi)0逑陆馕鲥e(cuò)誤率對(duì)比
上面的實(shí)驗(yàn)都是在自動(dòng)分詞的基礎(chǔ)上進(jìn)行的實(shí)驗(yàn)結(jié)果分析,我們分析引入詞性標(biāo)注任務(wù)可以帶來分詞精度的提升,從而提升依存句法分析精度。為了分析引入詞性標(biāo)注任務(wù)對(duì)依存句法分析的直接影響,我們?cè)诜衷~都正確的基礎(chǔ)上進(jìn)一步比較本文模型與Yan 的工作。為了使用金標(biāo)分詞,我們?cè)诼?lián)合模型解碼時(shí),選擇讓模型Yan20(BERT)和Ours(BERT)讀入金標(biāo)分詞,之后再進(jìn)行詞性標(biāo)簽和依存句法預(yù)測(cè)。如此在兩個(gè)模型分詞都正確的情況下,進(jìn)行依存句法分析結(jié)果的對(duì)比,并將結(jié)果列在表5 中。由于兩個(gè)模型分詞都是正確的,我們采用更為常見的詞級(jí)別依存句法分析指標(biāo)UAS 和LAS,分別評(píng)測(cè)依存弧和依存關(guān)系類型預(yù)測(cè)結(jié)果的召回率,通常依存關(guān)系類型的預(yù)測(cè)是更難的任務(wù),LAS 的指標(biāo)可以指示模型在復(fù)雜任務(wù)上的性能。從上面表中的結(jié)果可以看出,在三個(gè)數(shù)據(jù)集上本文模型的UAS 和LAS 都超過了Yan20(BERT),說明詞性信息對(duì)依存句法分析精度的提升有直接幫助。
表5 漢語分詞正確情況下依存分析性能對(duì)比
本文首先在三個(gè)任務(wù)上提出了基于圖的聯(lián)合模型,將漢語分詞,詞性標(biāo)記和依存分析融合到統(tǒng)一的框架中,從而能夠充分利用三個(gè)任務(wù)之間的共享知識(shí)并減少錯(cuò)誤傳播。同時(shí)本文詞性標(biāo)注任務(wù)的引入方式可以建模詞性與分詞以及詞性與依存句法分析之間的關(guān)系,從而帶來兩個(gè)任務(wù)上精度的提升。本文在三個(gè)漢語數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證和詳細(xì)分析,發(fā)現(xiàn)引入詞性信息的確有助于提升漢語分詞和依存句法分析的精度。