《Span-Based Joint Entity and Relation Extraction with Transformer Pre-Training》閱讀筆記
預(yù)備知識(shí):
1.什么是束搜索算法(beam search)?
beam search是一種用于許多自然語(yǔ)言處理和語(yǔ)音識(shí)別模型的算法,作為最終決策層,用于在給定目標(biāo)變量(如最大概率或下一個(gè)輸出字符)的情況下選擇最佳輸出。
2.什么是條件隨機(jī)場(chǎng)(Conditional Random Field ,CRF)?
CRF是一類(lèi)統(tǒng)計(jì)建模方法,通常應(yīng)用于模式識(shí)別和機(jī)器學(xué)習(xí),并用于結(jié)構(gòu)化預(yù)測(cè)。分類(lèi)器預(yù)測(cè)單個(gè)樣本的標(biāo)簽時(shí)不考慮“鄰近”樣本,而CRF可以考慮上下文。
3.ELMo模型是如何工作的?
與Glove和Word2Vec不同,ELMo使用包含該單詞的完整句子來(lái)表示單詞的嵌入。因此,ELMo嵌入能夠捕獲句子中使用的單詞的上下文,并且可以為不同句子中不同上下文中使用的同一單詞生成不同的嵌入。
本文提出了SpERT,它是一種基于跨度的聯(lián)合實(shí)體和關(guān)系抽取的注意力模型。該模型的核心思想是在BERT嵌入上進(jìn)行輕量級(jí)的推理,實(shí)現(xiàn)實(shí)體識(shí)別和過(guò)濾,以及使用局部的、無(wú)標(biāo)記的上下文表示的關(guān)系分類(lèi)。為了提高模型的泛化能力,該模型使用強(qiáng)大的句內(nèi)負(fù)樣本進(jìn)行訓(xùn)練,這些負(fù)樣本可以在單個(gè)BERT通道中高效地提取。這些方面促進(jìn)了對(duì)句子中所有跨度的搜索。在消融實(shí)驗(yàn)中,本文展示了預(yù)訓(xùn)練、強(qiáng)負(fù)采樣和本地化上下文對(duì)模型性能的提升作用。本文的模型在多個(gè)數(shù)據(jù)集上的聯(lián)合實(shí)體和關(guān)系抽取任務(wù)上,顯著超過(guò)了以前的工作,達(dá)到了2.6%的F1分?jǐn)?shù)的提升。
1 INTRODUCTION
BERT、GPT、TransformerXL、RoBERTa和MASS等Transformer網(wǎng)絡(luò),近期在NLP研究領(lǐng)域引起了強(qiáng)烈關(guān)注。這些模型利用多頭自注意力機(jī)制作為捕捉詞之間交互的關(guān)鍵機(jī)制,從而生成能夠消歧同音異義詞并表達(dá)語(yǔ)義和句法模式的上下文敏感嵌入。Transformer網(wǎng)絡(luò)通常在大規(guī)模文檔集合上使用語(yǔ)言建模目標(biāo)進(jìn)行預(yù)訓(xùn)練,然后將預(yù)訓(xùn)練的模型遷移到有相對(duì)較少監(jiān)督訓(xùn)練數(shù)據(jù)的目標(biāo)任務(wù)上,從而在許多NLP任務(wù)中取得最先進(jìn)的性能,例如問(wèn)答或情境情感檢測(cè)。
本文探討了Transformer網(wǎng)絡(luò)在關(guān)系抽取中的應(yīng)用。關(guān)系抽取的任務(wù)是給定一組預(yù)定義的目標(biāo)關(guān)系和一個(gè)句子,例如“Leonardo DiCaprio starred in Christopher Nolan’s thriller Inception”,抽取出諸如(“Leonardo DiCaprio”, Plays-In, “Inception”)或(“Inception”, Director, “Christopher Nolan”)這樣的三元組。該任務(wù)包括兩個(gè)子問(wèn)題,即實(shí)體識(shí)別和關(guān)系分類(lèi)。雖然常見(jiàn)的方法分別處理這兩個(gè)問(wèn)題,但最近的工作使用聯(lián)合模型同時(shí)進(jìn)行兩個(gè)步驟。這種聯(lián)合方法很有潛力,因?yàn)橐环矫?,?shí)體的知識(shí)(例如“Leonardo DiCaprio”是一個(gè)人)對(duì)于選擇關(guān)系是有意義的,而另一方面,關(guān)系的知識(shí)(Director)對(duì)于識(shí)別實(shí)體是有用的。
本文提出了一個(gè)基于Transformer網(wǎng)絡(luò)BERT的聯(lián)合實(shí)體和關(guān)系抽取模型,并且命名為SpERT。本文采用了基于跨度的方法:任何詞的子序列(或跨度)都構(gòu)成一個(gè)潛在的實(shí)體,而任何兩個(gè)跨度之間都可能存在關(guān)系。本文的模型對(duì)所有這些假設(shè)進(jìn)行了全面的搜索。與基于BIO/BILOU標(biāo)簽的先前工作不同,基于跨度的方法可以識(shí)別重疊的實(shí)體,例如“codeine intoxication”中的“codeine”。由于Transformer模型如BERT在計(jì)算上很昂貴,本文的方法只對(duì)每個(gè)輸入句子進(jìn)行一次前向傳播,并對(duì)得到的嵌入進(jìn)行輕量級(jí)的推理。與其他最近的方法相比,本文的模型具有更簡(jiǎn)單的下游處理,使用淺層的實(shí)體/關(guān)系分類(lèi)器。本文使用了沒(méi)有特殊標(biāo)記的局部上下文表示,并在單個(gè)BERT通道中從同一句子中抽取負(fù)樣本。這些方面有助于實(shí)現(xiàn)高效的訓(xùn)練和對(duì)所有跨度的全面搜索。
2 RELATED WORK
傳統(tǒng)方法:分別使用一個(gè)模型來(lái)檢測(cè)實(shí)體和分類(lèi)關(guān)系,這些方法都假設(shè)實(shí)體已經(jīng)被預(yù)先標(biāo)注。(Transformer在關(guān)系分類(lèi)中的應(yīng)用:對(duì)輸入文本進(jìn)行一次編碼,然后對(duì)編碼后的嵌入進(jìn)行分類(lèi)。)
本文的方法:同時(shí)檢測(cè)實(shí)體和關(guān)系,而不需要標(biāo)注實(shí)體。
Joint Entity and Relation Extraction
實(shí)體和關(guān)系的聯(lián)合抽取是從非結(jié)構(gòu)化文本中同時(shí)檢測(cè)實(shí)體提及并識(shí)別它們的語(yǔ)義關(guān)系的任務(wù)。大多數(shù)現(xiàn)有的方法通過(guò)序列到序列的學(xué)習(xí)來(lái)檢測(cè)實(shí)體,即使用BIO或BILOU方案給每個(gè)詞分配一個(gè)標(biāo)簽,表示它是否屬于某個(gè)實(shí)體類(lèi)型。
Miwa和Sasaki與Gupta等人將聯(lián)合實(shí)體和關(guān)系抽取視為一個(gè)表格填充問(wèn)題。在這種方法中,每個(gè)單元格對(duì)應(yīng)于句子中的一個(gè)詞對(duì),對(duì)角線的單元格用BILOU標(biāo)簽表示實(shí)體,非對(duì)角線的單元格用關(guān)系類(lèi)型表示實(shí)體對(duì)之間的關(guān)系。關(guān)系類(lèi)型是通過(guò)將實(shí)體的最后一個(gè)詞映射到一個(gè)預(yù)定義的關(guān)系集合來(lái)預(yù)測(cè)的。表格是用一個(gè)評(píng)分函數(shù)來(lái)填充的,該函數(shù)基于多個(gè)特征,如詞性標(biāo)簽和實(shí)體標(biāo)簽。然后使用束搜索來(lái)找到一個(gè)最優(yōu)的表格填充方案,即最能表示句子中的實(shí)體和關(guān)系的方案。
Miwa和Bansal提出了一個(gè)聯(lián)合實(shí)體和關(guān)系抽取的堆疊模型。它由兩個(gè)部分組成:一個(gè)雙向順序LSTM用BILOU方案標(biāo)記實(shí)體,一個(gè)雙向樹(shù)形RNN根據(jù)實(shí)體對(duì)的依存分析樹(shù)預(yù)測(cè)關(guān)系類(lèi)型。Zhou等人采用了一個(gè)基于BILOU的雙向LSTM和CNN的組合,從輸入句子中提取高層特征表示。該方法只對(duì)最可能的關(guān)系進(jìn)行命名實(shí)體抽取,因此預(yù)測(cè)的標(biāo)簽數(shù)量較少。Zheng等人先用雙向LSTM編碼輸入詞,再用另一個(gè)LSTM輸出實(shí)體邊界(類(lèi)似于BILOU方案)和關(guān)系類(lèi)型。該方法未考慮一個(gè)實(shí)體與多個(gè)其他實(shí)體相關(guān)的情況。Bekoulis等人也用雙向LSTM編碼句子中的每個(gè)詞,但使用了字符嵌入和Word2Vec嵌入作為輸入表示。他們用條件隨機(jī)場(chǎng)(CRF)提取實(shí)體邊界和標(biāo)簽,并能檢測(cè)單個(gè)實(shí)體與多個(gè)其他實(shí)體相關(guān)的情況。
Nguyen和Verspoor提出了一個(gè)基于BiLSTM-CRF的模型來(lái)進(jìn)行實(shí)體識(shí)別,將注意力機(jī)制應(yīng)用于聯(lián)合模型中,它將token表示與關(guān)系分類(lèi)任務(wù)共享,并學(xué)習(xí)了BILOU實(shí)體標(biāo)簽的嵌入。在關(guān)系分類(lèi)中,他們使用了一個(gè)雙仿射注意力層來(lái)處理實(shí)體之間的交互。Chi等人也使用了類(lèi)似的BiLSTM表示,他們用BIO標(biāo)簽檢測(cè)實(shí)體,并在訓(xùn)練中加入了一個(gè)輔助語(yǔ)言建模目標(biāo)。關(guān)系分類(lèi)器則關(guān)注BiLSTM編碼。然而,這兩項(xiàng)工作都沒(méi)有使用Transformer類(lèi)型的網(wǎng)絡(luò)。
與本文的工作更接近的是Li等人的最新方法,他們也將BERT作為核心模型,并使用了一個(gè)問(wèn)答框架,其中利用實(shí)體和關(guān)系特定的問(wèn)題來(lái)引導(dǎo)模型找到頭實(shí)體和尾實(shí)體。該模型需要手動(dòng)定義每個(gè)關(guān)系的(偽)問(wèn)題模板,例如“找到一個(gè)屬于<?>的武器”。他們根據(jù)BERT嵌入,用BILOU類(lèi)型的標(biāo)簽按關(guān)系方式檢測(cè)實(shí)體。與這種方法不同的是,本文的模型不需要明確地制定問(wèn)題。而且,本文的方法是基于跨度的,而不是基于BILOU的。
Span-based Approaches
由于基于BIO/BILOU的模型只給每個(gè)token分配一個(gè)標(biāo)簽,所以一個(gè)token不能同時(shí)屬于多個(gè)實(shí)體,這樣就無(wú)法處理重疊(通常是嵌套)的實(shí)體。例如,在這句話(huà)“福特的芝加哥工廠雇傭了4,000名工人”中,“芝加哥”和“芝加哥工廠”都是實(shí)體。為了解決這個(gè)問(wèn)題,一些研究者提出了基于跨度的方法,它們對(duì)所有可能的跨度進(jìn)行搜索,并能夠覆蓋重疊的實(shí)體。這種方法在一些任務(wù)上有很好的表現(xiàn),比如共指消解 、語(yǔ)義角色標(biāo)注 ,以及通過(guò)學(xué)習(xí)預(yù)測(cè)跨度而不是單個(gè)詞來(lái)改進(jìn)語(yǔ)言建模。
最近,一些基于跨度的模型也用于聯(lián)合實(shí)體和關(guān)系抽取,它們使用從BiLSTM和連接的ELMo、詞和字符嵌入中派生的跨度表示,并在下游任務(wù)中共享這些表示。Dixit和Al-Onaizan關(guān)注聯(lián)合實(shí)體和關(guān)系抽取,Luan等人在假設(shè)空間上進(jìn)行了一次beam搜索,估計(jì)哪些跨度參與了實(shí)體類(lèi)別、關(guān)系和共指。Luan等人的后續(xù)模型DyGIE增加了一個(gè)圖傳播步驟來(lái)捕捉跨度的交互。他們構(gòu)建了一個(gè)動(dòng)態(tài)跨度圖,其中嵌入使用學(xué)習(xí)的門(mén)控機(jī)制進(jìn)行傳播。利用這種跨度表示的改進(jìn),他們展示了進(jìn)一步的改進(jìn)。最近,Wadden等人的DyGIE++用BERT替換了BiLSTM編碼器。DyGIE++是目前唯一基于Transformer的跨度方法,用于聯(lián)合實(shí)體和關(guān)系抽取。與DyGIE和DyGIE++不同,本文的模型使用了一個(gè)更簡(jiǎn)單的下游處理,省略了任何圖傳播,使用淺層實(shí)體和關(guān)系分類(lèi)器。相反,本文發(fā)現(xiàn)本地化的上下文表示和強(qiáng)負(fù)采樣是至關(guān)重要的。本文在實(shí)驗(yàn)部分包括了與DyGIE++的定量比較。
3 APPROACH

