關鍵詞:中文電子病歷;命名實體識別;RoBERTa-wwm-ext;BiGRU;EGP
0 引言
隨著我國醫(yī)療信息化的快速發(fā)展,中文電子病歷數(shù)據(jù)也在不斷積累。電子病歷作為病人信息的醫(yī)療服務健康記錄,在醫(yī)療領域中發(fā)揮著重要的作用。由于其以非結(jié)構(gòu)化文本形式存儲,導致數(shù)據(jù)難以被理解與表示,限制了其發(fā)展與應用。命名實體識別(NamedEntity Recognition, NER) 是一種信息抽取技術,能夠從非結(jié)構(gòu)化文本中自動識別出特定實體并進行歸類[1]。NER的發(fā)展經(jīng)歷了從基于規(guī)則的傳統(tǒng)方法到機器學習方法,再到深度學習方法的演變[2],目前已被廣泛應用于各類自然語言處理(Natural Language Pro?cessing, NLP) 任務中[3]。通過使用NER技術從電子病歷文本中準確地提取疾病、診斷、藥物等醫(yī)療類別,可以更高效地分析和處理電子病歷中的信息。
當前,國內(nèi)外專家學者不斷改進深度學習模型以提高命名實體識別的效果。Devlin等人提出的預訓練模型BERT(Bidirectional Encoder Representation fromTransformers) 在多種NLP任務中通過微調(diào)取得了較好的效果[4]。LEE等人在BERT的基礎上提出了針對于生物醫(yī)學領域的BioBERT(Biomedical BERT) ,該模型在生物醫(yī)學領域中的命名實體識別、醫(yī)學關系提取及問答等任務上F1 值分別提升了0.62%、2.80%、12.24%[5]。上述模型均以字為單位進行切分,然而在中文語境下,往往通過一個詞來表示完整的含義。為此,哈工大訊飛聯(lián)合實驗室提出了RoBERTa-wwmext[6],該模型能夠注重整個詞的含義, 更適合于中文語料的訓練任務。在命名實體識別模型中,常采用CRF(Conditional Random Field) [7]對序列標注進行預測,但中文電子病歷文本中涉及到解剖結(jié)構(gòu)、疾病分類、治療方法等復雜的醫(yī)療類嵌套命名實體,這些實體之間有著較深的層級關系,以致CRF在醫(yī)療領域的命名實體識別任務中表現(xiàn)欠佳。2022年,Su等人提出了全局指針網(wǎng)絡模型(Global Pointer, GP) 及其改進版EGP,結(jié)果表明該模型相較于CRF能夠更有效地識別嵌套實體,且對非嵌套實體的識別效果也與CRF 相當[8]。
綜上所述,傳統(tǒng)的命名實體識別模型在中文電子病歷上的識別效果局限于兩個方面:一是模型未能考慮中英文字詞間的表述差異;二是在嵌套命名實體較多的情況下難以準確識別。針對以上問題,本文提出了一種基于RoBERTa-wwm-ext-BiGRU-EGP(RBBEGP) 的命名實體識別模型。該模型能夠準確地解析命名實體,從而進行醫(yī)學信息提取和文本分析[9],幫助醫(yī)療領域的相關人員理解和處理醫(yī)療文本數(shù)據(jù)。其中,預訓練語言模型RoBERTa-wwm-ext有效解決了傳統(tǒng)模型對中文文本識別準確率較低的問題;BiGRU能夠獲取病歷上下文信息,并減少參數(shù)量以加快訓練速度[10];最后,引入EGP以提高模型識別嵌套命名實體的能力。
1 相關工作
BIO標注法能夠傳遞有限且精確的信息,有利于模型理解文本內(nèi)容[11]。在中文電子病歷文本中,一個序列對應的是文本中的一句話,而元素對應其中的每一個字。B(Begin) - α 表示此元素屬于α 類實體且為開頭位置,I (Inside) - α 表示此元素屬于α 類實體且為實體的中間或結(jié)尾位置,O(Outside)代表此元素不屬于任何已定義的實體類型。當輸入文本序列“高血壓可能引起腦梗塞”時,經(jīng)BIO序列標注后的輸出如表1所示。
命名實體識別模型主要由詞嵌入層、編碼層和解碼層3個部分組成。
詞嵌入層使用預訓練語言模型(Pretrained Lan?guage Models, PLMs) ,有利于學習語言的潛在結(jié)構(gòu)和規(guī)律,并從中抽象出通用的語言表示形式。PLMs 指的是在訓練過程中先使用大量無標簽的數(shù)據(jù)對模型進行初步訓練,使其具備一定程度的通用語言理解能力,然后再針對特定任務對模型進行微調(diào)。這種訓練方式使得模型可以有效地對詞的多義性進行建模,表達出豐富的句法和語法信息,從而在醫(yī)療領域等各類下游任務中獲得更好的性能表現(xiàn)。
編碼層將輸入的文本序列轉(zhuǎn)化為模型可以處理的內(nèi)部表示形式。編碼器的主要任務是學習輸入文本的語義特征,將文本中的詞語或字符映射到一個高維的向量空間中,以便于模型進行進一步的處理和識別。雙向長短期記憶網(wǎng)絡[12] (Bi-directional LongShort-Term Memory,BiLSTM) 作為一種常用的編碼器,能夠?qū)斎氲恼Z義信息選擇性地遺忘或傳遞,從而獲取長序列文本依賴的特征信息。然而,BiLSTM 在處理常含短序列文本的中文電子病歷時,如描述患者頭暈癥狀“3天前始有頭暈,頭昏沉感,并有頭痛,睡眠差”,會遇到梯度消失或梯度爆炸的問題,使得模型難以訓練和收斂。
解碼層根據(jù)編碼層輸出的特征向量序列預測每個位置上的實體標簽。然而,在醫(yī)療領域存在大量的嵌套命名實體。嵌套命名實體指的是在實體內(nèi)部還包含其他實體的特殊命名實體,例如,“顱內(nèi)血管畸形”的實體類型是“疾病”,同時還包含著實體類型為“部位”的“顱內(nèi)血管”,導致解碼器在進行預測時準確度降低。例如,使用 CRF 作為解碼器處理嵌套命名實體時會出現(xiàn)難以準確捕捉到實體內(nèi)部結(jié)構(gòu)的問題。
2 RBBEGP 命名實體識別模型
2.1 嵌入層RoBERTa-wwm-ext
RoBERTa-wwm-ext 是一種基于 BERT 的 Trans?former 網(wǎng)絡結(jié)構(gòu)的 PLMs。BERT 模型引入了兩個任務,任務一是下一語句預測(Next Sentence Prediction,NSP) ,該任務的目標是判斷輸入 BERT 模型的兩個文本段落是否連續(xù)。RoBERTa-wwm-ext[13]取消了這一任務,使得模型能夠更關注于語言本身的語義關系而非句子結(jié)構(gòu)。任務二是采用掩碼語言模型(Mask Lan?guage Model, MLM) 的方式隨機選擇輸入序列中的一些詞并用特殊符號[MASK]代替,模型根據(jù)給定的標簽對這些位置應該填入的詞進行預測。
RoBERTa-wwm-ext 采用一種基于全詞掩碼策略(Whole Word Mask,WWM) 的中文訓練方式,使模型充分考慮中文字詞構(gòu)成。通過將整個詞作為一個單元進行掩碼來替代單個字符掩碼,模型能夠理解中文詞匯的含義和全文關系。具體而言,LTP[14]分詞工具通過最大熵準則建模標注序列在輸入序列情況下的得分函數(shù),使其可以根據(jù)輸入序列的上下文信息,對詞語進行準確的建模和標注。在 RoBERTa-wwm-ext 中采用該分詞器將分好的詞作為訓練目標進行預測,有效解決 BERT 模型只能掩碼部分字詞的缺點,從而更準確地處理中文文本。
初始文本“高血壓可能引起腦梗塞”經(jīng)分詞以及兩種掩碼策略后的對比如表2所示。對于中文文本,使用 WWM 能夠分割到含有完整意義詞的位置并保留完整的信息,而 MLM 會丟失詞語中的重要信息,對中文 NLP 任務的識別效果產(chǎn)生一定的負面影響。
RoBERTa-wwm-ext 模型結(jié)構(gòu)如圖1 所示,其中[CLS]和[SEP]是特殊標記,分別對應句子的開頭與結(jié)尾,兩種標記能夠?qū)⒉糠种R編碼在權(quán)重中,以便分割語句,Ei 是對輸入文本進行全詞編碼后的向量,Ti為對應的輸出向量,Trm為Transfomer。
2.2 編碼層BiGRU
門控循環(huán)單元[15](Gated Recurrent Unit, GRU) 是長短期記憶網(wǎng)絡(Long Short-Term Memory, LSTM) 的一種變體,包含一個更新門和一個重置門。更新門確定當前時間步中應保留的信息,重置門確定哪些信息應該被丟棄。這樣的門控機制有利于控制信息的流動,以緩解梯度消失或梯度爆炸等問題,更適用于處理短序列數(shù)據(jù)。
BiGRU由分別用于正向與反向序列建模的兩個GRU組成,模型能夠結(jié)合上下文信息以提高序列數(shù)據(jù)的建模能力,避免GRU只能捕捉單向時間序列信息的缺陷。第一個GRU單元從序列的第一個時間步開始,向前掃描并生成一個隱藏狀態(tài)序列;另一個GRU單元從序列的最后一個時間步開始,向后掃描并生成另一個隱藏狀態(tài)序列。這些隱藏狀態(tài)序列中蘊含著與輸入序列相關的重要信息。各 GRU 單元通過結(jié)合更新門與重置門,在每個時間步上有效地更新隱藏狀態(tài)。
這種機制使得模型能夠理解序列數(shù)據(jù)的上下文信息,捕捉序列中的短期和長期依賴關系,提取關鍵特征并進行準確的預測或分類。相較于BiLSTM,Bi?GRU還減少了參數(shù),模型能夠快速收斂。模型結(jié)構(gòu)如圖 2 所示。
在i 時刻,隱藏層的輸出狀態(tài) hi 受到當前時刻的輸入向量xi、正向隱藏層輸出向量 以及反向隱藏層輸出向量的影響。這種雙向影響使得模型能夠同時考慮到當前時刻文本中的上下文信息,從而更全面地理解序列數(shù)據(jù)。通過結(jié)合正向和反向的隱藏層輸出,BiGRU能夠更準確地捕捉到序列中的關鍵模式和依賴關系。
2.3 解碼層EGP
指針網(wǎng)絡(Pointer Net?work) 通常采用兩個相互獨立的模塊來識別實體的頭部和尾部,這會導致訓練和預測的結(jié)果存在較大差異。GP同時考慮了實體的起始和終止位置,利用頭部和尾部的特征信息來預測嵌套實體,使得模型能夠從全局的角度捕捉文本中的信息。由于 GP的訓練和預測過程都是并行的,無須進行遞歸分母運算且預測時也不需要動態(tài)規(guī)劃,因此更加高效[16]。對于不同類別的實體,GP使用不同的 Head 進行預測,對“顱內(nèi)血管畸形”嵌套命名實體的預測如圖3所示。
定義打分函數(shù)sα (i,j ), i 為橫坐標,j 為縱坐標。對長度為n 的向量序列h1,h2,...,hn 中的每一個向量生成起始位置表征信息qi,α 和終止位置表征信息kj,α,標記Wq,α 和Wk,α 為變換矩陣,bq,α 和bk,α 為偏置,如式(6)~(7) 所示。
由上式可知,實體類型有多少種就需要有多少個矩陣Wq,α 和Wk,α, Wq,α 和Wk,α ∈ Rd × D,在GP模型中,每增加一種實體類型,則需要新增2Dd個參數(shù)。相較于CRF每增加一種實體類型只需要新增加2D個參數(shù)而言,這增加了d倍的參數(shù)量。常見的做法是D=768,d=64,可見GP模型的參數(shù)量遠遠大于CRF。為此,EGP 引入共享矩陣的理念對參數(shù)量進行優(yōu)化,將命名實體任務識別分解為“抽取”和“分類”兩個子任務:1) 在“抽取”階段認為只有一種實體類型,可以共用一個打分矩陣,即(Wq hi )T (Wk hj )。2)“ 分類”任務中使用“特征拼接+全連接層”來完成,將頭尾token的Embedding 相拼接。兩項相結(jié)合作為新的打分函數(shù),如式(10)所示,此時,每增加一種實體類型所需要的變換矩陣Wα ∈ R2D。
識別中文電子病歷中的命名實體過程如下:
1) 輸入中文電子病歷文本后,首先進行中文分詞處理。將能夠描述完整含義的字符或詞語作為獨立部分進行切分,并為語句添加特殊標記。
2) 將分詞后的文本轉(zhuǎn)換為詞向量,送入RoBERTa-wwm-ext 模型中,以便模型學習句子中的信息,得到結(jié)合語義信息的詞向量。
3) 將第 2) 步中的輸出向量作為BiGRU的輸入,通過兩種門控機制決定應當被保留或丟棄的信息。
4) 將第3) 步中的向量結(jié)合其他特征向量作為輸入矩陣輸入EGP中進行解碼。計算各標簽的得分后,選擇得分最高的標簽序列作為輸出,從而得到對應的實體類別。
3 實驗結(jié)果與分析
3.1 實驗參數(shù)
實驗參數(shù)設置如表3所示。
3.2 數(shù)據(jù)集
本文所采用的數(shù)據(jù)來源為CCKS2019Yidu-S4K 電子病歷數(shù)據(jù)集,該數(shù)據(jù)集由專業(yè)的醫(yī)學團隊進行人工標注,共有1 000條訓練文本與379條測試文本。表4顯示了該數(shù)據(jù)集中包含的疾病與診斷、檢查、檢驗、手術、藥物、解剖部位六類實體共計7 179條數(shù)據(jù)的分布情況。
3.3 評估指標
表5為測試集中將已標注的數(shù)據(jù)作為正樣本,其余數(shù)據(jù)作為負樣本的情況下,成功識別出的正樣本數(shù)量TP,誤以為正樣本的數(shù)量FP,未成功識別出的正樣本數(shù)量FN和成功識別出的負樣本數(shù)量TN。
3.4 實驗結(jié)果與分析
為評估RBBEGP在中文電子病歷命名實體識別中的性能,將其與BERT-BiLSTM-CRF、BERT-BiGRUCRF、RoBERTa-wwm-ext-BiLSTM-CRF、RoBERTawwm-ext-BiGRU-CRF 和BERT-BiGRU-EGP 等主流模型進行對比。各模型在測試集上的精確率、召回率和F1值如表6所示。
由模型1和2的對比可以看到,BiGRU性能略優(yōu)于BiLSTM。在實際訓練過程中,BiGRU也使得模型訓練速度得到了較大提升。從模型1和4的對比可看出,RoBERTa-wwm-ext相較于BERT在識別精確率、召回率和F1值上均有提高。最后,對比模型1、3與模型5、6可發(fā)現(xiàn),EGP相較于CRF可以大幅提高識別效果,并且可以推測在嵌套命名實體較多的數(shù)據(jù)集上,EGP 能夠達到更顯著的性能提升。相比于BERTBiLSTM-CRF模型,RBBEGP模型的識別精確率、召回率和F1值分別提高了0.91%、1.39%和1.22%。
通過表 7 中RBBEGP模型在各類實體上的識別表現(xiàn)來看,“手術”類別的實體由于訓練集占比較大,且該類命名實體在數(shù)據(jù)集中重復較多,因此得到了最好的識別效果。而“疾病與診斷”和“解剖部位”兩類實體由于數(shù)據(jù)量較多,能夠得到充分訓練,使得這兩類的識別效果要高于其他類別實體。特別是由于“疾病與診斷”類型包含較多嵌套命名實體,本文引入的EGP 模型在對其進行分類時能夠進一步提高識別效果?!皺z查與檢驗”類別由于訓練數(shù)據(jù)較少且實體中包含較多英文,導致模型對該類別的實體沒有進行充分的訓練,從而識別率較低。
4 結(jié)論
本文提出了一種基于RBBEGP的中文電子病歷命名實體識別模型。該模型在詞嵌入層采用RoBERTa-wwm-ext獲取輸入中文電子病歷文本序列的高維度動態(tài)詞向量,以適應中文文本的處理需求。編碼層采用BiGRU,有助于減少模型參數(shù)量,加快訓練速度,并且雙向GRU結(jié)構(gòu)能夠充分捕捉上下文信息,提高模型對序列數(shù)據(jù)的建模能力。最后,利用EGP進行解碼,對病歷文本中的命名實體進行識別與分類,有利于從全局的角度處理嵌套命名實體,并進一步減少訓練時間。
實驗結(jié)果表明,RBBEGP模型在CCKS2019電子病歷數(shù)據(jù)集上的精確率、召回率和F1值相較于BERTBiLSTM-CRF等主流模型有所提升,分別達到83.36%、83.25%和83.30%。然而,EGP在識別過程中常會出現(xiàn)堆疊的同類實體,如何有效地處理和確認類型相同的實體取舍問題可以作為后續(xù)的研究方向加以改進。