国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

BSLRel: 基于二元序列標(biāo)注的級聯(lián)關(guān)系三元組抽取模型

2021-07-23 06:56:40張龍輝尹淑娟任飛亮蘇劍林明瑞成白宇佳
中文信息學(xué)報 2021年6期
關(guān)鍵詞:三元組實體融合

張龍輝,尹淑娟,任飛亮,蘇劍林,明瑞成,白宇佳

(1. 東北大學(xué) 計算機科學(xué)與工程學(xué)院,遼寧 沈陽110819;2. 深圳追一科技有限公司,廣東 深圳 518057)

0 引言

將非結(jié)構(gòu)化或半結(jié)構(gòu)化的自然語言文本轉(zhuǎn)化成結(jié)構(gòu)化內(nèi)容是信息抽取的目的。關(guān)系三元組抽取作為信息抽取的子任務(wù),其目的是從自然語言文本(常常以句子為輸入單位)中抽取兩個實體及實體之間的關(guān)系。該任務(wù)是構(gòu)建大規(guī)模知識圖譜的關(guān)鍵,被廣泛運用在信息檢索、問答系統(tǒng)等相關(guān)任務(wù)中[1]。

在關(guān)系三元組抽取任務(wù)中,關(guān)系事實大多以形如“(subject, predicate, object)”或“(head,relation,tail)”的三元組形式表示。其中,subject(或head)稱為頭實體,object(或tail)稱為尾實體,predicate(或relation)表示頭、尾實體之間的語義關(guān)系[2]。比如三元組“(孔乙己,作者,魯迅)”可表示“孔乙己”和“魯迅”之間存在“作者”關(guān)系這一事實。

當(dāng)前關(guān)系三元組抽取研究方法主要分為兩類: 管道(pipeline)抽取方法和聯(lián)合抽取方法。早期的方法主要是管道抽取方法,即先對輸入句子中的實體進行識別;之后,再為識別出的實體分配合適的關(guān)系類型。這類管道抽取方法存在以下兩點不足。

(1)實體冗余: 由于先對抽取的所有實體進行兩兩配對,然后再進行關(guān)系分類,大量錯誤的候選實體對所帶來的冗余信息,會提升錯誤率、增加計算復(fù)雜度。

(2)任務(wù)間的交互缺失: 忽略了實體識別和關(guān)系抽取這兩個任務(wù)之間的內(nèi)在聯(lián)系和依賴關(guān)系,無法充分利用輸入信息。

因此,研究者提出了聯(lián)合抽取的方法,即同時從輸入句子中抽取實體及實體間的對應(yīng)關(guān)系。這類方法可以充分利用實體識別以及關(guān)系抽取之間的交互信息,因而可以有效緩解管道方法的不足。然而,在關(guān)系三元組抽取任務(wù)中,同一句子中的多個三元組共享相同的頭實體、關(guān)系或尾實體的情況是大量存在的。如三元組“(孔乙己,作者,魯迅)”和三元組“(朝花夕拾,作者,魯迅)”就共享關(guān)系和尾實體。研究者將此類具有某些信息共享的三元組稱為重疊三元組。

目前基于聯(lián)合抽取的方法并不能有效地處理重疊三元組抽取問題。因為重疊三元組的重疊情況多種多樣,頭尾實體或關(guān)系,任意一部分或兩部分之間都會有重疊,甚至一個實體可能同時是一個三元組的頭實體和另一個三元組的尾實體。而在聯(lián)合抽取模型中常常使用序列標(biāo)注的思路進行實體識別,即對每個單詞賦予一個唯一的標(biāo)注,比如B/I/O標(biāo)注,用來區(qū)分該單詞是否是某一實體的開始、結(jié)尾或者不是實體。因為無法將一個單詞既標(biāo)注為一個頭實體同時又標(biāo)注為一個尾實體,所以此架構(gòu)很難處理重疊三元組的抽取問題。雖然管道抽取模型會遍歷所有抽取出來的實體對來解決重疊三元組的抽取問題,但會引入大量錯誤的實體對而導(dǎo)致抽取性能大幅下降。

此外,“2020語言與智能技術(shù)競賽(2020 Language and Intelligence Challenge)”基于DuIE 2.0數(shù)據(jù)集[3],舉辦了難度更大的關(guān)系三元組抽取任務(wù)。第一,該競賽任務(wù)將關(guān)系三元組的object部分進行了復(fù)雜化擴展: 首先,將某些關(guān)系對應(yīng)的object由一個實體組成(本文將object中只有一個實體的三元組稱為“單槽值三元組”)拓展到可以由多個實體組成,其中每個實體對應(yīng)一種槽位(本文將object中有多個實體的三元組稱為“多槽值三元組”)。然后,為每種關(guān)系類型都設(shè)置了schema,以達到對三元組中的頭、尾實體類別進行約束的目的。表1顯示了該競賽任務(wù)中不同類型關(guān)系三元組的樣例,其中“@value”類型的槽位一定會在三元組中出現(xiàn),而其他類型的槽位信息如果在句子中沒有體現(xiàn),則可以不出現(xiàn)在三元組中。