本文的模型基于預(yù)訓(xùn)練的BERT模型,如圖1所示。首先,對(duì)輸入句子進(jìn)行分詞,得到n個(gè)字節(jié)對(duì)編碼(BPE)token [28]。BPE token是一種將不常見(jiàn)的詞分解為常見(jiàn)的子詞(如treehouse分解為tree和house)的方法,這樣可以減少詞匯表的大小,同時(shí)處理詞匯表外的詞。然后,將BPE token輸入BERT,得到一個(gè)長(zhǎng)度為n+1的嵌入序列
,其中最后一個(gè)token
是一個(gè)特殊的分類(lèi)器token,用于捕獲整個(gè)句子的上下文信息。接下來(lái),在所有token子序列(或跨度)中檢測(cè)實(shí)體,而不是像經(jīng)典的關(guān)系分類(lèi)那樣只檢測(cè)預(yù)定義的實(shí)體。例如,token序列(we,will,rock,you)對(duì)應(yīng)的跨度有(we),(we,will),(will,rock,you)等。本文將每個(gè)跨度分類(lèi)為一個(gè)實(shí)體類(lèi)型,并過(guò)濾掉非實(shí)體的跨度。最后,將剩余的實(shí)體跨度兩兩組合,分類(lèi)為一個(gè)關(guān)系類(lèi)型。
,其中最后一個(gè)token
是一個(gè)特殊的分類(lèi)器token,用于捕獲整個(gè)句子的上下文信息。接下來(lái),在所有token子序列(或跨度)中檢測(cè)實(shí)體,而不是像經(jīng)典的關(guān)系分類(lèi)那樣只檢測(cè)預(yù)定義的實(shí)體。例如,token序列(we,will,rock,you)對(duì)應(yīng)的跨度有(we),(we,will),(will,rock,you)等。本文將每個(gè)跨度分類(lèi)為一個(gè)實(shí)體類(lèi)型,并過(guò)濾掉非實(shí)體的跨度。最后,將剩余的實(shí)體跨度兩兩組合,分類(lèi)為一個(gè)關(guān)系類(lèi)型。(a) Span Classification
本文的跨度分類(lèi)器可以輸入任意的候選跨度。令
表示這樣一個(gè)跨度,其中
是第 i 個(gè)詞的嵌入。另外,假設(shè)
是一個(gè)預(yù)定義的實(shí)體類(lèi)別集合,例如人名或組織名??缍确诸?lèi)器的目的是將跨度
映射到
中的一個(gè)類(lèi)別,其中
表示不構(gòu)成實(shí)體的跨度。
表示這樣一個(gè)跨度,其中
是第 i 個(gè)詞的嵌入。另外,假設(shè)
是一個(gè)預(yù)定義的實(shí)體類(lèi)別集合,例如人名或組織名??缍确诸?lèi)器的目的是將跨度
映射到
中的一個(gè)類(lèi)別,其中
表示不構(gòu)成實(shí)體的跨度。跨度分類(lèi)器的細(xì)節(jié)在圖1的虛線框中展示(見(jiàn)步驟(a))。它的輸入由三部分組成:
(1)跨度的BERT嵌入(紅色),它是通過(guò)一個(gè)融合函數(shù)
得到的。關(guān)于融合函數(shù)
,本文發(fā)現(xiàn)最大池化效果最好,但本文也會(huì)在實(shí)驗(yàn)中探索其他選項(xiàng)。
得到的。關(guān)于融合函數(shù)
,本文發(fā)現(xiàn)最大池化效果最好,但本文也會(huì)在實(shí)驗(yàn)中探索其他選項(xiàng)。(2)跨度的寬度嵌入
(藍(lán)色),它是從一個(gè)專(zhuān)用的嵌入矩陣中查找的,該矩陣包含每個(gè)跨度寬度 1, 2, ...的固定大小的嵌入。這些嵌入通過(guò)反向傳播進(jìn)行學(xué)習(xí),并且使模型能夠融入對(duì)跨度寬度的先驗(yàn)(注意,過(guò)長(zhǎng)的跨度不太可能表示實(shí)體)。 這產(chǎn)生了以下跨度表示(?表示向量連接):
(藍(lán)色),它是從一個(gè)專(zhuān)用的嵌入矩陣中查找的,該矩陣包含每個(gè)跨度寬度 1, 2, ...的固定大小的嵌入。這些嵌入通過(guò)反向傳播進(jìn)行學(xué)習(xí),并且使模型能夠融入對(duì)跨度寬度的先驗(yàn)(注意,過(guò)長(zhǎng)的跨度不太可能表示實(shí)體)。 這產(chǎn)生了以下跨度表示(?表示向量連接):
(3)分類(lèi)器token
(圖1,綠色),它表示整個(gè)句子(或上下文)。上下文是消歧的重要來(lái)源,因?yàn)殛P(guān)鍵詞(如 spouse 或 says)是實(shí)體類(lèi)別(如 person)的強(qiáng)指示器。
(圖1,綠色),它表示整個(gè)句子(或上下文)。上下文是消歧的重要來(lái)源,因?yàn)殛P(guān)鍵詞(如 spouse 或 says)是實(shí)體類(lèi)別(如 person)的強(qiáng)指示器。這三部分通過(guò)向量連接(?)得到跨度分類(lèi)器的最終輸入:

