陸 亮,孔 芳
(蘇州大學 計算機科學與技術學院,江蘇 蘇州 215006)
實體關系抽取旨在從非結構化文本中獲取實體間所具有的語義關系,抽取出來的信息以三元組
目前,受限于語料資源,實體關系抽取相關研究多集中于新聞報道、維基百科等規范文本。而這類文本通常由專業人士編輯,行文規范,文本內容的信息密度大。隨著DialogRE[4]數據集的發布,針對對話文本的實體關系抽取研究得以展開。相較于規范文本,對話文本的特點明顯,主要體現在: ①對話中存在大量指代和省略現象,特別是人稱代詞出現頻率較高; ②相比規范文本,對話文本中信息密度較低,存在關系的實體對通常出現在不同對話語句中; ③對話內容通常圍繞某些特定主題在交互過程中向前推進,因此對話的交互過程蘊含了大量重要信息。因此,在規模有限的對話文本中如何盡可能多地提取有效特征,特別是隱藏在交互過程中的信息,構建面向對話文本的實體關系抽取模型則更具挑戰性。
本文采用輕量級的Star-Transformer[5]模型作為主模型,基于這一模型進行了兩個核心工作: ①關注對話交互信息: 目前已有的研究在處理對話語料時大多選擇直接將對話拼接成一段長文,這樣做的后果是模型難以獲取到對話交互過程的信息。本文以對話者的一問一答作為一輪對話,依次選出兩輪對話,使用交叉注意力機制[6]挖掘它們之間的關聯信息,最后整合所有的關聯信息來表征整個對話對應的交互信息。②降低數據不均衡的影響: 通過分析語料我們發現,語料中共包含37種關系,其中,無明確(unanswerable)關系的數量占到了樣本總數的21.5%,遠大于其他類型的關系。同時,語料中37.6%的樣本中包含觸發詞(trigger),即實體關系是通過某個具體的觸發詞來傳遞的。為了解決語料中關系分布不均衡的問題,我們在主模型之上加入了多任務層,通過增加兩個輔助任務來輔助主任務的完成。實驗結果表明,本文提出的Star-Transformer+交互信息+Multi-task模型在DialogRE公開數據集上的F1值為54.1%,F1c值為50.7%,證明了本文方法的有效性。后續章節中統一使用STCM代表本文所提出的方法。
本文組織結構安排如下: 第1節介紹實體關系抽取相關的研究,第2節介紹對話文本中實體關系抽取任務的定義和評價方法,第3節詳細介紹融入交互信息的實體關系抽取模型,第4節介紹實驗過程及對實驗結果的詳細分析,第5節是結論。
近年來深度學習逐漸崛起,學者們將深度學習應用到實體關系抽取任務中。Zeng[7]等人在2014年首次使用CNN進行關系抽取,Katiyar[8]等人在2017年首次將注意力機制Attention與遞歸神經網絡Bi-LSTM結合使用來提取實體和分類關系,Wang[9]等人提出的CNN架構使用了一種新穎的多層次注意力機制提取指定實體的注意力和指定關系的池化注意力。Zhang[10]等人在2018年將一種新的修剪策略和定制的圖卷積網絡相結合。Guo[11]等人在2019年提出了注意引導圖卷積網絡,直接以全依賴作為輸入,該模型可以更好地利用全依賴樹的結構信息。李青青[12]等人在2019年提出了一種基于Attention機制的主輔多任務模型,通過多個關聯任務共享信息提升性能。劉蘇文[13]等人在2020年提出一種二元關系抽取和一元功能識別共同決策的聯合學習模式,能夠融合各個子任務的信息。更多改進的深度學習模型在實體關系抽取任務中取得了巨大進步,學者們不再滿足于句子級的實體關系抽取,難度更大的篇章級實體關系抽取任務漸漸成為研究重點。Quirk[14]等人于2017年借助遠程監督生成了生物領域的跨句子實體關系抽取數據集。Yao[15]等人在2019年發布了DocRED數據集,該數據集覆蓋豐富的領域,并且提供了人工標注和遠程監督兩個版本。
然而目前主流的用于實體關系抽取的數據都是針對新聞報道和維基百科這類規范文本的,DialogRE數據集的出現將學者們的目光吸引到針對人類對話的實體關系抽取。Yu等人在發布數據集的同時將一些主流的神經網絡模型如CNN、LSTM、Bi-LSTM和BERT[16]等應用到了該任務上,沒有針對對話文本的特點進行處理,同時也沒有針對數據分布不均衡的問題進行模型的改進。本文給出了一個基于Star-Transformer的實體關系抽取框架,并針對對話文本的特性進行了交互信息的融入,同時結合多任務學習策略來提高模型在對話文本上實體關系抽取的性能。
本節介紹對話文本中實體關系抽取任務的定義以及針對該任務提出的評價方法。
給定一段對話D=s1:t1,s2:t2,…,sm:tm和一個實體對(a1,a2),其中,si和ti分別代表第i輪對話的對話者和他說的話,m代表總的對話輪數。模型需要提取出現在D中的a1和a2之間的關系,圖1給出了一個具體的例子,在給定的對話文本中,根據下劃線部分可以判斷出“Speaker 2”和“Frank”之間的關系是“per: siblings”,而觸發詞就是“brother”。

