王旭陽,趙麗婕,張繼遠
蘭州理工大學 計算機與通信學院,蘭州 730050
隨著醫學信息化的穩步建設,尤其是新冠疫情暴發以來,包括文本數據在內的醫學數據規模不斷上漲[1],中文電子病歷和醫學科研文獻是醫學大數據的主要來源之一,將這些數據應用于臨床決策支持等高層應用,提高我國整體醫學水平的首要工作是中文醫學命名實體識別(Chinese biomedical named entity recognition,CBio-NER)。
相比于一般領域的命名實體,中文醫學實體結構更加復雜、領域特征更強,使CBio-NER任務更具挑戰性[2]。本文將中文醫學命名實體的特征總結如下:(1)實體嵌套的現象廣泛,如圖1所示,疾病類型的實體中又嵌套著兩個屬于解剖部位類型的實體。(2)專業領域縮寫使多個同類型的實體共用同一個后綴(前綴),導致中文醫學文本中不連續性長實體的普遍存在,并且實體結構為嵌套結構,因此,這些不連續性長實體成為中文醫學嵌套結構實體的重要組成部分。如圖1所示,“結締組織增生”“淋巴組織增生”縮寫成為“結締組織、淋巴組織增生”這個不連續性長實體,該實體內部嵌套著“結締組織”和“淋巴組織”兩個解剖部位實體。(3)每一個命名實體都由若干屬于該實體的字符組成,即"BIOE”標注數據中的實體跨度內不含位置標簽為“O”的字符(非實體字)。(4)中文醫學實體的觸發語素位于實體的結束位置[3],比如,糖尿病、慢性腎臟病等疾病類實體的觸發語素為實體結束字符“病”,腰部、腹部等身體部位實體的觸發語素為實體結束字符“部”。

圖1 嵌套實體、不連續長實體圖Fig.1 Nested entity,discontinuous long entity diagram
由于中文醫學文本結構復雜,專業性強,一般領域的命名實體識別方法不能直接用于中文醫學命名實體的識別。目前大多數相關研究都只專注于英文文本和扁平結構的醫學實體識別[4],沒有充分考慮中文醫學命名實體的專業語義及結構特點。
為了解決以上問題,本文提出了一種面向中文醫學命名實體的位置標簽增強的級聯識別方法(enhanced cascading named entity recognition with positionlabels,ECRP),將字符的位置標簽嵌入候選實體的語義表示中,使模型對實體的長度和非實體字敏感;在實體融合表示時加強結束字符的權重,使得實體的融合表示更加切合中文醫學實體的實際特點;同時識別中文醫學扁平實體和包括不連續性長實體在內的嵌套實體。該方法首先基于有限的中文醫學文本數據對word2vec預訓練模型進行微調,得到具有專業領域語義的詞向量表示;然后通過序列標注方法檢測出每個字符相對于實體的位置標簽,并將其嵌入模型;之后利用字符位置標簽指導生成候選實體;最后結合中文醫學實體觸發語素的位置進行實體融合表示和實體語義分類。
現有的命名實體識別方法可以分為僅識別扁平結構實體和同時識別嵌套結構實體的方法[5]。前者主要使用序列標注方法,序列標注方法仍是近些年命名實體識別的主流方法,比如,Cui等人[6]提出標簽嵌入的注意力序列標注模型,Zheng等人[7]提出的聯合抽取實體及實體間關系的序列標注方法。針對醫學文本,研究人員先后提出條件隨機場[8](conditional random field,CRF)、基于注意力的長短期記憶網絡模型條件隨機場[9](bidirectional long short-term memory with conditional random field,BiLSTM-CRF)和用于實體識別與規范化的多任務模型[10],將醫學實體識別視為單層序列標注任務。然而,對于中文醫學命名實體復雜性的研究較少,尤其是針對中文醫學文本中嵌套實體的研究,中文醫學專業縮寫導致嵌套結構的實體中普遍存在著不連續性長實體。因此,中文醫學嵌套實體的識別對模型來說具有很大的挑戰,也是近些年實體識別領域的研究熱點[11]。近年來,基于一般領域的嵌套實體識別方法有動態堆疊扁平的實體識別方法[12]和窮舉區域分類模型[13],可以有效識別嵌套結構的實體。針對上述兩種方法中內層實體誤差傳播和計算成本高的問題,研究者提出兩階段嵌套實體識別[14]、邊界增強的嵌套實體識別[15]及實體識別邊界感知神經網絡[16]等方法,利用實體邊界信息識別實體。但是這些方法都是基于一般領域的研究,不能直接用于中文醫學命名實體的識別,而且這些方法忽略了實體跨度內的元素都是實體字(不含位置標簽為“O”的字符)的特點。
經典的醫學命名實體識別方法(Liu[17]和Unanue[18])只專注于英文文本及扁平的醫學實體。但是,包含不連續性長實體在內的中文醫學嵌套實體中,每個字符可能會有多個不同的分類標簽,因此,字符間的位置關系更加復雜,傳統的序列標注模型對于實體的標簽約束在中文醫學嵌套實體中不適用;中文醫學文本結構復雜,專業術語多,基于一般領域的嵌套實體識別方法不能直接用于中文醫學命名實體的識別。本文結合中文醫學實體的特點提出了ECRP實體識別方法,通過嵌入字符位置標簽,強調實體跨度內不包含非實體字,使模型對實體的長度和非實體字敏感;通過在實體融合表示時加強結束字符的權重,使模型學習到中文醫學實體結束字符的規律性。與為每個位置分配實體分類標簽的方法不同,該方法對整個候選實體跨度分配實體分類標簽,將中文醫學實體識別任務處理成字符位置信息檢測、位置標簽嵌入和實體的融合表示并預測實體分類標簽等線性級聯過程,模型整體架構如圖2所示。