然后,這個(gè)輸入被送入一個(gè) softmax 分類(lèi)器,得到每個(gè)實(shí)體類(lèi)別(包括 none)的后驗(yàn)概率 :

(b) Span Filtering
本文采用了一種簡(jiǎn)單的方法來(lái)識(shí)別實(shí)體,即利用跨度分類(lèi)器的輸出(公式 3)根據(jù)得分最高的類(lèi)別判斷每個(gè)跨度的類(lèi)別,并且過(guò)濾掉所有屬于
類(lèi)別的跨度,得到一組候選的實(shí)體跨度
。與之前的工作不同,本文沒(méi)有對(duì)實(shí)體/關(guān)系假設(shè)進(jìn)行束搜索,而是直接剔除了長(zhǎng)度超過(guò) 10 個(gè)詞的跨度,從而降低了跨度分類(lèi)的計(jì)算復(fù)雜度為
。
類(lèi)別的跨度,得到一組候選的實(shí)體跨度
。與之前的工作不同,本文沒(méi)有對(duì)實(shí)體/關(guān)系假設(shè)進(jìn)行束搜索,而是直接剔除了長(zhǎng)度超過(guò) 10 個(gè)詞的跨度,從而降低了跨度分類(lèi)的計(jì)算復(fù)雜度為
。(c) Relation Classification
定義
是一組預(yù)定義的關(guān)系類(lèi)別。關(guān)系分類(lèi)器處理每一對(duì)從
中抽取的實(shí)體候選對(duì)
,并估計(jì)是否存在
中的某種關(guān)系。分類(lèi)器的輸入由兩部分組成:
是一組預(yù)定義的關(guān)系類(lèi)別。關(guān)系分類(lèi)器處理每一對(duì)從
中抽取的實(shí)體候選對(duì)
,并估計(jì)是否存在
中的某種關(guān)系。分類(lèi)器的輸入由兩部分組成:(1)為了表示兩個(gè)實(shí)體候選
,本文使用融合了 BERT/width 嵌入的
(公式 1)。
,本文使用融合了 BERT/width 嵌入的
(公式 1)。(2)本文發(fā)現(xiàn)
不適合用于表達(dá)多種關(guān)系的長(zhǎng)句,因此使用一種更加局部化的上下文,即從實(shí)體的直接周?chē)槿。?strong>給定從第一個(gè)實(shí)體的結(jié)尾到第二個(gè)實(shí)體的開(kāi)頭的跨度(圖 1,黃色),通過(guò)最大池化合并它們,得到該表示
。如果范圍為空(例如,實(shí)體重疊的情況),設(shè)置
。
不適合用于表達(dá)多種關(guān)系的長(zhǎng)句,因此使用一種更加局部化的上下文,即從實(shí)體的直接周?chē)槿。?strong>給定從第一個(gè)實(shí)體的結(jié)尾到第二個(gè)實(shí)體的開(kāi)頭的跨度(圖 1,黃色),通過(guò)最大池化合并它們,得到該表示
。如果范圍為空(例如,實(shí)體重疊的情況),設(shè)置
。就像對(duì)跨度分類(lèi)器一樣,關(guān)系分類(lèi)器的輸入是通過(guò)連接上述特征得到的。由于關(guān)系通常是不對(duì)稱(chēng)的,需要對(duì)
和
都進(jìn)行分類(lèi),即輸入變?yōu)椋?/span>
和
都進(jìn)行分類(lèi),即輸入變?yōu)椋?/span>
和
都通過(guò)一個(gè)單層分類(lèi)器:
其中
表示一個(gè)大小為
的 sigmoid 函數(shù)。sigmoid 層中的任何高響應(yīng)都表明相應(yīng)的關(guān)系在
和
之間成立。給定一個(gè)置信度閾值
,任何得分
的關(guān)系都被認(rèn)為是激活的。如果沒(méi)有激活的關(guān)系,那么句子被認(rèn)為沒(méi)有表達(dá)兩個(gè)實(shí)體之間的已知關(guān)系。
表示一個(gè)大小為
的 sigmoid 函數(shù)。sigmoid 層中的任何高響應(yīng)都表明相應(yīng)的關(guān)系在
和
之間成立。給定一個(gè)置信度閾值
,任何得分
的關(guān)系都被認(rèn)為是激活的。如果沒(méi)有激活的關(guān)系,那么句子被認(rèn)為沒(méi)有表達(dá)兩個(gè)實(shí)體之間的已知關(guān)系。3.1 Training
本文學(xué)習(xí)大小嵌入
(圖1中的藍(lán)色部分)和跨度/關(guān)系分類(lèi)器的參數(shù)(
),并在此過(guò)程中對(duì)BERT進(jìn)行微調(diào)。本文的訓(xùn)練是有監(jiān)督的:給定一個(gè)帶有實(shí)體(包括其類(lèi)型)和關(guān)系標(biāo)注的句子,并定義了一個(gè)用于實(shí)體分類(lèi)和關(guān)系分類(lèi)的聯(lián)合損失函數(shù):
(圖1中的藍(lán)色部分)和跨度/關(guān)系分類(lèi)器的參數(shù)(
),并在此過(guò)程中對(duì)BERT進(jìn)行微調(diào)。本文的訓(xùn)練是有監(jiān)督的:給定一個(gè)帶有實(shí)體(包括其類(lèi)型)和關(guān)系標(biāo)注的句子,并定義了一個(gè)用于實(shí)體分類(lèi)和關(guān)系分類(lèi)的聯(lián)合損失函數(shù):
其中,
是跨度分類(lèi)器的損失(對(duì)實(shí)體類(lèi)別(包括無(wú))的交叉熵),
是關(guān)系分類(lèi)器的損失(對(duì)關(guān)系類(lèi)別的二元交叉熵)。兩個(gè)損失都是對(duì)每個(gè)批次中的樣本進(jìn)行平均,不使用類(lèi)權(quán)重。一個(gè)訓(xùn)練批次由B個(gè)句子組成,從中為兩個(gè)分類(lèi)器抽取樣本:
是跨度分類(lèi)器的損失(對(duì)實(shí)體類(lèi)別(包括無(wú))的交叉熵),
是關(guān)系分類(lèi)器的損失(對(duì)關(guān)系類(lèi)別的二元交叉熵)。兩個(gè)損失都是對(duì)每個(gè)批次中的樣本進(jìn)行平均,不使用類(lèi)權(quán)重。一個(gè)訓(xùn)練批次由B個(gè)句子組成,從中為兩個(gè)分類(lèi)器抽取樣本:(1)對(duì)于跨度分類(lèi)器,將所有標(biāo)注的實(shí)體
作為正樣本,再加上固定數(shù)量
的隨機(jī)非實(shí)體跨度作為負(fù)樣本。
作為正樣本,再加上固定數(shù)量
的隨機(jī)非實(shí)體跨度作為負(fù)樣本。(2)對(duì)于關(guān)系分類(lèi)器,將真實(shí)的關(guān)系作為正樣本,并從那些沒(méi)有標(biāo)注任何關(guān)系的實(shí)體對(duì)
中抽取
個(gè)負(fù)樣本。例如,給定一個(gè)句子,其中有兩個(gè)關(guān)系(“瑪吉”,母親,“巴特”)和(“巴特”,老師,“斯金納”),未連接的實(shí)體對(duì)(“瑪吉”,*,“斯金納”)就是任何關(guān)系的負(fù)樣本。
中抽取
個(gè)負(fù)樣本。例如,給定一個(gè)句子,其中有兩個(gè)關(guān)系(“瑪吉”,母親,“巴特”)和(“巴特”,老師,“斯金納”),未連接的實(shí)體對(duì)(“瑪吉”,*,“斯金納”)就是任何關(guān)系的負(fù)樣本。本文只運(yùn)行一次BERT(單通道),沒(méi)有生成分散在多個(gè)句子中的樣本,因?yàn)檫@樣需要將所有這些句子都通過(guò)深而昂貴的BERT模型。這樣,多個(gè)正/負(fù)樣本就通過(guò)一個(gè)單一的淺線性層,分別用于實(shí)體和關(guān)系分類(lèi)器,從而大大加快了訓(xùn)練過(guò)程。
4 EXPERIMENTS
實(shí)驗(yàn)評(píng)估基于如下三個(gè)數(shù)據(jù)集:
(1)CoNLL04
(1)CoNLL04
CoNLL04數(shù)據(jù)集由新聞文章中的句子組成。這些句子涉及到四種實(shí)體類(lèi)型(Location, Organization, People, Other)和五種關(guān)系類(lèi)型(Work-For, Kill, OrganizationBased-In, Live-In, Located-In)。本文按照Gupta等人的方法,將1153句作為訓(xùn)練集,288句作為測(cè)試集,同時(shí)從訓(xùn)練集中隨機(jī)抽取20%作為開(kāi)發(fā)集,用于超參數(shù)的調(diào)優(yōu)。
(2)SciERC
SciERC來(lái)源于500篇人工智能論文摘要。該數(shù)據(jù)集包括6個(gè)科學(xué)實(shí)體(Task、Method、Metric、Material、Other-Scientific-Term、Generic)和7個(gè)關(guān)系類(lèi)型(Compare、connection、Evaluate-For、Used-For、FeatureOf、Part-Of、hyponym_of),共計(jì)2687個(gè)句子。本文使用1861個(gè)句子用于訓(xùn)練、275個(gè)句子用于開(kāi)發(fā)和551個(gè)句子用于測(cè)試。
(3)ADE
ADE數(shù)據(jù)集由從描述藥物使用不良反應(yīng)的醫(yī)學(xué)報(bào)告中提取的4,272個(gè)句子和6,821個(gè)關(guān)系組成。它包含一個(gè)關(guān)系類(lèi)型Adverse-Effect和兩個(gè)實(shí)體類(lèi)型Adverse-Effect和Drug。與之前的工作一樣,本文進(jìn)行了10倍交叉驗(yàn)證。
本文對(duì)SpERT模型在實(shí)體識(shí)別和關(guān)系提取兩個(gè)任務(wù)上的性能進(jìn)行了評(píng)價(jià),根據(jù)實(shí)體的預(yù)測(cè)范圍和類(lèi)型是否與真實(shí)值一致來(lái)判斷實(shí)體的正確性,根據(jù)關(guān)系的預(yù)測(cè)類(lèi)型以及兩個(gè)相關(guān)實(shí)體的正確性(在范圍和類(lèi)型上)來(lái)判斷關(guān)系的正確性。在SciERC數(shù)據(jù)集上,本文不考慮實(shí)體類(lèi)型的正確性來(lái)評(píng)價(jià)關(guān)系提取,這與之前的工作保持一致。本文計(jì)算了每種實(shí)體和關(guān)系類(lèi)型的精確度、召回率和F1分?jǐn)?shù),并報(bào)告了ADE數(shù)據(jù)集的宏平均值和SciERC數(shù)據(jù)集的微平均值。對(duì)于ADE數(shù)據(jù)集,F(xiàn)1分?jǐn)?shù)是各個(gè)折疊的平均值。在CoNLL04數(shù)據(jù)集上,本文同時(shí)報(bào)告了F1分?jǐn)?shù)的微平均值和宏平均值,與之前的工作一致。
在大多數(shù)實(shí)驗(yàn)中,本文使用
作為句子編碼器,它是在英語(yǔ)語(yǔ)料上預(yù)訓(xùn)練的。在SciERC數(shù)據(jù)集上,用
替換了BERT,它是一個(gè)在大規(guī)??茖W(xué)論文語(yǔ)料上預(yù)訓(xùn)練的BERT模型,與DyGIE++相同。BERT(或SciBERT)的權(quán)重在訓(xùn)練過(guò)程中被更新。本文用正態(tài)分布的隨機(jī)數(shù)(
)初始化分類(lèi)器的權(quán)重。本文使用Adam優(yōu)化器,帶有線性預(yù)熱和線性衰減的學(xué)習(xí)率計(jì)劃,峰值學(xué)習(xí)率為5e?5,在實(shí)體和關(guān)系分類(lèi)器之前使用0.1的丟棄率,批量大小為
,寬度嵌入
為25維。這些參數(shù)沒(méi)有進(jìn)行進(jìn)一步的優(yōu)化。根據(jù)CoNLL04開(kāi)發(fā)集選擇了訓(xùn)練輪數(shù)(20)、關(guān)系過(guò)濾閾值(
),以及每個(gè)句子的負(fù)實(shí)體和關(guān)系樣本數(shù)(
)。本文沒(méi)有針對(duì)另外兩個(gè)數(shù)據(jù)集特別調(diào)整模型,而是使用了相同的超參數(shù)。
作為句子編碼器,它是在英語(yǔ)語(yǔ)料上預(yù)訓(xùn)練的。在SciERC數(shù)據(jù)集上,用
替換了BERT,它是一個(gè)在大規(guī)??茖W(xué)論文語(yǔ)料上預(yù)訓(xùn)練的BERT模型,與DyGIE++相同。BERT(或SciBERT)的權(quán)重在訓(xùn)練過(guò)程中被更新。本文用正態(tài)分布的隨機(jī)數(shù)(
)初始化分類(lèi)器的權(quán)重。本文使用Adam優(yōu)化器,帶有線性預(yù)熱和線性衰減的學(xué)習(xí)率計(jì)劃,峰值學(xué)習(xí)率為5e?5,在實(shí)體和關(guān)系分類(lèi)器之前使用0.1的丟棄率,批量大小為
,寬度嵌入
為25維。這些參數(shù)沒(méi)有進(jìn)行進(jìn)一步的優(yōu)化。根據(jù)CoNLL04開(kāi)發(fā)集選擇了訓(xùn)練輪數(shù)(20)、關(guān)系過(guò)濾閾值(
),以及每個(gè)句子的負(fù)實(shí)體和關(guān)系樣本數(shù)(
)。本文沒(méi)有針對(duì)另外兩個(gè)數(shù)據(jù)集特別調(diào)整模型,而是使用了相同的超參數(shù)。4.1 Comparison with state of the art


