1. 機器閱讀理解(MRC)、問答系統(tǒng)(QA)與信息抽取
最近實體關系抽取與命名實體識別的SOTA模型排行榜中,有很多模型都使用了機器閱讀理解(MRC)和問答系統(tǒng)(QA)中的思想和方法,比如HBT、ETL-span、Multi-turn QA和BERT_MRC等。MRC和QA中的思想和方法的使用,讓這些模型相比于傳統(tǒng)方法有很大提升。
在實體關系抽取任務中,最新的一些模型,如
HBT和ETL-span,用到了MRC中經(jīng)常使用的指針網(wǎng)絡法:通過多層標注序列解決實體重疊問題;
Multi-turn QA則使用了問答系統(tǒng)的思想:通過問答的形式一步一步抽取出主體、客體和關系。
這些模型在多個數(shù)據(jù)集上都達到了SOTA效果。相比于傳統(tǒng)的使用LSTM+CRF抽取特征做序列標注,這些借鑒了MRC和QA技術的模型,無論是在抽取結(jié)果的準確性還是對重疊實體關系的召回率方面,都有大幅度的提升。
同樣在命名實體識別任務中,也有如BERT_MRC這樣的模型,同時融合了MRC和QA領域的諸多思想方法,在多個數(shù)據(jù)集上達到了SOTA效果。
本文以信息抽取為核心,主要探討一下MRC和QA中經(jīng)常使用到的思想方法在信息抽取任務(包括實體關系抽取和命名實體識別)中的應用。
2.MRC概述
2.0 寫在前面
在分析MRC和QA在IE中的應用之前,我們先對MRC做一個簡單的概述。由于筆者對QA了解的不多,就不詳細介紹QA了,只分析一下QA中的一些方法是怎么應用到信息抽取中的。
《Neural Machine Reading Comprehension: Methods and Trends》[1]是一篇MRC領域的綜述論文,它對MRC領域的任務目標,使用到的各種方法和思想和發(fā)展前景做了非常詳細的描述。
這里摘取其中一部分對MRC做一個簡要的介紹。如果想對MRC有更深入的了解,推薦先去認真閱讀一下這篇論文。
2.1 MRC的發(fā)展歷程
MRC的任務是讓機器根據(jù)給定的內(nèi)容回答問題。
MRC在1970年代就已經(jīng)被提出,但是由于那時數(shù)據(jù)集規(guī)模都比較小,而且主要使用基于規(guī)則的方法,所以性能很差,難以投入實用。這一情況在深度學習方法投入使用之后有了改觀。基于深度學習方法的機器閱讀理解,稱為神經(jīng)機器閱讀理解,目前正在迅速發(fā)展。
2015年-2018年期間與MRC領域的各個細分任務相關的論文數(shù)量
從上圖所示“2015年-2018年期間與MRC領域的各個細分任務相關的論文數(shù)量”可以看出,最近幾年MRC領域的論文數(shù)呈幾何級數(shù)式增長,這一領域正在迅速發(fā)展。
2.2 任務&評測標準
MRC的任務根據(jù)答案形式可以分為四類:完形填空、多項選擇、片段抽取、自由作答
2.2.1 完形填空
給定上下文,一個詞或?qū)嶓w被移除,完形填空任務要求模型使用正確的詞或?qū)嶓w進行填空,最大化條件概率。
Cloze Texts/完形填空定義
2.2.2 多項選擇
給定上下文,問題,候選答案列表,多項選擇任務要求模型從中選擇正確的答案,最大化條件概率。
與完形填空任務的區(qū)別就是答案不再局限于單詞或?qū)嶓w,并且候選答案列表是必須要提供的。
Multiple Choice/多項選擇定義
2.2.3 片段抽取
盡管完形填空和多項選擇一定程度上可以發(fā)揮機器閱讀理解的能力,但是這兩個任務有一定的局限性:
首先,單詞或?qū)嶓w可能不足以回答問題,需要完整的句子進行回答;
其次,在很多情形是沒有提供候選答案的。
所以片段抽取任務應運而生。給定上下文和問題,。片段抽取任務要求模型從中抽取連續(xù)的子序列作為正確答案,最大化條件概率。
Span Extraction/片段抽取定義
2.2.4 自由作答
將答案局限于一段上下文是不現(xiàn)實的。為了回答問題,機器需要在多個上下文中進行推理并總結(jié)答案。自由回答任務是四個任務中最復雜的,也更適合現(xiàn)實的應用場景。
給定上下文和問題,在自由回答任務中正確答案可能是也可能不是中的一個子序列,即或。自由回答任務需要預測正確答案,并且最大化條件概率 。
Free Answer/自由回答定義
2.2.5 不同任務的比較
下面在五個維度上對上述四個任務進行比較:
建立數(shù)據(jù)集難易程度(construction)、
理解及推理程度(understanding)、
答案形式復雜程度(flexibility)、
進行評估的難易程度(evaluation)、
真實應用程度(application)
五大維度比較
由上圖可以看出:
完形填空任務容易構(gòu)建數(shù)據(jù)集,容易評估,但是答案被單個單詞或者實體限制,理解程度不高,和真實世界不符;
多項選擇任務容易評估,建立數(shù)據(jù)集不是很難,但是合成數(shù)據(jù)集和實際應用之間有差距;
片段抽取任務是一個適中的選擇,數(shù)據(jù)集容易建立,容易評估,但是答案被原始文本的片段限制,仍和真實世界有差距;
自由作答任務最接近真實情況,理解程度最高,但是難以建立數(shù)據(jù)集,難以有效評估,是現(xiàn)階段最具的挑戰(zhàn)性的任務。
上述四個任務類型中,片段抽取和信息抽取的關系最為緊密,命名實體識別和實體關系抽取任務都是識別文本中的片段。
2.2.6 評測標準
主要的評測標準有常見的準確率P、召回率R和F1值。在上述四個任務的前三個中,使用P、R、F1可以滿足要求。
自由作答在評測時使用P、R、F1則不太合適,自由作答需要使用用于自動文摘評測的方法ROUGE和ROUGE-L,以及用于評價翻譯性能的BLEU。
2.3 MRC模型的結(jié)構(gòu)
在實體關系抽取中,模型可以分為pipline結(jié)構(gòu)和joint結(jié)構(gòu)。在MRC中,模型也有統(tǒng)一的結(jié)構(gòu)類型:
MRC模型結(jié)構(gòu)
如上圖所示,MRC模型包含四個關鍵模塊:
Embeddings:將單詞映射為對應的詞向量,可能還會加上POS、NER、question category等信息;
Feature Extraction 特征抽取層:抽取question和context的上下文信息,常用的有CNN、RNN、LSTM等;
Context-Question Interaction:context和question之間的相關性在預測答案中起著重要作用。有了這些信息,機器就能夠找出context中哪些部分對回答question更為重要。為了實現(xiàn)該目標,在該模塊中廣泛使用attention機制,單向或雙向,以強調(diào)與query相關的context的部分。為了充分提取它們的相關性,context和question之間的相互作用有時會執(zhí)行多跳,這模擬了人類理解的重讀過程。
Answer Prediction:基于上述模塊獲得的信息整理后得出最終答案。因為MRC任務根據(jù)答案形式分為了很多種,所以該模塊與不同任務相關。對于完形填空,該模塊輸出context中的一個單詞或一個實體;對于多項選擇,該模塊從候選答案中選擇正確答案。
2.4 常用方法
2.4.1 上下文-問題的交互
提取出上下文和問題之間的關聯(lián)后,模型就能找到答案預測的證據(jù)。根據(jù)模型如何提取問題和答案之間的關系,可以將現(xiàn)在的方法分為兩類:單跳交互、多跳交互。
不論MRC模型使用哪種交互,在強調(diào)哪部分文本對于預測答案更重要方面,注意力機制扮演了重要角色。根據(jù)注意力機制是否被單向/雙向使用進一步可分為兩類:單向注意力、雙向注意力。
單向注意力
單向注意力流通常是從查詢到文本的,根據(jù)問題強調(diào)文中最相關的部分。如果某個文本詞語和問題更相似,那它更有可能是答案詞語。
注意力權(quán)重:
單向注意力
雙向注意力
單向注意力將問題句子編碼成了一個特征向量,無法將注意力放在問題中的詞語。但是,實際上這些詞語對答案預測也很關鍵,所以單向注意力在提取文本和問題/查詢之間的交互信息方面有不足。
為了解決單向注意力的缺點,雙向注意力不僅計算“查詢-文本”注意力,也計算“文本-查詢”注意力,雙向查看,為雙方提供互補的信息。
雙向注意力
3. MRC和QA在信息抽取中的應用
這一部分將詳細地介紹命名實體識別和實體關系抽取中的幾個SOTA模型,并重點分析一下MRC和QA中的思想和方法在這幾個模型中的使用,以及新的思想方法相比于信息抽取領域中傳統(tǒng)的序列標注方法具體有哪些優(yōu)勢。
基于MRC和QA的實體識別/關系抽取方法
3.1 BERT_MRC
3.1.1 BERT_MRC思想與創(chuàng)新點概述
目前大多數(shù)命名實體識別模型都是針對的“非嵌套型”的NER(Flat NER);然而,在實際場景中“嵌套型”的NER(Nested NER)占了相當?shù)谋壤?/p>
Nested NER
BERT_MRC受到近來機器閱讀理解問答(MRC-QA)的啟發(fā),使用機器閱讀理解框架去合并處理Flat NER與Nested NER。
比如我們現(xiàn)在想要抽取 "PER" 類型的實體,就可以提出一個問題 “Which person is mentioned in the text” ,然后在文本中找答案,找到的答案就是PER類型的實體。使用這種方法,無論是Flat NER還是Nested NER,都能很直觀地抽取出來。
BERT_MRC模型的創(chuàng)新點有:
基于MRC的方法抽取命名實體,該方法適用于Flat和Nested兩種類型的NER。相比序列標注方法,該方法簡單直觀,可遷移性強。
通過實驗表明,基于MRC的方法能夠讓問題編碼一些先驗語義知識,從而能夠在小數(shù)據(jù)集下、遷移學習下表現(xiàn)更好。
我們先來回顧一下NER任務。給定一個文本序列,它的長度為,要抽取出其中的每個實體,其中實體都屬于某種實體類型。
假設該數(shù)據(jù)集的所有實體標簽集合為,那么對其中的每個實體標簽,比如地點 "LOC",都有一個關于它的問題。這個問題可以是一個詞,也可以是一句話等等。
使用上述MRC中片段抽取的思想,輸入文本序列和問題,是需要抽取的實體,BERT_MRC通過建模來實現(xiàn)實體抽取。
3.1.2 BERT_MRC問題構(gòu)造
對于問題的構(gòu)造是建模的重要環(huán)節(jié)。BERT_MRC使用“標注說明”作為每個標簽的問題。所謂“標注說明”,是在構(gòu)造某個數(shù)據(jù)集的時候提供給標注者的簡短的標注說明。比如標注者要去標注標簽為 "LOC" 的所有實體,那么對應 "LOC" 的標注說明就是 “Find locations in the text, including non-geographical locations, mountain ranges and bodies of water”:
標注說明與問題構(gòu)造
3.1.3 BERT_MRC網(wǎng)絡結(jié)構(gòu)與損失函數(shù)
在抽取實體的具體方法上,如下圖所示BERT_MRC使用了指針網(wǎng)絡:
兩層標注網(wǎng)絡,一層標記實體開始位置,一層標記實體結(jié)束位置;
如果一共個類型的實體,則需要個這樣的標注序列,每兩個標注序列一組,共組;
根據(jù) "1" 標簽所在的標簽組來確定實體的類型。
指針網(wǎng)絡示意圖
BERT_MRC定義了三個損失函數(shù),分別計算開始位置損失、結(jié)束位置損失和實體損失,訓練時總的loss值是上述三個損失值之和:
BERT_MRC的損失函數(shù)
3.1.4 BERT_MRC實驗結(jié)論
BERT_MRC的實驗設置非常有意思。通過設置很多對比實驗,證明了很多有用的信息,下面是對BERT_MRC論文中的一些實驗結(jié)論的總結(jié):
相比baseline,BERT_MRC能夠更好地解決數(shù)據(jù)稀疏問題,主要原因是MRC中的問題能夠編碼一部分先驗信息。
指針網(wǎng)絡能有效解決實體重疊問題,無論對non-BERT還是BERT模型,MRC都比non-MRC好。
針對BERT_MRC中問題的構(gòu)建策略,BERT_MRC又提出了很多問題的構(gòu)建方法,但是實驗證明,上文提到的“標注說明“仍是最有效的方法。
引入MRC中的問題后,由于問題中編碼了一些先驗信息,所以在標簽遷移上效果較好。并且具有了一定的先驗知識編碼能力。
3.2 Multi-turn QA
3.2.1 現(xiàn)存問題
實體關系抽取的大多數(shù)模型都將實體關系聯(lián)合抽取的任務看作是一個三元組抽取任務,而這樣的處理存在如下幾個問題:
在形式化層面上:簡單的三元組形式往往不能充分表現(xiàn)文本背后的結(jié)構(gòu)化信息,因為往往在文本中存在層級性的依賴關系。獨立地考慮兩種實體可能導致依賴關系的間斷,導致重要信息的缺失,從而影響模型的判斷。
在算法層面上:對于關系抽取任務,大多數(shù)模型都是以標記的 mention 作為輸入,而模型的主要目的是判斷兩個 mention 是否存在某種關系,在這種情況下,模型難以捕捉詞匯、語法以及語義上的關系,特別是在如下幾種情形下:
長距離依賴問題:實體相距很遠;
實體重疊問題:一個實體出現(xiàn)在多個三元組中;
關系交叉問題:關系跨度相交。
3.2.2 Multi-turn QA創(chuàng)新點與思想概述
Multi-turn QA模型的創(chuàng)新點在于其將實體關系聯(lián)合抽取的任務當作一個多輪問答類問題來處理,即每種實體和每種關系都用一個問答模板進行刻畫,從而這些實體和關系可以通過回答這些模板化的問題來從上下文中進行抽取。下面簡單給出一個問答模版:
基于多輪問答的實體關系抽取示例
由此可見,基于多輪問答的實體關系抽取主要流程如下:
首先確定目標實體;
然后,后根據(jù)目標實體和候選關系類別進行提問。
這樣的處理方法主要有如下幾個優(yōu)點:
能夠很好地捕捉標簽的層次依賴性:即隨著每一輪問答的進行,我們有序的獲得所需要的實體,這與多回合填充式對話系統(tǒng)類似;
問題的編碼能夠整合對關系分類任務重要的一些先驗信息:這些信息可以潛在地解決了現(xiàn)有關系抽取模型難以解決的問題,如遠距離實體對,或是關系重疊問題;
QA任務提供了一種很自然的方式來融合實體抽取和關系抽取任務:因為 QA 任務對于沒有答案的問題可以返回 None,則對于不存在相應關系的問題;如果返回的不是 None,則可以同時確定實體和關系。
Multi-turn QA算法流程
將實體關系抽取任務轉(zhuǎn)化為多輪問答任務的算法如上所示,整個算法分如下幾個部分:
頭實體抽取(line 4 - 9):由于每一輪多輪對話都需要一個頭實體來作為 trigger,因此需要事先抽取句子中所有的頭實體,而抽取實體的過程可以看作一個抽取 entity_question 答案的過程。所有 entity_question 都存放在 EntityQuesTemplates 中,每一種 entity_question 都對應一類實體的抽??;
關系與尾實體抽取(line 10 - 24):ChainOfRelTemplates 定義了一個關系序列,我們需要根據(jù)這個關系序列來進行多輪問答。同時,它也定義了每種關系的模板,為了生成對應的問題(第14行),我們要在模板槽(slot)中插入之前抽取的實體。然后,關系和尾實體就能通過回答問題同時被抽取出來。如果回答是 None,就說明沒有答案,即只有同時抽出頭實體,以及頭實體存在對應的關系和尾實體被抽出時,才算成功抽出一個滿足條件的三元組。
我們知道現(xiàn)階段常見的MRC模型都是通過指針網(wǎng)絡的方式,僅預測答案在 Context 中的開始和結(jié)束位置,僅適用于單答案的情況。但對于實體識別任務,在一段 Context 中可能有多個答案,所以這種方法并不合適。作者的做法是將其當作以問題為基礎的序列標注問題,或者說將 2 個 N-class 分類任務轉(zhuǎn)換成個 5-class 分類任務,其中為句子長度。
作者將 BERT 作為 baseline。訓練時,損失函數(shù)為兩個子任務的疊加,即:
3.3 HBT、ETL-span
這兩個模型的思想和方法非常相似,所以放在一起介紹。它們能達到SOTA的重要原因之一就是因為使用了MRC中的指針網(wǎng)絡。
HBT和ETL-span的抽取過程和Multi-turn QA相似,它們將實體關系三元組的抽取分解成了多個步驟來完成。但在具體實現(xiàn)的細節(jié)上,HBT和ETL-span和使用多輪對話的Multi-turn QA有很多不同。
HBT和ETL-span將三元組的抽取任務建模為三個級別的問題,從而能夠更好解決三元組重疊的問題。其核心觀點就是不再將關系抽取的過程看作實體對的離散標簽,而是將其看作兩個實體的映射關系,即,整個三元組抽取過程可以概括為:
抽取三元組中的 subject;
針對每一個,抽取其對應的 object。
HBT模型的整體結(jié)構(gòu)如下圖所示,主要包括如下幾個部分:
BERT Encoder:通過 BERT 得到每個詞的詞表征,把BERT的輸出當作詞向量使用;
Subject Tagger:該部分用于識別所有可能的subject對象。其通過對每一個位置的編碼結(jié)果用兩個分類器(全連接層)進行分類,來判斷其是否是實體的開始或結(jié)束位置;
Relation-specific Object Taggers:針對每一個 subject,都需要對其進行之后的 object 進行預測。由圖中可知,其與 Subject Tagger 基本一致,主要區(qū)別在于每一個關系類別獨享一組 object 分類器,同時還要將subject作為特征和BERT詞向量拼接后作為輸入。
HBT模型結(jié)構(gòu)
HBT的解碼方式和傳統(tǒng)的基于序列標注的解碼方式有很大的不同:
HBT基于指針網(wǎng)絡,確定實體span通過兩個分類器來實現(xiàn),采用sigmod+BinaryCrossEntrpy的方式;
序列標注則只訓練一個分類器,采用softmax+CrossEntropy的方式。
HBT的這種多層標記結(jié)構(gòu)能夠很好地抽取出重疊實體和關系/由于增加了分類器的數(shù)量,使得每個分類器只用進行二分類,而序列標注的分類器則需要進行多分類,因此HBT對非重疊的實體和關系也有很好的效果。
ETL-span和HBT的結(jié)構(gòu)差不多,只是在編碼層上有一點不同。ETL-span利用模型的分層結(jié)構(gòu),將靠前步驟得到的一些句向量,位置向量作為特征,加入進靠后的步驟,取得了不錯的效果。而識別實體范圍,關系類型的方法和HBT一樣,都采用了指針網(wǎng)絡。
ETL-span模型結(jié)構(gòu)
-
模型
+關注
關注
1文章
3116瀏覽量
48660 -
數(shù)據(jù)集
+關注
關注
4文章
1200瀏覽量
24621
原文標題:3. MRC和QA在信息抽取中的應用
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論