原 旎,盧克治,袁玉虎,舒梓心,楊 擴,張潤順,李曉東,周雪忠**
(1.北京交通大學計算機與信息技術學院 北京 100044;2.湖北省中醫(yī)院 武漢 430061;3.中國中醫(yī)科學院廣安門醫(yī)院 北京 100053)
中醫(yī)臨床記錄通常由醫(yī)生在日常臨床診療工作中記載,其中包含大量的表型信息、檢查記錄病人的治療信息[1]。隨著現代化生物醫(yī)學電子病歷的快速發(fā)展,應用現代技術實現對臨床病歷文本中數據的深度挖掘[2],對其進行數據分析,以發(fā)現中醫(yī)診療規(guī)律是一項非常有價值的工作。但由于中文語言的靈活性和中醫(yī)臨床的個體化表達[3],使得自動從中醫(yī)電子病歷數據中提取有意義的信息和知識具有挑戰(zhàn)性。
目前為止,命名實體識別技術在許多領域取得了顯著的成果,其F-評測值(F)已經高達90%以上[4],但是在生物醫(yī)學領域,命名實體識別的研究尚處于初級階段。因此,對生物醫(yī)學領域的命名實體識別的相關研究正在引起人們的重視。Wang等[5]比較了條件隨機場(Conditional Random Field,CRF),支持向量機(Support Vector Machines,SVM)和最大熵(Maximum Entropy,ME)三種機器學習算法的性能,并應用這三種算法識別中國古代醫(yī)案中的癥狀和發(fā)病機制,發(fā)現CRF更具有優(yōu)勢。Wang等[6]對中醫(yī)臨床文本中的癥狀名稱的識別進行了初步研究。Xu等[7]研究提出一種將分割和命名實體識別相結合的聯合模型,以提高對出院數據的命名實體識別的性能。Zhou等[8]在中醫(yī)方面使用Bootstrapping方法自動識別中醫(yī)題錄文獻中的疾病名稱和復方名稱,取得了很好的效果。Xu等[9]應用CD-REST提取系統從化學誘導疾病的生物醫(yī)學文獻中提取化學關系,該系統使用的是CRFs方法進行的化學和疾病名稱的命名實體識別。Zhang等[10]參加2015年BioCreativeV中的化學專利與藥物命名實體抽取任務,使用基于詞向量(Word embedding)的方法測試了CRF[11]和SSVM[12-13]的性能,其中CRF模型的精確度、召回率、F-測度值達到了(0.860 2、0.884 5、0.872 2),SSVM模型達到了(0.858 8、0.899 9、0.878 9)。袁玉虎等[14]用CRFs模型對中醫(yī)臨床病歷中的現病史部分進行癥狀術語抽取實驗,發(fā)現CRFs模型可以很好的實現文本中癥狀術語的序列標注任務。本文將運用深度表示的方法對中醫(yī)病歷文本進行命名實體抽取的實驗,并對抽取結果進行比較與評價,實現對臨床上現病史數據的自動標識。
我們使用CRF和SSVM兩種機器學習算法來進行癥狀詞的實體標識。CRF是一個經典的基于概率圖模型的序列標識算法。SSVM結合了CRF和SVM的優(yōu)點[15-18],適用于命名實體抽取的任務[13]。條件隨機場和結構支持向量機是目前為止最好的命名實體抽?。∟ER)機器學習方法。我們首先使用基于規(guī)則的方法對現病史句子進行規(guī)則化處理,然后基于條件隨機場和結構化支持向量機構建機器學習分類器。本文中,使用CRF和SSVM的Web引用作為CRF和SSVM的實現[15]。
條件隨機場是自然語言處理領域常用的算法之一,常用于句法分析、命名實體識別、詞性標注等。CRF本質上是隱含變量的馬爾科夫鏈和可觀測狀態(tài)的隱含變量的條件概率。以詞性變量為例,在詞性標注中詞性標簽就是隱含變量,具體的詞語就是可觀測狀態(tài),詞性標注的目的是通過可觀測到的各個單詞推斷出每個單詞應該被賦予的詞性標簽。
SVMHMM是用于序列標簽的SSVM的實現,它可以應用于詞性標簽、命名實體識別、主題查找等[12,19]問題。跟過去的SVM算法相比,SVMHMM算法可以輕松的處理數百萬字或數百萬標簽的標注問題,可以轉換和輸出任意長度依賴性的更高階模型,其中包括用于快速近似訓練和預測可選的搜索算法。
本文使用詞嵌入(Word embedding)方法生成詞向量,該詞向量作為CRFs和SSVM模型的輸入。在自然語言處理中,詞嵌入是語言模型集合和特征學習的集合名稱,它把字典中的詞或者短語映射為實數向量。詞嵌入把每個字轉化為更低維的數字型連續(xù)向量空間,它生成的這種映射方法包括:概率模型[20-22]、詞共現矩陣降維[23]、神經網絡[24-25]和利用詞的上下文信息。利用詞嵌入技術作為底層輸入表示,可以提高自然語言處理任務的性能。
我們引入了新的基于圖的算法學習框架node2vec,使用它來發(fā)現節(jié)點的連續(xù)特征并構建節(jié)點向量,以供下游的機器學習方法使用。node2vec最早是在自然語言處理任務中提出的。由于node2vec尋找節(jié)點的連續(xù)特征的特點,在文本中通過設置上下文窗口的大小,最終形成節(jié)點向量。我們將生成的詞向量運用于SSVM模型和CRFs模型,將其結果和基于Word embedding生成的詞向量的兩種模型進行對比分析。在Word embedding方法和node2vec方法的基礎上,融合命名實體抽取的模型即CRF模型和SSVM模型形成WENER方法和GENER方法。
本次實驗的流程圖如圖1所示,在本文中引入詞嵌入方法:(1)基于規(guī)則的數據預處理:由于臨床文本本身具有半結構化,口語化的特點,為了使其在進行命名實體抽取時能夠直接使用,我們使用Java正則表達式對現病史文本中的數字、時間、單位、標點符號和特殊符號用S、TU、DU或者其組合字母代替,這種方法可以簡化句子結構。由于在一些癥狀詞后面常常跟著不同的標點符號或者單位信息,這些信息對于文本的提取是沒有用的,因此,在進行統一處理后,由字母S、TU或DU來取代這些無用的信息。(2)分詞:實驗中使用中科院提供的分詞工具(NLPIR)進行分詞,在分詞中使用的術語列表為湖北中醫(yī)藥大學課題研究組整理出的疾病癥狀詞列表;(3)特征抽?。罕緦嶒炇褂没趕kipgram模型的word2vec方法生成的詞向量和node2vec生成的詞向量,并將這兩種詞向量特征應用到CRFs模型和SSVM模型上,進行癥狀詞的實體抽取;(4)評價指標:針對不同特征,分析對比CRFs模型和SSVM模型的標注性能。
為了評估文本序列標記策略的可行性和引入的序列分類器在現病史文本中的性能,我們使用了癥狀名稱識別精確度(P)、召回率(R)和F-測評值(F)進行評估。這些評價指標可以評估CRF算法模型和SSVM算法模型序列標記的可行性。
圖1 深度表示的命名實體抽取框架流程圖
如圖2所示,A表示正確識別的癥狀名稱的數量,B表示未正確識別的癥狀名稱,A+B表示從現病史文本中抽取的實體個數,A+C表示標準病歷文本中癥狀實體個數的總數。癥狀名稱正確識別是指該癥狀詞的開始、中間、結尾部分全部被正確標識[26]。
本實驗使用的數據是來自于湖北省中醫(yī)院肝病研究所的2012年到2016年肝病臨床電子病歷數據,其中包括人口學領域(如年齡、性別)和主要癥狀診斷數據(如現代疾病診斷,中醫(yī)癥候診斷),我們一共收集整理了10 426條現病史文本數據,并對數據進行規(guī)范化處理和長度限制分割,再使用分詞工具對現病史句子進行分詞。分詞以后的現病史句子,在基于word2vec和node2vec兩種方法上分別生成詞向量。為了避免選取的語料出現最佳與最差偶然性的事件,對生成的詞向量用不同的機器學習方法進行十重交叉驗證取平均值,選取其中90%的數據量作為訓練集,10%的數據量作為測試集。
2.2.1 數據規(guī)范化處理
由于臨床病歷文本自身具有口語化、專業(yè)化、半結構化的特點,因此不能直接對文本進行命名實體抽取。為了讓我們能更方便的提取到準確的信息,需要用字符代替一些對文本抽取無用的信息,例如跟時間相關的詞語、用藥的劑量、標點符號等,這些詞會對信息提取造成干擾,因此,我們可以用TU取代時間,S取代標點符號,DU取代劑量單位。通過對現病史的規(guī)范化處理,可以大大地提高標注算法的性能。表1所示為進行規(guī)范化處理前后的一個現病史文本句子。
圖2 評價指標公式
2.2.2 數據長度限制處理
現病史是記述患者病后的全過程,即發(fā)生、發(fā)展、演變和診治經過,包含的內容豐富,相對來說,現病史的句子較長。句子過長會導致一個句子中涵蓋的信息過多,通過前人的研究了解到,句子過長會對命名實體抽取造成一定的影響。因此本文在進行命名實體抽取時,將現病史句子長度控制在一定的范圍之內。本文在對現病史進行規(guī)范化處理時采用了以下處理規(guī)則:由于前期對文本進行了規(guī)范化處理,標點符號用大寫英文字母S表示,因此可以用S來分割句子,將長的文本分割成若干個短的字符串。因為字符串的長度大部分都在50字以上,我們就以50為單位來進行分割。如果一個進行過規(guī)范化處理的文本句子長度本身就在50個字以內,則不做任何處理。如果文本長度超過了50個字,那么我們就用50來分割。若最后剩下的字符串小于20,則將其和上一個字符串合并為一個字符串。表2是分割現病史長度的具體例子。
表1 現病史數據的規(guī)范化處理
表2 現病史文本的長度限制處理
表3 現病史分詞結果
圖3 WENER方法的CRF模型標注性能
2.2.3 數據分詞處理
基于深度學習的方法是用word2vec和node2vec的方法生成詞向量,用生成的詞向量表示現病史文本內容,因此我們首先需要對現病史句子進行分詞處理,其分詞結果如表3所示。
對于現病史數據的算法流程描述如下:首先要對現病史數據進行數據預處理,將現病史句子進行句子長度限制處理,將每個現病史句子分割成若干個長度在50個字左右的字符串,并對長度處理以后的句子進行分詞,將分詞后的結果作為WENER方法中詞嵌入方法的輸入文件,使用word2vec詞嵌入方法生成200維的詞向量,將生成的詞向量作為CRF模型和SSVM模型的輸入文件,測試比較兩種模型的算法性能。
如圖3所示為WENER方法的CRF模型在十重交叉驗證的評價結果,其性能的平均值分別為:精確度(0.975 0)、召回率(0.984 9)、F值(0.979 8),比傳統的CRF模型的命名實體抽取的性能提高8.61%,召回率提高19.8%,其F值提高了14.5%。
如圖4所示,是基于word2vec的方法生成詞向量后,使用SSVM模型在現病史數據文本上十重交叉驗證方法的評價結果。其十重交叉驗證的平均值分別為:精確率(0.992 8)、召回率(0.988 9)、F值(0.990 8)。這比傳統的基于CRF算法的命名實體抽取方法的精確度高出10.39%,召回率高出20.2%,F值高出15.6%。
從以上的結論可以看出,深度表示的命名實體抽取方法比傳統的命名實體抽取的算法性能好,其原因分析如下:由于生物醫(yī)學上命名的主觀性,癥狀名稱的命名規(guī)則不統一[4,27],并且臨床病歷的文本數據是由醫(yī)生手工書寫的中文字符,具有靈活多樣性,導致其利用較為困難[28],使得傳統的CRF模型的標注性能要略差于WENER下的命名實體抽取算法。另外,詞嵌入方法能夠隨意選擇特征的維數,并且不需要人為干預,與傳統的方法相比,能更好的利用詞的上下文特征。但是WENER方法依賴于分詞后的結果,而領域知識會影響到分詞系統的分詞效果,從而影響到命名實體識別系統的性能。
從表4中可以看到,雖然WENER方法中的SSVM模型和CRF模型的均值和標準差相差不大,但是SSVM模型的F值比CRF模型的F值有所提高。SSVM模型的性能比CRF的性能好是因為CRF模型是一種有代表性的序列標注算法,它是一種有辨識度的無向概率圖判別模型[28],而SSVM模型是基于結構數據的最大化決策邊界模型[12],如序列、二分圖和樹。SSVM模型結合了CRF算法和SVM算法的優(yōu)點,適用于序列標注問題[15]。因此,SSVM模型的F值通常要比CRF模型的F值高[15-18,29]。
GENER方法是基于網絡嵌入方法node2vec生成的詞向量,其算法流程如下:首先構建node2vec的網絡結構圖,通過隨機游走的方式生成200維的詞向量,然后將生成的詞向量作為CRF和SSVM模型的輸入文件,最后計算CRF和SSVM兩種模型的評價指標。其訓練集和測試集同樣使用肝病現病史文本數據,并對肝病現病史數據進行長度限制處理和分詞處理。在分詞過程中,我們根據中文粒度的不同,將分別構建基于字和基于詞特征的網絡,并測試不同網絡之間GENER方法的標注性能。
(1)基于詞特征的GENER方法的實驗結果分析
從圖5所示可知,GENER方法的CRF模型的性能評價結果的平均值分別為精確度(0.950 1)、召回率(0.950 8)、F值(0.950 4)。相比傳統的CRF模型的性能精確度、召回率、F值分別提高了6.12%、16.39%、11.56%。
圖4 WENER方法的SSVM模型標注性能
表4 WENER方法下的CRF方法和SSVM方法的性能對比
圖5 GENER方法CRF模型基于詞特征的標注性能
圖6 GENER方法的SSVM模型基于詞特征的標注性能
表5 GENER方法下基于詞特征的CRF模型和SSVM模型的性能對比
從圖6中可以看出,GENER方法在SSVM模型上的標注性能結果的平均值為:精確度(0.983 3)、召回率(0.974 5)、F值(0.978 8)。結果比傳統的基于CRF的命名實體抽取算法的精確度高出9.44%,召回率高出18.76%,F值高出14.4%。
GENER方法在基于詞特征下的CRF模型和SSVM模型的性能的對比結果分析如表5所示。
從表5可以看出,在GENER方法下的基于詞特征的CRF模型和SSVM模型的評價指標的對比,發(fā)現SSVM模型的F值比CRF模型的F值高0.36%,說明在基于網絡嵌入方法提取的特征上,雖然CRF和SSVM的F值相差不大,但是SSVM模型的性能還是要優(yōu)于CRF模型的性能。
圖7 GENER方法的CRF模型基于字特征的標注性能
圖8 GENER方法的SSVM模型基于字特征的標注性能
表6 GENER方法下基于字特征的CRF模型和SSVM模型的性能對比
(2)基于字特征的GENER方法的實驗結果及分析
在基于字特征的GENER方法下的CRF模型和SSVM模型的評價結果如圖7和圖8所示。
從表6可以看出,SSVM模型的精確度要比CRF模型的精確度高1.59%,召回率高8.4%,F值高5.34%。
無論是基于字還是基于詞的GENER方法,SSVM模型的精確率、召回率和F值與CRF模型相差不大,但是SSVM的性能指標要略高于CRF模型的性能。再次驗證了對于SSVM模型和CRF模型在不同領域的比較,SSVM模型的性能通常優(yōu)于CRF模型的性能。
在本文的研究中,我們提出了基于深度表示的中醫(yī)病歷中癥狀表示的命名實體抽取方法,CRF和SSVM兩種算法模型,實驗結果表示,深度表示的命名實體抽取性能要明顯高于傳統的命名實體抽取算法CRF模型的性能。傳統的非深度表示的命名實體抽取算法(CRF算法)的F值為0.834 8,而深度表示的算法的F值分別為(0.979 8,0.990 8,0.975 2,0.887 9,0.978 8,0.941 3),因此,其性能比傳統的非深度表示的命名實體抽取的算法性能好;而對于同一種詞向量特征下,SSVM模型的F值要比CRF模型的F值高。例如,在WENER方法下,SSVM的F值是0.990 8,而CRF的F值為0.979 8,SSVM的性能要高于CRF模型一個百分點。通過對不同的詞向量特征的比較發(fā)現,基于word2vec生成的詞向量下的CRF和SSVM模型的性能要高于基于node2vec生成的詞向量下的CRF和SSVM模型的性能。另外,SSVM模型與CRF模型在基于詞的網絡嵌入方法特征上的性能比基于字的網絡嵌入方法特征上的性能好,基于詞的網絡嵌入只有兩種判別類型,即是否為癥狀表型術語。而基于字的網絡判別類型三種:“B-S”、“E-S”、“O”?;谧值呐袆e類型增加需要做出更多的判斷,可能造成性能的下降。而且,基于字的特征使得特征粒度減小,特征信息降低,而基于詞的特征粒度比基于字的粒度大,特征信息較強。
1 Jensen P B,Jensen L J,Brunak S.Mining electronic health records:towards better research applications and clinical care.Nat Rev Gen,2012,13(6):395.
2 劉凱,周雪忠,于劍,等.基于條件隨機場的中醫(yī)臨床病歷命名實體抽取.計算機工程,2014(9):312-316.
3 Feng L,Zhou X,Qi H,et al.Development of large-scale TCM corpus using hybrid named entity recognition methods for clinical phenotype detection:An initial studyComputational Intelligence in Big Data,2015.
4 王世昆,李紹滋,陳彤生.基于條件隨機場的中醫(yī)命名實體識別.廈門大學學報(自然版),2009,48(3):359-364.
5 Wang S K,Shao-Zi L I,Chen T S.Recognition of Chinese Medicine Named Entity Based on Condition Random Field.J Xiam Univ,2009,48(3):359-364.
6 Wang Y,Liu Y,Yu Z,et al.A preliminary work on symptom name recognition from free-text clinical records of traditional chinese medicine using conditional random fields and reasonable features.The Workshop on Biomedical Natural Language Processing,2012.
7 Xu Y,Wang Y,Liu T,et al.Joint segmentation and named entity recognition using dual decomposition in Chinese discharge summaries.J Am Med Inform Ass,2014,21:e84.
8 Zhou X,Wu L Z,Yi F.Integrative mining of traditional Chinese medicine literature and MEDLINE for functional gene networks.Artif Intell Med,2007,41(2):87-104.
9 Xu J,Wu Y,Zhang Y,et al.CD-REST:a system for extracting chemical-induced disease relation in literature.Database the Journal of Biological Databases&Curation,2016,baw036.
10 Zhang Y,Xu J,Hui C,et al.Chemical named entity recognition in patents by domain knowledge and unsupervised feature learning.Database the Journal of Biological Databases&Curation,2016:baw049.
11 Andrew G,Gao J.Scalable training of L1-regularized log-linear models,2007.
12 Tsochantaridis I,Joachims T,Hofmann T,et al.Large Margin Methods for Structured and Interdependent Output Variables.J Mach Learn Res,2005,6(2):1453-1484.
13 Bakir G,Hofmann T,Sch?lkopf B,et al.Support Vector Machine Learning for Interdependent and Structured Output SpacesInternational Conference on Machine Learning.ACM,2004.
14 袁玉虎,周雪忠,張潤順,等.面向中醫(yī)臨床現病史文本的命名實體抽取方法研究.世界科學技術:中醫(yī)藥現代化,2017,19(1):70-77.
15 Tang B,Feng Y,Wang X,et al.A comparison of conditional random fields and structured support vector machines for chemical entity recognition in biomedical literature.J Cheminformatics,2015,7(S1):1-6.
16 Zhang Y,Wang J,Tang B,et al.UTH_CCB:A report for SemEval 2014-Task 7 Analysis of Clinical Text.International Workshop on Semantic Evaluation,2014.
17 Tang B,Wu Y,Jiang M,et al.A hybrid system for temporal information extraction from clinical text.J Am Med Inform Ass Jamia,2013,20(5):828-835.
18 Balamurugan P,Shevade S,Sundararajan S,et al.An Empirical Evaluation of Sequence-Tagging Trainers.Computer Science,2013.
19 Mikolov T,Sutskever I,Chen K,et al.Distributed Representations of Words and Phrases and their Compositionality.Adv Neur Inform Process Sys,2013,26:3111-3119.
20 Lebret R,Collobert R.Word Emdeddings through Hellinger PCA.Computer Science,2014.
21 Levy O,Goldberg Y.Neural word embedding as implicit matrix factorization.Adv Neur Inform Process Sys,2014,3:2177-2185.
22 Li Y,Xu L,Tian F,et al.Word embedding revisited:a new representation learning and explicit matrix factorization perspectiveInternational Conference on Artificial Intelligence,2015.
23 Globerson A,Chechik G,Pereira F,et al.Euclidean Embedding of Cooccurrence Data.J Mach Learn Res,2007,8(4):2265-2295.
24 Levy O,Goldberg Y.Linguistic Regularities in Sparse and Explicit Word Representations.Eighteenth Conference on Computational Natural Language Learning,2014.
25 AlexRudnicky.Can Artificial Neural Networks Learn Language Models?.Proc Int Conf Spok Lang Proc.2000:202-205.
26 Wang Y,Yu Z,Chen L,et al.Supervised methods for symptom name recognition in free-text clinical records of traditional Chinese medicine:an empirical study.J Biomed Inform,2013,47(2):91-104.
27 胡俊鋒,陳蓉,陳源,等.一種松耦合的生物醫(yī)學命名實體識別算法.計算機應用,2007,27(11):2866-2869.
28 Lafferty J,Mccallum A,Pereira F.Conditional Random Fields:Probabilistic Models for Segmenting and Labeling Sequence Data.Eight Int Conf Mach Learn,2002,53(2):282-289.
29 Lei J,Tang B,Lu X,et al.A comprehensive study of named entity recognition in Chinese clinical text.J Am Med Inform Ass,2014,21(5):808-814.