圖1 對話語料及其提取的關系三元組
本文采用Yu等人提出的兩種方法來評估模型性能,下面分別介紹兩種評價方法。
在標準評價方法中,將對話D視為文檔d,模型的輸入是對話全文d和實體對(a1,a2),輸出是基于d的a1和a2之間的關系。實驗采用準確率P、召回率R和F1值對識別結果進行評價[17]。
在對話評價標準中,將第i(i≤m)輪對話視為d,采用一種新的衡量標準: 對話準確率(Pc)和對話召回率(Rc)的調和平均值F1c,作為F1的補充。下面介紹如何定義F1c。當輸入為a1、a2和第i輪對話時,Oi表示輸出的預測關系集合。對于實體對(a1,a2),L表示它對應的人工標注的關系類型集合。R表示37種關系類型的集合,且Oi,L?R。定義一個輔助函數f(x),若x沒有出現在對話D中返回m,否則返回x第一次出現時的對話輪次。定義輔助函數Φ(r): (1)對于每個關系類型r∈L,如果存在一個r的人工標注的觸發詞,則Φ(r)=f(λr),λr表示觸發詞,否則Φ(r)=m。(2)對于每個r∈RL,Φ(r)=1。
第i輪對話的關系類型集合可以用Ei來評價,Ei的定義如式(1)所示。
Ei={r|i≥max{f(a1),f(a2),Φ(r)}}
(1)
式(1)表明,給出第i輪對話中包含的d,如果a1,a2和r的觸發詞都在d中,那么a1和a2之間的關系r是可評估。該定義是基于以下假設: 根據實體對和觸發詞的位置,可以大致估計需要多少輪對話來預測兩個參數之間的關系。
對話準確率的定義如式(2)所示,對話召回率的定義如式(3)所示。
對所有實例的對話準確率和對話召回率進行平均,以獲得最終的值,計算過程如式(4)~式(6)所示。
在標準評價方法中,模型的輸入可以利用整個對話全文,而在對話評價方法中,模型的輸入只可以利用根據上述方法得到部分對話。通俗來講,F1c值就是來評價模型在盡可能少的對話輪數中快速識別出實體間關系的性能。
本節介紹融入交互信息的實體關系抽取模型及其所用到的相關技術。
與大多數實體關系識別方法一樣,本文也將對話關系抽取任務轉化為一個分類任務。在把對話D和實體對a1和a2拼接成一段長文的基礎上,拼接上通過交叉注意力機制獲取到的交互信息作為模型的輸入。圖2給出了STCM模型的結構,該模型主要包含三個部分: ①獲取對話交互信息層。②基于Star-Transformer的序列編碼層。③多任務學習層。

