?

電子病歷的關系語義實體識別

2023-09-19 04:56蔡翟源奚雪峰崔志明盛勝利
關鍵詞:病歷實體標簽

蔡翟源, 陳 杰, 奚雪峰,3*, 崔志明, 盛勝利

(1.蘇州科技大學電子與信息工程學院,江蘇 蘇州 215009;2.蘇州虛擬現實智能交互及應用技術重點實驗室,江蘇 蘇州 215009;3.蘇州智慧城市研究院,江蘇 蘇州 215009;4.德州理工大學,得克薩斯州 拉伯克市 79401)

自然語言處理(Natural Language Processing,NLP)是人工智能領域的一個重要分支,其中命名實體識別(Named Entity Recognition,NER)是NLP 領域的最基礎、最重要的任務之一。 命名實體識別的一般目標是對包括3 大類以及7 小類的文本段進行命名實體的抽取,將文本從非結構化的數據形式轉化為結構化數據形式,方便存儲以及后續對文本的處理應用,在信息抽取、機器問答等自然語言處理任務中有較為廣泛的應用。

目前隨著生物醫學技術的發展,醫療領域的文獻以及資料數目已經成幾何級增長,運用NER 技術實現醫療文本的實體識別可以大大提高醫療效率。 特別是目前新型冠狀病毒的爆發,更加引起人們對健康的關注,并且有力帶動醫療技術的快速進步。 在醫療領域,醫務工作者通過醫療管理系統,直接將患者的基本信息和病況信息錄入系統,存儲在服務器中,生成電子醫療數據,其中電子病歷是最為常見的一種電子醫療文本。 對電子病歷文本進行實體識別,將繁雜的醫療文本以結構化的數據形式存儲起來,給醫學工作者在后續的分析數據工作中節省了很多時間,并為醫學工作提供更加高效的分析、研究和決策。

電子病歷實體識別主要關注于臨床病歷中的疾病癥狀、檢查、手術、藥物等專有詞語,相較于通用領域實體識別,電子病歷實體識別的詞語更傾向于短語結構,例如,在病歷記錄中,記錄患者“無靜脈曲張”包含疾病詞“靜脈曲張”和“患者未患有”兩種信息。 目前國內公開的電子病歷實體識別數據集——醫渡云數據集,在疾病實體標記時,只標記出與疾病相關的專有名詞,而沒有將疾病與患者關聯起來,例如“無靜脈曲張”,醫渡云數據集將“靜脈曲張”標記為疾病實體,但是事實上,患者并未患有該病。 假如需要統計患有靜脈曲張的病人數,僅識別出靜脈曲張將會導致統計錯誤。

1 相關工作

電子病歷的命名實體識別主要實現方案可以分為四大類:基于字典的方法、基于規則的方法、基于傳統機器學習的方法以及基于深度學習的方法。早期基于字典的方法提取實體雖然在結構上有易于實現的優點,但是無法解決一詞多義等問題,需要人工維護詞典,并且召回率也比較低;后來出現了基于規則的方法,例如,李瑩[1]對家族史病歷,通過人工學習和發現的辦法學習了一套淺層句法分析器,實現了家族病史實體提取。 這種基于規則的方法,需要手工制作符合數據集的特征集,在不滿足提取規則的文本上無法正確提取結果。 以上兩種方法均不能成功應用于未訓練過的的實體識別,而醫療領域出現了新的病癥名、藥物名等詞匯是較為常見的。

后來,基于統計的機器學習方法被應用于命名實體識別,包括隱馬科夫模型(HMM)、最大熵馬爾科夫模型(MEMM)、條件隨機場模型(CRF)。 在醫療領域使用最多的就是條件隨機場模型(CRF),劉凱等人[2]將CRF模型應用在中醫電子病歷實體識別中, 通過結合特征模板MT3 糖尿病病癥的實體提取結果F1可以達到80%;栗偉等人[3]使用CRF 與規則相結合方法,先用CRF 進行病歷實體的初始識別,然后基于規則進行病歷實體識別結果優化,最后實體識別最高F1值可以達到87.26%。

