馬建紅 魏字默 陳亞萌
(河北工業大學人工智能與數據科學學院 天津 300401)
專業領域資源命名實體識別(Named Entity Recognition,NER)[1]和關系抽取(Relation Extraction,RE)[2]是對資源描述的文本進行信息抽取的重要方式,基于實體和關系可以構建出資源庫和資源知識圖譜,可以更好地促進自然語言處理(Natural Language Processing,NLP)上層任務的發展。
當前,完整解決NER和RE這類問題的場景需求很多,一般可以歸結為對應的兩個子任務,主要有兩種完成方式,一種是流水線方式;另一種是聯合學習方式。
目前的研究以流水線處理方式較多,例如:對于命名實體識別,張海楠等[3]、何炎祥等[4]分別使用神經網絡和機器學習方法完成NER任務;對于關系抽取,Yan等[5]、 Li等[6]采用改進的深度學習方法完成RE任務。這種流水作業方式使得兩個子任務易于處理,但存在一些缺陷,例如:忽略了兩個子任務模塊之間的關聯性,前一個子任務的錯誤會順延傳遞到下一個子任務;兩個子任務都是對原始文本進行處理,做了重復性的數據處理工作,處理效率低。
與流水線處理方式不同,聯合學習方式可以有效解決上述問題。基于深度學習的聯合抽取方式擁有以下優勢:① 采用深度學習的模型可以自動學習句子特征,無須人工構建復雜的特征工程;② 這一方式考慮了子任務之間關聯性的同時,避免了流水線方法中子任務訓練誤差、錯誤率累計傳播和冗余實體產生等問題;③ 端到端的學習方式較大地提升了處理效率[7]。因此,研究有效的聯合抽取方式更具實際意義。
本文將化學資源庫應用于計算機輔助創新(Computer Aided Innovation,CAI)[8]中,對化學資源的完整描述包括資源物質本身、資源的屬性或參數和相應的量值。在非結構化文本中它們會被全部或者部分地描述出來,因此,本文以資源的物質(RES)、屬性(PAR)、值(VAL)作為抽取的對象,表示為(RES,PAR,VAL)的三元組形式。分析表明,該領域文本主要存在以下特點:
(1) 文本中各類實體組合方式多變,詞長主要為2~20字符不等,其中包含較多的長實體名、文字夾帶符號的混合情況,例如,“5,6-二羥基吲哚”、“抗靜電劑SH-105”等。
(2) 一個自然句中包含的實體數量多,因此確定文本中三類實體對象互相之間是否存在關系比較困難。
(3) 實體與實體間存在一對多的描述情況,即一個句子中某一實體可能會同時存在多個三元組中,存在一定的重疊關系。
聯合抽取的方法又可以分為參數共享和序列標注兩類。Miwa等[9]提出了一個基于參數共享的聯合抽取模型,NER子任務中的輸出和隱含層共同作為RE子任務輸入的一部分,實現共享參數。Li等[10]在Miwa等研究的基礎上加入了實體驗證的處理,并將該模型應用于提取細菌和細菌位置關系。Katiyar等[11]在參數共享的基礎上將注意力機制引入到RE子任務中。這種方式雖然在底層參數上進行了共享,但兩個子任務是分別進行的,依舊會產生冗余信息。Zheng等[12]提出了一個序列標注的方式,通過將實體之間的關系類型放入標簽中,使用序列標注模型直接抽取實體對及其關系。標簽中包含三部分信息:實體的邊界信息、實體的關系類型和實體的序號。針對在一個句子中出現相同類型關系的多個實體,采用就近的原則來標注實體。這種方法只考慮了一個實體屬于一種關系的情況,如圖1所示。而在很多情況下一個句子中存在多個三元組信息,并且同一個實體會出現在多個關系中,比如將此例句改為“The United States President Trump’s wife Melania Trump will…”。此時夫妻關系(Husband-Wife,HW)與國家-總統關系(Country-President ,CP)只能被標注出一個,導致最終的查全率受影響。本文所要研究的化學領域文本對于資源敘述中也會大量出現類似的關系重疊情況,因此,本文提出一種新的標注策略。
對于文本數據的向量化表示,在2018年以前的幾年中,NLP任務的起點多是以Word2vec為代表的詞向量。獲得詞向量以后,對其進行平均或者求和得到句向量,這種處理方式難以實現深層語義的提取,導致上層任務效果提升困難。當前很多詞向量表示的方法都是靜態的,如Word2vec、GloVe等,當訓練完成之后便獲得了一個詞的唯一確定的向量表示。由于一個詞很可能在不同的句子語境中表示不同的意思,Google在2018年提出BERT[13],譯為基于Transformer[14]的雙向編碼表征,實現了一詞多義的表示以及基于上下文的雙向特征表示,保證了其在表征上更高的準確性。
另一方面問題來自學習模型,深度學習方法中卷積神經網絡(Convolutional Neural Network,CNN)常被引入到關系分類的任務上用于特征學習,雖然取得了較好的表現,但是在面對長距離依賴的問題上存在局限,當增大上下文窗口大小的同時,模型的性能也會下降。循環神經網絡(Recurrent Neural Networks,RNN)緩解了長距離依賴的問題,但是隨著間隔增大,RNN存在遺忘問題,對捕獲遠距離的特征依舊存在局限。因此研究者們提出了長短時記憶網絡模型(Long Short Term Memory,LSTM)來解決這個問題,LSTM采用“門”讓上游信息有選擇性地傳遞給每個時序序列。在自然語言的處理中,句子當前位置的特征不僅依賴于先前位置,還與后續位置特征也存在著較大的關系。隨即便有研究者們提出了BiLSTM模型,通過深度提取文本的上下文特征,增強對長文本的處理能力。2015年開始BiLSTM-CRF模型逐步在處理序列化標注問題上得到應用,Plank等[15]研究表明了雙向長短記憶模型在詞性標注任務上具有較好的效果。Yang等[16]對CRF、BiLSTM及BiLSTM-CRF聯合模型在中文和英文語料上的詞性標注效果進行了對比,結果證明了BiLSTM-CRF模型在解決序列問題上的優異性。
基于化學領域的文本特點,本文結合深度學習技術提出了一種聯合抽取的解決方法。本文貢獻主要體現在以下兩個方面:
(1) 提出一種針對實體及關系聯合抽取的模型,該模型由BERT、BiLSTM和CRF組成,能夠對長文本進行建模。
(2) 提出一套針對化學領域實體關系三元組抽取的標注策略,該標注策略可以有效地在多實體共現的文本中抽取存在重疊關系的三元組信息。
本文的實體關系抽取框架如圖2所示。IFT-Joint模型的核心部分由BERT預訓練語言模型和BiLSTM-CRF網絡構成,實現了一個抽取實體及關系三元組信息的端到端學習模型。