表1 2020語言與智能技術(shù)競賽三元組關(guān)系抽取任務(wù)樣例(選自競賽提供的數(shù)據(jù)集DulE 2.0[3])

從本質(zhì)上講,“2020語言與智能技術(shù)競賽”中的單槽值三元組為沒有重疊問題的普通三元組,多槽值三元組為一類頭實體和關(guān)系重疊的重疊三元組。然而,由于schema約束的存在,在該競賽任務(wù)中的多槽值三元組抽取和傳統(tǒng)的重疊三元組抽取并不完全相同。顯然,同重疊三元組一樣,多槽值三元組廣泛存在于真實文本中。對這些特殊類型的三元組進行有效抽取是提升關(guān)系三元組抽取任務(wù)性能的關(guān)鍵。

為有效地解決關(guān)系三元組抽取任務(wù)中的重疊三元組抽取問題和多槽值三元組抽取問題,本文提出了BSLRel模型(binary sequence labeling based cascading relation triple extraction model),一個基于神經(jīng)網(wǎng)絡(luò)的端到端的關(guān)系三元組抽取模型。該模型的主要特點是將關(guān)系三元組抽取任務(wù)轉(zhuǎn)化為二元序列標(biāo)注任務(wù),并通過級聯(lián)結(jié)構(gòu)解決重疊三元組和多槽值三元組的抽取問題。此外,本文還發(fā)現(xiàn)當(dāng)前基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的模型在進行信息融合時并不能體現(xiàn)待融合信息之間的方向性。而方向?qū)τ跍?zhǔn)確理解輸入信息的語義具有重要意義。為此,本文提出了一種名為conditional layer normalization (CLN)的多信息融合結(jié)構(gòu),并將其應(yīng)用在BSLRel模型中,實驗證明,此方法可以取得比其他信息融合方法更好的實驗結(jié)果。

基于BSLRel模型,我們參加了“2020語言與智能技術(shù)競賽”中的關(guān)系三元組抽取任務(wù),最終F1值為0.808 3、取得了總競賽排名第五的成績。

綜上,本論文工作主要貢獻為以下兩點:

(1) 提出BSLRel模型,將關(guān)系三元組抽取任務(wù)轉(zhuǎn)化為了二元序列標(biāo)注任務(wù),并采用級聯(lián)結(jié)構(gòu)為重疊三元組和多槽值三元組的抽取問題提出了一種解決方案。

(2) 提出可以體現(xiàn)信息之間方向性的多信息融合結(jié)構(gòu)conditional layer normalization(CLN),并通過實驗證明了此結(jié)構(gòu)的有效性。

1 相關(guān)工作

當(dāng)前關(guān)系三元組抽取方法按抽取過程可以分為管道抽取方法和聯(lián)合抽取方法。

1.1 管道抽取方法

管道抽取方法是指通過流水線方式進行關(guān)系三元組抽取的一類方法。該類方法的主要特點是將關(guān)系三元組抽取任務(wù)轉(zhuǎn)化為命名實體識別與關(guān)系分類這兩個相對獨立的子任務(wù),并以流水線方式依次完成這兩個子任務(wù)得到最終的關(guān)系三元組結(jié)果。即針對給定輸入文本,該類方法首先識別文本中的命名實體;之后枚舉各種候選實體對,并為每一個候選對進行關(guān)系預(yù)測;最后,根據(jù)預(yù)測結(jié)果得到輸入文本最終的關(guān)系三元組結(jié)果。

早期的命名實體識別主要是采用基于規(guī)則的方法。規(guī)則通常由領(lǐng)域?qū)<液驼Z言學(xué)者耗費大量時間和精力來制定,且只適用于簡單場景,領(lǐng)域的遷移性較差。后來產(chǎn)生了基于機器學(xué)習(xí)的命名實體識別方法,主要有隱馬爾科夫模型、條件隨機場模型等,這些模型都將命名實體識別任務(wù)作為一種序列標(biāo)注任務(wù),即將每個字或者詞都標(biāo)記為一個標(biāo)簽類別。這類方法比基于規(guī)則的方法有了很大改進,大幅減少了人工成本。但這些方法都需要研究者們?nèi)斯ぬ崛∮行У恼Z法特征。基于神經(jīng)網(wǎng)絡(luò)的方法可大大降低模型對人工語法特征的依賴,因而一經(jīng)提出便引起了研究者們的極大注意,有力地促進了命名實體識別任務(wù)的研究。Dong等人[4]提出基于BiLSTM利用CRF來進行中文命名實體識別,捕獲時間序列的特性,提高識別準(zhǔn)確率。Ling等人[5]在BiLSTM中引入注意力機制以關(guān)注長文本的局部特征。Yan等人[6]通過改進的Transformer模型進一步提升了命名實體識別的性能。

