張少偉,王 鑫,2+,陳子睿,王 林,徐大為,賈勇哲,
1.天津大學(xué) 智能與計(jì)算學(xué)部,天津300350
2.天津市認(rèn)知計(jì)算與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,天津300350
3.天津泰凡科技有限公司,天津300457
隨著大數(shù)據(jù)時(shí)代的到來(lái),人們?nèi)粘I钪袝?huì)產(chǎn)生海量的數(shù)據(jù),比如新聞報(bào)道、博客、論壇、研究文獻(xiàn)以及社交媒體評(píng)論等,數(shù)據(jù)的領(lǐng)域交叉現(xiàn)象突出,有價(jià)值的信息往往隱藏在大量數(shù)據(jù)中。信息抽?。╥nformation extraction,IE)的目的在于快速高效地從大量數(shù)據(jù)中抽取有價(jià)值的信息。實(shí)體關(guān)系聯(lián)合抽取作為信息抽取的核心任務(wù),近年來(lái)受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,實(shí)體關(guān)系聯(lián)合抽取通過對(duì)文本信息建模,來(lái)自動(dòng)識(shí)別實(shí)體、實(shí)體類型以及實(shí)體之間特定的關(guān)系類型,為知識(shí)圖譜構(gòu)建、智能問答和語(yǔ)義搜索等下游任務(wù)提供基礎(chǔ)支持。
傳統(tǒng)的流水線方法將實(shí)體關(guān)系聯(lián)合抽取分解成命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)獨(dú)立的子任務(wù),流水線方法先執(zhí)行命名實(shí)體識(shí)別任務(wù),再根據(jù)命名實(shí)體識(shí)別的結(jié)果完成關(guān)系抽取任務(wù),兩個(gè)子任務(wù)使用的模型相互獨(dú)立,可分別在不同的訓(xùn)練集上訓(xùn)練。傳統(tǒng)的流水線方法通常會(huì)引發(fā)以下三個(gè)問題:(1)誤差傳播。命名實(shí)體識(shí)別子任務(wù)產(chǎn)生的誤差,在關(guān)系抽取子任務(wù)中無(wú)法得到糾正,影響關(guān)系抽取的結(jié)果質(zhì)量。(2)子任務(wù)間缺少交互。流水線方法忽略了命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)間的關(guān)系,兩個(gè)子任務(wù)之間缺少交互,使得子任務(wù)的信息沒有被充分利用。比如實(shí)體類型和關(guān)系類型之間應(yīng)存在某種隱含關(guān)系,在識(shí)別實(shí)體類型的過程中,關(guān)系類型會(huì)起到一定作用,對(duì)于識(shí)別關(guān)系類型的過程同樣如此。(3)產(chǎn)生冗余信息。命名實(shí)體識(shí)別子任務(wù)獲得的實(shí)體,實(shí)體之間并非都存在某種關(guān)系,不存在關(guān)系的實(shí)體作為冗余信息傳遞到關(guān)系抽取子任務(wù)中,提高了錯(cuò)誤率。因此,實(shí)體關(guān)系聯(lián)合抽取逐漸受到重視。
本文主要研究有監(jiān)督實(shí)體關(guān)系聯(lián)合抽取,文中也稱為聯(lián)合抽取。聯(lián)合抽取通過建立統(tǒng)一的模型,使不同的子任務(wù)彼此交互,充分利用子任務(wù)中的信息,進(jìn)一步提升模型的性能。然而,在實(shí)際應(yīng)用中,聯(lián)合抽取模型會(huì)面臨以下幾個(gè)挑戰(zhàn):
(1)實(shí)體嵌套:現(xiàn)實(shí)生活中,存在一個(gè)實(shí)體嵌套另一個(gè)實(shí)體的情況,同一個(gè)詞可能屬于不同的實(shí)體,比如“天津大學(xué)”是一所大學(xué),同時(shí)“天津”也是一個(gè)地點(diǎn)。聯(lián)合抽取模型需要融入更豐富的上下文語(yǔ)義信息才能識(shí)別當(dāng)前實(shí)體類型,大量實(shí)體嵌套的情況增加了聯(lián)合抽取的難度。
(2)關(guān)系重疊:同一句子中可以存在不同的關(guān)系類型,相同的實(shí)體之間可以存在多種關(guān)系類型,不同關(guān)系之間也可能包含一些隱藏信息。比如“北京是中國(guó)的首都”,“中國(guó)”和“北京”之間存在“包含”和“首都”兩種關(guān)系類型。聯(lián)合抽取模型需要設(shè)計(jì)不同的抽取策略或復(fù)雜的標(biāo)注方案才能解決此類問題。
(3)數(shù)據(jù)噪音:日常生活產(chǎn)生的海量數(shù)據(jù)通常存在大量數(shù)據(jù)噪音,尤其是網(wǎng)頁(yè)、社交平臺(tái)和媒體評(píng)論等環(huán)境產(chǎn)生的數(shù)據(jù),存在許多特殊符號(hào)和不標(biāo)準(zhǔn)表達(dá)等類型的噪音。包含數(shù)據(jù)噪音的數(shù)據(jù)難以被充分利用,也增大了聯(lián)合抽取獲取有效數(shù)據(jù)的難度。
(4)模型的平衡性:聯(lián)合抽取的難點(diǎn)是增強(qiáng)子任務(wù)間的交互性。簡(jiǎn)單的交互難以充分利用子任務(wù)的重要信息,降低抽取結(jié)果的準(zhǔn)確性;復(fù)雜的交互會(huì)對(duì)子任務(wù)進(jìn)行限制,使得子任務(wù)抽取的特征不具備豐富性。聯(lián)合抽取需要在子任務(wù)特征的豐富性和子任務(wù)的交互性間做權(quán)衡,以達(dá)到最佳抽取效果。
聯(lián)合抽取的相關(guān)工作如下:文獻(xiàn)[14]是基于深度學(xué)習(xí)的命名實(shí)體識(shí)別和關(guān)系抽取的介紹,但對(duì)基于深度學(xué)習(xí)的聯(lián)合抽取方法介紹較少;文獻(xiàn)[15]對(duì)命名實(shí)體識(shí)別和關(guān)系抽取做了系統(tǒng)全面的介紹,但未側(cè)重于聯(lián)合抽取的方法;文獻(xiàn)[16-17]著重于研究關(guān)系抽取的各種方法,對(duì)聯(lián)合抽取的方法描述較少;文獻(xiàn)[18]綜述了基于深度學(xué)習(xí)的關(guān)系抽取方法,并未介紹聯(lián)合抽取方法;文獻(xiàn)[19]側(cè)重于基于機(jī)器學(xué)習(xí)的各種關(guān)系抽取方法,對(duì)聯(lián)合抽取方法的介紹較為簡(jiǎn)單;文獻(xiàn)[20]與本文的工作接近,但在描述基于神經(jīng)網(wǎng)絡(luò)的聯(lián)合抽取方法時(shí)沒有進(jìn)行細(xì)致的分類。本文則針對(duì)有監(jiān)督實(shí)體關(guān)系聯(lián)合抽取方法做出了較為詳細(xì)的分類和介紹。整體框架如圖1 所示。
圖1 聯(lián)合抽取方法分類Fig.1 Classification of joint extraction methods
本文目的在于對(duì)有監(jiān)督實(shí)體關(guān)系聯(lián)合抽取的最新研究進(jìn)展提供全面深入的研究綜述。具體而言,本文的貢獻(xiàn)在于:
(1)根據(jù)特征的不同提取方式,對(duì)聯(lián)合抽取進(jìn)行了細(xì)致的分類,并詳細(xì)闡述了不同類型下聯(lián)合抽取方法的特點(diǎn)。
(2)介紹了聯(lián)合抽取常用的數(shù)據(jù)集及評(píng)價(jià)指標(biāo),在不同數(shù)據(jù)集上比較了各個(gè)方法間的性能差異并進(jìn)行分析。
(3)基于最新的研究進(jìn)展,總結(jié)聯(lián)合抽取面臨的多種挑戰(zhàn)性問題,指出未來(lái)的主要研究方向。
本章給出實(shí)體關(guān)系聯(lián)合抽取需要的預(yù)備知識(shí)。
當(dāng)前主流的聯(lián)合抽取方法主要基于各類神經(jīng)網(wǎng)絡(luò)模型,以下介紹聯(lián)合抽取常用的神經(jīng)網(wǎng)絡(luò)模型。
循環(huán)神經(jīng)網(wǎng)絡(luò):循環(huán)神經(jīng)網(wǎng)絡(luò)擅長(zhǎng)處理帶有時(shí)序信息的序列,其在每個(gè)時(shí)刻都更新自己的“記憶”,難以解決長(zhǎng)期依賴與梯度消失的問題。長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(long short-term memory,LSTM)于1997 年被提出,是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種變體。LSTM 用特定的學(xué)習(xí)機(jī)制來(lái)聚焦并更新信息,能夠解決長(zhǎng)期依賴和梯度消失問題。門控循環(huán)單元(gated recurrent unit,GRU)對(duì)LSTM進(jìn)行改進(jìn),使用更少的門提升了計(jì)算效率。
圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN):研究者們將諸如卷積神經(jīng)網(wǎng)絡(luò)等傳統(tǒng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)擴(kuò)展到圖數(shù)據(jù)中,使用卷積層提取圖中節(jié)點(diǎn)的特征信息,將當(dāng)前節(jié)點(diǎn)的特征傳遞至相鄰節(jié)點(diǎn),通過疊加GCN 層學(xué)習(xí)到圖中的節(jié)點(diǎn)表示。GCN 的輸入是一個(gè)圖,圖通常由×的節(jié)點(diǎn)嵌入矩陣和×的圖結(jié)構(gòu)表征矩陣(如鄰接矩陣)來(lái)表示,最終輸出×的矩陣,表示每個(gè)節(jié)點(diǎn)的特征信息。
預(yù)訓(xùn)練模型:預(yù)訓(xùn)練模型是已經(jīng)在大量數(shù)據(jù)集上訓(xùn)練并保存的網(wǎng)絡(luò)模型。對(duì)于具體的任務(wù),可以在預(yù)訓(xùn)練模型上微調(diào),實(shí)驗(yàn)也證明預(yù)訓(xùn)練方法是有效的。在自然語(yǔ)言處理(natural language processing,NLP)領(lǐng)域,預(yù)訓(xùn)練模型BERT(bidirectional encoder representations from transformers)展現(xiàn)了優(yōu)秀的性能。BERT 是一種基于Transformer的多層雙向語(yǔ)言表征模型,由個(gè)相同的Transformer塊疊加而成,通過點(diǎn)積注意力的方法更深層次地學(xué)習(xí)到單詞的特征信息。
表1 給出了聯(lián)合抽取常用符號(hào)描述。
表1 常用符號(hào)描述Table 1 List of notations
特征工程是將原始數(shù)據(jù)轉(zhuǎn)化為表達(dá)問題本質(zhì)特征的方法,將特征工程獲得的特征運(yùn)用到模型中可以提高模型性能。基于特征工程的聯(lián)合抽取,需要根據(jù)數(shù)據(jù)特點(diǎn)設(shè)計(jì)特征,當(dāng)滿足特征函數(shù)的條件時(shí),該特征函數(shù)會(huì)被觸發(fā)?;谔卣鞴こ痰穆?lián)合抽取主要有以下四種方法:整數(shù)線性規(guī)劃、卡片金字塔解析、概率圖模型和結(jié)構(gòu)化預(yù)測(cè)。
線性規(guī)劃(linear programming,LP)是運(yùn)籌學(xué)中應(yīng)用廣泛且較為成熟的一個(gè)重要分支,目的是在有限資源和若干約束下,求解得到某個(gè)目標(biāo)函數(shù)最大值或最小值的最優(yōu)策略,其中約束條件和目標(biāo)函數(shù)均為線性函數(shù)。線性規(guī)劃的形式化表達(dá)如下:
式(1)表示需要優(yōu)化的函數(shù),式(2)表示若干線性約束。Roth 等首次使用整數(shù)線性規(guī)劃的方法實(shí)現(xiàn)聯(lián)合抽取。其使用隨機(jī)離散變量表示局部實(shí)體識(shí)別和關(guān)系抽取的結(jié)果,目的是在先驗(yàn)信息、關(guān)系和實(shí)體類型等多個(gè)約束條件下求得全局最優(yōu)分配策略。該模型的目標(biāo)函數(shù)由兩部分構(gòu)成:(1)標(biāo)注分配損失,表示局部分類器預(yù)測(cè)的標(biāo)注與實(shí)際值偏離的情況。(2)約束損失,表示破壞給定約束條件需要付出的代價(jià)。文獻(xiàn)[30]通過添加變量的整數(shù)約束將線性規(guī)劃轉(zhuǎn)換成整數(shù)線性規(guī)劃,用線性松弛法、分支定界法和割平面法等求解最優(yōu)分配策略。
Yang 等將整數(shù)線性規(guī)劃的方法應(yīng)用到細(xì)粒度的觀點(diǎn)抽取,抽取觀點(diǎn)、觀點(diǎn)相關(guān)實(shí)體和觀點(diǎn)與實(shí)體間的關(guān)系。文獻(xiàn)[31]的實(shí)驗(yàn)數(shù)據(jù)中只存在“IS-FROM”和“IS-ABOUT”兩種關(guān)系類型,觀點(diǎn)和觀點(diǎn)相關(guān)實(shí)體的識(shí)別被當(dāng)作序列標(biāo)注任務(wù),用條件隨機(jī)場(chǎng)(conditional random field,CRF)學(xué)習(xí)序列標(biāo)注的概率;觀點(diǎn)與實(shí)體間的關(guān)系抽取被當(dāng)作分類任務(wù),定義勢(shì)函數(shù)表示候選觀點(diǎn)相關(guān)實(shí)體與其參數(shù)的關(guān)系信息。另外,文獻(xiàn)[31]根據(jù)數(shù)據(jù)信息定義了大量的特征,包括詞性特征、短語(yǔ)類型特征和依賴路徑特征等。對(duì)于觀點(diǎn)標(biāo)注的唯一性、不重疊性和實(shí)體關(guān)系一致性等都采用線性公式進(jìn)行約束。
整數(shù)線性規(guī)劃是一個(gè)獲得全局最優(yōu)解的有效方法。整數(shù)線性規(guī)劃的方法應(yīng)用到聯(lián)合抽取中,大量的線性公式可以表示各種類型的約束條件,使得聯(lián)合抽取的設(shè)計(jì)更具備通用性和靈活性。
整數(shù)線性規(guī)劃方法根據(jù)多個(gè)獨(dú)立局部分類器的結(jié)果計(jì)算全局最優(yōu)解以實(shí)現(xiàn)聯(lián)合抽取,但局部分類器之間沒有交互??ㄆ鹱炙馕龇椒▌t用圖結(jié)構(gòu)編碼句子中實(shí)體信息和關(guān)系類型信息,局部分類器彼此交互,提升了聯(lián)合抽取的性能。
Kate 等將聯(lián)合抽取轉(zhuǎn)換成圖節(jié)點(diǎn)標(biāo)注的問題,圖的結(jié)構(gòu)類似金字塔,因此稱為卡片金字塔模型,如圖2 所示。這種類似樹的圖結(jié)構(gòu)在最高層有一個(gè)根節(jié)點(diǎn),中間層是內(nèi)部節(jié)點(diǎn),底層是葉子節(jié)點(diǎn),句子中的實(shí)體對(duì)應(yīng)葉子節(jié)點(diǎn),葉子節(jié)點(diǎn)標(biāo)注為實(shí)體類型。圖的層數(shù)和葉子節(jié)點(diǎn)數(shù)相等,從圖的底層到頂層,每次減少一個(gè)節(jié)點(diǎn)。除去最底層節(jié)點(diǎn),每一層的節(jié)點(diǎn)表示與節(jié)點(diǎn)相關(guān)的最左和最右兩個(gè)葉子節(jié)點(diǎn)之間可能存在的關(guān)系。文獻(xiàn)[33]的兩個(gè)局部分類器為實(shí)體識(shí)別分類器和關(guān)系抽取分類器,都采用支持向量機(jī)(support vector machines,SVM)進(jìn)行訓(xùn)練,根據(jù)局部分類器的結(jié)果構(gòu)造卡片金字塔圖。文獻(xiàn)[33]采用動(dòng)態(tài)規(guī)劃和集束搜索的方法設(shè)計(jì)解析算法,該方法主要由實(shí)體生成和關(guān)系生成兩部分組成,根據(jù)卡片金字塔的結(jié)構(gòu)特點(diǎn),分別產(chǎn)生葉子節(jié)點(diǎn)的實(shí)體信息和非葉子節(jié)點(diǎn)的關(guān)系信息。最終圖的節(jié)點(diǎn)都被標(biāo)注,實(shí)現(xiàn)了聯(lián)合抽取。
圖2 卡片金字塔模型Fig.2 Card pyramid model
概率圖模型使用圖結(jié)構(gòu)表示概率分布。由無(wú)向圖=(,)表示聯(lián)合概率分布(),即在圖中,節(jié)點(diǎn)∈表示一個(gè)隨機(jī)變量Y,邊∈表示隨機(jī)變量之間的依賴關(guān)系。
Yu 等設(shè)計(jì)了任意圖結(jié)構(gòu)的聯(lián)合判別概率模型來(lái)同時(shí)優(yōu)化聯(lián)合抽取所有相關(guān)子任務(wù),在一個(gè)實(shí)體信息已知的條件下預(yù)測(cè)該實(shí)體與另一個(gè)實(shí)體間的關(guān)系。其將實(shí)體信息和關(guān)系類型信息聯(lián)合建模,整個(gè)模型由三部分構(gòu)成:半馬爾可夫鏈層、勢(shì)函數(shù)層和全連通圖層。該模型通過改進(jìn)傳統(tǒng)的CRF 獲得無(wú)向圖的最大條件概率,并設(shè)計(jì)新的推理方法獲得實(shí)體關(guān)系的最大后驗(yàn)概率,完成聯(lián)合抽取。
Singh 等則對(duì)命名實(shí)體識(shí)別、關(guān)系抽取和共指三個(gè)子任務(wù)統(tǒng)一建模,根據(jù)三個(gè)子任務(wù)的聯(lián)合概率表示三個(gè)子任務(wù)間的依賴關(guān)系。具體而言,將三個(gè)子任務(wù)的變量和因子組合構(gòu)成圖模型,因子通常被定義為特征函數(shù)和模型參數(shù)的對(duì)數(shù)線性組合,圖中隨機(jī)變量的概率分布可由因子表示,如圖3 所示。圖中表示給定的實(shí)體變量,下標(biāo)表示不同的實(shí)體,、、分別表示標(biāo)注變量、共指變量和關(guān)系變量,下標(biāo)作為參數(shù)對(duì)應(yīng)不同實(shí)體信息,Ψ、Ψ、Ψ分別表示標(biāo)注因子、共指因子和關(guān)系因子,括號(hào)中的數(shù)字代表不同的實(shí)體信息。由于模型中包含大量變量,該方法采用擴(kuò)展的置信度傳播算法進(jìn)行推理,最終獲得實(shí)體類型和實(shí)體間的關(guān)系。
圖3 文獻(xiàn)[37]的概率圖模型Fig.3 Probability graph model of Ref.[37]
用概率圖模型實(shí)現(xiàn)聯(lián)合抽取的優(yōu)點(diǎn)是可以將大量隨機(jī)變量表示為一系列概率分布,這些概率分布根據(jù)基礎(chǔ)圖進(jìn)行因式分解,能夠捕獲變量間的依賴信息。
傳統(tǒng)的機(jī)器學(xué)習(xí)方法,主要面向回歸問題和分類問題,輸出分別是一個(gè)標(biāo)量和一個(gè)類別。對(duì)于結(jié)構(gòu)化預(yù)測(cè),任務(wù)的輸出是一個(gè)序列、圖或樹等結(jié)構(gòu)類型,結(jié)構(gòu)中包含語(yǔ)義信息和邏輯信息。
Li等采用結(jié)構(gòu)化預(yù)測(cè)的方法,將句子中的實(shí)體類型信息和關(guān)系類型信息存儲(chǔ)在圖中,圖的節(jié)點(diǎn)表示實(shí)體信息,弧表示實(shí)體間的關(guān)系信息。文獻(xiàn)[38]通過集束搜索進(jìn)行結(jié)構(gòu)化預(yù)測(cè),即對(duì)于第個(gè)單詞,維持個(gè)最好的局部結(jié)構(gòu)。其目的是在給定特征和約束條件下預(yù)測(cè)句子的隱藏結(jié)構(gòu),形式化表達(dá)如下:
其中,表示輸入句子,′表示候選結(jié)構(gòu),(,′)表示整個(gè)句子的特征向量。文獻(xiàn)[38]采用特征向量和特征權(quán)重的內(nèi)積來(lái)表示候選結(jié)構(gòu)的分?jǐn)?shù),并使用基于半馬爾可夫鏈的分段解碼器。由于輸出結(jié)構(gòu)中包含實(shí)體和關(guān)系的信息,該方法通過設(shè)計(jì)全局特征以約束圖結(jié)構(gòu),最終選擇分?jǐn)?shù)最高的結(jié)構(gòu)^ 作為輸出。
Miwa 等則用簡(jiǎn)單的表結(jié)構(gòu)來(lái)表示實(shí)體類型和關(guān)系類型。表的對(duì)角線表示實(shí)體類型,表格的下三角元素表示實(shí)體間的關(guān)系類型。文獻(xiàn)[39]采用BILOU(begin、inside、last、outside、unit)標(biāo)注方法,每個(gè)實(shí)體標(biāo)注代表實(shí)體的類型和每個(gè)單詞在實(shí)體中的位置,如單詞Steven 和Jobs 的標(biāo)注分別為B-PER 和L-PER,分別表示“人”類型實(shí)體的起始單詞和末尾單詞。如圖4 所示,由于輸入句子構(gòu)成的表格具有對(duì)稱性,該方法只使用了表格的下三角部分,根據(jù)不同的順序(如順序和逆序讀取句子)將表格轉(zhuǎn)換成序列;用特征函數(shù)與特征權(quán)重的內(nèi)積表示候選結(jié)構(gòu)的分?jǐn)?shù),選取分?jǐn)?shù)最高的結(jié)構(gòu)作為模型的輸出來(lái)實(shí)現(xiàn)聯(lián)合抽取。
圖4 文獻(xiàn)[39]的表格標(biāo)注方法Fig.4 Table annotation method of Ref.[39]
表2 是對(duì)基于特征工程的聯(lián)合抽取方法的小結(jié),整數(shù)線性規(guī)劃方法可以靈活地表達(dá)各種約束條件,但子任務(wù)間的交互性較低;卡片金字塔模型、概率圖模型和結(jié)構(gòu)化預(yù)測(cè)皆采用圖或表結(jié)構(gòu)來(lái)增強(qiáng)子任務(wù)間的交互性,但所采用的解析方法不同,計(jì)算復(fù)雜度增高。卡片金字塔模型設(shè)計(jì)了相應(yīng)的卡片金字塔解析算法,概率圖模型對(duì)一系列概率分布進(jìn)行解析,結(jié)構(gòu)化預(yù)測(cè)則評(píng)估不同候選結(jié)構(gòu)的分?jǐn)?shù)來(lái)選取最優(yōu)結(jié)構(gòu)。
表2 基于特征工程的聯(lián)合抽取方法總結(jié)Table 2 Summary of joint extraction methods based on feature engineering
基于特征工程的聯(lián)合抽取在獲取特征的過程中嚴(yán)重依賴NLP 工具,需要大量人力和專業(yè)領(lǐng)域知識(shí),且存在誤差傳播的問題,最終影響聯(lián)合抽取的結(jié)果。由于神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的特征學(xué)習(xí)能力,神經(jīng)網(wǎng)絡(luò)的方法被逐漸應(yīng)用到聯(lián)合抽取中。
如圖5 所示,基于神經(jīng)網(wǎng)絡(luò)的聯(lián)合抽取模型通常由三部分構(gòu)成:(1)詞嵌入層。詞嵌入層將輸入句子中的單詞w嵌入到一個(gè)向量空間,向量中融入單詞信息、字符信息和其他特征信息。(2)序列編碼層。序列編碼層疊加在詞嵌入層上,將詞嵌入層獲得的向量進(jìn)一步編碼,使得單詞w對(duì)應(yīng)的向量融入上下文信息。(3)解碼器層?;诼?lián)合解碼的聯(lián)合抽取模型在序列編碼層上疊加統(tǒng)一的解碼器,直接解碼序列編碼層得到聯(lián)合抽取的結(jié)果;基于共享參數(shù)的聯(lián)合抽取模型在序列編碼層上疊加不同的解碼器,根據(jù)不同的子任務(wù)解碼序列信息,解碼器間通過共享序列編碼層進(jìn)行信息交互。
圖5 基于神經(jīng)網(wǎng)絡(luò)的聯(lián)合抽取Fig.5 Joint extraction based on neural network
實(shí)體對(duì)映射到關(guān)系將聯(lián)合抽取分解成兩個(gè)子任務(wù):命名實(shí)體識(shí)別和關(guān)系抽取。目前,兩個(gè)子任務(wù)都有較為成熟的處理方法。
SPTree首次采用神經(jīng)網(wǎng)絡(luò)的方法實(shí)現(xiàn)聯(lián)合抽取。如圖6 所示,SPTree 由三個(gè)表示層組成:詞嵌入層、序列層和依賴層。最底層的詞嵌入層將單詞和單詞詞性轉(zhuǎn)換成嵌入向量。序列層則由雙向LSTM和兩層前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成,序列層的輸出為單詞的BILOU 標(biāo)注,通過標(biāo)注信息實(shí)現(xiàn)命名實(shí)體識(shí)別子任務(wù)。SPTree 采用序列標(biāo)注方案時(shí)融入了實(shí)體間的依賴信息,通過利用上一個(gè)單詞的標(biāo)注信息預(yù)測(cè)下一個(gè)單詞的BILOU 標(biāo)注。
圖6 基于依賴樹的聯(lián)合抽取模型Fig.6 Joint extraction model based on dependency tree
將命名實(shí)體識(shí)別子任務(wù)識(shí)別的實(shí)體進(jìn)行關(guān)系抽取,由模型的依賴層實(shí)現(xiàn)。SPTree的依賴層采用雙向樹結(jié)構(gòu)的LSTM(由上到下和由下到上),使得每個(gè)節(jié)點(diǎn)融入該節(jié)點(diǎn)到根節(jié)點(diǎn)和葉子節(jié)點(diǎn)的信息。樹結(jié)構(gòu)LSTM的設(shè)計(jì)方法有利于關(guān)系抽取,在依賴樹中找到兩個(gè)目標(biāo)實(shí)體的最小公共節(jié)點(diǎn),即兩實(shí)體間的最短路徑,該方法在Xu等關(guān)系分類的實(shí)驗(yàn)中被證明是有效的。
SPTree 的聯(lián)合抽取過程中,由于依賴層疊加在序列層上,命名實(shí)體識(shí)別和關(guān)系分類兩個(gè)子任務(wù)可以共享序列層和詞嵌入層的信息,兩個(gè)子任務(wù)同時(shí)進(jìn)行訓(xùn)練并在整個(gè)模型解碼完成后,通過反向傳播算法更新共享參數(shù)來(lái)實(shí)現(xiàn)信息交互。
在后續(xù)的研究中,各類模型主要從兩方面提升聯(lián)合抽取的性能:(1)提升命名實(shí)體識(shí)別和關(guān)系抽取的準(zhǔn)確性;(2)增加兩個(gè)子任務(wù)間的交互性。
另外,現(xiàn)實(shí)世界中的實(shí)體通常基于跨度進(jìn)行標(biāo)記,對(duì)跨度建模能夠直接抽取實(shí)體的特征信息,在設(shè)計(jì)上容易解決實(shí)體嵌套的問題。
Dixit 等在雙向LSTM 上使用注意力機(jī)制獲取所有可能的跨度;Luan 等在假設(shè)空間上進(jìn)行集束搜索,評(píng)估跨度的類型信息和跨度間的關(guān)系信息;在后續(xù)的改進(jìn)版本中,DyGIE通過構(gòu)造動(dòng)態(tài)跨度圖來(lái)進(jìn)一步豐富跨度信息;文獻(xiàn)[52-54]則通過預(yù)訓(xùn)練語(yǔ)言模型BERT和注意力機(jī)制,提升了抽取跨度的準(zhǔn)確性。
為了增強(qiáng)兩個(gè)子任務(wù)間的交互性,Gupta 等將聯(lián)合抽取轉(zhuǎn)換為表格填充任務(wù);Zhang 等在文獻(xiàn)[55]上進(jìn)一步改進(jìn),采用LSTM 進(jìn)行特征抽??;RIN(recurrent interaction network)采用雙向LSTM 學(xué)習(xí)共享參數(shù)層的動(dòng)態(tài)交互信息;Feng 等則采用強(qiáng)化學(xué)習(xí)的方式增強(qiáng)子任務(wù)間的交互;Sun 等設(shè)計(jì)最小化風(fēng)險(xiǎn)的全局損失函數(shù)進(jìn)行聯(lián)合訓(xùn)練;在后續(xù)的改進(jìn)版本中,Sun 等將實(shí)體類型和關(guān)系類型構(gòu)造成二分圖,用GCN 進(jìn)行聯(lián)合推理。
聯(lián)合抽取模型需要權(quán)衡子任務(wù)的準(zhǔn)確性和交互性,在抽取句子的特征信息時(shí)通常采用雙向LSTM 或預(yù)訓(xùn)練語(yǔ)言模型,不同的子任務(wù)會(huì)設(shè)計(jì)相應(yīng)的子模型。上述相關(guān)文獻(xiàn)的模型架構(gòu)及描述總結(jié)如表3所示。
表3 實(shí)體對(duì)映射到關(guān)系模型總結(jié)Table 3 Summary of mapping entity pairs to relationship models
頭實(shí)體映射到關(guān)系、尾實(shí)體的聯(lián)合抽取策略可以用式(4)中的條件概率來(lái)表示:
這種策略將聯(lián)合抽取分解成兩步,先抽取頭實(shí)體,再根據(jù)頭實(shí)體抽取相應(yīng)的關(guān)系類型和尾實(shí)體。一個(gè)直觀的解釋是:模型如果不能準(zhǔn)確地抽取頭實(shí)體,那么模型抽取的關(guān)系類型和尾實(shí)體的置信度同樣較低。
Katiyar 等在識(shí)別實(shí)體的過程中采用BILOU 序列標(biāo)注的方法,識(shí)別出實(shí)體后,使用指針網(wǎng)絡(luò)的方法(注意力模型的一種改進(jìn)),根據(jù)關(guān)系類型識(shí)別出另一個(gè)實(shí)體。文獻(xiàn)[62]的序列編碼層采用多層雙向LSTM,在序列編碼層上疊加一層從左到右的LSTM層和前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行解碼。識(shí)別當(dāng)前實(shí)體的過程主要由式(5)和式(6)實(shí)現(xiàn):
為了抽取句子中的多個(gè)關(guān)系類型,Bekoulis 等采用多頭選擇機(jī)制,在后續(xù)的改進(jìn)版本中,Bekoulis等在詞嵌入向量中添加一個(gè)最壞情況擾動(dòng)項(xiàng)產(chǎn)生對(duì)抗樣本,通過對(duì)抗學(xué)習(xí)提升了聯(lián)合抽取模型的魯棒性;ETL-Span采用序列標(biāo)注的方法實(shí)現(xiàn)了該分解策略;CasRel將關(guān)系類型當(dāng)作一種頭實(shí)體映射到尾實(shí)體的函數(shù),根據(jù)函數(shù)f()→設(shè)計(jì)頭實(shí)體觸發(fā)器和特定關(guān)系的尾實(shí)體觸發(fā)器;TPLinker設(shè)計(jì)了一種新穎的握手標(biāo)注方案,將長(zhǎng)度為的句子轉(zhuǎn)換成長(zhǎng)度為(+)/2 的序列后進(jìn)行編碼,解決了曝光偏差的問題。
Li等和Zhao 等則采用機(jī)器閱讀理解的方法,將先驗(yàn)信息融入到問題中,在問題和句子的交互中捕捉語(yǔ)義信息,提高了模型的準(zhǔn)確性。文獻(xiàn)[68]根據(jù)頭實(shí)體用模板生成的方法獲得關(guān)系類型和尾實(shí)體的問題,并采用機(jī)器閱讀理解的方法抽取句子中對(duì)應(yīng)的尾實(shí)體。文獻(xiàn)[69]對(duì)同一個(gè)實(shí)體類型,設(shè)計(jì)了不同角度的多個(gè)相關(guān)問題,融入更多先驗(yàn)信息。在問題生成過程中,過濾無(wú)關(guān)關(guān)系類型,選擇相關(guān)關(guān)系類型生成問題,并采用答案集成策略選取最優(yōu)答案。
一般而言,句子中存在的關(guān)系類型是由上下文信息而不是實(shí)體信息觸發(fā)。比如句子中若有類似“was born in”的信息,那么可以判斷出存在“Place_Of_Birth”的關(guān)系類型。關(guān)系映射到頭實(shí)體、尾實(shí)體的聯(lián)合抽取方法便是基于這種現(xiàn)象,先識(shí)別出關(guān)系,將關(guān)系作為先驗(yàn)信息抽取實(shí)體,使模型更關(guān)注于該關(guān)系相關(guān)的語(yǔ)義信息,減少冗余的抽取操作。另外,句子中關(guān)系類型的數(shù)量通常少于實(shí)體數(shù)量,關(guān)系映射到頭實(shí)體、尾實(shí)體的聯(lián)合抽取方法也降低了計(jì)算復(fù)雜度,提高了聯(lián)合抽取的效率。
HRL(hierarchical reinforcement learning)將實(shí)體當(dāng)作特定關(guān)系類型的參數(shù),并設(shè)計(jì)分層的強(qiáng)化學(xué)習(xí)框架完成聯(lián)合抽取。強(qiáng)化學(xué)習(xí)會(huì)給出智能體每個(gè)狀態(tài)下應(yīng)該采取的行動(dòng),使得智能體從環(huán)境中獲得的獎(jiǎng)勵(lì)最大。如圖7 所示,高層級(jí)的強(qiáng)化學(xué)習(xí)被用于關(guān)系抽取,在這一層級(jí),智能體順序掃描句子,當(dāng)中有足夠的語(yǔ)義信息時(shí),如一些動(dòng)詞短語(yǔ)“die of”,名詞短語(yǔ)“his father”,或介詞“from”等,智能體將會(huì)預(yù)測(cè)出相應(yīng)的關(guān)系類型,并發(fā)布一個(gè)子任務(wù),即低層級(jí)的強(qiáng)化學(xué)習(xí),用于識(shí)別當(dāng)前關(guān)系類型對(duì)應(yīng)的實(shí)體對(duì),當(dāng)子任務(wù)完成后,智能體繼續(xù)掃描剩余的部分。
圖7 分層級(jí)的強(qiáng)化學(xué)習(xí)框架Fig.7 Hierarchical reinforcement learning framework
具體而言,高層級(jí)和低層級(jí)的強(qiáng)化學(xué)習(xí)都采用雙向LSTM 編碼得到每個(gè)單詞的特征向量。高層級(jí)的強(qiáng)化學(xué)習(xí)將單詞的特征向量、關(guān)系類型的嵌入向量和上一時(shí)刻的狀態(tài)信息向量拼接后,通過前饋神經(jīng)網(wǎng)絡(luò)獲得當(dāng)前的狀態(tài)信息向量,采用隨機(jī)策略預(yù)測(cè)當(dāng)前句子包含的關(guān)系類型。高層級(jí)的強(qiáng)化學(xué)習(xí)同時(shí)設(shè)置獎(jiǎng)勵(lì)函數(shù),當(dāng)句子不存在模型預(yù)測(cè)得到的關(guān)系類型時(shí),函數(shù)值為-1;當(dāng)模型預(yù)測(cè)得到關(guān)系類型為空時(shí),函數(shù)值為0;當(dāng)句子存在模型預(yù)測(cè)得到的關(guān)系類型時(shí),函數(shù)值為1,此時(shí)會(huì)觸發(fā)低層級(jí)的實(shí)體識(shí)別。低層級(jí)的強(qiáng)化學(xué)習(xí)采用序列標(biāo)注的方法,根據(jù)預(yù)測(cè)標(biāo)注與序列標(biāo)準(zhǔn)標(biāo)注之間的偏差設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)。
高層級(jí)的關(guān)系抽取和低層級(jí)的實(shí)體識(shí)別通過狀態(tài)信息向量和獎(jiǎng)勵(lì)函數(shù)實(shí)現(xiàn)交互。在執(zhí)行低層級(jí)的實(shí)體識(shí)別時(shí),高層級(jí)的關(guān)系抽取傳遞相關(guān)的關(guān)系信息,低層級(jí)的實(shí)體識(shí)別會(huì)通過獎(jiǎng)勵(lì)機(jī)制,將實(shí)體識(shí)別的情況反饋給高層級(jí),使得句子中的多個(gè)關(guān)系三元組被有序地抽取。
Zhou 等通過在雙向LSTM 上疊加卷積神經(jīng)網(wǎng)絡(luò)提升了關(guān)系抽取的準(zhǔn)確性,并采用單向LSTM 解碼當(dāng)前關(guān)系類型對(duì)應(yīng)的實(shí)體對(duì);RSAN(relation-specific attention network)根據(jù)不同的關(guān)系類型,用關(guān)系敏感的注意力方法獲得句子的不同特征信息,通過門機(jī)制降低了無(wú)關(guān)關(guān)系類型對(duì)實(shí)體識(shí)別的影響;Wang等認(rèn)為統(tǒng)一編碼器在編碼實(shí)體信息和關(guān)系類型信息時(shí),得到的特征信息可能是沖突的、不明確的。Wang 設(shè)計(jì)了兩種不同的編碼器:序列編碼器和表編碼器。兩個(gè)編碼器分別用于編碼實(shí)體信息和關(guān)系類型信息,其內(nèi)部彼此交互。表編碼器將特征信息傳遞給序列編碼器,并預(yù)測(cè)出關(guān)系類型;序列編碼器根據(jù)特征信息和序列編碼信息,通過前饋神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)出實(shí)體信息。
基于共享參數(shù)的聯(lián)合抽取模型總結(jié)如表4 所示。實(shí)體對(duì)映射到關(guān)系的聯(lián)合抽取模型,兩個(gè)子任務(wù)的實(shí)現(xiàn)方法較為成熟,通過共享參數(shù)的方法容易實(shí)現(xiàn)聯(lián)合抽取,但聯(lián)合抽取過程中會(huì)產(chǎn)生不存在關(guān)系的冗余實(shí)體對(duì),難以有效解決關(guān)系重疊的問題;頭實(shí)體映射到關(guān)系、尾實(shí)體的方法能夠有效解決關(guān)系重疊的問題,增強(qiáng)了實(shí)體類型信息和關(guān)系類型信息的交互,但模型設(shè)計(jì)相對(duì)復(fù)雜;關(guān)系映射到頭實(shí)體、尾實(shí)體的方法減少了冗余信息的抽取,能夠解決關(guān)系重疊的問題,但識(shí)別候選關(guān)系類型的難度較大,模型設(shè)計(jì)相對(duì)復(fù)雜。
表4 共享參數(shù)模型總結(jié)Table 4 Summary of shared parameter model
基于共享參數(shù)的聯(lián)合抽取模型,每個(gè)子任務(wù)擁有獨(dú)立的解碼器,通過共享參數(shù)的方法實(shí)現(xiàn)信息交互,子任務(wù)間的交互性并不強(qiáng)。為了增強(qiáng)不同子任務(wù)之間的交互性,基于聯(lián)合解碼的聯(lián)合抽取模型被相繼提出。基于聯(lián)合解碼的聯(lián)合抽取模型通常在序列編碼層上疊加統(tǒng)一解碼器,直接解碼得到關(guān)系三元組信息。主要存在兩種方法:(1)序列標(biāo)注方法,將聯(lián)合抽取轉(zhuǎn)換成序列標(biāo)注進(jìn)行解碼;(2)Sequenceto-Sequence,采用Sequence-to-Sequence 方法生成關(guān)系三元組。
對(duì)于命名實(shí)體識(shí)別任務(wù),通常采用序列標(biāo)注的方法實(shí)現(xiàn),模型通過預(yù)測(cè)每個(gè)單詞的BLOU 標(biāo)注來(lái)識(shí)別實(shí)體。用序列標(biāo)注實(shí)現(xiàn)聯(lián)合抽取的優(yōu)點(diǎn)是方法成熟,實(shí)現(xiàn)簡(jiǎn)單;難點(diǎn)是需要設(shè)計(jì)統(tǒng)一的標(biāo)注方案,在標(biāo)注中融入實(shí)體類型信息和關(guān)系類型信息。
圖8 序列標(biāo)注方案Fig.8 Sequence annotation scheme
NovingTagging 設(shè)計(jì)的標(biāo)注方案在將實(shí)體信息和關(guān)系類型信息相結(jié)合時(shí),并沒有融入實(shí)體類型信息。由于每個(gè)單詞只能有一個(gè)標(biāo)注,NovingTagging不能解決關(guān)系重疊和實(shí)體嵌套的問題。
Dai 等在標(biāo)注方案上進(jìn)一步改進(jìn),將長(zhǎng)度為的句子根據(jù)每個(gè)單詞的位置進(jìn)行次不同標(biāo)注,使得每個(gè)單詞可被多次標(biāo)注。在解碼過程中,文獻(xiàn)[75]采用基于位置的注意力方法和CRF 得到個(gè)不同的序列標(biāo)注,解決了關(guān)系重疊的問題。
Sequence-to-Sequence方法最初被應(yīng)用于機(jī)器翻譯,基于Sequence-to-Sequence 的模型主要由兩個(gè)分別被稱為編碼器和解碼器的循環(huán)神經(jīng)網(wǎng)絡(luò)構(gòu)成,編碼器將任意長(zhǎng)度的輸入序列轉(zhuǎn)換成固定長(zhǎng)度的語(yǔ)義向量,解碼器將語(yǔ)義向量轉(zhuǎn)換成另一個(gè)輸出序列。
Zeng 等采用Sequence-to-Sequence 的方法設(shè)計(jì)了模型CopyRE,同時(shí)引入了復(fù)制機(jī)制。聯(lián)合抽取過程類似機(jī)器翻譯,解碼器依次產(chǎn)生關(guān)系類型、頭實(shí)體和尾實(shí)體。文獻(xiàn)[78]首次將關(guān)系重疊類型進(jìn)行分類,如表5 所示,將關(guān)系類型分為三種:(1)Normal關(guān)系類型,關(guān)系三元組的實(shí)體沒有重疊;(2)SEO(single entity overlap)關(guān)系類型,關(guān)系三元組的實(shí)體對(duì)中有一個(gè)實(shí)體與另一個(gè)關(guān)系三元組的實(shí)體重疊,但兩個(gè)關(guān)系三元組的實(shí)體對(duì)不重疊;(3)EPO(entity pair overlap)關(guān)系類型,一個(gè)實(shí)體對(duì)之間存在多種關(guān)系。
表5 關(guān)系類型分類示例Table 5 Example of relationship type classification
聯(lián)合抽取模型普遍容易解決Normal 類型,Copy-RE 能夠解決EPO 類型和SEO 類型。如圖9 所示,CopyRE 的編碼器采用雙向循環(huán)神經(jīng)網(wǎng)絡(luò),句子經(jīng)過詞嵌入層后傳入雙向循環(huán)神經(jīng)網(wǎng)絡(luò),雙向循環(huán)神經(jīng)網(wǎng)絡(luò)最終的隱藏狀態(tài)向量拼接得到語(yǔ)義向量,編碼過程中用注意力方法獲取注意力向量。解碼器采用單向循環(huán)神經(jīng)網(wǎng)絡(luò),和輸入解碼器后獲得當(dāng)前時(shí)刻的輸出向量,輸出向量通過前饋神經(jīng)網(wǎng)絡(luò)獲得關(guān)系類型,關(guān)系類型的嵌入向量和注意力向量作為下一時(shí)刻+1 的輸入,+1 時(shí)刻的輸出向量通過前饋神經(jīng)網(wǎng)絡(luò)后采用復(fù)制機(jī)制從原句子中復(fù)制頭實(shí)體,頭實(shí)體的嵌入向量和注意力向量在+2 時(shí)刻用相同的方法復(fù)制得到尾實(shí)體。最終依次產(chǎn)生句子中的所有關(guān)系三元組,實(shí)現(xiàn)聯(lián)合抽取。在解碼過程中,一個(gè)實(shí)體可以被多次復(fù)制,解決了關(guān)系重疊的問題。
在后續(xù)的研究中,CopyRL提出句子中的多個(gè)三元組之間應(yīng)該存在順序關(guān)系,并采用了強(qiáng)化學(xué)習(xí)方法;由于CopyRE 只能復(fù)制實(shí)體的最后一個(gè)單詞,難以處理一個(gè)實(shí)體包含多個(gè)單詞的情況。文獻(xiàn)[81]提出了一種多任務(wù)學(xué)習(xí)模型CopyMTL,CopyMTL 在CopyRE 基礎(chǔ)上添加了一個(gè)序列標(biāo)注模塊用于實(shí)體識(shí)別。序列標(biāo)注得到的實(shí)體和復(fù)制機(jī)制得到的實(shí)體進(jìn)行校對(duì),使得CopyMTL 能夠準(zhǔn)確識(shí)別實(shí)體。上述三個(gè)模型間的對(duì)比如圖9 所示。HDP(hybrid dual pointer network)編碼器中采用了Transformer,解碼器為從左到右的單向LSTM,提升了特征抽取能力;Nayak 等設(shè)計(jì)了兩種新穎的方案來(lái)表示三元組,根據(jù)兩個(gè)方案分別設(shè)計(jì)了不同的解碼器,即基于單詞的解碼器Wdec 和基于指針網(wǎng)絡(luò)的解碼器PNDec,提高了關(guān)系三元組之間的交互;SPN(set prediction network)認(rèn)為句子中的關(guān)系三元組應(yīng)該是無(wú)序的,自回歸解碼器將無(wú)序的關(guān)系三元組有序生成,增加了模型的負(fù)擔(dān),因此SPN 采用基于Transformer 的非自回歸解碼器,并設(shè)計(jì)基于集合的二分匹配損失函數(shù),一次性產(chǎn)生包含所有關(guān)系三元組的集合。
圖9 Sequence-to-Sequence 模型對(duì)比Fig.9 Sequence-to-Sequence model comparison
基于聯(lián)合解碼的聯(lián)合抽取模型主要有序列標(biāo)注和Sequence-to-Sequence 兩種方法。序列標(biāo)注的方法容易實(shí)現(xiàn)聯(lián)合抽取,但真實(shí)數(shù)據(jù)間的關(guān)系通常比較復(fù)雜,在解決實(shí)體嵌套、關(guān)系重疊等具體問題時(shí),序列標(biāo)注的方法需要設(shè)計(jì)復(fù)雜的標(biāo)注方案,增加了聯(lián)合抽取的難度;Sequence-to-Sequence 的方法能有效解決關(guān)系重疊的問題,但當(dāng)句子長(zhǎng)度較長(zhǎng)時(shí),提升了構(gòu)造具有豐富語(yǔ)義特征向量的難度。
表6 是基于神經(jīng)網(wǎng)絡(luò)的聯(lián)合抽取方法總結(jié)?;诠蚕韰?shù)的聯(lián)合抽取模型將聯(lián)合抽取分解為不同的子任務(wù),通過構(gòu)造豐富的子任務(wù)特征信息來(lái)提升子任務(wù)模型的準(zhǔn)確性,但子任務(wù)間的交互性相對(duì)較低;基于聯(lián)合解碼的聯(lián)合抽取模型使得實(shí)體信息和關(guān)系信息充分交互,但需要設(shè)計(jì)相對(duì)復(fù)雜的解碼方法。
表6 基于神經(jīng)網(wǎng)絡(luò)的聯(lián)合抽取模型Table 6 Joint extraction model based on neural network
本章主要介紹聯(lián)合抽取的常用數(shù)據(jù)集,主要分為人工標(biāo)注的數(shù)據(jù)集和采用NLP 獲取的數(shù)據(jù)集,這兩類數(shù)據(jù)集都被作為有監(jiān)督數(shù)據(jù)集進(jìn)行處理。
人工標(biāo)注的數(shù)據(jù)集需要標(biāo)注員對(duì)文本數(shù)據(jù)進(jìn)行標(biāo)注,耗費(fèi)成本大,整體效率低下,但數(shù)據(jù)質(zhì)量高,噪音少,有公認(rèn)的評(píng)價(jià)方式,這類數(shù)據(jù)集的規(guī)模通常也較小。
ACE(automatic content extraction)的研究目標(biāo)是從自然語(yǔ)言數(shù)據(jù)中自動(dòng)抽取實(shí)體、實(shí)體相關(guān)事件和實(shí)體間的關(guān)系類型,其數(shù)據(jù)來(lái)源除英語(yǔ)外還包括阿拉伯語(yǔ)和漢語(yǔ)等。ACE 預(yù)先定義了實(shí)體間的關(guān)系類型,ACE 的任務(wù)是識(shí)別實(shí)體間是否存在語(yǔ)義關(guān)系,并進(jìn)一步判斷該語(yǔ)義關(guān)系屬于哪一種預(yù)定義的關(guān)系類型。ACE 提供了相應(yīng)的標(biāo)注數(shù)據(jù)集ACE2004 和ACE2005。ACE2004 數(shù)據(jù)集的實(shí)體和關(guān)系類型如表7所示,ACE2005保留了ACE2004中的PER-SOC(person-social)、ART(agent-artifact)和GPE-AFF(geopolitical entity affiliation)關(guān)系類型,將PHYS(physical)關(guān)系類型分為PHYS 和Part-Whole 類型,移除了DISC(discourse)類型,將EMP-ORG(employment-organization)和PER/ORG-AFF(person/organization-affiliation)合并成EMP-ORG。
表7 ACE2004 數(shù)據(jù)集Table 7 ACE2004 dataset
SemEval(semantic evaluation)會(huì)議在自然語(yǔ)言領(lǐng)域受到廣泛關(guān)注。SemEval-2010 Task 8 側(cè)重于識(shí)別名詞對(duì)之間的語(yǔ)義關(guān)系,目的是比較不同關(guān)系抽取方法的性能差異,并對(duì)未來(lái)的研究提供標(biāo)準(zhǔn)的評(píng)測(cè)方法。SemEval選擇9種關(guān)系類型:CE(causeeffect)、IA(instrument-agency)、PP(product-producer)、CC(content-container)、EO(entity-origin)、ED(entitydestination)、CW(component-whole)、MC(membercollection)和MT(message-topic),覆蓋范圍較為廣泛。SemEval 提供了8 000 個(gè)訓(xùn)練樣本和2 717 個(gè)測(cè)試樣本,每個(gè)樣本存在的關(guān)系類型都被標(biāo)注,但沒有標(biāo)注實(shí)體的類型信息。
CoNLL04 數(shù)據(jù)集提供了1 437 個(gè)至少存在一個(gè)關(guān)系的句子,句子中的實(shí)體和關(guān)系類型都進(jìn)行了標(biāo)注。CoNLL04 數(shù)據(jù)集包含5 336 個(gè)實(shí)體,19 048 個(gè)實(shí)體對(duì)(二元關(guān)系),存在4 種實(shí)體類型和6 種關(guān)系類型,具體細(xì)節(jié)如表8 所示。
表8 CoNLL04 數(shù)據(jù)集Table 8 CoNLL04 dataset
ADE(adverse drug events)數(shù)據(jù)集中存在兩種實(shí)體類型:Drug 和Disease。任務(wù)的目的是抽取句子中的Drug 類型實(shí)體和Disease 類型實(shí)體,并確定Drug 和Disease 的關(guān)聯(lián)性。ADE 數(shù)據(jù)集來(lái)自于1 644 個(gè)PubMed 的摘要信息,從摘要中選取至少存在一組實(shí)體類型為Drug-Disease 且關(guān)系類型為ADE 的句子,ADE 數(shù)據(jù)集共6 821條,包含10 652個(gè)實(shí)體以及6 682個(gè)關(guān)聯(lián)。
通過NLP 獲取的數(shù)據(jù)集,規(guī)模較大,遷移性較好,但質(zhì)量相比人工標(biāo)注數(shù)據(jù)集較低。主要有NYT(New York Times)數(shù)據(jù)集和WebNLG(Web natural language generation)數(shù)據(jù)集,分別采用遠(yuǎn)程監(jiān)督和自然語(yǔ)言生成的方法獲取。遠(yuǎn)程監(jiān)督將大量語(yǔ)料數(shù)據(jù)與現(xiàn)有數(shù)據(jù)庫(kù)中的關(guān)系進(jìn)行對(duì)齊,通過成熟的NLP 工具進(jìn)行實(shí)體標(biāo)注;自然語(yǔ)言生成方法是從標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)中獲取關(guān)系三元組信息,用自然語(yǔ)言生成技術(shù)構(gòu)造大量包含該關(guān)系三元組的句子。
NYT 數(shù)據(jù)集通過遠(yuǎn)程監(jiān)督的方法獲得,采集了1987 年到2007 年的紐約時(shí)報(bào)新聞文章數(shù)據(jù)共24.9萬(wàn)條,將獲得的數(shù)據(jù)與Freebase 對(duì)齊,構(gòu)造出了118萬(wàn)條句子。過濾出部分噪音數(shù)據(jù)后,剩余66 195 個(gè)句子樣本,通常隨機(jī)選擇出5 000 條樣本作為測(cè)試集,5 000 條樣本作為驗(yàn)證集,剩余的56 195 條樣本作為訓(xùn)練集,共包含3 種實(shí)體類型和24 種關(guān)系類型。
WebNLG 通過從DBpedia 中抽取一組三元組并采用自然語(yǔ)言生成方法獲得所構(gòu)造的句子。該數(shù)據(jù)集共有5 519 條訓(xùn)練集和703 條驗(yàn)證集,包含246 種關(guān)系,每個(gè)樣本由一組三元組和一條標(biāo)準(zhǔn)句子構(gòu)成,標(biāo)準(zhǔn)句子包含樣本中的所有三元組,實(shí)驗(yàn)時(shí),研究人員通常會(huì)過濾不包含實(shí)體的標(biāo)準(zhǔn)句子。
以上數(shù)據(jù)集的相關(guān)信息總結(jié)如表9 所示。
表9 實(shí)體關(guān)系抽取數(shù)據(jù)集總結(jié)Table 9 Summary of entity and relation extraction datasets
評(píng)測(cè)標(biāo)準(zhǔn)通常采用精確率()、召回率()和1 值3 個(gè)指標(biāo)。根據(jù)機(jī)器預(yù)測(cè)結(jié)果和真實(shí)情況可劃分為真正類(true positive,TP)、假正類(false positive,F(xiàn)P)、真負(fù)類(true negative,TN)、假負(fù)類(false negative,F(xiàn)N)4 種情況,其構(gòu)成的混淆矩陣如表10 所示。
表10 混淆矩陣Table 10 Confusion matrix
精確率和召回率的定義公式分別為:
精確率和召回率是一對(duì)矛盾的度量,一般來(lái)說,精確度較高時(shí),召回率往往偏低;召回率高時(shí),精確率往往偏低。1 值則是基于精確率和召回率的調(diào)和平均值,計(jì)算公式如下:
由于數(shù)據(jù)集的不同,實(shí)體關(guān)系聯(lián)合抽取的評(píng)測(cè)方式也有所不同。在NYT 和WebNLG 數(shù)據(jù)集上,以模型最終抽取的三元組作為評(píng)測(cè)依據(jù),通常認(rèn)為三元組中的實(shí)體及關(guān)系類型都正確時(shí)為TP。不同模型在NYT 和WebNLG 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖10、圖11 所示。
從圖10、圖11中可以看出,NovelTagging在NYT 和WebNLG 數(shù)據(jù)集上的評(píng)測(cè)1 值相對(duì)較低,其采用序列標(biāo)注的方法實(shí)現(xiàn)聯(lián)合抽取,將實(shí)體信息和關(guān)系類型信息都存儲(chǔ)到統(tǒng)一的標(biāo)注中,使得標(biāo)注方案設(shè)計(jì)復(fù)雜,解碼器需要直接解碼實(shí)體和關(guān)系類型信息,增大了解碼難度。
圖10 NYT 數(shù)據(jù)集上的評(píng)測(cè)結(jié)果Fig.10 Evaluation results on NYT dataset
圖11 WebNLG 數(shù)據(jù)集上的評(píng)測(cè)結(jié)果Fig.11 Evaluation results on WebNLG dataset
Sequence-to-Sequence 方法容易解決關(guān)系重疊的問題,例如文獻(xiàn)[78]提出的模型CopyRE-One和Copy-RE-Mul,其評(píng)測(cè)結(jié)果優(yōu)于序列標(biāo)注模型,但兩個(gè)模型獲得相對(duì)較低的1 值。原因是雙向LSTM 難以準(zhǔn)確識(shí)別邊界較長(zhǎng)的實(shí)體信息,尤其是在包含大量邊界較長(zhǎng)實(shí)體的WebNLG 數(shù)據(jù)集上,CopyRE-One、Copy-RE-Mul 的評(píng)測(cè)1 值低于其在NYT 數(shù)據(jù)集上的1值。而SPN模型在NYT 和WebNLG 數(shù)據(jù)集上都取得了最佳的1 值,分別為92.5%和93.4%,主要有3個(gè)原因:(1)Sequence-to-Sequence 方法適合解決關(guān)系重疊的問題;(2)采用BERT 編碼器、Transformer 架構(gòu)的解碼器,提升模型識(shí)別實(shí)體邊界的準(zhǔn)確性,Transformer 解碼也使得運(yùn)行效率有所提高;(3)解碼器采用非自回歸的方式直接解碼得到關(guān)系三元組集合,不注重關(guān)系三元組的順序,減輕了解碼器負(fù)擔(dān)。
采用實(shí)體對(duì)映射到關(guān)系的方法實(shí)現(xiàn)聯(lián)合抽取的模型,主要難點(diǎn)是解決關(guān)系重疊的問題。如文獻(xiàn)[47],為了有效解決關(guān)系重疊的問題,設(shè)計(jì)了復(fù)雜的注意力機(jī)制。另外,RIN模型在兩個(gè)數(shù)據(jù)集上的評(píng)測(cè)1 值也相對(duì)較高,RIN 以GRU 為主,但RIN 額外添加了雙向LSTM用于命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)的交互,從實(shí)驗(yàn)結(jié)果可以看到這種方法是有效的。
在NYT 和WebNLG 數(shù)據(jù)集中含有大量EPO、SPO 等關(guān)系重疊類型的數(shù)據(jù),使得大多數(shù)聯(lián)合抽取模型在這兩個(gè)數(shù)據(jù)集上的評(píng)測(cè)1 值略低。對(duì)于采用頭實(shí)體映射到關(guān)系、尾實(shí)體方法和采用關(guān)系映射到頭實(shí)體、尾實(shí)體方法實(shí)現(xiàn)聯(lián)合抽取的模型,如CasRel和RSAN,這類模型在NYT 和WebNLG 數(shù)據(jù)集上的評(píng)測(cè)1 值均較高。主要原因是這類模型采用分解策略有效解決了關(guān)系重疊問題,實(shí)驗(yàn)結(jié)果也佐證了這一判斷。另外,在兩個(gè)數(shù)據(jù)集上評(píng)測(cè)1 值相對(duì)較高的SPN、ETL-Span和TPLinker等模型,這些模型的編碼器均采用了預(yù)訓(xùn)練語(yǔ)言模型BERT,進(jìn)一步說明了預(yù)訓(xùn)練語(yǔ)言模型的有效性。
對(duì)于人工標(biāo)注的數(shù)據(jù)集,實(shí)體類型和關(guān)系類型的標(biāo)注質(zhì)量較高,評(píng)測(cè)通常有兩方面:命名實(shí)體識(shí)別的1 值,實(shí)體的邊界和類型都正確則視為TP;關(guān)系抽取的1 值,關(guān)系類型正確并且與之相關(guān)的兩個(gè)實(shí)體邊界及類型都正確則視為TP。有的模型在關(guān)系抽取評(píng)測(cè)時(shí)并沒有考慮到兩個(gè)實(shí)體的類型,如表11 中右上角帶“*”的評(píng)測(cè)結(jié)果。在不同數(shù)據(jù)集上不同模型的評(píng)測(cè)結(jié)果如表11 所示。
從表11 中可以看到,基于特征工程的聯(lián)合抽取方法Li和Miwa在不同數(shù)據(jù)集上識(shí)別實(shí)體和抽取關(guān)系的評(píng)測(cè)1 值相對(duì)較低,原因是特征工程需要設(shè)計(jì)大量特征函數(shù),通過特征工程獲得的特征準(zhǔn)確度較低。SPTree、Bekoulis和Bekoulis都是基于神經(jīng)網(wǎng)絡(luò)的聯(lián)合抽取模型,在不同數(shù)據(jù)集上的評(píng)測(cè)1值相近,評(píng)測(cè)1 值略高于基于特征工程的模型。這3 個(gè)模型都是以雙向LSTM 為主要架構(gòu),特征提取的能力低于基于Transformer的模型,使得這3 個(gè)模型的1 值處于相對(duì)較低的水平。Sun和Sun模型在ACE2005 數(shù)據(jù)集上的關(guān)系抽取評(píng)測(cè)1 值相比SPTree進(jìn)一步提升,這兩個(gè)模型分別采用最小化風(fēng)險(xiǎn)訓(xùn)練的方法和構(gòu)造實(shí)體關(guān)系二分圖的方法,加強(qiáng)命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)間的交互,評(píng)測(cè)結(jié)果也說明加強(qiáng)不同子任務(wù)之間的交互性能夠提升整體的抽取效果。
表11 有監(jiān)督數(shù)據(jù)集上評(píng)測(cè)結(jié)果Table 11 Evaluation results on supervised datasets %
采用機(jī)器閱讀理解方法的模型,如Li和Zhao在ACE2005 數(shù)據(jù)集上的評(píng)測(cè)1 值處于相對(duì)中等的水平。機(jī)器閱讀理解的方法,在問題中融入重要的先驗(yàn)信息,并以問答的形式更好地捕捉到問題和文章之間的交互信息,提升聯(lián)合抽取的性能,但這類方法需要根據(jù)識(shí)別的實(shí)體設(shè)計(jì)合適的問題。
基于跨度的模型,如文獻(xiàn)[49-54]在不同數(shù)據(jù)集上的評(píng)測(cè)1 值處于相對(duì)較高的水平,尤其是命名實(shí)體識(shí)別的評(píng)測(cè)1 值,進(jìn)一步證明了直接在跨度上建模能有效解決實(shí)體嵌套的問題。其中SPAN模型在數(shù)據(jù)集上的評(píng)測(cè)1 值最高,原因在于其用多頭注意力抽取豐富的跨度表征信息和上下文表征信息。另外,這些模型在特征抽取上均采用預(yù)訓(xùn)練語(yǔ)言模型BERT,具備更強(qiáng)的特征抽取能力。Wang改進(jìn)了Transformer,設(shè)計(jì)了兩種不同的編碼器分別編碼實(shí)體信息和關(guān)系信息,實(shí)驗(yàn)的評(píng)測(cè)1 值處于較高的水平。
本文介紹了有監(jiān)督實(shí)體關(guān)系聯(lián)合抽取的各種方法以及相關(guān)理論,并進(jìn)行了實(shí)驗(yàn)對(duì)比,在常用數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn)表明,實(shí)體關(guān)系聯(lián)合抽取方法取得了一定的進(jìn)步,然而現(xiàn)存的聯(lián)合抽取理論和技術(shù)尚有許多局限性,仍面臨著許多技術(shù)難題和挑戰(zhàn)。接下來(lái)的研究重點(diǎn)包括以下內(nèi)容。
(1)篇章級(jí)別的實(shí)體關(guān)系聯(lián)合抽取
本文介紹的模型大多是基于句子級(jí)別的聯(lián)合抽取,面臨的挑戰(zhàn)主要是實(shí)體嵌套和關(guān)系重疊,可以通過設(shè)計(jì)特殊標(biāo)注方案或調(diào)整抽取順序的策略解決。而篇章級(jí)別的數(shù)據(jù)處理較為復(fù)雜,目前的預(yù)訓(xùn)練語(yǔ)言模型如BERT,其輸入有最大長(zhǎng)度限制。如何在較長(zhǎng)篇幅的數(shù)據(jù)下進(jìn)行模型訓(xùn)練,如何處理不同句子間的關(guān)系信息、不同關(guān)系間的關(guān)系信息,多個(gè)實(shí)體共指等復(fù)雜情況仍有待解決。另外,對(duì)于一些隱藏的關(guān)系類型,并不能通過簡(jiǎn)單的抽取得到,需要進(jìn)一步根據(jù)上下文的信息推理獲得。顯然將篇章級(jí)別的抽取看作一系列單句子抽取的組合是不合理的,如何設(shè)計(jì)一個(gè)行之有效的方案依然亟待解決。
(2)融入多樣信息的實(shí)體關(guān)系聯(lián)合抽取
本文介紹的模型抽取的三元組大多是靜態(tài)的,輸入句子經(jīng)過序列編碼器后得到的詞向量融入了上下文的語(yǔ)義信息,模型主要關(guān)注實(shí)體信息和預(yù)先定義的關(guān)系類型信息,而在抽取帶有時(shí)序信息的實(shí)體和實(shí)體間的關(guān)系時(shí),實(shí)體和實(shí)體間的關(guān)系可能都在動(dòng)態(tài)更新,如何在詞向量中有效嵌入時(shí)序信息仍有待研究。此外,當(dāng)句子中包含事件信息時(shí),如事件之間存在因果關(guān)系,事件的發(fā)展會(huì)影響實(shí)體和實(shí)體間的關(guān)系,模型需要同時(shí)考慮不同的事件信息以提高聯(lián)合抽取的準(zhǔn)確性。因此,在實(shí)體關(guān)系聯(lián)合抽取模型中如何有效融入時(shí)序、事件等多樣信息是非常有意義的研究課題。
(3)面向中文的實(shí)體關(guān)系聯(lián)合抽取
目前面向中文的實(shí)體關(guān)系聯(lián)合抽取的研究仍然落后于英文,主要有兩個(gè)原因:①數(shù)據(jù)集的缺乏。有監(jiān)督的中文數(shù)據(jù)集相對(duì)較少,目前存在的中文數(shù)據(jù)集大多基于特定領(lǐng)域,如金融、醫(yī)藥等,且數(shù)據(jù)集的規(guī)模通常較小。開放領(lǐng)域的有監(jiān)督中文數(shù)據(jù)集則更為稀少,缺少公認(rèn)的評(píng)測(cè)基準(zhǔn)和指標(biāo)。②中文的復(fù)雜多義性。首先,中文沒有明確的單元邊界,不像英文能夠使用空格符對(duì)詞進(jìn)行分割,中文也沒有明顯的詞性變換等特征,容易造成邊界歧義。其次,中文中一詞多義現(xiàn)象普遍,同一詞在不同語(yǔ)境下所表達(dá)的意思不一致,且一種語(yǔ)義存在多種不同的表達(dá),句式靈活多變。另外,隨著互聯(lián)網(wǎng)的快速發(fā)展,詞語(yǔ)不斷具有新的含義,進(jìn)一步增強(qiáng)了聯(lián)合抽取的難度。在設(shè)計(jì)面向中文的聯(lián)合抽取模型時(shí)需要著重考慮中文的特殊性,因此,面向中文的實(shí)體關(guān)系聯(lián)合抽取是一個(gè)非常重要的研究方向。
(4)提升實(shí)體關(guān)系聯(lián)合抽取的可解釋性
當(dāng)前主流的實(shí)體關(guān)系聯(lián)合抽取模型主要基于神經(jīng)網(wǎng)絡(luò),在特征抽取上更優(yōu)于傳統(tǒng)的特征工程方法,減少了人工抽取特征的工作量,但基于神經(jīng)網(wǎng)絡(luò)的方法面臨著一個(gè)棘手的問題——可解釋性差。聯(lián)合抽取模型的性能通常由實(shí)驗(yàn)進(jìn)行驗(yàn)證,但是如果無(wú)法理解學(xué)習(xí)到的特征表示具有何種可解釋的含義時(shí),則無(wú)法深刻理解模型本身的應(yīng)用限制。尤其目前模型趨向于復(fù)雜化,如何選擇網(wǎng)絡(luò)層數(shù)、模型參數(shù)大小、模型架構(gòu)、優(yōu)化算法以及激活函數(shù)等,通常是基于具體實(shí)驗(yàn)的效果,并未理解其真實(shí)含義,對(duì)于聯(lián)合抽取結(jié)果的可解釋性不強(qiáng)。如何提升實(shí)體關(guān)系聯(lián)合抽取模型的可解釋性仍然需要進(jìn)一步研究。
實(shí)體關(guān)系聯(lián)合抽取能夠從文本中自動(dòng)識(shí)別實(shí)體、實(shí)體類型以及關(guān)系類型,是信息抽取中的核心任務(wù),積極推動(dòng)了知識(shí)圖譜構(gòu)建、智能問答和語(yǔ)義搜索等領(lǐng)域的發(fā)展,具有廣闊的應(yīng)用前景。本文對(duì)有監(jiān)督實(shí)體關(guān)系聯(lián)合抽取方法進(jìn)行綜述,介紹了四種基于特征工程的聯(lián)合抽取方法;對(duì)于基于神經(jīng)網(wǎng)絡(luò)的聯(lián)合抽取模型,描述了三種基于共享參數(shù)的方法和兩種基于聯(lián)合解碼的方法;以圖表的形式對(duì)比了不同模型的優(yōu)缺點(diǎn),并對(duì)聯(lián)合抽取常用的七個(gè)數(shù)據(jù)集進(jìn)行了介紹;在不同數(shù)據(jù)集上比較了各種方法間的性能差異并進(jìn)行分析;最后展望了實(shí)體關(guān)系聯(lián)合抽取的未來(lái)研究方向。