圖2 資源實體關系抽取框架
為了解決重疊關系問題即實體之間關系一對多的情況,本文使用一種信息融合標注策略。在多實體共現時根據各自對應情況進行劃分,標簽中含有三部分信息:① 標簽前綴。實體邊界信息,用BIN來表示,“B”表示實體的起始邊界,“I”表示后繼序列,“N”表示與實體無關的信息。② 標簽中綴。實體類型信息,“RES”表示資源實體,相當于傳統三元組中的“實體1”;“PAR”表示屬性實體,該實體在三元組中位于中間位置,相當于“關系”,本文將關系屬性作為一類實體處理,擺脫同一個實體只能出現在一個關系中的局限性,從而解決實體一對多的問題;“VAL”表示量值實體,該實體在三元組中位于最后的位置,即“實體2”。③ 標簽后綴。各類實體間對應關系信息,“O、I、II、III、IV、V”的表征意義為屬性實體與值實體的對應描述關系以及在缺失屬性實體的情況下值實體與資源實體的直接描述關系。例如,在文本中對“資源A”的描述中的資源實體標簽用{B-RES-O,I-RES-O},相關的屬性實體標簽用{B-PAR-I,I-PAR-I,B-PAR-II,I-PAR-II…B-PAR-V,I-PAR-V},對應的值實體標簽為{B-VAL-I,I-VAL-I,B-VAL-II,I-VAL-II…B-VAL-V,I-VAL-V},被省略屬性描述的值實體用{B-VAL-O,I-VAL-O}。圖3為一組文本標注樣例。