隨著計算機算力的大幅提升,基于深度學習的命名實體識別方法也應運而生,并且在命名實體領域取得了很好的結果。 基于深度學習的方法可以解決采用傳統方法帶來的過于依靠人工特征提取,提高了效率,因此成為近來的研究熱點。 曹依依等人[4]構建了卷積神經網絡CNN 與條件隨機場CRF 的融合模型框架,F1值達到了90.31%。 陳德鑫等人[5]構建了基于CNN+BiLSTM 模型的在線醫療實體抽取研究,最后疾病和醫院實體抽取F1值可以達到97%,其余的多種實體也都可以達到91%以上。 張華麗等人[6]使用結合注意力機制的BiLSTM-CRF 融合模型進行中文電子病歷命名實體識別,通過注意力機制獲取字符間的依賴關系,從而優化實體識別準確率。 2018 年,Devlin 等人[7]首次提出了BERT 預訓練模型,此后BERT 被應用于實體識別領域,BERT 模型相比于傳統的嵌入模型,可以更好的學習上下文語義信息。 陳琛等人[8]將BERT 預訓練模型應用到醫療命名實體識別中,構建了BERT-BiLSTM-CRF 模型,其結果對比于Baseline 的F1值提高了1.1%。

2 多語義電子病歷實體識別介紹

2.1 醫渡云數據集介紹

醫渡云數據集包括1 500 標注文本,1 000 條非標注文本。其中標注的實體類別6 種,標注的醫療實體詞表6 292 個,總共標注了26 414 個實體數據。 標注數據集統計如圖1 所示。

圖1 實體類別統計

對于醫渡云數據集實體類別的基本釋義見表1。醫渡云數據集采用的標注策略為BIO 標注模式,也就是將實體的開頭字標記為B-X(其中X 為實體類別),實體的中間字標記為I-X,其余字符定義為無關字符,標記為O。

表1 醫渡云數據類別描述

舉例說明:“患者腹疼痛加重”。 這句話中“患者”、“加重”都是無關字符,標簽定義為O,“腹疼痛”為醫療實體中的疾病類,具體細分“腹”為實體“腹疼痛”的開始,標簽標記為B-疾病,“疼痛”為“腹疼痛”的內部,對“疼痛”分別標記為I。 該數據集對醫療領域的疾病專有名詞做出標注,采用的標簽為單語義標簽,一個標簽只包含名詞類別,無法涵蓋該名詞與患者的關系,在很多場合,需要判斷患者現在是否存在腹疼痛,或者是以往出現過腹疼痛的情況,因此,單標簽無法包含相應的語義信息。

2.2 數據集標簽分類及標注策略

在電子病歷的文本信息挖掘任務中,除了醫療名詞信息識別之外,名詞實體與患者之間的關系信息識別也是其他任務展開的基礎,這種關系信息的識別任務也是其他諸多工作的基礎[9]。 關系信息主要反映疾病或癥狀在病歷文本中存在的狀態,這種狀態主要體現在疾病或癥狀是否發生在患者本人身上,或已發生的疾病或癥狀與患者本人之間的程度,如是否當下發生的疾病或癥狀。 參照衛生部發布的電子病歷數據組與數據元標準[9]以及I2B2 2010 評測任務提出的關系信息類別,并且對醫渡云數據集進行觀察分析,最終將“疾病與診斷”類和患者的關系分為四類:“當前的”“可能的”“既往的”“否認的”。表2 對這四類關系做出進一步描述。

表2 疾病與患者關系類別描述

由于需要在標簽中包含關系信息,原來的醫渡云標注方案無法做到,因此,文中引入多標簽標注方案,例如,醫渡云數據集里:“2014-11-20 復查MRI 提示右附件區囊實性腫塊,考慮卵巢癌。 ”該句話中將“卵”標注為B-疾病,“巢癌”分別標記為I-疾病,但在此句話中“卵巢癌”僅僅是醫生推測患者可能存在的疾病,并非實質性確定為患者患有的疾病,在文中定義的標簽中,沿用原數據集的BIO 標注模式,并結合上下文語義,將其標簽做出調整。上例中調整后,“卵”:B-疾病-可能的;“巢癌”:I-疾病-可能的。經過這樣的轉換,將僅包含名詞實體信息的標簽轉換為帶有關系的實體標簽。 標注實例如圖2 所示。

圖2 多標簽標注實例

