薛 平,李 影,2,吳中海,2
(1. 北京大學(xué) 軟件與微電子學(xué)院,北京 100871;2. 北京大學(xué) 軟件工程國(guó)家工程研究中心,北京 100871)
作為自然語(yǔ)言處理領(lǐng)域的重要任務(wù)之一,關(guān)系抽取旨在識(shí)別文本中實(shí)體對(duì)之間的語(yǔ)義關(guān)系,例如在句子“哈爾濱是黑龍江省會(huì)”中,關(guān)系抽取方法可以提取出“哈爾濱”和“黑龍江”的語(yǔ)義關(guān)系是“位于”。抽取得到的實(shí)體關(guān)系三元組被用于知識(shí)圖譜構(gòu)建[1]、智能問(wèn)答系統(tǒng)[2]、對(duì)話(huà)內(nèi)容理解[3]等下游任務(wù),并應(yīng)用在多個(gè)領(lǐng)域,包括醫(yī)療[4]、金融[5]、法律[6]等。近年來(lái)隨著深度學(xué)習(xí)方法的快速發(fā)展,關(guān)系抽取任務(wù)取得了長(zhǎng)足的進(jìn)步,大量基于深度學(xué)習(xí)的關(guān)系抽取方法被提出。Liu等人[7]在2013年首次提出基于深度學(xué)習(xí)的關(guān)系抽取方法,使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本進(jìn)行特征提取。之后,陸續(xù)有研究者提出基于循環(huán)神經(jīng)網(wǎng)絡(luò)[8-12]、基于圖神經(jīng)網(wǎng)絡(luò)的方法[13-14]等等。但上述關(guān)系抽取的研究工作,主要集中于英文領(lǐng)域,以單詞序列作為輸入。而在中文自然語(yǔ)言中,單詞與單詞之間沒(méi)有分隔符,使用英文領(lǐng)域的關(guān)系抽取的方法需要先進(jìn)行分詞處理,而分詞過(guò)程中產(chǎn)生的錯(cuò)誤,會(huì)影響關(guān)系抽取任務(wù)的結(jié)果。為了避免錯(cuò)誤傳遞,目前大部分的中文關(guān)系抽取方法都是以字符序列作為輸入。
基于字符序列的中文關(guān)系抽取方法,雖然可以避免分詞處理所帶來(lái)的錯(cuò)誤傳遞問(wèn)題,但卻忽略了文本中單詞所包含的高級(jí)別語(yǔ)義信息。例如“哈爾濱是黑龍江省會(huì)”中,“哈爾濱”“省會(huì)”等詞所表示的城市的語(yǔ)義可以幫助推理出“位于”關(guān)系。目前,如何在中文字符序列中融合單詞信息是中文關(guān)系抽取任務(wù)的主要研究?jī)?nèi)容之一,相關(guān)工作可以劃分為基于詞典的方法(lexicon-based)和基于預(yù)訓(xùn)練的方法(pretrain-based)。如圖1(a)所示,基于詞典的方法通過(guò)將文本匹配固定的詞典,獲得文本中所有可能存在的單詞,然后通過(guò)Lattice-LSTM[15]或Flat-Lattice[16]等網(wǎng)絡(luò)將單詞信息動(dòng)態(tài)地編碼進(jìn)字符序列中;而基于預(yù)訓(xùn)練的方法,如圖1(b)所示,使用自然語(yǔ)言處理領(lǐng)域中流行的預(yù)訓(xùn)練語(yǔ)言模型,在大規(guī)模的語(yǔ)料中進(jìn)行語(yǔ)言模型的訓(xùn)練。在訓(xùn)練的過(guò)程中通過(guò)全詞遮蔽(Whole-Word-Mask)等方法[17],將單詞信息在預(yù)訓(xùn)練的過(guò)程中編碼進(jìn)模型,然后在中文關(guān)系抽取的任務(wù)上進(jìn)行微調(diào)(Fine-Tune)。
圖1 基于詞典的方法和基于預(yù)訓(xùn)練的方法
預(yù)訓(xùn)練語(yǔ)言模型如BERT[18],在大規(guī)模語(yǔ)料上進(jìn)行遮蔽語(yǔ)言模型的訓(xùn)練。得益于復(fù)雜的模型結(jié)構(gòu)和海量的訓(xùn)練數(shù)據(jù),預(yù)訓(xùn)練語(yǔ)言模型可以對(duì)訓(xùn)練語(yǔ)料中的語(yǔ)言知識(shí)進(jìn)行準(zhǔn)確的刻畫(huà)。相比于基于詞典的方法,其包含的語(yǔ)言知識(shí)使得模型具有更好的泛化能力,能夠抽取到更加準(zhǔn)確的關(guān)系。但預(yù)訓(xùn)練語(yǔ)言模型的參數(shù)規(guī)模非常龐大,大部分的預(yù)訓(xùn)練語(yǔ)言模型都包含上億的參數(shù),在現(xiàn)實(shí)場(chǎng)景應(yīng)用中需要消耗大量的存儲(chǔ)資源和計(jì)算資源。
為了避免預(yù)訓(xùn)練語(yǔ)言模型高昂的模型開(kāi)銷(xiāo),同時(shí)利用其包含的語(yǔ)言知識(shí),本文提出基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法,其核心是采用多任務(wù)學(xué)習(xí)結(jié)構(gòu),在中文關(guān)系抽取模型基礎(chǔ)上,訓(xùn)練一個(gè)語(yǔ)言模型來(lái)擬合預(yù)訓(xùn)練語(yǔ)言模型,學(xué)習(xí)預(yù)訓(xùn)練模型包含的語(yǔ)言知識(shí)。具體來(lái)說(shuō),我們使用輕量化的基于循環(huán)神經(jīng)網(wǎng)絡(luò)的關(guān)系抽取模型作為基準(zhǔn)模型,同時(shí)以該循環(huán)神經(jīng)網(wǎng)絡(luò)訓(xùn)練一個(gè)雙向語(yǔ)言模型。不同于一般的語(yǔ)言模型以下個(gè)字符作為標(biāo)簽訓(xùn)練,我們使用預(yù)訓(xùn)練語(yǔ)言模型的輸出作為訓(xùn)練標(biāo)簽,使雙向語(yǔ)言模型去擬合預(yù)訓(xùn)練語(yǔ)言模型,從而來(lái)學(xué)習(xí)其包含的語(yǔ)言知識(shí)。得益于多任務(wù)學(xué)習(xí)中的參數(shù)共享機(jī)制,雙向語(yǔ)言模型學(xué)習(xí)到的語(yǔ)言知識(shí)可以對(duì)中文關(guān)系抽取模型進(jìn)行增強(qiáng),避免了預(yù)訓(xùn)練模型的高昂開(kāi)銷(xiāo),同時(shí)有效利用預(yù)訓(xùn)練語(yǔ)言模型中的語(yǔ)言知識(shí)。
與我們方法類(lèi)似的是基于知識(shí)蒸餾的模型壓縮方法[19],同樣是使用輕量化的模型學(xué)習(xí)復(fù)雜模型的知識(shí),但這兩種方法的結(jié)構(gòu)與所涉及的知識(shí)類(lèi)型是不同的。知識(shí)蒸餾方法是使用復(fù)雜的老師模型在相關(guān)任務(wù)的數(shù)據(jù)集上先行進(jìn)行學(xué)習(xí),然后再將學(xué)習(xí)到的數(shù)據(jù)集內(nèi)數(shù)據(jù)分布相關(guān)的知識(shí)蒸餾到輕量化的學(xué)生模型中,其中老師模型和學(xué)生模型都是關(guān)系抽取模型。而基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法則是在關(guān)系抽取模型的基礎(chǔ)上同時(shí)學(xué)習(xí)一個(gè)雙向語(yǔ)言模型,通過(guò)雙向語(yǔ)言模型來(lái)擬合預(yù)訓(xùn)練語(yǔ)言模型,來(lái)學(xué)習(xí)預(yù)訓(xùn)練模型中包含的語(yǔ)言知識(shí)。
本文的貢獻(xiàn)主要包括:
(1) 針對(duì)基于預(yù)訓(xùn)練語(yǔ)言模型的中文關(guān)系抽取方法參數(shù)多及開(kāi)銷(xiāo)大的問(wèn)題,提出了基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法,采用多任務(wù)學(xué)習(xí)結(jié)構(gòu),訓(xùn)練雙向語(yǔ)言模型從預(yù)訓(xùn)練語(yǔ)言模型學(xué)習(xí)語(yǔ)言知識(shí),在高效抽取實(shí)體關(guān)系的同時(shí)避免了預(yù)訓(xùn)練模型的高昂開(kāi)銷(xiāo)。與知識(shí)蒸餾等壓縮模型方法不同的是,本文提出的方法通過(guò)擬合預(yù)訓(xùn)練語(yǔ)言模型學(xué)習(xí)語(yǔ)言知識(shí),突破了數(shù)據(jù)集的限制,提高了模型的泛化能力;
(2) 在三個(gè)中文關(guān)系抽取數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),證明本文提出的方法可以有效地提高基準(zhǔn)模型的效果,超過(guò)了目前基于詞典的方法。與基于預(yù)訓(xùn)練語(yǔ)言模型的方法相比,本文提出的方法使用其大約1%的參數(shù)量即可達(dá)到其95%的性能。
本文組織結(jié)構(gòu)如下: 第1節(jié)介紹相關(guān)工作;第2節(jié)給出中文關(guān)系抽取任務(wù)的定義和基準(zhǔn)模型;第3節(jié)介紹基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法;第4節(jié)給出實(shí)驗(yàn)結(jié)果和分析;第5節(jié)總結(jié)本文工作。
目前,基于深度學(xué)習(xí)的關(guān)系抽取方法成為主流。Liu等人[7]在2013年首次探索了深度學(xué)習(xí)方法在關(guān)系抽取任務(wù)中的應(yīng)用,提出基于卷積神經(jīng)網(wǎng)絡(luò)的關(guān)系抽取方法。之后,Zeng等人[20]在該方法的基礎(chǔ)上加入了位置向量,用來(lái)表示文本中實(shí)體的位置信息。卷積神經(jīng)網(wǎng)絡(luò)的局限在于只能提取文本序列局部的特征信息。為了捕捉到全局的特征,在2015年,Zhang[8]等人使用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)文本和實(shí)體進(jìn)行特征提取,以捕捉文本序列中的全局特征。在之后,為了進(jìn)一步對(duì)文本進(jìn)行表示,Zhang[13]等人引入了額外的基于單詞構(gòu)建的依存句法樹(shù),使用圖神經(jīng)網(wǎng)絡(luò)[21]提取依存句法樹(shù)的特征,來(lái)提高關(guān)系抽取任務(wù)的結(jié)果。
在中文關(guān)系抽取領(lǐng)域,為了避免分詞錯(cuò)誤導(dǎo)致的錯(cuò)誤傳遞問(wèn)題,主要工作都是字符級(jí)別的關(guān)系抽取方法,以字符序列作為輸入。Zhang等人[22]指出了中文文本中分詞錯(cuò)誤問(wèn)題導(dǎo)致的錯(cuò)誤傳遞現(xiàn)象,提出了基于詞典的方法并設(shè)計(jì)了在字符序列動(dòng)態(tài)融合單詞信息的Lattice-LSTM網(wǎng)絡(luò)。之后,Li等人[15]提出了MG-Lattice,在Lattice-LSTM的基礎(chǔ)上融合了多粒度的信息,進(jìn)一步提高中文關(guān)系抽取任務(wù)的準(zhǔn)確率。Lattice-LSTM雖然可以動(dòng)態(tài)地融合單詞信息,但是由于模型結(jié)構(gòu)的限制,無(wú)法并行計(jì)算。為此,Zeng等人[16]使用可以并行計(jì)算的Flat-Lattice網(wǎng)路來(lái)動(dòng)態(tài)地融合單詞信息到字符序列中。
近些年,預(yù)訓(xùn)練語(yǔ)言模型BERT[18]被提出,大幅提高了大部分自然語(yǔ)言任務(wù)的指標(biāo)。預(yù)訓(xùn)練語(yǔ)言模型在大規(guī)模的語(yǔ)料上進(jìn)行遮蔽語(yǔ)言模型的學(xué)習(xí),然后在特定的任務(wù)上進(jìn)行微調(diào)(Fine-Tune)。得益于在大規(guī)模語(yǔ)料中學(xué)習(xí)到的語(yǔ)言知識(shí),目前,大部分的自然語(yǔ)言處理任務(wù)中最優(yōu)的模型都是基于BERT或BERT的變體。同樣地,基于預(yù)訓(xùn)練語(yǔ)言模型的中文關(guān)系抽取方法也得到了更優(yōu)的結(jié)果。但預(yù)訓(xùn)練語(yǔ)言模型包含的參數(shù)量非常龐大,大部分的預(yù)訓(xùn)練語(yǔ)言模型都包含上億的參數(shù),在現(xiàn)實(shí)世界的實(shí)際應(yīng)用中,需要耗費(fèi)大量的計(jì)算資源和存儲(chǔ)資源。目前,針對(duì)預(yù)訓(xùn)練語(yǔ)言模型的壓縮,有知識(shí)蒸餾[23]、模型剪枝[24]、模型量化[25]等方法。與這些方法不同,本文提出的基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法,直接學(xué)習(xí)預(yù)訓(xùn)練語(yǔ)言模型中包含的語(yǔ)言知識(shí),使用這部分語(yǔ)言知識(shí)來(lái)增強(qiáng)中文關(guān)系抽取模型,相比于知識(shí)蒸餾等方法學(xué)習(xí)數(shù)據(jù)集相關(guān)的知識(shí),語(yǔ)言知識(shí)能夠突破數(shù)據(jù)集的限制,有效地提高模型的泛化能力。
本節(jié)介紹中文關(guān)系抽取的任務(wù)定義和中文關(guān)系抽取任務(wù)的基準(zhǔn)模型。
中文關(guān)系抽取一般被定義成分類(lèi)問(wèn)題,根據(jù)輸入的文本和其中包含的實(shí)體對(duì),對(duì)實(shí)體對(duì)之間的語(yǔ)義關(guān)系進(jìn)行分類(lèi)。將輸入的文本表示為字符序列s=c1,…,cT,其中T表示字符序列的長(zhǎng)度。字符序列中包含兩個(gè)實(shí)體,將其表示為頭實(shí)體ehead和尾實(shí)體etail。中文關(guān)系抽取任務(wù)的目的是根據(jù)字符序列s,提取出頭實(shí)體ehead和尾實(shí)體etail之間的語(yǔ)義關(guān)系r∈R,其中R表示關(guān)系類(lèi)型的集合。
本文使用的基準(zhǔn)模型是基于循環(huán)神經(jīng)網(wǎng)絡(luò)的中文關(guān)系抽取模型,如圖2所示,包括嵌入層、編碼層和分類(lèi)層。
圖2 基于LSTM的中文關(guān)系抽取模型
嵌入層:首先,將字符序列映射到特征空間,得到每一個(gè)字符對(duì)應(yīng)的向量表示。
(1)
(2)
(5)
編碼層:編碼層使用雙向的LSTM(Long Short-Term Memory)[26]網(wǎng)絡(luò)作為編碼器,接收來(lái)自嵌入層的字符序列的特征表示,計(jì)算全局的上下文相關(guān)特征。每個(gè)方向的LSTM網(wǎng)絡(luò)根據(jù)上個(gè)時(shí)間步的輸出特征和當(dāng)前時(shí)間步的輸入來(lái)計(jì)算當(dāng)前時(shí)間步的輸出特征。
(6)
(7)
(8)
分類(lèi)層:分類(lèi)層在獲得編碼層的特征后,首先將其映射到關(guān)系特征空間,然后使用Softmax方法獲得對(duì)應(yīng)關(guān)系集合R中關(guān)系類(lèi)別r的概率分布。
P(r|s,ehead,etail)=Softmax(Woh+bo)
(9)
其中,P(r|s,ehead,etail)表示抽取得到的關(guān)系類(lèi)別的概率分布,Wo和bo是分類(lèi)層的訓(xùn)練參數(shù)。最后,使用交叉熵函計(jì)算中文關(guān)系抽取模型的目標(biāo)函數(shù)Lre。
Lre=-log(P(r|s,ehead,etail))
(10)
本節(jié)介紹本文所提出的基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法,包括雙向語(yǔ)言模型和語(yǔ)言模型增強(qiáng)兩個(gè)部分。首先介紹在基準(zhǔn)模型的結(jié)構(gòu)之上構(gòu)造雙向語(yǔ)言模型,其次介紹以預(yù)訓(xùn)練語(yǔ)言模型對(duì)雙向語(yǔ)言模型進(jìn)行增強(qiáng)。
為了學(xué)習(xí)預(yù)訓(xùn)練語(yǔ)言模型中包含的語(yǔ)言知識(shí),首先在基于循環(huán)神經(jīng)網(wǎng)絡(luò)的基準(zhǔn)關(guān)系抽取模型的基礎(chǔ)上構(gòu)造一個(gè)雙向語(yǔ)言模型。
以前向語(yǔ)言模型為例,根據(jù)前t-1個(gè)字符來(lái)預(yù)測(cè)第t個(gè)字符的概率分布?;诙嗳蝿?wù)學(xué)習(xí)的結(jié)構(gòu),雙向語(yǔ)言模型和中文關(guān)系抽取模型共享嵌入層和編碼層的參數(shù)。如圖3左半部分所示, 語(yǔ)言模型層對(duì)LSTM網(wǎng)絡(luò)的輸出進(jìn)行非線(xiàn)性特征映射,然后計(jì)算下個(gè)字符的概率分布。
圖3 基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法
在中文關(guān)系抽取模型的基礎(chǔ)上訓(xùn)練雙向語(yǔ)言模型的目的是通過(guò)雙向語(yǔ)言模型來(lái)擬合預(yù)訓(xùn)練語(yǔ)言模型,從而學(xué)習(xí)預(yù)訓(xùn)練語(yǔ)言模型中包含的語(yǔ)言知識(shí)。基于多任務(wù)學(xué)習(xí)的參數(shù)共享機(jī)制,通過(guò)雙向語(yǔ)言模型學(xué)習(xí)到的語(yǔ)言知識(shí)可以對(duì)中文關(guān)系抽取模型進(jìn)行增強(qiáng)。
學(xué)習(xí)預(yù)訓(xùn)練語(yǔ)言模型中包含的語(yǔ)言知識(shí)的本質(zhì),是使中文關(guān)系抽取模型學(xué)習(xí)更多樣的關(guān)系表達(dá),增加中文關(guān)系抽取模型的泛化能力。比如,當(dāng)我們對(duì)“哈爾濱是黑龍江省會(huì)”中的“是”進(jìn)行遮蔽,得到“哈爾濱[MASK]黑龍江省會(huì)”。然后使用預(yù)訓(xùn)練語(yǔ)言模型進(jìn)行預(yù)測(cè)時(shí),預(yù)測(cè)結(jié)果包含“是”“為”“,”等,用預(yù)測(cè)結(jié)果替換回遮蔽字符,可以得到“哈爾濱是黑龍江省會(huì)”“哈爾濱為黑龍江省會(huì)”和“哈爾濱,黑龍江省會(huì)”等多種組合。這些組合均表達(dá)了“哈爾濱”和“黑龍江”兩個(gè)實(shí)體之間的“位于”關(guān)系,但是后兩種表達(dá)是數(shù)據(jù)集內(nèi)不包含的。基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法可以看作是一種自動(dòng)的數(shù)據(jù)增強(qiáng)(Data Augmentation)[27]方法,通過(guò)預(yù)訓(xùn)練語(yǔ)言模型中的語(yǔ)言知識(shí)來(lái)對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),對(duì)每一條數(shù)據(jù),生成多種不同但表達(dá)同樣關(guān)系語(yǔ)義的文本,使中文關(guān)系抽取模型在訓(xùn)練過(guò)程中學(xué)習(xí)到多樣的關(guān)系表達(dá)。
本文使用的預(yù)訓(xùn)練語(yǔ)言模型是BERT-wwm[28]。BERT-wwm是一個(gè)12層深度的Transformers模型,在大規(guī)模的中文語(yǔ)料上進(jìn)行遮蔽語(yǔ)言模型的訓(xùn)練,對(duì)輸入文本進(jìn)行部分字符的遮蔽,替換為固定的遮蔽符,通過(guò)被遮蔽字符的上下文信息來(lái)預(yù)測(cè)被遮蔽的字符。同時(shí)在訓(xùn)練的過(guò)程中,通過(guò)全詞遮蔽(Whole-Word-Mask)的處理,在基于字符序列的預(yù)訓(xùn)練語(yǔ)言模型的訓(xùn)練中融合單詞信息。
對(duì)已經(jīng)預(yù)訓(xùn)練好的BERT-wwm模型,輸入包含遮蔽符的字符序列,可以得到被遮蔽的字符預(yù)測(cè)結(jié)果,表示為概率分布。如圖3右半部分所示,對(duì)于字符序列“哈爾濱是黑龍江省會(huì)”中的“是”進(jìn)行遮蔽,替換為遮蔽符“[MASK]”,輸入到BERT-wwm模型中。通過(guò)BERT-wwm的預(yù)測(cè),被遮蔽的字符可能為“是”“為”“,”等,括號(hào)內(nèi)是其預(yù)測(cè)的概率值。BERT-wwm對(duì)該遮蔽字符的預(yù)測(cè)結(jié)果是其包含的語(yǔ)言知識(shí)的具體表現(xiàn),本質(zhì)上是其對(duì)大規(guī)模訓(xùn)練語(yǔ)料的統(tǒng)計(jì)結(jié)果。我們將BERT-wwm對(duì)字符ct的預(yù)測(cè)形式化為PBERT(ct)。
PBERT(ct)=BERT(…,ct-1,mask,ct+1,…)
(15)
其中,mask表示遮蔽符[MASK]。為了使雙向語(yǔ)言模型擬合BERT-wwm,如圖3所示,將BERT-wwm對(duì)字符ct的預(yù)測(cè)分布作為雙向語(yǔ)言模型的訓(xùn)練標(biāo)簽。我們通過(guò)KL散度(Kullback-Leibler divergence)來(lái)擬合雙向語(yǔ)言模型和預(yù)訓(xùn)練語(yǔ)言模型對(duì)字符預(yù)測(cè)的概率分布,作為雙向語(yǔ)言模型的目標(biāo)函數(shù)。
(16)
(17)
(18)
其中,λ表示雙向語(yǔ)言模型目標(biāo)函數(shù)的權(quán)重,通過(guò)調(diào)整λ來(lái)平衡多任務(wù)學(xué)習(xí)結(jié)構(gòu)中兩部分模型的訓(xùn)練過(guò)程。
本節(jié)通過(guò)實(shí)驗(yàn)驗(yàn)證證明基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法的效果。首先在4.1節(jié)中描述實(shí)驗(yàn)中使用的數(shù)據(jù)集和評(píng)估指標(biāo)。在4.2節(jié)對(duì)實(shí)驗(yàn)環(huán)境設(shè)置進(jìn)行描述,包括方法中使用的工具和重要的超參數(shù)。然后在4.3節(jié)中,與多種基線(xiàn)方法進(jìn)行多維度的比較。最后在4.4節(jié),對(duì)本文提出的方法進(jìn)行消融實(shí)驗(yàn)。
本文使用三個(gè)中文關(guān)系抽取數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),分別是SanWen(1)https://github.com/lancopku/Chinese-Literature-NER-RE-Dataset、ACE2005(2)https://catalog.ldc.upenn.edu/LDC2006T06和ACE2004(3)https://catalog.ldc.upenn.edu/LDC2005T09。其中,SanWen是根據(jù)文學(xué)數(shù)據(jù)構(gòu)建的,一共包含10類(lèi)關(guān)系,并按照一定比例被劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。ACE2005和ACE2004數(shù)據(jù)集是新聞?lì)I(lǐng)域的關(guān)系抽取數(shù)據(jù)集,分別包含18類(lèi)和19類(lèi)關(guān)系,對(duì)于ACE2005和ACE2004數(shù)據(jù)集的劃分,我們和Li等人[15]的研究工作保持一致,我們隨機(jī)選取其75%的數(shù)據(jù)訓(xùn)練,使用剩下的25%的數(shù)據(jù)進(jìn)行驗(yàn)證。數(shù)據(jù)集的統(tǒng)計(jì)信息如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集統(tǒng)計(jì)
為衡量不同中文關(guān)系抽取方法在上述數(shù)據(jù)集上的效果,我們使用分類(lèi)任務(wù)中的F1(%)值和AUC(%)值作為評(píng)價(jià)指標(biāo)。
本文使用PyTorch深度學(xué)習(xí)庫(kù)來(lái)實(shí)現(xiàn)本文的方法,為了與相關(guān)工作進(jìn)行合理的比較,實(shí)驗(yàn)環(huán)境中涉及的大部分超參數(shù)都和Li等人[15]研究工作中使用的保持一致。我們使用Li等人[15]工作中預(yù)訓(xùn)練的100維字符向量對(duì)嵌入層參數(shù)進(jìn)行初始化,相對(duì)位置向量的維度設(shè)為10維,在訓(xùn)練開(kāi)始時(shí)進(jìn)行隨機(jī)初始化,兩者在訓(xùn)練過(guò)程中進(jìn)行更新。編碼層使用雙向LSTM,每個(gè)方向的LSTM的隱藏層維度設(shè)為200。同時(shí),我們對(duì)嵌入層和編碼器的輸出特征分別進(jìn)行Dropout,比例為0.5。
在語(yǔ)言模型增強(qiáng)的部分,我們使用在中文維基數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練的BERT-wwm模型。預(yù)訓(xùn)練語(yǔ)言模型的輸出結(jié)果是所有字符上的概率預(yù)測(cè),其中只有部分字符是有意義的預(yù)測(cè)結(jié)果,其余則沒(méi)有意義。為了減少無(wú)意義字符對(duì)結(jié)果的影響,需要對(duì)預(yù)訓(xùn)練語(yǔ)言模型的預(yù)測(cè)結(jié)果進(jìn)行截?cái)?每個(gè)字符的預(yù)測(cè)結(jié)果按輸出值的大小取前100個(gè)預(yù)測(cè)結(jié)果,根據(jù)截?cái)嗪蟮妮敵鲋抵匦掠?jì)算這100個(gè)字符的概率分布,作為雙向語(yǔ)言模型的標(biāo)簽。
對(duì)于模型的訓(xùn)練,我們使用Adam優(yōu)化器[29],學(xué)習(xí)率設(shè)為0.000 5。在訓(xùn)練過(guò)程中,雙向語(yǔ)言模型目標(biāo)函數(shù)的權(quán)重λ設(shè)為0.01。重要超參數(shù)的值如表2所示。
表2 實(shí)驗(yàn)相關(guān)超參數(shù)
本節(jié)將基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法與多個(gè)基線(xiàn)模型進(jìn)行對(duì)比實(shí)驗(yàn),證明基于語(yǔ)言模型增強(qiáng)的方法能夠有效降低預(yù)訓(xùn)練語(yǔ)言模型的開(kāi)銷(xiāo)。在4.3.1節(jié),與非預(yù)訓(xùn)練模型進(jìn)行對(duì)比;在4.3.2節(jié),與預(yù)訓(xùn)練模型在關(guān)系抽取任務(wù)指標(biāo)和模型參數(shù)量上進(jìn)行對(duì)比。
4.3.1 與非預(yù)訓(xùn)練模型的對(duì)比結(jié)果
首先,與非預(yù)訓(xùn)練的模型做對(duì)比實(shí)驗(yàn),首先實(shí)現(xiàn)了兩種經(jīng)典的關(guān)系抽取模型,分別是Zeng等人[20]提出的基于CNN的關(guān)系抽取模型和Zhang等人[9]提出的基于LSTM的關(guān)系抽取模型。同時(shí),我們也和兩種目前流行的基于詞典的中文關(guān)系抽取方法進(jìn)行對(duì)比,分別是Li等人[15]提出的MG-Lattice模型和Zeng等人[16]提出的Flat-Lattice模型。其中,考慮到ACE2005數(shù)據(jù)集隨機(jī)劃分可能造成的數(shù)據(jù)分布不一致,我們使用MG-Lattice方法公開(kāi)的源代碼進(jìn)行實(shí)驗(yàn),獲得實(shí)驗(yàn)結(jié)果。Flat-Lattice方法則使用其論文中給出的結(jié)果進(jìn)行對(duì)比。與非預(yù)訓(xùn)練模型的對(duì)比結(jié)果如表3所示。
表3 與非預(yù)訓(xùn)練模型的對(duì)比結(jié)果 (單位: %)
(1) 首先,我們可以觀察到,基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法,在表中表示為“LSTM+語(yǔ)言模型增強(qiáng)”,在三個(gè)數(shù)據(jù)集的F1值和AUC值均達(dá)到了最高。在SanWen數(shù)據(jù)集上,與目前最好的基于詞典的中文關(guān)系抽取模型Flat-Lattice相比,F1值提高了2.53%,AUC值提高了6.74%,在其他數(shù)據(jù)集上也有相應(yīng)的提升。
(2) LSTM+語(yǔ)言模型增強(qiáng)與LSTM模型相比,僅增加了以預(yù)訓(xùn)練模型的預(yù)測(cè)結(jié)果作為訓(xùn)練標(biāo)簽的雙向語(yǔ)言模型。對(duì)比LSTM模型,LSTM+語(yǔ)言模型增強(qiáng)在三個(gè)數(shù)據(jù)集上的提升即是語(yǔ)言模型增強(qiáng)的效果。在SanWen數(shù)據(jù)集上,F1值提升了6.2%,AUC值提升了8.28%。證明了預(yù)訓(xùn)練語(yǔ)言模型的語(yǔ)言知識(shí)確實(shí)能夠?qū)χ形年P(guān)系抽取模型進(jìn)行增強(qiáng)。
(3) 最后,我們通過(guò)模型的預(yù)測(cè)結(jié)果進(jìn)行示例分析,我們選擇LSTM方法和MG-Lattice方法與本文所提出的基于語(yǔ)言模型增強(qiáng)的方法進(jìn)行對(duì)比,示例結(jié)果如表4所示。我們?cè)赟anWen數(shù)據(jù)集中的測(cè)試集內(nèi)選擇了兩條文本作為示例,從預(yù)測(cè)結(jié)果中可以看出,LSTM方法與MG-Lattice方法預(yù)測(cè)出了錯(cuò)誤的關(guān)系類(lèi)型,而我們所提出的方法可以預(yù)測(cè)出正確的關(guān)系類(lèi)型。對(duì)于第二個(gè)示例,“當(dāng)包谷桿上長(zhǎng)出第一個(gè)包谷棒時(shí)”這條文本中,如果實(shí)體1是“包谷桿”,與實(shí)體2“包谷棒”的關(guān)系則是LSTM方法與MG-Lattice方法預(yù)測(cè)的“部分整體”。但實(shí)體1是“包谷桿上”,與實(shí)體2“包谷棒”的關(guān)系是“位于”。該示例結(jié)果證明本文所提出的基于語(yǔ)言模型增強(qiáng)的方法可以準(zhǔn)確地根據(jù)實(shí)體的細(xì)微差別識(shí)別出正確的關(guān)系類(lèi)型,具有更強(qiáng)的關(guān)系抽取能力。
表4 模型預(yù)測(cè)結(jié)果對(duì)比
4.3.2 與預(yù)訓(xùn)練模型的對(duì)比結(jié)果
為了與基于預(yù)訓(xùn)練語(yǔ)言模型的方法進(jìn)行對(duì)比,我們實(shí)現(xiàn)了Livio等人[30]所提出的基于預(yù)訓(xùn)練語(yǔ)言模型的關(guān)系抽取方法,使用BERT-wwm預(yù)訓(xùn)練模型。同時(shí),為了比較不同參數(shù)規(guī)模下預(yù)訓(xùn)練語(yǔ)言模型的效果,我們分別取BERT-wwm的前6層的參數(shù)和前3層的參數(shù)進(jìn)行實(shí)驗(yàn)。同時(shí),我們也與Tang等人[23]提出的針對(duì)預(yù)訓(xùn)練語(yǔ)言模型的知識(shí)蒸餾方法進(jìn)行對(duì)比。除了比較三個(gè)數(shù)據(jù)集上的分類(lèi)指標(biāo),同時(shí)也比較模型的參數(shù)規(guī)模,表中表示為Parameter,含義為模型的參數(shù)量。與預(yù)訓(xùn)練模型的對(duì)比結(jié)果如表5所示。
表5 與預(yù)訓(xùn)練模型的對(duì)比結(jié)果 (單位: %)
(1) 我們可以從表中觀察到,BERT-wwm在三個(gè)數(shù)據(jù)集上均達(dá)到最好,LSTM+語(yǔ)言模型增強(qiáng)與BERT-wwm模型在F1值和AUC值上仍然有差距。但BERT-wwm的參數(shù)規(guī)模非常龐大,達(dá)到了102.27M(M表示百萬(wàn))。我們以BERT-wwm作為基準(zhǔn)(表示為100%),計(jì)算其他方法與其在性能和參數(shù)規(guī)模上的百分比。本文提出的基于語(yǔ)言模型增強(qiáng)的方法在三個(gè)數(shù)據(jù)集上的平均性能都可以達(dá)到BERT-wwm的95%,而參數(shù)規(guī)模僅為1.29M,為BERT-wwm的1.3%。實(shí)驗(yàn)證明了基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法可以在達(dá)到相似性能的同時(shí)大幅降低預(yù)訓(xùn)練模型的開(kāi)銷(xiāo)。
(2) BERT-wwm (6層)和BERT-wwm (3層)分別僅使用BERT-wwm的部分參數(shù)??梢杂^察到,隨著層數(shù)的降低,基于預(yù)訓(xùn)練語(yǔ)言模型的方法在三個(gè)數(shù)據(jù)集上的指標(biāo)也隨之降低。在使用BERT-wwm (3層)進(jìn)行實(shí)驗(yàn)時(shí),LSTM+語(yǔ)言模型增強(qiáng)的方法在三個(gè)數(shù)據(jù)集上的指標(biāo)上已經(jīng)超過(guò)BERT-wwm (3層)方法。但BERT-wwm (3層)的參數(shù)規(guī)模仍然是LSTM+語(yǔ)言模型增強(qiáng)方法的30倍。證明相比于使用小規(guī)模的預(yù)訓(xùn)練語(yǔ)言模型,基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法是一個(gè)更優(yōu)的選擇。
(3) 最后,我們與基于知識(shí)蒸餾的方法(表中表示為L(zhǎng)STM+知識(shí)蒸餾)相比,我們的方法在三個(gè)數(shù)據(jù)集上的指標(biāo)均超過(guò)基于知識(shí)蒸餾的方法。實(shí)驗(yàn)證明了相比于數(shù)據(jù)集內(nèi)的知識(shí),語(yǔ)言知識(shí)對(duì)于中文關(guān)系抽取任務(wù)的提升更大。
本節(jié)對(duì)基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法進(jìn)行消融實(shí)驗(yàn),對(duì)方法中的模塊進(jìn)行消融,分析各個(gè)模塊帶來(lái)的性能提升。消融實(shí)驗(yàn)的結(jié)果如表6所示。首先,我們對(duì)來(lái)自預(yù)訓(xùn)練語(yǔ)言模型的增強(qiáng)進(jìn)行剝離,僅進(jìn)行標(biāo)準(zhǔn)的雙向語(yǔ)言模型訓(xùn)練,以下個(gè)字符作為標(biāo)簽,在表中表示為L(zhǎng)STM+語(yǔ)言模型??梢杂^察到,在剝離了預(yù)訓(xùn)練語(yǔ)言模型的預(yù)測(cè)結(jié)果時(shí),三個(gè)數(shù)據(jù)集的指標(biāo)均有所下降,在SanWen數(shù)據(jù)集上,F1值下降3.21%,AUC值下降3.74%。下降的結(jié)果即是來(lái)自預(yù)訓(xùn)練語(yǔ)言模型的語(yǔ)言知識(shí)對(duì)中文關(guān)系抽取任務(wù)的增強(qiáng)結(jié)果。
表6 消融實(shí)驗(yàn)結(jié)果 (單位: %)
之后,我們繼續(xù)剝離掉方法中基于多任務(wù)學(xué)習(xí)結(jié)構(gòu)中的語(yǔ)言模型的部分,方法退化為標(biāo)準(zhǔn)的基于LSTM的中文關(guān)系抽取方法。三個(gè)數(shù)據(jù)集的指標(biāo)繼續(xù)下降,下降的結(jié)果為基于多任務(wù)學(xué)習(xí)的語(yǔ)言模型帶來(lái)的提升,在SanWen數(shù)據(jù)集上,F1值下降2.99%,在AUC值上下降4.54%。在消融實(shí)驗(yàn)中,我們分別對(duì)基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取方法中的兩個(gè)核心模塊進(jìn)行消融,驗(yàn)證了每個(gè)模塊對(duì)中文關(guān)系抽取任務(wù)帶來(lái)的提升效果。
針對(duì)預(yù)訓(xùn)練模型參數(shù)量多開(kāi)銷(xiāo)大的問(wèn)題,本文提出基于語(yǔ)言模型增強(qiáng)的中文關(guān)系抽取任務(wù),采用多任務(wù)學(xué)習(xí)結(jié)構(gòu),在中文關(guān)系抽取模型的基礎(chǔ)上訓(xùn)練雙向語(yǔ)言模型,以訓(xùn)練語(yǔ)言模型的預(yù)測(cè)結(jié)果作為訓(xùn)練標(biāo)簽,通過(guò)擬合預(yù)訓(xùn)練語(yǔ)言模型來(lái)學(xué)習(xí)預(yù)訓(xùn)練語(yǔ)言模型中包含的語(yǔ)言知識(shí)。預(yù)訓(xùn)練語(yǔ)言模型中的語(yǔ)言知識(shí)可以對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行自動(dòng)的數(shù)據(jù)增強(qiáng),使中文關(guān)系抽取模型在訓(xùn)練過(guò)程中學(xué)習(xí)到多樣化的關(guān)系表達(dá),提高中文關(guān)系抽取方法的性能和泛化能力。
未來(lái)計(jì)劃對(duì)預(yù)訓(xùn)練語(yǔ)言模型中的語(yǔ)言知識(shí)進(jìn)行更細(xì)粒度的蒸餾,進(jìn)一步提升語(yǔ)言模型增強(qiáng)方法的性能。