對于關(guān)系分類研究,目前的方法按照使用的主要技術(shù)可以分為三類: 基于特征向量的方法、基于核函數(shù)的方法和基于神經(jīng)網(wǎng)絡(luò)的方法?;谔卣飨蛄康姆椒ㄍㄟ^從包含特定實體對的句子中提取語義特征,構(gòu)造特征向量,然后使用支持向量機[7]、最大熵[8]等模型進行關(guān)系分類?;诤撕瘮?shù)的方法充分利用句子的特定組織形式[9],通過設(shè)計核函數(shù)計算句子之間的相似度,并根據(jù)相似度進行分類?;谏窠?jīng)網(wǎng)絡(luò)的關(guān)系分類方法主要使用各種深度神經(jīng)網(wǎng)絡(luò)方法進行關(guān)系分類。Zhou等人[10]提出Att-BiLSTM模型,使用雙向LSTM網(wǎng)絡(luò)來獲取句子中每個單詞的隱狀態(tài)輸出,使用注意力機制來抽取單詞級別特征,通過特定的向量來計算每個單詞對句子表示貢獻的權(quán)重,以得到句子的最終向量表示用以分類。Wu等人[11]在輸入文本中加入位置表示信息,利用預(yù)訓(xùn)練模型BERT取了得優(yōu)異性能。

從關(guān)系三元組抽取過程來看,管道抽取方法會遍歷所有候選實體對,因而理論上可以很好地處理重疊三元組的識別問題。但由于這類方法高度依賴命名實體識別的結(jié)果,容易造成誤差傳遞。另外,由于整個過程將命名實體識別和關(guān)系分類當(dāng)作兩個相對獨立的任務(wù),沒有充分利用二者之間的相關(guān)性,也進一步降低了此類方法在關(guān)系三元組抽取任務(wù)上的性能。

1.2 聯(lián)合抽取方法

為了有效解決管道抽取方法中的誤差傳遞問題,研究者們提出了聯(lián)合抽取的方法。

早期的聯(lián)合模型采用了基于人工特征的結(jié)構(gòu)化學(xué)習(xí)[12-14],很大程度上依賴于人工制作的各類特征。神經(jīng)網(wǎng)絡(luò)的發(fā)展緩解了人工制作特征的問題,但其中一些方法仍然依賴于NLP工具(如POS標(biāo)記器、依賴解析器)[15]。2016年Miwa和Bansal等人[16]提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)的模型,將雙向樹結(jié)構(gòu)的LSTM-RNNs疊加在雙向順序的LSTM-RNNs上,獲得了單詞序列和依賴樹子結(jié)構(gòu)信息,此模型在實體識別和關(guān)系提取任務(wù)上共享參數(shù),加強了兩個任務(wù)之間的相關(guān)性。該方法雖然將兩個任務(wù)整合到了同一個模型當(dāng)中,但依然是兩個分離的過程。

通過序列標(biāo)注的方法來進行關(guān)系三元組抽取是另一種受研究者們關(guān)注較多的聯(lián)合抽取方法。2017年Zheng等[17]根據(jù)關(guān)系種類對實體類型標(biāo)簽進行了相應(yīng)的擴展,并將關(guān)系三元組抽取問題轉(zhuǎn)化為完全的基于序列標(biāo)注的命名實體識別問題。以句子“中國的首都是北京”為例,“北京”在傳統(tǒng)的實體識別任務(wù)中對應(yīng)的兩個標(biāo)注分別是“B、I”,但在該模型中,對應(yīng)的標(biāo)注為“B—首都—尾實體、I—首都—尾實體”。2019年,Yuan等[18]首先生成每個關(guān)系下特定的句子表示,然后對每個句子表示進行基于序列標(biāo)注的命名實體識別,抽取出該關(guān)系下的頭尾實體。

上述兩種方法都不依賴于任何NLP工具,可以有效解決管道抽取方法中的誤差傳遞問題,但都無法應(yīng)對同種關(guān)系下存在多個三元組的情況。

Liu等[19]提出了另外一種基于序列標(biāo)注的關(guān)系三元組抽取方法。首先采用基于序列標(biāo)注的實體識別模塊識別出所有的實體對,再通過一個三維的關(guān)系分類模塊識別出任意實體對之間具有的關(guān)系。這種方法與管道抽取方法類似,都可以涵蓋任何一種三元組重疊情況,而且可以通過共享兩個模塊之間的編碼層使模型整體性能大大提升。但缺點是其使用的三維關(guān)系分類模塊過于龐大,使得模型收斂困難,需要較大的內(nèi)存空間。

從當(dāng)前國內(nèi)外的最新研究成果來看,基于聯(lián)合抽取的方法,尤其是基于序列標(biāo)注的聯(lián)合抽取方法,已成為關(guān)系三元組抽取的主流方法,并在實際應(yīng)用中取得了當(dāng)前的最佳實驗結(jié)果。

