黃子麒,胡建鵬
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
汽車產(chǎn)業(yè)作為智能制造規(guī)劃中的重要產(chǎn)業(yè),受到工業(yè)界智能制造研究的廣泛關(guān)注,自然語言處理和深度學(xué)習(xí)技術(shù)為其中知識挖掘提供了重要支撐。汽車產(chǎn)業(yè)匯聚了工業(yè)產(chǎn)品全生命周期設(shè)計(jì)研發(fā)、供應(yīng)鏈、生產(chǎn)制造和維修運(yùn)維等各個(gè)環(huán)節(jié)的數(shù)據(jù),具有產(chǎn)業(yè)鏈復(fù)雜、業(yè)務(wù)邏輯多等特點(diǎn),同時(shí)具備工業(yè)領(lǐng)域的數(shù)據(jù)多源、知識表征異構(gòu)等特征,能作為工業(yè)典型數(shù)據(jù)進(jìn)行分析,設(shè)計(jì)適用于汽車領(lǐng)域的通用命名實(shí)體識別(Named Entity Recognition,NER)模型是工業(yè)數(shù)字化轉(zhuǎn)型中的一大挑戰(zhàn)。
NER 是信息抽取的任務(wù)之一,旨在識別代表某類實(shí)體的文本跨度,并給定預(yù)先定義的類別,通用領(lǐng)域常用于識別人名、地名和組織名等,是自然語言處理技術(shù)關(guān)系抽取[1]、問答系統(tǒng)[2]和信息檢索[3]等下游應(yīng)用的關(guān)鍵支撐。現(xiàn)有的研究大多針對通用領(lǐng)域數(shù)據(jù),同時(shí)在農(nóng)業(yè)[4]、電網(wǎng)[5]等垂直領(lǐng)域也已取得較好的進(jìn)展。以上領(lǐng)域數(shù)據(jù)標(biāo)注歧義少,實(shí)體通常結(jié)構(gòu)扁平且構(gòu)成規(guī)則簡單,因此實(shí)體識別效果較好。而汽車領(lǐng)域復(fù)雜的業(yè)務(wù)場景對實(shí)體識別提出了新的要求,實(shí)體組成結(jié)構(gòu)復(fù)雜、實(shí)體標(biāo)簽不一致和樣本不平衡等問題使得汽車領(lǐng)域?qū)嶓w抽取結(jié)果不理想。整車與零部件產(chǎn)品的從屬關(guān)系、汽車裝配中電氣系統(tǒng)和動力系統(tǒng)的上下級關(guān)系引入了復(fù)雜的語義關(guān)系,帶來了嵌套實(shí)體識別問題。汽車領(lǐng)域NER 的研究近年集中在基于序列的方法[6-7],并未針對嵌套實(shí)體識別進(jìn)行模型設(shè)計(jì),挖掘上下文豐富語義信息和解決嵌套實(shí)體識別問題對于汽車領(lǐng)域NER 意義重大。
本文圍繞汽車故障診斷與維修文本實(shí)體抽取數(shù)據(jù),提出一種基于跨度的實(shí)體類別增強(qiáng)實(shí)體抽取模型來完成汽車領(lǐng)域的嵌套命名實(shí)體識別任務(wù)。本文的主要貢獻(xiàn)有:1)設(shè)計(jì)了領(lǐng)域數(shù)據(jù)的特征融合方法;2)提出了基于注意力機(jī)制的實(shí)體類別增強(qiáng)方法,提升了在領(lǐng)域數(shù)據(jù)嵌套實(shí)體和長實(shí)體命名實(shí)體識別的效果;3)通過多個(gè)角度的實(shí)驗(yàn)驗(yàn)證了本文模型在汽車領(lǐng)域?qū)嶓w識別的優(yōu)勢。
在NER 中應(yīng)用的技術(shù)主要有4 種:基于規(guī)則的方法、無監(jiān)督學(xué)習(xí)方法、基于特征的監(jiān)督學(xué)習(xí)方法和基于深度學(xué)習(xí)的方法[8],隨著BERT(Bidirectional Encoder Representation from Transformers)[9]的提出,近年來基于預(yù)訓(xùn)練模型的深度學(xué)習(xí)方法在許多自然語言處理任務(wù)上取得了較先進(jìn)的性能。基于深度學(xué)習(xí)的嵌套NER 的常用方法按模型結(jié)構(gòu)主要分為基于超圖的方法、基于序列的方法和基于跨度的方法。
基于超圖的方法利用超圖結(jié)構(gòu)有效保存對象之間的多元關(guān)聯(lián)關(guān)系,能較好地解決嵌套命名實(shí)體標(biāo)簽網(wǎng)絡(luò)中一條邊包含多節(jié)點(diǎn)的問題。Lu 等[10]使用超圖建模實(shí)體節(jié)點(diǎn)跨度,進(jìn)而抽取嵌套實(shí)體;Katiyar 等[11]針對識別嵌套命名實(shí)體提出一種基于BILOU 標(biāo)記方案的超圖表示方法,并通過雙向長短時(shí)記憶(Bi-directional Long Short-Term Memory,Bi-LSTM)網(wǎng)絡(luò)對超圖的邊概率進(jìn)行建模,進(jìn)一步改進(jìn)了超圖的表示。但在設(shè)計(jì)超圖結(jié)構(gòu)時(shí)需要大量人力,不同領(lǐng)域數(shù)據(jù)結(jié)構(gòu)不一樣導(dǎo)致通用領(lǐng)域模型較難設(shè)計(jì),同時(shí)復(fù)雜的結(jié)構(gòu)增加了解碼的難度,且超圖無法對嵌套實(shí)體之間的依賴進(jìn)行編碼,丟失了細(xì)粒度信息。
基于序列的方法采用序列模型輸出扁平化的命名實(shí)體,條件隨機(jī)場(Conditional Random Field,CRF)作為一種無向圖模型常作為NER 任務(wù)的解碼模塊。例如BERT-BiLSTMCRF[12]模型,近期為處理嵌套實(shí)體的問題,序列模型的結(jié)構(gòu)被重新設(shè)計(jì)。Ju 等[13]提出了一種動態(tài)堆疊平面NER 層的Layered-BiLSTM-CRF 模型,由內(nèi)層到外層逐層識別實(shí)體。新的標(biāo)簽策略解決了傳統(tǒng)序列標(biāo)注模型無法識別嵌套實(shí)體的問題,但受限于模型本身,序列標(biāo)注模型無法并行訓(xùn)練,枚舉、堆疊所有可能的標(biāo)簽類型導(dǎo)致標(biāo)簽分布稀疏、模型較難訓(xùn)練和解碼耗時(shí)過長等問題。
基于跨度的方法將實(shí)體識別定義為實(shí)體跨度分類問題,由于劃分跨度包含所有潛在實(shí)體,因此可以解碼并識別嵌套實(shí)體,由于領(lǐng)域?qū)嶓w存在較多長實(shí)體,基于跨度的方法識別工業(yè)長實(shí)體也具備一定優(yōu)勢。近期,基于跨度的方法受到廣泛研究,Sohrab 等[14]、Zhong 等[15]提出的PURE(Princeton University Relation Extraction)模型、Eberts 等[16]提出的SpERT(Span-based Entity and Relation Transformer)模型通過在文本中枚舉有限長度內(nèi)的所有跨度,通過分類器得到所有候選跨度的實(shí)體類別標(biāo)簽,驗(yàn)證了不同預(yù)訓(xùn)練模型、不同級別的跨度表征方法對于實(shí)體識別的影響。以上基于跨度的命名實(shí)體識別方法主要存在以下問題:1)枚舉限定長度的跨度會引入大量低質(zhì)量跨度,計(jì)算成本高,限定跨度長度對長實(shí)體識別效果較差;2)簡單利用字符向量表征跨度忽略跨度邊界信息,無法準(zhǔn)確定位實(shí)體邊界,以上方法均未引入實(shí)體類別的先驗(yàn)知識;3)未針對數(shù)據(jù)集普遍存在的嵌套實(shí)體問題進(jìn)行設(shè)計(jì),內(nèi)部嵌套實(shí)體在外部實(shí)體中的起始位置會影響跨度表征,影響實(shí)體識別準(zhǔn)確率。針對以上問題,本文提出基于跨度與實(shí)體類別增強(qiáng)的嵌套命名實(shí)體識別方法。
針對通用模型在領(lǐng)域數(shù)據(jù)中存在的嵌套實(shí)體識別和長實(shí)體識別效果不佳的問題,本文提出融合語法信息、實(shí)體類別特征增強(qiáng)(Entity Category Enhanced NER,ECE-NER)模型,融入領(lǐng)域知識對汽車領(lǐng)域文本進(jìn)行NER。方法概要如圖1 所示。核心模塊主要分為:
1)數(shù)據(jù)預(yù)處理和標(biāo)注。主要清洗收集的汽車領(lǐng)域數(shù)據(jù),定義實(shí)體類型,制定嵌套實(shí)體標(biāo)注規(guī)則完成數(shù)據(jù)標(biāo)注。
2)模型。主要包括:
a)特征融合編碼層。利用BERT 預(yù)訓(xùn)練模型以及構(gòu)造好的詞性特征、偏旁特征進(jìn)行特征融合編碼。
b)尾詞識別器。利用多層感知機(jī)(Multi-Layer Perceptron,MLP)得到句子尾詞概率,從而得到實(shí)體尾詞索引集合。
c)前向邊界識別器。由實(shí)體類別特征構(gòu)造和跨度生成與識別兩部分組成。其中實(shí)體類別特征構(gòu)造利用先驗(yàn)實(shí)體標(biāo)簽知識以及義原分析構(gòu)造特征,基于自注意力機(jī)制得到融合實(shí)體類別特征的尾詞向量表征;跨度生成與識別基于候選尾詞生成候選跨度,跨度經(jīng)過雙仿射編碼得到特定尾詞的首詞概率,從而確定特定尾詞和實(shí)體類型的實(shí)體跨度。
本文模型將實(shí)體識別任務(wù)拆解成兩個(gè)優(yōu)化目標(biāo),分別是實(shí)體尾詞損失和前向邊界識別損失。
汽車領(lǐng)域目前尚未有較高質(zhì)量的公開數(shù)據(jù)集,汽車故障診斷與維修是我國汽車產(chǎn)業(yè)中重要部分。隨著信息技術(shù)和業(yè)務(wù)規(guī)模不斷發(fā)展,企業(yè)累積了海量的業(yè)務(wù)數(shù)據(jù),同時(shí)業(yè)務(wù)數(shù)據(jù)復(fù)雜,可用于工業(yè)領(lǐng)域知識抽取的研究。本文從大型汽車企業(yè)收集到實(shí)際生產(chǎn)過程中記錄的汽車故障診斷文本語料數(shù)據(jù),共3 547 段汽車生產(chǎn)線故障診斷的文字描述,每段文字包含了問題描述、操作步驟和解決方案等豐富的場景信息。為了保障語料質(zhì)量,消除句子中與該領(lǐng)域?qū)嶓w識別無關(guān)的文本,針對語料進(jìn)行預(yù)處理操作,刪除了標(biāo)號、空格等無用的文本內(nèi)容,同時(shí)規(guī)范化文本,補(bǔ)充了記錄時(shí)省略的部件名稱等信息。預(yù)處理后的原始數(shù)據(jù)未標(biāo)注,沒有定義實(shí)體類型,不能直接用于模型訓(xùn)練。為了使實(shí)體類別以及模型適用于汽車領(lǐng)域其他文本,本文結(jié)合專家經(jīng)驗(yàn)定義實(shí)體,有6 類實(shí)體:設(shè)備單元、設(shè)備功能、檢修動作、檢修工具、失效模式和設(shè)備屬性,具體實(shí)例與實(shí)體數(shù)量如表1 所示。