表1顯示了三個(gè)數(shù)據(jù)集的測(cè)試集評(píng)估結(jié)果的平均值,每個(gè)數(shù)據(jù)集運(yùn)行了5次。SpERT在所有數(shù)據(jù)集的實(shí)體和關(guān)系提取任務(wù)上都優(yōu)于最先進(jìn)的技術(shù)。雖然實(shí)體識(shí)別性能分別提高了1.1% (CoNLL04)、2.8% (SciERC)和2.1% (ADE) F1,但觀察到關(guān)系提取的性能提高更明顯:與Li等人的“多回合QA”模型相比,他們也使用BERT作為句子編碼器,但采用BILOU方法進(jìn)行實(shí)體提取,本文的模型將CoNLL04數(shù)據(jù)集的最新技術(shù)提高了2.6%(微)F1。在具有挑戰(zhàn)性和特定領(lǐng)域的SciERC數(shù)據(jù)集上,使用SciBERT作為句子編碼器,SpERT比Wadden等的DyGIE++模型高出約2.4%。當(dāng)使用BERT代替時(shí),性能下降了4.4%,證實(shí)了域內(nèi)語(yǔ)言模型預(yù)訓(xùn)練的重要性,這與Wadden等人的研究結(jié)果一致。雖然在SciERC之前的工作中沒(méi)有考慮實(shí)體類(lèi)型來(lái)提取關(guān)系,但本文報(bào)告了這些值作為未來(lái)工作的參考(使用SciBERT的精度為40.51,召回率為36.82,F1為38.57)。
在ADE數(shù)據(jù)集上,與Tran和Kavuluru的“關(guān)系-度量”模型相比,SpERT實(shí)現(xiàn)了約2%的改進(jìn)(表1中的SpERT(無(wú)重疊))F1。值得注意的是,ADE還包含了120個(gè)具有重疊實(shí)體的關(guān)系實(shí)例,這些實(shí)例可以通過(guò)基于span的方法(如SpERT)發(fā)現(xiàn),而基于BILOU的模型則無(wú)法處理。這些實(shí)例在之前的工作中已經(jīng)被過(guò)濾掉了。作為未來(lái)重疊實(shí)體識(shí)別工作的參考,本文還提供了完整數(shù)據(jù)集(包括重疊實(shí)體)的結(jié)果。當(dāng)面對(duì)這個(gè)額外的挑戰(zhàn)時(shí),本文的模型的表現(xiàn)只有輕微的下降(- 0.4%)。在120個(gè)有重疊實(shí)體的關(guān)系中,65個(gè)被正確檢測(cè)(≈54%)。表4(頂部)給出了SpERT正確預(yù)測(cè)的重疊實(shí)體之間關(guān)系的示例。
4.2 Candidate selection and negative sampling