2 模型介紹

本文將提出的關(guān)系三元組抽取模型稱為BSLRel(binary sequence labeling based cascading relation triple extraction model),一個基于神經(jīng)網(wǎng)絡(luò)的端到端的關(guān)系三元組抽取模型。其主要思路是將關(guān)系三元組抽取任務(wù)轉(zhuǎn)化為二元序列標(biāo)注任務(wù),并通過級聯(lián)結(jié)構(gòu)解決重疊三元組和多槽值三元組的抽取問題。在模型中,首先在輸入句子中進行三元組的頭實體識別,之后再對每個頭實體識別其對應(yīng)的關(guān)系以及尾實體。BSLRel模型將關(guān)系和object中的“@value”槽位進行共同抽取,避免了過長的級聯(lián)結(jié)構(gòu),因而,BSLRel模型不僅可以解決重疊三元組和多槽值三元組的抽取問題,還可以通過縮短級聯(lián)長度的方式,緩解錯誤累積問題。并且,由于模型在整個過程中將三元組抽取問題分解為兩個相對獨立的子問題,所以從整體模型層面來講,并不需要對重疊三元組抽取以及多槽值三元組抽取進行特殊的處理,其流程與普通的單槽值三元組抽取完全一致。這大大降低了模型的復(fù)雜度,使得本文提出的模型具有良好的關(guān)系三元組抽取性能以及很好的系統(tǒng)魯棒性。

本文提出的BSLRel模型的整體結(jié)構(gòu)如圖1所示,可以看出,該模型從功能上可以分為句子表示層、單槽值抽取層和多槽值抽取層三個模塊。接下來將對這些模塊分別進行詳細(xì)介紹。

2.1 句子表示層

在句子表示層,本文使用預(yù)訓(xùn)練的BERT模型為輸入句子中的每個token生成一個向量表示。得到一個針對輸入句子所有token的向量序列,本文把這個向量序列記為H1。如圖1所示,H1將在隨后的多個處理模塊中被共享使用。

2.2 單槽值抽取層

單槽值抽取層的目的是抽取形式為“(subject, predicate,@value)”的單槽值三元組,抽取流程為先抽取所有的subject實體,再抽取每個subject對應(yīng)的predicate和object結(jié)構(gòu)體的@value槽位。

(1)subject的抽取。如圖1所示,這一模塊首先對H1采用Layer Normalization(LN)方法進行歸一化,并把歸一化的結(jié)果記為H2,這一過程如式(1)、式(2)所示。

LN方法是神經(jīng)網(wǎng)絡(luò)架構(gòu)常用的數(shù)據(jù)歸一化方法之一,目的是把數(shù)據(jù)分布映射到一個確定的區(qū)間,加速收斂,緩解梯度爆炸或消失的問題,讀者可以參考BERT原始論文[20]獲得關(guān)于BERT和LN的更多內(nèi)容,在此不再贅述。

圖1 BSLRel模型的整體架構(gòu)

ce(p,q)=-[qlogp+(1-q)log(1-p)]

(5)

(6)

在本模塊中,一個關(guān)鍵操作就是將前面處理層得到的信息進行有效融合。傳統(tǒng)的多信息融合方法,如多信息相加、相乘等,常常忽略信息之間的方向性,但在關(guān)系三元組中,這種方向性卻是一個重要信息。以表1為例,在schema約束下,“(正大綜藝,主持人,王雪純)”是一組正確的三元組,而“(王雪純,主持人,正大綜藝)”是一組錯誤的三元組,是如果將“正大綜藝”“主持人”“王雪純”這三個信息按照傳統(tǒng)的信息融合策略,直接相乘或相加,則會得到相同的融合結(jié)果。換句話說,正確的三元組和錯誤的三元組在分別進行信息融合之后,得到兩個相同的結(jié)果,這顯然是不合理的。因此,傳統(tǒng)的信息融合方式并不能體現(xiàn)信息之間的方向性,使用一個能體現(xiàn)關(guān)系三元組各個部分之間方向性的多信息融合結(jié)構(gòu)具有重要意義。

受圖像處理中流行的多信息融合結(jié)構(gòu): conditional batch normalization(CBN)[21]啟發(fā),本文提出了一種新的信息融合方法: conditional layer normalization(CLN)。CLN和CBN的做法類似,都是將歸一化結(jié)構(gòu)中對應(yīng)的偏置和權(quán)重變成關(guān)于待融合條件的函數(shù)。CLN的具體計算如式(7)所示。

(7)

其中,y為輸入CLN結(jié)構(gòu)的特征信息,cβ和cγ分別為輸入的兩個待融合的條件信息。

從式(7)可以看出,CLN通過兩個不同的可訓(xùn)練權(quán)重W1和W2,將條件信息cγ和cβ映射到不同的空間,以此體現(xiàn)記錄條件的方向信息。另外,本文的實驗部分表明,兩個條件的傳入位置交換之后,模型效果會大打折扣,這也驗證了CLN結(jié)構(gòu)對兩個條件的方向信息的敏感性。