表1 汽車故障文本實(shí)體定義Tab.1 Text entity definition of automobile fault
根據(jù)命名實(shí)體中是否包含其他實(shí)體,將命名實(shí)體分為簡單結(jié)構(gòu)實(shí)體和嵌套命名實(shí)體:簡單結(jié)構(gòu)實(shí)體指內(nèi)部不包含其他實(shí)體,例如“電機(jī)”表示一個(gè)部件單元實(shí)體;嵌套命名實(shí)體指一個(gè)實(shí)體內(nèi)部嵌套一個(gè)或多個(gè)命名實(shí)體,在汽車領(lǐng)域通常由于設(shè)備單元的層級關(guān)系、失效模式帶有性能描述及設(shè)備、屬性描述等引入嵌套實(shí)體,其中問題描述、解決方案等實(shí)際場景描述存在大量嵌套實(shí)體,例如“伺服電機(jī)控制回路”中“伺服電機(jī)”作為設(shè)備單元,“伺服電機(jī)控制回路”也是一個(gè)設(shè)備單元,“氣體壓力降至告警值”為失效模式,“氣體壓力”為性能表征。
參考文獻(xiàn)[17]并結(jié)合汽車故障診斷語料的數(shù)據(jù)獲取場景,制定如下標(biāo)注規(guī)則以及標(biāo)注細(xì)節(jié):
1)標(biāo)注的專有名詞是具體的、特定的,而不是抽象的、泛指的,并且標(biāo)注的實(shí)體需要符合實(shí)際應(yīng)用場景,例如“線”“液體”“檢查”“裝置”“機(jī)器”等不視為標(biāo)注的實(shí)體概念。
2)汽車領(lǐng)域復(fù)合專有名詞的嵌套標(biāo)注:部件單元實(shí)體中常存在上下級關(guān)系,檢修過程中需要盡可能詳細(xì)描述部件單元的層級關(guān)系,需要標(biāo)注嵌套實(shí)體。例如部件單元實(shí)體“節(jié)氣門位置傳感器”中“位置傳感器”是“氣節(jié)門”的組成部件,因此“氣節(jié)門”也需要標(biāo)注成部件單元。
3)標(biāo)注的粒度和實(shí)體完整性:a)嵌套層數(shù)最多3 層;b)含有字母、數(shù)字等特殊字符的實(shí)體應(yīng)與其他設(shè)備、單位共同標(biāo)注,例如“電動機(jī)C80A”整體標(biāo)注為“設(shè)備單元”且不再拆分成嵌套實(shí)體“電動機(jī)”標(biāo)注;c)同一句子出現(xiàn)別名和簡稱時(shí),只要在句子中標(biāo)出完整實(shí)體,例如句子“檢查主刀控制開關(guān)損壞,更換開關(guān)后正常”中,只需標(biāo)注“主刀控制開關(guān)”為部件單元實(shí)體,其中的“開關(guān)”不需標(biāo)注。
4)部分嵌套實(shí)體標(biāo)注會出現(xiàn)共用描述的現(xiàn)象,例如實(shí)體“開關(guān)和夾爪故障”中,“夾爪故障”失效模式實(shí)體不單獨(dú)標(biāo)注,標(biāo)注其中最長的“開關(guān)和夾爪故障”作為本句中的真實(shí)實(shí)體標(biāo)簽,實(shí)體“清理和緊固夾爪”中,“清理和緊固”作為檢修動作,“清理”和“緊固”不單獨(dú)做標(biāo)注。
命名實(shí)體識別任務(wù)基于跨度的方法[15]通常選取詞語的起始和終止位置的字符分布式表示BERT 詞向量作為下游跨度分類任務(wù)的輸入,在嵌套命名實(shí)體中,多級嵌套實(shí)體的子實(shí)體存在共用終止位置詞向量的現(xiàn)象,例如“空調(diào)壓縮機(jī)”和“壓縮機(jī)”的終止位置特征向量均為“機(jī)”這個(gè)詞的特征編碼,訓(xùn)練時(shí)會造成實(shí)體邊界的混淆,加入分詞特征可以指示出該類實(shí)體的邊界信息。領(lǐng)域?qū)嶓w同時(shí)還存在典型的偏旁特征,例如“線”“閥”“輪”等字常出現(xiàn)在部件單元實(shí)體中,具備“纟”“門”“車”等部首;同時(shí)該類部首通常出現(xiàn)在部件單元實(shí)體的詞尾,將偏旁部首融入字詞編碼可使得模型更專注于學(xué)習(xí)領(lǐng)域常見的組合詞語邊界。本文加入分詞特征以及部首特征以提示模型學(xué)習(xí)更多的實(shí)體邊界信息,同時(shí)學(xué)習(xí)嵌套實(shí)體的詞法組合信息,例如典型的詞綴等信息。
本節(jié)主要介紹預(yù)訓(xùn)練模型編碼、詞性特征編碼和偏旁部首編碼,通過拼接操作得到融合上下文特征和實(shí)體邊界信息的字符表征向量。
3.2.1 預(yù)訓(xùn)練模型編碼
預(yù)訓(xùn)練模型構(gòu)建的字符分布式表示具備豐富的語義特征[18],被廣泛用作下游任務(wù)的模型輸入。傳統(tǒng)word2vec[19]、GloVe(Global Vectors for word representation)[20]等預(yù)訓(xùn)練模型為詞語的靜態(tài)分布式表示,未考慮詞語的相對位置信息,BERT 模型[9]利用Transformer 的編碼器結(jié)構(gòu),通過注意力機(jī)制捕獲每個(gè)字符對上下文的全局依賴,學(xué)習(xí)文本級別的語義信息,近期在多項(xiàng)任務(wù)中取得最好的效果,BERT-wwm 模型[21]基于BERT 進(jìn)行改進(jìn),采用全詞掩蔽的任務(wù),使模型通過覆蓋整個(gè)詞學(xué)習(xí)更強(qiáng)的語義表示能力,本文選用BERTwwm 模型作為句子的編碼(后文用BERT 指代BERT-wwm)。
給定模型的輸入為句子的字符序列C={c1,c2,…,cn},其中ci表示字符序列C中的第i個(gè)字符,n是句子的字符序列長度。對句子的字符序列進(jìn)行編碼得到第i個(gè)字符對應(yīng)的詞向量表征,其中b為BERT 詞向量隱藏層維數(shù),如式(1)所示:
3.2.2 詞性與偏旁特征編碼
特征融合編碼層采用如下方式得到字符序列表征:對于詞性編碼,首先利用LTP(Language Technology Platform)[22]分詞工具對原始句子分詞,對分詞結(jié)果構(gòu)建詞性標(biāo)簽,每個(gè)字符的詞性標(biāo)簽由詞性和“BI”組成,即詞性+“B/I”,其中該詞的起始位置用“B”標(biāo)識,起始位置以外位置用“I”標(biāo)識,例如“機(jī)械臂”三字的詞性標(biāo)簽分別為“n-B”“n-I”“n-I”,對所有詞性標(biāo)簽設(shè)置隨機(jī)種子生成詞性的向量表示,句子中第i個(gè)字符的詞性標(biāo)簽向量表征通過查找詞性向量表而獲得,p為單個(gè)詞性標(biāo)簽的向量表征維數(shù)。
對于部首特征,先查找所有字符對應(yīng)的部首,對所有部首標(biāo)簽設(shè)置隨機(jī)種子生成部首的向量表示,句子中第i個(gè)字符的部首標(biāo)簽向量表征通過查找部首向量表而獲得,r為單個(gè)部首標(biāo)簽的向量表征維數(shù)。
3.2.3 融合編碼
為捕獲部首標(biāo)簽以及詞性標(biāo)簽之間的依賴關(guān)系,對BERT 詞向量、偏旁部首特征向量和詞性特征向量這3 種特征向量進(jìn)行拼接操作,并使用雙向長短期記憶(Bi-directional Long-Short Term Memory,Bi-LSTM)網(wǎng)絡(luò)對拼接后的特征向量進(jìn)行編碼,其中“[;]”表示在最后一維進(jìn)行拼接,最后拼接得到第i個(gè)字符向量表征hi,以上過程如式(2)~(4)所示:
其中:embed 表示通過查表得到相應(yīng)的特征向量,由特征融合得到句子序列中每個(gè)字符的表征hi。
經(jīng)統(tǒng)計(jì)分析,汽車領(lǐng)域部件單元實(shí)體在語料中出現(xiàn)頻率高,且大量部件單元實(shí)體可由特定的詞綴衍生,例如詞綴“燈、管、泵、盒、閥、表、軸、門、機(jī)、膜、器、桿、爐、儀、罐、板、缸、刀、閘、柜、墊、柜”等,實(shí)體尾詞的識別對后續(xù)完整實(shí)體的邊界跨度識別有重要意義,本節(jié)介紹對領(lǐng)域?qū)嶓w尾詞進(jìn)行識別的尾詞識別器結(jié)構(gòu)。
對3.2 節(jié)得到的特征編碼集合H,尾部識別器的輸入集合由如下公式得到:
對應(yīng)字符的尾詞概率計(jì)算如式(6)所示:
式中:k為預(yù)設(shè)參數(shù),表示距第i個(gè)字符的跨度距離;hi-k:i+k表示以第i個(gè)字符為中心各選前后k個(gè)距離為字符邊界的所有字符表征集合;CNN 表示卷積運(yùn)算,運(yùn)算算子為最大池化,[;]為向量拼接操作,MLP 層數(shù)參照文獻(xiàn)[15]中的設(shè)定,由兩層線性層和GELU(Gaussian Error Linear Unit)激活函數(shù)構(gòu)建,Sigmoid 為歸一化函數(shù),用于將字符為尾詞的概率歸一化為0 到1,最后概率大于設(shè)定閾值α?xí)r納入候選尾詞集合中,其中m為尾詞概率大于閾值的尾詞數(shù)量為候選尾詞在句中索引為i時(shí)的向量表征,即對應(yīng)的尾詞表征。
尾詞識別器的損失函數(shù)為二元交叉熵?fù)p失(Binary Cross Entropy Loss,BCELoss)函數(shù),如式(7)所示:
前向邊界識別模塊首先對預(yù)定義的實(shí)體類別進(jìn)行特征構(gòu)建;再基于尾詞識別模塊得到的候選尾詞集合構(gòu)建融合自注意力機(jī)制的尾詞表征并生成前向邊界,得到跨度候選集合;最后利用雙仿射編碼器得到特定實(shí)體標(biāo)簽下的跨度分?jǐn)?shù),確定特定跨度的實(shí)體類別。
3.4.1 實(shí)體類別特征構(gòu)建
在領(lǐng)域命名實(shí)體抽取任務(wù)中,待抽取實(shí)體的標(biāo)簽定義通常符合應(yīng)用場景的需要,具有豐富的專家經(jīng)驗(yàn)知識,因此根據(jù)已定義的實(shí)體類型進(jìn)行語義挖掘可以提供模型先驗(yàn)知識,同時(shí)實(shí)體類別對模型訓(xùn)練的有效性在Li等[23]的工作中得以證明。
先對每一個(gè)實(shí)體類別構(gòu)造相應(yīng)的實(shí)體類別特征,特征的組成由實(shí)體類別中的關(guān)鍵詞以及與該實(shí)體類別的同義概念組成。實(shí)體類別的關(guān)鍵詞與同義概念由領(lǐng)域?qū)I(yè)詞典以及OpenHowNet[24]提供API 獲得,具體特征向量的構(gòu)建方法如下所述:“設(shè)備單元”實(shí)體的關(guān)鍵詞為“設(shè)備”,由專業(yè)詞典以及義原概念檢索再經(jīng)過人工選擇得到同義概念“器具”“裝備”“器械”“器材”等,最后將關(guān)鍵詞和同義概念進(jìn)行詞向量拼接得到拼接向量其中詞向量由Chinese-BERTwwm 得到,type 表示實(shí)體類別標(biāo)簽,若實(shí)體類別數(shù)為e,則構(gòu)造e個(gè)實(shí)體類別特征構(gòu)造表征,|type?|表示實(shí)體標(biāo)簽類型的字符數(shù),ttjype表示特定實(shí)體類型下特征構(gòu)造器中的第j個(gè)字符向量,經(jīng)過雙向長短時(shí)記憶網(wǎng)絡(luò)編碼,得到實(shí)體類別特征構(gòu)造器的原始輸入:
最后利用自注意力機(jī)制計(jì)算注意力權(quán)重,得到句子中特定實(shí)體類別特征構(gòu)造器的自注意力表征具體計(jì)算如下所示:
3.4.2 跨度生成與識別
跨度生成與識別基于標(biāo)簽信息和尾詞表征作先驗(yàn)知識,查找特定范圍內(nèi)的實(shí)體首詞是否能夠和尾詞組成特定實(shí)體類型的實(shí)體,其中查找范圍由超參數(shù)max_span_size指定,相應(yīng)得到尾詞的跨度種子集合如式(10)所示:
實(shí)體第j個(gè)跨度的首字表征由尾詞表征計(jì)算公式得到,基于自注意力機(jī)制的尾詞表征由式(11)得到:
首詞評分含義為在特定實(shí)體標(biāo)簽以及尾詞下,該首詞能和尾詞組成特定實(shí)體類別的實(shí)體跨度的概率,利用ReLU(Rectified Linear Unit)激活函數(shù)處理評分,使模型訓(xùn)練時(shí)更快收斂,最后利用softmax 函數(shù)得到特定實(shí)體類別和尾詞下該跨度的標(biāo)簽概率,計(jì)算如式(13)所示:
訓(xùn)練過程中,如式(14)所示通過最小化負(fù)對數(shù)似然概率來訓(xùn)練模型。
其中S表示枚舉的跨度集合。前向邊界識別器損失函數(shù)采用交叉熵?fù)p失函數(shù),如式(16)所示。
3.4.3 優(yōu)化目標(biāo)
模型優(yōu)化目標(biāo)為尾詞損失和前向邊界損失兩部分構(gòu)成,如式(15)所示:
其中:γ為超參數(shù),用于控制尾詞損失和跨度損失的占比,設(shè)置為0.5表示兩者損失占相同權(quán)重。
預(yù)測時(shí)首詞分?jǐn)?shù)ye(si)大于0.5 時(shí)作為預(yù)測結(jié)果,與尾詞組成特定實(shí)體類型的實(shí)體跨度,如式(16)所示:
其中α為超參數(shù)分?jǐn)?shù)閾值,達(dá)到分?jǐn)?shù)時(shí)進(jìn)行跨度輸出,默認(rèn)值為0.5。
本文選擇汽車工業(yè)故障模式抽取評測公開數(shù)據(jù)集CCL2022(The 21st China National Conference on Computational Linguistics)、人工構(gòu)建的具有嵌套實(shí)體的某企業(yè)汽車生產(chǎn)線故障數(shù)據(jù)集(Fault Data of Automobile Production Line,F(xiàn)DoAPL)、具有嵌套實(shí)體的中文醫(yī)學(xué)文本命名實(shí)體識別數(shù)據(jù)集 CHIP2020(China conference on Health Information Processing)作為實(shí)驗(yàn)對象。汽車評測數(shù)據(jù)來源于CCL2022汽車工業(yè)故障模式抽取評測,數(shù)據(jù)定義了部件單元、性能表征、故障狀態(tài)三類實(shí)體,共3 000 條數(shù)據(jù)。某企業(yè)汽車生產(chǎn)線故障數(shù)據(jù)集FDoAPL 為搜集到的實(shí)際場景記錄的汽車生產(chǎn)故障診斷數(shù)據(jù),將段落內(nèi)容分割成句子作為訓(xùn)練語料,共6類實(shí)體,3 179 條數(shù)據(jù)。為了增加領(lǐng)域公開嵌套實(shí)體數(shù)據(jù)集,引入中文醫(yī)學(xué)文本命名實(shí)體識別數(shù)據(jù)集CHIP2020,它來源于CHIP2020 中文醫(yī)學(xué)文本命名實(shí)體識別評測一數(shù)據(jù)集,數(shù)據(jù)定義了bod、dis、sym、mic、pro、ite、dep、dru、equ 共9 類實(shí)體,共20 000 條數(shù)據(jù)。以上數(shù)據(jù)集劃分成訓(xùn)練集、開發(fā)集和測試集的比例均為8∶1∶1,劃分句子結(jié)果如表2 所示。

