蘇展鵬 李洋 張婷婷 讓冉 張龍波 蔡紅珍 邢林林③
(?山東理工大學(xué)農(nóng)業(yè)工程與食品科學(xué)學(xué)院 淄博255000)
(??山東理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院 淄博255000)
命名實體識別作為自然語言處理中關(guān)鍵部分,是信息抽取的基礎(chǔ),其主要作用是在無序的文本中按不同的需求提取出特定有意義的命名實體?,F(xiàn)廣泛應(yīng)用于智能回答、機器翻譯、知識圖譜等方面。同時命名實體識別技術(shù)是通用領(lǐng)域和特殊領(lǐng)域進行信息抽取加快信息化發(fā)展的基礎(chǔ)。
目前命名實體識別在通用領(lǐng)域中已經(jīng)得到了優(yōu)良的效果[1],主要得益于通用領(lǐng)域的數(shù)據(jù)集的完善和模型方法的不斷優(yōu)化。起初主要是基于規(guī)則字典方法,這種方法耗時長、性能差、效果不佳,之后提出的基于統(tǒng)計的方法[2],像隨機條件場模型(conditional random field,CRF)和隱馬爾科夫模型(hidden Markov model,HMM),這類方法依靠通用領(lǐng)域精確的特征條件得到不錯的訓(xùn)練結(jié)果[3-4]。但因為其需要人為參與操作多、成本高,逐漸被深度學(xué)習(xí)方法所取代。深度學(xué)習(xí)方法在降低人工成本的同時,也具有很強的領(lǐng)域適應(yīng)性,可以在不同領(lǐng)域取得不錯的訓(xùn)練效果。因此深度學(xué)習(xí)方法現(xiàn)已成為自然語言處理(natural language processing,NLP)領(lǐng)域的主流方法。Hammerton[5]將長短期記憶模型循環(huán)神經(jīng)網(wǎng)絡(luò)(long-short term memory,LSTM)模型應(yīng)用在了命名實體識別任務(wù)中,取得了理想的實驗結(jié)果。Huang等人[6]提出了雙向長短期記憶模型循環(huán)神經(jīng)網(wǎng)絡(luò)(bi-directional gate recurrent unit,BILSTM)搭配CRF模型,同時還融合了其他語言學(xué)特征以提升模型性能。王潔等人[7]將字向量作為輸入,利用雙向門控循環(huán)單元(bi-directional gate recurrent unit,BIGRU)搭配CRF 模型提取會議名稱的語料特征,發(fā)現(xiàn)與LSTM 相比GRU 的訓(xùn)練時間減少了15%。Ma 和Hovy[8]提出了一種基于IDCNN-LSTM-CRF 的模型在不需要數(shù)據(jù)預(yù)處理的情況下可以提取字向量和字符向量并在conll 2003 數(shù)據(jù)集中得到了91.21%的準確率。Yue 和Jie[9]提出lattice LSTM 模型將字符向量和字向量融合來解決一詞多義問題,使模型更易識別實體邊界。Radford 等人[10]提出OpenAI 生成式預(yù)訓(xùn)練(generative pre-training,GPT) 模型,用Transformer 編碼代替LSTM 來捕捉長距離信息,但是因為是單向的,無法提取上下文語義特征。Devlin 等人[11]提出了能夠更好獲取字符、詞語和句子級別關(guān)系特征的變壓器雙向編碼器表示法(bidirectional encoder representation from transformers,BERT)預(yù)訓(xùn)練語言模型。通過BERT 利用Transformer 模型提升自身模型的抽取能力,能夠更好地明確實體邊界。
李妮等人[12]提出BERT-IDCNN-CRF 模型來解決BERT 微調(diào)過程中訓(xùn)練時間過長的問題并在MSRA 語料上F1 值能夠達到94.41%。顧亦然等人[13]提出了BERT-BILSTM-CRF 模型來解決專業(yè)電機領(lǐng)域中出現(xiàn)的小規(guī)模樣本特征信息不足和潛在語義特征表達不充分的問題。
檢驗檢測行業(yè)作為近幾年出現(xiàn)的一個新興服務(wù)業(yè),到目前為止檢驗檢測領(lǐng)域還沒有相關(guān)的公開數(shù)據(jù)集,進行檢驗檢測領(lǐng)域的命名實體識別訓(xùn)練缺乏訓(xùn)練數(shù)據(jù)。同時由于檢驗檢測領(lǐng)域的特殊性,使得檢測文本識別過程中存在以下難點:(1)檢驗檢測領(lǐng)域?qū)嶓w搭配規(guī)則不明確,檢測項目冗雜繁多;(2)檢測組織在檢驗檢測文本中存在大量縮寫和簡稱;(3)檢測儀器實體中存在含有功能、結(jié)構(gòu)等多種名詞疊加的長實體,這類實體難以準確識別實體邊界。根據(jù)以上問題本文提出了BERT-BIGRU-CRF 融合模型,在BIGRU-CRF 輕模型的基礎(chǔ)上引入了BERT預(yù)訓(xùn)練模型,通過BERT 模型提前在大規(guī)模的中文語料庫中進行訓(xùn)練,學(xué)習(xí)中文語義特征,以此來解決小規(guī)模數(shù)據(jù)集存在的語義特征不足的缺點,讓模型可以在本文自行搭建的檢驗檢測小數(shù)據(jù)集上取得更好的效果。同時BERT 的Transformer 模型可以提升模型的抽取信息能力,可以更好地識別檢測實體邊界,確定檢測實體類型。而BIGRU-CRF 模型可以在不降低性能的前提下減少模型訓(xùn)練時間。實驗結(jié)果表明本方法可以較好地解決檢驗檢測領(lǐng)域識別的難點,準確識別出檢驗檢測領(lǐng)域?qū)嶓w,同時縮短訓(xùn)練時長。
模型主要是由BERT 語言預(yù)訓(xùn)練層、BIGRU 編碼層和CRF 推理層3 部分組成。首先將字符序列傳入到BERT 預(yù)處理模型中。BERT 會依據(jù)字符的位置向量、字向量和文本向量3 部分加和得到最終的輸入向量。經(jīng)過編碼獲取到上下文語義信息,把融合后的向量輸入給BIGRU 網(wǎng)絡(luò)模型。經(jīng)過BIGRU 的雙向編碼后,最終輸出給CRF 選擇出最合理的標簽序列輸出。BGC 模型結(jié)構(gòu)如圖1 所示。
圖1 BGC 檢驗檢測領(lǐng)域?qū)嶓w識別模型結(jié)構(gòu)
BERT 作為一個預(yù)訓(xùn)練模型在處理特殊領(lǐng)域的命名實體識別任務(wù)時有著很好的語義表征效果,BERT 主要模型結(jié)構(gòu)是由多組雙向的Transformer 編碼構(gòu)成。其無監(jiān)督的方法,使得BERT 可以通過預(yù)訓(xùn)練學(xué)習(xí)中文語義特點,通過遷移學(xué)習(xí)的方法轉(zhuǎn)移到檢驗檢測領(lǐng)域中來,以此來解決檢驗檢測領(lǐng)域語料匱乏數(shù)據(jù)量少導(dǎo)致的文本特征信息不全面的問題。同時引用注意力機制對文本的上下文進行理解關(guān)聯(lián)。因為其特殊的構(gòu)造使得其可以使訓(xùn)練的結(jié)果更好反映出上下文語義關(guān)系,提取出檢驗檢測領(lǐng)域特征信息,解決實體嵌套和冗雜的問題。同時雙向的Transformer 結(jié)構(gòu)要比傳統(tǒng)LSTM 模型可以更好地處理長期依賴問題。其作為編碼器擁有強大的語言表征能力和特征提取能力[14],其結(jié)構(gòu)如圖2 所示。
圖2 Transformer 編碼器結(jié)構(gòu)
本文利用Transformer 本身引入的多頭注意力機制,來多次計算學(xué)習(xí)不同的表示子空間,從而獲取相關(guān)信息來提高模型在不同位置的專注度。經(jīng)過BERT 預(yù)處理模型對句向量處理后,通過多頭注意力機制使句子向量在向量映射的不同情況下出現(xiàn)權(quán)重得分對比,使實體邊界更易被識別。同時為了彌補自注意力機制不能抽取時序特征的問題,對詞語中的位置進行編碼:
其中,pos表示詞語在其句中位置;d是PE的維度;dk是輸入向量的維度;Q、K、V都是自注意力機制(Self-Attention)計算出的字向量矩陣,QK的乘積表示了此中某個詞在整個句子中的關(guān)注程度。為了計算出向量在每一個映射的注意力向量:
將Self-Attention 機制對之前的輸出部分做一次殘差連接和歸一化處理將共享前饋神經(jīng)網(wǎng)絡(luò)在多個子空間中計算向量相似度:
最后為了使BERT 在NLP 任務(wù)中得到更好的表征效果,采用表征詞語無監(jiān)督方式的Masked 語言模型和下一句預(yù)測2 種任務(wù)方法[14]。Masked 語言模型采用隨機屏蔽15%的信息,將被屏蔽的信息區(qū)分處理,把其中80%的信息替換成Masked,10%的被遮擋信息會被任意詞替換,10%的遮擋信息保持不變,以此來保證訓(xùn)練過程中模型可以更加準確獲得詞間信息。下一句預(yù)測則是采用二分類方法把任務(wù)中的句子分成上下連貫句子和非連貫句子2 類。讓模型預(yù)測判斷兩個句子間的關(guān)系,最后作出Is-Next 和NotNext 2 種判斷結(jié)果并進行標記,以此來獲得句子間的上下關(guān)系。因此BERT 模型可以在其他小數(shù)據(jù)領(lǐng)域中獲得更好的全局表達效果,使得模型可以應(yīng)用在檢驗檢測這種語料匱乏的領(lǐng)域中。
GRU 和LSTM 模型可以解決循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)模型無法長期記憶和反向傳播中的梯度消失問題。但GRU 作為LSTM 的變體模型,其在保留了LSTM 效果的基礎(chǔ)上將遺忘門和輸入門合并成了更新門,簡化了模型參數(shù)。本文LSTM 引入了3 個函數(shù)來控制輸入值記憶值和輸出值,而GRU 則是通過重置門和更新門2 個門控制新的輸入和記憶輸入[15]。在BERT 后搭配BIGRU模型,來增強模型訓(xùn)練速度和泛化性能,表達公式如下:
式中,zt為更新門t時刻的輸出,rt代表重置門t時刻的輸出,σ為sigmoid 函數(shù),和ht分別表示t時刻的記憶內(nèi)容和隱藏狀態(tài)。GRU 結(jié)構(gòu)如圖3 所示。
圖3 GRU 單元結(jié)構(gòu)
在單向的神經(jīng)網(wǎng)絡(luò)中,信息總是由前往后獲取,只能采集到上游信息,為了讓下游信息也能被獲取,所以采用兩條單向的GRU 組成的正反兩層的BIGRU 模型,加強模型語義挖掘能力,能更好地理解前后文依存關(guān)系。
雖然BIGRU 模型的輸出也能夠評分出最優(yōu)標簽,但是只能在標簽內(nèi)判別。所以會出現(xiàn)很多錯誤標記和無用標記的問題。為此需要在BIGRU 后加入一個CRF 層來考慮標記信息間的依存關(guān)系。增加約束來確保預(yù)測標簽的合理性,減少非法序列出現(xiàn)的概率。
對于最開始的輸入字符序列x進行預(yù)測標簽分布得到的標簽序列y;對于BIGRU 層的輸出矩陣p,其大小由一個句子中的單詞數(shù)n和標記種類k所決定,其中Pi,j、Ai,j分別為第i詞在第j個標簽的得分和轉(zhuǎn)移矩陣中標簽i到標簽j的概率得分。最終序列y的得分如式(8)所示。
然后利用Softmax 歸一化處理得到最大的輸出概率為
最后利用Viterbi 算法[16]求得到所有序列上的預(yù)測中最優(yōu)解作為檢測實體結(jié)果,其公式為
當(dāng)前國內(nèi)對檢驗檢測領(lǐng)域的命名實體識別研究較少,缺少訓(xùn)練所需要的數(shù)據(jù)集。因此本實驗通過網(wǎng)絡(luò)爬蟲的方法爬取了近10 年來檢驗檢測領(lǐng)域機構(gòu)的檢測類文本。整合檢測類文本的特點和常用關(guān)鍵詞,將命名實體分成以下4 類,即檢測項目、檢測儀器、檢測標準和檢測組織。檢驗檢測實體分類定義如表1 所示。
表1 檢測實體識別類型及定義
根據(jù)其中68 家網(wǎng)址的檢驗檢測相關(guān)文本,總共搜集出5.5 萬條數(shù)據(jù),為了搭建出本文命名實體識別所需要的數(shù)據(jù)集,經(jīng)過了數(shù)據(jù)清洗和數(shù)據(jù)去重工作,得到有用數(shù)據(jù)條數(shù)10 812 條。將得到的數(shù)據(jù)條數(shù)以8 ∶1 ∶1 的比例分成訓(xùn)練集、測試集和驗證集。同時本次實驗采用的是BIO 方法,命名實體以B 為始端,I 為實體中間部分,O 為非實體部分。本文將實體分為了4 類,因此出現(xiàn)的標注類別有B-M、I-M、B-S、I-S、B-P、I-P、B-E、I-E、O 共9 種。數(shù)據(jù)中各實體類別數(shù)量在數(shù)據(jù)集中的比例如表2 所示。
表2 不同實體在各數(shù)據(jù)集中的數(shù)量統(tǒng)計
實驗室硬件設(shè)備為CPU 采用Intel(R) Xeon(R) Gold 6242R,GPU 采用NVIDIA Tesla T4,內(nèi)存為425 GB。實驗室虛擬環(huán)境采用Python3.6 的版本搭配Tensorflow 1.14.0 的版本對模型進行訓(xùn)練和測試。本次實驗采用BERT-Base 模型,其含有12 個Transformer 層、768 個隱含層和12 個多頭注意力機制。為了使得下梯度下降的方向更加明確,減少訓(xùn)練時間。將批尺寸參數(shù)數(shù)值設(shè)置為16,迭代輪次設(shè)置為30。同時為了保證模型不會過擬合,將刪除比例參數(shù)的數(shù)值設(shè)置為0.5,學(xué)習(xí)率設(shè)置為1 ×10-5。
本文采用準確率(precision,P)、召回率(recall,R)以及F1(F1-sorce,F1)值作為模型性能的評價指標,具體公式為
其中,TP表示模型預(yù)測為正確且識別正確的樣本個數(shù),FP表示模型預(yù)測為正確卻未能識別的樣本個數(shù),FN表示預(yù)測為錯誤的樣本個數(shù)。
為了驗證在檢驗檢測領(lǐng)域中本實驗?zāi)P蛯嶓w識別能力,在相同的實驗環(huán)境下,本次實驗加入了3 個對照模型BILSTM-CRF、BILSTM、HMM。通過搭建好的檢驗檢測數(shù)據(jù)集進行模型訓(xùn)練,采用P、R、F1測試結(jié)果進行評估,每個模型在不同檢測實體的實驗結(jié)果如表3 所示。
表3 不同訓(xùn)練模型的對比結(jié)果(%)
通過實驗結(jié)果發(fā)現(xiàn)BGC 模型是所有實驗?zāi)P屠锩娴梅肿罡叩?相較于其他模型得分有了明顯提升。其中在4 種實體中得分較高的實體是檢測標準。其F1 值達到了85.67%的分數(shù),這類實體構(gòu)成相對簡單,在本次實驗中取得了不錯的識別得分。而其他類實體得分略遜色于檢測標準實體。而BILSTM-CRF 模型、BILSTM 模型、HMM 模型中BILSTM-CRF 模型的4 個實體F1 得分更高,其識別效果僅次于BGC 模型。
在加入BERT 預(yù)訓(xùn)練模型后,BERT-BIGRUCRF 和BERT-BILSTM-CRF 2 種模型進行對比實驗,觀察實驗結(jié)果和訓(xùn)練時長(min)如表4 所示。
對比BERT-BIGRU-CRF 模型和BERT-BILSTMCRF 模型,發(fā)現(xiàn)除了檢測組織F1 得分外,其余實體得分都略高于BERT-BILSTM-CRF 模型。而BGC 模型的訓(xùn)練時間縮短了6%,證明模型簡化后的性能依舊可以得到保證。
對其中表現(xiàn)較好的BILSTM-CRF 模型和BGC模型的測試結(jié)果分析發(fā)現(xiàn),BGC 模型的F1 得分高的原因,在于其可以準確識別以下3 種情況實體:(1)檢測組織實體中存在的組織縮寫如華測檢測、島澤測試等;(2)檢測儀器實體中存在的長實體如電渦流式覆層厚度測量儀、溶體流動速率測定儀等;(3)檢測項目中出現(xiàn)長實體如維卡軟化溫度檢測、熔體流動速率測定等。而BILSTM-CRF 模型在測試時,在出現(xiàn)第1 種縮寫問題時多次錯誤地將檢測組織標注成檢測項目。而在后2 種情況出現(xiàn)時,BILSTM-CRF 模型標注結(jié)果中出現(xiàn)實體標注不全的問題。對比發(fā)現(xiàn)BGC 模型在融合了BERT 預(yù)訓(xùn)練模型和BIGRU 輕模型后,通過分析學(xué)習(xí)上下文語義,結(jié)合學(xué)習(xí)的語料特征,使得模型可以結(jié)合上下文識別出檢測組織的縮寫,同時消除了歧義問題,明確實體邊界使得檢測項目和檢測儀器實體中存在的一詞多意和嵌套實體都被精準識別并區(qū)分出來。在本次小型檢驗檢測數(shù)據(jù)集的訓(xùn)練情況下,BGC 模型得到了相對更好的訓(xùn)練結(jié)果。說明了本模型可以很好地解決檢驗檢測領(lǐng)域中實體邊界模糊和句式冗雜的問題。
同時發(fā)現(xiàn),4 類實體中檢測項目實體的F1 得分相對較差,而檢測項目實體又在檢驗檢測領(lǐng)域中舉足輕重。通過對測試結(jié)果整理分析后發(fā)現(xiàn)其主要原因是檢測項目復(fù)雜多變。模型對檢測項目中出現(xiàn)的新詞的識別還有待加強。針對此實體特點后續(xù)可以再擴充檢驗檢測數(shù)據(jù)集。在數(shù)據(jù)集內(nèi)實體更加豐富的情況下,對檢測項目類實體進一步定義區(qū)分??梢詮臋z測范圍、檢測方法和檢測產(chǎn)品角度去定義,更細致地劃分檢測項目實體,改善檢測項目實體目前識別得分較低的情況。
本文從解決檢驗檢測領(lǐng)域的命名實體識別問題出發(fā),針對檢驗檢測領(lǐng)域存在的語料匱乏、句式冗雜等問題提出了結(jié)合BERT 預(yù)訓(xùn)練模型和BIGRUCRF 輕模型的檢驗檢測領(lǐng)域命名實體識別方法BGC。通過在BGC 模型中加入BERT 預(yù)訓(xùn)練模型后更好地識別出復(fù)雜實體的邊界,對比未加入BERT 的模型,該方法在4 類實體中的P、R、F1 結(jié)果有了顯著的提升。而BGC 模型使用BIGRU 輕量模型后使得BGC 模型比BERT-BILSTM-CRF 模型的訓(xùn)練時間縮減了6%,同時性能仍然優(yōu)良。研究表明BIGRU 模型確實可以在性能保持不變的情況下提高訓(xùn)練速度,減少訓(xùn)練成本。兩個實驗證明了BGC模型在檢驗檢測領(lǐng)域的可行性。在后續(xù)數(shù)據(jù)集進一步補充、優(yōu)化檢驗檢測領(lǐng)域?qū)嶓w分類和定義后,將針對檢驗檢測領(lǐng)域數(shù)據(jù)中更復(fù)雜的問題進行進一步的研究。