陳 琛,劉小云,方玉華
(廈門醫(yī)學(xué)院信息中心,福建 廈門 361023)
命名實(shí)體識(shí)別又稱專名識(shí)別(named entity recognition,NER),是自然語言處理中的一項(xiàng)基礎(chǔ)性關(guān)鍵任務(wù),應(yīng)用廣泛。其一般是指從非結(jié)構(gòu)化文本中識(shí)別出有特定意義的實(shí)體,通常指人名、地名、組織機(jī)構(gòu)名稱等專有名詞,為實(shí)現(xiàn)關(guān)系抽取、自動(dòng)問答系統(tǒng)、知識(shí)圖譜等任務(wù)做基礎(chǔ)。
近年來,隨著國內(nèi)醫(yī)療信息化程度的顯著提升,醫(yī)療領(lǐng)域內(nèi)大量使用電子病歷代替?zhèn)鹘y(tǒng)醫(yī)生手寫病歷,累積了海量的包含患者臨床醫(yī)療、診療、個(gè)人信息電子的病歷數(shù)據(jù)。應(yīng)用自然語言處理、信息抽取等技術(shù)對(duì)累積的電子病歷文本數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘獲取醫(yī)療知識(shí)進(jìn)行臨床決策支持的研究受到廣泛關(guān)注[1-2];從電子病歷里自動(dòng)挖掘、自動(dòng)識(shí)別電子病歷文本中與患者健康密切相關(guān)的各類命名實(shí)體以及類型也可為將來進(jìn)行醫(yī)療領(lǐng)域知識(shí)圖譜構(gòu)建、醫(yī)療問答系統(tǒng)和醫(yī)療信息檢索等諸多自然語言技術(shù)處理任務(wù)打下良好基礎(chǔ)[3]。
傳統(tǒng)的命名實(shí)體識(shí)別方法主要有三種。第一種是基于規(guī)則和字典,主要采用語言學(xué)專家手工構(gòu)造規(guī)則模板,這類方法依賴專家、規(guī)則定義復(fù)雜、系統(tǒng)可移植性差。第二種是基于統(tǒng)計(jì)的學(xué)習(xí)方法,如支持向量機(jī)(SVM)[4]、隱馬爾可夫模型(HMM)[5]、最大熵(maximum entropy)[6]和條件隨機(jī)場(CRF)[7]等。此類方法特征工程復(fù)雜,需要大量的標(biāo)注數(shù)據(jù)。第三種方法是基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法,此類方法不依賴特征模板,數(shù)據(jù)驅(qū)動(dòng),具有較好的泛化性。如Collobert[8]最早利用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行命名實(shí)體研究;Lample[9]使用雙向長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(bi-directional long short-term memory,BiLSTM)結(jié)合條件隨機(jī)場(conditional random field,CRF)的BiLSTM-CRF模型在命名實(shí)體識(shí)別中獲得了較好結(jié)果,并成為學(xué)界主流使用的進(jìn)行命名實(shí)體識(shí)別的模型。BiLSTM-CRF模型雖然能考慮到上下文信息,但并沒有考慮到不同詞語、字符在句子中的重要性不同,識(shí)別結(jié)果仍有進(jìn)一步提升的空間。
文中提出在主流的BiLSTM-CRF模型中引入注意力(attention)機(jī)制,建立了一個(gè)基于注意力機(jī)制的BiLSTM-CRF的命名實(shí)體模型,將其命名為ATTENTION-BiLSTM-CRF模型,應(yīng)用在醫(yī)療領(lǐng)域的命名實(shí)體識(shí)別中。注意力機(jī)制模仿人類的注意力機(jī)制,重點(diǎn)關(guān)注有效信息,提升文本命名實(shí)體識(shí)別的F1值,在實(shí)驗(yàn)中獲得了更好的結(jié)果。該模型無需特征工程,可以達(dá)到較BiLSTM-CRF模型更好的識(shí)別效果。
該模型由輸入層、BiLSTM層、注意力機(jī)制層和CRF層構(gòu)成,整體架構(gòu)見圖1。
圖1 基于ATTENTION-BiLSTM-CRF模型整體架構(gòu)
輸入的句子x包括n個(gè)字符,使用隨機(jī)初始化的嵌入矩陣將查找向量表后獲得的one-hot向量映射為低維稠密的字向量作為文中模型的輸入。
x=(x1,x2,…,xn)
(1)
其中,xi∈d,表示i時(shí)刻神經(jīng)網(wǎng)絡(luò)的輸入向量,d為維度。
(1)長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM)。
長短期記憶神經(jīng)網(wǎng)絡(luò)[10]模型是RNN的一種改進(jìn)模型,通過輸入門、遺忘門和輸出門三個(gè)門結(jié)構(gòu)概念,通過門控狀態(tài)控制傳輸,忘記不重要信息,保留需長時(shí)間記憶的信息,整合后在當(dāng)前狀態(tài)下產(chǎn)生輸出狀態(tài)。實(shí)現(xiàn)了可以長期記憶一個(gè)狀態(tài),解決了長距離依賴問題,如圖2所示[11]。
圖2 LSTM單元內(nèi)部結(jié)構(gòu)
公式如下:
遺忘門:
ft=σ(Whfht-1+Wxfxt+Wcfct-1+bf)
(2)
輸入門:
it=σ(Whiht-1+Wxixt+Wcict-1+bi)
(3)
(4)
當(dāng)前時(shí)刻的單元狀態(tài)ct為:
(5)
輸出門,控制了長期記憶對(duì)當(dāng)前輸出的影響:
ot=σ(Whoht-1+Wxoxt+Wcoct+bo)
(6)
LSTM單元最終的輸出由輸出門和單元狀態(tài)共同確定:
ht=ot°tanh(ct)
(7)
其中,符號(hào)°表示按點(diǎn)乘運(yùn)算,Whf,Wxf,Wcf,Whi,Wxi,Wci,Whc,Wxc,Who,Wxo,Wco分別是權(quán)重,bf,bi,bc,bo為偏置項(xiàng),σ表示sigmoid函數(shù)。
(2)雙向長短期記憶神經(jīng)網(wǎng)絡(luò)(BiLSTM)[12]。
模型中針對(duì)單層LSTM模型只能獲得過去時(shí)刻的信息的問題,使用雙向LSTM模型,獲得過去和未來時(shí)刻的信息。BiLSTM模型[12]同一時(shí)刻包含兩個(gè)分別按前向和后向順序進(jìn)行記憶的記憶單元(LSTM unit),最后將該時(shí)刻兩個(gè)方向的輸出進(jìn)行拼接,即:
(8)
將結(jié)果從m維映射到k維,k為標(biāo)注集的標(biāo)簽數(shù),從而得到BiLSTM層輸出結(jié)果矩陣P=(P1,P2,…,Pn)∈n×k。
雙向長短時(shí)記憶網(wǎng)絡(luò)在計(jì)算過程中,已將所有上下文信息考慮在內(nèi),取得不錯(cuò)的識(shí)別效果。文中引入注意力機(jī)制[13],參考人類對(duì)注意力焦點(diǎn)的處理方式,使模型更專注于找到輸入數(shù)據(jù)中需要關(guān)注的目標(biāo)信息和與當(dāng)前輸出相關(guān)信息,抑制無用信息,提高輸出的質(zhì)量和效率。為了使輸出更為準(zhǔn)確,利用注意力機(jī)制為BiLSTM層的輸出分配不同的權(quán)重,新的輸出向量則是由各特征向量與對(duì)應(yīng)權(quán)重的乘積相加后獲得。對(duì)于i時(shí)刻的模型輸出向量,模型利用注意力權(quán)重分布向量對(duì)編碼的源序列的隱藏層輸出進(jìn)行加權(quán)求和計(jì)算,得到針對(duì)當(dāng)前輸出的源序列編碼結(jié)果,公式如下:
(9)
其中,ci表示利用注意力機(jī)制輸出新的字特征向量,它是由前序模型輸出的各特征向量Pj與對(duì)應(yīng)權(quán)重aij的乘積和計(jì)算得到。aij由前一時(shí)刻字特征向量ci-1與Pj通過式(10)和式(11)計(jì)算得出。ATTENTION層即對(duì)所有時(shí)刻的輸出乘上對(duì)應(yīng)的權(quán)重相加作為最終輸出。隨后設(shè)置dropout[14],避免深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練小數(shù)據(jù)集時(shí)產(chǎn)生的過擬合問題。
(10)
eij=vatanh(waci-1+wbPj)
(11)
其中,va,wa,wb為權(quán)重。
該層進(jìn)行句子級(jí)別的序列標(biāo)注。CRF模型[7]在標(biāo)注過程中可以利用句子級(jí)別的標(biāo)簽之間的依賴信息,進(jìn)而預(yù)測標(biāo)簽與標(biāo)簽之間的關(guān)系。文中定義一個(gè)狀態(tài)轉(zhuǎn)移矩陣A作為參數(shù)隨模型一起訓(xùn)練,Aij表示的是從第i個(gè)標(biāo)簽轉(zhuǎn)移到第j個(gè)標(biāo)簽的轉(zhuǎn)移概率。設(shè)待預(yù)測的標(biāo)簽序列為y=(y1,y2,…,yn),則模型對(duì)于序列y的預(yù)測概率由注意力層輸出的字特征向量ci和CRF的參數(shù)矩陣A共同決定,為各個(gè)位置的概率之和,公式為:
(12)
使用Softmax函數(shù)進(jìn)行歸一化計(jì)算得到真實(shí)標(biāo)簽序列y=(y1,y2,…,yn)的概率為:
(13)
使用Adam[15]來訓(xùn)練文中模型參數(shù)。在預(yù)測時(shí)對(duì)輸入的每個(gè)句子使用維特比算法(Viterbi algorithm)[16]解碼來得到使目標(biāo)函數(shù)最大化的最佳標(biāo)簽序列。
(14)
文中在CCKS2017Task2公開數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),取數(shù)據(jù)中的80%作為訓(xùn)練集,10%作為驗(yàn)證集,10%作為測試集。
該數(shù)據(jù)集為1 200份經(jīng)人工標(biāo)注數(shù)據(jù),人工標(biāo)注的標(biāo)簽共計(jì)29 866個(gè),其中身體部位10 719個(gè),約占36%;檢查和檢驗(yàn)共計(jì)9 546個(gè),約占32%;癥狀和體征7 831個(gè),約占26%;治療1 048個(gè),約占4%;疾病和診斷722個(gè),約占2%。
使用BIO標(biāo)注方式對(duì)語料中的字符進(jìn)行標(biāo)注。即B-、I-代表實(shí)體首字、實(shí)體非首字,O代表該字不屬于命名實(shí)體的一部分。在此基礎(chǔ)上,為了將實(shí)體進(jìn)行分類,還在實(shí)體標(biāo)注的時(shí)候以”-type“形式添加類別。在數(shù)據(jù)集中標(biāo)注如表1所示。
表1 實(shí)體標(biāo)注
模型的實(shí)體識(shí)別效果使用3個(gè)指標(biāo),準(zhǔn)確率P、召回率R和F1值來評(píng)價(jià)。公式如下:
(15)
(16)
(17)
實(shí)驗(yàn)的環(huán)境為Windows10,顯卡為GTX1080Ti,內(nèi)存為16 G,Python版本為Python3.7.0,TensorFlow版本為Tensorflow1.4.0。
經(jīng)過多次實(shí)驗(yàn)后,模型表現(xiàn)最好的超參數(shù)設(shè)置如表2所示。
表2 ATTENTION-BiLSTM-CRF模型的超參數(shù)設(shè)置
該模型在CCKS2017Task2語料庫上做了4組對(duì)照實(shí)驗(yàn),比較了與ATTENTION-LSTM-CRF模型、BiLSTM-CRF模型和LSTM-CRF模型分別進(jìn)行命名實(shí)體識(shí)別的效果。
結(jié)果如表3所示。
表3 命名實(shí)體類別模型效果總體比較 %
其中,對(duì)各類別實(shí)體識(shí)別效果如表4所示。
表4 各類別實(shí)體識(shí)別的準(zhǔn)確率、召回率、F1值 %
由表3可以看出,引入ATTENTION機(jī)制后,F(xiàn)值較傳統(tǒng)BiLSTM-CRF模型所獲得的F值提高1.14%,可見加入ATTENTION層能夠有效選擇更有價(jià)值的樣本,提高模型性能。ATTENTION-BiLSTM-CRF模型的結(jié)果相較ATTENTION-LSTM-CRF模型提升了1.76%,BiLSTM-CRF較LSTM-CRF提升2.04%,說明雙向獲取全面信息的BiLSTM模型較單向LSTM模型能獲得更好的識(shí)別效果。
由表4可以觀察出,加入ATTENTION機(jī)制后,普遍提升了各類別實(shí)體的召回率(R值),即說該模型較其他模型能夠獲取更多信息,提高了查全率,即更好地處理了未登陸詞問題。對(duì)于訓(xùn)練數(shù)據(jù)量明顯過少的疾病和診斷部分(僅占2%),注意到在該類型實(shí)體存在未登陸詞較多,且多為長詞可能存在實(shí)體嵌套等情況下,加入ATTENTION機(jī)制后明顯提升準(zhǔn)確率、識(shí)別率和召回值,說明該模型在訓(xùn)練數(shù)據(jù)較少的情況下仍能顯著提高模型識(shí)別效果,ATTENTION機(jī)制有利于去除噪音,凸顯重要信息,提升模型識(shí)別效果。但需要進(jìn)一步提升仍然需要增加語料或者改進(jìn)模型,進(jìn)一步挖掘語義之間的關(guān)系。
從實(shí)驗(yàn)結(jié)果來看,提出的ATTENTION-BiLSTM-CRF模型在醫(yī)療文本命名實(shí)體識(shí)別上能顯著提升訓(xùn)練數(shù)據(jù)量較少情況下的實(shí)體的識(shí)別效果,且在不添加任何人工特征,也無復(fù)雜的后續(xù)處理的情況下,取得了較當(dāng)前學(xué)界主流BiLSTM-CRF模型更好的結(jié)果,充分顯示了該模型的優(yōu)越性。深度學(xué)習(xí)在醫(yī)療文本的文本挖掘中仍然有很大的提升空間,Attention機(jī)制對(duì)于提升識(shí)別效果有一定效果,未來可以考慮引進(jìn)谷歌提出的BERT等模型應(yīng)用于醫(yī)療文本命名實(shí)體識(shí)別方向等方式,進(jìn)一步改進(jìn)模型,提升命名實(shí)體識(shí)別的效果。