表2 數(shù)據(jù)集句子劃分Tab.2 Dataset sentence division
本文實(shí)驗(yàn)使用顯卡型號為NVIDIA 3080Ti,編程語言為Python3.8,深度學(xué)習(xí)框架為Pytorch1.10.2。各數(shù)據(jù)集使用的預(yù)訓(xùn)練模型為Chinese-BERT-wwm-ext,隱藏層維數(shù)為768,特征編碼部分詞性標(biāo)注來自第三方工具LTP,詞性嵌入和偏旁部首嵌入通過隨機(jī)初始化獲得,維數(shù)均為50。模型主要參數(shù)如表3 所示,可根據(jù)句子長度調(diào)整從而降低枚舉跨度數(shù),tail threshold 為尾詞識別器的閾值。

表3 本文模型參數(shù)Tab.3 Parameters of proposed model
本文采用實(shí)體識別的準(zhǔn)確率(Precision,P)、召回率(Recall,R)和兩者的調(diào)和平均值F1 值作為評價(jià)指標(biāo)來評估模型的性能,當(dāng)實(shí)體類別和實(shí)體邊界均正確時(shí)認(rèn)定該實(shí)體識別正確。準(zhǔn)確率、召回率和F1 值計(jì)算公式分別為:
其中:TP為正確預(yù)測出的實(shí)體數(shù),F(xiàn)P為預(yù)測的實(shí)體是非正確實(shí)體的數(shù),F(xiàn)N為未預(yù)測出的實(shí)際標(biāo)注實(shí)體數(shù)。
所對比的基線模型有序列標(biāo)注模型BERT-BiLSTMCRF、基于跨度的PURE、SpERT 模型,其中PURE、SpERT 采用原始代碼默認(rèn)參數(shù),其中batch size 為4,BERT-BiLSTMCRF 模型參數(shù)學(xué)習(xí)率為3×10-6,batch size 為28,隱藏層維度為256,warmup 為0.1,使用BERT-BiLSTM-CRF 模型時(shí)去除嵌套實(shí)體進(jìn)行實(shí)驗(yàn)。將本文模型分別在數(shù)據(jù)集CCL2022、FDoAPL 上實(shí)驗(yàn),并與基線模型進(jìn)行比較,以驗(yàn)證本文模型在汽車領(lǐng)域?qū)嶓w識別中的有效性。
4.3.1 整體結(jié)果
如表4 所示,本節(jié)通過復(fù)現(xiàn)模型的方法得到汽車領(lǐng)域數(shù)據(jù)集在相應(yīng)模型的驗(yàn)證集結(jié)果。

