摘 ?要: 電子病歷是醫(yī)療單位對(duì)門診部、住院患者臨床診療與指導(dǎo)干預(yù)的、數(shù)字化的醫(yī)療服務(wù)工作的相關(guān)記錄[1]。為了完成電子病歷的高效的信息提取工作,本文使用深度學(xué)習(xí)的相關(guān)算法對(duì)電子病歷中的文本進(jìn)行命名實(shí)體的識(shí)別工作。其算法選擇LSTM(Long-Short Term Memory,長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò))和MLP(Multi-Layer Perception,多層神經(jīng)網(wǎng)絡(luò)),其用于構(gòu)建算法模型。該本使用BP網(wǎng)絡(luò)(Back—PropagationNetwork,后向傳播)訓(xùn)練數(shù)據(jù)模型,應(yīng)用已經(jīng)標(biāo)注的病歷數(shù)據(jù)進(jìn)行相應(yīng)的訓(xùn)練與測(cè)試。該本通過(guò)實(shí)驗(yàn)證明,深度學(xué)習(xí)的算法在電子病歷命名實(shí)體識(shí)別中是高效的[2]。
關(guān)鍵詞: 自然語(yǔ)言;電子病歷;命名實(shí)體識(shí)別;長(zhǎng)短期記憶網(wǎng)絡(luò);深度學(xué)習(xí)
中圖分類號(hào): TP31 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.08.047
本文著錄格式:趙鴻陽(yáng). 基于深度學(xué)習(xí)的電子病歷命名實(shí)體識(shí)別的研究與實(shí)現(xiàn)[J]. 軟件,2019,40(8):208211
【Abstract】: Electronic medical record is a digital medical service record of outpatient department and inpatient clinic diagnosis and intervention in medical units[1]. To complete efficient information extraction of electronic medical records, the paper carries on text named entities recognition in electronic medical records with deep learning algorithm, including LSTM (Long-Short Term Memory) and MLP (Multi-Layer Perception) to construct algorithm model. Train data model with Back-Propagation Network (BP Network), and carry on corresponding train and test with labeled medical records. Experiment proves deep learning algorithm is efficient in electronic medical record named entity recognition[2].
【Key words】: Natural language; Electronic medical record; Named entity recognition; Long and short-term memory network; Deep learning
0 ?引言
隨著社會(huì)的不斷發(fā)展,我國(guó)的醫(yī)療系統(tǒng)發(fā)生了重大的變化,其和計(jì)算機(jī)技術(shù)融合,產(chǎn)生了許多醫(yī)療智能產(chǎn)品。電子病歷系統(tǒng)就是其中之一。隨著電子病歷系統(tǒng)的快速發(fā)展與廣泛使用,眾多醫(yī)院積累了大量的醫(yī)療的文本信息,其包含了潛在的患者信息和醫(yī)學(xué)專業(yè)的知識(shí)。通過(guò)分析疾病類型、疾病的癥狀與治療方案的潛在的聯(lián)系,對(duì)我國(guó)醫(yī)療的服務(wù)水平的提升有著重要的作用[3]。
NLP(Natural Language Processing,自然語(yǔ)言處理)是計(jì)算機(jī)科學(xué)以及人工智能領(lǐng)域的重要技術(shù)。該技術(shù)能夠?qū)⒎墙Y(jié)構(gòu)化的文本信息轉(zhuǎn)化為結(jié)構(gòu)清晰的數(shù)據(jù)信息。NER(Named Entity Recognition,命名實(shí)體識(shí)別)是自然語(yǔ)言信息處理的基本任務(wù),應(yīng)用范圍廣泛。命名實(shí)體一般是一段文本信息中具有特定含義、特定意義或具體指代性強(qiáng)的實(shí)體,例如人名、組織名、地名、日期等等。NER技術(shù)就是從非結(jié)構(gòu)化的文本信息中抽出具體的實(shí)體,并且按照實(shí)際的需求信息識(shí)別出更多的實(shí)體。為了從文本中識(shí)別出醫(yī)學(xué)實(shí)體自然語(yǔ)言處理,將能夠處理醫(yī)學(xué)類別的自然語(yǔ)言稱為。電子病歷中的命名實(shí)體是一些具有具體特征的醫(yī)學(xué)類名詞或相關(guān)修飾詞語(yǔ)。運(yùn)用NLP技術(shù)抽取與總結(jié)電子病歷的信息成為了當(dāng)今十分重要的研究放心[4]。
隨著國(guó)內(nèi)外的醫(yī)學(xué)信息化不斷發(fā)展,國(guó)內(nèi)外很多研究人員對(duì)其進(jìn)行了深入的研究。國(guó)外的信息化發(fā)展起源比較早,技術(shù)比較發(fā)達(dá)。實(shí)體識(shí)別(英文類的電子病歷)已經(jīng)研究與發(fā)展了多年,其技術(shù)與產(chǎn)品也比較成熟。早起的MetaMap與cTAKES,其對(duì)新出的實(shí)體識(shí)別差,召回率低。伴隨技術(shù)的發(fā)展的深入,基于有監(jiān)督學(xué)習(xí)的醫(yī)療實(shí)體識(shí)別系統(tǒng)出現(xiàn),其取得了良好的效果。但是,該系統(tǒng)需要大量的人工標(biāo)記的特征。其消耗時(shí)間,并且還需要引入醫(yī)學(xué)的專業(yè)知識(shí)。為了讓電子病歷識(shí)別應(yīng)用到中文文本,國(guó)內(nèi)需要研究人員進(jìn)行大量的研究。郁小玲等人提出了CRF(Conditional Random Field,基于條件隨機(jī)場(chǎng)醫(yī)療識(shí)別模型)[5]。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))和CNN(卷積神經(jīng)網(wǎng)絡(luò))等等深度學(xué)習(xí)模型已經(jīng)應(yīng)用于自然語(yǔ)言處理中。Wu Y等人提出了基于深度學(xué)習(xí)的中文醫(yī)學(xué)實(shí)體識(shí)別系統(tǒng),其利用了字分布式。其與基于CRF的技術(shù)相比,其具有更好的表現(xiàn)。本文分別使用深度學(xué)習(xí)的LSTM與MLP進(jìn)行電子病歷識(shí)別,驗(yàn)證基于深度學(xué)習(xí)的電子病歷識(shí)別的高效[6]。
1 ?MLP神經(jīng)網(wǎng)絡(luò)與LSTM神經(jīng)網(wǎng)絡(luò)算法
1.1 ?MLP神經(jīng)網(wǎng)絡(luò)算法
多層神經(jīng)網(wǎng)絡(luò)(Multi-Layer Perceptron,MLP)也叫做人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)。ANN的結(jié)構(gòu)主要包括每個(gè)節(jié)點(diǎn)和每個(gè)節(jié)點(diǎn)之間的鏈接。鏈接與其他的節(jié)點(diǎn)的關(guān)系分別通過(guò)權(quán)重與偏置進(jìn)行關(guān)聯(lián)。對(duì)于一些特定的問(wèn)題,算法通過(guò)偏置與權(quán)重進(jìn)行特定訓(xùn)練。該算法主要有一個(gè)輸入層、一個(gè)輸出層與一個(gè)或多個(gè)隱藏層組成。
1.2 ?LSTM神經(jīng)網(wǎng)絡(luò)
LSTM(Long Short-Term Memory,長(zhǎng)短期記憶網(wǎng)絡(luò)),是特殊的時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),其適合處理或者預(yù)測(cè)時(shí)間序列的中間間隔和延時(shí)相對(duì)比較長(zhǎng)的事件。R你能也是由輸入層、輸出層和隱藏層組成。隱藏層主要接受該本個(gè)的序列通過(guò)RNN隱藏層處理后輸出的計(jì)算結(jié)構(gòu)或者上一個(gè)序列的計(jì)算結(jié)果。其結(jié)果與新一期序列值一起作用到隱藏層,最終形成輸出結(jié)果。圖1展示了RNN的基本機(jī)構(gòu)。LSTM是對(duì)RNN進(jìn)行了改進(jìn)。通過(guò)建設(shè)特殊控制單元,其實(shí)現(xiàn)了解決RNN長(zhǎng)期依賴的問(wèn)題。歷史信息被作為細(xì)胞狀態(tài),讓它在專門的傳送途徑中傳輸。其是LSTM計(jì)算和存儲(chǔ)模塊的核心重要思想,并且不易受到外界的干擾。
2 ?電子病歷實(shí)體識(shí)別模型
最初的序列的標(biāo)注是需要手動(dòng)定義,其費(fèi)事又費(fèi)力。該文用深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)進(jìn)行特征選取,基本框架如圖3。
輸入層的作用是將輸入語(yǔ)句的每個(gè)字轉(zhuǎn)化為字典對(duì)應(yīng)的引的序號(hào)。
查找表層的作用是將字的ID轉(zhuǎn)化映射為多維向量。在該層,通過(guò)一定的查找操作,將每個(gè)索引映射成為多維向量,也稱作字向量。為了取得局部更多的上下文的信息,應(yīng)該將當(dāng)前字和該字的前后的字向量拼接,將其作為下一層(網(wǎng)絡(luò)層)的輸入。
網(wǎng)絡(luò)層的作用是應(yīng)用MLP或者LSTM計(jì)算相應(yīng)的特征值 。網(wǎng)絡(luò)層,其的輸入是字向量,經(jīng)過(guò)一系列變換,輸出是每個(gè)字對(duì)相應(yīng)的標(biāo)簽的分?jǐn)?shù)。針對(duì)電子病歷命名實(shí)體識(shí)別,該層次常見(jiàn)采用的算法是門控制循環(huán)單元網(wǎng)格、RNN(循環(huán)神經(jīng)網(wǎng)路)、MLP(多層神經(jīng)網(wǎng)路)、LSTM(長(zhǎng)短期記憶網(wǎng)路)。該文采用了MLP與LSTM。
推斷層的作用是將根據(jù)維特比算法推算出最優(yōu)的合適路徑,獲取最終的標(biāo)注序列。簡(jiǎn)單點(diǎn)說(shuō),推斷層就是利用上一層(網(wǎng)絡(luò)層)獲得的分?jǐn)?shù)矩陣取得得分最高的序列過(guò)程[7]。
3 ?實(shí)驗(yàn)
3.1 ?訓(xùn)練集
最大間隔準(zhǔn)則是該算法進(jìn)行訓(xùn)練的方法。為了最小化損失函數(shù),該文采用了文獻(xiàn)[9]提到的改進(jìn)的AdaGrad算法。利用minibatch后向傳播算法進(jìn)行訓(xùn)練,batch的值為30。
3.2 ?實(shí)驗(yàn)數(shù)據(jù)、環(huán)境與評(píng)價(jià)指標(biāo)
本文數(shù)據(jù)來(lái)自某三級(jí)甲等醫(yī)院的500多份的病人記錄。對(duì)這些電子病歷進(jìn)行了命名實(shí)驗(yàn)體的標(biāo)注,將450份記錄作為實(shí)驗(yàn)的訓(xùn)練集,50份作為實(shí)驗(yàn)的測(cè)試集。該實(shí)驗(yàn)的框架選擇了Google提供的TensorFlow,開發(fā)語(yǔ)言是Python.操作系統(tǒng)是Windows7,CPU是第三代酷睿i5-3317U@1.70 GHz,內(nèi)存的大小是8 GB(三星DDR3L 1600 MHz/記憶科技DDR3 1600 MHz)。
3.3 ?實(shí)驗(yàn)結(jié)果與分析
CRF的電子病歷識(shí)別的實(shí)驗(yàn)是利用條件隨機(jī)場(chǎng)模型進(jìn)行手動(dòng)定義特征進(jìn)行識(shí)別的實(shí)驗(yàn)。MLP+ embed和LSTM+embed的電子病歷識(shí)別實(shí)驗(yàn)是在查找表層使用skip-gram模型形成字向量[8]。
針對(duì)電子病歷的命名實(shí)體識(shí)的實(shí)驗(yàn)數(shù)據(jù),通過(guò)對(duì)表1到表5的數(shù)據(jù)分析,其結(jié)論如下:
(1)深度學(xué)習(xí)的算法模型在各個(gè)指標(biāo)上與CRF相比都有提升。
(2)在深度學(xué)習(xí)的算法上,針對(duì)準(zhǔn)確率,LSTM算法優(yōu)于MLP算法,針對(duì)召回率,MLP算法優(yōu)于LSTM算法。總體上,LSTM算法的識(shí)別效果優(yōu)于MLP算法的識(shí)別效果。
(3)在查找層添加skip-gram模型,其進(jìn)行無(wú)監(jiān)督的預(yù)訓(xùn)練。LSTM+embed算法與MLP+embed算法在各個(gè)指標(biāo)都有提上。MLP+embed算法相比MLP算法的提升效果不明顯,但是LSTM+embed算法相比LSTM算法的提升效果明顯。所以提前預(yù)先訓(xùn)練字向量是可以增加電子病歷實(shí)體的識(shí)別效果。
綜述,針對(duì)電子病歷命名識(shí)別任務(wù),MLP+embed的效果是最優(yōu),其也是最有效、最優(yōu)秀的模型[9]。
4 ?結(jié)語(yǔ)
本文就基于深度學(xué)習(xí)的電子病歷識(shí)別的研究現(xiàn)狀進(jìn)行了分析,然后介紹了MLP算法與LSTM算法,最后進(jìn)行五種不同的實(shí)驗(yàn)對(duì)比研究。實(shí)驗(yàn)證明了傳統(tǒng)的CRF算法明顯比基于深度學(xué)習(xí)的MLP、LSTM、MLP+embed和LSTM+embed的實(shí)驗(yàn)效果差。其中,LSTM+embed的實(shí)驗(yàn)效果最優(yōu)。其證明了提前預(yù)先訓(xùn)練字向量提高了識(shí)別效果??傊疃葘W(xué)習(xí)的算法運(yùn)用到電子病歷識(shí)別中,其可以高效地提高勢(shì)必效果[10]。
參考文獻(xiàn)
[1] Aronson A R, Lang F M. An overview of MetaMap: historical perspective and recent advances[J]. Journal of the Amer?ican Medical Informatics Association, 2010, 17(3): 229-236.
[2] Savova G K, Masanz J J, Ogren P V, et al. Mayo Clinical Text Analysis and Knowledge Extraction System (cTAKES): Architecture, component evaluation and applications[J]. Journal of the American Medical Informatics Association, 2010, 17(5): 507-513.
[3] 蔣日華. 網(wǎng)絡(luò)時(shí)代高校計(jì)算機(jī)實(shí)驗(yàn)室的建設(shè)與維護(hù)[J]. 軟件, 2019, 40(03): 130-133.
[4] 高磊, 洪奔奔, 姚青岐. 基于卷積神經(jīng)網(wǎng)絡(luò)的隨機(jī)手寫數(shù)字識(shí)別[J]. 軟件, 2018, 39(09): 82-86.
[5] 郁小玲, 張鐵山, 吳彤, 等. 基于兩位一體的中文電子病歷命名實(shí)體識(shí)別[J]. 中國(guó)衛(wèi)生信息管理雜志, 2017, 14(4): 552-556.
[6] 夏宇彬, 鄭建立, 趙逸凡. 基于深度學(xué)習(xí)的電子病歷命名實(shí)體識(shí)別[J]. 電子科技, 2018, 31(11): 35-38+41.
[7] Wu Y, Jiang M, Lei J, et al. Named Entity Recognition in Chinese Clinical Text Using Deep Neural Network[J]. Studies in health technology and informatics, 2015, 216: 624- 628.
[8] Duchi J, Hazan E, Singer Y. Adaptive Subgradient Methods for Online Learning and Stochastic Optimization[J]. Journal of Machine Learning Research, 2011, 12(7): 257-269.
[9] 甄川力, 廖永. 探析醫(yī)院計(jì)算機(jī)維護(hù)和網(wǎng)絡(luò)安全管理[J]. 軟件, 2019, 40(03): 174-177.
[10] 彭華軍. 計(jì)算機(jī)技術(shù)在醫(yī)院管理信息化建設(shè)中的應(yīng)用[J]. 軟件, 2019, 40(03): 192-195.