相對于專業名詞標注,疾病與患者的關系語義不需要專業知識也可以進行標注。 筆者在醫渡云數據集標注的基礎上進行疾病關系標注,該數據集并未完全將所有的疾病或者癥狀標注出來,因此,文中也不會對原來未標注的專有名詞進行標注。 原數據集不僅提供了原文以及標簽數據,還提供了已經標注的名詞的詞表,這便利了研究者的標注工作。 根據詞表中的疾病與診斷類對應的專有名詞筆者定位到原文中,通過閱讀上下文,將標注為疾病類別的實體加入以上四類關系語義,形成多標簽標注數據集。

3 模型

文中提出的用于實體識別的模型基于端到端的結構[10]。 主要由四部分組成:ALBERT 預訓練模型、BiLSTM 編碼層、Attention 機制、CRF 解碼層。 將電子病歷文本輸入ALBERT 模型中,輸出接BiLSTM 的輸入層,通過Attention 機制獲得強關注信息,最后將Attention 向量輸入到CRF 層進行序列解碼,得到每個字的標注類型,模型的結構圖如圖3 所示。

圖3 模型結構圖

3.1 預訓練模型層

3.1.1 BERT 模型

語言模型在自然語言處理中是一個很重要的概念,BERT 模型是谷歌在2018 年提出的大型語料庫預訓練模型, 該模型推出后, 就在自然語言處理任務中被廣泛應用, 并且在很多方面取得了超越人類的能力。BERT 模型解決了傳統語言模型單向編碼以及無法融合文本語義信息的缺陷, 因而也可以通過上下文關聯解決一詞多義的問題。BERT 模型結構圖4 所示。BRERT 模型參照了GPT[11]模型與ELMO[12]模型的優點,采用了雙向Transformer[13]結構作為編碼器,使用Transformer 替代LSTM,使得模型可以更好地表達語義信息。Transformer 是一種基于注意力機制的編碼單元。通過Transformer 結構,可以將文字內部聯系關聯起來。模型的結構圖如圖5 所示。

圖4 BERT 預訓練語言模型

圖5 Transformer 編碼結構

圖6 LSTM 內部結構

BERT 在訓練時增加Masked 和下文預測兩種任務。 使得模型可以更好地獲取詞語間信息和整體表達。

3.1.2 ALBERT 模型

ALBERT 模型是Lan 等[14]在2019 年提出的輕量級BERT,在3 個方面對BERT 模型進行了改進:(1)對嵌入的因式分解;(2)跨層參數共享;(3)句間連貫性損失。 將ALBERT 預訓練模型直接用于電子病歷詞表征會存在不準確的問題,因為電子病歷的文字表述并不是與公共語料庫描述方式相似,其中的詞語與句子也是專業術語,因此,必須使用ABERT 針對醫療領域語料庫進行預訓練,文中利用ALBERT 模型對電子病歷文本進行預訓練學習文字表示。

3.2 BiLSTM 層

臨床電子病歷信息數據通常具有復雜的上下文關系以及復雜的醫學用語, 單向LSTM 無法處理上下文信息,所以本文利用BiLSTM 計算捕捉文本的雙向語義依賴關系[15]。 BiLSTM(長短期記憶神經網絡)是一種特殊的RNN網絡,解決了普通神經網絡在長序列時出現的梯度爆炸以及梯度消失的問題。 LSTM 結構有兩個狀態: 一個ct(cell state);另一個ht(hidden state)。 RNN 中的ht相當于LSTM中的ct,對于傳遞下去的ct改變的很慢,通常輸出的ct是上一個狀態傳過來的ct-1加上一些數值。

3.3 Attention 層

經過BiLSTM 后,雖然模型學習了豐富的上下文信息,但是每一個特征的權重都是一樣的,沒有突出不同詞的重要程度。 例如, “患者于5 天前出現腹部疼痛”,“患者”該詞對癥狀“腹部疼痛”的識別沒有影響,模型將患者和其他詞匯以同等的權重進行特征提取,無法突出關注更加有用的信息,因此,文中在基礎的實體識別模型中加入Attention 機制,使得模型可以學習到每一個元素的重要程度,從而提高識別精度。 Attention將BiLSTM 輸出隱層進行加權[16]。

3.4 CRF 層

