曾青霞 熊旺平 杜建強 聶 斌 郭榮傳
1(江西中醫(yī)藥大學(xué)岐黃國醫(yī)書院 江西 南昌 330004)
2(江西中醫(yī)藥大學(xué)計算機學(xué)院 江西 南昌 330004)
命名實體識別(Named Entity Recongition,NER)是自然語言處理(Natural Language Processing,NLP)任務(wù)中的重要步驟之一,其主要目的是識別給定文本中的命名實體。NER還可用于處理很多下游NLP任務(wù),例如關(guān)系提取、事件提取和問題問答。電子病歷是醫(yī)生對病人的個人信息、病因、病機等就診過程中產(chǎn)生的信息的記錄,包含大量的醫(yī)療就診信息以及患者的個人信息[1]。有關(guān)電子病歷中的命名實體主要有檢查、體征、治療和疾病等醫(yī)學(xué)專有名詞及相關(guān)的修飾詞。例如某份病歷中的“主因咳嗽、少痰1個月、抽搐1次,肺炎”,其中:“咳嗽”“少痰”“抽搐”為體征,“肺炎”為疾病[2]。電子病歷命名實體識別就是對這類詞語進行識別。
電子病歷文本的命名實體識別研究不同于通用領(lǐng)域的命名實體識別研究,兩者文本存在著較大的差異。通用領(lǐng)域的文本語料有著嚴(yán)格的書寫規(guī)范和嚴(yán)謹(jǐn)?shù)拿绞剑娮硬v實體種類繁多,長短不一,書寫不規(guī)范,且不斷有新詞出現(xiàn)[3]。具體表現(xiàn)如下:1) 部分句子語法成分不完整(如“多于活動中起病”“雙側(cè)瞳孔等大同圓”),這種情況需要結(jié)合整句文本來推測出當(dāng)前的缺失部分。2) 包含大量的專業(yè)性術(shù)語和習(xí)慣用語(如“腦栓塞”“病理反射”“伴”“尚可”)。3) 包含嵌套實體,即多個實體嵌套在一起,一個實體實例化另外一個實體(如“腦萎縮”“右側(cè)共濟運動查體差”)。4) 較長句子中的相隔較遠位置的實體存在依賴關(guān)系(如“無惡心、嘔吐、伴腰痛、伴雙下肢乏力”,其中:“惡心”屬于癥狀,和癥狀“嘔吐”位置距離較近,可以影響“嘔吐”的標(biāo)記判斷,但是和“嘔吐”相隔距離較遠的癥狀“乏力”則沒有受影響,而只能受到身體部位“雙下肢”的影響,同時“雙下肢”只能影響到“乏力”的標(biāo)記判斷,而不能影響到其他癥狀的標(biāo)記判斷)。
近年來,通用領(lǐng)域的命名實體識別研究方法被陸續(xù)提出,主要包括淺層機器學(xué)習(xí)和深層神經(jīng)網(wǎng)絡(luò)方法。淺層機器學(xué)習(xí)主要包括隱馬爾可夫模型[4]、支持向量機和條件隨機場(Conditional Random Field,CRF)[5]等。以上方法需要通過人工的方式提取有效的語法特征,然后設(shè)定特征模板進行實體識別,因此特征模板的選擇直接影響實體識別的結(jié)果。許源等[6]將CRF與RUTA規(guī)則結(jié)合,通過調(diào)整規(guī)則來提高CRF在命名實體識別中的性能;邱泉清等[7]在建立知識庫、選取合適的特征模板的基礎(chǔ)上,采用CRF進行命名實體識別并取得了良好的效果。有關(guān)使用深度神經(jīng)網(wǎng)絡(luò)進行NER的研究中,張海楠等[8]采用深度學(xué)習(xí)框架,通過在字向量中加入詞特征,在一定程度上緩解了分詞錯誤和出現(xiàn)未登錄詞所帶來的影響,通過引入詞性信息來提高實體識別的準(zhǔn)確率;為了獲取更多的上下文語義信息,Li等[9]使用雙向長短期記憶網(wǎng)絡(luò)(Bi-directional LSTM,BiLSTM),分別將文本編碼并從正向和反向的兩個方向作為輸入,進行連接操作后送入中間層,該方法在通用領(lǐng)域數(shù)據(jù)集上取得了良好的效果;李麗雙等[10]利用卷積神經(jīng)網(wǎng)絡(luò)得到字向量和詞向量,將兩者結(jié)合作為BiLSTM模型的輸入,并在生物語料上達到了目前最好的效果。盡管這些方法在NER任務(wù)上取得了較大的進步,但還是無法適應(yīng)電子病歷的命名實體識別。在預(yù)測實體類型時,以上大多數(shù)模型難以處理長距離依賴關(guān)系,尤其對于長文本,其丟失的關(guān)鍵信息就越多。雖然BiLSTM在一定程度上可以緩解長距離依賴的問題,但是不能將任意兩個字符進行連接,從而獲取全局信息。因此,如何更好地捕獲整個句子的全局依賴性是提高命名實體識別準(zhǔn)確率的關(guān)鍵所在。
為了更好地獲取實體之間的長距離依賴關(guān)系,本文提出了一種結(jié)合自注意力的BiLSTM+CRF的方法(SelfAtt-BiLSTM-CRF),通過在原有的模型基礎(chǔ)上引入自注意力機制,捕捉整個句子的全局依賴性并學(xué)習(xí)句子的內(nèi)部結(jié)構(gòu)特征。在CCKS2018的電子病歷數(shù)據(jù)集和CoNLL2003數(shù)據(jù)集上評估模型。實驗結(jié)果表明,在不考慮使用特征模板的條件下,本文模型優(yōu)于現(xiàn)有的深度神經(jīng)網(wǎng)絡(luò)模型,準(zhǔn)確率分別為91.01%和89.2%。
圖1為本文的SelfAtt-BiLSTM-CRF模型框架。本文模型總共由四部分組成,分別為Embedding模塊、BiLSTM模塊、SelfAttention模塊和CRF模塊。首先采用預(yù)訓(xùn)練好的字向量作為Embedding輸入;然后經(jīng)過BiLSTM進行編碼,將編碼完的結(jié)果拼接送入到Self-Attention層獲取任意詞的長程依賴關(guān)系;最后使用CRF模塊進行解碼,將隱含層的輸出解碼成出現(xiàn)概率最大的標(biāo)記序列。
Embedding模塊主要是負(fù)責(zé)將輸入窗口的字進行字向量映射,也就是將離散字符映射到分布式表示中。首先將已標(biāo)注好的語料進行簡單的預(yù)處理(去除多余的字符),然后采用Word2vec模型預(yù)訓(xùn)練好詞向量,即嵌入矩陣。建立字典,即語料的詞匯表,且字典中的每個字都能通過嵌入矩陣表示成一個固定長度為d的一維向量。對于電子病歷數(shù)據(jù)集給定的句子x={c1,c2,…,cn},通過在預(yù)訓(xùn)練好的嵌入矩陣中查找每個字ci對應(yīng)的字向量,將給定的句子逐字映射并進行縱向拼接,形成一個n×d的向量矩陣,作為模型的輸入。
長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[11]是一種時間循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),是為了解決一般的RNN存在的長期依賴問題而專門設(shè)計出來的,其通過引入門結(jié)構(gòu)和存儲單元來解決RNN中的梯度消失和梯度爆炸問題。LSTM網(wǎng)絡(luò)的主要結(jié)構(gòu)可以表示為:
(1)
式中:σ是激活函數(shù)sigmoid;?是點乘運算;tanh是正切激活函數(shù);it、ft、ot分別表示在t時刻的輸入門、遺忘門、輸出門;ct表示t時刻的細(xì)胞狀態(tài);ht表示t時刻的隱藏狀態(tài)。
為了能夠有效利用上下文信息,采用雙向LSTM結(jié)構(gòu),對每條文本分別采用正向和反向輸入,通過計算得到兩個不同的中間層表示,然后將兩個向量進行拼接并作為隱含層的輸出:
(2)
Attention機制就是把注意力放在所關(guān)注的點上,忽略其他不那么相關(guān)的因素,最初起源于圖像領(lǐng)域。2014年,Mnih等[12]將Attention機制用于循環(huán)神經(jīng)網(wǎng)絡(luò)模型進行圖像分類任務(wù)。隨后,Bahdanau等[13]將其用于機器翻譯任務(wù)上并取得了較為顯著的效果,這也是第一個將注意力機制應(yīng)用到自然語言處理領(lǐng)域中的例子。2017年,Vaswani等[14]使用了Self-attention機制來學(xué)習(xí)文本表示,Self-attention機制可以用來學(xué)習(xí)句子中任意兩個字符之間的依賴關(guān)系并捕捉內(nèi)部結(jié)構(gòu)信息,其計算過程如下:
假設(shè)BiLSTM的輸出為H={h1,h2,…,hn}。對應(yīng)的scaled dot attention可以描述為:
(3)
式中:Q、K和V分別是查詢矩陣、鍵矩陣和值矩陣;d為H的維度;Q=K=V=H。
Multi-head attention是在Self-attention的基礎(chǔ)上加以完善的。它擴展了模型專注于不同位置的能力,給出了自注意力層的多個“表示子空間”。在“多頭”注意力機制下,為每個頭保持獨立的查詢、鍵、值權(quán)重矩陣,從而產(chǎn)生不同的查詢、鍵、值矩陣。然后將多個頭并行執(zhí)行scaled dot attention,最后將這些attention的結(jié)果拼接起來,得到一個融合所有注意力頭信息的矩陣。Multi-head attention描述如下:
(4)
CRF能夠通過考慮標(biāo)簽之間的依賴關(guān)系獲得全局最優(yōu)的標(biāo)記序列。給定一個預(yù)測序列y={y1,y2,…,yn},CRF標(biāo)記過程可形式化如下:
(5)
式中:Ws和bs是可訓(xùn)練的參數(shù);Oi,yi表示第i個單詞標(biāo)記為yi個標(biāo)簽的概率,矩陣T是轉(zhuǎn)移矩陣,例如Tij表示由標(biāo)簽i轉(zhuǎn)移到標(biāo)簽j的概率。在原語句S的條件下產(chǎn)生標(biāo)記序列y的概率為:
(6)
在訓(xùn)練過程中標(biāo)記序列的似然函數(shù)為:
(7)
式中:Yx表示所有可能的標(biāo)記集合,包括不符合BIOES規(guī)則的標(biāo)記序列。預(yù)測時,由式(8)輸出整體概率最大的一組序列。
(8)
為了驗證本文模型的有效性和泛化性,分別選用了CCKS2018的電子病歷純文本文檔和CoNLL2003語料進行實驗。所有實驗都在采用相同的預(yù)訓(xùn)練詞向量和參數(shù)水平的基礎(chǔ)上進行。
CCKS2018的電子病歷和CoNLL2003語料詳細(xì)信息如表1所示。
表1 語料信息
CCKS2018電子病歷語料中的目標(biāo)序列集合包括:非實體部分、治療方式、身體部位、疾病癥狀、醫(yī)學(xué)檢查、疾病實體。CoNLL2003語料中的目標(biāo)序列集合包括LOC(地名)、ORG(組織)、PER(人民)、MISC(其他)。為了更清楚地標(biāo)注出待識別的命名實體,上述兩個數(shù)據(jù)集都是采用了BIO三元標(biāo)記實體,其中:B代表實體的開頭;I代表實體除中間部分;O代表其他,即非實體部分。
本文模型在CCK2018電子病歷語料上的命名實體識別的結(jié)果如表2所示,下面通過對比實驗結(jié)果來分析各個模塊在模型中起到的作用。
表2 CCKS2018語料模型結(jié)果
1) BiLSTM模塊。為說明該模塊的有效性,實驗對比了LSTM和BiLSTM兩個模塊的實驗結(jié)果。實驗結(jié)果顯示,BiLSTM模型在電子病歷語料上訓(xùn)練集和測試集的準(zhǔn)確率分別為0.941 3和0.820 9,比LSTM模型在訓(xùn)練集和測試集上的準(zhǔn)確率分別高出了1.87和0.33個百分點。無論是在訓(xùn)練集還是在測試集上的準(zhǔn)確率BiLSTM模型都要優(yōu)于LSTM,主要因為BiLSTM相對于LSTM更加充分地運用了上下文信息。
2) CRF模塊。為證明該模塊的有效性,實驗對比了雙向長短記憶網(wǎng)絡(luò)模塊以及在該模塊的基礎(chǔ)上添加CRF模塊的兩組實驗結(jié)果。結(jié)果顯示,BiLSTM-CRF模型在電子病歷語料上的訓(xùn)練集和測試集的準(zhǔn)確率分別為0.964 9和0.845 1,比BiLSTM模型在訓(xùn)練集和測試集上的準(zhǔn)確率分別高出了2.36和2.42個百分點。BiLSTM-CRF無論是在訓(xùn)練集還是在測試集上的準(zhǔn)確率都要優(yōu)于BiLSTM,主要是因為CRF充分考慮到各個標(biāo)簽屬性之間的關(guān)系,對隱含層的輸出進行解碼后,通過動態(tài)規(guī)劃的思想獲得全局最優(yōu)輸出序列標(biāo)簽,提高了實體識別的性能。
3) Self-attention模塊。為了驗證Self-attention模塊的有效性,進行了SelfAtt-BiLSTM-CRF和BiLSTM-CRF的對比實驗。結(jié)果顯示,SelfAtt-BiLSTM-CRF模型在電子病歷語料上的訓(xùn)練集和測試集的準(zhǔn)確率分別為0.983 5和0.910 1,比BiLSTM-CRF模型在訓(xùn)練集和測試集上的準(zhǔn)確率分別高出了1.86和6.50個百分點。主要是因為Self-attention能夠捉整個句子的全局依賴性并學(xué)習(xí)句子的內(nèi)部結(jié)構(gòu)特征,而測試集準(zhǔn)確率提高的幅度大于訓(xùn)練集是因為訓(xùn)練集準(zhǔn)確率的基數(shù)已經(jīng)很高了。
為驗證本文模型的泛化能力,表3給出了在CoNLL2003語料上的對比實驗結(jié)果。
表3 CoNLL2003語料模型結(jié)果
可以看出,本文模型在CoNLL2003語料上的訓(xùn)練集和測試集的準(zhǔn)確率分別為0.915 7和0.904 7,比BiLSTM-CRF模型在訓(xùn)練集和測試集上的準(zhǔn)確率分別高出了0.25和1.11個百分點。由表3可得:(1) 本文模型確實具有泛化能力,在其他數(shù)據(jù)集上也具有良好的表現(xiàn)。(2) 模型在CoNLL2003語料上訓(xùn)練集和測試集的準(zhǔn)確率均得到提高,證明在公共數(shù)據(jù)集上,引入自注意力機制的模型確實優(yōu)于基線模型BiLSTM-CRF,且在準(zhǔn)確率較低的情況下,準(zhǔn)確率提高的幅度會更大。
本文針對電子病歷命名實體識別任務(wù),提出了結(jié)合自注意力機制的BiLSTM-CRF的網(wǎng)絡(luò)模型,通過引入自注意力機制彌補BiLSTM-CRF模型不能獲取兩個實體之間的長距離依賴關(guān)系的缺陷;采用獲取上下文信息的雙向LSTM作為神經(jīng)網(wǎng)絡(luò)隱含層,在一定程度上緩解了長文本輸入的依賴問題以及梯度爆炸問題;為了獲取更加準(zhǔn)確的識別結(jié)果,通過CRF對SelfAtt-BiLSTM網(wǎng)絡(luò)的輸出進行解碼,獲得最優(yōu)標(biāo)記序列。通過在CCKS2018的電子病歷純文本文檔和CoNLL2003語料上進行實驗比較,證明了本文提出的引入自注意力機制的模型性能優(yōu)于現(xiàn)有的模型。