李曼玉 于瓅
摘? 要:為提高中文電子病歷中命名實體識別模型魯棒性和準(zhǔn)確性,為此提出一種基于BERT模型融入對抗網(wǎng)絡(luò)的中文電子命名實體識別模型,該方法使用BERT預(yù)訓(xùn)練模型動態(tài)生成字向量,通過對抗訓(xùn)練生成擾動,將字向量與擾動相加生成對抗樣本,再通過膨脹卷積網(wǎng)絡(luò)(IDCNN)捕捉句子單詞間的依賴,最后通過條件隨機場(CRF)得到最終預(yù)測結(jié)果。在CCKS 2019數(shù)據(jù)集上的實驗表明,模型的F1值達(dá)到83.19%,證明該模型的有效性。
關(guān)鍵詞:命名實體識別;中文電子病歷;BERT;對抗訓(xùn)練;
中圖分類號:TP391.1? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)02-0090-04
Named Entity Recognition of Chinese Electronic Medical Record Integrated
with Confrontation Training
LI Manyu, YU Li
(School of Computer Science and Engineering, Anhui University of Science and Technology, Huainan? 232001, China)
Abstract: In order to improve the robustness and accuracy of the named entity recognition model in Chinese electronic medical records, a Chinese electronic named entity recognition model based on the BERT model and the confrontation network is proposed. The method uses the BERT pre-training model to dynamically generate the word vector, generates the disturbance through the confrontation training, adds the word vector and the disturbance to generate the confrontation sample, and then captures the dependency between the words in the sentence through the Iterated Dilated Con-volutional Neural Network(IDCNN). Finally, the final prediction result is obtained by Conditional Random Field (CRF). The experiment on CCKS 2019 dataset shows that the F1 value of the model reaches 83.19%, which proves the effectiveness of the model.
Keywords: named entity recognition; Chinese electronic medical record; BERT; confrontation training
0? 引? 言
近年來,人工智能的快速發(fā)展,現(xiàn)已深入與不同領(lǐng)域結(jié)合,如醫(yī)療領(lǐng)域,其中電子病歷作為疾病診斷治療的記錄,為醫(yī)生診斷,疾病預(yù)防提供決策和醫(yī)療保險報銷提供支持。目前電子病歷大部分以半結(jié)構(gòu)化形式存儲,命名實體識別作為快速提取半結(jié)構(gòu)化文本中信息的技術(shù),如何準(zhǔn)確的提取出信息是命名實體識別技術(shù)的關(guān)鍵。
命名實體識別作為自然語言處理基礎(chǔ),文本預(yù)處理的下游任務(wù)之一,命名識別是關(guān)系抽取、知識圖譜構(gòu)建的基礎(chǔ),其準(zhǔn)確率高低直接影響下游任務(wù)。通用領(lǐng)域中命名實體識別主要識別出新聞文本中的人名、地名、組織名等。目前,命名識別任務(wù)也廣泛應(yīng)用于不同的領(lǐng)域,如裁判文書、醫(yī)療中電子病歷等。其作為典型序列標(biāo)注任務(wù),需根據(jù)具體任務(wù)先預(yù)定義實體類別對文本進(jìn)行標(biāo)注,在醫(yī)療文本中實體類別可以定義為疾病、診斷、檢查、藥物、手術(shù)部位等。
Wu等[1]為豐富訓(xùn)練數(shù)據(jù)從現(xiàn)有的標(biāo)記數(shù)據(jù)自動生成偽標(biāo)記樣本,采用CNN-LSTM-CRF神經(jīng)架構(gòu)來捕獲局部和遠(yuǎn)程上下文,為了增強模型識別實體邊界的能力,聯(lián)合訓(xùn)練識別模型和分詞模型。陳茹[2]使用CNN獲取字的字符向量、部首向量結(jié)合詞向量,送入局部注意力捕捉局部特征,使用IDCNN替代BILSTM,再通過全局注意力提取上下文關(guān)聯(lián)信息,但是存在外部資源對數(shù)據(jù)集的干擾。趙萍[3]在使用多特征降低未登錄詞的干擾,在注意力機制中引入動態(tài)縮放因子,減小了無關(guān)詞對模型的干擾。譚巖杰[4]使用提出門控空洞卷積與級聯(lián)網(wǎng)絡(luò),將編碼信息分別輸入至CRF層和Softmax層中進(jìn)行解碼作為級聯(lián)結(jié)構(gòu),將中文命名實體識別任務(wù)改為多任務(wù)學(xué)習(xí),降低在CRF層中分類計算的復(fù)雜度,提高精度取得的較高F1。
上述模型在開放領(lǐng)域效果較好,在特定的專業(yè)領(lǐng)域,領(lǐng)域文本存在大量技術(shù)術(shù)語和習(xí)慣表達(dá),在醫(yī)學(xué)信息領(lǐng)域命名實體識別任務(wù)從文檔中提取疾病等相關(guān)實體,并將其分為預(yù)定的類別。其中,楊紅梅[5]構(gòu)建醫(yī)學(xué)專用詞典基于結(jié)巴分詞進(jìn)行語義分割,使用雙向LSTM網(wǎng)絡(luò)結(jié)合CRF訓(xùn)練模型,但是由于分詞錯誤影響識別準(zhǔn)確率。鞏敦衛(wèi)[6]詞嵌入層融合字符、單詞、字形豐富特征,使用BILSTM模型,加入注意力機制,最后通過CRF得到最終標(biāo)簽,在自建糖尿病數(shù)據(jù)集上取得較高F1值。梁文桐[7]提出了一個基于BERT的醫(yī)療電子病歷命名實體識別模型,結(jié)合膨脹卷積和多頭注意力,分別捕捉局部特征和全局特征,在CCKS 2019數(shù)據(jù)集上F1值達(dá)到82.43%??琢钗8]在BERT-BILSTM-CRF中加入對抗訓(xùn)練在CCKS 2021數(shù)據(jù)集上F1值達(dá)到了93.92%。
針對醫(yī)療NER任務(wù)中分詞錯誤或者歧義會影響到實體邊界的確認(rèn)從而影響實體識別,選擇BERT預(yù)訓(xùn)練字向量,又由于神經(jīng)網(wǎng)絡(luò)模型易受未登錄詞等外界信息影響,造成模型穩(wěn)定性不高,為提高模型準(zhǔn)確性和魯棒性,給出了基于對抗訓(xùn)練的醫(yī)療文本命名實體識別模型,將BERT與IDCNN結(jié)合增加對抗訓(xùn)練運用在醫(yī)療文本中。該方法的貢獻(xiàn)在于:
(1)將字向量通過BERT模型預(yù)訓(xùn)練,避免分詞錯誤對實體識別效果的影響,使模型更好的學(xué)習(xí)上下文語義生成字向量。
(2)通過IDCNN膨脹卷積提取局部距離上下文語義,豐富特征信息同時提高模型運行的并行性,減少模型訓(xùn)練的運行時間。
(3)加入對抗訓(xùn)練提高模型的魯棒性和準(zhǔn)確性,避免微小擾動對模型的準(zhǔn)確性產(chǎn)生較大影響。
1? 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
模型框架如圖1所示,由詞嵌入層,IDCNN層和CRF解碼層三層組成。BERT層輸入層的作用將原始文本序列轉(zhuǎn)化為模型可接受的矩陣,以“左胸肋骨疼痛”為例,其中,BERT模型將每個字被處理為對應(yīng)的字向量,通過對抗網(wǎng)絡(luò)加入擾動值r,將字向量與擾動值r相加得到新特征向量,通過全連接層實現(xiàn)維度變換,再送入IDCNN捕捉長文本的局部特征,最后通過CRF進(jìn)行解碼得到最終的預(yù)測序列標(biāo)簽。
1.1? 詞嵌入層
詞嵌入層主要由BERT模型和對抗訓(xùn)練組成。Bert是由12層的雙向Transformer編碼器構(gòu)成,使用兩項任務(wù)進(jìn)行訓(xùn)練分別是MLM和NSP,MLM任務(wù)是將句子中字作為token進(jìn)行掩蓋(mask),隨機掩蓋15%的單詞,在這15%中80%的單詞替換成[mask],10%替換成任何單詞包括自身,10%保持不變,通過上下文預(yù)測被掩蓋位置原本的單詞。NSP任務(wù)預(yù)測任意兩句之間的關(guān)系,判定是否連續(xù)為上下文。不同于靜態(tài)詞嵌入如word2vec、glove無法處理不同語境下的語義問題,BERT根據(jù)語境變化動態(tài)生成詞向量更好地解決一詞多義的問題。
BERT的輸入為詞向量(Token Embedding),片段向量(Segment Embedding),位置向量(Position Embedding)三者加和,在中文任務(wù)中Token Embedding為對應(yīng)字向量,其中[CLS] [SEP]符號分別用來表示句子的開始位置與結(jié)束位置,Segment Embedding區(qū)分不同句子用來預(yù)測兩句之間的關(guān)系,Position Embedding標(biāo)記字的位置信息:以“直腸癌伴有穿孔”“感染性休克”為例,如圖2所示。
BERT經(jīng)過12層的雙向Transformer訓(xùn)練,會產(chǎn)生12個輸出向量,對于BERT模型到底學(xué)到了什么,Ganesh Jawahar[9]通過一系列的實驗證明BERT學(xué)習(xí)到了一些結(jié)構(gòu)化的語言信息,比如BERT的低層網(wǎng)絡(luò)學(xué)習(xí)到了短語級別的信息表征,BERT的中層網(wǎng)絡(luò)學(xué)習(xí)到了豐富的語言學(xué)特征,而BERT的高層網(wǎng)絡(luò)則學(xué)習(xí)到了豐富的語義信息特征,且在高層中會遺忘低層學(xué)習(xí)到的淺表信息。為了充分利用語義特征,對BERT模型后4層輸出求平均作為字向量輸出。
對抗訓(xùn)練常用在計算機視覺領(lǐng)域,在自然語言處理領(lǐng)域常用FGM[10]、PDG[11]算法來實現(xiàn)對抗訓(xùn)練,模型使用FGM算法,輸入當(dāng)前BERT模型生成樣本的字向量的損失值和當(dāng)前梯度值,計算生成擾動量r,字向量與擾動量相加即為對抗樣本,將生成的對抗樣本再次送進(jìn)IDCNN層。
1.2? IDCNN層
Strubell等[12]提出了迭代卷積神經(jīng)網(wǎng)絡(luò)(IDCNN)以此來改善NER任務(wù)的并行性。IDCNN是指卷積核中存在空洞的CNN又稱為空洞卷積、膨脹卷積,其通過卷積核增加空洞來擴大感受域,在濾波器本身的大小并沒有發(fā)生變化的情況下擴大感受域,來獲得更多細(xì)節(jié)減少信息損失。如圖3所示,卷積核大小為3,圖(a)中(膨脹寬度)dilation=1,感受域為3×3;圖3(b)中dilation=2,感受域為7×7;圖3(c)中dilation=4,感受域為15×15。
膨脹卷積網(wǎng)絡(luò)和一般的卷積網(wǎng)絡(luò)一樣通過在輸入矩陣滑動獲得進(jìn)行卷積運算,膨脹卷積每層的參數(shù)相互獨立且數(shù)量相同,使用膨脹寬度分別為1,1,2的膨脹卷積核,迭代四次,通過IDCNN模型增加感受域,從而獲得較遠(yuǎn)距離的字符間的語義關(guān)系,提取局部特征信息,來進(jìn)一步豐富模型的特征信息。
1.3? 條件隨機場
因命名實體標(biāo)簽之間存在依賴關(guān)系,如“B-手術(shù)”標(biāo)簽后可能接“I-手術(shù)”或者“O”標(biāo)簽,不應(yīng)該接“I-疾病和診斷”標(biāo)簽,而條件隨機場(CRF)可以有效地約束標(biāo)簽之間的關(guān)系,因此使用CRF作為輸出層得到全局最優(yōu)解。
記句子序列作為輸入變量X={x1, x2, x3,…, xn},預(yù)測標(biāo)簽作為輸出變量y={y1, y2, y3,…, yn},且X,y均為線性序列,P( y|X )滿足(1)式馬爾科夫性時(i=1/n時只考慮單邊),則稱P( y|X )為線性鏈隨機條件場。
P(yi|X, y1, y2,…, yn)=P(y|yi-1, yi+1)? ? ? ? ? ? ? ?(1)
IDCNN層獲得字符xi對應(yīng)的標(biāo)簽向量后,標(biāo)簽向量yi作為發(fā)射分?jǐn)?shù)傳入CRF計算轉(zhuǎn)移分?jǐn)?shù),其中轉(zhuǎn)移分?jǐn)?shù)表示一個標(biāo)簽向另一個標(biāo)簽轉(zhuǎn)移的分?jǐn)?shù),轉(zhuǎn)移分?jǐn)?shù)越大則轉(zhuǎn)移概率越大,預(yù)測一個序列y的概率表示為S(X,y)如式(2)所示,,yi+1表示從yi到y(tǒng)i+1的轉(zhuǎn)移分?jǐn)?shù),Oi,yi表示xi被預(yù)測為yi的分?jǐn)?shù), 表示真實標(biāo)簽序列。
(2)
句子X的產(chǎn)生標(biāo)簽序列y的概率P( y|X )如式(3)所示,Y表示所有可能序列集合。
(3)
通過最大條件對數(shù)似然函數(shù)進(jìn)行參數(shù)估計,預(yù)測中使用維特比算法獲得最高分?jǐn)?shù)標(biāo)簽序列y*作為最優(yōu)路徑,如式(4)所示:
(4)
2? 實驗數(shù)據(jù)及評價指標(biāo)
2.1? 實驗數(shù)據(jù)集
數(shù)據(jù)集采用的是2019年全國知識圖譜與語義大會(CCKS 2019)發(fā)布的數(shù)據(jù),實體預(yù)定義類別包括疾病和診斷、解剖部位、藥物、影像檢查、實驗檢驗、手術(shù),其中訓(xùn)練集600份,驗證集400,測試集379。數(shù)據(jù)集文本較長,據(jù)統(tǒng)計在Train、Dev、Test數(shù)據(jù)集中文本字符長度分別最高達(dá)到1 436、1 664、664,文本字符長度最短分別低至174、172、198,對應(yīng)數(shù)據(jù)集中實體字符長度分別最高達(dá)到55、125、84。
使用BIO方式對電子病歷文本進(jìn)行標(biāo)注,“B-”代表實體的開始位置字符,“I-”代表實體的其他位置字符,“O”代表非實體部分,共計13種標(biāo)簽,實體類別在Train,Dev,Test數(shù)據(jù)集中的實體個數(shù)統(tǒng)計如表1所示。
由表1可知,疾病和診斷、解剖部位、藥物、影像檢查、實驗檢驗、手術(shù)在Train、Dev、Test數(shù)據(jù)分布較為平均。其中疾病和診斷、解剖部位實體多于藥物、影像檢查、實驗檢驗、手術(shù)。解剖部位實體數(shù)量的最高共計11 520,手術(shù)最少共計1 191,其余從高到低依存是疾病和診斷共計5 535,藥物共計2 307,實驗室檢驗共計1 785,影像檢查共計1 317,存在標(biāo)簽數(shù)量不平衡問題。
2.2? 實驗環(huán)境、參數(shù)設(shè)置以及評價標(biāo)準(zhǔn)
實驗環(huán)境如下:操作系統(tǒng)為Ubuntu 18.04,CPU為Intel(R)Xeon(R) CPUE5-2678 v3@2.50 GHz,GPU為NVIDIA Tesla K80,顯存12 GB,Python版本3.7,Pytorch版本1.8.1。
其中模型的參數(shù)值包括,學(xué)習(xí)率1.5e-5,迭代次數(shù)100,優(yōu)化器Adam,文本最大長度設(shè)置為500,批大小為8。BERT選用12層的bert-base-chinese版本,隱藏維度為768,IDCNN層膨脹卷積核為3個,膨脹寬度依次為1,1,2,迭代4次,隱藏濾波器個數(shù)為64,使用RELU作為激活函數(shù)。
為了檢測模型的性能,采用準(zhǔn)確率P,召回率R和F1作為評價指標(biāo),具體公式為:
(5)
(6)
(7)
模型識別實體邊界與標(biāo)注的真實邊界一致認(rèn)定為識別成功,TP為正確識別醫(yī)療實體的個數(shù);FP為識別到不相關(guān)醫(yī)療實體的個數(shù);FN為未識別到相關(guān)醫(yī)療實體的個數(shù);TP+FP為識別出的所有實體數(shù)量,TP+FN為實際標(biāo)注實體總數(shù)。
2.3? 實驗結(jié)果與分析
實驗一共有三組,模型BERT-FGM-IDCNN-CRF與BERT-CRF、BERT-IDCNN-CRF作對比模型。測試集上實驗結(jié)果如表2所示。
(1)BERT-CRF模型?;贐ERT模型的特征抽取,是NER任務(wù)中基于預(yù)訓(xùn)練任務(wù)的經(jīng)典模型,訓(xùn)練時采用動態(tài)生成字向量。
(2)BERT-IDCNN-CRF模型。將BERT-CRF與IDCNN結(jié)合,BERT-CRF基礎(chǔ)上更好的捕捉局部特征的能力,可以進(jìn)一步提高實體識別能力。
(3)BERT-FGM-IDCNN-CRF模型。在BERT-IDCNN-CRF模型的基礎(chǔ)上加入對抗網(wǎng)絡(luò),生成對抗樣本,提高模型魯棒性的情況下進(jìn)一步提高實體識別能力。
根據(jù)表中的實驗數(shù)據(jù),相對于基線模型BERT-CRF,結(jié)合IDCNN的BERT-IDCNN-CRF與加入對抗網(wǎng)絡(luò)FGM的BERT-FGM-IDCNN-CRF在數(shù)據(jù)集上的實體識別效果有不同程度上得提升,對比基線模型BERT-CRF、BERT-IDCNN-CRF的模型F1、P、R值提升了1.17%、1.61%、0.8%,證明加入IDCNN層有效的豐富文本特征,提高了模型的實體識別效果,證明加入對抗網(wǎng)絡(luò)也可以有效提高模型識別的準(zhǔn)確度。本模型對比基線模型BERT-CRF F1、P、R值提升了1.5%、1.25%、1.77%,對比BERT-IDCNN-CRF模型本模型雖然P值略有下降,但F1、R值提升了0.33%、0.97%。本模型的F1值和R值取得83.19%和84.74%成績,充分證明本模型的有效性。
3? 結(jié)? 論
近年來基于深度中文命名實體識別的快速發(fā)展,給出加入對抗訓(xùn)練的BERT-FGM-IDCNN-CRF模型,該模型將BERT后加入IDCNN層,對比普通的BERT-CRF,有效捕捉局部特征,通過增加對抗網(wǎng)絡(luò)在提高模型魯棒性的基礎(chǔ)上進(jìn)一步提高了模型的識別效果。基于對抗網(wǎng)絡(luò)的BERT-FGM-IDCNN-CRF醫(yī)療文本的命名實體效果有所提升,但是中文電子病歷的命名實體識別任務(wù),仍有較大改善空間。由于電子病歷為長文本且實體長度較大,模型對于長文本的識別的理解較為困難,效果普遍低于短文本,加入IDCNN豐富文本特征的同時訓(xùn)練時間相較于基線模型的訓(xùn)練時間也會隨之增加,加入對抗網(wǎng)絡(luò)增加擾動信息使得模型訓(xùn)練時間進(jìn)一步加長,未來將考慮來進(jìn)一步研究在保證醫(yī)療領(lǐng)域的實體識別效率的同時更高效的模型。
參考文獻(xiàn):
[1] WU F Z,LIU J X,WU C H,et al.Neural Chinese Named Entity Recognition via CNN-LSTM-CRF and Joint Training with Word Segmentation [J].The World Wide Web Conference,2019:3342-3348.
[2] 陳茹,盧先領(lǐng).融合空洞卷積神經(jīng)網(wǎng)絡(luò)與層次注意力機制的中文命名實體識別 [J].中文信息學(xué)報,2020,34(8):70-77.
[3] 趙萍,竇全勝,唐煥玲,等.融合詞信息嵌入的注意力自適應(yīng)命名實體識別 [J/OL].計算機工程與應(yīng)用,2022:1-9[2022-08-13].http://kns.cnki.net/kcms/detail/11.2127.tp.20220524.1001.005.html.
[4] 譚巖杰,陳瑋,尹鐘.門控空洞卷積與級聯(lián)網(wǎng)絡(luò)中文命名實體識別 [J/OL].小型微型計算機系統(tǒng),2022:1-10[2022-08-13].http://kns.cnki.net/kcms/detail/21.1106.tp.20220418.1445.032.html.
[5] 楊紅梅,李琳,楊日東,等.基于雙向LSTM神經(jīng)網(wǎng)絡(luò)電子病歷命名實體的識別模型 [J].中國組織工程研究,2018,22(20):3237-3242.
[6] 鞏敦衛(wèi),張永凱,郭一楠,等.融合多特征嵌入與注意力機制的中文電子病歷命名實體識別 [J].工程科學(xué)學(xué)報,2021,43(9):1190-1196.
[7] 梁文桐,朱艷輝,詹飛,等.基于BERT的醫(yī)療電子病歷命名實體識別 [J].湖南工業(yè)大學(xué)學(xué)報,2020,34(4):54-62.
[8] 孔令巍,朱艷輝,張旭,等.基于對抗訓(xùn)練的中文電子病歷命名實體識別 [J].湖南工業(yè)大學(xué)學(xué)報,2022,36(3):36-43.
[9] JAWAHAR G,SAGOT B,SEDDAH D.What Does BERT Learn about the Structure of Language [C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics.Florence:ACL,2019:3651-3657.
[10] MIYATO T,DAI A M,GOODFELLOW I.Adversarial Training Methods for Semi-Supervised Text Classification [J/OL].arXiv:1605.07725 [stat.ML].[2022-08-09].https://arxiv.org/abs/1605.07725.
[11] MADRY A,MAKELOV A,SCHMIDT L,et al.Towards Deep Learning Models Resistant to Adversarial Attacks [J/OL].arXiv:1706.06083 [stat.ML].[2022-08-11].https://arxiv.org/abs/1706.06083.
[12] STRUBELL E,VERGA P,BELANGER D,et al.Fast and Accurate Entity Recognition with Iterated Dilated Convolutions [J/OL].arXiv:1702.02098 [cs.CL].[2022-08-16].https://arxiv.org/abs/1702.02098v3.
作者簡介:李曼玉(1997—),女,漢族,安徽蚌埠人,碩士研究生在讀,研究方向:自然語言處理;通訊作者:于瓅(1973—),女,漢族,安徽宿州人,教授,博士,研究方向:區(qū)塊鏈、圖像處理。
收稿日期:2022-09-01
基金項目:2021安徽省重點研究與開發(fā)計劃項目(202104d07020010)