圖2 模型整體架構圖Fig.2 Model structure diagram
中文醫學文本專業性強,與一般的語料庫存在很大差異[19]。ECRP方法通過實驗所用的語料庫和領域增強語料庫對Word2Vec預訓練模型進行微調,獲得含有專業領域知識的詞向量表示。對于給定的由n個字符組成的句子(t1,t2,…,tn),第i個字符ti的詞嵌入表示的計算過程如下:
其中,et是預訓練詞向量初始化的詞向量查找表。
將2.1節得到的詞嵌入向量送入Dropout層防止過擬合,之后底層BiLSTM作為共享特征提取器自動提取特征,構建隱藏狀態表示。第i個時間步的共享特征的計算過程如下:
其中,是第i個字符的詞嵌入向量和分別表示底層BiLSTM第i個時間步的前向和后向隱藏狀態,分別表示底層BiLSTM第i-1個時間步的前向和后向隱藏狀態。使用以下條目代表中文醫學語句的共享特征向量ht:
其中,n表示批處理文本中句子的最大長度,對于長度較小的句子,該模型使用相應長度的空向量進行虛擬填充。Dt表示特征維度,經過多次實驗得到Dt=400時本文模型性能表現最好。
ECRP方法的第一個步驟是采用序列標注方法檢測每個字符相對于實體的位置標簽。
給定一個句子(t1,t2,…,tn)和其中一個實體跨度r(i,j),表示實體由連續的序列(ti,ti+1,…,tj)構成。將邊界ti標記為“B”,tj標記為“E”,實體中的字符標記為“I”,非實體字符標記為“O”。特別的,出現嵌套結構時,標簽“B”與“E”的優先級高于標簽“I”。字符位置標簽檢測模塊如圖3所示。