(8)

(11)

2.3 多槽值抽取層

多槽值抽取層的作用是依據(jù)關(guān)系的schema約束,對在單槽值抽取層中預(yù)測的單槽值三元組的其他槽位進行補充抽取。

(12)

對比式(8)和式(12)可知,與單槽值抽取層不同,多槽值抽取層中的CLN結(jié)構(gòu)的兩個條件輸入cγ和cβ是不同的,式(12)中,subject和@value的編碼分別作為cβ條件和cγ條件傳入CLN結(jié)構(gòu)。

在這一層中,模型將根據(jù)二分類交叉熵計算槽位損失Loss_o,具體過程如式(15)所示。

(15)

2.4 訓(xùn)練過程

BSLRel模型將關(guān)系三元組的抽取任務(wù)轉(zhuǎn)化為級聯(lián)的二元序列標(biāo)注任務(wù),因此本文將所有子任務(wù)的平均損失作為模型的整體損失Loss,計算過程如式(16)所示。

Loss=(Loss_s+Loss_pv+Loss_o)/3

(16)

本文采用Adam算法進行梯度下降訓(xùn)練。在訓(xùn)練階段,BSLRel模型采用Teacher Forcing策略進行訓(xùn)練: ①在predicate和“@value”槽位的抽取結(jié)構(gòu)中(即式(8)中),傳入訓(xùn)練集中真實的subject實體sk1進行條件融合; ②在多槽值抽取層(即式(12)中),傳入訓(xùn)練集中真實的subject實體sk1和“@value”槽位vk2進行條件融合。而在預(yù)測階段,BSLRel模型只使用預(yù)測到的信息進行更深層次的運算。

2.5 其他數(shù)據(jù)處理操作

2.5.1 實體識別

在BSLRel模型中,實體信息以兩個分別代表實體的開始位置和結(jié)束位置的二元標(biāo)注序列存儲,因此從這兩個二元標(biāo)注序列中解碼出所有實體是不可缺少的步驟。

當(dāng)句子中包含多個實體時,模型首先根據(jù)預(yù)測出的二元標(biāo)注序列,選取出所有可能的實體的開始位置和結(jié)束位置。然后從前到后遍歷所有開始位置,選取距離每一個開始位置最近且在其后面的結(jié)束位置進行配對,如果沒有符合條件的結(jié)束位置,則不進行配對。

例如,在圖1中的樣例中,以“周”為開始位置,在“周”之后,且離“周”最近的結(jié)束位置為“杰”,因此可以匹配到實體“周杰”。

2.5.2 數(shù)據(jù)預(yù)處理

為了提高模型在不規(guī)范文本上的泛化能力,同時也為了豐富可訓(xùn)練樣本,在模型訓(xùn)練之前,本文通過3種數(shù)據(jù)預(yù)處理操作來破壞句子的規(guī)范性: ①利用結(jié)巴分詞工具隨機刪除或增加句中的若干詞語; ②將多個短句合并成一個長句,或者將長句拆分成多個短句; ③將句中的關(guān)系三元組隨機替換為其他相同關(guān)系的頭尾實體。實驗證明,這種破壞句子規(guī)范性的預(yù)處理操作可以有效提升模型性能。

2.5.3 模型融合和答案后處理

模型的融合是提升模型性能的有效方法。在本次比賽中,我們把句子表示層使用的預(yù)訓(xùn)練模型分別設(shè)置為NEZHA-large,RoBERTa-large和BERT,再使用投票法得出三元組的最終預(yù)測結(jié)果。

此外,為了提升答案的召回率,我們將train數(shù)據(jù)集和dev數(shù)據(jù)集包含的所有三元組標(biāo)注構(gòu)建成一個三元組數(shù)據(jù)集,對模型生成的答案按照遠程監(jiān)督的思想進行補充。并利用規(guī)則對一些錯誤的答案進行糾正或刪除,以提升精確率。

3 實驗及討論

3.1 數(shù)據(jù)集介紹

本文采用2020語言與智能技術(shù)競賽關(guān)系三元組抽取任務(wù)提供的DuIE 2.0數(shù)據(jù)集,對提出的方法進行性能驗證。該數(shù)據(jù)集是當(dāng)前規(guī)模最大的中文關(guān)系三元組抽取數(shù)據(jù)集,其中包含超過21萬的中文句子及48個已定義好的schema約束。該數(shù)據(jù)集來源于微博、貼吧、百度知道等真實場景,因此包含了部分并不規(guī)范的口語化文本,對模型的泛化能力具有很高的要求。并且DuIE 2.0不僅包含大量的重疊三元組,還對關(guān)系三元組中的object實體進行了多槽值擴展(可參考前文表1中提供的樣例)。

3.2 實驗設(shè)置