表4 汽車領(lǐng)域?qū)嶓w識別結(jié)果 單位:%Tab.4 Entity recognition results for automotive domain unit:%
本文模型在兩個(gè)數(shù)據(jù)集結(jié)果都優(yōu)于序列標(biāo)注基線模型、基于跨度的實(shí)體抽取模型,在CCL2022、FDoAPL 數(shù)據(jù)集中,F(xiàn)1 值相較序列標(biāo)注、PURE、SpERT 模型分別提高了9.0、5.4、7.3 個(gè)百分點(diǎn)和4.1、1.8、1.6 個(gè)百分點(diǎn),R 分別較基線模型序列標(biāo)注模型、PURE 模型和SpERT 模型分別提升3.5、6.3、3.6個(gè)百分點(diǎn)和3.0、1.0、2.4 個(gè)百分點(diǎn)。序列標(biāo)注BERTBiLSTM-CRF 模型R 與其他模型相比,差異較小,P 較低的原因?yàn)殡y以識別完整長實(shí)體的序列標(biāo)簽。SpERT模型通過改進(jìn)字符編碼表示,利用池化窗豐富了字符的上下文語義表征,在R 上相較于其他模型有一定提升。本文模型在SpERT 編碼基礎(chǔ)上增加了詞性和偏旁特征,同時(shí)利用實(shí)體類別標(biāo)簽特征作為引導(dǎo),達(dá)到了更高的R和F1值。
4.3.2 嵌套實(shí)體識別結(jié)果分析
為驗(yàn)證模型在嵌套實(shí)體識別效果,在CHIP2020 數(shù)據(jù)集進(jìn)行對比實(shí)驗(yàn),統(tǒng)計(jì)FDoAPL、CHIP2020 數(shù)據(jù)集嵌套實(shí)體所占比例如表5 所示。