模型的最后一層用于標簽的預測,一般的實體標簽預測的方法都是將預測的標簽當做是相互獨立的,但事實上每個標簽都是有聯系的。例如,疾病實體“慢性支氣管炎”,經過標注的結果為{B,I,I,I,I,I },在這個標注的結果中,不能出現類似{B,O,I,I,I,I}這種O 在I 之前的情況。

所以在進行標簽預測的時候還要對標簽序列進行合理性約束,CRF 通過特征約束捕捉序列標簽的關系,輸出序列預測類型。 CRF 約束標簽的依賴關系,避免出現無效的序列標簽輸出。 將通過Attention 層的權重向量經過CRF 層解碼,最終輸出預測的標簽結果。

4 實驗設計

4.1 數據集

文中構建的多語義電子病歷數據集是在醫渡云數據集基礎進行人工標注形成,針對原數據集疾病與診斷實體類,額外增加了四類關系信息,將單標簽數據變為多標簽數據。 在標注數據時發現原數據集某些標簽存在偏移的現象,即一段病歷描述中標簽的起始和結束序列位置都與原文存在一定偏差,筆者對這些標簽進行了校正。 原數據集總共6 211 個疾病與診斷實體,經過標注后,“當前的”疾病總共4 293 個,“否認的”疾病總共418 個,“可能的”疾病共1 235 個,“既往的”疾病共265 個。文中將數據集大致按照8∶1∶1 的比例進行分配為訓練疾病和診斷-可能的集、驗證集、測試集。 各類實體分布見表3。

表3 關系語義實體數量分布

4.2 評價指標

該實驗采用的評價指標主要是精確率(Precision)、召回率(Recall)和F1-Score。

精確率代表在被所有測試集中預測為正的樣本中實際為正樣本的概率,表達式為

其中,TP代表預測為正,實際為正,預測正確;FP代表預測為正,實際為負,預測錯誤。

召回率是針對原測試集而言的,其含義是在實際為正的樣本中被預測為正樣本的概率,表達式為

其中,FN代表預測為負,實際為正,預測錯誤;TP代表預測為正,實際為正,預測正確。

F1-Score 同時考慮精確率和召回率,讓兩者同時達到最高,取得平衡。F1分數表達式為

4.3 實驗環境設置

該實驗的環境配置:操作系統(Ubuntu 14.0),CPU(i7-9850H@2.60GHz),GPU(GTX 2080Ti*4),Python(3.7.3),Tensorflow(1.15.2),內存(16GB DDR4)。

該論文實驗基于TensorFlow-Gpu1.15.2 深度學習框架和keras、numpy、seqeval 等第三方庫, 使用1.8 M大小的ALBERT _TINY 模型;使用四塊2080Ti 顯卡進行訓練。

4.4 實驗結果及分析

4.4.1 模型有效性分析

為了驗證模型的有效性,先使用文中的模型在醫渡云原始數據集上進行測試,并對比上文所述的幾種典型模型。包括CNN-CRF 模型、BiLSTM-CRF 模型、BERT-BiLSTM-CRF 模型以及文中模型。實驗結果對比見表4。

表4 典型模型實驗對比

將文中的實驗結果與CNN-CRF、BiLSTM -CRF、BERT-BiLSTM-CRF 三種模型的實驗結果對比,根據F1指標可以發現,檢驗實體識別可以達到最高96.3%的好效果,大多數實體的精確率、召回率均有所提升,不僅如此采用ALBERT 預訓練模型的訓練速度也要提升不少。 為了更加直觀地展現提升情況,文中又構建了如圖7 所示的F1-Score 對比圖(其中疾病類代表疾病與診斷),從圖中可以清晰的看到ALBERT-BiLSTM-CRF模型(粗實線)的描繪圖面積最大,這說明在所有醫療實體識別類別中,該模型的效果好過其余典型模型。 該模型F1-Score 均好于其他模型。 由于BERT 參數量眾多(文中采用的BERT 模型參數達到了334 M),相較于BERT 模型,文中采用的同樣隱層量的ALBERT 模型,參數量僅為18 M,如此巨大的參數縮減,極大降低了模型訓練的成本,提高了模型運行的速度,并且得到了比BERT 模型更好的結果。

圖7 4 個模型在6 種實體類別中的F1-Score 表現雷達圖