在本文方法中,一些基本的超參數(shù)設(shè)置如下。輸入的最大句子長度設(shè)置為256,訓(xùn)練epoch設(shè)置為20,batch設(shè)置為20,判斷實體邊界的識別閾值θ設(shè)置為0.5。訓(xùn)練過程中采用Adam算法進行優(yōu)化,初始學(xué)習(xí)率設(shè)置為2e-5,損失函數(shù)采用二分類的交叉熵。

3.3 實驗結(jié)果

在本節(jié)中,首先對BSLRel模型的整體性能進行評價,然后評價模型對重疊三元組以及多槽值三元組的抽取能力,之后對2.5節(jié)中的各種數(shù)據(jù)處理操作和模型融合操作進行消融實驗,評價各個部分對模型的貢獻,最后對本文提出的CLN方法的有效性進行驗證。

需要注意的是,在本次比賽中,官方排名以及得分都是根據(jù)DuIE 2.0數(shù)據(jù)集中的test集合,而該集合目前只發(fā)布了句子集合,并沒有發(fā)布正確的三元組標(biāo)注結(jié)果,只能將預(yù)測的結(jié)果提交到比賽網(wǎng)站進行評測,但是,目前評測系統(tǒng)已經(jīng)關(guān)閉。因此,本文的大部分實驗均在DuIE 2.0的dev集合上進行。

本文將選用2020語言與智能技術(shù)競賽官方提供的一個可對多槽值三元組進行抽取的系統(tǒng)Info-Extractor 2.0作為基線系統(tǒng)。InfoExtractor 2.0設(shè)計了一種結(jié)構(gòu)化的標(biāo)記策略來直接調(diào)優(yōu)預(yù)訓(xùn)練語言模型ERNIE,通過這種策略可以一次性提取多個重疊的實體對。

3.3.1 模型的整體表現(xiàn)

本節(jié)分別對比了InfoExtractor 2.0、未經(jīng)2.4節(jié)介紹的數(shù)據(jù)處理操作的BSLRel模型和經(jīng)過2.4節(jié)介紹的數(shù)據(jù)處理操作的BSLRel模型這三個系統(tǒng)在dev集合和test集合上的性能,結(jié)果如表2所示。從中可以看出,與InfoExtractor 2.0相比,BSLRel模型在不經(jīng)任何數(shù)據(jù)處理和模型融合時,在dev集合上取得了更好的結(jié)果。具體的,BSLRel模型在precision和recall這兩個指標(biāo)上相對于基線系統(tǒng)而言分別提升了2.57%、2.76%。

在最終的線上結(jié)果中,本文模型經(jīng)過數(shù)據(jù)處理和模型融合之后,取得了precision值為84.23%、recall值為77.7%、最終F1值為80.83%的結(jié)果,在所有參賽隊伍中成績總排名列第5(以模型在test集合的F1分?jǐn)?shù)為最終排名依據(jù))。

關(guān)于表2需要說明兩點: ①線上評測系統(tǒng)已經(jīng)關(guān)閉。因此,BSLRel單模型在test集合上的分?jǐn)?shù)沒有測試到。②將預(yù)測的test集合的三元組標(biāo)注情況提交到線上進行評測時,評測系統(tǒng)會使用一些方式保證評價的公平性,比如,構(gòu)建同名詞庫提高標(biāo)注對錯判斷的容錯率、對于特殊字符進行特殊處理、人工校驗等等。因此表2所示的模型在dev集合和test集合之間的分?jǐn)?shù)不具有可比較性。

表2 BSLRel和InfoExtractor 2.0整體對比

3.3.2 模型在三元組類型上的消融實驗

為了確定模型是否能對重疊三元組和多槽值三元組進行有效抽取,本文從DuIE 2.0的dev集合中抽取出四類句子的集合,集合A: 既不包含重疊三元組,也不包含多槽值三元組。集合B: 僅包含重疊三元組。集合C: 僅包含多槽值三元組。集合D: 兩種類型的三元組都包含。我們對這四類句子集合使用BSLRel模型和InfoExtractor 2.0進行測試,結(jié)果如表3所示。

表3 BSLRel和InfoExtractor 2.0在不同句子集合上的評分

可以看出,InfoExtractor 2.0在四個集合上的表現(xiàn)波動明顯,F(xiàn)1最大相差4.08%。而BSLRel模型的分?jǐn)?shù)則差距不大,F(xiàn)1最大分差為0.57%。因此,相比于InfoExtractor 2.0,BSARel模型對于句子中包含的三元組類型更具有魯棒性。

并且可以發(fā)現(xiàn),BSLRel模型在包含重疊三元組的集合B上的表現(xiàn)甚至要略好于沒有包含重疊三元組的集合A,這是因為BSLRel模型從設(shè)計之初就以更好的抽取重疊三元組為重要目標(biāo)。綜上,可以證明BSLRel模型可以對重疊三元組和多槽值三元組進行有效抽取。