表5 嵌套實(shí)體比例統(tǒng)計(jì)Tab.5 Proportion statistics of nested entities
FDoAPL 中設(shè)備單元和性能表征包含嵌套實(shí)體總數(shù)82%的嵌套實(shí)體,CHIP2020 中bod 和ite 嵌套實(shí)體占總嵌套實(shí)體數(shù)的92.6%,對該類嵌套實(shí)體的識別準(zhǔn)確率對于整體嵌套實(shí)體識別效果有重要影響。
模型對于嵌套實(shí)體識別結(jié)果如表6 所示,分析可見,PURE、SpERT 模型對于嵌套實(shí)體識別能力較差,在FDoAPL數(shù)據(jù)集中F1 值分別為35.6%、40.6%,在嵌套實(shí)體數(shù)多的CHIP2020 數(shù)據(jù)集中分別為19.1%、31.5%,訓(xùn)練集中過多長實(shí)體標(biāo)簽使得模型更注重識別完整長實(shí)體,同時(shí)由于數(shù)據(jù)中實(shí)體類別分布不均引入的長尾問題,使模型更注重學(xué)習(xí)識別某類長實(shí)體,而對其中嵌入的短實(shí)體識別不準(zhǔn)確,對長實(shí)體中的嵌套實(shí)體邊界識別不準(zhǔn)。傳統(tǒng)的基于跨度的方法基于跨度的首字符和尾字符構(gòu)造跨度表征再進(jìn)行分類,未注重學(xué)習(xí)短嵌套實(shí)體的邊界信息,本文模型加入詞性和偏旁特征,引入各類實(shí)體的邊界信息,同時(shí)CNN 操作更好地聚合字符的鄰域特征,對每個(gè)實(shí)體類別都構(gòu)建特征構(gòu)造器,解決了數(shù)據(jù)分布不均導(dǎo)致模型側(cè)重學(xué)習(xí)訓(xùn)練樣本多的實(shí)體特征的問題,在兩數(shù)據(jù)集中嵌套實(shí)體F1 值相較PURE 和SpERT 模型分別提高了13.3、8.3 個(gè)百分點(diǎn)和21.7、9.3 個(gè)百分點(diǎn)。