將對比模型與文中實驗模型進行消融實驗,用于研究模型每個組件對實體識別結果的貢獻度。 為了便于分析結果,該消融實驗所得到的評價指標數值均為所有實體類別的平均值。 表5 中的衡量指標表明了模型的各個部分被單獨分割之后,模型的性能會出現降低。當去掉CRF 解碼層后,觀察到三個基線模型和文中模型都出現了性能上的大幅降低,降低幅度大概在10%,因此,表明CRF 層對于此任務至關重;當BiLSTMCRF、BERT-BiLSTM-CRF、ALBERT-BiLSTM-Attention-CRF 這三個模型結構簡化成單向版本, 性能也出現了不同幅度的降低,降低幅度分別為5.32%、3.70%、3.20%,可以看出文中的模型相對于其他模型在魯棒性上有所提升;該模型中的Attention 層被去除后,模型的性能下降了2.2%。 通過這些實驗,可以發現文中的模型具有更好的實驗結果。

表5 消融實驗

4.4.2 多標簽數據集實驗

上述實驗證明了該模型的優越性,將該模型應用于標注的關系語義數據集,為了得到較為優秀的實驗結果,對Dropout(丟棄率)進行調整實驗,使用不同的Dropout 分別進行實驗,結果見表6。

表6 不同Dropout 對實驗結果的影響

從表6 可以看出,Dropout 從0.1 到0.5 變化過程中,結果存在波動,但Dropout 為0.1 時整體效果最好,因此,選用Dropout 為0.1。 最終得到關于精確率、召回率、F1-Score 三個評價指標的實驗結果,見表7。

表7 實體識別結果

觀察實驗數據, 四類帶有修飾信息的類別總體F1-Score 達到了74.1%, 其中疾病和診斷-當前的類F1-Score 達到了80.3%的實驗結果,相較于原數據集疾病和診斷類別81.5%的結果,最高分數的實體類實驗結果下降了1.2%,這是由于將原疾病和診斷類別進行拆分后造成的。根據F1-Score 可以發現,當前的疾病診斷類的指標表現最好達到了80.3%,既往的疾病診斷類最差只有65.4%。 這四類實體識別的精確率差距較大,推測原因主要是疾病和診斷-當前的類訓練數據最多,疾病和診斷-既往的數據量最少,較少的數據量導致模型沒有很好地學習到既往的類別的上下文語義特征。 疾病和診斷-否認的類別和疾病和診斷-既往的類別訓練數據都相對較少,但是疾病和診斷-既往的的語義信息較為復雜,識別結果比疾病和診斷-否認的類別效果差很大。

5 結語

針對醫療領域實體數據集,筆者提出了ALBERT-BiLSTM-Attention-CRF 模型,在上游采用ALBERT 進行預訓練模型,學習詞表示,使用BiLSTM 融合上下文表征,通過Attention 進行關注表征,最后通過CRF 約束標簽預測。 發揮了ALBERT 模型的學習文本信息的優勢,也融合了語義依賴表征,在極大削弱了BERT 的參數的情況下,顯著減少了訓練時間,最后還取得了突破傳統醫療實體識別方法的效果。 并且針對醫渡云數據集標注不完善,缺少語義信息的問題,提出一種多標簽的標注法,進行再標注。 實驗表明,再標注后的數據集識別效果良好,既可以識別出疾病診斷類,又可以識別疾病與患者的關系,為醫療實體數據集標注提出了一種新的標注策略。

仍需要改進的地方:(1)標注的數據集數量過少,不利模型學習到足夠特征,后續可以通過數據增強等技術擴大數據量。 (2)文中僅針對疾病與診斷類進行語義關系標注,除此之外,手術、藥物也存在相應的語義關系(手術藥物均有既往的與當前的等語義信息),但由于醫渡云數據選用的電子病歷描述的手術、藥物實體往往都是當前發生的實體,既往的或者其他語義的實體過少,不適合進行二次標注。 后續筆者會在新的數據集上應用文中的方法進行實驗驗證。 (3)模型可以進一步考慮電子病歷的特征,融入漢字偏旁等字形特征,提高識別精度。

猜你喜歡
病歷實體標簽
強迫癥病歷簿
“大數的認識”的診斷病歷
前海自貿區:金融服務實體
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
為何要公開全部病歷?
標簽化傷害了誰
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合