吳賽賽,梁曉賀,謝能付,周愛蓮,郝心寧
(中國農業(yè)科學院農業(yè)信息研究所區(qū)塊鏈農業(yè)應用研究室,北京 100081)
文本標注是基于深度學習的命名實體識別(Name Entity Recognition,NER)和關系抽?。≧elation Extraction,RE)等自然語言處理(Natural Language Processing,NLP)領域的重要支撐,也是知識圖譜構建等工作的重要下游任務。垂直領域的NER 和RE 任務由于其專業(yè)性、復雜性,主要以人工標注為主,存在效率低下、耗時耗力、錯誤傳播、實體冗余等問題,因此,如何提高文本標注的效率和準確率成為領域自然語言處理研究的重點。
垂直領域文本是對特定領域知識或特定信息的具體描述和記錄,通過對一些醫(yī)療、農業(yè)、公安等領域文本的觀察分析,發(fā)現(xiàn)一般性共同特點:1)文本中一實體同時與多實體之間存在重疊關系。一條數(shù)據(jù)圍繞一個特定實體(主實體)展開具體描述,比如一條醫(yī)療數(shù)據(jù)具體描述一種疾病的臨床癥狀、鑒別診斷、藥物治療、手術治療等信息,一個疾病實體同時與手術、藥劑等實體存在關系;一條農業(yè)病蟲害數(shù)據(jù)描述癥狀、病原、傳播途徑、防治方法等信息,一個病蟲害實體同時與病原、農藥等實體存在關系;一條公安數(shù)據(jù)描述一個罪犯的相貌特征、作案經過、可能去向等信息,一個罪犯同時與受害者、地點等實體存在關系。2)實體分布密度高,同一實體交叉生成多關系對,且存在關系的兩個實體之間距離較長。言簡意賅的領域文本中分布著高密度的實體,并且由于是對一個特定實體展開的具體描述,因此這一實體會同時與多個實體之間生成對應關系,且存在關系的兩個實體不一定存在于同一個句子中。句中的高密度實體分布看似能夠促進NER 模型擬合,但同一實體多次參與不同類型關系對的組成,在有限的標注信息支撐下,一旦模型缺乏句子級別語義信息的表征能力,將容易導致對交錯關系的欠擬合,且距離較長的兩個實體之間的關系較難抽取,影響關系抽取性能[1]。3)實體間關系復雜。如農業(yè)病蟲害文本中經常同時出現(xiàn)防治藥劑和禁用藥劑實體,實體名稱相似度極高,但隸屬的關系類型完全不同甚至是互斥的,在一定程度上加大關系抽取的工作難度。
基于以上領域文本特征及考慮,本文提出一種面向領域重疊實體關系聯(lián)合抽取的“主實體+關系+BIESO”(Main-Entity+Relation+BIESO,ME+R+BIESO)標注模式,直接對三元組建模,提升實體關系標注效率,減少錯誤傳播和實體冗余。本文的主要工作如下:
1)針對實體分布密度高、關系重疊等領域文本特征,提出一種新的實體關系標注方法,將實體關系聯(lián)合抽取轉化為序列標注問題。僅標注存在關系的實體對,標簽即為實體間的關系類型;對實體和關系進行同步標注,可減少實體冗余性和解決復雜重疊關系提取。
2)針對實體對之間距離長的問題,在端到端聯(lián)合學習模型中加入來自轉換器的雙向編碼器表征量(Bidirectional Encoder Representations from Transformers,BERT)預訓練語言模型,不僅能提取詞級特征,還能加強句子級特征提取。
傳統(tǒng)的實體關系抽取流水線方法[2-4]將NER 和RE分成兩個獨立的子任務,即首先對實體進行標注,利用NER 模型識別出文本中的實體,再對實體對之間的語義關系進行標注和分類,雖然更加靈活且易于建模,但將兩個任務分割的方式存在一些問題:1)錯誤傳播。NER 任務的錯誤會影響RE 任務的性能。2)忽略兩個子任務之間的聯(lián)系,丟失信息,影響整體抽取效果。3)實體冗余。若識別到的一些實體之間不存在語義關系,無法自動剔除冗余實體對,提升錯誤傳播。
于是近年來實體關系聯(lián)合學習方法成為主流,根據(jù)建模對象不同,聯(lián)合學習方法分為參數(shù)共享和序列標注兩類子方法。參數(shù)共享方法是分別對實體和關系進行建模,通過共享聯(lián)合的編碼層進行聯(lián)合學習,實現(xiàn)兩個子任務之間的交互[5-6],但仍存在無法剔除冗余實體信息的問題。因此,2017年Zheng等[7]提出一種特殊的標注方案,將實體關系聯(lián)合抽取問題轉化為序列標注問題,雖然能同時提取和利用實體與關系之間的深層關聯(lián),但并不能解決重疊關系問題,且可能會導致在處理具有重疊關系的句子時召回率較低。2018 年,Zeng等[8]首次意識到重疊三元組問題,也提出一些新穎的標注方案,將sequence to sequence 學習與復制機制結合使用,盡管可以提取重疊關系,但其模型無法識別多字實體。2019 年Dai等[9]建立了一個大模型用來填充一個序列標注列表,但標注效率低,且只能預測一個實體對的單一關系類型。
基于以上,本文結合文獻[7-9]的文本標注思想,提出面向領域重疊實體關系聯(lián)合抽取的“ME+R+BIESO”標注方法。首先將文本描述的特定實體標注為固定標簽ME;然后僅標注文本中與ME 存在關系的實體,并將標簽設置為兩個實體間的關系類型,對實體和關系進行同步標注,通過標簽匹配直接獲取三元組,在有效提升標注效率的基礎上實現(xiàn)實體關系的聯(lián)合抽取和重疊關系提取。為了促進長距離實體對之間的關系抽取,利用BERT-雙向長短期記憶網絡(Bidirectional Long Short-Term Memory,BiLSTM)+條件隨機場(Conditional Random Field,CRF)端到端模型進行實驗,實驗結果表明基于該標注方法和模型的實體關系抽取效果有了明顯提升。
在一條數(shù)據(jù)僅圍繞一個特定實體ME 展開描述的領域文本上進行實體關系抽取,本質上只需要抽取與ME 存在關系的其他實體{E1,E2,…,Ei,…,En}以及兩個實體之間的關系類型{R1,R2,…,Ri,…,Rn}。為了保證數(shù)據(jù)的領域封閉性,根據(jù)領域數(shù)據(jù)特征及業(yè)務需求,首先對關系集合R進行預定義,只標注和提取存在屬于集合R 中關系的實體對,減少實體冗余性。
基于這樣的預設,本文提出面向領域實體關系聯(lián)合抽取的“ME+R+BIESO”標注模式,首先將特定實體標注為一固定標簽ME,當文本中某實體Ei與實體ME之間存在關系Ri,則直接將Ei的標簽設置為Ri,并用“BIESO”標志來表示實體Ei中字符的位置信息,其中“B-Ri”表示實體Ei的首字符,“I-Ri”表示實體Ei的內部字符,“E-Ri”表示實體Ei的尾字符,“S-Ri”表示實體Ei為單字符,無關字符則用“O”來表示。在這樣的標注方式下,每匹配到一條數(shù)據(jù)中標簽ME 和同一關系Ri的完整“BIE”或“S”集合,便取出集合所對應的實體ME 和Ei,通過標簽匹配和映射,形成一個(ME,Ri,Ei)三元組。
以農業(yè)領域描述“小麥條銹病”的數(shù)據(jù)文本為例,標注示例如圖1 所示,首先將“小麥條銹病”標注為固定標簽“ME”,在文本中,“黃疸病”與“小麥條銹病”之間存在關系“別名”,則將“黃疸病”標注為“別名”的代表標簽“ON”(Other_Name);“河北”與“小麥條銹病”存在關系“分布區(qū)域”,則將“河北”標注為代表“分布區(qū)域”的標簽“LOC”(Location)。當匹配到標簽“ME”和“ON”的“BIE”集合,即抽取到(ME,ON,黃疸?。?,通過標簽映射,獲得三元組(小麥條銹病,別名,黃疸病);當匹配到標簽“ME”和“LOC”的“BE”集合,即抽取到(ME,LOC,河北),獲取三元組(小麥條銹病,分布區(qū)域,河北)。直至匹配到下一個標簽“ME”,則說明上一個實體ME 對應的三元組全部抽取完成。
圖1 “ME+R+BIESO”標注策略示例Fig.1 “ME+R+BIESO”annotation scheme example
此標注方法在預定義關系集合R 的基礎上,只關注兩個實體之間的關系類型Ri而無需關注實體Ei所屬的實體類型,在一輪標注過程中即同時對實體和關系進行標注,不僅提高標注效率還減少實體冗余和錯誤傳播;但該標注方式也存在一定的局限性:僅考慮一對多的重疊關系情況,對于多對多的重疊關系將成為未來的探索。
在完成2.1 節(jié)的實體關系標注后,將數(shù)據(jù)送入BERTBiLSTM+CRF 端到端模型進行訓練學習,并對每個字符的標簽進行預測。
圖2 為模型整體框架,主要包含3 個部分:首先,通過BERT 預訓練語言模型進行字編碼,提取文本特征,生成字向量;然后,將生成的向量作為雙向長短期記憶網絡層的輸入,進行雙向編碼,從而實現(xiàn)對標簽序列的有效預測;最后,利用條件隨機場對BiLSTM層的輸出結果進行解碼,通過訓練學習得到標簽轉移概率和約束條件,獲得每個字符所屬標簽類別。
圖2 BERT-BiLSTM+CRF模型框架Fig.2 Framework of BERT-BiLSTM+CRF model
2.2.1 BERT預訓練語言模型
在NLP 任務中,需要通過語言模型將文字轉化為向量形式以供計算機理解,傳統(tǒng)的語言模型如Word2Vec[10]、GloVe[11]等單層神經網絡無法很好地表征字詞的多義性,因此Devlin等[12]于2018 年10 月提出了BERT 預訓練語言模型,在11 項NLP任務中刷新了最佳成績。在整體模型框架中,BERT主要負責將原始輸入轉換為向量形式,然后將向量輸入到BiLSTM層學習上下文特征。BERT 是第一個用于預訓練和NLP 技術的無監(jiān)督、深度雙向模型,它不再是簡單地將從左到右或從右到左的句子編碼拼接起來,而是創(chuàng)新性地使用遮蔽語言模型(Masked Language Model,MLM)和下一句預測兩個任務進行預訓練,使得通過BERT 得到的詞向量不僅隱含上下文詞級特征,還能有效捕捉句子級別特征[13]。
BERT 的關鍵模塊是雙向Transformer 編碼結構,編碼器結構如圖3 所示,在Transformer 編碼單元中,最重要的部分就是自注意力機制,它主要是計算一個序列中每個單詞與所有單詞之間的相互關系,然后利用這些關聯(lián)程度調整權重系數(shù)矩陣來獲取詞的表征:
圖3 Transformer編碼器結構Fig.3 Transformer encoder structure
其中:Q為查詢向量,K為鍵向量,V表示值向量,dk表示Embedding維度。
由于自注意力機制只能捕捉一個維度的信息,因此Transformer 采用多頭注意力機制通過h次線性變換對Q、K、V進行投影,最后將h個Attention矩陣拼接起來,計算公式如式(2)~(3)所示:
由于自注意力機制無法捕獲詞的順序信息,同時為了區(qū)分前后的兩個句子,BERT 模型引入了位置向量和段向量,它的輸入序列中每個詞都是詞向量、位置向量和段向量的總和,通過深層雙向編碼,生成最終的詞向量。
2.2.2 BiLSTM模塊
BiLSTM[14]以BERT 生成的詞向量作為輸入,通過捕獲上下文特征,獲取更全面的語義信息。長短期記憶(Long Short-Term Memory,LSTM)[15]是循環(huán)神經網絡(Recurrent Neural Network,RNN)[16]的一種變體,在RNN 基礎上引入了記憶單元和門控機制,對上下文歷史信息進行有選擇性的遺忘、更新和傳遞,從而學習到長距離的語義依賴,同時能減小網絡深度和有效緩解梯度消失和梯度爆炸問題。
長短期記憶(LSTM)網絡結構如圖4 所示,序列信息首先經過遺忘門,決定從之前的信息中丟棄某一部分;接著是輸入門,用于存儲需要更新的信息;最后經過輸出門,決定輸出什么值。
圖4 LSTM結構Fig.4 LSTM structure
1)遺忘門。
作用效果 選擇性遺忘記憶細胞中的信息。
原理 將t-1 時刻隱藏層的輸出ht-1和當前t時刻的輸入xt作為輸入,通過激活函數(shù)sigmoid,輸出最終數(shù)值ft,取值范圍為[0,1],表示對t-1 時刻的細胞狀態(tài)ct-1的保留情況,0表示全部舍棄,1表示全部保留。ft的公式表示如下:
其中:W、b表示連接兩層的權重和偏置。
2)輸入門。
作用效果 將新的信息選擇性地記錄到新的細胞狀態(tài)中。
其中:it為輸入門的輸出,決定需要更新的值為上一層細胞狀態(tài)被遺忘的概率,值域為[0,1],0 表示完全舍棄,1 表示完全保留;ct表示臨時狀態(tài),包含了新的候選值。
3)輸出門。
作用效果 決定最后的輸出和用來控制該層的細胞狀態(tài)有多少需要被過濾。
原理 首先采用sigmoid 函數(shù)計算得到輸出因子ot,然后通過tanh 函數(shù)計算當前細胞狀態(tài)的歸一化值,再與輸出因子ot相乘之后即為當前t時刻的隱藏層輸出ht,計算過程如下:
雖然LSTM解決了RNN的長期記憶遺忘問題,但LSTM細胞狀態(tài)信息總是由前向后傳遞的,因此利用LSTM 對句子建模時還存在無法編碼從后到前的信息的問題。在實際自然語言語句中,關鍵信息可能出現(xiàn)在句首也可能出現(xiàn)在句尾,因此出現(xiàn)了BiLSTM。BiLSTM 由一個前向LSTM 與一個后向LSTM組合而成,將原有的按照順序輸入的序列轉化為一正一反的兩個輸入,可以更好地捕捉較長距離的雙向語義依賴。
2.2.3 CRF模塊
雖然BiLSTM充分捕獲上下文信息,但有時不考慮標簽間的依賴信息,如“B-ON”標簽后面可以接“I-ON”“E-ON”,但如果接“I-DP”“O”等標簽即是非法標簽序列。CRF 可以通過訓練學習得到標簽轉移概率,為預測的標簽添加一些約束條件,防止非法標簽的出現(xiàn)。因此,將CRF 作為BiLSTM 的輸出層,可以獲得最佳的三元組標注結果。
CRF[17]是對最大熵模型(Maximum Entropy Model,MEM)[18]和隱馬爾可夫模型(Hidden Markov Model,HMM)[19]的改進,是一種無向圖模型,在分詞、詞性標注、命名實體識別等序列標注任務中有較好的效果。CRF屬于判別式的條件概率分布模型,表示在給定一組隨機變量X的條件下另一組輸出隨機變量Y的馬爾可夫隨機場,其特點在于假設輸出隨機變量構成馬爾可夫隨機場。CRF 既去除了HMM 的條件獨立性假設,同時又克服了生成式有向圖模型的標記偏置缺陷。
在序列標注任務中,由于輸入和輸出都是線性序列,所以使用的是線性鏈條件隨機場。假設X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均為線性鏈表示的隨機變量序列,若在給定隨機變量X的條件下,Y的條件概率分布P(Y∣X)構成條件隨機場,即滿足馬爾可夫性:
則稱P(Y∣X)為線性鏈條件隨機場。在標注問題中,X為輸入觀測序列,Y表示對應的輸出標記序列或狀態(tài)序列。若假定X和Y具有相同的圖結構,則線性鏈條件隨機場如圖5所示。
圖5 線性鏈條件隨機場Fig.5 Linear chain conditional random field
當觀測序列為X=(X1,X2,…,Xn),且給定線性鏈條件隨機場P(Y∣X)時,狀態(tài)序列Y=(Y1,Y2,…,Yn)的概率定義如下:
其中:θk為需要訓練的參數(shù),代表特征函數(shù)fk的權重;xt為t時刻的輸入;yt為t時刻的輸出;Z(x)為規(guī)范化因子,用于計算y的所有可能并求和。
CRF 在作用于NER 任務時,關鍵在于定義合適的特征函數(shù),特征函數(shù)能夠反映觀測序列和狀態(tài)序列之間的關聯(lián)和約束關系,而特征函數(shù)的選擇往往依賴于文本序列本身的特點。同時,CRF不僅能注意到上一時刻的狀態(tài),還能夠注意到上下文信息,并通過動態(tài)規(guī)劃算法得到全局最優(yōu)解。
3.1.1 數(shù)據(jù)集
作物病蟲害領域作為具有“同一文本中一實體同時與多實體間存在重疊關系”語料特征的領域之一,本文即以作物病蟲害領域為例進行實驗,以1 619 篇作物病蟲害領域數(shù)據(jù),基于交叉驗證的重采樣策略,以7∶3 的比例劃分為訓練集和測試集,具體情況如表1。
表1 實驗數(shù)據(jù)集分配情況Tab.1 Distribution of experimental dataset
實驗環(huán)境 實驗基于Python3.7,采用tensorflow2.2.0 框架,CPU 為Intel Xeon Bronze 3106 CPU 1.70 GHz,GPU 為NVIDIA GeForce RTX 2080 Ti(11 GB);內存32 GB。
3.1.2 實驗參數(shù)
在訓練過程中,按照顯存容量設置batch_size;按照語句平均長度設置seq_max_len;根據(jù)訓練日志判斷損失函數(shù)的收斂情況,并對隨機失活率(dropout)學習率(learning rate)進行微調,直到訓練的損失穩(wěn)定收斂;為擴展系統(tǒng)輸出能力設置LSTM units 數(shù)目。經過多次調試和實驗,選擇核心參數(shù)最優(yōu)組合:batch_size為32,seq_max_len為250,dropout為0.5,學習率為0.01,LSTM units數(shù)目為128。
3.1.3 評價指標
為了精確評測模型的性能優(yōu)劣,選用實體關系抽取領域的3 個典型評價指標:準確率(Precision,P)、召回率(Recall,R)以及F1 值,其中F1 值為P 和R 的調和平均值,相當于綜合評價指標。計算公式如式(13)~(15)所示:
其中:TP為預測正確的陽樣本,F(xiàn)P為預測錯誤的陽樣本,F(xiàn)N為預測錯誤的陰樣本。
為了驗證“ME+R+BIESO”標注方法和BERT-BiLSTM+CRF 模型對領域實體和關系聯(lián)合抽取的優(yōu)越性,本文分別選用流水線方法和聯(lián)合學習方法共3 個模型作為基準模型進行對比實驗。各個模型的實驗結果如表2所示。
表2 實體關系抽取模型實驗結果 單位:%Tab.2 Entity relation extraction model experimental results unit:%
基于流水線方法的實體關系抽取 采用傳統(tǒng)的實體關系標注方式,先利用“BIO”方式標注實體,再對存在關系的實體對進行分類標注,首先使用BERT 搭建關系的分類模型,接著用預測出來的關系和文本,使用BERT 搭建一個實體抽取模型,預測每個token 標示,最后根據(jù)標示提取實體對。從實驗結果可看出,雖然流水線方法的準確率最高,達到93.41%,但整體效果失衡,由于召回率嚴重偏低,導致F1 值僅為44.38%。通過對生成的最終預測數(shù)據(jù)進行分析,發(fā)現(xiàn)文本中距離較近的實體對之間的關系一般能準確預測,但距離較遠的實體對之間關系基本無法預測,這是導致召回率偏低的直接原因,因此證實流水線方法存在忽略實體間關系的問題,對于長距離實體對之間的關系抽取性能較差。
聯(lián)合學習方法 采用本文提出的“ME+R+BIESO”標注方法,分別基于BiLSTM+CRF、CNN+BiLSTM+CRF 以及BERTBiLSTM+CRF 端到端模型進行實體關系聯(lián)合抽取。在BiLSTM+CRF模型中,標注語料首先通過GloVe語言模型生成字向量,然后輸入BiLSTM 模塊提取上下文特征,最后通過CRF 模塊輸出最后預測結果。在CNN+BiLSTM+CRF 模型中,序列首先通過GloVe 模型生成字向量,然后利用卷積神經網絡(Convolutional Neural Network,CNN)模型獲取詞語基于字符的向量表示,將得到的特征分別與當前詞語所對應的字符向量結合,一起輸入到BiLSTM 網絡中,最后利用CRF 進行解碼,得到預測的序列標注。由實驗結果可知,BERT-BiLSTM+CRF 模型的性能明顯優(yōu)于BiLSTM+CRF 和CNN+BiLSTM+CRF 模型,其中P 分別提高了5.97 個百分點和6.66 個百分點,R 分別提高了10.52 個百分點和11.29 個百分點,F(xiàn)1 值分別提高了9.55 個百分點和10.22 個百分點,達到92.21%。CNN+BiLSTM+CRF 模型在BiLSTM+CRF 的基礎上增加了CNN 層,但效果并沒有得到優(yōu)化,F(xiàn)1 值反而降低了0.67 個百分點。不過在BiLSTM+CRF 層上增加BERT 預訓練語言模型后,F(xiàn)1 值提高了9.55 個百分點,說明BERT 能夠輔助提升模型對文本的語義表征能力,更大限度地捕捉領域文本中交錯關聯(lián)的實體關系,從而優(yōu)化了實體關系抽取任務的效果。
圖6為BERT-BiLSTM+CRF 模型中各個關系的預測結果,可看出整體結果較為均衡,均保持在90%水平左右,但“為害部位”關系的預測結果明顯低于平均水平,同時也是拉低模型效果的重要因素。通過對“為害部位”關系對應的語料文本和最終生成的預測結果進行分析,發(fā)現(xiàn)語料中對同一作物部位的描述方法不統(tǒng)一,如“葉片”“葉肉”“葉面”“葉背”“葉鞘”“幼葉”“嫩葉”“葉”等詞語均為描述“葉子”這一部位。因此,這樣的情況導致在預測過程中容易出現(xiàn)預測錯誤或無法預測的問題,影響模型整體預測水平。
圖6 BERT-BiLSTM+CRF模型中各個關系預測結果Fig.6 Prediction results of each relation in BERT-BiLSTM+CRF model
本文針對某些領域語料存在“同一實體ME 同時與多個實體Ei之間存在重疊關系Ri”的特點,提出一種面向領域實體關系聯(lián)合抽取的新標注方法“ME+R+BIESO”,將實體關系抽取任務轉為序列標注任務。無需關注實體ME 或Ei所屬的實體類型,只需關注兩個實體之間存在的關系類型Ri,同步標注實體和關系,直接對三元組建模,通過標簽匹配和標注映射即可完成三元組抽取。以作物病蟲害領域數(shù)據(jù)作為樣本數(shù)據(jù),利用BERT-BiLSTM+CRF 端到端模型進行訓練和預測,并以傳統(tǒng)標注方式和其他經典模型的結果進行對比分析,實驗結果表明本文提出的基于“ME+R+BIESO”標注模式+BERTBiLSTM+CRF 模型的實體關系聯(lián)合抽取方法性能有了明顯提升。該方法不僅有效提高標注效率,還能減少實體識別和關系抽取兩個子任務之間的錯誤傳播,同時還有效緩解實體冗余性和實體間的重疊關系問題。本文提出的標注方法更加適用于一對多重疊關系抽取,下一步可深入研究多對多重疊關系提取的方法。