表6 嵌套實(shí)體識別結(jié)果 單位:%Tab.6 Nested entity recognition results unit:%
4.3.3 不同實(shí)體長度實(shí)體識別結(jié)果分析
將實(shí)體長度分為三組分析F1 分?jǐn)?shù),結(jié)果如表7 所示,長度L為實(shí)體字符數(shù)。PURE 模型、SpERT 模型以及本文模型對于短實(shí)體識別效果差異不大,當(dāng)實(shí)體長度L大于10 時(shí),PURE 模型、SpERT 模型兩者F1 值均出現(xiàn)明顯下降,尤其是PURE 模型,在3 個(gè)數(shù)據(jù)集中分別僅有30.4%、30.8%、17.6%的F1 值。PURE 模型超參數(shù)最大跨度長度設(shè)置過大會導(dǎo)致模型訓(xùn)練計(jì)算量大幅增加,設(shè)置過小導(dǎo)致長實(shí)體識別F1 值明顯下降。結(jié)果顯示本文模型在3 個(gè)數(shù)據(jù)集中長實(shí)體識別效果比PURE 模型和SpERT 模型均有超過5 個(gè)百分點(diǎn)的提高。

表7 3個(gè)數(shù)據(jù)集中不同模型不同實(shí)體長度的F1值對比Tab.7 Comparison of F1 values for different models with different entity lengths in 3 datasets
4.3.4 超參數(shù)對模型的影響
1)候選跨度長度。
max_span_size指已知尾詞和實(shí)體類型,識別跨度首詞構(gòu)造種子跨度所允許的最大候選跨度長度。在本次任務(wù)所給定的數(shù)據(jù)集中所統(tǒng)計(jì)的最大跨度長度為17,即得到最大跨度長度的候選首詞對模型進(jìn)行訓(xùn)練與預(yù)測。在實(shí)驗(yàn)中,隨著最大跨度長度的增加,實(shí)體的召回率有明顯提高,部分較長的實(shí)體被正確預(yù)測,但整體F1 值略微降低,實(shí)驗(yàn)對比結(jié)果如圖2 所示。分析結(jié)果下降的原因?yàn)椋洪L度較大的實(shí)體為長尾實(shí)體,訓(xùn)練不充分使得長尾實(shí)體的預(yù)測準(zhǔn)確率不高,并且對長跨度負(fù)例實(shí)體的訓(xùn)練引入噪聲信息,對整體準(zhǔn)確度帶來了影響;同時(shí)過短的跨度長度使較多長實(shí)體正例無法訓(xùn)練,導(dǎo)致F1 值降低。當(dāng)最大跨度選為11 時(shí)得到最高F1 值。