本文探討了負(fù)訓(xùn)練樣本的數(shù)量和抽樣方式對(duì)模型性能的影響。圖2展示了CoNLL04和SciERC開(kāi)發(fā)集上的F1分?jǐn)?shù)(關(guān)系和實(shí)體),按照每個(gè)句子的負(fù)樣本比例Ne/Nr繪制??梢园l(fā)現(xiàn),負(fù)樣本的數(shù)量對(duì)于模型性能是至關(guān)重要的:當(dāng)每個(gè)句子只使用一個(gè)負(fù)實(shí)體和一個(gè)負(fù)關(guān)系(
)時(shí),關(guān)系F1只有10.5% (CoNLL04)和9.7% (SciERC)。當(dāng)負(fù)樣本的數(shù)量增加時(shí),兩個(gè)數(shù)據(jù)集的性能都趨于飽和。然而,當(dāng)
和
足夠大時(shí),本文模型的結(jié)果更加穩(wěn)健(在所有其他實(shí)驗(yàn)中設(shè)置
)。
)時(shí),關(guān)系F1只有10.5% (CoNLL04)和9.7% (SciERC)。當(dāng)負(fù)樣本的數(shù)量增加時(shí),兩個(gè)數(shù)據(jù)集的性能都趨于飽和。然而,當(dāng)
和
足夠大時(shí),本文模型的結(jié)果更加穩(wěn)健(在所有其他實(shí)驗(yàn)中設(shè)置
)。對(duì)于關(guān)系分類(lèi),本文還比較了使用弱負(fù)樣本和強(qiáng)負(fù)樣本的效果:強(qiáng)負(fù)樣本是指使用實(shí)體分類(lèi)器過(guò)濾實(shí)體候選
,并從
中抽取與真實(shí)關(guān)系不匹配的跨度對(duì);弱負(fù)樣本是指不進(jìn)行跨度過(guò)濾,而是隨機(jī)抽取跨度對(duì),不考慮它們是否與真實(shí)關(guān)系匹配。使用弱負(fù)樣本時(shí),本文的模型在CoNLL04開(kāi)發(fā)集上的召回率仍然很高(84.4%),但是精度卻降到了4.3%。并且,使用弱負(fù)樣本時(shí),模型傾向于預(yù)測(cè)實(shí)體的子跨度是相關(guān)的:例如,在句子“[John Wilkes Booth]head, who assassinated [President Lincoln]tail, was an actor”中,模型會(huì)選擇(“John”,“President”) 或 (“Wilkes”, “Lincoln”)作為關(guān)系對(duì)。此外,模型也會(huì)偏好一個(gè)實(shí)體正確而另一個(gè)實(shí)體錯(cuò)誤的配對(duì)。因此,跨度過(guò)濾不僅可以提高訓(xùn)練和評(píng)估的速度,也可以提高SpERT中的定位精度。
,并從
中抽取與真實(shí)關(guān)系不匹配的跨度對(duì);弱負(fù)樣本是指不進(jìn)行跨度過(guò)濾,而是隨機(jī)抽取跨度對(duì),不考慮它們是否與真實(shí)關(guān)系匹配。使用弱負(fù)樣本時(shí),本文的模型在CoNLL04開(kāi)發(fā)集上的召回率仍然很高(84.4%),但是精度卻降到了4.3%。并且,使用弱負(fù)樣本時(shí),模型傾向于預(yù)測(cè)實(shí)體的子跨度是相關(guān)的:例如,在句子“[John Wilkes Booth]head, who assassinated [President Lincoln]tail, was an actor”中,模型會(huì)選擇(“John”,“President”) 或 (“Wilkes”, “Lincoln”)作為關(guān)系對(duì)。此外,模型也會(huì)偏好一個(gè)實(shí)體正確而另一個(gè)實(shí)體錯(cuò)誤的配對(duì)。因此,跨度過(guò)濾不僅可以提高訓(xùn)練和評(píng)估的速度,也可以提高SpERT中的定位精度。4.3 Localized context

