


摘 ?要: 電子病歷是醫(yī)療單位對門診部、住院患者臨床診療與指導(dǎo)干預(yù)的、數(shù)字化的醫(yī)療服務(wù)工作的相關(guān)記錄[1]。為了完成電子病歷的高效的信息提取工作,本文使用深度學(xué)習(xí)的相關(guān)算法對電子病歷中的文本進行命名實體的識別工作。其算法選擇LSTM(Long-Short Term Memory,長短期記憶人工神經(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)標注的病歷數(shù)據(jù)進行相應(yīng)的訓(xùn)練與測試。該本通過實驗證明,深度學(xué)習(xí)的算法在電子病歷命名實體識別中是高效的[2]。
關(guān)鍵詞: 自然語言;電子病歷;命名實體識別;長短期記憶網(wǎng)絡(luò);深度學(xué)習(xí)
中圖分類號: TP31 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.08.047
本文著錄格式:趙鴻陽. 基于深度學(xué)習(xí)的電子病歷命名實體識別的研究與實現(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 ?引言
隨著社會的不斷發(fā)展,我國的醫(yī)療系統(tǒng)發(fā)生了重大的變化,其和計算機技術(shù)融合,產(chǎn)生了許多醫(yī)療智能產(chǎn)品。電子病歷系統(tǒng)就是其中之一。隨著電子病歷系統(tǒng)的快速發(fā)展與廣泛使用,眾多醫(yī)院積累了大量的醫(yī)療的文本信息,其包含了潛在的患者信息和醫(yī)學(xué)專業(yè)的知識。通過分析疾病類型、疾病的癥狀與治療方案的潛在的聯(lián)系,對我國醫(yī)療的服務(wù)水平的提升有著重要的作用[3]。
NLP(Natural Language Processing,自然語言處理)是計算機科學(xué)以及人工智能領(lǐng)域的重要技術(shù)。該技術(shù)能夠?qū)⒎墙Y(jié)構(gòu)化的文本信息轉(zhuǎn)化為結(jié)構(gòu)清晰的數(shù)據(jù)信息。NER(Named Entity Recognition,命名實體識別)是自然語言信息處理的基本任務(wù),應(yīng)用范圍廣泛。命名實體一般是一段文本信息中具有特定含義、特定意義或具體指代性強的實體,例如人名、組織名、地名、日期等等。NER技術(shù)就是從非結(jié)構(gòu)化的文本信息中抽出具體的實體,并且按照實際的需求信息識別出更多的實體。為了從文本中識別出醫(yī)學(xué)實體自然語言處理,將能夠處理醫(yī)學(xué)類別的自然語言稱為。電子病歷中的命名實體是一些具有具體特征的醫(yī)學(xué)類名詞或相關(guān)修飾詞語。運用NLP技術(shù)抽取與總結(jié)電子病歷的信息成為了當今十分重要的研究放心[4]。
隨著國內(nèi)外的醫(yī)學(xué)信息化不斷發(fā)展,國內(nèi)外很多研究人員對其進行了深入的研究。國外的信息化發(fā)展起源比較早,技術(shù)比較發(fā)達。實體識別(英文類的電子病歷)已經(jīng)研究與發(fā)展了多年,其技術(shù)與產(chǎn)品也比較成熟。早起的MetaMap與cTAKES,其對新出的實體識別差,召回率低。伴隨技術(shù)的發(fā)展的深入,基于有監(jiān)督學(xué)習(xí)的醫(yī)療實體識別系統(tǒng)出現(xiàn),其取得了良好的效果。但是,該系統(tǒng)需要大量的人工標記的特征。其消耗時間,并且還需要引入醫(yī)學(xué)的專業(yè)知識。為了讓電子病歷識別應(yīng)用到中文文本,國內(nèi)需要研究人員進行大量的研究。郁小玲等人提出了CRF(Conditional Random Field,基于條件隨機場醫(yī)療識別模型)[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)用于自然語言處理中。Wu Y等人提出了基于深度學(xué)習(xí)的中文醫(yī)學(xué)實體識別系統(tǒng),其利用了字分布式。其與基于CRF的技術(shù)相比,其具有更好的表現(xiàn)。本文分別使用深度學(xué)習(xí)的LSTM與MLP進行電子病歷識別,驗證基于深度學(xué)習(xí)的電子病歷識別的高效[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)主要包括每個節(jié)點和每個節(jié)點之間的鏈接。鏈接與其他的節(jié)點的關(guān)系分別通過權(quán)重與偏置進行關(guān)聯(lián)。對于一些特定的問題,算法通過偏置與權(quán)重進行特定訓(xùn)練。該算法主要有一個輸入層、一個輸出層與一個或多個隱藏層組成。
1.2 ?LSTM神經(jīng)網(wǎng)絡(luò)
LSTM(Long Short-Term Memory,長短期記憶網(wǎng)絡(luò)),是特殊的時間循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),其適合處理或者預(yù)測時間序列的中間間隔和延時相對比較長的事件。R你能也是由輸入層、輸出層和隱藏層組成。隱藏層主要接受該本個的序列通過RNN隱藏層處理后輸出的計算結(jié)構(gòu)或者上一個序列的計算結(jié)果。其結(jié)果與新一期序列值一起作用到隱藏層,最終形成輸出結(jié)果。圖1展示了RNN的基本機構(gòu)。LSTM是對RNN進行了改進。通過建設(shè)特殊控制單元,其實現(xiàn)了解決RNN長期依賴的問題。歷史信息被作為細胞狀態(tài),讓它在專門的傳送途徑中傳輸。其是LSTM計算和存儲模塊的核心重要思想,并且不易受到外界的干擾。
2 ?電子病歷實體識別模型
最初的序列的標注是需要手動定義,其費事又費力。該文用深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)進行特征選取,基本框架如圖3。
輸入層的作用是將輸入語句的每個字轉(zhuǎn)化為字典對應(yīng)的引的序號。
查找表層的作用是將字的ID轉(zhuǎn)化映射為多維向量。在該層,通過一定的查找操作,將每個索引映射成為多維向量,也稱作字向量。為了取得局部更多的上下文的信息,應(yīng)該將當前字和該字的前后的字向量拼接,將其作為下一層(網(wǎng)絡(luò)層)的輸入。
網(wǎng)絡(luò)層的作用是應(yīng)用MLP或者LSTM計算相應(yīng)的特征值 。網(wǎng)絡(luò)層,其的輸入是字向量,經(jīng)過一系列變換,輸出是每個字對相應(yīng)的標簽的分數(shù)。針對電子病歷命名實體識別,該層次常見采用的算法是門控制循環(huán)單元網(wǎng)格、RNN(循環(huán)神經(jīng)網(wǎng)路)、MLP(多層神經(jīng)網(wǎng)路)、LSTM(長短期記憶網(wǎng)路)。該文采用了MLP與LSTM。
推斷層的作用是將根據(jù)維特比算法推算出最優(yōu)的合適路徑,獲取最終的標注序列。簡單點說,推斷層就是利用上一層(網(wǎng)絡(luò)層)獲得的分數(shù)矩陣取得得分最高的序列過程[7]。
3 ?實驗
3.1 ?訓(xùn)練集
最大間隔準則是該算法進行訓(xùn)練的方法。為了最小化損失函數(shù),該文采用了文獻[9]提到的改進的AdaGrad算法。利用minibatch后向傳播算法進行訓(xùn)練,batch的值為30。
3.2 ?實驗數(shù)據(jù)、環(huán)境與評價指標
本文數(shù)據(jù)來自某三級甲等醫(yī)院的500多份的病人記錄。對這些電子病歷進行了命名實驗體的標注,將450份記錄作為實驗的訓(xùn)練集,50份作為實驗的測試集。該實驗的框架選擇了Google提供的TensorFlow,開發(fā)語言是Python.操作系統(tǒng)是Windows7,CPU是第三代酷睿i5-3317U@1.70 GHz,內(nèi)存的大小是8 GB(三星DDR3L 1600 MHz/記憶科技DDR3 1600 MHz)。
3.3 ?實驗結(jié)果與分析
CRF的電子病歷識別的實驗是利用條件隨機場模型進行手動定義特征進行識別的實驗。MLP+ embed和LSTM+embed的電子病歷識別實驗是在查找表層使用skip-gram模型形成字向量[8]。
針對電子病歷的命名實體識的實驗數(shù)據(jù),通過對表1到表5的數(shù)據(jù)分析,其結(jié)論如下:
(1)深度學(xué)習(xí)的算法模型在各個指標上與CRF相比都有提升。
(2)在深度學(xué)習(xí)的算法上,針對準確率,LSTM算法優(yōu)于MLP算法,針對召回率,MLP算法優(yōu)于LSTM算法??傮w上,LSTM算法的識別效果優(yōu)于MLP算法的識別效果。
(3)在查找層添加skip-gram模型,其進行無監(jiān)督的預(yù)訓(xùn)練。LSTM+embed算法與MLP+embed算法在各個指標都有提上。MLP+embed算法相比MLP算法的提升效果不明顯,但是LSTM+embed算法相比LSTM算法的提升效果明顯。所以提前預(yù)先訓(xùn)練字向量是可以增加電子病歷實體的識別效果。
綜述,針對電子病歷命名識別任務(wù),MLP+embed的效果是最優(yōu),其也是最有效、最優(yōu)秀的模型[9]。
4 ?結(jié)語
本文就基于深度學(xué)習(xí)的電子病歷識別的研究現(xiàn)狀進行了分析,然后介紹了MLP算法與LSTM算法,最后進行五種不同的實驗對比研究。實驗證明了傳統(tǒng)的CRF算法明顯比基于深度學(xué)習(xí)的MLP、LSTM、MLP+embed和LSTM+embed的實驗效果差。其中,LSTM+embed的實驗效果最優(yōu)。其證明了提前預(yù)先訓(xùn)練字向量提高了識別效果。總之,深度學(xué)習(xí)的算法運用到電子病歷識別中,其可以高效地提高勢必效果[10]。
參考文獻
[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]. 軟件, 2019, 40(03): 130-133.
[4] 高磊, 洪奔奔, 姚青岐. 基于卷積神經(jīng)網(wǎng)絡(luò)的隨機手寫數(shù)字識別[J]. 軟件, 2018, 39(09): 82-86.
[5] 郁小玲, 張鐵山, 吳彤, 等. 基于兩位一體的中文電子病歷命名實體識別[J]. 中國衛(wèi)生信息管理雜志, 2017, 14(4): 552-556.
[6] 夏宇彬, 鄭建立, 趙逸凡. 基于深度學(xué)習(xí)的電子病歷命名實體識別[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ī)院計算機維護和網(wǎng)絡(luò)安全管理[J]. 軟件, 2019, 40(03): 174-177.
[10] 彭華軍. 計算機技術(shù)在醫(yī)院管理信息化建設(shè)中的應(yīng)用[J]. 軟件, 2019, 40(03): 192-195.