圖2 FDoAPL數(shù)據(jù)集候選跨度變化結(jié)果Fig.2 Results of candidate span change for FDoAPL dataset
2)尾詞閾值設(shè)置。
對于尾詞識別器識別實(shí)體尾詞的分?jǐn)?shù)閾值決定最終候選跨度的數(shù):過多的候選尾詞引入會導(dǎo)致最終識別出較多的實(shí)體跨度,增加最終實(shí)體分類器的識別壓力,增加了推理時(shí)間;過少的候選尾詞會篩除真實(shí)的尾詞,進(jìn)而導(dǎo)致誤差的傳播以及無法識別正確的候選實(shí)體,因此選取合適的尾詞閾值分?jǐn)?shù)極為重要。分析尾詞分?jǐn)?shù)閾值對于最后結(jié)果的影響如圖3 所示。閾值越高,R 會有所降低,因?yàn)楹蜻x尾詞數(shù)減少,P 先提高后降低,在閾值為0.6 時(shí)取到最高F1 值。

圖3 FDoAPL數(shù)據(jù)集尾詞閾值變化結(jié)果Fig.3 Results of changes in tail word threshold of FDoAPL dataset
4.3.5 消融實(shí)驗(yàn)
為了測試ECE-NER 模型中模塊有效性,本文在FDoAPL數(shù)據(jù)集中做消融實(shí)驗(yàn),分別刪除句法特征、實(shí)體標(biāo)簽特征構(gòu)造、字符向量編碼CNN 池化操作,得到實(shí)驗(yàn)結(jié)果如表8 所示。

