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