同時可以發(fā)現(xiàn),雖然BSLRel模型在4種句子集合上的表現(xiàn)差別不大,但是在涉及多槽值三元組抽取的C和D集合上的表現(xiàn)卻略差于另外兩個集合,我們認(rèn)為這主要是因為多槽值的抽取結(jié)構(gòu)處于整個級聯(lián)結(jié)構(gòu)的最后一層,因此容易受到誤差傳遞的影響。

3.3.3 模型關(guān)于數(shù)據(jù)處理的消融實驗

本節(jié)將對BSLRel模型中CLN、數(shù)據(jù)增強、模型融合、答案后處理等四個模塊對三元組抽取性能的貢獻進行相應(yīng)的評價。

我們將BSLRel模型中利用CLN結(jié)構(gòu)進行信息融合的方法改為將條件向量與句子向量進行拼接實現(xiàn)融合的方法,并以后者作為baseline系統(tǒng)。之后,在此baseline系統(tǒng)之上依次進行CLN方法替換、加入數(shù)據(jù)增強、加入模型融合、加入答案后處理等操作,最終的實驗結(jié)果如表4所示。

表4 四種策略在dev集合上的表現(xiàn)

從表4可知,CLN結(jié)構(gòu)和模型融合為BSLRel模型帶來的性能漲幅最大,分別為1.24%和1.56%。

3.3.4 模型關(guān)于CLN的消融實驗

本節(jié)在模型中對比了以下四種信息融合結(jié)構(gòu):

? 基于拼接的信息融合方法,即將subject和@value的實體表示拼接在句子表示后面,并將該方法記作Mod_con。

? 基于相加的信息融合方法,即將subject實體表示、@value的實體表示和句子表示三者相加,并將該方法記作Mod_add。

? 基于向量輸入的信息融合方法,即將subject和object的實體表示加和成為一個向量表示,然后作為單條件傳入CLN結(jié)構(gòu),并將該方法記作CLN_single。

? 條件輸入位置進行交換的CLN方法,即將subject實體和@value實體在CLN結(jié)構(gòu)中的傳入位置進行交換,并將此時的模型記作CLN_rev。

相應(yīng)的實驗結(jié)果如表5所示,從中可以得出以下結(jié)論。

表5 不同條件融合方式在dev集合的表現(xiàn)

(1) 基于CLN結(jié)構(gòu)的信息融合方法CLN_single、CLN_rev取得了明顯優(yōu)于傳統(tǒng)的信息融合方法Mod_add和Mod_con的效果。這證明了本文提出的CLN方法具有更好的信息融合能力。

(2) Mod_add、CLN_single這兩種忽略信息方向性的多信息融合方法,得分低于Mod_con、CLN_rev這兩種可以體現(xiàn)信息方向性的方法。這證明了使用一個對信息方向性敏感的多信息融合結(jié)構(gòu)的重要性。

(3) 比較CLN_rev和BSLRel的結(jié)果可知,將subject實體和@value實體在CLN結(jié)構(gòu)中的傳入位置進行交換之后,模型的性能受到了一定的影響,也證明了CLN結(jié)構(gòu)對于輸入條件信息輸入位置的敏感性。

3.4 BSLRel模型的進一步討論

首先,對BSLRel模型目前存在的不足進行分析。

(1) 為了分析BSLRel模型對于不同長度句子的三元組抽取能力,本文將DuIE 2.0的dev集合中的句子按照長度從短到長分為5類,分別對這5類進行預(yù)測,并統(tǒng)計分?jǐn)?shù),結(jié)果如圖2所示,可以發(fā)現(xiàn)BSLRel模型在長文本上的抽取效果相較于短文本明顯較差。我們認(rèn)為主要原因在于,BSLRel模型雖然可以通過級聯(lián)的二元序列標(biāo)注結(jié)構(gòu)對重疊三元組和多槽值三元組進行有效抽取,但同時因為這種基于二元序列標(biāo)注的輸出形式,導(dǎo)致輸出矩陣過于稀疏,0/1標(biāo)注的類別嚴(yán)重不平衡,并且句子序列越長,這種類別不平衡的問題就越嚴(yán)重,因此就有了上述結(jié)果。

圖2 BSLRel在不同句子長度上的表現(xiàn)

(2) 對BSLRel模型在三元組中subject、predicate、@value槽位和其他其余槽位的抽取能力進行分析,結(jié)果如圖3所示。從中可以發(fā)現(xiàn),模型對subject的抽取能力相比于其他部分而言是最差的。我們認(rèn)為,這是因為模型在對subject進行抽取時,相較于其他部分并沒有接收到更多的有效信息,即模型在不明確三元組的其他信息,只對subject單獨進行抽取時,效果往往不會很好。所以,不難得到進一步的結(jié)論: 雖然BSLRel模型通過盡量縮短級聯(lián)結(jié)構(gòu)的方式,來避免誤差傳遞問題,但是由于模型對于subject的抽取部分處于整個級聯(lián)結(jié)構(gòu)的最底層,且效果最差,因此,BSLRel模型仍然會存在一定的誤差傳遞問題。

