黃子麒,胡建鵬
(上海工程技術大學 電子電氣工程學院,上海 201620)
汽車產業(yè)作為智能制造規(guī)劃中的重要產業(yè),受到工業(yè)界智能制造研究的廣泛關注,自然語言處理和深度學習技術為其中知識挖掘提供了重要支撐。汽車產業(yè)匯聚了工業(yè)產品全生命周期設計研發(fā)、供應鏈、生產制造和維修運維等各個環(huán)節(jié)的數據,具有產業(yè)鏈復雜、業(yè)務邏輯多等特點,同時具備工業(yè)領域的數據多源、知識表征異構等特征,能作為工業(yè)典型數據進行分析,設計適用于汽車領域的通用命名實體識別(Named Entity Recognition,NER)模型是工業(yè)數字化轉型中的一大挑戰(zhàn)。
NER 是信息抽取的任務之一,旨在識別代表某類實體的文本跨度,并給定預先定義的類別,通用領域常用于識別人名、地名和組織名等,是自然語言處理技術關系抽?。?]、問答系統(tǒng)[2]和信息檢索[3]等下游應用的關鍵支撐。現有的研究大多針對通用領域數據,同時在農業(yè)[4]、電網[5]等垂直領域也已取得較好的進展。以上領域數據標注歧義少,實體通常結構扁平且構成規(guī)則簡單,因此實體識別效果較好。而汽車領域復雜的業(yè)務場景對實體識別提出了新的要求,實體組成結構復雜、實體標簽不一致和樣本不平衡等問題使得汽車領域實體抽取結果不理想。整車與零部件產品的從屬關系、汽車裝配中電氣系統(tǒng)和動力系統(tǒng)的上下級關系引入了復雜的語義關系,帶來了嵌套實體識別問題。汽車領域NER 的研究近年集中在基于序列的方法[6-7],并未針對嵌套實體識別進行模型設計,挖掘上下文豐富語義信息和解決嵌套實體識別問題對于汽車領域NER 意義重大。
本文圍繞汽車故障診斷與維修文本實體抽取數據,提出一種基于跨度的實體類別增強實體抽取模型來完成汽車領域的嵌套命名實體識別任務。本文的主要貢獻有:1)設計了領域數據的特征融合方法;2)提出了基于注意力機制的實體類別增強方法,提升了在領域數據嵌套實體和長實體命名實體識別的效果;3)通過多個角度的實驗驗證了本文模型在汽車領域實體識別的優(yōu)勢。
在NER 中應用的技術主要有4 種:基于規(guī)則的方法、無監(jiān)督學習方法、基于特征的監(jiān)督學習方法和基于深度學習的方法[8],隨著BERT(Bidirectional Encoder Representation from Transformers)[9]的提出,近年來基于預訓練模型的深度學習方法在許多自然語言處理任務上取得了較先進的性能。基于深度學習的嵌套NER 的常用方法按模型結構主要分為基于超圖的方法、基于序列的方法和基于跨度的方法。
基于超圖的方法利用超圖結構有效保存對象之間的多元關聯關系,能較好地解決嵌套命名實體標簽網絡中一條邊包含多節(jié)點的問題。Lu 等[10]使用超圖建模實體節(jié)點跨度,進而抽取嵌套實體;Katiyar 等[11]針對識別嵌套命名實體提出一種基于BILOU 標記方案的超圖表示方法,并通過雙向長短時記憶(Bi-directional Long Short-Term Memory,Bi-LSTM)網絡對超圖的邊概率進行建模,進一步改進了超圖的表示。但在設計超圖結構時需要大量人力,不同領域數據結構不一樣導致通用領域模型較難設計,同時復雜的結構增加了解碼的難度,且超圖無法對嵌套實體之間的依賴進行編碼,丟失了細粒度信息。
基于序列的方法采用序列模型輸出扁平化的命名實體,條件隨機場(Conditional Random Field,CRF)作為一種無向圖模型常作為NER 任務的解碼模塊。例如BERT-BiLSTMCRF[12]模型,近期為處理嵌套實體的問題,序列模型的結構被重新設計。Ju 等[13]提出了一種動態(tài)堆疊平面NER 層的Layered-BiLSTM-CRF 模型,由內層到外層逐層識別實體。新的標簽策略解決了傳統(tǒng)序列標注模型無法識別嵌套實體的問題,但受限于模型本身,序列標注模型無法并行訓練,枚舉、堆疊所有可能的標簽類型導致標簽分布稀疏、模型較難訓練和解碼耗時過長等問題。
基于跨度的方法將實體識別定義為實體跨度分類問題,由于劃分跨度包含所有潛在實體,因此可以解碼并識別嵌套實體,由于領域實體存在較多長實體,基于跨度的方法識別工業(yè)長實體也具備一定優(yōu)勢。近期,基于跨度的方法受到廣泛研究,Sohrab 等[14]、Zhong 等[15]提出的PURE(Princeton University Relation Extraction)模型、Eberts 等[16]提出的SpERT(Span-based Entity and Relation Transformer)模型通過在文本中枚舉有限長度內的所有跨度,通過分類器得到所有候選跨度的實體類別標簽,驗證了不同預訓練模型、不同級別的跨度表征方法對于實體識別的影響。以上基于跨度的命名實體識別方法主要存在以下問題:1)枚舉限定長度的跨度會引入大量低質量跨度,計算成本高,限定跨度長度對長實體識別效果較差;2)簡單利用字符向量表征跨度忽略跨度邊界信息,無法準確定位實體邊界,以上方法均未引入實體類別的先驗知識;3)未針對數據集普遍存在的嵌套實體問題進行設計,內部嵌套實體在外部實體中的起始位置會影響跨度表征,影響實體識別準確率。針對以上問題,本文提出基于跨度與實體類別增強的嵌套命名實體識別方法。
針對通用模型在領域數據中存在的嵌套實體識別和長實體識別效果不佳的問題,本文提出融合語法信息、實體類別特征增強(Entity Category Enhanced NER,ECE-NER)模型,融入領域知識對汽車領域文本進行NER。方法概要如圖1 所示。核心模塊主要分為:
1)數據預處理和標注。主要清洗收集的汽車領域數據,定義實體類型,制定嵌套實體標注規(guī)則完成數據標注。
2)模型。主要包括:
a)特征融合編碼層。利用BERT 預訓練模型以及構造好的詞性特征、偏旁特征進行特征融合編碼。
b)尾詞識別器。利用多層感知機(Multi-Layer Perceptron,MLP)得到句子尾詞概率,從而得到實體尾詞索引集合。
c)前向邊界識別器。由實體類別特征構造和跨度生成與識別兩部分組成。其中實體類別特征構造利用先驗實體標簽知識以及義原分析構造特征,基于自注意力機制得到融合實體類別特征的尾詞向量表征;跨度生成與識別基于候選尾詞生成候選跨度,跨度經過雙仿射編碼得到特定尾詞的首詞概率,從而確定特定尾詞和實體類型的實體跨度。
本文模型將實體識別任務拆解成兩個優(yōu)化目標,分別是實體尾詞損失和前向邊界識別損失。
汽車領域目前尚未有較高質量的公開數據集,汽車故障診斷與維修是我國汽車產業(yè)中重要部分。隨著信息技術和業(yè)務規(guī)模不斷發(fā)展,企業(yè)累積了海量的業(yè)務數據,同時業(yè)務數據復雜,可用于工業(yè)領域知識抽取的研究。本文從大型汽車企業(yè)收集到實際生產過程中記錄的汽車故障診斷文本語料數據,共3 547 段汽車生產線故障診斷的文字描述,每段文字包含了問題描述、操作步驟和解決方案等豐富的場景信息。為了保障語料質量,消除句子中與該領域實體識別無關的文本,針對語料進行預處理操作,刪除了標號、空格等無用的文本內容,同時規(guī)范化文本,補充了記錄時省略的部件名稱等信息。預處理后的原始數據未標注,沒有定義實體類型,不能直接用于模型訓練。為了使實體類別以及模型適用于汽車領域其他文本,本文結合專家經驗定義實體,有6 類實體:設備單元、設備功能、檢修動作、檢修工具、失效模式和設備屬性,具體實例與實體數量如表1 所示。
表1 汽車故障文本實體定義Tab.1 Text entity definition of automobile fault
根據命名實體中是否包含其他實體,將命名實體分為簡單結構實體和嵌套命名實體:簡單結構實體指內部不包含其他實體,例如“電機”表示一個部件單元實體;嵌套命名實體指一個實體內部嵌套一個或多個命名實體,在汽車領域通常由于設備單元的層級關系、失效模式帶有性能描述及設備、屬性描述等引入嵌套實體,其中問題描述、解決方案等實際場景描述存在大量嵌套實體,例如“伺服電機控制回路”中“伺服電機”作為設備單元,“伺服電機控制回路”也是一個設備單元,“氣體壓力降至告警值”為失效模式,“氣體壓力”為性能表征。
參考文獻[17]并結合汽車故障診斷語料的數據獲取場景,制定如下標注規(guī)則以及標注細節(jié):
1)標注的專有名詞是具體的、特定的,而不是抽象的、泛指的,并且標注的實體需要符合實際應用場景,例如“線”“液體”“檢查”“裝置”“機器”等不視為標注的實體概念。
2)汽車領域復合專有名詞的嵌套標注:部件單元實體中常存在上下級關系,檢修過程中需要盡可能詳細描述部件單元的層級關系,需要標注嵌套實體。例如部件單元實體“節(jié)氣門位置傳感器”中“位置傳感器”是“氣節(jié)門”的組成部件,因此“氣節(jié)門”也需要標注成部件單元。
3)標注的粒度和實體完整性:a)嵌套層數最多3 層;b)含有字母、數字等特殊字符的實體應與其他設備、單位共同標注,例如“電動機C80A”整體標注為“設備單元”且不再拆分成嵌套實體“電動機”標注;c)同一句子出現別名和簡稱時,只要在句子中標出完整實體,例如句子“檢查主刀控制開關損壞,更換開關后正?!敝?,只需標注“主刀控制開關”為部件單元實體,其中的“開關”不需標注。
4)部分嵌套實體標注會出現共用描述的現象,例如實體“開關和夾爪故障”中,“夾爪故障”失效模式實體不單獨標注,標注其中最長的“開關和夾爪故障”作為本句中的真實實體標簽,實體“清理和緊固夾爪”中,“清理和緊固”作為檢修動作,“清理”和“緊固”不單獨做標注。
命名實體識別任務基于跨度的方法[15]通常選取詞語的起始和終止位置的字符分布式表示BERT 詞向量作為下游跨度分類任務的輸入,在嵌套命名實體中,多級嵌套實體的子實體存在共用終止位置詞向量的現象,例如“空調壓縮機”和“壓縮機”的終止位置特征向量均為“機”這個詞的特征編碼,訓練時會造成實體邊界的混淆,加入分詞特征可以指示出該類實體的邊界信息。領域實體同時還存在典型的偏旁特征,例如“線”“閥”“輪”等字常出現在部件單元實體中,具備“纟”“門”“車”等部首;同時該類部首通常出現在部件單元實體的詞尾,將偏旁部首融入字詞編碼可使得模型更專注于學習領域常見的組合詞語邊界。本文加入分詞特征以及部首特征以提示模型學習更多的實體邊界信息,同時學習嵌套實體的詞法組合信息,例如典型的詞綴等信息。
本節(jié)主要介紹預訓練模型編碼、詞性特征編碼和偏旁部首編碼,通過拼接操作得到融合上下文特征和實體邊界信息的字符表征向量。
3.2.1 預訓練模型編碼
預訓練模型構建的字符分布式表示具備豐富的語義特征[18],被廣泛用作下游任務的模型輸入。傳統(tǒng)word2vec[19]、GloVe(Global Vectors for word representation)[20]等預訓練模型為詞語的靜態(tài)分布式表示,未考慮詞語的相對位置信息,BERT 模型[9]利用Transformer 的編碼器結構,通過注意力機制捕獲每個字符對上下文的全局依賴,學習文本級別的語義信息,近期在多項任務中取得最好的效果,BERT-wwm 模型[21]基于BERT 進行改進,采用全詞掩蔽的任務,使模型通過覆蓋整個詞學習更強的語義表示能力,本文選用BERTwwm 模型作為句子的編碼(后文用BERT 指代BERT-wwm)。
給定模型的輸入為句子的字符序列C={c1,c2,…,cn},其中ci表示字符序列C中的第i個字符,n是句子的字符序列長度。對句子的字符序列進行編碼得到第i個字符對應的詞向量表征,其中b為BERT 詞向量隱藏層維數,如式(1)所示:
3.2.2 詞性與偏旁特征編碼
特征融合編碼層采用如下方式得到字符序列表征:對于詞性編碼,首先利用LTP(Language Technology Platform)[22]分詞工具對原始句子分詞,對分詞結果構建詞性標簽,每個字符的詞性標簽由詞性和“BI”組成,即詞性+“B/I”,其中該詞的起始位置用“B”標識,起始位置以外位置用“I”標識,例如“機械臂”三字的詞性標簽分別為“n-B”“n-I”“n-I”,對所有詞性標簽設置隨機種子生成詞性的向量表示,句子中第i個字符的詞性標簽向量表征通過查找詞性向量表而獲得,p為單個詞性標簽的向量表征維數。
對于部首特征,先查找所有字符對應的部首,對所有部首標簽設置隨機種子生成部首的向量表示,句子中第i個字符的部首標簽向量表征通過查找部首向量表而獲得,r為單個部首標簽的向量表征維數。
3.2.3 融合編碼
為捕獲部首標簽以及詞性標簽之間的依賴關系,對BERT 詞向量、偏旁部首特征向量和詞性特征向量這3 種特征向量進行拼接操作,并使用雙向長短期記憶(Bi-directional Long-Short Term Memory,Bi-LSTM)網絡對拼接后的特征向量進行編碼,其中“[;]”表示在最后一維進行拼接,最后拼接得到第i個字符向量表征hi,以上過程如式(2)~(4)所示:
其中:embed 表示通過查表得到相應的特征向量,由特征融合得到句子序列中每個字符的表征hi。
經統(tǒng)計分析,汽車領域部件單元實體在語料中出現頻率高,且大量部件單元實體可由特定的詞綴衍生,例如詞綴“燈、管、泵、盒、閥、表、軸、門、機、膜、器、桿、爐、儀、罐、板、缸、刀、閘、柜、墊、柜”等,實體尾詞的識別對后續(xù)完整實體的邊界跨度識別有重要意義,本節(jié)介紹對領域實體尾詞進行識別的尾詞識別器結構。
對3.2 節(jié)得到的特征編碼集合H,尾部識別器的輸入集合由如下公式得到:
對應字符的尾詞概率計算如式(6)所示:
式中:k為預設參數,表示距第i個字符的跨度距離;hi-k:i+k表示以第i個字符為中心各選前后k個距離為字符邊界的所有字符表征集合;CNN 表示卷積運算,運算算子為最大池化,[;]為向量拼接操作,MLP 層數參照文獻[15]中的設定,由兩層線性層和GELU(Gaussian Error Linear Unit)激活函數構建,Sigmoid 為歸一化函數,用于將字符為尾詞的概率歸一化為0 到1,最后概率大于設定閾值α時納入候選尾詞集合中,其中m為尾詞概率大于閾值的尾詞數量為候選尾詞在句中索引為i時的向量表征,即對應的尾詞表征。
尾詞識別器的損失函數為二元交叉熵損失(Binary Cross Entropy Loss,BCELoss)函數,如式(7)所示:
前向邊界識別模塊首先對預定義的實體類別進行特征構建;再基于尾詞識別模塊得到的候選尾詞集合構建融合自注意力機制的尾詞表征并生成前向邊界,得到跨度候選集合;最后利用雙仿射編碼器得到特定實體標簽下的跨度分數,確定特定跨度的實體類別。
3.4.1 實體類別特征構建
在領域命名實體抽取任務中,待抽取實體的標簽定義通常符合應用場景的需要,具有豐富的專家經驗知識,因此根據已定義的實體類型進行語義挖掘可以提供模型先驗知識,同時實體類別對模型訓練的有效性在Li等[23]的工作中得以證明。
先對每一個實體類別構造相應的實體類別特征,特征的組成由實體類別中的關鍵詞以及與該實體類別的同義概念組成。實體類別的關鍵詞與同義概念由領域專業(yè)詞典以及OpenHowNet[24]提供API 獲得,具體特征向量的構建方法如下所述:“設備單元”實體的關鍵詞為“設備”,由專業(yè)詞典以及義原概念檢索再經過人工選擇得到同義概念“器具”“裝備”“器械”“器材”等,最后將關鍵詞和同義概念進行詞向量拼接得到拼接向量其中詞向量由Chinese-BERTwwm 得到,type 表示實體類別標簽,若實體類別數為e,則構造e個實體類別特征構造表征,|type?|表示實體標簽類型的字符數,ttjype表示特定實體類型下特征構造器中的第j個字符向量,經過雙向長短時記憶網絡編碼,得到實體類別特征構造器的原始輸入:
最后利用自注意力機制計算注意力權重,得到句子中特定實體類別特征構造器的自注意力表征具體計算如下所示:
3.4.2 跨度生成與識別
跨度生成與識別基于標簽信息和尾詞表征作先驗知識,查找特定范圍內的實體首詞是否能夠和尾詞組成特定實體類型的實體,其中查找范圍由超參數max_span_size指定,相應得到尾詞的跨度種子集合如式(10)所示:
實體第j個跨度的首字表征由尾詞表征計算公式得到,基于自注意力機制的尾詞表征由式(11)得到:
首詞評分含義為在特定實體標簽以及尾詞下,該首詞能和尾詞組成特定實體類別的實體跨度的概率,利用ReLU(Rectified Linear Unit)激活函數處理評分,使模型訓練時更快收斂,最后利用softmax 函數得到特定實體類別和尾詞下該跨度的標簽概率,計算如式(13)所示:
訓練過程中,如式(14)所示通過最小化負對數似然概率來訓練模型。
其中S表示枚舉的跨度集合。前向邊界識別器損失函數采用交叉熵損失函數,如式(16)所示。
3.4.3 優(yōu)化目標
模型優(yōu)化目標為尾詞損失和前向邊界損失兩部分構成,如式(15)所示:
其中:γ為超參數,用于控制尾詞損失和跨度損失的占比,設置為0.5表示兩者損失占相同權重。
預測時首詞分數ye(si)大于0.5 時作為預測結果,與尾詞組成特定實體類型的實體跨度,如式(16)所示:
其中α為超參數分數閾值,達到分數時進行跨度輸出,默認值為0.5。
本文選擇汽車工業(yè)故障模式抽取評測公開數據集CCL2022(The 21st China National Conference on Computational Linguistics)、人工構建的具有嵌套實體的某企業(yè)汽車生產線故障數據集(Fault Data of Automobile Production Line,FDoAPL)、具有嵌套實體的中文醫(yī)學文本命名實體識別數據集 CHIP2020(China conference on Health Information Processing)作為實驗對象。汽車評測數據來源于CCL2022汽車工業(yè)故障模式抽取評測,數據定義了部件單元、性能表征、故障狀態(tài)三類實體,共3 000 條數據。某企業(yè)汽車生產線故障數據集FDoAPL 為搜集到的實際場景記錄的汽車生產故障診斷數據,將段落內容分割成句子作為訓練語料,共6類實體,3 179 條數據。為了增加領域公開嵌套實體數據集,引入中文醫(yī)學文本命名實體識別數據集CHIP2020,它來源于CHIP2020 中文醫(yī)學文本命名實體識別評測一數據集,數據定義了bod、dis、sym、mic、pro、ite、dep、dru、equ 共9 類實體,共20 000 條數據。以上數據集劃分成訓練集、開發(fā)集和測試集的比例均為8∶1∶1,劃分句子結果如表2 所示。
表2 數據集句子劃分Tab.2 Dataset sentence division
本文實驗使用顯卡型號為NVIDIA 3080Ti,編程語言為Python3.8,深度學習框架為Pytorch1.10.2。各數據集使用的預訓練模型為Chinese-BERT-wwm-ext,隱藏層維數為768,特征編碼部分詞性標注來自第三方工具LTP,詞性嵌入和偏旁部首嵌入通過隨機初始化獲得,維數均為50。模型主要參數如表3 所示,可根據句子長度調整從而降低枚舉跨度數,tail threshold 為尾詞識別器的閾值。
表3 本文模型參數Tab.3 Parameters of proposed model
本文采用實體識別的準確率(Precision,P)、召回率(Recall,R)和兩者的調和平均值F1 值作為評價指標來評估模型的性能,當實體類別和實體邊界均正確時認定該實體識別正確。準確率、召回率和F1 值計算公式分別為:
其中:TP為正確預測出的實體數,FP為預測的實體是非正確實體的數,FN為未預測出的實際標注實體數。
所對比的基線模型有序列標注模型BERT-BiLSTMCRF、基于跨度的PURE、SpERT 模型,其中PURE、SpERT 采用原始代碼默認參數,其中batch size 為4,BERT-BiLSTMCRF 模型參數學習率為3×10-6,batch size 為28,隱藏層維度為256,warmup 為0.1,使用BERT-BiLSTM-CRF 模型時去除嵌套實體進行實驗。將本文模型分別在數據集CCL2022、FDoAPL 上實驗,并與基線模型進行比較,以驗證本文模型在汽車領域實體識別中的有效性。
4.3.1 整體結果
如表4 所示,本節(jié)通過復現模型的方法得到汽車領域數據集在相應模型的驗證集結果。
表4 汽車領域實體識別結果 單位:%Tab.4 Entity recognition results for automotive domain unit:%
本文模型在兩個數據集結果都優(yōu)于序列標注基線模型、基于跨度的實體抽取模型,在CCL2022、FDoAPL 數據集中,F1 值相較序列標注、PURE、SpERT 模型分別提高了9.0、5.4、7.3 個百分點和4.1、1.8、1.6 個百分點,R 分別較基線模型序列標注模型、PURE 模型和SpERT 模型分別提升3.5、6.3、3.6個百分點和3.0、1.0、2.4 個百分點。序列標注BERTBiLSTM-CRF 模型R 與其他模型相比,差異較小,P 較低的原因為難以識別完整長實體的序列標簽。SpERT模型通過改進字符編碼表示,利用池化窗豐富了字符的上下文語義表征,在R 上相較于其他模型有一定提升。本文模型在SpERT 編碼基礎上增加了詞性和偏旁特征,同時利用實體類別標簽特征作為引導,達到了更高的R和F1值。
4.3.2 嵌套實體識別結果分析
為驗證模型在嵌套實體識別效果,在CHIP2020 數據集進行對比實驗,統(tǒng)計FDoAPL、CHIP2020 數據集嵌套實體所占比例如表5 所示。
表5 嵌套實體比例統(tǒng)計Tab.5 Proportion statistics of nested entities
FDoAPL 中設備單元和性能表征包含嵌套實體總數82%的嵌套實體,CHIP2020 中bod 和ite 嵌套實體占總嵌套實體數的92.6%,對該類嵌套實體的識別準確率對于整體嵌套實體識別效果有重要影響。
模型對于嵌套實體識別結果如表6 所示,分析可見,PURE、SpERT 模型對于嵌套實體識別能力較差,在FDoAPL數據集中F1 值分別為35.6%、40.6%,在嵌套實體數多的CHIP2020 數據集中分別為19.1%、31.5%,訓練集中過多長實體標簽使得模型更注重識別完整長實體,同時由于數據中實體類別分布不均引入的長尾問題,使模型更注重學習識別某類長實體,而對其中嵌入的短實體識別不準確,對長實體中的嵌套實體邊界識別不準。傳統(tǒng)的基于跨度的方法基于跨度的首字符和尾字符構造跨度表征再進行分類,未注重學習短嵌套實體的邊界信息,本文模型加入詞性和偏旁特征,引入各類實體的邊界信息,同時CNN 操作更好地聚合字符的鄰域特征,對每個實體類別都構建特征構造器,解決了數據分布不均導致模型側重學習訓練樣本多的實體特征的問題,在兩數據集中嵌套實體F1 值相較PURE 和SpERT 模型分別提高了13.3、8.3 個百分點和21.7、9.3 個百分點。
表6 嵌套實體識別結果 單位:%Tab.6 Nested entity recognition results unit:%
4.3.3 不同實體長度實體識別結果分析
將實體長度分為三組分析F1 分數,結果如表7 所示,長度L為實體字符數。PURE 模型、SpERT 模型以及本文模型對于短實體識別效果差異不大,當實體長度L大于10 時,PURE 模型、SpERT 模型兩者F1 值均出現明顯下降,尤其是PURE 模型,在3 個數據集中分別僅有30.4%、30.8%、17.6%的F1 值。PURE 模型超參數最大跨度長度設置過大會導致模型訓練計算量大幅增加,設置過小導致長實體識別F1 值明顯下降。結果顯示本文模型在3 個數據集中長實體識別效果比PURE 模型和SpERT 模型均有超過5 個百分點的提高。
表7 3個數據集中不同模型不同實體長度的F1值對比Tab.7 Comparison of F1 values for different models with different entity lengths in 3 datasets
4.3.4 超參數對模型的影響
1)候選跨度長度。
max_span_size指已知尾詞和實體類型,識別跨度首詞構造種子跨度所允許的最大候選跨度長度。在本次任務所給定的數據集中所統(tǒng)計的最大跨度長度為17,即得到最大跨度長度的候選首詞對模型進行訓練與預測。在實驗中,隨著最大跨度長度的增加,實體的召回率有明顯提高,部分較長的實體被正確預測,但整體F1 值略微降低,實驗對比結果如圖2 所示。分析結果下降的原因為:長度較大的實體為長尾實體,訓練不充分使得長尾實體的預測準確率不高,并且對長跨度負例實體的訓練引入噪聲信息,對整體準確度帶來了影響;同時過短的跨度長度使較多長實體正例無法訓練,導致F1 值降低。當最大跨度選為11 時得到最高F1 值。
圖2 FDoAPL數據集候選跨度變化結果Fig.2 Results of candidate span change for FDoAPL dataset
2)尾詞閾值設置。
對于尾詞識別器識別實體尾詞的分數閾值決定最終候選跨度的數:過多的候選尾詞引入會導致最終識別出較多的實體跨度,增加最終實體分類器的識別壓力,增加了推理時間;過少的候選尾詞會篩除真實的尾詞,進而導致誤差的傳播以及無法識別正確的候選實體,因此選取合適的尾詞閾值分數極為重要。分析尾詞分數閾值對于最后結果的影響如圖3 所示。閾值越高,R 會有所降低,因為候選尾詞數減少,P 先提高后降低,在閾值為0.6 時取到最高F1 值。
圖3 FDoAPL數據集尾詞閾值變化結果Fig.3 Results of changes in tail word threshold of FDoAPL dataset
4.3.5 消融實驗
為了測試ECE-NER 模型中模塊有效性,本文在FDoAPL數據集中做消融實驗,分別刪除句法特征、實體標簽特征構造、字符向量編碼CNN 池化操作,得到實驗結果如表8 所示。
表8 消融實驗結果 單位:%Tab.8 Results of ablation experiment unit:%
1)句法特征。在FDoAPL 數據中,詞性與偏旁特征可以引入語義以外的句式組合特征與領域特性明顯的詞綴信息,移除詞性特征與偏旁特征后,模型整體F1 值下降了0.6 個百分點,嵌套實體的F1 值下降0.3 個百分點,實體長度大于10的實體F1 值下降0.5 個百分點,驗證了引入詞性特征與偏旁特征對領域命名實體抽取效果有提升。
2)實體標簽特征構造器。為驗證引入實體標簽先驗知識的有效性,消融實驗采取的方法為構造與原始實體標簽特征向量同維度的|type?|個隨機向量,|type?|為實體類別數。移除特征構造器后,模型的P、R、F1 值分別下降了1.5、2.6、2 個百分點,嵌套實體的F1 值下降2.5 個百分點,實體長度大于10 的實體F1 值下降7.2 個百分點,引入基于義原的領域實體標簽構造器輔助前向邊界識別特定實體類型的實體首詞,顯著提高了領域嵌套實體以及長實體的識別效果。
3)采用CNN 對字符向量進行編碼。利用CNN 池化操作對字符向量進行編碼可以提取一定范圍的鄰域信息,能進一步獲取文本的語義特征,去除池化窗后模型的F1 值下降了0.8 個百分點,嵌套實體的F1 值下降1.6 個百分點,實體長度大于10 的實體F1 值下降2.6 個百分點,證明了CNN 池化操作聚合鄰域信息,提升了字符表征能力,對后續(xù)尾詞識別器和前向邊界識別器識別實體效果有一定提升。
針對汽車領域特定文本中存在的嵌套實體識別問題,本文選取了數據量大、應用場景豐富的汽車故障診斷數據作為分析的語料,并結合語料特征針對嵌套實體問題設計了標注規(guī)則,最后提出一種基于跨度和實體類別增強的嵌套命名實體識別方法,在汽車故障診斷數據集上取得了較好的效果,并在公開的醫(yī)療領域CHIP2020 和CCL2022 評測數據集中進行補充實驗,驗證了本方法在垂直領域數據集中的可行性,說明了本方法在嵌套實體命名實體識別任務以及長實體識別中的有效性。但由于模型是先識別尾詞再識別特定尾詞和實體標簽的實體首詞,從而得到給定實體標簽的實體,因此存在誤差傳播問題。下一步將分析垂直領域數據的語法信息等領域特征,同時進一步改進融合領域特征的跨度表征,融合兩任務的共享參數學習,降低誤差傳播對模型結果帶來的影響。