基于条件随机场的中医临床病历命名实体抽取
2014-06-06周雪忠1b1b张润顺
刘 凯,周雪忠,1b,于 剑,1b,张润顺
(1.北京交通大学a.计算机与信息技术学院;b.交通数据分析与挖掘北京市重点实验室,北京100044; 2.中国中医科学院广安门医院,北京100053)
基于条件随机场的中医临床病历命名实体抽取
刘 凯1a,周雪忠1a,1b,于 剑1a,1b,张润顺2
(1.北京交通大学a.计算机与信息技术学院;b.交通数据分析与挖掘北京市重点实验室,北京100044; 2.中国中医科学院广安门医院,北京100053)
中医临床病历是中医重要的科研数据资源,但目前临床病历仍以文本为主要表达形式,对病历数据深入分析的前提是进行结构化信息抽取,而命名实体抽取是其基础性步骤。针对中医临床病历的命名实体,如症状、疾病和诱因等的抽取问题,通过手工标注的413份病历数据(以中文字为特征)与4类特征模版,将条件随机场(CRF)、隐马尔科夫模型(HMM)和最大熵马尔科夫模型(MEMM)用于中医病历命名实体抽取的实验,并进行比较分析。结果表明,结合合适的特征模版,CRF命名实体抽取方法取得了较好的性能,F1值的症状达到0.80,疾病名称达到0.74,诱因0.74。与HMM和MEMM相比,CRF有最高的准确率和召回率,是一种较为适用的中医临床病历命名实体抽取方法。
中医临床病历;命名实体抽取;语料库标注系统;条件随机场;特征模板
1 概述
随着近十年医疗信息化建设的进展和临床数据的不断积累,作为诊疗实践主要信息载体的中医临床病历成为中医学和信息学关注的重要研究资源[1-2]。名老中医文本病历是中医临床诊疗的重要数据资源,它具有非结构化、口语化、专业化等特点,对其数据深度利用的重要前提是对相关医学命名实体术语的抽取,而命名实体抽取方法正是从自由文本中抽取所需命名实体术语的基础技术。但由于中文自然语言表达的灵活性和中医临床信息内容的个体性特点,进行中医临床文本病历的信息抽取研究是一个难点问题。因此进行中医文本病历的命名实体抽取研究,探索形成相关的适宜信息抽取方法具有重要价值[3-4]。
中医临床病历中蕴含着丰富的疾病治疗、疾病诱因、疾病症状等信息,所以对病历进行数据挖掘,能推动中医的发展。由于大部分中医病历是自由文本,因此在对其进行深度利用前,必须通过命名实体抽取技术提取病历中的重要命名实体。
本文首先提出条件随机场的概念,然后是中医临床病历标准数据集的介绍和特征的选择。随后在标准数据集上,使用条件随机场(Conditional Random Field,CRF)在不同特征模板上进行命名实体抽取实验和分析,并与HMM和MEMM模型进行命名实体抽取对比。
2 条件随机场
文献[5]提出了一个基于统计的序列标记和数据分割的概率模型——条件随机场CRF。CRF是一种通过最大化条件概率来训练模型的无向图模型,它是一个以全局观察O为条件的随机场。在实际中,最常用的CRF是一种线性链结构,它非常适合于序列标注。序列标注分布的条件属性,使得CRF可以很好地拟合真实世界的数据。而在这些数据中,命名实体抽取的条件概率是依赖于观察序列中非独立的相互作用的特征,通常通过赋予这些特征不同的权重来表示该特征的重要程度[6]。图1是一种最简单最常用的CRF,称为线性CRF。
图1 CRF的概率图模型
其中,Z0为归一化因子,它保证所有可能的状态序列概率之和为1,即式(2):
其中,fk(st-1,st,O,t)是模型中任意的特征函数,它通常是一个二值函数;λk是特征函数fk(st-1,st,O,t)在模型中的权重;λk可以经过模型训练得到。如果λk是值很大的正数,说明特征函数fk所表示的事件在训练集中出现的次数很多。
给定一个由式(1)定义的CRF模型,在已经输入的数据序列O的情况下,最可能的标记序列可表示为下式:
对式(3)的计算可以通过维特比算法。
将条件概率公式式(1)代入式(4)中,可得:
为了避免参数估计时出现的过拟合情况,在进行参数估计时,采用高斯先验来调整模型的参数计算过程,式(5)变为:
其中,最后一项是用于进行调整的高斯先验值,σ2表示方差。
通过前文的介绍可知CRF的图模型是无向图模型。CRF与HMM,MEMM,ME相比,保持了它们的优点,避免了它们的不足。不同于MEMM在给定当前的状态,计算下一个状态的状态概率分布,CRF是在给定需要标注的观察序列的条件下,计算整个状态序列的联合概率分布,求解一个全局的最优状态序列,因此,CRF避免了标注偏置的问题。
3 数据集和特征选择
3.1 数据集信息
本标准语料集的原始中医临床病历来源于广安门医院、西苑医院、望京医院等多所医院2009年-2010年采集的冠心病、糖尿病的门诊病历和住院病历。在原始病历的筛选时,使用随机抽样结合人工筛选的样本筛选方式,因此,该原始病历(样本)能较好地代表中医临床病历集。
病历中包括病人基本信息、主诉、现病史等内容。考虑要抽取命名实体在病历中的分布和最终数据集的标准化,选择主诉、现病史作为数据集的源数据。
在中医临床病历标注过程中,首先利用语料库标注系统对病历进行粗标注,然后对病历进行数次细致的审核,再由中医专家对标注病历进行最后的审核和校对。整个标准语料集的标注过程先后持续半年之久。
使用语料库标注系统结合临床人员的校对方式,标注了413份病历。其中冠心病(233)、糖尿病(180)。该标准语料集共有症状实体3 623个,诱因实体250个,疾病实体340个。
在构造标准数据集时,本文没有对中医临床病历文本进行分词,而是直接在单字粒度上对病历进行标注,这是由于现阶段中医病历领域缺乏准确度高、标准统一的词典。
本文虽然采用以字为单位的标注方式,但为了保持病历中单字在命名实体中的位置特征,在对单字进行标注的同时,使用符号集(B,E)来保存字在词中的位置信息。例如在疾病名“糖尿病”中,将它标注为糖(B-D)尿(E-D)病(E-D)。在中医病历标注数据中,字特征标注符号的声明如表1所示。
表1 数据符号集
3.2 特征选择
本节将分别介绍训练CRF模型时使用的词位特征、状态转移特征、上下文窗口特征、指示词特征、词典特征和构词模式特征。
3.2.1 词位特征
词位的选择有3种方案,分别是2词位标注集、4词位标注集和6词位标注集[7]。本文采用的是2词位标注集,即对一个汉字按照它是否是词首字进行划分,单字成词或者处于非单字词的词首时都划分为B,其余情况划分为E。词位特征能有效地保留实体中字的关系。例如:“烘热”标为“烘/B-Z热/E-Z”。
3.2.2 状态转移特征
在CRF中,特征函数fk(st-1,st,o,t)既能整合观察序列的特征,也能整合隐藏状态转移的特征。
例如,当st-1标记为“症状指示词”,st标记为“症状”,并且O中的第1个字在症状首字词典中时,特征函数的取值为“1”。这样,CRF模型将状态转移st-1→st整合到特征函数中。
3.2.3 上下文窗口特征
所谓上下文窗口,指的是包括当前字w0及其前后若干个字组成的一个字符串(w-n,w-n+1,…,w0,…,wn)。窗口越大,能利用的上下文越多,但效率会下降,而且还会产生过拟合现象;窗口过小,特征利用得就不够充分,会因为过于简单而丢失有用的信息。有统计研究显示,在中文语料中,99%的词是由5个或者5个以下的子构成[8]。因此,本文使用5字上下文特征。
3.2.4 指示词特征
通过对中医临床病例中命名实体及其上下文信息进行统计分析后,发现在特定的指示词后面,有很大的概率出现症状、诱因和疾病实体。因此,选择实体词的前面2个或1个字作为实体指示词特征。指示词特征的特征函数为:
其中,P-*代表指示词(*表示任意一种实体类型),如发现、由于等。本文中使用的指示词部分如表2所示。
表2 实体指示词特征
3.2.5 词典特征
本文中所使用的实体词典是在对中医病历的统计分析的前提下,经过人工挑选出的命名实体词,包括症状词典、疾病词典和诱因词典,具体情况如表3所示。其中,症状词典中包括853个病历中常见的症状词;疾病词典包括108个病历中常见的疾病词;诱因词典包括46个病历中常见的诱因(冠心病和糖尿病中医临床病历)。3.2.6 构词模式特征
表3 实体词典特征
通过对病历的主诉、现病史的统计分析,发现症状通常由身体部位和基本症状词2个部分组成,例如“双上颌麻木”,可以拆分为“双上颌”和“麻木”2个部分。疾病名通常由修饰部分、身体部位和基本疾病名3个部分组成,如“慢性心绞痛”,可以拆分为“慢性”、“心”和“绞痛”3个部分。在本文中,通过人工采集和拆分,共构造了3个外部字典,如表4所示。
表4 构词词典特征
4 实验及结果分析
在中医临床病历标准数据集上,首先选择不同的特征模板训练CRF对中医临床病历数据集进行命名实体抽取实验,并对实验结果进行分析。然后对CRF和HMM[9-10]、MEMM[11]进行命名实体抽取对照实验。使用的命名实体工具是MALLET[12]。
4.1 基于CRF的名老中医病历命名实体抽取
选择不同的特征组成特征模板进行CRF模型的训练,并对它们进行实验对比和结果分析。
在本系列实验中,将字特征、转移特征和上下文窗口特征作为基本特征,用B来标识,将其他特征作为备选组合特征,通过选择不同的特征模板分析各个特征对实验结果的影响。本文中所使用的特征模板组成如表5所示,分别用T1,T2,T3来标识实体指示词特征、词典特征和构词模式特征。
表5 特征模板集
根据疾病类型的不同,首先将数据集中的数据分为2个部分,它们分别是糖尿病数据(180份)和冠心病数据(233份)。选择基于不同特征模板集的CRF分别在这2个数据集上进行十重交叉检验。
分别选择特征模板集MT1,MT2和MT3在2类数据集上对CRF模型进行十重交叉验证,并与基于基本特征模板上的CRF模型进行对比,实验结果如表6所示。
表6 不同特征模板的CRF中医病历命名实体抽取比较
对照实验显示,相对于基本CRF,使用特征模板集MT1的CRF在对症状和诱因抽取时,效果有一定的提高。而在对疾病实体进行抽取时,基本CRF效果更好,这是由于病历中的症状和诱因指示词比较固定,而疾病的出现较随机。
相对于模板集MT1,使用特征模板集MT2的CRF命名实体抽取的效果更好(其中,在糖尿病数据集上F1值分别达到了0.79,0.78,0.63;在冠心病数据集上F1值分别达到了0.77,0.56,0.71)。
使用特征模板集MT3的CRF命名实体抽取的综合效果比基本CRF有大幅提高(其中,在糖尿病数据集上F1值分别达到了0.8,0.74,0.63;在冠心病数据集上F1值分别达到了0.77,0.64,0.74)。
以上一系列实验说明,在对中医临床病历进行命名实体抽取时,特征模板集MT3具有最好的效果。即除了使用基本特征意外,额外选用实体指示词特征、词典特征和构词模式特征。
4.2 CRF与其他模型的比较
分别在冠心病和糖尿病数据集上对使用特征模板MT3的CRF和HMM,MEMM进行命名实体抽取对照实验,实验结果如表7所示。
表7 CRF与其他模型的中医病历命名实体抽取比较
实验显示,在中医临床病历标准数据集上,CRF命名实体抽取的性能最好,MEMM次之,HMM最差。从实验结果可知,HMM未能对疾病和诱因进行有效的抽取。这是因为HMM是一种产生式模型,模型依赖于大规模数据集。而在中医病历中,相对于症状实体,疾病实体和诱因出现的次数很少。除此之外,由于HMM模型是建立在条件独立假设和观察独立假设之上的,这些假设使得HMM不能很好地利用数据特征集。MEMM模型对症状实体的抽取效果比较好(冠心病F1值达到了0.76;糖尿病F1值达到了0.74),但在对疾病和诱因的抽取上结果不够理想。这是因为MEMM模型存在标注偏置问题[5]。CRF是判别式模型且它的概率图模型是无向图,所以CRF能充分利用病历中的特征;另一方面,CRF在所有状态上进行全局归一化,可求得全局的最优解,解决了标注偏置问题。所以相对于其他模型,CRF更适合对中医临床病历的命名实体抽取。
5 结束语
从基于字特征的命名实体抽取实验研究可见,采用基于CRF的方法对中医病历的主体内容,如主诉和现病史进行症状、诱因和疾病名称的自动抽取是可行的。症状名称的抽取由于在标注语料集中具有较多的出现率而达到较好的性能,后续研究将通过构建更大规模的语料集,拟在CRF的基础上探索研制一种更加实用高效的中医病历命名实体抽取方法。
[1] 周雪忠.文本挖掘在中医药中的若干应用研究[D].杭州:浙江大学,2004.
[2] Zhou Xuezhong,Peng Yonghong,Liu Baoyan.Text Mining for Traditional Chinese Medical Knowledge Discovery:A Survey[J].JournalofBiomedical Informatics,2010,43(4):650-660.
[3] Zhou Xuezhong,Liu Baoyan,Wang Yinghui,et al. Building ClinicalData Warehouse for Traditional Chinese Medicine Knowledge Discovery[C]//Proc.of International Conference on BioMedical Engineering and Informatics.[S.l.]:IEEE Press,2008:615-620.
[4] Zhou Xuezhong,Chen Shibo,Liu Baoyan,etal. Development of Traditional Chinese Medicine Clinical Data Warehouse for Medical Knowledge Discovery and Decision Support[J].Artificial Intelligence in Medicine, 2010,48(2/3):139-152.
[5] Lafferty J D,McCallum A,Pereira F C N.Conditional Random Fields:Probabilistic Models for Segmenting and Labeling Sequence Data[C]//Proc.ofthe 18th International Conference on Machine Learning.[S.l.]: Morgan Kaufmann Publishers Inc.,2001:282-289.
[6] 熊 英.中文自然语言理解中基于条件随机场理论的词法分析研究[D].上海:上海交通大学,2009.
[7] Franzén K,Eriksson G,Olsson F,et al.Protein Names and How to Find Them[J].International Journal of medical Informatics,2002,67(1):49-61.
[8] Kim J D,Ohta T,Tsuruoka Y,et al.Introduction to the Bio-Entity Recognition Task at JNLPBA[C]//Proc.of InternationalJointWorkshop on NaturalLanguage Processing in Biomedicine and Its Applications.[S.l.]: IEEE Press,2004:70-75.
[9] 宗成庆.统计自然语言处理[M].北京:清华大学出版社,2008.
[10] Freitag D,McCallum A.Information Extraction with HMM Structures Learned by Stochastic Optimization [C]//Proc.of the National Conference on Artificial Intelligence.[S.l.]:AAAI Press,2000:584-589.
[11] McCallum A,Freitag D,Pereira F.Maximum Entropy Markov Models for Information Extraction and Segmentation[C]//Proc.of the 17th International Conference on Machine Learning.Pittsburgh,USA:[s.n.],2000: 591-598.
[12] McCallum A K.Mallet:A Machine Learning for Language Toolkit[EB/OL].(2002-02-28).http:// mallet.cs.umass.edu.
编辑 顾逸斐
Named Entity Extraction of Traditional Chinese Medicine
Medical Records Based on Conditional Random Field
LIU Kai1a,ZHOU Xue-zhong1a,1b,YU Jian1a,1b,ZHANG Run-shun2
(1a.School of Computer and Information Technology;1b.Beijing Key Lab of Traffic Data Analysis and Mining,Beijing Jiaotong University,Beijing 100044,China;2.Guang'anmen Hospital,China Academy of Chinese Medical Sciences,Beijing 100053,China)
Traditional Chinese Medicine(TCM)medical records are the important data resources of the TCM medical research.The main form of them is still text now,and it is necessary to extract the structured information from the medical records,while named entity extraction is the basic step.It makes 413 copies of manually labeled medical records in Chinese text and four types of feature templates to study about the named entity extraction practice such as symptoms, diseases and incentives.It compares the results of TCM medical records named entity extraction by Conditional Random Field(CRF),Hidden Markov Model(HMM)and Maximum Entropy Markov Model(MEMM).Combined with appropriate feature templates,CRF has well performance of F1:symptoms 0.80,the name of the disease 0.74,incentives 0.74.Compared with HMM and MEMM,CRF has the highest precision and recall rate.This preliminary shows that CRF is an applicable method of the Chinese medical records named entity extraction.
Traditional Chinese Medicine(TCM)medical records;named entity extraction;corpus annotation system; Conditional Random Field(CRF);feature template
1000-3428(2014)09-0312-05
A
TP391
10.3969/j.issn.1000-3428.2014.09.062
国家自然科学基金资助项目(61105055,81230086);国家“863”计划基金资助项目(2012AA02A609);中央高校基本科研业务费专项基金资助项目(K13JB00140)。
刘 凯(1986-),男,硕士,主研方向:文本信息抽取;周雪忠(通讯作者),副教授;于 剑、张润顺,教授。
2013-06-07
2013-08-21E-mail:xzzhou@bjtu.edu.cn