盡管使用LSTM或注意力機(jī)制可以檢測(cè)遠(yuǎn)距離關(guān)系,但隨著上下文長(zhǎng)度的增加,噪聲也會(huì)增加,這對(duì)模型性能是一個(gè)挑戰(zhàn)。為了解決這個(gè)問(wèn)題,本文使用了局部上下文,即只考慮候選實(shí)體之間的上下文,這樣關(guān)系分類(lèi)器就可以關(guān)注句子中最能區(qū)分關(guān)系類(lèi)型的部分。
為了評(píng)估局部上下文的效果,將其與使用整個(gè)句子的另外兩種上下文表示進(jìn)行了比較:
(1)完整上下文:不是對(duì)候選實(shí)體之間的上下文進(jìn)行最大池化,而是對(duì)整個(gè)句子的所有詞進(jìn)行最大池化。
(2)Cls token:就像在實(shí)體分類(lèi)器中一樣(圖1,綠色),使用一個(gè)特殊的分類(lèi)器token為上下文,它可以關(guān)注整個(gè)句子。
本文在CoNLL04開(kāi)發(fā)集上評(píng)估了這三種選項(xiàng)(圖3):當(dāng)使用SpERT模型并采用局部上下文時(shí),模型達(dá)到了71.0%的F1分?jǐn)?shù),顯著優(yōu)于使用完整上下文的最大池化(65.8%)和使用Cls token(63.9%)。
圖3還展示了不同句子長(zhǎng)度的結(jié)果:本文將CoNLL04開(kāi)發(fā)集按照句子中的詞數(shù)分成了四個(gè)部分,即<20、20?34、35?50和>50。結(jié)果表明,對(duì)于所有長(zhǎng)度的句子,特別是非常長(zhǎng)的句子,局部上下文都能取得相同或更好的效果:在這里,它達(dá)到了57.3%的F1分?jǐn)?shù),而使用其他選項(xiàng)時(shí),性能急劇下降到44.9/38.5%。表4(中間)給出了一個(gè)包含多個(gè)實(shí)體的長(zhǎng)句子的例子:通過(guò)使用局部上下文,模型正確地預(yù)測(cè)了三個(gè)located-in關(guān)系,而使用完整上下文時(shí),會(huì)產(chǎn)生許多錯(cuò)誤的關(guān)系,例如(“Jackson”,located-in,“Colo.”)或(“Wyo.”,located-in,“麥卡倫”)。這說(shuō)明引導(dǎo)模型關(guān)注輸入句子的相關(guān)部分是非常重要的。一個(gè)未來(lái)的工作方向是學(xué)習(xí)與實(shí)體候選相關(guān)的上下文,并將預(yù)先計(jì)算的語(yǔ)法信息融合到SpERT模型中。
4.4 Pre-training and entity representation