圖2 STCM模型結構
本文將對話者的一問一答看作一輪對話ui,每個訓練樣本中平均包含7.5輪對話,依次從中提取出兩輪對話來模擬交互過程,使用交叉注意力機制來捕獲這兩輪對話的關聯信息,最后把所有得到的關聯信息進行整合得到我們需要的交互信息C。具體過程如圖3所示。

圖3 獲取對話交互信息
其具體計算過程如式(7)、式(8)所示。

交叉注意力機制的工作原理如圖4所示。

圖4 交叉注意力機制
注意力權重的計算如式(9)所示。
ejk=(uij)Tu(i+1)k
(9)

雖然Transformer在很多NLP任務上都取得了很大的成功,但是其結構較復雜,注意力連接是完全連接的,這導致了它對大量訓練數據的依賴。為了降低模型的復雜性,Guo[5]等人提出用星狀拓撲結構代替全連通結構來簡化架構。本節將詳細介紹Star-Transformer的相關內容。
3.3.1 Multi-Head Attention
文獻[18]中提出了Transformer結構,首先介紹其中的縮放點乘積注意力(Scaled Dot-Product Attention),其本質上是使用點積進行相似度計算。Scaled Dot-Product Attention的計算如式(12)所示。
(12)

在此基礎上,考慮到一個attention機制無法從多角度、多層面地捕獲到重要的特征,所以使用多頭注意力(Multi-Head Attention)機制,把多個自注意力連起來。Multi-Head Attention的計算如式(13)、式(14)所示。
3.3.2 Star-Transformer
Star-Transformer是基于Transformer結構優化的產物,模型復雜性從二次降低到線性,同時保留捕獲局部特征和長期依賴關系的能力。如圖5所示,由一個中繼節點s和n個衛星節點組成,第i個衛星節點的狀態表示文本序列中第i個Token的特征。中繼節點s充當虛擬中心,在所有衛星節點之間收集和散布信息。

在更新信息后,使用層歸一化操作,如式(17)所示。
(17)
在更新中繼節點時,中繼節點s匯總所有衛星節點的信息以及之前的狀態,如式(18)、式(19)所示。
通過交替更新衛星節點和中繼節點,Star-Transformer可以捕獲局部特征和長期依賴關系。
全共享多任務模型的具體結構如圖6所示。除了輸出層外,模型的所有參數在多個任務之間都是共享的。每個子任務都有一個特定的輸出層,它根據全共享Star-Transformer網絡產生的表征進行分類。

圖6 全共享多任務模型
我們通過添加兩個輔助任務來緩解數據分布不平衡帶來的問題。具體來說,實體關系識別為主任務,二元關系識別為輔助任務,第一個輔助任務判斷兩個實體之間關系類型是否為unanswerable,第二個輔助任務判斷兩個實體在對話中是否含有觸發詞。三個任務分類器共享相同的上下文表征嵌入,因此它們可以通過互相傳播監督信號來彼此幫助,最終的Loss由三個任務各自的loss按照一定權重相加得到,其計算如式(20)所示。
Loss=lossmain+α1·lossaux1+α2·lossaux2
(20)
其中α1和α2是兩個輔助任務各自的權重。
前文介紹了融入交互信息的實體關系抽取模型,模型通過融入對話中隱藏的交互信息和多任務學習而提升模型性能。本節將使用Yu等人發布的DialogRE數據集進行實驗,并對實驗結果進行分析。
本文采用Yu等人發布的已經劃分好的DialogRE語料,該數據集收集了美劇《老友記》中的人物對話,通過人工注釋的方式在1 788段對話中標注了10 168個實體關系對,涵蓋了37種關系。表1詳細地給出了該語料的結構,可以看出該語料整體規模不大。

表1 DialogRE數據集結構
DialogRE語料的對話分析如表2所示,每段對話平均包含4.5個關系三元組和7.5輪對話。此外,65.9%的關系三元組不出現在同一輪的對話中,所以有大量信息隱藏在對話的交互過程中,這些交互信息在面向對話的實體關系識別任務中起著重要作用。

