張 帥,高曉苑,楊 濤,劉 杰
(1.南京中醫(yī)藥大學 人工智能與信息技術學院,江蘇 南京 210023;2.中國科學院大學南京學院,江蘇 南京 211135)
命名實體識別(Named Entity Recognition,NER)是指從文本中檢測并識別命名實體,并劃分為預定義的語義類型的過程[1]。NER 是一項重要且基礎的任務,是多種自然語言處理下游任務的前置[2]。醫(yī)療信息化水平不斷提升,隨之產生了海量的醫(yī)療數據,然而這些數據很多是非結構化的文本數據,無法直接進行分析和利用,如何通過NER技術進行醫(yī)療文本結構化已成為一個重要的研究課題[3]。
目前,深度學習因其特有的特征表示優(yōu)勢[4],在NER任務應用中已經成為主流,特別是雙向長短期記憶網絡后接條件隨機場[5](Bidirectional Long Short-Term Memory with Conditional Random Field,BiLSTM-CRF)和BERT[6](Bidirectional Encoder Representation from Transformers),識別效果明顯優(yōu)于傳統(tǒng)識別方法?;谏疃葘W習的NER 需要大量的已標注數據,而在醫(yī)療領域,數據標注過程需要許多領域內的專家,耗時而且昂貴,導致高質量的標注數據往往難以獲取。如何在小樣本情境下取得優(yōu)異的識別效果,已經成為當前研究的熱點。
近年來,研究人員提出了偽標簽(Pseudo Label,PL)方法,這是一種簡單而有效的半監(jiān)督學習(Semi-Supervised Learning,SSL)方法,其在對未加標注的數據分配標簽后,與標注數據共同參與訓練。該方法最初被應用于圖像領域,并取得了一些成果[7]。一些學者將偽標簽應用于醫(yī)學NER 中[8],但在使用過程中忽略了偽標簽數據中存在的錯誤標注,直接將這些數據追加到訓練集中將影響模型的識別性能。
BERT 模型在中文命名實體識別任務中已經取得了優(yōu)異的成績,但仍然存在一些問題。首先,中文BERT 模型在訓練過程中是以字為粒度劃分的,因此只能獲得字級別的特征,RoBERTa-wwm-ext 模型[9]在訓練過程中使用全詞掩碼,因而能夠獲得詞級別的表征;其次,預訓練語言模型無法在單一的Transformer 層學習到全面的信息,因此使用多層表征融合(Multi-layer Representation Fusion,MLRF)方法,根據任務將不同層的表征融合后輸出,能夠獲得更好的特征表示。
本文提出一種基于半監(jiān)督學習與RoBERTa 多層表征融合的醫(yī)學命名實體識別方法,以減少現(xiàn)有的深度NER 模型對高質量標注數據集的依賴。該方法在RoBERTawwm-ext-BiLSTM-CRF 多層表征融合模型基礎上,利用偽標簽法擴充數據集,并設計了一種基于權重分配(Weight Allocation,WA)的機制來減弱偽標簽數據中存在的噪聲。最后在CCKS 2021 醫(yī)療命名實體識別數據集和CBLUE CMeEE 數據集上,評估了該方法的實用性和可行性。本文在GitHub 網站上開源了相關代碼,網址為:https://github.com/charfeature/NER。
命名實體識別任務的主要方法可分為兩種:傳統(tǒng)的NER 方法和基于深度學習的NER 方法[10]。其中,基于深度學習的NER 方法由于其在捕獲輸入語句特征上的優(yōu)勢,已成為當前的研究熱點,Panchendrarajan 等[11]使用BiLSTM-CRF 進行實體識別,相比傳統(tǒng)NER 方法效果更佳。基于深度學習的模型需要大規(guī)模的標注數據參與訓練,但在特定領域的NER 任務中,數據標注過程需要相關專家參與,耗時耗力。因此,學者們嘗試使用半監(jiān)督學習,利用較為容易獲得的未標注數據來改進模型。Liu 等[12]在金融實體識別任務中構建一種基于BERT 和Bootstrapping 的半監(jiān)督模型,有效改善了領域實體識別任務中標注數據集匱乏的問題。近年來,有學者提出偽標簽法,這是一種簡單、有效的半監(jiān)督學習方法。Li 等[8]將偽標簽方法應用于醫(yī)學命名實體識別任務中,其選取概率最大的標注作為偽標簽,然后加入到訓練集中與標注數據一同參與訓練。然而,由于偽標簽數據中存在錯誤標注,可能會影響后續(xù)模型的性能。因此,本文在偽標簽框架基礎上,設計一種基于權重分配的噪音減弱方法,以減少偽標簽數據中錯誤標注對模型識別效果的影響。
BERT 模型[13]是一種在大規(guī)模無標注數據上進行無監(jiān)督學習得到的預訓練語言表征模型,目前在眾多的NER 任務上都取得了優(yōu)異的成績。其優(yōu)越性在于對于不同任務,只需要作出微調即可將其作為特征提取器。Li 等[14]構建BERT-BiLSTM-CRF 模型用于醫(yī)學NER 任務,通過BERT模型結合外部特征來提高模型識別效果。然而,Google 所發(fā)布的中文BERT 模型中,用字作為粒度劃分中文,所以經過BERT僅能獲得字級別的特征表示。RoBERTa-wwm-ext模型在BERT 模型基礎上使用全詞掩碼技術,將輸入文本進行分詞后,對同屬一詞的全部漢字進行掩碼,以此學習詞級別的語義表示[9],相較于BERT更適用于中文醫(yī)學實體識別任務。同時,相關研究發(fā)現(xiàn),預訓練語言模型無法在一個Transformer 層全面地學習到文本中的語言學信息,每一層對應的信息各有側重[15-16]。相較于只選擇最后一層的輸出,針對不同任務將特定層的輸出融合后作為最終表征,往往能取得更好的效果[17]。因此,本文選擇RoBERTa-wwmext 作為預訓練語言模型,并且使用多層表征融合方法,以全面利用RoBERTa-wwm-ext所包含的語言學信息。
將NER 視為序列標注任務,給定文本序列x=[x1,...,xi,...,xn]。其中,xi表示序列中第i個字符,n是序列長度。將序列x作為輸入,其對應的標簽序列是y=[y1,...,yi,...,yn],yi表示序列中第i個字符的標簽。根據任務特點,本文在預訓練模型RoBERTa-wwm-ext 后接BiLSTM-CRF 模塊作為基礎框架。
本文所用模型框架如圖1所示。
使用RoBERTa-wwm-ext 作為預訓練語言模型,輸入的文本序列x通過預訓練模型層,獲得相應的向量表示序列e,如式(1)所示:
Fig.1 Model framework圖1 模型框架
其中,ei是字符xi對應的向量表示。同時,本文使用多層表征融合方法,在RoBERTa-wwm-ext 中選取若干層參與表征融合,并為這些層生成的向量表示賦予一個動態(tài)可學習的權重α,如式(2)所示:
其中,hi是融合后字符xi對應的向量表示,ei,j是第j層Transformer 生成的字符xi對應的向量表示,αj是第j層輸出的權重值,m是預訓練模型中參與融合的層數。
BiLSTM[18]可以充分利用上下文信息,更適用于文本數據,在實體識別領域內取得了很好的效果。本文使用BiLSTM 作為上下文編碼器,將向量表示輸入到BiLSTM,如式(3)所示:
其中,Φ是序列x對應的BiLSTM 輸出,h是融合層的輸出。
CRF 是一種概率圖模型,可以有效減少不符合語法的標注出現(xiàn)的可能性。本文在BiLSTM 模型后接CRF 作為標簽解碼器,其概率定義如式(4)所示:
本文設計的偽標簽框架分為3 個階段。第一階段使用標注數據作為訓練集,訓練得到基準NER 模型;第二階段利用基準NER 模型預測未標注數據,得到帶有偽標簽的文本;第三階段將偽標簽數據加入到訓練集中,訓練得到最終的NER 模型。偽標簽框架如圖2所示。
雖然偽標簽方法能夠提高模型的識別效果,但錯誤的偽標簽會為模型引入噪聲,如果不加以處理,將會誤導模型的學習。為了減少偽標簽方法中的噪聲,本文設計了一種基于權重分配的噪音減弱方法。最終NER 模型的總體損失函數L如式(5)所示:
其中,k是標注數據的文本序列數,k'是偽標簽數據的文本序列數,pi是標注數據中文本序列i對應的CRF 概率,是偽標簽數據中文本序列j對應的CRF 概率,β是固定的偽標簽權重系數。
Fig.2 Pseudo label framework圖2 偽標簽框架
本文采用CCKS 2021 醫(yī)療命名實體識別數據集和CBLUE CMeEE 數據集進行實驗。CCKS 2021 醫(yī)療命名實體識別數據集來源于真實的臨床電子病歷數據,單個病人的單個就診記錄為一個條目,提供了1 500 條標注數據和1 000 條未標注數據,預定義的實體類型包括疾病和診斷、手術、藥物、影像檢查、解剖部位、實驗室檢驗共6 類。本文將標注數據隨機劃分為訓練集、驗證集和測試集,劃分比例為6:2:2。CBLUE CMeEE 數據集來源于醫(yī)學教科書和專家指南,提供了20 000 條訓練數據和3 000 條測試數據,預定義的實體類型包括疾病、臨床表現(xiàn)、醫(yī)療程序、醫(yī)療設備、藥物、醫(yī)學檢驗項目、身體、科室、微生物類共9類,本文將訓練數據按照3:2 的比例隨機劃分為標注數據和未標注數據,對測試結果采用CBLUE CMeEE 提供的線上評測網站(https://tianchi.aliyun.com/dataset/dataDetail?dataId=95414)進行評價,其中訓練集、驗證集和測試集比例為6:2:2。
本文將實體識別表示為序列標注任務,根據數據集的標簽,使用BIO 標注法為每一個字符進行標記。例如“因胃癌行胃大部切除術”的標注如圖3所示。
預訓練語言模型對于輸入文本序列的長度有一定限制,同時過長的輸入序列也會影響B(tài)iLSTM 的性能,而如果直接截取文本,則會損害輸入信息的完整性。因此,本文首先根據標點符號對輸入文本進行分割,然后利用動態(tài)規(guī)劃將分割后的文本按順序進行組合,使得文本在滿足約束條件的情況下,冗余度最小,而且交叉最為均勻。
在實驗中采用Colab pro Tesla P100(16G),由于硬件限制,預訓練語言模型使用base版本的RoBERTa。
由于使用的數據集數據量少,實驗過程中過擬合現(xiàn)象較為突出,所以本文設計了早停機制:設置一個耐心閾值,當驗證集的損失函數值或F1 值若干輪次沒有優(yōu)化,而且持續(xù)輪次大于閾值,則訓練停止,同時設置最小訓練輪數,防止訓練不充分。為了能全面利用預訓練語言模型中包含的信息,選擇所有的Transformer 層進行融合。模型中使用的參數如表1所示。
Table 1 Model parameters表1 模型參數
本文在實驗過程中采用準確率P、召回率R和F1 值作為評測指標來評估實驗結果。計算公式如式(6)-式(8)所示:
其中,TP是所有正樣本被正確識別的數量,F(xiàn)P是負樣本被識別為正樣本的數量,F(xiàn)N是正樣本被識別為負樣本的數量。
為了驗證模型不同模塊的有效性,本文設計了模型消融實驗,實驗結果如表2所示。
Fig.3 Example of tagging圖3 標注舉例
Table 2 Result of ablations experiment表2 消融實驗結果
(1)BERT-BiLSTM-CRF。這是NER 領域的經典模型,在許多任務上都取得了優(yōu)異的識別效果。
(2)RoBERTa-wwm-ext-BiLSTM-CRF(RW-BC)。在模型(1)基礎上使用RoBERTa-wwm-ext 作為預訓練語言模型,RoBERTa-wwm-ext 是一種按照RoBERTa 訓練方式訓練出的BERT 模型,相較于BERT 擴展了訓練數據,并使用了全詞掩碼[9]。
(3)RoBERTa-wwm-ext-BiLSTM-CRF+Multi-layer Representation Fusion(RW-BC+MLRF)。在模型(2)基礎上使用多層表征融合方法,可以充分利用不同Transformer層的輸出。
(4)RoBERTa-wwm-ext -BiLSTM-CRF+Pseudo Label(RW-BC+PL)。在模型(2)的基礎上使用偽標簽方法擴展了訓練集。
(5)RoBERTa-wwm-ext-BiLSTM-CRF+Pseudo Label with Weight Allocation(RW-BC+PLWA)。在模型(4)的基礎上加入了基于權重分配的噪音減弱機制。
從表2 可以看出,本文模型與其他模型相比,識別效果更加優(yōu)異,相較于BERT-BiLSTM-CRF 模型,在CKKS 2021 數據集上F1 值提升了1.14%,在CBLUE CMeEE 數據集上F1 值提升了1.63%,驗證了使用半監(jiān)督學習和Ro-BERTa 多層表征融合方法的實體識別模型的有效性。
第1 組實驗:RoBERTa-wwm-ext 模型的有效性分析。將BERT-BiLSTM-CRF 模型和RoBERTa-wwm-ext-BiLSTM-CRF 模型進行對比,可以看出RoBERTa-wwm-ext 預訓練語言模型優(yōu)于BERT,這是因為RoBERTa-wwm-ext 使用了全詞掩碼技術,能夠學習到詞級別的語言學信息,同時將訓練語料在中文維基百科數據基礎上作進一步擴展。實驗結果證明,RoBERTa-wwm-ext 模型更適用于中文醫(yī)療實體識別任務。
第2 組實驗:多層表征融合的有效性分析。從表2 可以看出,加入了多層表征融合的RW-BC+MLRF 模型的F1 值高于未使用多層表征融合的RW-BC 模型,這是因為在BERT 及其改進模型中,每一層Transformer 所學習到的語言學信息各不相同,RW-BC 模型僅使用最后一層Transformer 作為表征輸出,沒有利用模型所學習到的低層特征和中層特征,而RW-BC+MLRF 模型通過多層表征融合模塊,將各層Transformer 層的輸出動態(tài)融合后作為最終輸出,可以全面地利用RoBERTa-wwm-ext 每一層的特征。實驗結果充分驗證了多層表征融合機制能夠有效提升模型的識別效果。
第3 組實驗:偽標簽方法的有效性分析。從表2 可以看出,使用了偽標簽方法的RW-BC+PL 模型,結果優(yōu)于未使用偽標簽方法的RW-BC 模型,表明通過偽標簽法引入的未標注數據對模型性能具有一定的提升效果。為了驗證基于權重分配的噪聲減弱機制的有效性,將添加了噪聲減弱模塊的RW-BC+PLWA 模型與RW-BC+PL 模型進行比較。從比較結果可以看出,噪聲減弱模塊能夠提升模型的識別效果,這是因為該模塊可以使模型在學習到偽標簽數據中蘊含信息的同時,更加專注于標注數據,以此緩解噪聲干擾。
為了進一步驗證本文模型的有效性,與現(xiàn)有的其他NER 方法進行比較,實驗結果如表3所示。
Table 3 Performance comparison between the proposed model and other NER methods表3 本文模型與其他NER方法性能比較
(1)PERT-BiLSTM-CRF。使用PERT 作為預訓練語言模型層。PERT 是一種基于亂序語言模型的預訓練模型,能夠在不引入掩碼標記的情況下學習文本中的語義信息,相較于BERT,在部分自然語言處理任務上取得了更好的性能。
(2)MacBERT-BiLSTM-CRF。使用MacBERT 作為預訓練語言模型。MacBERT 是BERT 的改進版本,在預訓練過程中使用相似詞取代掩碼標記,同時也引入全詞掩碼和N-gram 掩碼技術,在許多自然語言處理任務上都取得了優(yōu)異的成績。
(3)NEZHA-BiLSTM-CRF。使用NEZHA 作為預訓練語言模型,NEZHA 與BERT 模型相比使用了函數相對位置編碼、全詞掩碼、混合精度訓練和LAMB 優(yōu)化器,在一些具有代表性的中文自然語言處理任務中取得了良好的性能。
(4)BERT-IDCNN-CRF。使用IDCNN(Iterated Dilated Convolutional Neural Networks)替換BiLSTM。IDCNN 相較于傳統(tǒng)的卷積神經網絡(Convolutional Neural Network,CNN),能夠捕獲更長的上下文信息,相較于BiLSTM 可以實現(xiàn)GPU 的并行性,訓練速度更快。
(5)BERT-R-Transformer-CRF。使 用R-Transformer(Recurrent Neural Network Enhanced Transformer)替換BiLSTM。R-Transformer 同時克服了RNN 和Transformer 的缺點,能夠在不使用位置編碼的情況下,有效捕獲序列中的局部結構和長距離依賴關系。
從表3 可以看出,本文模型與上述模型相比,F(xiàn)1 值均有不同程度的提升,進一步驗證了本文所提出模型的有效性。同時,CCKS 2021 和CBLUE CMeEE 兩個數據集雖然同屬于醫(yī)學文本,但因為文本來源不同,在語言風格、實體分布等方面存在較大差距。能夠在兩種數據集上都取得優(yōu)異的結果,說明了本文模型具有較強的泛化能力。
為了探究本文模型在不同醫(yī)學實體上的表現(xiàn),同時對BERT-BiLSTM-CRF、RW-BC 和本文模型在CCKS 2021 數據集上每種實體類型的F1值進行比較,結果如表4所示。
Table 4 Comparison of the F1 values for each entity on CCKS 2021表4 模型在CCKS 2021數據集上各實體的F1值比較
從表4 可以看出,本文模型與RW-BC 模型相比,各實體的識別效果均有不同程度的提升,特別是對“疾病與診斷”和“實驗室檢驗”兩種實體的識別效果提升較多;本文模型與BERT-BiLSTM-CRF 模型相比,除“實驗室檢驗”外,其他實體的F1 值均高于BERT-BiLSTM-CRF 模型,其中對“解剖部位”和“影像檢查”兩種實體的識別效果提升較多,顯示出本文方法在醫(yī)學實體識別任務上的優(yōu)越性。從結果還可以看出,雖然BERT-BiLSTM-CRF 模型的總體識別效果比RW-BC 模型和本文模型差,但在識別“實驗室檢驗”實體上取得了最好成績,這也證明了BERT-BiLSTM-CRF 模型在某些特定實體識別上仍具有優(yōu)勢。
本文針對醫(yī)學命名實體識別任務中標注數據稀缺、BERT 無法獲取詞級別信息及最后一層表征輸出單一的問題,提出一種基于半監(jiān)督學習與RoBERTa 多層表征融合的醫(yī)學命名實體識別模型。該模型將RoBERTa-wwm-ext 不同Transformer 層融合后作為最終的表征,同時使用偽標簽方法,利用未標注數據擴充了數據集,并為偽標簽數據設計了噪聲減弱模塊。在CCKS 2021 醫(yī)療命名實體識別數據集和CBLUE CMeEE 數據集上進行實驗,結果驗證了本文方法的有效性。此外,本文提出的方法并不局限于醫(yī)學實體識別任務,在未來的工作中,希望能探索該方法在其他醫(yī)學自然語言處理任務中的表現(xiàn)。