孫 振,李新福
河北大學(xué) 網(wǎng)絡(luò)空間安全與計(jì)算機(jī)學(xué)院,河北 保定 071000
電子病歷作為醫(yī)院診療工作的重要輔助材料,記錄病人在醫(yī)院診斷治療的全過(guò)程。其中,不僅涵蓋病人的診療記錄、檢查結(jié)果、醫(yī)囑、手術(shù)、護(hù)理等靜態(tài)的病歷信息,還包含為病人提供的服務(wù)信息。從電子病歷中抽取醫(yī)療相關(guān)的實(shí)體,是現(xiàn)代醫(yī)療工作開(kāi)展的重要一環(huán),可應(yīng)用于臨床決策、輔助診療、醫(yī)療知識(shí)挖掘和醫(yī)療知識(shí)圖譜的構(gòu)建等場(chǎng)景。因此,準(zhǔn)確快速地提取醫(yī)療實(shí)體,將非結(jié)構(gòu)化的電子病歷文本,轉(zhuǎn)變?yōu)榭晒┯?jì)算機(jī)識(shí)別的結(jié)構(gòu)化文本,對(duì)醫(yī)院的醫(yī)療信息智能化管理具有非常重要的意義。
命名實(shí)體識(shí)別(named entity recognition,NER)作為自然語(yǔ)言處理(natural language processing,NLP)的一項(xiàng)基本任務(wù),在文本處理中受到廣泛關(guān)注。命名實(shí)體識(shí)別主要通過(guò)對(duì)句子進(jìn)行分詞,劃分出實(shí)體邊界,進(jìn)而從非結(jié)構(gòu)化的文本中抽取不同類別的實(shí)體,因此命名實(shí)體識(shí)別實(shí)體邊界的劃分和準(zhǔn)確分詞密切相關(guān)[1]。醫(yī)療領(lǐng)域常見(jiàn)的命名實(shí)體主要有手術(shù)、藥物、疾病、癥狀、檢查、身體部位等。但是在中文電子病歷文本中,醫(yī)療領(lǐng)域的詞匯具有一定的專業(yè)性,分詞工具容易將醫(yī)學(xué)術(shù)語(yǔ)的實(shí)體邊界混淆,中文漢字的字形信息尚未被充分利用。例如“左腎下囊腫”一詞準(zhǔn)確的實(shí)體標(biāo)簽為“疾病”,分詞工具將其劃分為“左腎下”和“囊腫”兩個(gè)實(shí)體,分別標(biāo)記為“身體部位”和“癥狀”,從而產(chǎn)生錯(cuò)誤的識(shí)別結(jié)果。
中國(guó)知識(shí)圖譜與語(yǔ)義計(jì)算大會(huì)(China Conference on Knowledge Graph and Semantic Computing,CCKS)已經(jīng)連續(xù)多年開(kāi)展了基于中文電子病歷命名實(shí)體識(shí)別的任務(wù)評(píng)測(cè),針對(duì)性地給出一定數(shù)量的標(biāo)記數(shù)據(jù),引領(lǐng)了國(guó)內(nèi)中文電子病歷命名實(shí)體識(shí)別數(shù)據(jù)標(biāo)注規(guī)范的統(tǒng)一,同時(shí)為相關(guān)研究人員提供了重要的數(shù)據(jù)集。但目前中文電子病歷命名實(shí)體識(shí)別數(shù)據(jù)集仍然存在實(shí)體標(biāo)簽分布不均衡的問(wèn)題。
針對(duì)這些問(wèn)題,本文結(jié)合漢字的部首和四角信息,提出了多特征融合的中文電子病歷命名實(shí)體識(shí)別方法,主要的貢獻(xiàn)可以總結(jié)如下:
(1)針對(duì)中文電子病歷命名實(shí)體識(shí)別文本專業(yè)詞匯較多帶來(lái)的詞匯邊界模糊問(wèn)題,使用基于字的中文電子病歷命名實(shí)體識(shí)別模型,將字、部首和四角向量融合,學(xué)習(xí)漢字最基本的字形結(jié)構(gòu)信息,獲得中文電子病歷文本專業(yè)詞匯重要的釋義表示。
(2)針對(duì)中文電子病歷命名實(shí)體識(shí)別數(shù)據(jù)集實(shí)體標(biāo)簽分布不均衡的問(wèn)題,提出了實(shí)體標(biāo)簽標(biāo)記模塊,用二分類器過(guò)濾非實(shí)體區(qū)域,加強(qiáng)模型對(duì)少數(shù)實(shí)體類型的學(xué)習(xí)。
(3)采用Mogrifier GRU 提取融合的向量表示,在GRU 的基礎(chǔ)上進(jìn)行隱藏層和輸入層之間的交互,豐富字形特征在文本的表征能力,獲得深層次的文本特征。
中文電子病歷命名實(shí)體識(shí)別最早的定義源于I2B2 2010評(píng)測(cè)任務(wù),該任務(wù)分類依據(jù)統(tǒng)一醫(yī)學(xué)語(yǔ)言系統(tǒng)的標(biāo)準(zhǔn)將醫(yī)療命名實(shí)體劃分為醫(yī)療問(wèn)題、檢查、癥狀三種類型。目前中文命名實(shí)體識(shí)別任務(wù)通常被當(dāng)作序列標(biāo)注任務(wù),常用的方法主要分為三種:
(1)基于規(guī)則和詞典的方法?;谝?guī)則和詞典的方法依賴于人工建立大規(guī)模的規(guī)則和詞典。Kraus 等人[2]通過(guò)大規(guī)模的正則表達(dá)式構(gòu)建醫(yī)療規(guī)則,用于識(shí)別臨床病歷中的藥品、劑量等命名實(shí)體。該方法依賴于專業(yè)領(lǐng)域研究人員的經(jīng)驗(yàn),難以匹配所有領(lǐng)域的實(shí)體類型,且不能在領(lǐng)域之間遷移。
(2)基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法。常用的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法有:最大熵模型、支持向量機(jī)、隱馬爾可夫模型、條件隨機(jī)場(chǎng)(conditional random field,CRF)[3]等,基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法不需要擁有專業(yè)知識(shí)的專家來(lái)挑選和設(shè)計(jì)規(guī)則詞典,就可以挑選出有效反映該類實(shí)體特性的特征集合。Yang 等人[4]基于CRF 模型融合中文漢字特征和醫(yī)療規(guī)則特征,用于識(shí)別身體部位、癥狀、藥物、手術(shù)等命名實(shí)體。統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法依賴于大規(guī)模特征工程構(gòu)建的特征集合,特征工程同樣需要人為創(chuàng)建,對(duì)特征選取和數(shù)據(jù)集的要求較高。
(3)基于深度學(xué)習(xí)的方法。深度神經(jīng)網(wǎng)絡(luò)利用端到端的模型結(jié)構(gòu),相比于傳統(tǒng)的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法減少了人工特征選擇帶來(lái)的困難,對(duì)文本數(shù)據(jù)的提取更加充分,有利于提高實(shí)體識(shí)別的效果。Collobert 等人[5]提出基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的命名實(shí)體識(shí)別方法,在性能上優(yōu)于所有的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法。Huang 等人[6]將長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)應(yīng)用到命名實(shí)體識(shí)別中,通過(guò)門(mén)控單元解決了序列任務(wù)中CNN不能處理長(zhǎng)距離上下文信息的問(wèn)題,緩解了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)出現(xiàn)的梯度消失問(wèn)題,獲取更多的文本依賴關(guān)系。隨后有研究人員將LSTM 和CRF[7-9]結(jié)合應(yīng)用到電子病歷命名實(shí)體識(shí)別任務(wù)中,識(shí)別醫(yī)學(xué)語(yǔ)料命名實(shí)體。由于中文電子病歷語(yǔ)料庫(kù)中含有大量非結(jié)構(gòu)化的詞匯,需要從語(yǔ)料庫(kù)的上下文提取文本依賴關(guān)系,因此充分結(jié)合時(shí)序特征的BiLSTM-CRF模型成為中文電子病歷命名實(shí)體識(shí)別最為常見(jiàn)的模型。但是這些模型受限于訓(xùn)練語(yǔ)料的質(zhì)量和規(guī)模[10],識(shí)別效果仍然有所欠缺,可解釋性也不強(qiáng)。門(mén)控循環(huán)單元(gated recurrent unit,GRU)由Cho 等人[11]提出,和LSTM 同屬于RNN 的變體,和LSTM相比結(jié)構(gòu)更為簡(jiǎn)單,有效減小了參數(shù)量,在訓(xùn)練時(shí)間上更具優(yōu)勢(shì)。因此本文采用GRU作為基礎(chǔ)模型。
在中文命名實(shí)體識(shí)別任務(wù)中,由于缺乏詞匯邊界,研究人員經(jīng)常將字作為最小的處理單元。有研究表明[12]基于字的命名實(shí)體識(shí)別研究方法,通過(guò)對(duì)字符分割可以規(guī)避分詞錯(cuò)誤帶來(lái)的問(wèn)題,在效果上優(yōu)于基于詞匯的命名實(shí)體識(shí)別研究方法??紤]到單個(gè)字的語(yǔ)義表征能力較弱,很多研究人員在基于字的命名實(shí)體識(shí)別方法中采用詞匯增強(qiáng)方法,融合其他文本信息以增強(qiáng)上下文語(yǔ)義表示[13]。Zhang等人[14]在獲取字信息的基礎(chǔ)上改進(jìn)LSTM結(jié)構(gòu)融入詞匯信息,將潛在的詞匯信息整合到基于字符的模型中。Ma 等人[15]利用詞典匹配字符得到BMES 標(biāo)注的詞匯信息,并將其融入到對(duì)應(yīng)的字信息中。Xu等人[16]的研究表明以漢字為基礎(chǔ)的部首信息同樣可以增強(qiáng)命名實(shí)體的語(yǔ)義表示。受到這些方法的啟發(fā),本文將詞匯增強(qiáng)方法引入到中文電子病歷命名實(shí)體識(shí)別中。
上述命名實(shí)體識(shí)別模型中,沒(méi)有考慮到中文電子病歷文本中專業(yè)詞匯豐富,實(shí)體類別分布不平衡給命名實(shí)體識(shí)別帶來(lái)的影響,因此,中文電子病歷命名實(shí)體識(shí)別的研究還不夠深入。本文結(jié)合詞匯增強(qiáng)方法的優(yōu)勢(shì),將字形信息引入到模型中,增強(qiáng)模型對(duì)中文電子病歷專業(yè)術(shù)語(yǔ)的語(yǔ)義表征能力;采用實(shí)體標(biāo)記策略對(duì)向量進(jìn)行標(biāo)簽標(biāo)記,加強(qiáng)對(duì)不同實(shí)體類型的建模;通過(guò)GRU之前的信息交互,獲得更豐富的特征表示。
本文提出多特征融合的中文電子病歷命名實(shí)體識(shí)別模型,主要包括三個(gè)部分。第一部分為嵌入層,分別提取文本的字、部首和四角向量,通過(guò)實(shí)體標(biāo)記策略標(biāo)記向量的實(shí)體類型,然后將三種向量拼接為融合向量;第二部分為特征提取層,利用Mogrifier GRU對(duì)融合向量進(jìn)行特征提取,增強(qiáng)上下文之間的信息交互;第三部分為CRF層,通過(guò)狀態(tài)轉(zhuǎn)移矩陣建立約束,得到標(biāo)簽序列預(yù)測(cè)結(jié)果。整體的模型架構(gòu)如圖1所示。
圖1 模型架構(gòu)Fig.1 Model framework
當(dāng)命名實(shí)體識(shí)別被當(dāng)作序列標(biāo)注任務(wù)時(shí),需要獲取文本的向量表示。在此階段文本序列可以被編碼為X={X1,X2,…,Xn}。模型的字向量由ALBERT 提?。徊渴缀退慕窍蛄客ㄟ^(guò)字形轉(zhuǎn)換函數(shù)獲取,并使用CNN 對(duì)部首和四角向量進(jìn)行特征提取,經(jīng)過(guò)向量標(biāo)記處理后將三種向量拼接得到嵌入層的向量表示。
2.1.1 字向量
ALBERT(a lite bidirectional encoder representations from transformers)[17]是在BERT[18]基礎(chǔ)上開(kāi)發(fā)的一種輕量級(jí)預(yù)訓(xùn)練模型,通過(guò)參數(shù)因式分解、跨層參數(shù)共享和句子間順序預(yù)測(cè)使ALBERT擁有和BERT接近的性能,有效減少了參數(shù)量,可以避免模型過(guò)擬合。模型架構(gòu)如圖2所示。
圖2 ALBERT模型Fig.2 ALBERT model
圖2中,Ei、Ti分別代表文本數(shù)據(jù)中第i個(gè)字的文本序列對(duì)應(yīng)的向量表示和經(jīng)過(guò)Transformer編碼后得到的字向量,Trm代表ALBERT內(nèi)部的雙向Transformer模塊,共12 層。設(shè)輸入語(yǔ)句S=c1c2…ct,其中ci∈C,i=1,2,…,t。通過(guò)ALBERT 得到與S對(duì)應(yīng)的字向量X=[xc1;xc2;…;xct]。
2.1.2 部首向量
中文電子病歷數(shù)據(jù)和中文通用領(lǐng)域的數(shù)據(jù)不同,文本數(shù)據(jù)具有很強(qiáng)的專業(yè)性。漢字是一種象形文字,在醫(yī)療文本中,疾病實(shí)體漢字都有“疒”部首,代表身體部位的實(shí)體漢字大部分都有“月”部首,常見(jiàn)的藥品名大多和“钅”部首相關(guān),相似的部首往往表達(dá)出相近的語(yǔ)義關(guān)系。因此,本文在嵌入層加入部首向量挖掘醫(yī)療文本的語(yǔ)義關(guān)系。
在給定的文本序列S=c1c2...ct中,對(duì)于每個(gè)漢字ci,都可以獲取該字的部首向量表示Radical(ci)={ri,1,ri,2,…,ri,k},設(shè)部首向量查找轉(zhuǎn)換函數(shù)為eradical,則通過(guò)查找轉(zhuǎn)換函數(shù)進(jìn)行嵌入表示可以得到對(duì)應(yīng)的部首向量矩陣Wi,如式(1)所示:
2.1.3 四角向量
部首在組成漢字時(shí),在漢字中的位置不同,可能出現(xiàn)完全不同的語(yǔ)義,而部首向量不能捕捉到這種位置關(guān)系。并且具有相同部首的漢字編碼可能會(huì)干擾語(yǔ)義信息提取效果,部首向量對(duì)文本向量表示的補(bǔ)充不足以充分表達(dá)漢字語(yǔ)義和內(nèi)在的文本關(guān)系。
四角編碼是一種普遍的漢字檢索方法,按照田字格結(jié)構(gòu)對(duì)漢字進(jìn)行編碼,這種編碼方式可以表征出漢字組成結(jié)構(gòu)的位置關(guān)系。加入四角向量可以在部首向量的基礎(chǔ)上補(bǔ)充漢字的構(gòu)造特征,獲取高質(zhì)量的文本語(yǔ)義表示。
在給定的文本序列S=c1c2…ct中,對(duì)于每個(gè)漢字ci,都可以獲取該字的四角向量表示Fc(ci)={fi,1,fi,2,…,fi,k}。設(shè)四角向量查找轉(zhuǎn)換函數(shù)為efc,則通過(guò)查找轉(zhuǎn)換函數(shù)進(jìn)行嵌入表示可以得到對(duì)應(yīng)的四角向量矩陣Wf,如式(2)所示:
2.1.4 對(duì)向量進(jìn)行實(shí)體標(biāo)記
在本文使用的中文電子病歷數(shù)據(jù)集中,樣本分布不平衡,非實(shí)體類型占據(jù)92%以上,且各實(shí)體類別之間存在較大差距。在文獻(xiàn)[19]的啟發(fā)下,本文對(duì)文本語(yǔ)料中幾種向量進(jìn)行標(biāo)簽標(biāo)記處理。即通過(guò)兩個(gè)單獨(dú)的二分類器來(lái)分別檢測(cè)每個(gè)命名實(shí)體對(duì)應(yīng)字符串的開(kāi)始和結(jié)束位置。對(duì)向量進(jìn)行實(shí)體標(biāo)記的過(guò)程如圖3所示。
1047 大動(dòng)脈粥樣硬化與心源性栓塞急性缺血性腦卒中特征差異對(duì)比研究 田 冰,王鐵功,楊鵬飛,尹 偉,許 兵,陳錄廣,劉 崎,劉建民,陸建平
圖3 向量實(shí)體標(biāo)記Fig.3 Vector entity tag
利用二分類器標(biāo)記的方式,可以在電子病歷樣本中,對(duì)向量進(jìn)行標(biāo)簽標(biāo)記,加強(qiáng)模型對(duì)不同類型實(shí)體的建模,緩解實(shí)體分布不平衡帶來(lái)的影響。這種匹配策略可以保持實(shí)體跨度的完整性,在非實(shí)體類型過(guò)多的條件下提高模型對(duì)不同實(shí)體類型的識(shí)別準(zhǔn)確率。
對(duì)應(yīng)的二分類器表示如式(3)、(4)所示:
其中,W、b表示可學(xué)習(xí)的參數(shù),σ表示激活函數(shù)sigmoid,X表示輸入向量,經(jīng)過(guò)計(jì)算后得到輸入的第i個(gè)向量標(biāo)識(shí)為對(duì)象的開(kāi)始和結(jié)束位置的概率pi。如果概率超過(guò)某個(gè)閾值,則對(duì)應(yīng)的部位將被分配標(biāo)簽1,否則將被分配0。
實(shí)體標(biāo)簽的最大似然函數(shù)如式(5)所示:
用于確定給定向量表示x的實(shí)體s范圍。
2.1.5 向量融合
將漢字按照不同的編碼方式拆分,這些結(jié)構(gòu)在漢字局部呈現(xiàn)一定的關(guān)聯(lián)性。使用CNN可以關(guān)注漢字的局部特征,對(duì)向量進(jìn)行進(jìn)一步的特征提取,捕獲漢字中潛在的語(yǔ)義信息。
其中,w表示卷積核的權(quán)重參數(shù),f表示激活函數(shù)ReLU,b表示偏置,yi表示經(jīng)過(guò)卷積操作后得到的第i個(gè)特征。再經(jīng)過(guò)最大池化后,即可得到文本的字形向量表示。CNN進(jìn)行特征提取的過(guò)程如圖4所示。
圖4 CNN提取字形向量Fig.4 CNN extracts glyph vector
在分別得到字、部首和四角向量后,模型對(duì)這三種向量表示進(jìn)行拼接得到向量x,如式(7)所示:
其中,xc表示字向量,xr表示部首向量,xfc表示四角向量。
傳統(tǒng)的GRU能在一定程度上緩解梯度消失和長(zhǎng)距離依賴的問(wèn)題,從而捕捉句子中潛在的語(yǔ)義信息。
GRU的計(jì)算過(guò)程如式(8)~(11)所示:
其中,Zt表示當(dāng)前的更新門(mén)控,rt表示重置門(mén)控,ht-1表示上一時(shí)刻傳遞的隱藏層狀態(tài),σ(·)表示Sigmoid 激活函數(shù),ht表示當(dāng)前時(shí)刻的輸出。Xt表示t時(shí)刻下的輸入向量,Wz、Wr、皆為權(quán)重系數(shù),⊙表示矩陣乘法。
雖然GRU在編碼階段可以考慮上下文相關(guān)的詞匯信息,但在GRU 計(jì)算中當(dāng)前時(shí)刻的輸入和上一時(shí)刻傳遞過(guò)來(lái)的隱藏狀態(tài)是相互獨(dú)立的,它們只在GRU 的門(mén)控內(nèi)部交互,而沒(méi)有在信息傳遞到門(mén)控單元之前進(jìn)行交互。在此階段缺乏交互,可能會(huì)導(dǎo)致上下文信息的丟失。
因此,模型借鑒文獻(xiàn)[20]的思想,在不改變GRU 本身結(jié)構(gòu)的基礎(chǔ)上,采用Mogrifier GRU實(shí)現(xiàn)當(dāng)前時(shí)刻輸入和上一時(shí)刻隱藏狀態(tài)的交互。在字形向量表征電子病歷文本的基礎(chǔ)上,通過(guò)輸入層和隱藏層信息交互的方式,強(qiáng)化模型對(duì)漢字字形隱含語(yǔ)義關(guān)系的理解,更加準(zhǔn)確地捕獲電子病歷專業(yè)術(shù)語(yǔ)的上下文信息。設(shè)輸入和隱藏狀態(tài)的交互輪次為r,每次交互前的輸入和隱藏層狀態(tài)都是經(jīng)過(guò)上次交互得到。在r=5的情況下,Mogrifier GRU的示意圖如圖5所示。
圖5 Mogrifier GRUFig.5 Mogrifier GRU
可以表示為:
這里x-1=x,,交互輪數(shù)r設(shè)定為超參數(shù),當(dāng)r=0 時(shí),即為未做交互的傳統(tǒng)GRU。將xi和按照指定的輪次進(jìn)行交互,增強(qiáng)模型對(duì)上下文語(yǔ)義信息的提取能力。r為奇數(shù)次交互時(shí)更新xi,r為偶數(shù)次交互時(shí)更新,經(jīng)過(guò)多輪xi和的交互后,將所得的矩陣作為GRU的輸入,進(jìn)一步提取特征編碼。
考慮到長(zhǎng)距離依賴對(duì)文本標(biāo)簽決策產(chǎn)生的影響,模型采用雙向的Mogrifier GRU提取輸入序列的特征,分別在正向和反向輸入文本序列,通過(guò)計(jì)算得到兩個(gè)不同方向的隱藏層向量,然后將兩部分向量進(jìn)行拼接得到對(duì)應(yīng)的輸出:
為避免“B-藥物”后出現(xiàn)“I-解剖部位”的情況,需要使用CRF 建立相應(yīng)的標(biāo)簽約束。CRF 是一種判別式概率模型,對(duì)于一組給定的輸入序列X={x1,x2,…,xn},對(duì)應(yīng)的預(yù)測(cè)標(biāo)簽序列Y={y1,y2,…,yn},對(duì)應(yīng)的概率分?jǐn)?shù)函數(shù)如式(18)所示:
其中,C代表轉(zhuǎn)移分?jǐn)?shù)矩陣,Cij表示從標(biāo)簽i轉(zhuǎn)移到標(biāo)簽j的概率,Pi,yi表示第i個(gè)詞語(yǔ)被標(biāo)記為正確序列yi的概率,S(x,y)表示輸入序列X被標(biāo)記為正確標(biāo)簽序列Y的概率分?jǐn)?shù)。預(yù)測(cè)序列Y對(duì)應(yīng)的概率如式(19)所示:
YX表示所有可能的標(biāo)注序列。然后通過(guò)維特比算法解碼,求得Y中得分最高的標(biāo)簽序列,如式(20)所示:
本文在CCKS2019和MSRA數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),來(lái)驗(yàn)證模型在中文電子病歷命名實(shí)體識(shí)別任務(wù)上的有效性。CCKS2019 數(shù)據(jù)集共包括6 種實(shí)體類型,分別是疾病和診斷、手術(shù)、藥物、解剖部位、影像檢查和實(shí)驗(yàn)室檢驗(yàn),共有1 379 條數(shù)據(jù)。MSRA 數(shù)據(jù)集共包含3 種實(shí)體類型,分別是LOC、ORG、PER,共有48 442 條數(shù)據(jù)。具體的各實(shí)體類型如表1和表2所示。
表1 CCKS2019數(shù)據(jù)集Table 1 CCKS2019 dataset
表2 MSRA數(shù)據(jù)集Table 2 MSRA dataset
評(píng)價(jià)指標(biāo)采用命名實(shí)體識(shí)別任務(wù)中最為常見(jiàn)的評(píng)價(jià)體系:精確率(precision,P)、召回率(recall,R)和F1值(F1-score)。
其中,TP就是把正類預(yù)測(cè)為正類,F(xiàn)P就是把負(fù)類預(yù)測(cè)為正類,F(xiàn)N就是把原來(lái)的正類預(yù)測(cè)為負(fù)類。F1-score同時(shí)兼顧了分類模型的精確率和召回率,可以看作是精確率和召回率的一種加權(quán)平均。
表3和表4列出了本次實(shí)驗(yàn)的具體配置和參數(shù)。模型基于Tensorflow框架,服務(wù)器具體配置:CPU為Intel?主頻2.5 Hz,GPU 為顯存8 GB 大小的GeForce RTX 2080,內(nèi)存32 GB。采用交叉驗(yàn)證的方法對(duì)實(shí)驗(yàn)進(jìn)行微調(diào)。將輸入文本最大長(zhǎng)度設(shè)置為128。
表3 實(shí)驗(yàn)配置Table 3 Experimental configuration
表4 實(shí)驗(yàn)參數(shù)設(shè)置Table 4 Experimental parameters setting
為了驗(yàn)證GRU輸入與隱藏層之間的交互輪次r對(duì)中文電子病歷命名實(shí)體識(shí)別效果的影響,選擇不同的r進(jìn)行實(shí)驗(yàn)。將r作為基礎(chǔ)參數(shù)分別設(shè)置為4~7,其他參數(shù)不變,得出的實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 不同交互輪次下F1值Fig.6 F1 value under different interaction rounds
從實(shí)驗(yàn)結(jié)果可以看出,F(xiàn)1的變化與交互輪次r之間存在一定關(guān)系。在交互輪次較少時(shí),F(xiàn)1 逐漸增大,當(dāng)r取5時(shí),F(xiàn)1達(dá)到最大,證明GRU輸入層與隱藏層之間的交互使得模型加強(qiáng)了模型對(duì)上下文信息的提取,相比普通GRU能夠更好地挖掘電子病歷文本特征的前后依賴關(guān)系。但當(dāng)F1取6、7時(shí),F(xiàn)1降低,過(guò)多的r會(huì)加強(qiáng)模型對(duì)文本中非關(guān)鍵詞語(yǔ)的關(guān)注,影響GRU 對(duì)時(shí)間序列數(shù)據(jù)的提取效果。
3.4.1 對(duì)比實(shí)驗(yàn)
為驗(yàn)證模型的有效性,本文在CCKS2019數(shù)據(jù)集上與其他先進(jìn)方法進(jìn)行對(duì)比,并給出了總體的F1值,結(jié)果如表5所示。對(duì)比方法簡(jiǎn)介如下。
表5 對(duì)比實(shí)驗(yàn)結(jié)果Table 5 Comparative experimental results單位:%
(1)BiLSTM[6]:序列標(biāo)注任務(wù)的通用模型。
(2)BERT-base[18]:谷歌發(fā)布的預(yù)訓(xùn)練模型。
(3)MacBERT-base[21]:使用相似詞匯替換任務(wù)改進(jìn)BERT模型。
(4)FLAT[22]:在Transformer 的基礎(chǔ)上,采用特殊的位置編碼表征輸入結(jié)構(gòu)。
(5)DUTIR[23]:提出基于部首的ELMo 預(yù)訓(xùn)練模型,并使用CNN 提取部首向量,在BiLSTM-CRF 的基礎(chǔ)上使用多任務(wù)訓(xùn)練方式,取得CCKS2019 競(jìng)賽第三名的成績(jī)。
(6)FBBC[24]:在修正的數(shù)據(jù)集上,使用BERT預(yù)訓(xùn)練模型提取字向量,并使用BiLSTM-CRF 進(jìn)行編碼解碼,取得CCKS2019競(jìng)賽第一名的成績(jī)。
(7)MECT[25]:通過(guò)交叉變換網(wǎng)絡(luò)融合部首、字和詞向量。
從實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),本文模型在同一數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果相比其他模型有著明顯提升。BiLSTM 為常見(jiàn)的序列標(biāo)注模型,適合大部分命名實(shí)體識(shí)別任務(wù),因此取得較好的效果。BERT、MacBERT預(yù)訓(xùn)練模型在編碼中考慮了對(duì)一詞多義問(wèn)題的處理,使用注意力機(jī)制提取句子中的語(yǔ)義信息,關(guān)注文本語(yǔ)義間的聯(lián)系,因此在效果上優(yōu)于BiLSTM模型。FLAT模型引入相對(duì)位置編碼,更加關(guān)注文本內(nèi)部的詞匯聯(lián)系,在效果上優(yōu)于預(yù)訓(xùn)練模型。DUTIR使用ELMo預(yù)訓(xùn)練模型提取部首向量,關(guān)注電子病歷文本結(jié)構(gòu)的特點(diǎn),使得向量能夠表征醫(yī)療專業(yè)詞匯的含義。但編碼方式存在局限性,BiLSTM缺乏隱藏層和輸入層的交互,導(dǎo)致對(duì)部首信息的利用不夠充分。FBBC 綜合BERT 模型和BiLSTM-CRF 的優(yōu)點(diǎn),通過(guò)大規(guī)模的預(yù)訓(xùn)練模型和序列建模方法來(lái)識(shí)別實(shí)體類型,但缺乏針對(duì)電子病歷文本特點(diǎn)的學(xué)習(xí),在識(shí)別效果上仍有所欠缺。MECT模型引入部首向量,使用交叉變換網(wǎng)絡(luò)提取特征,有效提高了命名實(shí)體識(shí)別效果,驗(yàn)證了部首信息對(duì)中文電子病歷命名實(shí)體識(shí)別的有效性。
本文模型使用ALBERT 在使用ALBERT 提取字向量的基礎(chǔ)上加入部首和四角向量,關(guān)注電子病歷文本的字形結(jié)構(gòu)特點(diǎn),同時(shí)使用標(biāo)簽標(biāo)記方法解決了中文電子病歷數(shù)據(jù)集樣本分布不平衡的問(wèn)題,在特征提取前進(jìn)行輸入層和隱藏層的交互,學(xué)習(xí)電子病歷文本中潛在的語(yǔ)義關(guān)系,因此效果比上述方法更好。
3.4.2 消融實(shí)驗(yàn)
為探究模型中各個(gè)模塊給中文電子病歷命名實(shí)體識(shí)別效果帶來(lái)的改進(jìn),設(shè)置6 個(gè)模型進(jìn)行消融實(shí)驗(yàn),各模型在CCKS2019數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果如表6所示。
表6 消融實(shí)驗(yàn)結(jié)果Table 6 Ablation results 單位:%
model1:普通的ALBERT-BiGRU-CRF模型;
model2:在model1的基礎(chǔ)上加入部首向量;
model3:在model2的基礎(chǔ)上加入四角向量;
model4:在model3 的基礎(chǔ)上對(duì)嵌入層的向量進(jìn)行實(shí)體標(biāo)簽標(biāo)記;
model5:在model4 的基礎(chǔ)上使用CNN 對(duì)部首和四角向量進(jìn)行特征提?。?/p>
model6:在model5 的基礎(chǔ)上對(duì)GRU 加入隱藏層和輸入層之間的交互,即為本文提出的模型。
從實(shí)驗(yàn)結(jié)果可以看出,model1 僅僅采用ALBERT預(yù)訓(xùn)練模型的方法效果較差。通用領(lǐng)域的預(yù)訓(xùn)練模型在數(shù)據(jù)量較小、專業(yè)術(shù)語(yǔ)較多的醫(yī)療數(shù)據(jù)集上對(duì)文本信息的獲取有所不足。model2、model3在加入部首和四角向量后,F(xiàn)1值提升了1.20和0.33個(gè)百分點(diǎn),證明這類字形向量對(duì)電子病歷專業(yè)詞匯提取語(yǔ)義關(guān)系有幫助。model4 在model3 的基礎(chǔ)上使用CNN 對(duì)部首和四角向量進(jìn)行特征提取,相比于未經(jīng)過(guò)字形向量處理,F(xiàn)1值提升了0.32 個(gè)百分點(diǎn),證明了在電子病歷文本中使用CNN 可以有效提取特征表示,獲取相對(duì)豐富的字形信息。model5通過(guò)二分類器處理實(shí)體標(biāo)簽,相比于未經(jīng)過(guò)處理model4 的F1 值提升了0.72 個(gè)百分點(diǎn),證明對(duì)于實(shí)體類型分布不均衡的樣本而言,標(biāo)簽分類策略可以有效減少樣本分布不平衡對(duì)模型的影響。model6 在引入GRU 的輸入層、隱藏層狀態(tài)交互之后,相比于GRU 未做交互model5 的F1 值提升了0.89 個(gè)百分點(diǎn),表明增加兩者之間的交互有利于提高模型對(duì)電子病歷文本上下文信息的理解能力,彌補(bǔ)GRU 在編碼階段缺乏交互導(dǎo)致語(yǔ)義信息丟失,提高中文電子病歷命名實(shí)體識(shí)別的性能。
3.4.3 通用領(lǐng)域數(shù)據(jù)集對(duì)比實(shí)驗(yàn)分析
為驗(yàn)證模型在中文命名實(shí)體識(shí)別通用領(lǐng)域的效果,將模型在MSRA數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),并進(jìn)行相應(yīng)分析,實(shí)驗(yàn)結(jié)果如表7所示。
表7 MSRA數(shù)據(jù)集上的實(shí)驗(yàn)效果對(duì)比Table 7 Comparison of experimental results on MSRA dataset 單位:%
(1)Lattice-LSTM[14]:通過(guò)匹配字典的方式找到文本潛在的詞匯信息,并將詞匯信息融合到基于字的LSTM網(wǎng)絡(luò)中。
(2)WC-LSTM[26]:提出新的向量編碼方式,通過(guò)四種不同的方法將固定長(zhǎng)度的單詞信息融入到每個(gè)字中。
(3)CGN[27]:提取文本的字、詞義和邊界信息,并利用圖注意力網(wǎng)絡(luò)提取三種不同的特征向量。
(4)LR-CNN[28]:針對(duì)Lattice-LSTM不能并行運(yùn)算的缺陷,采用CNN對(duì)字特征進(jìn)行編碼,通過(guò)不同的感受野提取特征,并使用反饋機(jī)制來(lái)調(diào)整詞匯信息的權(quán)重。
(5)SoftLexicon(LSTM)+bichar[15]:使用詞加權(quán)統(tǒng)計(jì)數(shù)據(jù)集中詞語(yǔ)出現(xiàn)的頻率,將字匹配到的詞典和字信息融合。
以上均為命名實(shí)體識(shí)別中常見(jiàn)的詞匯增強(qiáng)方法,其中Lattice-LSTM、WC-LSTM、CGN、LR-CNN 為動(dòng)態(tài)框架,是在幾種傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上修改網(wǎng)絡(luò)架構(gòu),融入全新的詞匯信息形成的。但這幾種方法缺乏可遷移性,不能應(yīng)用到不同的特征提取器中,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的編碼效果也比較有限。本文模型采用和SoftLexicon 相同的自適應(yīng)編碼方式,在編碼階段除了使用字向量外,還融入了部首和四角向量,體現(xiàn)了電子病歷數(shù)據(jù)的專業(yè)性,在文本語(yǔ)義表示上更加豐富,同時(shí)在編碼層將輸入和隱藏狀態(tài)交互加強(qiáng)了模型對(duì)文本信息內(nèi)部的上下文語(yǔ)義提取能力。在F1值上分別比其他幾種方法高出2.26、2.08、1.97、1.73、1.38個(gè)百分點(diǎn),精確率和召回率均達(dá)到最高值,證明模型可以捕獲句子中潛在的語(yǔ)義關(guān)系,有效識(shí)別MSRA 數(shù)據(jù)集中的各類命名實(shí)體,驗(yàn)證了模型的通用性。
綜合以上結(jié)果表明,CNN 作為特征提取器提取部首和四角向量,和ALBERT 提取的字向量融合,可以有效提取文本局部信息,避免有效信息的丟失;通過(guò)實(shí)體標(biāo)簽標(biāo)記策略,可以加強(qiáng)模型對(duì)實(shí)體類型的建模,減少負(fù)樣本過(guò)多帶來(lái)的影響;在GRU 的基礎(chǔ)上輸入層和隱藏層交互的方法可以提取到文本的深層語(yǔ)義信息,加強(qiáng)文本內(nèi)部詞匯之間的聯(lián)系,進(jìn)一步提升了中文電子病歷命名實(shí)體識(shí)別的實(shí)驗(yàn)效果。
本文提出一種Mogrifier GRU 和多特征融合的中文電子病歷命名實(shí)體識(shí)別研究方法,旨在挖掘文本深層次的語(yǔ)義關(guān)系,用于識(shí)別醫(yī)學(xué)領(lǐng)域的命名實(shí)體。首先通過(guò)ALBERT 提取字向量,CNN 提取部首、四角向量,從不同方向挖掘文本潛在的信息;然后使用二分類器對(duì)向量進(jìn)行實(shí)體標(biāo)簽標(biāo)記,減少負(fù)樣本計(jì)算,再將經(jīng)過(guò)標(biāo)記處理后的三種向量拼接;最后在GRU的基礎(chǔ)上,將輸入部分和隱藏層交互,增強(qiáng)模型上下文信息的提取能力,使用CRF解碼,建立標(biāo)簽之間的約束。在CCKS2019數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),證明了模型在中文電子病歷命名實(shí)體識(shí)別的效果。在中文通用領(lǐng)域數(shù)據(jù)集上的實(shí)驗(yàn)進(jìn)一步驗(yàn)證了模型的適用性。但模型使用的預(yù)訓(xùn)練模型是在通用領(lǐng)域上訓(xùn)練完成的,對(duì)專業(yè)領(lǐng)域的數(shù)據(jù)集識(shí)別效果仍然有所欠缺。下一步工作是將預(yù)訓(xùn)練模型在醫(yī)療文本數(shù)據(jù)上訓(xùn)練,進(jìn)一步提高模型在中文電子病歷命名實(shí)體識(shí)別任務(wù)的性能。