鄰苯二甲酸氫鉀是一B-RES-OI-RES-OI-RES-OI-RES-OI-RES-OI-RES-OI-RES-ONN種化學物質,分子式NNNNNNB-PAR-II-PAR-II-PAR-I是C8H5KO4,NB-VAL-II-VAL-II-VAL-II-VAL-II-VAL-II-VAL-II-VAL-IN白色結晶性粉末;在B-VAL-OI-VAL-OI-VAL-OI-VAL-OI-VAL-OI-VAL-OI-VAL-ONN空氣中穩定,能溶于NNNB-VAL-OI-VAL-ONB-VAL-OI-VAL-OI-VAL-O水,溶液呈酸性;分I-VAL-ONNNNB-VAL-OI-VAL-ONB-PAR-II子量:204.22I-PAR-III-PAR-IINB-VAL-III-VAL-III-VAL-III-VAL-III-VAL-III-VAL-II。N
從圖3的序列標簽中,容易得到如表1所示的三元組信息。

表1 序列標注的結果
其中第1組與第2組包含完整的三元組信息。同時可以看出屬性實體被省略的(Not Given,NG)值實體與資源實體的直接對應關系,如第3組-第6組。基于現有知識庫所構建的屬性量值字典對表中缺失屬性進行補全(本文暫不對補全操作進行論述)。即可抽取得到6組三元組信息,充分發掘文本內容。
文本的文本向量表示即編碼階段,采用BERT預訓練模型進行微調完成。BERT是一種多層雙向Transformer編碼器,在訓練過程中使用了“Masked語言模型”。圖4為BERT的模型結構圖,其中:Ei為每個詞塊對應的embedding表示;Trm為Transformer編碼單元;Ti為輸出的每個token。

圖4 BERT模型結構
BERT進行遮蔽(Mask)預訓練工作,通過隨機Mask輸入詞塊中的15%,其中的80%會直接用[MASK]符號代替,10%會替代為其他任意的詞,最后10%會保留原詞。將其傳入多層的Transformer中訓練預測這些被Mask的詞塊,得到深度雙向語義表示的向量。
值得注意的是,BERT模型核心部分是一個多層雙向的Transformer編碼結構,不再依賴RNN或者CNN,只需要注意力機制就能夠一步到位地獲取全局信息。其中Transformer編碼單元的結構如圖5所示,Add為做殘差連接,將模塊的輸入與輸出直接相加,作為最后的輸出;Normalize為對某一層神經網絡節點做0均值1方差的標準化。

圖5 Transformer編碼單元結構
編碼部分主要是基于自注意力的,計算式如下:
(1)
式中:Q∈Rn×dk,K∈Rm×dk,V∈Rm×dv。如果忽略激活函數softmax的話,那么事實上它就是三個n×dk、dk×m、m×dv的矩陣相乘,最后的結果就是一個n×dv的矩陣。也可以將其視為一個Attention層,將n×dk的序列Q編碼成了一個新的n×dv的序列,因此,其實質是一個重新編碼的過程。
這樣做的目的是獲得一個既可以表示詞本身特征又可以反映上下文關系的表達。為了增強其表示能力,Transformer使用了“多頭”模式對其進行了優化,使模型共同處理來自不同表達的子空間在不同位置的信息,如式(2)和式(3)所示。
MultiHead(Q,K,V)=Concat(head1,head2,…,
headi,…,headh)
(2)
(3)

(4)
FFN(x)=max(0,xW1+b1)W2+b2
(5)
式中:α和β是可學習的參數;接近于0。W1、W2為全連接權重矩陣;b1、b2為正則化項。
Transformer是基于完全注意力的方法,與一般CNN和RNN編碼詞與詞之間位置的描述方式都不同,它能夠依據上下文距離長短建模捕捉兩個詞之間的關系。為了使Transformer感知詞與詞之間的位置關系,BERT的輸入表征中使用位置編碼給每個詞加上位置信息。
如圖6所示,它的輸入表征通過對相應詞塊嵌入、句段嵌入和位置嵌入求和來構造。首先,將每個位置編號,然后每個編號對應一個向量,通過結合位置向量和詞向量,給每個詞都引入了位置信息,如式(6)和式(7)所示,這樣Attention就可以分辨出不同位置的詞了。

