張帆+王敏??


摘要:在較為深入地研究醫療文本實體識別的現有方法的基礎上,設計一種基于深度學習的醫療文本實體識別方法。本文在醫療文本數據集上進行實體識別對比實驗,所識別目標實體包含疾病,癥狀,藥品,治療方法和檢查五大類。實驗結果表明,設計的深度神經網絡模型能夠很好的應用到醫療文本實體識別,本文所設計的方法比傳統算法(如CRF)具有較少人工特征干預及更高的準確率和召回率等優點。
關鍵詞:實體識別; 數據挖掘; 深度學習; 醫療信息
中圖分類號:U491.14文獻標識碼:ADOI:10.3969/j.issn.10036199.2017.01.025
1引言
醫療文本實體識別是醫療知識挖掘,醫療智能機器人,醫療臨床決策支持系統等應用領域的重要基礎工作。最近一大批在線醫療信息,社區及遠程問診網站及其應用迅猛發展。這些網站為病患者提供多元化的醫療信息獲取渠道。同時產生大量疾病問答信息與醫療文本。這些信息將匯成一股非常可觀的大數據。并且這些醫療文本中有大量真實的個人案例,潛藏著豐富的醫療價值。但是這些醫療文本大多處于一種非結構化的狀態。為充分挖掘其中的價值,并為接下來醫療問答等應用打好基礎工作,醫療文本實體識別是必不可少的步驟。
2相關工作
命名實體識別這個概念是在MUC6(Message Understanding Conference)會議被提出。命名實體識別主要任務是識別出文本中出現專有名稱和有意義的數量短語并加以歸類。通用的命名識別主要包含實體(組織名、人名、地名),時間表達式(日期、時間),數字表達式(貨幣值、百分數)等。在生物醫學領域,目前比較集中的研究是針對醫學文獻中的基因、蛋白質、藥物名、組織名等相關生物命名實體識別工作[1]。隨著醫療系統的信息化, 也出現大量針對電子病歷進行的識別工作。
目前常用的命名實體識別方法分為兩大類:基于規則和知識的方法與基于統計的方法。基于規則和知識的方法是一種最早使用的方法,這種方法簡單,便利[2]。基于規則和知識方法缺點是需要大量的人工觀察,可移植性較差。基于統計的方法將命名實體識別看作一個分類問題,采用類似支持向量機,貝葉斯模型等分類方法;同時也可以將命名實體識別看作一個序列標注問題,采用隱馬爾可夫鏈、最大熵馬爾可夫鏈、條件隨機場等機器學習序列標注模型[3-6]。這些方法都需要人依靠邏輯直覺和訓練語料中的統計信息手工設計出大量特征。這些統計學習方法識別性能很大程度上依賴于特征的準確度,所以要求團隊中要有語言學專家。
加拿大多倫多大學的Hinton教授[7]提出深度學習的概念,在全球掀起一次熱潮。深度學習通過模仿人腦多層抽象機制來實現對數據(圖像、語音和文本等)的抽象表達,將特征學習和分類整合到一個統一的學習框架中,從而減少手工特征制定的工作量。最近幾年來,深度學習在圖像識別和語音識別等領域已經取得巨大成功。深度學習技術在原始字符集上提取同樣也受到很多關注。因為深度學習技術可以在原始字符集上提取高級特征,所以本文利用深度學習技術在大量未標記醫療語料上無監督地學習到詞特征、不用依賴人工設計特征,從而達到實體識別的目的。
針對實體識別這一任務,本文用到神經網絡語言模型對詞進行分布式表達。神經網絡語言模型利用神經網絡對詞的概率分布進行估計、生成模型,從而得到詞與詞之間的關系;同時該模型是一種無監督訓練模型,可以從大量未標記的非結構化文本中學習出詞語的分布式表示,并且可以對詞語之間的關系以及相似度進行建模。
神經網絡語言模型(NNLM)[8]是2003年由Bengio提出,直至近年來由于硬件成本降低、文本數量急劇增加,神經網絡語言模型開始逐漸被應用到多種自然語言處理任務中,并取得了不錯的效果。縱觀神經網絡語言模型的演變過程,同樣也說一個逐步完善和逐步應用的過程。2011年Mikolov等[9]使用循環神經網絡改進了Bengio的神經網絡語言模型,該模型在語音識別上的應用性能要優于傳統的n-gram語言模型。2011年Collobert等[10]提出了一個統一的神經網絡架構及其學習算法,并設計了SENNA系統可用于解決語言建模、詞性標記、組塊分析、命名實體識別、語義角色標記和句法分析等問題。2013年Zheng等[11]在大規模未標記數據集上改進了中文詞語的內在表示形式,并使用深度學習模型發現詞語的深層特征以解決中文分詞和詞性標記問題。2016年Z Jiang等[12] 提出一種基于圖的詞向量表達,并將其應用到醫療文本挖掘中。2016年SR Gangireddy等[13]提出一種自適應的RNN神經網絡語言模型,并將其用到自然語音識別上。本文在前人研究基礎上,利用神經網絡語言模型構建了詞的分布式特征,從而使醫療詞匯的命名實體識別更加具有可應用價值。
3算法模型設計
本文設計一種可以用于命名實體識別的深層神經網絡架構,該架構的本質是構建具有多層的神經網絡,學習出更有用的特征,從而提升識別的性能。比自然語言處理任務中常用模型如:條件隨機場模型,SVM,貝葉斯模型,該架構具有兩大優勢:1. 傳統的稀疏特征被稠密的分布式特征取代;2. 利用深度學習結構以發現更高級的特征。
3.1命名實體識別的深層架構
本文的神經網絡至少包含三層,第一層是輸入層,第二層是隱含層,第三層是輸出層。
該深層網絡的輸入是詞分布式表達,輸入的詞向量也需要訓練和優化模型參數;隱含層可以有多層,本文為提高訓練速度,使用單層作為隱含層;輸出層采用損失函數為二元交叉熵的邏輯分類器構成。
該架構主要思路是將實體識別看作一個分類問題。其輸入是詞向量表達與上下文詞匯的詞向量。這些詞向量替代了傳統機器學習方法人工定義的特征,將這些詞向量輸入到神經網絡,然后通過隱含層將這些詞向量轉換為另外向量,再通過邏輯回歸層進行分類,得到每個詞的實體名概率,從而完成此實體識別工作(如圖1所示)。3.2分布式表示
上文提到神經網絡的輸入是詞向量。
對詞特征和詞性特征進行傳統的特征表示,那么任意兩個詞語之間或者任意兩個詞性標記之間都是孤立的、沒有聯系的。對詞特征和詞性特征進行分布式表示,即把每個詞語或者每個詞性標記都表示為一個低維實數向量,那么任意兩個詞語之間或者任意兩個詞性標記之間的歐氏距離將更近。
詞語特征的分布式表示可解決機器學習中的維數災難和局部泛化限制等問題,相比于傳統的特征表示方式可以更深入地探索輸入數據之間的固有聯系,捕獲其內部的語法、語義相似性。當遇到訓練語料中未出現的詞語或詞性標記時,采用詞語特征的分布式表達訓練出的模型仍然能夠有較好的表現。
3.3前饋神經網絡函數
一個詞的實體識別需要考慮該詞的上下文環境,這樣識別準確度才能更高。本文神經網絡輸入層是窗口詞向量,而不只是單個詞的詞向量。定義窗口大小為C,當C=1時則表示輸入是一個詞向量。隱含層的輸入是窗口詞向量,是一個C*M的矩陣。C為窗口大小,M為詞向量的維度。隱含層的輸出作為邏輯回歸層的特征。邏輯回歸層將計算窗口的中心詞為各個類別的概率。故本文網絡架構的前饋神經網絡函數如下:
3.6參數訓練
對該深層架構的訓練本質是在訓練語料上計算模型中的未知參數,未知參數主要包括隱含層的若干參數,還包含邏輯回歸層中的變換矩陣W∈Ry×n和偏置矩陣b∈Ry×n。訓練神經網絡需要用到反向傳播算法和SGD(隨機梯度下降)算法。具體參數訓練流程為:
第一步:隨機初始化網絡全部參數,包含隱含層、邏輯回歸層參數。
第二步:隨機挑選一個訓練樣本(xi,yi),首先進行前向傳播,將隱含層的輸出信息傳遞到邏輯回歸層,將所提取的最高級特征映射到相應的標記信息上,利用數據的標記值對模型進行有監督訓練,并不斷調整連接權值,減小模型的目標預測標記與實際標記之間的概率誤差。
第三步:反向傳播,計算前向傳播過程中目標預測標記與實際標記之間的概念誤差,并將該誤差從邏輯回歸層向隱含層傳播,并不斷調整隱含層參數θ=(W,b(i))。
4醫療文本實體識別流程
針對在線醫療文本信息, 本文主要考慮了5 類命名實體:疾病、癥狀、藥品、治療方法和檢查。具體實體識別流程如圖2 所示, 主要包括數據爬取、數據處理、數據處理、詞匯分布式特征訓練、神經網絡模型訓練、實體識別和識別結果抽取。首先爬取胃癌、糖尿病、哮喘、高血壓四種病相關醫療文本,對獲取的醫療文本進行預處理, 包括特殊符號的過濾、人工標注、分詞、大小寫轉化等操作, 然后, 利用程序將所有數據劃分為訓練集和測試集兩部分。將訓練集放到模型中進行訓練, 隨后再利用訓練得到的參數測試模型識別效果。
5實驗結果及分析
5.1實驗條件
本文在Centos系統環境下用Java實現相關代碼,完成整個模型的構建與訓練。其中使用一款開源工具包word2vec構建神經網絡語言模型,word2vec是Tomas Mikolov在2013年開開發出來的工具包。word2vec使用CBOW模型(連續詞袋模型)[14-16]。CBOW模型是一種簡化的NNLM模型,CBOW去掉了最耗時的非線性隱層、且所有詞共享隱層,可無監督地訓練出詞特征的分布式表示和詞性特征的分布式表示。為驗證本文算法效果,本文通過設置2組對比實驗進行驗證,兩組對比實驗如下:
實驗1通過觀察分析訓練語料,手工構建特征集。這些特征集有符號特征,詞性特征,形態特征,后綴特征,身體部位指示詞特征與上下文特征等。在訓練語料上使用這些特征集訓練條件隨機場模型,并利用得到的條件隨機場模型在測試語料上進行命名實體識別,然后對識別結果進行評估,將實驗標記為CRF。
實驗2在訓練語料上無監督地學習出詞的分布式表達和詞性的分布式特征表達,并利用詞的分布式表達和詞性的分布式表達構建并訓練3層網絡架構。然后利用訓練出來的深度神經網絡在測試語料上進行命名實體識別,且對識別結果進行評估,將實驗標記為DBN。
5.2實驗結果
本實驗使用3個指標來衡量命名實體識別的性能:正確率、召回率和F值。其計算公式如下:
正確率(P)=系統正確識別的實體個數系統識別的實體個數×100%(10)
召回率(P)=系統正確識別的實體個數文檔中實體個數×100%(11)
F-值=2×P×RP+R×100%(12)
6結論
本文通過神經網絡語言模型學習得到詞特征的分布式表達和詞性特征的分布式表達。并在詞分布式表達基礎上構建出一種深層架構,將該深層架構應用于醫療命名實體識別任務。實驗表明該方法可以自動抽象出更高級特征,最大程度減少手工特征設計工作量。在醫療語料庫上進行2組對比實驗,取得總體上88.03%的準確率和82.34%的召回率,該實驗結果表明該方法在命名實體識別任務中比條件隨機場模型效果更好。
參考文獻
[1]胡雙,陸濤,胡建華.文本挖掘技術在藥物研究中的應用[J]. 醫學信息學雜志, 2013,(8):49-53.
[2]周昆. 基于規則的命名實體識別研究[D]. 合肥:合肥工業大學, 2010
[3]闞琪. 基于條件隨機場的命名實體識別及實體關系識別的研究與應用[D]. 北京:北京交通大學, 2015.
[4]馮元勇,孫樂,張大鯤,等. 基于小規模尾字特征的中文命名實體識別研究[J]. 電子學報,2008,36(9): 1883-1838.
[5]鐘志農,劉方馳,吳燁,等. 主動學習與自學習的中文命名實體識別[J]. 國防科技大學學報,2014,4:82-88.
[6]懷寶興,寶騰飛,祝恒書,等. 一種基于概率主題模型的命名實體鏈接方法[J]. 軟件學報,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月計算技術與自動化Computing Technology and AutomationVol36,No1Mar. 2 0 1 7第36卷第1期2017年3月計算技術與自動化Computing Technology and AutomationVol36,No1Mar. 2 0 1 7