圖3 字符位置標簽檢測模塊圖Fig.3 Character position label detection diagram
中文醫學實體跨度內每個字符都有可能被包含在不同的實體中,所以選擇softmax作為位置標簽檢測的輸出層而不是CRF,得到位置標簽的概率分布,降低模型訓練代價。位置標簽分布的計算過程如下:
其中,是BiLSTM所提取的第i個字符的共享特征,和是激活函數的權重和偏置。位置標簽檢測階段的多標簽損失計算過程如下:
其中,為真實的位置標簽,為模型預測的位置標簽概率分布。
由于中文醫學文本中存在大量嵌套結構的實體,所以字符位置標簽指導生成的中文醫學候選實體中出現非實體字的可能性相對較大。如圖4所示,嵌套結構中的外層候選實體R(0,11)跨度內包含了位置標簽為“O”的非實體元素。因此,ECRP方法將檢測到的字符位置標簽嵌入第二層BiLSTM,使模型對實體長度和非實體字敏感。

圖4 包含非實體字的候選實體例子Fig.4 Example of candidate entities contained non entity character
2.4.1 位置標簽嵌入表示
給定序列位置標簽L={l1,l2,…,ln},第i個字符位置標簽li的嵌入表示的計算過程如下:
其中,el代表隨機初始化的標簽向量查找表。使用以下條目代表句子序列位置標簽的嵌入向量xl:
其中,n表示批處理文本中句子的最大長度。Dl表示標簽嵌入維度,經過多次實驗得到Dl=200時,本文模型性能表現最好。
2.4.2 位置特征提取
將位置信息與2.2節的共享特征進行向量拼接,拼接向量的計算過程如下:
其中,表示第i個字符的共享特征,表示第i個字符的位置標簽嵌入向量,W為線性映射參數。使用以下條目代表中文醫學語句的拼接向量xlt:
其中,n表示批處理文本中句子的最大長度。D表示拼接向量的維度,本文D=Dt+Dl=400+200。
將xlt作為第二層BiLSTM的輸入,進一步提取實體語義與長度及實體字的位置特征,第i個時間步的隱藏狀態的計算過程如下:
其中,n表示批處理文本中句子的最大長度。Dlt表示含有位置信息的特征維度,經過多次實驗得到Dlt=400時,本文模型性能表現最好。
中文醫學實體跨度內的觸發語素位于實體的結束位置[3]。因此,ECRP方法在實體的融合表示中,加強實體結束字符的權重。
2.5.1 確定候選實體
給定句子序列X=(t1,t2,…,tn)和相應的位置標簽序列L=(l1,l2,…,ln)。首先,通過貪心算法匹配位置標簽“B”和“E”,生成候選實體。特別是,考慮到單字符實體,首先將位置標簽為“B”的字符與其自身進行匹配。如圖5所示,句子序列“患有周圍神經病”中,定位到“周”“周圍神經”“周圍神經病”三個候選實體。

圖5 候選實體生成圖Fig.5 Candidate entity generation diagram
2.5.2 實體融合表示
根據候選實體跨度,對實體跨度內除了結束字符以外的其他字符使用逐位相加再平均的方法融合,融合結果與結束字符進行向量拼接,最后使用線性映射進行維度變換,得到實體的融合表示。候選實體r(i,j)的融合表示ri,j的計算過程如下:
2.5.3 實體語義分類
將實體的融合表示ri,j送入softmax層,預測實體分類標簽。如圖6所示,候選實體“周”不屬于任何實體,“周圍神經”被預測為身體部位,“周圍神經病”被預測為疾病。語義分類標簽計算過程如下:

圖6 實體語義分類圖Fig.6 Entity semantic classification diagram
其中,ri,j是候選實體的融合表示,是激活函數的權重和偏置。實體語義分類階段的多標簽損失計算過程如下:
由于ECRP方法中各個級聯任務間共享特征,所以采用多任務損失同時訓練模型。多任務損失函數的計算過程如下所示:
其中,Lbcls和Lecls分別表示字符位置標簽檢測模塊和實體分類標簽預測模塊的分類交叉熵損失。α是一個超參數,用于控制每個模塊的重要程度。
在模型訓練階段,利用字符的真實位置標簽指導候選實體生成;實體的融合表示中融入元素的真實位置信息。使模型在不受位置標簽檢測階段誤差影響的情況下訓練中文醫學命名實體分類器。
實驗使用中文醫學相關數據集證明模型的有效性,數據集概況統計如表1所示。數據集分別是“2018年全國知識圖譜與語義大會”公開的電子病歷扁平實體數據集(CCKS2018),該數據集包含600份電子病歷文本,涵蓋了一般項目、出院項目、病史特點、診療經過等四個目錄;“2018年瑞金醫院MMC人工智能輔助構建知識圖譜大賽”公開的中文糖尿病科研文獻嵌套實體數據集(MMC-2TNB)以及只保留其最外層實體的扁平實體數據集(MMC-1TNB),數據包括基礎研究、臨床研究、藥物使用、臨床病例、治療方法等多個方面;2020年中國健康信息處理大會發布的臨床嵌套實體數據集(CMeEE),該數據集共包含504種常見兒科疾病、7 085個身體部位、12 907種臨床癥狀和4 354種醫療程序;只保留嵌套實體數據集(MMC-2TNB、CMeEE)中不連續性長實體相關的數據作為不連續性長實體數據集(MMC-CME),驗證ECRP方法對中文醫學不連續性長實體的識別效果。數據集均采用“BIOE”方式標注,按8∶1∶1進行劃分。

表1 數據集介紹Table 1 Dataset introduction
實驗代碼基于Pytorch框架,使用python3.7編寫。在Google colab服務器,顯卡為Tesla T4,16 GB顯存的實驗環境下進行模型的訓練和測試。實驗參數設置如表2所示。

表2 實驗參數設置Table 2 Experimental parameter setting
本文選取F1分數、精確度(Precision)和召回率(Recall)作為模型性能的評價指標。
為了驗證ECRP模型的有效性,本文設計了對比實驗和消融實驗進行比較。
3.3.1 對比實驗
ECRP模型在各個數據集上的字符位置標簽檢測結果如表3所示。

表3 ECRP模型在字符位置標簽檢測階段的結果Table 3 Experimental results of ECRP in character position label detection stage 單位:%
為了證明本文方法的有效性,選擇目前主流的嵌套實體識別模型(Two-stage[14](TS)、layered model[12](L)、boundary-aware model[16](BA))分別在五個實驗數據集上進行對比實驗;經典的扁平實體識別模型(MC-BERT+CRF[19]、BiLSTM+CRF[20]、CNN+BiLSTM+CRF[21]、BERT+CRF[22]、BERT+BiLSTM+CRF[23])在扁平實體實驗數據集上進行對比實驗。不同模型在嵌套實體和扁平實體數據集上的實驗結果分別如表4和表5所示,表6為對比模型在不連續性長實體上的實驗結果。

表6 不同模型在MMC-CME上的實驗對比結果Table 6 Experimental comparison results of different models on MMC-CME 單位:%
ECRP模型與當前主流的嵌套實體識別模型(TS、BA)分別在嵌套實體(包括不連續性長實體)和扁平實體數據集中不同實體類別上的結果對比如表7和表8所示。

