張帆+王敏??
摘要:在較為深入地研究醫(yī)療文本實體識別的現(xiàn)有方法的基礎(chǔ)上,設(shè)計一種基于深度學(xué)習(xí)的醫(yī)療文本實體識別方法。本文在醫(yī)療文本數(shù)據(jù)集上進行實體識別對比實驗,所識別目標(biāo)實體包含疾病,癥狀,藥品,治療方法和檢查五大類。實驗結(jié)果表明,設(shè)計的深度神經(jīng)網(wǎng)絡(luò)模型能夠很好的應(yīng)用到醫(yī)療文本實體識別,本文所設(shè)計的方法比傳統(tǒng)算法(如CRF)具有較少人工特征干預(yù)及更高的準(zhǔn)確率和召回率等優(yōu)點。
關(guān)鍵詞:實體識別; 數(shù)據(jù)挖掘; 深度學(xué)習(xí); 醫(yī)療信息
中圖分類號:U491.14文獻標(biāo)識碼:ADOI:10.3969/j.issn.10036199.2017.01.025
1引言
醫(yī)療文本實體識別是醫(yī)療知識挖掘,醫(yī)療智能機器人,醫(yī)療臨床決策支持系統(tǒng)等應(yīng)用領(lǐng)域的重要基礎(chǔ)工作。最近一大批在線醫(yī)療信息,社區(qū)及遠(yuǎn)程問診網(wǎng)站及其應(yīng)用迅猛發(fā)展。這些網(wǎng)站為病患者提供多元化的醫(yī)療信息獲取渠道。同時產(chǎn)生大量疾病問答信息與醫(yī)療文本。這些信息將匯成一股非??捎^的大數(shù)據(jù)。并且這些醫(yī)療文本中有大量真實的個人案例,潛藏著豐富的醫(yī)療價值。但是這些醫(yī)療文本大多處于一種非結(jié)構(gòu)化的狀態(tài)。為充分挖掘其中的價值,并為接下來醫(yī)療問答等應(yīng)用打好基礎(chǔ)工作,醫(yī)療文本實體識別是必不可少的步驟。
2相關(guān)工作
命名實體識別這個概念是在MUC6(Message Understanding Conference)會議被提出。命名實體識別主要任務(wù)是識別出文本中出現(xiàn)專有名稱和有意義的數(shù)量短語并加以歸類。通用的命名識別主要包含實體(組織名、人名、地名),時間表達式(日期、時間),數(shù)字表達式(貨幣值、百分?jǐn)?shù))等。在生物醫(yī)學(xué)領(lǐng)域,目前比較集中的研究是針對醫(yī)學(xué)文獻中的基因、蛋白質(zhì)、藥物名、組織名等相關(guān)生物命名實體識別工作[1]。隨著醫(yī)療系統(tǒng)的信息化, 也出現(xiàn)大量針對電子病歷進行的識別工作。
目前常用的命名實體識別方法分為兩大類:基于規(guī)則和知識的方法與基于統(tǒng)計的方法?;谝?guī)則和知識的方法是一種最早使用的方法,這種方法簡單,便利[2]?;谝?guī)則和知識方法缺點是需要大量的人工觀察,可移植性較差。基于統(tǒng)計的方法將命名實體識別看作一個分類問題,采用類似支持向量機,貝葉斯模型等分類方法;同時也可以將命名實體識別看作一個序列標(biāo)注問題,采用隱馬爾可夫鏈、最大熵馬爾可夫鏈、條件隨機場等機器學(xué)習(xí)序列標(biāo)注模型[3-6]。這些方法都需要人依靠邏輯直覺和訓(xùn)練語料中的統(tǒng)計信息手工設(shè)計出大量特征。這些統(tǒng)計學(xué)習(xí)方法識別性能很大程度上依賴于特征的準(zhǔn)確度,所以要求團隊中要有語言學(xué)專家。
加拿大多倫多大學(xué)的Hinton教授[7]提出深度學(xué)習(xí)的概念,在全球掀起一次熱潮。深度學(xué)習(xí)通過模仿人腦多層抽象機制來實現(xiàn)對數(shù)據(jù)(圖像、語音和文本等)的抽象表達,將特征學(xué)習(xí)和分類整合到一個統(tǒng)一的學(xué)習(xí)框架中,從而減少手工特征制定的工作量。最近幾年來,深度學(xué)習(xí)在圖像識別和語音識別等領(lǐng)域已經(jīng)取得巨大成功。深度學(xué)習(xí)技術(shù)在原始字符集上提取同樣也受到很多關(guān)注。因為深度學(xué)習(xí)技術(shù)可以在原始字符集上提取高級特征,所以本文利用深度學(xué)習(xí)技術(shù)在大量未標(biāo)記醫(yī)療語料上無監(jiān)督地學(xué)習(xí)到詞特征、不用依賴人工設(shè)計特征,從而達到實體識別的目的。
針對實體識別這一任務(wù),本文用到神經(jīng)網(wǎng)絡(luò)語言模型對詞進行分布式表達。神經(jīng)網(wǎng)絡(luò)語言模型利用神經(jīng)網(wǎng)絡(luò)對詞的概率分布進行估計、生成模型,從而得到詞與詞之間的關(guān)系;同時該模型是一種無監(jiān)督訓(xùn)練模型,可以從大量未標(biāo)記的非結(jié)構(gòu)化文本中學(xué)習(xí)出詞語的分布式表示,并且可以對詞語之間的關(guān)系以及相似度進行建模。
神經(jīng)網(wǎng)絡(luò)語言模型(NNLM)[8]是2003年由Bengio提出,直至近年來由于硬件成本降低、文本數(shù)量急劇增加,神經(jīng)網(wǎng)絡(luò)語言模型開始逐漸被應(yīng)用到多種自然語言處理任務(wù)中,并取得了不錯的效果??v觀神經(jīng)網(wǎng)絡(luò)語言模型的演變過程,同樣也說一個逐步完善和逐步應(yīng)用的過程。2011年Mikolov等[9]使用循環(huán)神經(jīng)網(wǎng)絡(luò)改進了Bengio的神經(jīng)網(wǎng)絡(luò)語言模型,該模型在語音識別上的應(yīng)用性能要優(yōu)于傳統(tǒng)的n-gram語言模型。2011年Collobert等[10]提出了一個統(tǒng)一的神經(jīng)網(wǎng)絡(luò)架構(gòu)及其學(xué)習(xí)算法,并設(shè)計了SENNA系統(tǒng)可用于解決語言建模、詞性標(biāo)記、組塊分析、命名實體識別、語義角色標(biāo)記和句法分析等問題。2013年Zheng等[11]在大規(guī)模未標(biāo)記數(shù)據(jù)集上改進了中文詞語的內(nèi)在表示形式,并使用深度學(xué)習(xí)模型發(fā)現(xiàn)詞語的深層特征以解決中文分詞和詞性標(biāo)記問題。2016年Z Jiang等[12] 提出一種基于圖的詞向量表達,并將其應(yīng)用到醫(yī)療文本挖掘中。2016年SR Gangireddy等[13]提出一種自適應(yīng)的RNN神經(jīng)網(wǎng)絡(luò)語言模型,并將其用到自然語音識別上。本文在前人研究基礎(chǔ)上,利用神經(jīng)網(wǎng)絡(luò)語言模型構(gòu)建了詞的分布式特征,從而使醫(yī)療詞匯的命名實體識別更加具有可應(yīng)用價值。
3算法模型設(shè)計
本文設(shè)計一種可以用于命名實體識別的深層神經(jīng)網(wǎng)絡(luò)架構(gòu),該架構(gòu)的本質(zhì)是構(gòu)建具有多層的神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)出更有用的特征,從而提升識別的性能。比自然語言處理任務(wù)中常用模型如:條件隨機場模型,SVM,貝葉斯模型,該架構(gòu)具有兩大優(yōu)勢:1. 傳統(tǒng)的稀疏特征被稠密的分布式特征取代;2. 利用深度學(xué)習(xí)結(jié)構(gòu)以發(fā)現(xiàn)更高級的特征。
3.1命名實體識別的深層架構(gòu)
本文的神經(jīng)網(wǎng)絡(luò)至少包含三層,第一層是輸入層,第二層是隱含層,第三層是輸出層。
該深層網(wǎng)絡(luò)的輸入是詞分布式表達,輸入的詞向量也需要訓(xùn)練和優(yōu)化模型參數(shù);隱含層可以有多層,本文為提高訓(xùn)練速度,使用單層作為隱含層;輸出層采用損失函數(shù)為二元交叉熵的邏輯分類器構(gòu)成。
該架構(gòu)主要思路是將實體識別看作一個分類問題。其輸入是詞向量表達與上下文詞匯的詞向量。這些詞向量替代了傳統(tǒng)機器學(xué)習(xí)方法人工定義的特征,將這些詞向量輸入到神經(jīng)網(wǎng)絡(luò),然后通過隱含層將這些詞向量轉(zhuǎn)換為另外向量,再通過邏輯回歸層進行分類,得到每個詞的實體名概率,從而完成此實體識別工作(如圖1所示)。3.2分布式表示
上文提到神經(jīng)網(wǎng)絡(luò)的輸入是詞向量。
對詞特征和詞性特征進行傳統(tǒng)的特征表示,那么任意兩個詞語之間或者任意兩個詞性標(biāo)記之間都是孤立的、沒有聯(lián)系的。對詞特征和詞性特征進行分布式表示,即把每個詞語或者每個詞性標(biāo)記都表示為一個低維實數(shù)向量,那么任意兩個詞語之間或者任意兩個詞性標(biāo)記之間的歐氏距離將更近。
詞語特征的分布式表示可解決機器學(xué)習(xí)中的維數(shù)災(zāi)難和局部泛化限制等問題,相比于傳統(tǒng)的特征表示方式可以更深入地探索輸入數(shù)據(jù)之間的固有聯(lián)系,捕獲其內(nèi)部的語法、語義相似性。當(dāng)遇到訓(xùn)練語料中未出現(xiàn)的詞語或詞性標(biāo)記時,采用詞語特征的分布式表達訓(xùn)練出的模型仍然能夠有較好的表現(xiàn)。
3.3前饋神經(jīng)網(wǎng)絡(luò)函數(shù)
一個詞的實體識別需要考慮該詞的上下文環(huán)境,這樣識別準(zhǔn)確度才能更高。本文神經(jīng)網(wǎng)絡(luò)輸入層是窗口詞向量,而不只是單個詞的詞向量。定義窗口大小為C,當(dāng)C=1時則表示輸入是一個詞向量。隱含層的輸入是窗口詞向量,是一個C*M的矩陣。C為窗口大小,M為詞向量的維度。隱含層的輸出作為邏輯回歸層的特征。邏輯回歸層將計算窗口的中心詞為各個類別的概率。故本文網(wǎng)絡(luò)架構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)函數(shù)如下:
3.6參數(shù)訓(xùn)練
對該深層架構(gòu)的訓(xùn)練本質(zhì)是在訓(xùn)練語料上計算模型中的未知參數(shù),未知參數(shù)主要包括隱含層的若干參數(shù),還包含邏輯回歸層中的變換矩陣W∈Ry×n和偏置矩陣b∈Ry×n。訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要用到反向傳播算法和SGD(隨機梯度下降)算法。具體參數(shù)訓(xùn)練流程為:
第一步:隨機初始化網(wǎng)絡(luò)全部參數(shù),包含隱含層、邏輯回歸層參數(shù)。
第二步:隨機挑選一個訓(xùn)練樣本(xi,yi),首先進行前向傳播,將隱含層的輸出信息傳遞到邏輯回歸層,將所提取的最高級特征映射到相應(yīng)的標(biāo)記信息上,利用數(shù)據(jù)的標(biāo)記值對模型進行有監(jiān)督訓(xùn)練,并不斷調(diào)整連接權(quán)值,減小模型的目標(biāo)預(yù)測標(biāo)記與實際標(biāo)記之間的概率誤差。
第三步:反向傳播,計算前向傳播過程中目標(biāo)預(yù)測標(biāo)記與實際標(biāo)記之間的概念誤差,并將該誤差從邏輯回歸層向隱含層傳播,并不斷調(diào)整隱含層參數(shù)θ=(W,b(i))。
4醫(yī)療文本實體識別流程
針對在線醫(yī)療文本信息, 本文主要考慮了5 類命名實體:疾病、癥狀、藥品、治療方法和檢查。具體實體識別流程如圖2 所示, 主要包括數(shù)據(jù)爬取、數(shù)據(jù)處理、數(shù)據(jù)處理、詞匯分布式特征訓(xùn)練、神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練、實體識別和識別結(jié)果抽取。首先爬取胃癌、糖尿病、哮喘、高血壓四種病相關(guān)醫(yī)療文本,對獲取的醫(yī)療文本進行預(yù)處理, 包括特殊符號的過濾、人工標(biāo)注、分詞、大小寫轉(zhuǎn)化等操作, 然后, 利用程序?qū)⑺袛?shù)據(jù)劃分為訓(xùn)練集和測試集兩部分。將訓(xùn)練集放到模型中進行訓(xùn)練, 隨后再利用訓(xùn)練得到的參數(shù)測試模型識別效果。
5實驗結(jié)果及分析
5.1實驗條件
本文在Centos系統(tǒng)環(huán)境下用Java實現(xiàn)相關(guān)代碼,完成整個模型的構(gòu)建與訓(xùn)練。其中使用一款開源工具包word2vec構(gòu)建神經(jīng)網(wǎng)絡(luò)語言模型,word2vec是Tomas Mikolov在2013年開開發(fā)出來的工具包。word2vec使用CBOW模型(連續(xù)詞袋模型)[14-16]。CBOW模型是一種簡化的NNLM模型,CBOW去掉了最耗時的非線性隱層、且所有詞共享隱層,可無監(jiān)督地訓(xùn)練出詞特征的分布式表示和詞性特征的分布式表示。為驗證本文算法效果,本文通過設(shè)置2組對比實驗進行驗證,兩組對比實驗如下:
實驗1通過觀察分析訓(xùn)練語料,手工構(gòu)建特征集。這些特征集有符號特征,詞性特征,形態(tài)特征,后綴特征,身體部位指示詞特征與上下文特征等。在訓(xùn)練語料上使用這些特征集訓(xùn)練條件隨機場模型,并利用得到的條件隨機場模型在測試語料上進行命名實體識別,然后對識別結(jié)果進行評估,將實驗標(biāo)記為CRF。
實驗2在訓(xùn)練語料上無監(jiān)督地學(xué)習(xí)出詞的分布式表達和詞性的分布式特征表達,并利用詞的分布式表達和詞性的分布式表達構(gòu)建并訓(xùn)練3層網(wǎng)絡(luò)架構(gòu)。然后利用訓(xùn)練出來的深度神經(jīng)網(wǎng)絡(luò)在測試語料上進行命名實體識別,且對識別結(jié)果進行評估,將實驗標(biāo)記為DBN。
5.2實驗結(jié)果
本實驗使用3個指標(biāo)來衡量命名實體識別的性能:正確率、召回率和F值。其計算公式如下:
正確率(P)=系統(tǒng)正確識別的實體個數(shù)系統(tǒng)識別的實體個數(shù)×100%(10)
召回率(P)=系統(tǒng)正確識別的實體個數(shù)文檔中實體個數(shù)×100%(11)
F-值=2×P×RP+R×100%(12)
6結(jié)論
本文通過神經(jīng)網(wǎng)絡(luò)語言模型學(xué)習(xí)得到詞特征的分布式表達和詞性特征的分布式表達。并在詞分布式表達基礎(chǔ)上構(gòu)建出一種深層架構(gòu),將該深層架構(gòu)應(yīng)用于醫(yī)療命名實體識別任務(wù)。實驗表明該方法可以自動抽象出更高級特征,最大程度減少手工特征設(shè)計工作量。在醫(yī)療語料庫上進行2組對比實驗,取得總體上88.03%的準(zhǔn)確率和82.34%的召回率,該實驗結(jié)果表明該方法在命名實體識別任務(wù)中比條件隨機場模型效果更好。
參考文獻
[1]胡雙,陸濤,胡建華.文本挖掘技術(shù)在藥物研究中的應(yīng)用[J]. 醫(yī)學(xué)信息學(xué)雜志, 2013,(8):49-53.
[2]周昆. 基于規(guī)則的命名實體識別研究[D]. 合肥:合肥工業(yè)大學(xué), 2010
[3]闞琪. 基于條件隨機場的命名實體識別及實體關(guān)系識別的研究與應(yīng)用[D]. 北京:北京交通大學(xué), 2015.
[4]馮元勇,孫樂,張大鯤,等. 基于小規(guī)模尾字特征的中文命名實體識別研究[J]. 電子學(xué)報,2008,36(9): 1883-1838.
[5]鐘志農(nóng),劉方馳,吳燁,等. 主動學(xué)習(xí)與自學(xué)習(xí)的中文命名實體識別[J]. 國防科技大學(xué)學(xué)報,2014,4:82-88.
[6]懷寶興,寶騰飛,祝恒書,等. 一種基于概率主題模型的命名實體鏈接方法[J]. 軟件學(xué)報,2014,9: 2076-2087.
[7]HINTON G E,SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks [J].Science, 2006, 313(5786): 504-507.
[8]BENGIO Y, DUNCHARME R, VINCENT P,et al.A neural probabilistic language model [J]. The Journal of Machine Learning Research, 2003,3:1137-1155.
[9]MIKKOLOV T, KOMBRINK S, BURGET L,et al.Extensions of recurrent neural network language model[C] // 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) IEEE,2011: 5528-5331.
[10]COLLOBERT R, WESTON J, BOTTOU L,et al.Natural language processing (almost) from scratch[J]. The Journal of machine Learning Research, 2011, 12: 2493-2537.
[11]ZHENG Xiaoqing, CHEN Hanyang, XU Tiayu. Deep Learning for chinese Word segmentation and POS Tagging[C] //EMNLP. 2013: 647-657.
[12]JIANG Zhenchao,LI Lishuang,HUANG Degen.An Unsupervised Graph Based Continuous Word Representation Method for Biomedical Text Mining// IEEE/ACM Transactions on Computational Biology and Bioinformatics,2016, 13 :634-642.
[13]GANGIREDDY S R,SWIETOJANSKI P,BELL P,et al.Unsupervised Adaptation of Recurrent Neural Network Language Models// Interspeech, 2016, 9: 2016-1342
[14]MIKOLOV T,CHEN K, CORRADO G,et al.Efficient estimation of word representations in vector space [J]. Neural Computation,2014, 14: 1771-1800.
[15]MIKOLOV T, SUTSKKEVER I, CHEN K,et al.Distributed representations of words and phrases and their compositionality[C] // Advances in Neural information Processing Systems. 2013: 3111-3119.
[16]ALEXEYBORISOV T K,MAARTEN DE R S CBOW: Optimizing Word Embeddings for Sentence Representations[C]// Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. 2016: 10.18653/v1/P16-1089.
第36卷第1期2017年3月計算技術(shù)與自動化Computing Technology and AutomationVol36,No1Mar. 2 0 1 7第36卷第1期2017年3月計算技術(shù)與自動化Computing Technology and AutomationVol36,No1Mar. 2 0 1 7