圖3 BSLRel在不同抽取目標(biāo)上的表現(xiàn)

然后,對本文中將重疊三元組和多槽值三元組進行區(qū)分的原因做進一步的解釋。

直觀來看,只需要將關(guān)系和object的槽位類型進行拼接,即可將多槽值三元組轉(zhuǎn)化為多個傳統(tǒng)的三元組。比如,表1中的單槽值三元組就可以轉(zhuǎn)化成“(正大綜藝,主持人_@value,王雪純)”這種傳統(tǒng)的三元組,多槽值三元組可以轉(zhuǎn)化成兩個共享頭實體的傳統(tǒng)三元組: “(王雪純,配音_@value,晴雯)”和“(王雪純,配音_inWork,紅樓夢)”。

依據(jù)這個思路,本次比賽的一些參賽隊伍將“多槽值三元組”和“重疊三元組”這兩個概念進行統(tǒng)一,使用“先抽取多個頭實體重疊的傳統(tǒng)三元組,再將這些重疊三元組還原成所需要的多槽值三元組”的模型來進行多槽值三元組的抽取。但是這種模型的處理方式將會帶來以下問題:

(1) 將關(guān)系和槽位類型進行拼接的做法,忽略了@value槽位的必要性,會導(dǎo)致模型進行錯誤抽取。比如在表1所示的樣例中,上述系統(tǒng)將抽取出錯誤的三元組“(王雪純,配音_inWork,漢江怪物)”。因為“@value”類型的槽位是object結(jié)構(gòu)體不可缺少的,并且文本中沒有出現(xiàn)該三元組對應(yīng)的“@value”類型的槽位,即并沒有提及“王雪純在《漢江怪物》中為哪個角色配音”,因此這個看似正確的三元組不應(yīng)該被抽取出來。

(2) 將關(guān)系和槽位類型進行拼接的做法,將會使“@value”槽位無法和其余槽位進行正確匹配。例如,對于表1中的句子,上述系統(tǒng)將會抽取出“(王雪純,配音_@value,晴雯)”、“(王雪純,配音_inWork,紅樓夢)”、“(王雪純,配音_@value,孫藝珍)”和“(王雪純,配音_inWork,外出)”這四個三元組,很明顯,上述系統(tǒng)并不能確認(rèn)兩個“@value”槽位的三元組和另外兩個“inWork”槽位之間的對應(yīng)關(guān)系。因此,即使上述模型可以正確地抽取出這四個傳統(tǒng)三元組,但仍將它們無法還原成表1所示的多槽值三元組。

基于上述兩個問題的考慮,本文將多槽值三元組和重疊三元組這兩個概念進行了區(qū)分。

4 結(jié)語

本文提出了BSLRel,一種級聯(lián)的關(guān)系三元組抽取模型,將關(guān)系三元組抽取任務(wù)轉(zhuǎn)化為了二元序列標(biāo)注任務(wù),并針對關(guān)系三元組的實體對之間的方向性,提出了一種有效的多信息融合方法CLN(conditional layer normalization)。

實驗結(jié)果顯示,BSLRel模型可以對重疊關(guān)系三元組和多槽值關(guān)系三元組進行有效抽取?;诒疚乃岢龅哪P?,我們最終在“2020語言與智能技術(shù)競賽”舉辦的關(guān)系三元組抽取任務(wù)中取得了較好的比賽成績。

在實驗中,本文也發(fā)現(xiàn)基于二元序列標(biāo)注的BSLRel模型存在著類別不平衡問題和誤差傳遞問題,這將是我們進一步改進模型的方向。

猜你喜歡
三元組實體融合
基于帶噪聲數(shù)據(jù)集的強魯棒性隱含三元組質(zhì)檢算法*
村企黨建聯(lián)建融合共贏
融合菜
特征標(biāo)三元組的本原誘導(dǎo)子
從創(chuàng)新出發(fā),與高考數(shù)列相遇、融合
《融合》
前海自貿(mào)區(qū):金融服務(wù)實體
中國外匯(2019年18期)2019-11-25 01:41:54
關(guān)于余撓三元組的periodic-模
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
振興實體經(jīng)濟地方如何“釘釘子”
墨竹工卡县| 安国市| 浪卡子县| 星座| 堆龙德庆县| 新丰县| 元江| 福建省| 天祝| 梅河口市| 青神县| 宽甸| 呼伦贝尔市| 莆田市| 通辽市| 柯坪县| 遵化市| 本溪市| 台南市| 江安县| 武夷山市| 泰顺县| 津南区| 张掖市| 隆林| 凤阳县| 花莲县| 临澧县| 迁安市| 崇义县| 长沙市| 清原| 桦南县| 鲁山县| 麻江县| 辽中县| 新巴尔虎左旗| 福清市| 南靖县| 灵寿县| 龙门县|