表8 在各個扁平實體類別上的F1值對比Table 8 Comparison of F1 on different entity categories in flat entity datasets 單位:%
由表3的實驗結果看出ECRP模型在位置標簽檢測階段可以準確檢測出字符的位置標簽,進而可以更加準確地定位實體字和候選實體跨度。
表4和表6表明ECRP方法在兩個嵌套結構醫學實體數據集和其中的不連續性長實體上的F1值與精確度評價指標都優于一般領域的主流嵌套實體識別模型。尤其是相比于two-stage[14]模型,在MMC-2TNB數據集上的F1值和精確度分別提升了1.52個百分點和4.74個百分點,在CMeEE數據集上的F1值和精確度分別提升了1.08個百分點和5.08個百分點,在MMC-CME數據集上的F1值和精確度分別提升了0.88個百分點和2.55個百分點。這是由于包括不連續性長實體在內的嵌套結構實體跨度內,每個字符可能會被包含在多個不同的實體中,句子元素間的位置關系更復雜,尤其是不連續性長實體通常嵌套著多個其他類型的實體,候選實體中出現非實體字的概率更大,而傳統序列標注模型對于實體的標簽約束在中文醫學嵌套結構的實體上不適用,因此,ECRP方法通過在實體的語義表示中嵌入字符位置標簽,使模型對實體的長度和非實體字更加敏感;對于嵌套結構的中文醫學實體,外層實體跨度內的非邊界字符可能是內層實體的邊界字符,尤其考慮到其中的不連續性長實體是多個同類型的實體共用同一個后綴(前綴)組成的,實體結束位置更加重要,因此,ECRP方法在實體融合表示時分別加強內外層實體結束字符的權重,使得模型通過實體的觸發語素更容易識別出嵌套結構中的外層實體,區分出嵌套在內層的實體。
表5表明ECRP方法在兩個扁平結構醫學實體數據集上的F1值和精確度評價指標與主流的扁平實體識別模型的效果相當。這是由于扁平結構的中文醫學實體跨度內字符間的位置關系符合傳統的實體標簽約束規則,而ECRP方法將字符的位置標簽嵌入實體的語義表示中,對實體起到標簽約束作用,并在實體融合表示時結合了中文醫學實體特點,使扁平結構的中文醫學實體的表示更加切合實際中文醫學實體的特點。
但是,分析各個數據集上的對比實驗結果,可知,ECRP方法在各個數據集上的召回率有一定程度的降低,主要由于詞嵌入微調階段是基于極小量的中文醫學文本數據集,不能充分表達專業領域實體的語義;位置標簽嵌入和結合中文醫學實體特點的實體融合表示會對候選實體起到一定的過濾作用,對送入實體語義標簽分類模塊的候選實體的選擇更加嚴謹;位置標簽檢測階段的誤差可能會導致一部分真正的實體未被檢測為候選實體,或者導致模型過濾掉真正的實體。因此,影響到級聯識別方法的查全率。
對比表4和表5中ECRP方法分別在MMC-2TNB和MMC-1TNB數據集上的實驗結果可知,ECRP模型在MMC-2TNB數據集上的三個評價指標值均高于MMC-1TNB數據集,并進一步分析表4和表5中ECRP方法分別在扁平實體與嵌套實體上的總體效果可知,該方法對中文醫學嵌套實體的識別效果更好,這符合中文醫學文本中存在大量嵌套結構實體的特點。
分析表7與表8可知,ECRP方法在“疾病”“藥物”“治療方法”“醫院檢查和檢驗”等重要的中文醫學實體上表現出良好的性能,通過對數據集的分析可知,在嵌套實體數據集中,這幾類實體所包含的不連續性長實體較多,候選實體中出現非實體字的概率更大;在扁平實體數據集中,相比于其他類別的實體,這幾類實體的跨度較長;數據集中這幾類實體的結束字符更具有規律性。而ECRP方法中的位置標簽嵌入可以使得模型對于候選實體內的非實體字和實體長度敏感,使得嵌套結構中的不連續性長實體與扁平結構中的長跨度實體的識別更容易;通過在實體的融合表示中加強中文醫學實體結束字符的權重,使模型學習到結束字符的規律性。這充分說明了位置標簽增強的級聯識別方法對于中文醫學專業領域實體識別的必要性和先進性。
3.3.2 消融實驗
本文設計了四種消融實驗來進一步分析實體融合表示、位置標簽嵌入和專業領域詞嵌入微調等不同模塊對于模型整體性能的貢獻。
(1)AVG:在本文所提出方法的基礎上,實體融合表示階段舍棄對實體結束字符的權重加強,使用平均融合表示。
(2)LB:在本文所提出方法的基礎上,舍棄字符位置標簽嵌入。
(3)ATT:使用注意力機制代替模型中的第二層BiLSTM。
(4)W2V:在本文所提出方法的基礎上舍棄詞嵌入表示階段對Word2vec預訓練模型的微調。
(5)ECRP:本文提出的方法。
基于實驗數據集,不同消融模型在嵌套實體數據集和扁平實體數據集上的F1評價指標值對比結果分別如圖7和圖8所示。

