李国垒 陈先来,2,3* 夏 冬 杨 荣
1(中南大学信息安全与大数据研究院,长沙 410013)2(医学信息研究湖南省普通高等学校重点实验室(中南大学),长沙 410013)3(湖南省高等学校医学大数据2011协同创新中心,长沙 410013)4(中国科学院成都文献情报中心,成都 610041)5(中南大学湘雅医院,长沙 410078)
中文病历文本分词方法研究
李国垒1陈先来1,2,3*夏 冬4杨 荣5
1(中南大学信息安全与大数据研究院,长沙 410013)2(医学信息研究湖南省普通高等学校重点实验室(中南大学),长沙 410013)3(湖南省高等学校医学大数据2011协同创新中心,长沙 410013)4(中国科学院成都文献情报中心,成都 610041)5(中南大学湘雅医院,长沙 410078)
探索适合医学文本的分词方法,为医学数据挖掘和临床决策支持的语义分析奠定基础。分别使用单纯中科院ICTCLAS分词、ICTCLAS+自定义词典、ICTCLAS+统计分词和ICTCLAS+自定义词典结合互信息统计分词4种策略,对1 500份出院记录中的病历文本进行分词处理,并从准确率、召回率和综合指标值等3个方面对分词结果进行评价。以人工分词的50份出院记录结果为标准依据,4种分词策略的综合指标值分别为45.77%、58.76%、64.93%和78.06%。结果证实,自定义词典结合基于互信息的统计分词方法,能够有效地对病历中出院记录文本进行分词处理,可以满足临床数据分析的需求,具有良好的推广意义。
病历文本;中文分词;统计分词;词典分词;出院记录
一份完整的住院电子病历包含许多记录信息,如住院病案首页、病历概要、入院记录、检查报告、检验报告和出院记录等。其中,出院记录是患者住院诊疗过程的高度总结,包含着患者的入院病情摘要、入院诊断、住院期间的病情变化及整个诊疗过程,既有结构化内容也有非结构化内容。出院记录的内容大多为叙述性的文本信息,对其进行语义分析或数据挖掘等,迫切需要良好的技术对其进行分词处理。
近年来,众多学者开展了针对医学文本分词处理的研究。国外方面,由于中文语言没有自然的分隔标识,且国外电子病历大部分实现了结构化并拥有较为完善的临床术语系统,如SNOMEO CT、UMLS和RxNorm等,因此相关研究主要集中在医学术语和本体知识库构建、医学自然语言处理和医疗数据模型和软件开发等方面。国外针对中文病历文本分词的研究较少,Lu等利用统计学方法,从100万名患者的主诉中抽取了470个关键术语,并转换为英文进行分类,用以实现临床症状的监测[1]。Dong等利用无监督迭代算法和SVM,构建了一个数据驱动框架,将电子病历中的自由文本转化为时间事件描述形式的结构化文本[2]。在国内的中文病历文本中,许多临床活动是以自由文本形式进行描述的,用词不受约束,依个人爱好而定,使用未登录词、同义词、近义词、缩略词等的现象普遍存在。因此,对中文病历文本进行分词处理,并从中抽取临床术语,是进行电子病历数据分析的基础。陈衡等对电子病历中现病史文本进行了分词研究,对于实现电子病历结构化具有一定的参考价值[3]。栗伟等提出了一种基于CRF与规则相结合的医学病历实体识别算法[4]。王军辉等提出了基于重现的无词典分词方法构建医学文献相关性数据库、发现医学新名词的应用设想[5]。为了抽取电子病历中的相关概念,邓本洋使用了CRF、最大熵、MIRA等3种基本学习模型,并利用实体识别的基本特征,建立了baseline系统用来识别电子病历中的相关概念[6]。国内已有的中文病历文本分词研究虽然取得了良好的进展,但尚无法满足病历文本处理的需要。
笔者以中国科学院的ICTCLAS分词系统为基础,对出院记录文本的词语切分进行研究。通过4种分词方案进行实验并评价,探索中国生物医学文献数据库术语、基于互信息的统计方法对出院记录文本分词的应用价值。
1.1 数据来源
本研究的实验数据来自国内多所著名三甲医院的电子病历系统,从中提取了第一诊断为胃肿瘤(ICD-10:C16)的出院记录1 500份,出院记录的部分内容如图1所示。
图1 出院记录部分内容Fig.1 Part of the discharge record
1.2 处理方法
采用4种分词策略对出院记录文本进行处理:一是单纯利用中科院ICTCLAS对文本进行分词;二是采用中国生物医学文献数据库中有关胃肿瘤的关键词、主题词构建自定义词典,结合ICTCLAS分词;三是计算ICTCLAS分词后相邻词汇互信息值,进行ICTCLAS统计分词;四是首先利用中国生物医学文献数据库中有关胃肿瘤的关键词、主题词作为自定义词典进行词典分词,然后计算分词后相邻词汇互信息值进行统计分词。
对中文分词算法的性能,通常采用准确率(precision)、召回率(recall)[7]和综合指标F-1值[8]等指标进行测评,各指标的计算公式如下:
(1)
(2)
(3)
准确率和召回率越高,分词结果就越理想。但是在通常情况下,准确率和召回率是相互影响的,准确率高、召回率就低,准确率低、召回率就高[9]。因此,常常采用综合评测指标F-1对切分结果进行测评,综合指标F-1值越高,切分结果就越理想。
以人工分词的结果为标准,为保证人工分词的一致性及人工分词的准确性,人工分词由来自普外科、消化内科和影像科的3名临床医生同时对一份出院记录进行人工分词并及时沟通交流,当3人对一份出院记录的分词结果达成一致时,则按顺序完成下一个出院记录文本的人工切分,具体测评步骤如下。
步骤1:随机抽取50份出院记录,进行预处理,删除掉标点等特殊字符。
步骤2:对50份出院记录进行人工分词,并记录下每一份出院记录切分出来的词语总数。
步骤3:利用4种分词策略,对每一份出院记录进行分词处理,编制程序对分词结果进行统计计算,得到每种分词策略切分出来的总词数和正确切分的词数(即每条出院记录中人工切分词汇在机器分词结果中出现的词汇总数)。
步骤4:利用式(1)~(3),计算得到每一种分词策略对每一份出院记录切分后的准确率、召回率和综合指标F-1值,并计算3个指标的平均值。
如图2所示,对文本进行切分处理后,统计每一种分词方法的召回率、准确率和综合指标F-1值,并对不同方案进行比较,选择切分效果最优的方法。
图2 中文分词过程Fig.2 Chinese word segmentation process
1.2.1 单纯ICTCLAS分词
实验所选分词工具为中国科学院计算机技术研究所的ICTCLAS汉语分词系统,版本为5.0。本实验采用MyEclipse集成开发环境,参考ICTCLAS提供的API,采用JAVA语言实现对出院记录文本的分词处理。文本经过切分处理后,切分出的词汇以空格隔开,表明该词汇为单个独立词汇。首先对1500份出院记录进行单纯的ICTCLAS分词。
1.2.2 基于SinoMed自定义词典分词
为改善单纯ICTCLAS的分词效果,本研究采用中国生物医学文献数据库(SinoMed)中与胃肿瘤相关文献的关键词和主题词构建自定义词典。中国生物医学文献数据库收集了大量的国内生物医学领域研究文献,其中包含了大量的临床研究文献,并且在题录中有规范的主题词和关键词[10]。
在SinoMed中,检索2001—2003年分类号为R735.2的文献(注:近几年的文献题录中只标注了关键词,没有标注主题词,且重复的关键词较多,故设定检索年限为2001—2003年),导出关键词和主题词合并去重,得到自定义词典,该词典含有词汇5 429个。利用ICTCLAS,结合自定义词典,对1 500份出院记录进行分词。
1.2.3 基于互信息统计方法分词
由于出院记录中有大量医疗领域的专业术语,自定义词典很难构建完备,无法识别未登录词。互信息算法可以根据实际的临床文本内容,计算相邻字构成词的概率,利用基于互信息的统计分词算法,构建符合临床实践应用的临床术语字典,对于识别未登录词具有重要价值。本研究采用计算相邻词汇互信息值的方法,对病历文本分词进行探索。
互信息值反映了汉字之间结合关系的紧密程度[11],大于0表明两个字成正相关,反之则为负相关,对有序汉字串AB中汉字AB之间的互信息MI(A,B)定义如下:
(4)
式中,P(A,B)为汉字A、B出现的概率,P(A)为汉字A出现的概率,P(B)为汉字B出现的概率。
由于出院记录中存在大量的标点、数字、单位等特殊字符,在计算互信息值时,特殊符号的存在会影响统计计算结果,因此本研究首先对出院记录文本进行预处理,删除文本中的标点等特殊字符,使用ICTCLAS对文本进行无词典分词,以空格为切分依据,切分出单个词汇,然后编制程序,统计计算两个相邻词汇的共现频次,同时分别统计这两个词汇的出现总频次,然后计算这两个词汇的互信息值。经过统计分析后,发现MI≥0的词对共有10 096种,将其作为自定义字典,对1 500份出院记录进行切分。
1.2.4 自定义词典与统计方法相结合分词
本研究使用的词典和统计相结合分词策略的步骤如图3所示。
图3 融入自定义词典与统计方法分词流程Fig.3 Process of segmentation method with custom dictionary and statistical segmentation method based on mutual information
首先,以SinoMed中的关键词和主题词构建自定义词典,对文本进行词典分词;然后,依据分词结果,统计计算相邻词汇的互信息值,将互信值大于等于0的词汇与自定义词典中的词汇合并去重构新的自定义词典;最后,再依据新的自定义词典,对文本进行分词。
本研究主要采取了单纯ICTCLAS分词、ICTCLAS+自定义词典分词、ICTCLAS+统计分词以及ICTCLAS+自定义词典+统计分词4种策略,分别对出院记录文本进行了分词处理。利用单纯ICTCLAS分词策略处理后发现,ICTCLAS系统对于专业的医学临床术语并不能有效地切分。例如:对于“次/分”,系统将其切分成了3个部分——“次”、“/”、“分”;对于“黄染”,系统则切分成“黄”、“染”两个词;对于“反跳痛”,系统则切分成了“反”、“跳”、“痛”3个词。
利用ICTCLAS+自定义词典分词策略,发现融入自定义词典后,对于词典中存在的词汇,如“黄染”、“肛门”、“移动性”、“右肝”等医学临床用语,系统均能有效地切分出来,对于词典中不存在的词汇,如“肌力”、“胸片”等,系统仍然不能有效识别。
利用ICTCLAS+统计分词方法进行互信息值计算后,发现在文本中相邻两个字组合生成新的词汇共有48 770种可能,如表1所示。
表1 统计分词后词汇互信息值Tab.1 Mutual information value after statistical word segmentation
经过统计分析后,发现MI≥0的词对共有10 096种,将其作为自定义字典对1 500份出院记录进行切分。对于“黄”、“染”,ICTCLAS系统默认为两个词,经过互信息计算后,“黄”、“染”两个词被组合成了一个词“黄染”,“叩”,“痛”两个词也被组合成了一个词“叩痛”。同理,对于ICTCLAS系统切分开的正确词汇,经过互信息计算后,可以被有效地合并。由于本次实验只保留了MI≥0的词汇,并不能保证所有被切分开的词汇能够合并,如“上腹部”被ICTCLAS切分成了“上”和“腹部”两个词,而“上腹部”的互信息值为-2.41,因此并没有将其纳入词典进行切分,导致统计分词后“上腹部”依然为“上”和“腹部”两个词。
利用ICTCLAS+自定义词典+统计分词策略对文本切分后,统计计算相邻词汇的互信息值,此次实验文本中相邻两个字组合生成新的词汇共有51 658种可能,如表2所示。
表2 词典分词+统计分词后互信息值Tab.2 Mutual information value after dictionary word segmentation and statistical word segmentation
经统计,发现相邻两个词MI≥0的词对共有11 845种,将其与初始词典中的5 429个词汇进行合并去重,构成新的自定义词典,共含有词汇17 113个。依据该自定义字典,再次对1 500份出院记录进行切分,发现词典和统计相结合的分词方法不仅能够将词典中的词汇有效地切分出来,同时还可以弥补ICTCLAS系统的不足,能够将ICTCLAS系统拆分开的词汇有效地合并起来。例如,可以将“无黄染”、“无压痛”、“外生殖器”等临床症状描述的术语准确地切分出来。
在实验中,采用召回率、准确率以及综合指标F-1值,对分词效果进行评估,4种分词算法测评结果如表3所示。由此可知,ICTCLAS中文分词系统并不能有效地对临床医疗文本进行切分,对一些临床术语并不能有效识别出来。加入自定义词典后,对于该词典内的词汇可以准确地切分出来。但是,医学术语错综复杂,数量大,SinoMed中的关键词、主题词大多为名词,且主要用于医学文献检索领域,用于临床实践的术语收录较少,因此单纯以SinoMed中的关键词和主题词作为自定义领域字典,实现对医疗文本的切分,效果仍然不太理想。统计学方法对于识别未登录词是有效的,互信息算法是其中的一种。利用互信息算法,对医疗文本进行统计分词,能够依据词汇在病历的实际应用进行组合,从中提取出符合实际应用的临床术语,可以提高切分的准确率,但是会切分出一些共现频率较高但没有实际意义的词汇组合,导致切分的召回率较低。
表3 分词算法测评结果Tab.3 Evaluation results of segmentation algorithm
目前,通过ICTCLAS+自定义词典+统计分词的分词策略,可以将切分的准确率提高到82.30%,实现对大部分临床术语的切分,为电子病历中其他文本的分词处理和中文病历文本概念的抽取提供了思路,对电子病历的结构化起到一定的作用[12]。同时,本研究为电子病历命名实体识别和实体关系抽取也提供了借鉴[13]。
本次实验中,将阈值设置为0,即互信息值大于0的词汇,默认为是一个词,但是实验过程中发现存在互信息值小于0的词组,其本身也是一个词语,但是并没有将其纳入词典中,因此导致利用互信息进行统计分词构建的词典并不完备。同时,在切分过程中发现,对于医生的一些书写错误,如“十二指长”、“以球形”等,此类词汇并不能有效地切分出来。由于临床用语的不规范,文本中出现了“墨菲氏征”、“Murph′s征”、“莫菲氏症”等不规范的表达方式,导致切分效果不佳。实验测评以人工分词结果为准且测评样本较小,测评结果的准确率也会受此影响;分词效果的高低取决于临床术语字典构建的质量,由于难以构建能够囊括所有临床术语的字典,且本研究只选择了电子病历中出院记录作为研究对象,所以语句结构比较单一,推广受到了一定的限制。选择更多的病历信息进行研究,构建较为全面的临床术语字典,将是下一步需要开展的工作。
利用词典和统计相结合的分词方法,不仅能够准确地切分出字典中的词汇,同时也能够依据临床实际应用,组合构建新的临床术语,较好地识别出临床文本中的未登录词,其切分的准确率和召回率明显高于其他几种分词策略,且综合指标F-1值也是4种切分策略中最高的。测试结果证实,SinoMed临床术语和互信息统计算法可以提升医学文本的切分效果。由于构造的字典临床术语较少,不能达到覆盖用于临床文档中概念术语的要求,所以还不能应用到中文文本病历的分词处理中。相信通过进一步的研究,构建较为全面的临床术语字典,以便能够提高中文病历文本的分词效果,为下一步开展医学数据挖掘等工作奠定基础。
[1] Hsin-Min L, Hsinchun C, Daniel Z, et al. Multilingual chief complaint classification for syndromicsurveillance:An experiment with chinese chief complaints [J]. International Journal of Medical Informatics, 2009,78:308-320.
[2] Dong X, Meizhuo Z, Tianwan Z, et al. Data-driven information extration from Chinese electronic medical records[J]. Public Library of Science,2015,8:1-18.
[3] 陈衡、黄刊迪.结构化电子病历概述[J].中国数字医学,2011,6(5):36-39.
[4] 栗伟,赵大哲,李博,等. CRF与规则相结合的医学病历实体识别[J]. 计算机应用研究,2015,32(4):1082-1085.
[5] 王军辉,胡铁军,李丹亚. 基于重现的无词典分词方法在中文生物医学文本挖掘中的应用[J]. 医学信息学杂志,2009,30(2):21-25.
[6] 邓本洋. 电子病历中的概念抽取研究[D]. 哈尔滨:哈尔滨工业大学,2013.
[7] 李惠. 组合型中文分词方法的研究[D]. 广州:广东工业大学,2014.
[8] 李原. 中文文本分类中分词和特征选择方法研究[D].长春:吉林大学,2011.
[9] 林冬盛. 中文分词算法的研究与实现[D]. 西安:西北大学,2011.
[10] 李国垒,陈先来. 潜在语义分析在关键词-叙词对照系统构建中的应用[J]. 情报理论与实践,2014,37(4):127-130.
[11] Young Mee C, Jae Yun L. A corpus-based approach to comparative evaluation of statistical term association measure [J]. Journal of the Amercican Society for Information Sceince and Technology, 2001,54(2):283-296
[12] 徐勇勇,张玉海,刘丹红, 等.电子病历与临床信息标准[J].中华神经外科疾病研究杂志,2005,4(6):6-10.
[13] 杨锦锋,于秋滨,关毅,等. 电子病历命名实体识别和实体关系抽取研究综述[J]. 自动化学报,2014,40(8):1537-1562.
Research on Segmentation of Chinese Text in Medical Record
Li Guolei1Chen Xianlai1,2,3Xia Dong4Yang Rong5
1(InstituteofInformationSecurityandBigData,CentralSouthUniversity,Changsha410013,China)2(KeyLaboratoryofMedicalInformationResearch(CentralSouthUniversity),CollegeofHunanProvince,Changsha410013,China)3(HunanProvinceCooperativeInnovationCenterofMedicalBigData,Changsha410013,China)4(ChengduDocumentationandInformationCenter,ChineseAcademyofSciences,Chengdu610041,China)5(XiangyaHospital,CentralSouthUniversity,Changsha410078,China)
electronic medical record; Chinese text segmentation; statistical word segmentation; dictionary segmentation; discharge summary
10.3969/j.issn.0258-8021. 2016. 04.012
2015-09-14, 录用日期:2016-04-11
国家社会科学基金(13BTQ052)
R318
D
0258-8021(2016) 04-0477-05
*通信作者(Corresponding author), E-mail: chenxianlai@csu.edu.cn