表2 DialogRE語料對話統計
實驗中采用PyTorch 1.1.0框架,并用NVIDIA的1080GPU進行了加速。和Yu等人的基準模型一樣,本文使用GloVe[20]預訓練詞向量進行初始化,Embedding_dim為100,Batch_size為24,最大句子長度設置為512,學習率為3e-5,主函數以及兩個輔助函數的損失函數使用的都是BCEWithLogitsLoss,用Adam[21](Adaptive Moment Estimation)算法優化模型參數。Star-Transformer的d_model是100,d_head是4,layers是2,Dropout設置為0.1。第一個輔助任務的loss值權重為0.000 3,第二個輔助任務的loss值權重為0.000 3。
實驗采用F1值和F1c值對識別結果進行評價,表3給出了各個模型的實驗結果,其中,前三個模型是Yu等人給出的基準模型。從表中可以看出,本文提出的STCM模型在綜合性能F1值上達到了54.1%,F1c值上達到了50.7%。實驗證明,使用Star-Transformer模型作為基準框架,融入對話交互信息和多任務學習可以有效提升模型在對話文本中進行實體關系識別的性能。

表3 對話關系抽取實驗結果
關于交互信息的效用,本文將通過分析表4中的實驗結果來證明。

表4 交互信息的效用分析(%)
實驗結果顯示,在融入對話交互信息后,模型的所有指標都得到了提升,其中提升最明顯的是Pc,上升了2.5%,說明模型在得到較少輪數的對話特征時,交互信息顯得尤為重要,它可以幫助模型快速辨別實體對之間的關系。例如,在圖1的例子中,對話“Speaker1: Any sign of your brother?”中的“your brother”和對話“Speaker2: No, but he’s always late.”中的“he”有關聯語義,而其中的“he’s always late”又與對話“Speaker2: …Frank’s always late.”中的“Frank’s always late”有關聯語義,交叉注意力機制可以挖掘上下文中的這種有關聯性的詞,幫助模型把“he”和“Frank”聯系在一起,然后通過觸發詞“brother”識別出“Speaker2”和“Frank”之間的關系是“per: siblings”。
關于多任務的效用,本文將通過分析表5中的實驗結果來證明。

表5 Multi-task的效用分析(%)
實驗結果顯示,在使用多任務學習后,召回率R值和對話召回率Rc值都出現了一定程度的下降,說明原先存在無關系的實體對被錯分到了別的關系,模型在結合兩個輔助任務的學習后將原本的錯誤分類糾正。所以準確率P值上升了2.3%,對話準確率Pc值上升了4%,二者的巨大提升使得模型的整體性能提升。同時我們分析結果發現,僅使用Star-Transformer時模型對unanswerable關系的識別準確率是68%,而在使用了多任務學習后模型對該關系的識別準確率達到了87.3%,說明多任務學習確實幫助模型緩解了語料庫數據分布不均衡的負面影響,只是目前語料庫的規模較小,所以多任務學習只發揮了部分作用。我們認為在擴大語料庫規模后,多任務學習可以更好地幫助模型提升性能。
面向對話的實體關系抽取,用于在對話過程中進行用戶畫像,因此對模型的響應速度有很高的要求,Star-Transformer這一輕量級框架在響應速度上優于BERT模型,因此我們并未直接比較兩者的性能,而是把交互信息和多任務模塊添加到BERT模型中,即BERT_CM,實驗結果如表6所示。

表6 BERT_CM實驗結果
本文提出的交互信息和多任務模塊進一步提升了BERT的性能,證明了方法的有效性。
本文提出了面向對話的融入交互信息的實體關系抽取模型STCM。模型基于Star-Transformer這一輕量級框架來編碼特征,通過交叉注意力機制從模擬交互過程的對話文本中獲取交互信息,同時使用多任務學習來解決語料庫數據分布不均衡的問題,提升了模型對對話文本進行實體關系抽取的性能。
在未來的工作中,我們希望針對對話文本的特點,進一步提取對話特征,同時對模型本身做出優化,從而進一步提高模型的性能。