蔡曉瓊,鄭增亮,蘇前敏,郭晶磊
(1 上海工程技術大學 電子電氣工程學院,上海 201620;2 上海中醫藥大學 基礎醫學院,上海 201203)
生物醫學命名實體識別,是生物醫學信息提取領域最基本的任務之一,其準確性對后續研究工作至關重要。隨著生物醫學研究與信息化技術的迅速發展,臨床醫學文獻數量呈指數級增長,這些資源中存在大量非結構化數據,迫切需要開發一些自動化技術,來解決生物醫學領域的單詞分割、實體識別、關系抽取、主題分類等問題。由于生物醫學實體的多樣性和變異性,識別生物醫學實體是一項非常具有挑戰性的任務。目前,生物醫學命名實體識別方法主要分為基于字典和規則的方法,以及基于深度學習的方法。
基于規則的命名實體識別方法主要依賴于人工定義的詞典和規則,可以根據特定領域的詞典和句法-詞匯模式來進行設計。一些著名的基于規則的命名實體識別模型包括LaSIE-II、Sra、FASTUS 和LTG 等[1-4]。與傳統方法相比,引入深度學習技術的命名實體識別方法,通過在大規模語料庫中進行訓練與學習,自動提取語義特征,使模型具有較強的泛化能力,同時降低了人力與時間成本。目前常用的詞嵌入方法是由Mikolov 等[5]提出的Word2Vec模型。但該方法訓練獲得的詞向量是靜態的,無法解決一詞多義問題。隨著自然語言處理技術的發展,ELMo[6]、BERT[7]和XLNet[8]等預訓練語言模型的推出,為下游任務提供了極大的幫助,對模型進行微調后,在命名實體識別任務上取得了較好的效果。但ELMo 輸出的語義表征是單向的,無法獲得更全面的雙向信息;BERT 和XLNet 采用的MLM 和PLM 方法各自存在局限性,在用于下游任務微調時,會造成預訓練和微調不匹配。為了解決以上問題,南京大學和微軟共同提出了基于MLM 和PLM各自優點的預訓練模型MPNet[9],彌補了MLM 無法學習tokens 之間依賴關系的不足,同時克服了PLM 無法獲得下游任務中可見完整信息的問題。
針對目前臨床試驗文本研究匱乏、語料不足與標注質量不高等問題,本文結合UMLS 語義網絡和專家定義方法建立了COVID-19 臨床實體識別語料庫,并將預訓練語言模型MPNet 引入COVID-19 臨床實體識別任務中,提出了一種基于MPNet 與BiLSTM 的醫學實體識別模型。
本文提出的MPNet-BiLSTM-CRF 命名實體識別模型主要結構如圖1 所示。采用MPNet 預訓練模型作為嵌入層對輸入進行語義提取生成動態詞向量;采用BiLSTM 捕捉長距離依賴關系;最后由CRF推理層進行最佳標注序列解碼,預測出全局最優標簽。該方法在經典BiLSTM-CRF 的基礎上進行了改進,引入了MPNet 語言模型,在預測掩碼標記的同時以更多的信息為條件,從而獲得更好的學習表征,并減少了微調階段的差異。

圖1 MPNet-BiLSTM-CRF 模型結構圖Fig.1 The structure of MPNet-BiLSTM-CRF model
MPNet 模型的注意力掩碼機制:首先設長度n =6 的輸入序列為(x1,x2,x3,x4,x5,x6),若隨機生成的序列為(x5,x4,x2,x6,x3,x1),預測值分別是x6、x3和x1,則非預測序列表示為(x5,x4,x2,[MASK],[MASK],[MASK] ),對應位置序列為(P5,P4,P2,P6,P3,P1)。其次,為 了能讓預測部分 的[MASK]看到之前預測的tokens,MPNet 采用了PLM 雙流自注意力機制完成自回歸生成,并為內容流和查詢流設置了不同的掩蔽機制。例如,MPNet在預測上述序列中的x3時,能在非預測部分看到(x5+P5,x4+P4,x2+P2),同時在預測部分看到之前預測的(x6+P6),從而避免MLM 中依賴關系遺漏的問題。此外,為了確保預訓練中輸入信息與下游任務中輸入信息的一致性,MPNet 在非預測部分增加了掩碼符號和位置信息([MASK]+P6,[MASK]+P3,[MASK]+P1),使模型能看到完整的句子。當預測x3時,能在非預測部分看到原始的(x5+P5,x4+P4,x2+P2)以及引入了額外tokens和位置信息的([MASK]+P3,[MASK]+P1),同時在預測部分看到之前預測的(x6+P6)。通過上述辦法對查詢流和內容流進行位置補償后的模型,能夠大幅減少預訓練與微調之間輸入不一致的問題。
假定句子為“to take up seasonal flu vaccination”,模 型 輸 入 序 列 為[to,take up,seasonal,flu,vaccination],需 要 預 測 的token 是[seasonal,flu,vaccination],MPNet 的因子化如下:

自Vaswani 等[10]提出Transformer 這一基于自注意力機制的深度學習模型以來,已被廣泛應用到NLP 領域中解決各種復雜問題,幾款主流的預訓練語言模型(如BERT、XLNet 和ALBERT 等)都以Transformer 作為其骨干網絡。傳統語言模型通常基于CNN 或RNN 編碼器進行訓練,在長周期語境建模中能力較為欠缺,并且在學習單詞表征時存在位置偏差,尤其RNN 是按順序處理輸入的,即一個字一個字地處理,對計算機硬件的并行能力要求較高。為了克服現有深度學習模型的缺點,Transformer 在每個關鍵模塊中引入了Attention 機制,大幅提升了模型對文本的特征提取能力。此外,Transformer 還引入了多頭注意力機制(Multi-Head Attention),使模型能夠使用各個序列位置的各個子空間的表征信息來進行序列數據處理,其相當于多個不同的自注意力模塊的集成,從而構成蘊含完整語料信息的多粒度特征。標準的Transformer 結構如圖2 所示。

圖2 標準Transformer 結構圖Fig.2 Standard Transformer structure diagram
通 過 圖2 可 知,Transformer 由encoder 和decoder 兩部分組合而成。其中,encoder 通過6 個編碼器疊加構成,每個encoder 中都包含一個自注意力層和前饋神經網絡層,兩個子層之間通過殘差網絡結構進行連接,后接一個正則化層。為了方便各層之間的殘差連接,模型中所有子層的輸出維度均為512。Decoder 也由6 個完全相同的解碼器疊加組成,除了與編碼器完全一致的兩個子層外,Decoder 還設置了一個多頭注意力層。多頭注意力層是由多個自注意力層拼接而成的,可以捕捉到單詞之間各維度上的相關系數。
為了解決傳統循環神經網絡(Recurrent Neural Network,RNN)在訓練較長語句時可能導致梯度爆炸和梯度消失問題,Hochreiter 等人[11]提出了長短期記憶網絡(Long Short-Term Memory,LSTM),該模型能夠在長文本訓練中捕捉長距離依賴特征。與標準RNN 模型相比,LSTM 在其結構基礎上增加了門控機制和記憶單元兩個模塊。其中,記憶單元用于存儲文本特征,門控機制則對記憶單元中的存儲信息進行篩選。LSTM 模型分別設置了輸入門、遺忘門和輸出門保護和控制細胞狀態,通過累加更新傳遞信息的方式,消除了RNN 模型在處理長文本任務時可能出現的問題,其單元結構如圖3 所示。

圖3 LSTM 單元結構圖Fig.3 LSTM unit structure
LSTM 模型是由t時刻的輸入詞Xt、細胞狀態Ct、臨時細胞狀態隱含狀態ht、遺忘門ft、記憶門it及輸出門ot組成,通過對細胞狀態中信息遺忘和記憶新的信息,使得對后續時刻計算有用的信息得以傳遞,而無用的信息被摒棄,并在每個時間步都會輸出隱含狀態ht。其中遺忘、記憶與輸出通過上一時刻的隱含狀態ht-1和當前輸入Xt計算出來的遺忘門ft、記憶門it和輸出門ot來控制,遺忘門計算如公式(2):

其中,輸入為前一時刻的隱含狀態ht -1和當前時刻的輸入詞Xt。
記憶門的值it和臨時細胞狀態分別由公式(3)和公式(4)計算得出:

根據輸入為記憶門的值it、遺忘門的值ft、臨時細胞狀態和上一時刻細胞狀態Ct -1計算t時刻細胞狀態Ct為

前一時刻的隱含狀態ht -1、當前時刻的輸入詞Xt和當前時刻細胞狀態ht,計算t時刻輸出門的值ot和隱含狀態ht為

其中,σ為sigmoid函數;tanh 為雙曲正切激活函數;W和b分別表示鏈接兩層的權重矩陣和偏置向量。經過LSTM 模型計算后,最終即可得到與句子長度相同的隱含狀態序列{h0,h1,…,hn-1}。
對于處理NLP 任務(尤其對序列標注任務),上下文內容無論對單詞、詞組還是字符,在整個研究過程中都尤為重要。通常情況下,LSTM 常用單元為前向傳播,然而在研究序列問題時,前向LSTM 無法處理下文的內容信息,從而導致模型無法學習到下文的知識,影響最終模型效果。而雙向長短期記憶網絡(Bi -directional Long Short -Term Memory,BiLSTM)既能獲取上文信息,又能捕獲下文內容,對雙向信息都能進行記憶,通過同時得到前后兩個方向的輸出,來提高整個NLP 模型的性能。BiLSTM模型結構如圖4 所示。

