基于主体掩码的实体关系抽取方法
點擊上方藍字關注我們
基于主體掩碼的實體關系抽取方法
鄭慎鵬1,?陳曉軍1,?向陽1,?沈汝超2
1?同濟大學電子與信息工程學院,上海 201804
2?上海國際港務(集團)股份有限公司,上海 200080
?
摘要:實體關系抽取技術能夠自動化地從海量無結構文本中抽取信息,構建大規模知識圖譜,豐富現有知識圖譜的內容,為知識圖譜推理和應用提供支持。目前級聯式的實體關系抽取技術已經取得了不錯的成績,但其在主體的向量表示和指針網絡解碼上存在不足。針對主體向量表示問題,提出利用注意力機制和掩碼機制生成主體向量的方法。另外,針對指針網絡中因遺漏標注而解碼出過長實體的問題,提出引入實體序列標記任務,輔助指針網絡解碼實體。在大規模實體關系數據集DuIE2.0上進行實驗驗證得出,相較于先前模型,所提方法取得了0.88%的提升。
關鍵詞:RoBERTa?;?實體關系抽取?;?主體掩碼
論文引用格式:
鄭慎鵬, 陳曉軍, 向陽, 等. 基于主體掩碼的實體關系抽取方法[J]. 大數據, 2021, 7(3): 3-14.
ZHENG S P, CHEN X J, XIANG Y, et al. An entity relation extraction method based on subject mask[J]. Big Data Research, 2021, 7(3):? 3-14.
1 引言
目前,網絡上保存著海量的非結構化文本,且其規模仍呈指數級上升。同時,知識圖譜被廣泛應用在政府治理、智能問答、搜索引擎等領域,而知識圖譜的內容豐富程度和及時性直接影響其應用效果。因此,作為自動化地從非結構化文本中構建知識圖譜的關鍵技術之一,實體關系抽取技術受到了研究人員的廣泛關注。實體關系抽取旨在識別出文本中實體和實體之間的語義關系,并以三元組的形式<主體,關系,客體>表示。比如,“《琴鍵右角》是張德蘭演唱的一首單曲”中包含實體“琴鍵右角”和“張德蘭”,且實體間存在關系“歌手”,用三元組表示為<琴鍵右角,歌手,張德蘭>。
早期的實體關系抽取方法和基于傳統機器學習的實體關系抽取方法需要專家構造大量的規則或者人工特征,難以應對大規模的實體關系提取。隨著深度學習的興起,神經網絡模型可以自動提取文本的特征,減少人工提取特征的工作,也能更有力地應對大規模的實體關系提取工作,成為當前實體關系提取的主流方法。目前,基于神經網絡的實體關系抽取方法可以分為流水線方法和聯合抽取方法兩類。
流水線方法將實體關系抽取分解為實體識別和關系分類兩個步驟,并用兩個獨立的模型實現。此類方法先用實體識別模型識別出文本中的所有實體,然后用關系分類模型判斷所有可能實體對的語義關系。流水線方法能夠靈活地選擇實體識別模型和關系分類模型,但是其缺點也是顯而易見的。首先,流水線方法存在錯誤傳播的問題,實體識別階段和關系分類階段的錯誤會疊加,導致最終的性能下降。再者,實體識別模型和關系分類模型是完全獨立的,忽略了實體識別任務和關系抽取任務的內在聯系。
聯合抽取方法旨在利用一個模型實現實體識別和關系抽取,有效避免流水線方法中存在的兩點弊端。聯合抽取方法依據解碼方式一般可分為獨立解碼、級聯解碼和一次解碼3類。在獨立解碼的方法中,實體識別和關系抽取共享文本編碼層,在解碼時仍然是兩個獨立的部分。為了使兩個任務間建立更加密切的聯系,級聯解碼的方法通常會先抽取主體,再根據主體抽取相關的關系-客體。而一次解碼方法則將實體識別和關系抽取統一為一個任務,一次抽取出實體對及其對應關系。目前級聯解碼的方法和一次解碼的方法在實體關系抽取中都取得了不錯的成績。在后兩類方法中,實體嵌套問題和關系重疊問題相互交織,使情況變得比較復雜,見表1。Wei Z P等人提出了一種新穎的級聯式標記框架,很好地解決了聯合抽取中實體嵌套和關系重疊同時存在的問題。該方法將實體關系抽取看作抽取主體和根據主體抽取關系-客體兩個部分,并且采用指針網絡的結構標注主體與客體。但是,此方法在表示主體向量時,只是簡單地將主體所含的所有字向量做平均,這會導致一些顯著特征在平均后會丟失,尤其是在中文中。此外,使用指針網絡標注時,模型漏標會導致出現過長且有明顯錯誤的實體。針對該方法中存在的兩點問題,本文提出了以下改進:
● 針對主體向量的表示問題 ,提出基于主體掩碼的主體向量生成方法,利用注意力機制和掩碼機制,生成主體向量;
● 針對多層指針網絡的漏標問題,提出實體序列標注子任務,在解碼實體時提供輔助信息。
2 相關工作
在知識圖譜的構建過程中,實體關系抽取技術起著非常重要的作用。早期基于規則、詞典或本體的實體關系抽取方法存在跨領域的可移植性較差、人工標注成本較高以及召回率較低等問題。后來,相比于早期的方法,以統計語言模型為基礎的傳統機器學習關系抽取方法明顯地提高了召回率,具有更強的領域適應性,獲得了不錯的效果。自從Hinton G E等人首次正式地提出深度學習的概念,深度學習在多個領域取得了突破性進展,也漸漸被研究人員應用在實體關系抽取方面。此外, Transformer結構、BERT(bidirectional encoder representations from transformers)、RoBERTa(robustly optimized BERT pretraining approach)等大規模預訓練語言模型也極大地推動了實體關系抽取的進步。現階段,實體關系抽取主要分為流水線方法和聯合抽取方法。
2.1 流水線方法
流水線方法是指在用實體識別模型抽取出所有實體的基礎上,利用關系分類模型抽取所有實體對的關系。較早期的基于神經網絡的流水線方法主要使用卷積神經網絡(convolutional neural network, CNN)或循環神經網絡(recurrent neural network,RNN)。Zeng D J等人首次采用CNN提取詞級和句子級特征,通過softmax層進行關系分類,提高了關系抽取模型的準確性。
Socher R等人首先使用RNN的方法進行實體關系抽取。該方法利用RNN對標注文本中的句子進行句法解析,經過不斷迭代得到句子的向量表示,有效地考慮了句子的句法結構。為了解決RNN的梯度消失和梯度爆炸問題,長短期記憶(long short-term memory,LSTM)神經網絡被提出。Yan X等人提出基于LSTM和句法依存分析樹的最短路徑的方法進行關系抽取。隨著圖神經網絡在近幾年取得一些進展,圖神經網絡也被應用在關系抽取中, Guo Z J等人提出了一種將全依賴樹作為輸入的注意力引導圖卷積網絡模型。該模型充分利用了依賴樹中的信息,以便更好地提取出相關關系。雖然流水線方法能夠取得不錯的效果,但也存在以下3個缺點。
● 錯誤累積:實體識別模塊的錯誤會影響接下來的關系分類性能。
● 忽視了兩個子任務之間存在的聯系:丟失信息,影響抽取效果。
● 產生冗余實體對:由于要對所有抽取出的實體兩兩配對,然后再進行關系分類,那些不存在關系的實體對就會帶來多余信息,提升錯誤率。
2.2 聯合抽取方法
聯合抽取方法能夠在一個模型中實現實體關系抽取,此類方法能夠利用實體和關系間的聯系,減少或者避免流水線方法帶來的問題。
早期聯合抽取方法通常是基于人工構造特征的結構化學習方法。Miwa M等人首次將神經網絡的方法用于聯合抽取實體和關系,該方法將實體關系抽取分解為實體識別子任務和關系分類子任務。在模型中使用雙向序列LSTM對文本進行編碼,將實體識別子任務當作序列標注任務,輸出具有依賴關系的實體標簽。同時,在關系分類子任務中捕獲詞性標簽等依賴特征和實體識別子任務中輸出的實體序列,形成依存樹,并根據依存樹中目標實體間的最短路徑對文本進行關系抽取。在該模型中,關系分類子任務和實體識別子任務的解碼過程仍然是獨立的,它們僅僅共享了編碼層的雙向序列LSTM表示,并不能完全地避免流水線方法的問題。Zheng S C等人認為之前的聯合抽取方法雖然將兩個任務整合到一個模型中并共享了一部分參數,但是實體識別與關系抽取任務仍是兩個相對獨立的過程。于是Zheng S C等人提出了一種基于新的標注策略的實體關系抽取方法,把原來涉及實體識別和關系分類兩個子任務的聯合學習模型完全變成了一個序列標注問題。在該方法中,實體的位置標簽和關系標簽被統一為一個標簽,通過一個端到端的神經網絡模型一次解碼就可得到實體以及實體間的關系,解決了獨立解碼的實體關系聯合抽取方法的交互不充分和實體冗余問題。但是,該方法沒有能力應對普遍存在的實體嵌套和關系重疊的情況,這使得該方法在實際應用中難以取得好的效果。
為了應對實體嵌套和關系重疊的問題,Li X Y等人提出將實體關系聯合抽取的任務當作一個多輪問答類問題來處理,該方法需要構造不同的問題模板,通過一問一答的形式依次提取出主體、關系、客體。這種多輪問答的方法能夠很好地解決實體嵌套和關系重疊的問題,但是其需要為每一種主體類型、每一種關系都設計一個問答模板,并進行多次問答,這會產生很多計算冗余,非常消耗計算資源。Wei Z P等人提出了一種級聯式解碼實體關系抽取方法,并用多層二元指針網絡標記實體。不同于獨立解碼模型,該方法將任務分解為主體識別子任務和依據主體抽取關系-客體子任務,而且將兩個子任務都統一為序列標注問題。該方法解決了實體嵌套和關系重疊的問題,同時沒有引入太多的冗余計算。但是,此方法簡單地將主體所含的所有字向量取平均后作為主體向量,導致一些顯著特征在平均后會丟失。此外,因為指針網絡僅標記實體的首尾位置,當出現漏標時,會導致模型解碼出比較長的錯誤實體。為此,本文提出基于主體掩碼的主體向量生成方法,并利用實體序列標注輔助指針網絡解碼實體。
3 基于主體掩碼的實體關系抽取模型
實體關系抽取旨在抽取出文本中所有的<主體,關系,客體>三元組,而這些三元組間可能會存在實體嵌套和關系重疊的情況,為了應對這類情況,Wei Z P等人[13]提出了一種基于新型的級聯式二元標注結構的實體關系抽取模型。不同于以往的模型,該模型將任務分解為主體識別階段和關系-客體識別階段。在該模型的基礎上,本文提出基于主體掩碼的主體向量生成方法,利用注意力機制和掩碼機制,生成主體向量。此外,為了排除因模型漏標產生的長度過長的實體,增加實體序列標注任務,以輔助實體解碼。
模型結構如圖1所示。首先,該模型將文本輸入編碼層,得到文本向量序列。然后,將文本向量序列輸入主體指針網絡,得到主體k。接著,根據主體得到主體掩碼序列,將文本向量序列和主體掩碼序列輸入Transformer層,在該層中計算出與每個字相關的主體向量序列,與文本向量序列相加,得到關系-客體向量序列。最后,通過客體識別網絡預測得到主體k的所有相關客體,而主體和客體之間的關系由客體所在指針網絡的層數決定。此外,模型還會取出編碼層的中間某一層作為實體序列標注的輸入,該子任務的目標是標記出所有屬于主體或客體的字。圖1中主體掩碼序列和關系-客體標記結構中使用“1”和“2”區分不同主體和與不同主體相關的客體。
3.1 編碼層
本文使用RoBERTa作為編碼層,將文本編碼為文本向量序列。RoBERTa是基于BERT提出的一種效果更好的預訓練模型。RoBERTa由多層Transformer堆疊而成,本文將取RoBERTa的最后一層輸出作為文本向量序列,中間某一層輸出作為實體序列標注的輸入。
3.2 實體識別
實體標記有多種不同的方案,從簡單地使用0/1標記到使用OBIE(O表示非實體,B表示開始,I表示內部,E表示實體尾部)標記。但是這些方案不能解決實體嵌套問題,這在相當程度上降低了實體關系抽取的準確率。為了解決實體嵌套的問題,本文采用Wei Z P等人使用的指針網絡標記方案。指針網絡在解碼時一般采用就近原則,頭指針與后文的第一個尾指針配對,尾指針與前文中最近的頭指針配對。若出現頭指針、頭指針、尾指針、尾指針的序列模式,則認定為包含模式,將處于最前和最后的頭尾指針配對,中間的頭尾指針配對,如圖1中例子所示。
圖1???基于主體掩碼的實體關系抽取模型
在主體識別的指針網絡中僅使用一對頭尾指針進行標注,計算式如下:
其中,和分別表示輸入文本的第i個字為主體開始位置和結束位置的概率,若概率大于閾值,對應位置將會被標記為1,否則標記為0。為文本向量序列對應位置的向量,Wstart、bstart、Wend和bend是可訓練參數,σ為sigmoid函數。
關系-客體識別的指針網絡由N對頭尾指針標注序列構成,計算式如下:
其中,和分別表示第i個字與主體存在關系r的開始位置和結束位置的概率。為實體k的關系-客體向量序列對應位置的向量,和是與關系類型相關的可訓練參數。
3.3 Transformer結構
Transformer結構由Vaswani A等人在2018年提出。Transformer將矩陣作為輸入,其中l為文本長度,d為輸入維度。接著,H分別與和3個矩陣相乘,得到查詢矩陣Q、關鍵字矩陣K和值矩陣V。通常,等3個矩陣的大小都為,dk為一個超參數。Transformer中注意力機制的計算如下所示:
其中,為第i個字的查詢向量,為第j個字的關鍵字向量。Ai,j為注意力分數矩陣A的第i行第j列的元素,表示第i個字在第j個字上的注意力分數。NMAX為一個極大的正數,Mi,j為掩碼矩陣M的第i行第j列的元素,表示第i個字對第j個字的查詢掩碼,使注意力集中在指定的關鍵字上。softmax函數在最后一個維度上計算出歸一化后的注意力分數。在Transformer中,為了提升模型性能,使用多組參數實現注意力機制,再將通過不同組參數得到的向量進行拼接,然后通過做線性變換得到多頭注意力機制的輸出。這類使用多組參數的注意力機制被稱為多頭注意力機制,如下所示:
其中,h表示第幾個“頭”,n表示“頭”的數量,且會使dk × n=d,的大小為。
為了應對深度學習中的網絡退化問題, Transformer中采用殘差連接的方式,并加入歸一化層,如下所示:
在得到歸一化層的輸出Z后,將Z通過一層全連接層和歸一化層得到Transformer最后的輸出。
3.4 主體表示
在識別出輸入文本中的所有主體后,根據每個主體的位置構造出各自的主體掩碼msub。具體來說,構造一個與輸入文本等長的掩碼序列,將主體開始到結束對應的位置全部標記為1,其余位置標記為0,在一個句子中,一個實體可能會出現多次,則每個對應位置都需要標記為1。然后,將掩碼序列msub和文本向量序列輸入注意力層,msub使注意力層在計算文本各位置的注意力分數時,只關注掩碼序列中標為1的位置,如圖2所示。在計算“周立波”的主體向量時,每個字僅和“周立波”交互計算注意力分數,由此得到“周立波”在各個字上的主體向量序列。將主體向量序列與文本向量序列相加,就可得到與各個主體相關的關系-客體向量序列。Transformer中的注意力機制和殘差連接恰好可以實現生成主體向量序列并與文本向量序列相加的操作,因此本文將主體掩碼msub和文本向量序列輸入Transformer就可得到關系-客體向量序列。
圖2???注意力計算可視矩陣
3.5 實體序列標注
實體序列標注的任務是標記出文本中的所有主體和客體,在這個任務中僅使用一行標注序列,將所有屬于主體和客體的字都標記為1,如圖1所示。在主體識別階段或者關系-客體識別階段,對于一些過長的實體,需要進一步判斷該實體包含范圍內的實體序列標注結果是否全部為1。若有一個位置為0,則判斷該實體為錯誤實體,并忽略該實體。該任務要求標記出實體的所有位置,而不僅是實體的首尾位置,因此為了避免對主任務產生不利的影響,本文選取RoBERTa的中間層的輸出,通過簡單的全連接層和Sigmoid得到每個位置的實體概率。
3.6 損失函數設計
本文模型為多任務學習模型,包含主體識別、關系-客體識別和實體序列標注3個子任務。每個任務的基礎都是做二分類任務,因此將二元交叉熵作為各個任務的損失函數:
其中,losssub是主體識別損失,losssbj是關系-客體識別損失,lossentity是實體序列標注損失,α、β、γ分別為各項損失的權重。
4 實驗與分析
4.1 數據集與評測指標
本文使用的數據是由百度提供的DuIE2.0數據集。該數據集是業界規模最大的基于模式的中文信息抽取數據集,其包含超過21萬個中文句子及48個已定義好的模式,數據集中包含43個簡單知識的模式和5個復雜知識的模式。數據集中的句子來自百度百科、百度貼吧和百度信息流文本。17萬個句子被劃分為訓練集,2萬個句子被劃分為驗證集,2萬個句子被劃分為測試集,將micro-F1值作為評測指標。當提取的三元組的主體、關系、客體與標注一致時,視為正確。
4.2 預處理
DuIE2.0數據集中包含43種簡單模式和5種復雜模式,復雜模式會有多個客體值。例如,<主體(影視作品),關系1(票房),客體1(數值),關系2(地點),客體2(地點)>,這個模式要求抽取出一個影視作品在某地的票房。本文將所有的復雜模式分解為簡單模式,仍以上面這個例子為例,其會被分解為<影視作品,票房,數值>、<影視作品,上映地點,地點>、<數值,票房-地點,地點>,對于其他的復雜模式,也進行類似的處理。另外,刪除了簡單模式中<人物,丈夫,人物>的模式,因為模式<人物,妻子,人物>也能表達出這個概念。最后得到54種簡單模式。
4.3 具體實現
模型編碼器使用RoBERTa-base版本。文本最大長度限制為205個字。批大小設置為16,訓練12輪。RoBERTa部分的學習率設置為3×10-5,除RoBERTa外的網絡學習率設置為9×10-5。同時使用學習率線性衰減的策略,學習率計算式如下:
其中,i表示訓練輪次,ea為總訓練輪次,lri表示第i個訓練輪次的學習率,lrinit表示初始學習率。
在訓練的初始階段,預訓練模型以外的部分是隨機初始化的,會產生很大的梯度。為了防止預訓練模型的參數分布受到無意義的破壞,將除RoBERTa預訓練模型外的網絡先訓練500步,再一起訓練全部的網絡。此時,模型損失相比初始時已經下降了一個數量級。損失函數中 α、β、γ分別設置為1、1、0.05。在實體序列標注任務中,取RoBERTa的第9層輸出作為輸入。
在訓練時,若一個句子中有多個不同主體的三元組需要抽取,Wei Z P等人會隨機抽取一個主體進行訓練。但是,同一個句子內的三元組是有聯系的,這種操作會丟失這部分信息,且需要訓練更多的輪數。因此,本文將有多個主體的樣本復制多份,并各自計算主體向量,實現在一個批中訓練全部的三元組。
4.4 實驗結果
實驗結果見表2。Official為百度官方的基線模型,該模型一次解碼出主體與客體,并根據就近原則配對;Pipline是一種常規的流水線模型,用實體識別模型抽取出所有實體,在關系判斷模型中判斷所有實體對間是否存在關系;Mean表示取主體的所有向量做平均,并將其作為主體的向量表示;Max表示取主體所有向量做Max操作,得到主體的向量表示;Transf表示使用主體掩碼生成主體;Transf+seq表示在Transf的基礎上增加實體序列標注任務輔助實體的識別。從表2可以看出,基于主體掩碼的主體向量表示方法相比于簡單取平均值和取最大值的方法,F1值都有一定的提高。另外,在Transf方法的基礎上引入實體序列標注子任務使模型在測試集上的F1值進一步提高了0.003 3。最終,模型在測試集上F1值為0.750 8。
4.5 樣例分析
在例子“安徽四創電子股份有限公司,現注冊資本1.59億元,總資產36.62億元”中有實體“安徽四創電子股份有限公司”和“1.59億元”,存在關系“注冊資金”。使用Mean方法生成主體向量可以理解為將注意力分散到了每個字上。本文所述方法顯示了其較為不同的過程。在本例子中,“1.59億元”會將注意力更加集中在“股份有限”上,而其他字則會集中在“四”“公司”或是分散在各個字上。該例子表明,不同的字會注意到實體的不同位置,尤其是在實體中包含一些有具體含義的詞語時,見表3。
5 結束語
利用實體關系抽取技術自動化地抽取無結構化文本中的三元組信息,能夠及時更新知識圖譜的內容,為知識圖譜推理和應用提供支持。本文提出利用注意力機制和掩碼機制生成主體表示,同時提出利用實體序列標注結合指針網絡進行實體抽取。最終的實驗結果表明,合適的主體向量生成方法能夠在不改變模型整體結構的前提下,有效地提升模型效果。另外,結合實體序列標注,可以解決在指針網絡中因漏標而解碼出一些較長的實體的問題。最終,模型在DuIE2.0數據集上的F1值為0.750 8,因為該數據還未被太多研究者使用,所以在百度官方排名上暫列第一。另外,在實驗過程中發現,基于遠程監督和人工修正的DuIE2.0數據集中存在較多的漏標三元組。在后面的工作中,筆者計劃研究漏標、錯標的噪聲問題。
作者簡介
鄭慎鵬(1995-),男,同濟大學電子與信息工程學院碩士生,主要研究方向為自然語言處理。
陳曉軍(1995-),男,同濟大學電子與信息工程學院博士生,主要研究方向為自然語言處理。
向陽(1962-),男,同濟大學電子與信息工程學院教授,主要研究方向為數據挖掘、自然語言處理、智能決策支持系統。
沈汝超(1989-),男,上海國際港務(集團)股份有限公司工程師,主要研究方向為港口科技管理。
聯系我們:
Tel:010-81055448
? ? ? ?010-81055490
? ? ? ?010-81055534
E-mail:bdr@bjxintong.com.cn?
http://www.infocomm-journal.com/bdr
http://www.j-bigdataresearch.com.cn/
轉載、合作:010-81055537
大數據期刊
《大數據(Big Data Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的期刊,已成功入選中國科技核心期刊、中國計算機學會會刊、中國計算機學會推薦中文科技期刊,并被評為2018年、2019年國家哲學社會科學文獻中心學術期刊數據庫“綜合性人文社會科學”學科最受歡迎期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
總結
以上是生活随笔為你收集整理的基于主体掩码的实体关系抽取方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python读取html中body_py
- 下一篇: docker基础介绍