表8 消融實(shí)驗(yàn)結(jié)果 單位:%Tab.8 Results of ablation experiment unit:%
1)句法特征。在FDoAPL 數(shù)據(jù)中,詞性與偏旁特征可以引入語義以外的句式組合特征與領(lǐng)域特性明顯的詞綴信息,移除詞性特征與偏旁特征后,模型整體F1 值下降了0.6 個(gè)百分點(diǎn),嵌套實(shí)體的F1 值下降0.3 個(gè)百分點(diǎn),實(shí)體長度大于10的實(shí)體F1 值下降0.5 個(gè)百分點(diǎn),驗(yàn)證了引入詞性特征與偏旁特征對領(lǐng)域命名實(shí)體抽取效果有提升。
2)實(shí)體標(biāo)簽特征構(gòu)造器。為驗(yàn)證引入實(shí)體標(biāo)簽先驗(yàn)知識的有效性,消融實(shí)驗(yàn)采取的方法為構(gòu)造與原始實(shí)體標(biāo)簽特征向量同維度的|type?|個(gè)隨機(jī)向量,|type?|為實(shí)體類別數(shù)。移除特征構(gòu)造器后,模型的P、R、F1 值分別下降了1.5、2.6、2 個(gè)百分點(diǎn),嵌套實(shí)體的F1 值下降2.5 個(gè)百分點(diǎn),實(shí)體長度大于10 的實(shí)體F1 值下降7.2 個(gè)百分點(diǎn),引入基于義原的領(lǐng)域?qū)嶓w標(biāo)簽構(gòu)造器輔助前向邊界識別特定實(shí)體類型的實(shí)體首詞,顯著提高了領(lǐng)域嵌套實(shí)體以及長實(shí)體的識別效果。
3)采用CNN 對字符向量進(jìn)行編碼。利用CNN 池化操作對字符向量進(jìn)行編碼可以提取一定范圍的鄰域信息,能進(jìn)一步獲取文本的語義特征,去除池化窗后模型的F1 值下降了0.8 個(gè)百分點(diǎn),嵌套實(shí)體的F1 值下降1.6 個(gè)百分點(diǎn),實(shí)體長度大于10 的實(shí)體F1 值下降2.6 個(gè)百分點(diǎn),證明了CNN 池化操作聚合鄰域信息,提升了字符表征能力,對后續(xù)尾詞識別器和前向邊界識別器識別實(shí)體效果有一定提升。
針對汽車領(lǐng)域特定文本中存在的嵌套實(shí)體識別問題,本文選取了數(shù)據(jù)量大、應(yīng)用場景豐富的汽車故障診斷數(shù)據(jù)作為分析的語料,并結(jié)合語料特征針對嵌套實(shí)體問題設(shè)計(jì)了標(biāo)注規(guī)則,最后提出一種基于跨度和實(shí)體類別增強(qiáng)的嵌套命名實(shí)體識別方法,在汽車故障診斷數(shù)據(jù)集上取得了較好的效果,并在公開的醫(yī)療領(lǐng)域CHIP2020 和CCL2022 評測數(shù)據(jù)集中進(jìn)行補(bǔ)充實(shí)驗(yàn),驗(yàn)證了本方法在垂直領(lǐng)域數(shù)據(jù)集中的可行性,說明了本方法在嵌套實(shí)體命名實(shí)體識別任務(wù)以及長實(shí)體識別中的有效性。但由于模型是先識別尾詞再識別特定尾詞和實(shí)體標(biāo)簽的實(shí)體首詞,從而得到給定實(shí)體標(biāo)簽的實(shí)體,因此存在誤差傳播問題。下一步將分析垂直領(lǐng)域數(shù)據(jù)的語法信息等領(lǐng)域特征,同時(shí)進(jìn)一步改進(jìn)融合領(lǐng)域特征的跨度表征,融合兩任務(wù)的共享參數(shù)學(xué)習(xí),降低誤差傳播對模型結(jié)果帶來的影響。