圖6 BERT輸入表征
(6)
PE(pos,2i+1)=cos(pos/10 0002i/dmodel)
(7)
式中:pos是指詞語在序列中的位置;i表示位置向量中每個值的維度;dmodel是模型的維度,故i BERT預訓練模型真正做到了同時考慮上下文語義特征,能捕捉更長距離的依賴,可以為上層網絡模型的構建提供更好的文本表征。 利用CRF層對BiLSTM層的輸出進行進一步處理。對于待預測的標簽序列y={y1,y2,…,yT}則通過以下得分函數求得: (8) (9) 式中:s(x,y)為標簽序列y的得分;Ayt-1,yt代表從第t-1個標簽轉移到第t個標簽的概率;Pt,yt為第t個詞映射到第t個標簽的概率;P(y|x)為標注為標簽序列y的概率,為使其達到最大,采用對數最大似然估計得到代價函數,最后使用維特比算法求得最優標簽序列。 如圖7所示,本文的IFT-Joint引入了BERT,在經過大規模語料預訓練后再由本文的領域數據進行微調,可以獲得高質量的序列向量表示。原始文本輸入后,經過多層Transformer的Encoder獲得深層的語義表示,再將BERT最后一層的結果輸入到BiLSTM中完成進一步的編碼,最后交由CRF層輸出最優標簽序列。 圖7 IFT-Joint模型 由于目前化學領域還未形成統一的語料庫,因此本文從百科以及專利文本中爬取文本語料,再結合目前已有的知識庫形成數據集。按照本文所提出的標注策略進行標注,共標注2 674句,包含184 080個字級別的標簽。語料中的文本涉及化學物質、材料、電器元件及其他分別占比為63%、21%、11%和5%,人工標注結果經過了CAI驗證。各集合句子數量及3種命名實體數量如表2所示。 表2 訓練集、驗證集、測試集中3種命名實體數量 實驗使用準確率P、召回率R以及F1值對結果進行評測,其計算公式如下: (10) (11) (12) 式中:Nr為預測正確的實體總數;Na為預測出的實體總數;M為測試集合中的實體總數。 本文實驗均采用統一的運行環境進行,如表3所示。 表3 環境參數 BERT隱含單元數768,隱含層數12,初始化范圍0.1,處理序列最大長度128,學習率為5e-5,訓練批處理大小為32。本文下載使用Google提供的中文預訓練模型“BERT-base Chinese”進行Fine-tuning。BiLSTM_CRF部分隱含單元數128。 實驗選取3.1節中所構建的語料庫的訓練樣本作為本文模型的訓練集進行訓練,采用測試樣本進行模型訓練后的測試評估。參數驗證結果如圖8所示。 (a) (b)圖8 不同參數值對F1值影響 在訓練時為了防止出現過擬合引入了dropout策略。IFT-Joint模型F1值隨著丟碼率的變化如圖8(a)所示,當丟碼率設置為0.5時模型總體效果最好,本文在接下來的對比實驗中將模型的丟碼率設置為0.5。IFT-Joint模型在訓練到3個epoch時便可以達到穩定,其F1值可以到達76.55%,增加epoch后訓練時長會相應增加,其F1值在76.50%左右小幅波動,每增加一個epoch,訓練時長增加1 590 s左右,因此訓練成本會增加,本文在考慮訓練效率最佳的情況下選取epoch為3來完成與其他模型的對比實驗。 為體現本文方法在準確度和穩定性上的優勢,將IFT-Joint與CRF、RNN、BiLSTM和BiLSTM-CRF四種常用于解決序列問題的方法在同一語料庫上進行實驗對比。為統一比較標準,所有需要數據標注的方法均使用本文3.1節中提出的策略進行標注,所有網絡隱含層節點數均取128。另外,除本文模型外其他涉及分詞操作的方法均采用jieba分詞工具包做分詞處理,詞向量訓練均采用Word2vec,詞向量訓練部分選擇CBOW模型,詞向量的維度大小采用200。 本文報告了不同方法的實驗結果,由于本文所使用的新標注策略中標簽分為三部分,標簽前綴和中綴可以反映實體序列的預測結果,而后綴可以反映關系的對應情況,故而實驗從實體識別結果和三元組聯合抽取結果進行統計分析。 (1) 表4通過對測試集上的標簽序列的前綴和中綴進行統計,列出了三類實體識別結果。如圖9所示,表4中的結果來自標簽中對①部分的統計分析。可以看出,用深度學習的方法識別效果要強于僅用CRF,CRF特征表示不充分,并且其結果受人工制定特征模板的影響嚴重,神經網絡的方法總體上有效地提取了文本特征。BiLSTM方法效果優于RNN,表明在本文所研究的長序列問題中RNN無法很好地解決長距離依賴的問題,而LSTM單元對RNN的改進有效緩解了這個問題,優化了長期記憶的功能。將CRF加入到BiLSTM中可以明顯提高其序列的準確率,這也說明了CRF在序列標注問題上可以有效考慮全局最優的解。當引入BERT后,模型整體效果有了較大提升,說明在句子的表征能力上,BERT預訓練模型可以提取更深層更有效的文本特征,較之Word2vec的embedding對網絡模型參數的優化更有效。 表4 實體識別結果 % 圖9 標簽結果分析 (2) 表5中的結果來自圖9標簽②部分,這是對標簽完整信息的統計,即三類實體最終構成三元組(R,P/NG,V)結果的情況,其中“P/NG”為本文2.2節中提到的情況,即存在屬性信息的三元組或者被省略屬性信息的三元組,兩者均作為正確結果。通過與表4中結果對比分析發現,不論哪類模型均存在各類實體的準確率以及召回率均高于最終所構成的三元組情況。究其原因,從標簽后綴中獲得關系結果,標簽中包含了兩大類直接對應關系,即一種是“資源實體”與被省略屬性的“值實體”,另一種是“屬性實體”與對應的“值實體”,若對應關系涉及的兩類實體有一個未被正確識別或者未識別出都會造成一組三元組信息的錯誤或者流失。如表6所示,“鄰苯二甲酸氫鉀是一種化學物質,分子式是C8H5KO4,…”當資源實體“鄰苯二甲酸氫鉀”、屬性實體“分子式”和值實體“C8H5KO4”的實體部分均識別正確,討論其后綴的對應關系才有意義,否則無效。本文的IFT-Joint模型在標簽預測的整體準確率上較高,因此在這樣的信息損失下依舊保持76%以上的F1值。 表5 聯合抽取結果 % 表6 IFT-Joint模型實體識別結果 續表6 (3) 本文還對模型的穩定性進行了探究,由圖10可知,IFT-Joint方法在訓練數據集上取樣40%就基本達到了穩定,而BiLSTM-CRF作為其他四種對比方法中效果最好的序列模型需要在訓練集為70%以后才能趨于穩定。由此可知,BERT在預訓練的基礎上進行微調使得訓練模型的效率更高,IFT-Joint模型中引入BERT可以更為有效地提取文本特征,體現了本文方法在準確度和穩定性上的優勢。 圖10 模型穩定性實驗 本文提出一種基于融合信息標注的聯合抽取方法,首先在序列標注的基礎上提出一套適用于化學領域資源實體及關系抽取的標注方法,有效緩解了重疊關系的問題。其次,BERT的引入提升了模型在編碼階段對文本特征的挖掘能力,也避免了構建復雜的特征工程,經實驗驗證,IFT-Joint模型的召回率在75%以上,優于文中所提的其他模型。通過實驗數據分析發現,該模型還具有識別訓練集中未出現信息的能力。本文方法已經為構建領域知識庫提供了大量的領域基礎數據。在接下來的工作中,將在繼續增加語料的基礎上對方法進行持續優化,考慮引入主動學習來選擇最有價值的未標注語料進行標注,提升模型的泛化能力。2.4 BiLSTM_CRF模型


2.5 IFT-Joint模型

3 實驗與結果分析
3.1 數據集的準備與分析

3.2 評價指標
3.3 參數設置

3.4 參數分析

3.5 對比分析






4 結 語