圖4 BiLSTM 模型結構圖Fig.4 BiLSTM model structure
條件隨機場(Conditional Random Field,CRF)是Lafferty 等[12]基于最大熵模型和隱馬爾可夫模型所提出的一種判別式概率無向圖學習模型,常用于標注和切分有序數據的條件概率模型。在序列任務標注任務中,令X =(X1,X2,…,Xn)表示模型的觀察序列,Y =(Y1,Y2,…,Yn)表示狀態序列,P(Y |X)為線性鏈條件隨機場,則在隨機變量X取值為x的條件下,計算狀態序列Y取值為y的條件概率分布P(Y |X),計算公式為

其中,tk、sl為特征函數,其函數取值為0 或1(當滿足特征條件時,函數取值為1,反之為0);λk、ul為對應權重;Z(x)為歸一化因子,其計算公式為

為了對上述公式進行簡化,可將轉移特征、狀態特征及其權重用統一的符號進行表示,簡化后的公式為

CRF 中最重要的就是訓練模型的權重。通常情況下,使用最大化對數似然函數進行CRF 模型的訓練,通過式(12)計算在給定條件下,標簽序列Y的條件概率:

最后,在CRF 模型預測過程中采用維特比(Viterbi)算法來求解全局最優序列,通過該算法可以計算出與預測對象對應的最大概率標簽,計算公式為

本文使用的是美國臨床試驗注冊中心(ClinicalTrials,CT)中的COVID-19 相關臨床試驗注冊數據,CT 官方網址為https://clinicaltrials.gov。CT 中收錄了臨床研究者在世界各地進行的私人或公共資助的臨床研究項目,其中包含有關人類志愿者醫學研究的信息。隨著COVID-19 的爆發,越來越多相關的臨床試驗在此平臺進行了注冊,臨床記錄中富含COVID-19 相關的臨床醫學知識。考慮到試驗結束前可能存在信息更新不完整的問題,本文基于已完成的697 項干預性試驗數據進行COVID-19 臨床試驗的命名實體識別實驗。
本研究采用的NER 模型基于PyTorch 深度學習框架,實驗環境配置見表1。

表1 實驗環境配置Tab.1 Experimental environment configuration
本研究采用微軟發布的MPNet 模型,由12 個Transformer 層組合而成,隱藏層維度設為768,12 個注意頭模式;使用GELU 作為其激活函數,BiLSTM隱藏單元為128。在訓練階段,MPNet-BiLSTM-CRF的最大序列長度為256,batch_size 為128,MPNet 學習率設為3e-5,Dropout 為0.1,其他模塊Dropout 為0.3,并通過Adam 優化算法對模型進行訓練。
臨床試驗注冊中的非結構化文本主要涉及了具有特定意義的相關醫學實體。例如:藥物名稱“Remdesivir”、醫療程序“bronchoalveolar lavage”、疾病名稱“COVID-19”等等。不同的研究對醫療實體的標注規則和定義都有一定差異,統一醫學語言系統(Unified Medical Language System,UMLS)收錄了超過500 萬條生物醫學術語,至少200 萬種醫學概念,目前已廣泛應用于文獻分類、臨床研究和中英文電子病歷等領域中。本研究參考了UMLS 定義的實體類別以及文獻[13]中提出的醫學實體標注規范,對臨床試驗注冊內容規定了實體標準和含義,結合文本內容定義了8 種類別的臨床實體,COVID-19臨床文本命名實體識別示例見表2。

表2 實體類型定義與示例Tab.2 Entity type definitions and examples
NER 任務旨在提取文本中的命名實體,如名稱或帶有適當NER 類的標簽,本文使用BIO 標注方式對序列進行標注。在這種格式中,不屬于實體的標記被標記為“O”,“B”標記對應實體的第一個單詞,“I”標記對應同一實體的其余單詞。“B”和“I”標簽后跟連字符(或下劃線),后跟實體類別縮寫(如Dru、Dis、Syp 等),表3 是對COVID-19 臨床實體預測標簽的示例。

表3 實體預測標簽定義Tab.3 Entity prediction label definitions
本研究采用精確率(P)、召回率(R)和F1 值(F1)作為模型的評價指標。P是指正確識別的實體占全部預測實體的比重,R是正確識別的實體占語料庫中所有實體的比重。各指標對應的計算公式如下:

其中,TP指正確地將正例預測為正的數量;FP指錯誤地將負例預測為正的數量;FN指錯誤地將正例預測為負的數量。
為了驗證本文提出的MPNet-BiLSTM-CRF 融合模型對COVID-19 臨床試驗注冊實體具有較好的識別效果,與以下幾種方法進行對比實驗:
(1)經典的BiLSTM-CRF 模型:該模型采用word2vec 訓練得到的詞,嵌入向量作為輸入,然后通過雙向LSTM 層和CRF 完成編碼與識別任務。目前該模型已廣泛應用于中英文生物醫學NER 任務中,并取得了良好的效果。
(2)Att-BiLSTM-CRF 融合模型[14]:該模型通過引入Attention 機制,確保模型能夠專注于標記本文中同一token 的多個實例之間的一致性。
(3)XLNet-BiLSTM-CRF 模型[15]:該模型使用XLNet 預訓練語言模型提取句子特征,然后將經典神經網絡模型與獲取的特征相結合,在公共醫療數據集上識別效果較好。
(4)BERT-BiLSTM-CRF 模型:通過使用BERT替換上個模型中的XLNet 方法。與現有方法相比,該模型在英文生物醫學NER 任務中具有更好的表現[16]。
對于不同的實體類型,各模型的實驗結果見表4。由表4 可知,本文提出的MPNet-BiLSTM-CRF模型在大部分實體上表現較好,少數幾類實體上表現略遜于基于XLNet 的融合模型,但F1 值的差別不明顯。在所有模型的實驗結果中,“Disease”、“Symptom”和“Severity”的F1 值較高,這是由于在摘要中這3 類實體結構簡單且包含的信息種類較少,模型能夠充分學習這些文本的特征。通過分析另外幾種實體發現,存在訓練數據集較少導致過擬合現象,另外部分實體結構復雜且出現次數少(例如為特定情況下COVID-19 防治選用的藥物、檢查或治療措施),導致模型難以充分提取其特征。在后續COVID-19 臨床試驗摘要的NER 任務中,可以通過適量加入專業的英語語料庫來增加語義特征,從而優化模型的識別能力。由表5 中展示的實驗結果可知,在COVID-19臨床試驗注冊數據集中,MPNet-BiLSTM-CRF 模型與其它4 種模型相比,整體的精確率、召回率和F1值都有所提高。經典BiLSTM-CRF 模型實體識別的F1 值為69.42%,引入Attention 機制后的模型F1值提升了2.49%。注意力矩陣能夠計算當前的目標單詞與序列中所有單詞的相似性,通過權重矩陣為不同重要程度的單詞分配相應的權重值,計算出文本的全局向量作為BiLSTM 輸出的加權和。對比ERT-BiLSTM-CRF 和Att-BiLSTM-CRF 模型,前者實驗結果的3 項指標均有提升,F1 值比后者提升了1.26%,說明BERT 預訓練語言模型能更好地捕捉語義關系和單詞特征。BERT-BiLSTM-CRF 與XLNet-BiLSTM-CRF 模型相比,精確率分別是72.60%和74.57%,F1 值分別為73.17%和74.01%。相比之下,基于XLNet 的NER 模型效果略優于BERT。而本文提出的MPNet-BiLSTM-CRF 融合模型與XLNet-BiLSTM-CRF 模型相比,F1 值提高了1.06%,通過使用融合了BERT 和XLNet 優點的MPNet 預訓練語言模型,增強了序列的特征表示,同時彌補了兩者的缺陷,從而提高了模型整體的識別能力。此外,MPNet 模型的識別能力提高后,速度并未有明顯下降,因此MPNet 作為詞嵌入層將具有更優秀的表現。

表4 不同實體類型的識別結果Tab.4 Identification results of different entity types

表5 各模型整體對比結果Tab.5 Overall comparison results for each model %
本文提出了一種基于MPNet 和BiLSTM 的醫學實體識別模型,聯合BiLSTM 網絡適應長文本特征提取和CRF 序列標注方法,能適應于COVID-19 臨床試驗注冊文本中新興醫學實體的識別任務。實驗設置了多組對比模型以驗證本文方法的有效性,結果表明其識別性能優于基準模型以及近年來被廣泛研究的基于主流預訓練模型的實體識別方法,并且能夠較好地實現COVID-19 相關臨床醫學實體的識別任務,對醫學領域相關研究具有一定參考價值。本實驗數據僅包含697 份臨床試驗注冊記錄中的摘要文本,存在實體種類多但數量不均衡的問題,因此在接下來的工作中,將納入更多臨床文本來豐富語料庫,為挖掘COVID-19 臨床文本中隱含的醫學知識與臨床價值做準備。