圖7 嵌套實體數據集上的消融實驗F1值變化圖Fig.7 F1 value change of ablation experiments on nested entity dataset

圖8 扁平實體數據集上的消融實驗F1值變化圖Fig.8 F1 value change of ablation experiments on flat entity dataset
分析消融實驗結果圖7和圖8可知,無論在嵌套結構數據集還是扁平結構數據集上,基于ECRP模型,舍去模型中任意一個模塊都會影響到模型的整體效果。首先,結合中文醫學實體特點的實體融合表示在MMC-2TNB與CMeEE兩個嵌套實體數據集上的F1分數貢獻分別為1.47%與1.77%,在MMC-1TNB與CCKS2018兩個扁平實體數據集上的F1分數貢獻分別為0.79%與0.37%,這說明中文醫學實體的觸發語素位置是實體的結束字符,而ECRP方法在實體融合表示中,通過加強中文醫學實體結束字符的權重,使得實體融合表示更切合中文醫學實體的實際特點。其次,字符的位置標簽嵌入在MMC-2TNB與CMeEE兩個嵌套結構實體數據集上的F1分數貢獻分別為0.9%與1.53%,在MMC-1TNB與CCKS2018兩個扁平結構數據集上的F1分數貢獻分別為0.04%與0.24%,這說明中文醫學實體跨度內字符間有位置依賴關系,而ECRP方法中通過將字符的位置信息融入實體的語義表示中,使模型分別學習嵌套結構與扁平結構中文醫學實體跨度內不同的位置依賴信息,從而對中文醫學實體標簽起到一定的約束作用,對實體長度與非實體字敏感。最后,從圖7和圖8可以看出,相比于注意力機制,BiLSTM神經網絡對于實體字之間的位置依賴關系特征的提取效果更好,這是由于包含不連續性長實體在內的嵌套結構實體跨度內的每個字符可能會被包含在多個不同的實體中,導致句子元素間的位置標簽關系更復雜;扁平結構中文醫學實體跨度內的字符位置間也存在依賴關系,而Attention模型在提取特征時,是通過詞與詞之間的相似性來挖掘信息,而不是詞與詞之間的依賴關系。另外,經過專業領域微調的Word2vec預訓練模型在包含不連續性長實體的MMC-2TNB與CMeEE兩個嵌套結構實體數據集上的F1分數貢獻分別為0.62%與0.21%,在MMC-1TNB與CCKS2018兩個扁平結構數據集上的F1分數貢獻分別為0.76%與0.43%,這說明中文醫學文本專業性強,專業術語多,而ECRP方法基于實驗語料庫和領域增強語料庫對Word2vec預訓練模型進行微調,從而得到專業領域的詞向量表示,用于中文醫學命名實體的級聯識別方法,提高實體識別準確性。
本文針對中文醫學實體的特點提出了ECRP方法,通過級聯識別方法,將層次化的中文醫學實體轉化為扁平的線性結構。相比于序列標注方法,在分類標簽數減半的前提下,有效識別中文醫學命名實體。就F1值而言,ECRP模型對于包含不連續性長實體在內的嵌套結構實體的識別效果優于主流的嵌套實體識別模型,在扁平實體數據集上也與主流的扁平實體識別模型的效果相當。但是在位置標簽嵌入過程中仍存在誤差傳播問題;在預訓練模型微調階段由于中文醫學文本數據量小,導致得到的詞嵌入向量無法充分表達語義。所以,在未來的工作中,將會針對字符位置標簽檢測準確性的提高和在詞嵌入表示階段專業領域知識的注入展開進一步研究,不斷優化中文醫學命名實體識別方法,使模型更加準確全面地識別出中文醫學文本中各種不同結構的實體。