陳琛
(廈門醫(yī)學(xué)院 福建省廈門市 361023)
近年來(lái),隨著我國(guó)信息化水平顯著提升,大量醫(yī)療領(lǐng)域內(nèi)生物醫(yī)學(xué)內(nèi)容以非結(jié)構(gòu)化形式存儲(chǔ)在電子文本中,無(wú)法得到充分利用。利用命名實(shí)體識(shí)別技術(shù)將醫(yī)療文本中的實(shí)體識(shí)別出來(lái)是將醫(yī)療文本轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)的基礎(chǔ)步驟,為進(jìn)一步挖掘利用其中蘊(yùn)含的豐富知識(shí)并進(jìn)行應(yīng)用奠定了基礎(chǔ)。國(guó)外醫(yī)療領(lǐng)域命名實(shí)體識(shí)別工作開展較早,已有如JNLPBA2004、ib2b2006、ib2b2010 等測(cè)評(píng)會(huì)議和生物醫(yī)學(xué)領(lǐng)域公開數(shù)據(jù)集。近年來(lái),我國(guó)醫(yī)療領(lǐng)域命名實(shí)體識(shí)別工作也逐步展開, 出現(xiàn)了如CCKS2017、CCKS2018 和CCKS2019 等測(cè)評(píng)競(jìng)賽和公開數(shù)據(jù)集。但總體來(lái)說(shuō),國(guó)內(nèi)生物醫(yī)療領(lǐng)域的命名實(shí)體識(shí)別工作開展較遲,公開數(shù)據(jù)集也較為缺乏。目前,國(guó)內(nèi)已有多名學(xué)者在生物醫(yī)學(xué)領(lǐng)域文本的命名實(shí)體領(lǐng)域開展了研究,如Lei 等人[1]用結(jié)構(gòu)化SVM在中文電子病歷的命名實(shí)體識(shí)別中取得了良好效果。Liu 等[2]基于CRF 模型探究了不同特征對(duì)醫(yī)療領(lǐng)域文本識(shí)別效果的影響。
傳統(tǒng)機(jī)器學(xué)習(xí)方法在解決命名實(shí)體識(shí)別問(wèn)題時(shí)主要有兩種方法,第一種是基于規(guī)則和字典,由語(yǔ)言學(xué)專家手工構(gòu)造規(guī)則模板,該方法主要憑借專家經(jīng)驗(yàn),且系統(tǒng)可移植性差、耗時(shí)耗力;第二種是基于統(tǒng)計(jì)的學(xué)習(xí)方法:如支持向量機(jī)(SVM)[3]、隱馬爾科夫模型(HMM)[4]、最大熵(Maxmium Entropy)[5]和條件隨機(jī)場(chǎng)(CRF)[6]等。此類方法特征工程復(fù)雜,需大量的標(biāo)注數(shù)據(jù)。本文提出一種基于Word2Vec[7]訓(xùn)練的字向量的BiGRU-CRF 模型,該方法基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí),較傳統(tǒng)機(jī)器學(xué)習(xí)方法的優(yōu)勢(shì)是,無(wú)需特征工程和人工構(gòu)造規(guī)則模板,節(jié)省了人力物力。實(shí)驗(yàn)表明,該模型較CRF等傳統(tǒng)模型有提升了的命名實(shí)體識(shí)別率,在瑞金醫(yī)院糖尿病標(biāo)注數(shù)據(jù)集中有較好的識(shí)別效果。
BiGRU-CRF 模型如圖1 所示,模型分為3 個(gè)部分,通過(guò)Word2Vec 進(jìn)行預(yù)訓(xùn)練獲得詞嵌入表示,再將生成向量輸入 BiGRU模型進(jìn)行進(jìn)一步語(yǔ)義編碼,最后通過(guò)CRF層輸出概率最優(yōu)標(biāo)簽序列。
圖1:基于BiGRU-CRF 的命名實(shí)體模型
1.1.1 BiGRU 模型
GRU[8]的 (Gated Recurrent Unit,GRU),是一種特殊循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN,Recurrent Neural Network)。RNN 可以利用順序信息來(lái)處理序列化信息,但在處理序列過(guò)長(zhǎng)問(wèn)題時(shí)會(huì)出現(xiàn)梯度消失等問(wèn)題。同時(shí),RNN 也缺乏學(xué)習(xí)長(zhǎng)期依賴的能力。GRU 模型是LSTM 模型[9]的一種變體,通過(guò)將LSTM 模型的輸入門、遺忘門和輸出門三個(gè)門結(jié)構(gòu)進(jìn)行改進(jìn),合并遺忘門和輸入們?yōu)楦麻T,混合細(xì)胞狀態(tài)和隱藏狀態(tài),使用重置門和更新門兩個(gè)門控決定哪些信息可以最終作為門控循環(huán)單元的輸出。GRU 模型簡(jiǎn)單,較LSTM 模型訓(xùn)練時(shí)間短,能節(jié)約利用硬件的計(jì)算能力和降低訓(xùn)練時(shí)間成本,廣泛應(yīng)用于工業(yè)界和大數(shù)據(jù)量的深度學(xué)習(xí)任務(wù)中。其內(nèi)部結(jié)構(gòu)如圖2 所示。
更新門用于控制哪些信息流向下一時(shí)刻:
重置門用于控制哪些過(guò)去信息需要被丟失
符號(hào)·表示按點(diǎn)乘運(yùn)算,σ 表示sigmoid 函數(shù),隱藏狀態(tài)輸出向量ht由zt和rt決定。
1.1.2 BiGRU
單向GRU 模型只能獲取前向時(shí)刻的信息,使用雙向GRU 模型獲得前向和后向的信息。BiGRU 模型同一時(shí)刻包含兩個(gè)分別按前向和后向順序進(jìn)行記憶的記憶單元,能有效利用上下文信息,將該時(shí)刻兩個(gè)方向的輸出進(jìn)行拼接,公式如下:
vt,wt是權(quán)重,bt為偏置。
模型最上層是CRF 層[10],使用該層執(zhí)行序列級(jí)別的單詞標(biāo)記,在訓(xùn)練數(shù)據(jù)的過(guò)程中,該層自動(dòng)學(xué)習(xí)標(biāo)簽之間的約束,確保預(yù)測(cè)的標(biāo)簽是合法的。使用一個(gè)(k+2)×(k+2)的轉(zhuǎn)換矩陣A 作為參數(shù),其中k 是標(biāo)簽號(hào),Aij表示標(biāo)簽的轉(zhuǎn)移分?jǐn)?shù)。如果標(biāo)記序列由y=(y1,y2,...,yn)表示,而n 等于句子長(zhǎng)度,則用于測(cè)量句子x 的標(biāo)記等于標(biāo)記序列y 的概率的公式如下所示。
圖2:GRU 單元結(jié)構(gòu)
Score(x,y)由轉(zhuǎn)換矩陣A 和該字符的第yi個(gè)標(biāo)簽的分?jǐn)?shù)矩陣P組成,為句子中所有單詞的打分。使用Softmax函數(shù)進(jìn)行歸一化處理,公式如下。
訓(xùn)練時(shí),對(duì)于訓(xùn)練樣本(x,yx),采用以下公式最大化標(biāo)記序列的對(duì)數(shù)概率。
本實(shí)驗(yàn)采用維特比算法求動(dòng)態(tài)規(guī)劃的概率最大路徑,公式如下:
本次實(shí)驗(yàn)使用數(shù)據(jù)集為瑞金醫(yī)院糖尿病標(biāo)注數(shù)據(jù)集[11]。隨機(jī)取其中的90%作為訓(xùn)練集,10%作為測(cè)試集。數(shù)據(jù)集中共包含15 種實(shí)體,實(shí)驗(yàn)中使用BIOES標(biāo)注模式對(duì)數(shù)據(jù)集中的實(shí)體字符進(jìn)行標(biāo)注。其中B-Type 標(biāo)注實(shí)體首字和I-Type 標(biāo)注實(shí)體中間字,E-Type 表示實(shí)體末字,Type 表示不同實(shí)體分類,S 表示實(shí)體單字,O 標(biāo)注非實(shí)體。
表1:各命名實(shí)體模型識(shí)別效果比較
本文實(shí)驗(yàn)使用準(zhǔn)確率P、召回率R 和F1 值作為模型識(shí)別效果和模型性能判定指標(biāo)。公式如下:其中Tp為模型正確識(shí)別出的實(shí)體的數(shù)量、Fp為模型識(shí)別出的無(wú)關(guān)實(shí)體的數(shù)量、Fn為模型未能識(shí)別的相關(guān)實(shí)體的數(shù)量。
實(shí)驗(yàn)參數(shù)設(shè)置為
(1)Word2Vec 參數(shù):Skip-gram 模型,size=300,windows=5,生成詞向量時(shí)使用jieba 進(jìn)行分詞。
(2)Bi_GRU 模型參數(shù):Word2Vec 詞向量維度為300,最大序列長(zhǎng)度128,批處理大小為32,隱藏層節(jié)點(diǎn)數(shù)128,Dropout0.5,Epoch 為10,使用Adam 進(jìn)行優(yōu)化。
所有實(shí)驗(yàn)采用的環(huán)境為16 核CPU、GPU 為GeForce GTX 1080 Ti,Python 版本為3.6、Tensorflow 版本為1.15.0。
2.5.1 多模型實(shí)驗(yàn)對(duì)比
本實(shí)驗(yàn)使用Word2Vec 的Skip-gram 詞向量模型進(jìn)行基于字和基于詞的醫(yī)療領(lǐng)域詞向量訓(xùn)練。對(duì)比基于字符的BiGRU-CRF 模型和基于詞的BiGRU-CRF 模型和基于字的BiGRU、基于字的CRF模型的識(shí)別結(jié)果如表1 所示。
2.5.2 實(shí)驗(yàn)結(jié)論
如表1 所示,基于Word2Vec 訓(xùn)練的字向量的BiGRU-CRF 較基于詞向量的BiGRU-CRF 模型識(shí)別效果提升0.014,其主要原因是在專業(yè)領(lǐng)域內(nèi)專業(yè)名詞與日常用詞習(xí)慣不同,詞語(yǔ)邊界不清,使用jieba 等分詞工具容易引起分詞錯(cuò)誤。而分詞錯(cuò)誤發(fā)生傳導(dǎo)導(dǎo)致的最后識(shí)別效果較差。實(shí)驗(yàn)證明,基于字向量BiGRU-CRF 模型在醫(yī)療領(lǐng)域的命名實(shí)體識(shí)別中,較CRF 等模型有更好的表現(xiàn)。相比于傳統(tǒng)的機(jī)器學(xué)習(xí)的方式,該模型不依賴人工特征工程,不需要規(guī)則模板,極大地降低了人力物力的消耗。
本文提出一種基于字向量的BiGRU-CRF 的方法,在瑞金醫(yī)院糖尿病標(biāo)注數(shù)據(jù)集中較CRF 等模型顯著提升了識(shí)別效果,證明了該模型的有效性。該模型還有很大的改進(jìn)空間,未來(lái)可以考慮引入BERT 模型[12]、ALBERT 模型[13]等方式進(jìn)一步改進(jìn)模型,提高醫(yī)療領(lǐng)域文本的識(shí)別率,為實(shí)現(xiàn)醫(yī)療自動(dòng)問(wèn)答系統(tǒng)、醫(yī)療知識(shí)圖譜和醫(yī)療事件抽取等任務(wù)做基礎(chǔ)。