在大規(guī)模數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練可以幫助模型學(xué)習(xí)目標(biāo)數(shù)據(jù)集難以捕捉的語(yǔ)義和句法關(guān)系,這是一種直觀的假設(shè)。為了驗(yàn)證這一點(diǎn),本文測(cè)試了三種不同的預(yù)訓(xùn)練方式:
(1)使用完全預(yù)訓(xùn)練的BERT模型,即包括語(yǔ)言建模預(yù)訓(xùn)練,這是默認(rèn)設(shè)置。
(2)保留預(yù)訓(xùn)練的token嵌入,但重新訓(xùn)練BERT的層,使用默認(rèn)的初始化方法。
(3)重新訓(xùn)練BERT的層和token嵌入,同樣使用默認(rèn)的初始化方法。
表2展示了在CoNLL04數(shù)據(jù)集上使用不同預(yù)訓(xùn)練方式的實(shí)體和關(guān)系提取的性能,以(宏觀)F1為指標(biāo)。從表中可以看出,重新訓(xùn)練BERT的層會(huì)導(dǎo)致實(shí)體和關(guān)系提取的性能分別下降約17.0%和29.4%。如果同時(shí)重新訓(xùn)練token嵌入,性能的下降幅度會(huì)更大。
這些結(jié)果說(shuō)明,在較小的聯(lián)合實(shí)體和關(guān)系提取數(shù)據(jù)集上,預(yù)訓(xùn)練像BERT這樣的大型網(wǎng)絡(luò)是非常困難的。因此,語(yǔ)言建模預(yù)訓(xùn)練對(duì)于模型的泛化能力和競(jìng)爭(zhēng)力是至關(guān)重要的。
最后,本文探索了不同的實(shí)體跨度表示
的方法,即不使用最大池化對(duì)實(shí)體token進(jìn)行聚合,而是使用求和池化或平均池化(注意,為了得到最終的實(shí)體表示,還要將大小嵌入和上下文表示連接起來(lái),如公式1所示)。表3展示了在CoNLL04數(shù)據(jù)集上使用不同的實(shí)體表示方法的實(shí)體和關(guān)系提取的性能,以(宏觀)F1為指標(biāo)。對(duì)實(shí)體token進(jìn)行平均池化不適合實(shí)體(69.2%)和關(guān)系提取(44.8%)。使用求和池化可以將性能提升到80.3/68.2%。然而,使用最大池化的性能分別比這高出3.8%和2.8%。
的方法,即不使用最大池化對(duì)實(shí)體token進(jìn)行聚合,而是使用求和池化或平均池化(注意,為了得到最終的實(shí)體表示,還要將大小嵌入和上下文表示連接起來(lái),如公式1所示)。表3展示了在CoNLL04數(shù)據(jù)集上使用不同的實(shí)體表示方法的實(shí)體和關(guān)系提取的性能,以(宏觀)F1為指標(biāo)。對(duì)實(shí)體token進(jìn)行平均池化不適合實(shí)體(69.2%)和關(guān)系提取(44.8%)。使用求和池化可以將性能提升到80.3/68.2%。然而,使用最大池化的性能分別比這高出3.8%和2.8%。4.5 Error inspection
盡管SpERT在聯(lián)合實(shí)體和關(guān)系提取任務(wù)上取得了令人印象深刻的結(jié)果,但本文也發(fā)現(xiàn)了一些常見(jiàn)的錯(cuò)誤類(lèi)型,這些錯(cuò)誤為未來(lái)的研究提供了改進(jìn)的空間。表4(底部)展示了本文在評(píng)估數(shù)據(jù)集中發(fā)現(xiàn)的五種典型的錯(cuò)誤示例:
(1)一個(gè)常見(jiàn)的錯(cuò)誤來(lái)源是對(duì)實(shí)體跨度的不準(zhǔn)確預(yù)測(cè),例如,添加了多余的單詞或遺漏了標(biāo)注的單詞。這種錯(cuò)誤在領(lǐng)域特定的ADE和SciERC數(shù)據(jù)集中尤其頻繁。
(2)另一個(gè)常見(jiàn)的錯(cuò)誤是預(yù)測(cè)了兩個(gè)實(shí)體之間的關(guān)系(這里是Work-For),根據(jù)實(shí)體類(lèi)型(“Yevhen Saburov”, a person, and “Black Sea Fleet”, an employer)他們可能是相關(guān)的,但是在句子中是不相關(guān)的。
(3)一個(gè)關(guān)系沒(méi)有在句子中明確地表達(dá),但可以根據(jù)上下文邏輯地推理出來(lái)。在這個(gè)例子中,沒(méi)有明確地說(shuō)“Linda Schmitt”是“Becton Dickinson”的產(chǎn)品經(jīng)理,但由于她代表公司發(fā)言,這一點(diǎn)可以推斷出來(lái)。
(4)在一些罕見(jiàn)的情況下(特別是在SciERC數(shù)據(jù)集中),SpERT正確地預(yù)測(cè)了兩個(gè)相關(guān)的實(shí)體,但分配了錯(cuò)誤的關(guān)系類(lèi)型。
(5)在某些情況下,正確的預(yù)測(cè)沒(méi)有在基本事實(shí)中標(biāo)注。在這里,除了正確地預(yù)測(cè)(“Norton Winfried Simon”,Live-In,“Portland, Ore.”)之外,SpERT還輸出了(“Norton Winfried Simon”,Live-In,“San Francisco”),這也是正確的,但沒(méi)有被標(biāo)記。
5 CONCLUSIONS

本文提出了SpERT,一個(gè)基于跨度的聯(lián)合實(shí)體和關(guān)系提取模型,它利用預(yù)訓(xùn)練的Transformer網(wǎng)絡(luò)BERT作為其基礎(chǔ)。本文證明了,在輸入句子的所有跨度上進(jìn)行搜索是可行的,只要采用強(qiáng)負(fù)采樣、跨域過(guò)濾和本地化上下文表示。實(shí)驗(yàn)結(jié)果表明,基于跨度的方法不僅與基于bilou的模型相媲美,而且由于能夠識(shí)別重疊實(shí)體,更具有未來(lái)研究的潛力。
在未來(lái)的工作中,本文打算為關(guān)系分類(lèi)器探索更細(xì)粒度的上下文形式。目前,本文的模型僅僅使用了兩個(gè)實(shí)體之間的跨度,這已經(jīng)顯示出它比使用整個(gè)句子的模型更優(yōu)。如何在保證高效的窮舉搜索的前提下,引入額外的語(yǔ)法特征或?qū)W習(xí)的上下文,是一個(gè)有趣的挑戰(zhàn)。

浙公網(wǎng)安備 33010602011771號(hào)