基于无监督学习的中文电子病历分词

时间:2022-07-17 06:18:21

基于无监督学习的中文电子病历分词

摘 要:电子病历中包含大量有用的医疗知识,抽取这些知识对于构建临床决策支持系统和个性化医疗健康信息服务具有重要意义。自动分词是分析和挖掘中文电子病历的关键基础。为了克服获取标注语料的困难,提出了一种基于无监督学习的中文电子病历分词方法。首先,使用通用领域的词典对电子病历进行初步的切分,为了更好地解决歧义问题,引入概率模型,并通过EM算法从生语料中估计词的出现概率。然后,利用字串的左右分支信息熵构建良度,将未登录词识别转化为最优化问题,并使用动态规划算法进行求解。最后,在3000来自神经内科的中文电子病历上进行实验,证明了该方法的有效性。

摘关键词:中文电子病历;无监督分词;EM算法;分支信息熵;动态规划

中图分类号: TP391 文献标识码: A 文章编号:2095-2163(2014)02-

An Unsupervised Approach to Word Segmentation in Chinese EMRs

ZHANG Libang,GUAN Yi,YANG Jinfeng

( School of Computer Science and Technology,Harbin Institute of Technology,Harbin 150001,China)

Abstract: Electronic medical records(EMR) contain a lot of useful medical knowledge. Extracting these knowledge are important for building clinical decision support system and personalized healthcare information service. Automatic word segmentation is a key precursor for analysis and mining of Chinese EMRs. In order to overcome the difficulties of obtaining labeled corpus, the paper proposes an unsupervised approach to word segmentation in Chinese EMRs. First, the paper uses a lexicon of general domain to generate an initial segmentation. To deal with the ambiguity problem, the paper also builds a probabilistic model. The probabilities of words are estimated by an EM procedure. Then the paper uses the left and right branching entropy to build goodness measure and regards the recognition of unknown words as an optimization problem which can be solved by dynamic programming. Finally, to prove the effectiveness of our approach, experiments are conducted on 3,000 copies of Chinese EMRs from the Department of Neurology.

Key words: Chinese EMRs; Unsupervised Segmentation; EM Algorithm; Branching Entropy; Dynamic Programming

0 引 言

电子病历是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的面向患者个体的数字化医疗记录[1]。近年来,随着医院信息化建设的发展,电子病历的使用在临床中已经逐渐普及。电子病历包含了关于病人个体健康信息的全面、详实、专业、即时、准确的描述,是一种非常宝贵的知识资源。通过分析和挖掘电子病历,可以从中获得大量的医疗知识[2],而这些知识可应用于临床决策支持[3]和个性化医疗健康信息服务[4]等方面。电子病历由结构化数据和非结构化数据组成。其中,自由文本形式的非结构化数据是电子病历中最为重要的部分,包括主诉、现病史、病程记录、病历小结。因此,自然语言处理技术将在电子病历的分析、挖掘中发挥重要的作用,而自动分词则是中文电子病历处理的基础和关键一环。

基于词典的方法和基于有监督机器学习的方法是目前中文分词的主流方法。基于词典的方法通常按照“分词数目最少”的原则进行词表匹配,如正向最大匹配算法[5],这类方法简单实用,但过分依赖于词典,无法自动识别文本中的未登录词。而大量的未登录词正是中文电子病历分词所面临的最大挑战。这些未登录词主要是医疗领域的专业术语和缩写,如“音(症状)”、“拜新同(药品)”、“头CT(检查)”、“降纤(‘降低纤维蛋白原’的缩写)”。而基于有监督机器学习的方法通常将分词转化为字的序列标注问题进行求解[6-7],可以较好地解决未登录词问题,但却需要大规模人工标注语料作为训练数据。只是,中文电子病历是一个全新的知识资源,目前还没有更具针对性的、完备的专业领域词典或大规模标注语料。因此,如何通过未标注语料来产生尽可能好的分词结果,即是本文研究的重点。

无监督学习是克服熟语料获取困难的有效途径之一。基于无监督学习的分词方法也因此而受到学术界的持续且密切的关注。无监督分词可以在极低的人工干预下产生分词结果,但与有监督方法相比通常准确率较低。尽管如此,随着自然语言处理的不断发展,出现了越来越多的对分词精度要求并不十分苛刻的应用,如信息检索,信息抽取,文本聚类,自动文摘等,如何利用未标注语料训练出满足一定要求的分词系统也因此而变得越发地重要[8]。

本文提出一种针对中文电子病历的无监督分词方法,并不需要人工构建的专业领域词典或训练语料。该方法主要分为两个步骤。首先,使用通用词典,根据词的出现概率和最大似然原则对输入句子进行初步切分。其中,词的出现概率通过无监督的EM算法从未标注语料中学习得到。所有未登录词将被切分为若干个连续的片段。其次,将字串的左右分支信息熵[9]作为衡量其成词可能性大小的良度(goodness),并将未登录词的识别转化为最优化问题,再使用动态规划算法进行求解。最后,通过实验证明了该方法的有效性。

1 现有的无监督分词方法及其缺陷

现有的无监督分词方法通常根据语言学假设,利用字串在未标注语料中的统计信息构建良度(goodness)来衡量字串成词可能性的大小,再以良度为基础通过最优化算法得到最佳切分结果[10]。由此可见,良度是影响无监督分词效果的最为关键因素。Zhao等[11]回顾了四种经典的良度方法,并针对其中的三种方法即描述长度增益(Description Length Gain),邻接字变化数(Accessor Variety)和分支信息熵(Branching Entropy)进行了对比分析。Chen等[12]借鉴PageRank算法的思想,将词类比成网页,提出了一种新的良度方法WordRank,并与互信息(Mutual Information)配合使用。Wang等[10]利用字串频率与分支信息熵联合构建良度,再通过迭代的方式不断优化分词结果。Magistry等[13]则将标准化后的分支信息熵变化量(Normalized Variation of Branching Entropy)作为良度。这些无监督分词方法均在通用语料上进行了实验,并取得了不错的效果。

然而,电子病历文本的行文风格与通用领域文本迥然不同,其语言呈现出独特的子语言(sublanguage)[14]特点。这些特点包括:

(1)医疗行业习惯用语大量出现(如“伴”、“行”、“无”、“示”);

(2)句子语法结构不完整且模式化较强(如描述症状是身体部位+描述(“右眼晶状体高密度影”,“双侧眼球向左运动不能”),排除症状是“否认|无”+描述(“无水平眼震”));

(3)用半结构化的方式组织各部分内容,以达到表达清晰的目的。根据通用领域文本的语言规律所提出的良度方法并未完全适应电子病历的语言特点,导致其可信度得到了一定程度的下降,进而影响分词精度。

针对以上问题,本文择取通用领域的词典来弥补处理电子病历时良度可信度降低所带来的影响。首先,使用通用词典对电子病历进行初步的切分,再利用良度方法对切分结果进行调整,从而达到识别未登录词的目的。

2初步切分

在给定词典的情况下,可以使用单纯基于字面匹配的方法进行分词,但这类方法不能很好地处理歧义问题,例如,在使用正向最大匹配算法[5]时,句子“无视物旋转”会被切分成“无视 物 旋转”。针对以上问题,引入概率模型来进行优化。给定一个字串 ,意图将其切分成词串 ,其中 是字串中的字数, 是切分结果中的词数, 来自于词典 。为了简化计算,采用一元统计模型,即假设词与词之间是相互独立的,两个词同时出现的概率仅其各自的出现概率有关。若已知词的出现概率按 分布,则可以根据最大似然原则求出字串的最优切分。对于字串 的任意一种切分方式 ,其似然函数为:

(1)

本文的研究任务是找到一种切分方式 ,使得似然函数的值最大:

(2)

若已知词的出现概率,则句子的最优切分可以使用动态规划算法在多项式时间内求出。

如果预先经过人工切分的语料,那么词的出现概率就可以根据词在语料中的出现次数进行计算。然而,标注电子病历需要专业的医疗知识,人工构建这样的语料难度很大。因此,本文采用EM算法,从未标注语料中自动学习词的出现概率。其基本思想为:如果已知分词结果,就可以估计出词的出现概率;反之,如果已知词的出现概率,就可以对语料进行分词处理,通过这两个过程的相互迭代,可以使算法对词的出现概率的估计越来越接近真实值。文献[15-16]使用“软计数”的方式来更新词的频次,即对于某个句子,首先计算得到所有可能的切分结果的概率,然后在统计词频时使用归一化后的概率进行加权。该方法虽然在理论上可以获得更好的结果,但实现起来却比较复杂,而且当句子较长时,计算过程中常会遇到精度问题,实际效果也欠佳。因此,本文采用相对简单的维特比训练方法[17]。具体来说,初始时,使用正向最大匹配算法对语料进行切分,将切分结果中每个词的相对频率作为其初始概率。然后根据词的概率,使用动态规划算法,对语料进行重新切分。再一次地,根据切分结果,重新计算词的相对频率作为其出现概率。这一过程将循环进行,直到语料的切分结果不再变化或迭代次数达到了预先规定的上限才停止。

经过初步切分,所有的未登录词都会被切分成若干连续的片段(单个汉字或通用词典中的词)。例如, 句子“四肢肌张力正常”会被切分成“四肢 肌 张力 正常”, 句子“口服拜新同控制血压”会被切分成“口服 拜 新 同 控制 血压”,其中“拜新同”和“肌张力”是未登录词。

3 结果调整

给定一个初步切分的结果 ,需要通过合并操作将它调整为最终的分词结果 ,其中 是最终切分结果中的词数; , ,即 由一个或多个初步切分结果中的连续片段组成。对于“口服 拜 新 同 控制 血压”的初步切分,“口服 拜新同 控制 血压”、“口服拜 新 同 控制 血压”和“口服 拜 新 同 控制血压”分别是三种不同的调整结果。调整的目的,是实现对未登录词的识别。在此希望找到一种调整方式使得那些被切散的未登录词尽可能地合并还原,同时还要尽量避免错误的合并。例如“拜新同”是需要实现的正确合并,而“口服拜”和“控制血压”则是错误的合并。文献[18]提出一种归纳未登录词的通用规则,并使用自底向上的递归算法进行规则匹配,以此来合并被切散的未登录词。这种方法虽然具有较高的准确率,但却需要事先从大规模标注语料中学量的规则,用来判定初步切分结果中的单个汉字是否可能属于某个未登录词。本文主要以字串在大规模未标注语料中的统计特征为基础来实现对未登录词的识别,从而尽可能地减少算法对人工干预的依赖。

3.1 左右分支信息熵

理论上,句子中的任何一个字串都可能是词。找到一种可以衡量字串成词可能性的统计标准即良度,则是实现无监督分词的关键基础。中文所涵括的词作为一个有意义的字串常常会出现在不同的语言环境中[8]。也就是说,与那些不能成词的字串相比,词与其外部语言环境往往具有更高的独立性。例如,在电子病历中,名词“拜新同”分别在“口服拜新同控制血压”、“使用拜新同处置”、“口服良蒙诺、拜新同等药控制”、“改用恩必普、拜新同、维尔亚”等多个句子中出现过,而非词字串“服拜”仅在“口服拜新同”和“口服拜阿司匹灵”两个句子中出现过。由此可见,一个字串在文本中得以运用的自由程度,就成为衡量该字串是否可能成词的重要标准。本文采用左右分支信息熵[9]来衡量字串的在文本中的自由度,其形式化定义如下:

(3)

(4)

其中, 是当前的字串, 为文本中的字符集合, 是字串 左边出现字符 的概率, 是字串 右边出现字符 的概率, 和 分别是字串 的左右分支信息熵,分别反映了该字串与左右相邻字符的搭配的不确定性。若一个字串的左右分支信息熵都比较高,则代表该字串可以在文本中灵活使用,此时就很可能是一个词。因此,即将

(5)

定义为字串 在文本中的自由度,并将其作为衡量字串成词可能性的良度。 越大,字串 成词的可能性越高。经计算,前文所提到的药品名称“拜新同”在本文所采用的语料中的良度值为2.14,而非词字串“服拜”的良度值仅为0.22。

3.2 未登录词识别

利用良度,即将未登录词识别转化为最优化问题,即从所有对初步切分结果的可能调整中找到一种方式,而使目标函数值得到了最大。文中定义调整结果 评价函数为

(6)

其中, 是调整结果 中的词数, 是对调整结果 中的每一个词 的评价函数。研究的目标是求出使得评价函数 值最大的调整结果 ,并将其作为最终的分词结果。在定义 时,需要考虑三个因素:

(1) 的良度值 ,良度越高,则 是一个正确词的可能性越大;

(2) 的长度 ,长度较短的字串通常具有较高的良度值[8],但在分词时,却会更多地偏好较长的切分;

(3)规则,由于电子病历中含有大量的医疗习惯用语,如“无”、“示”等,这些习惯用语又经常与医疗术语组合出现,如“无水平眼震”、“头CT示”,这就导致由其所构成的非词字串也往往具有较高的良度值。因此,需要引入针对性的规则来避免这些医疗习惯用语与其他词语的合并。根据以上分析,得出 的具体定义如下:

(7)

其中, 为常数,用来平衡长度 和良度 两个因素的效果; 是停用词表,其中包括“伴”、“行”、“无”、“示”、“为”、“至”、“在”、 “约”、“于”等医疗习惯用语;式中的规则表示若 的前缀或后缀在停用词表 中,则 ,否则 ,即禁止选择医疗习惯用语作为开头或结尾的合并操作。

由于函数 的特殊形式,其最大值可以使用动态规划算法在多项式时间内快速求出。设 为初步切分结果 的前缀 所对应的最大函数值,则有如下递推公式:

此时,最佳调整结果 所对应的函数值为 ,算法的时间复杂度为 。

4 实验结果与分析

本文从哈医大二院获取了3 000份来自神经内科的电子病历,并截取其中的出院小结和病程记录作为实验语料,共包含59 433行文本,每行可能包括多个句子,总大小为6.3M。由于长度超过6的词在电子病历中非常罕见,本文规定词的最大长度为6,首先计算所有长度小于等于6的字串的左右分支信息熵,对于长度大于6的字串,可将其良度设定为0。在初步切分阶段,通用词典由网络下载的常用词词库组成,共包含65 114个常用词,总大小为523K。限定EM算法的最大迭代次数为10次。在结果调整阶段,经过调优,最终将参数 的值设定为1.7。为了验证本文方法的有效性,将基于通用词典的正向最大匹配算法作为基线实验。另外,将Feng等[8]提出的基于邻接字变化数的无监督分词方法作为对比实验。该方法通过邻接字的变化数来构建良度,并使用动态规划算法搜索最佳切分结果。选择该方法作为对比实验主要有两个原因:首先,由于前人没有针对中文电子病历进行过实验,为了对比,就需要重现其他文献中的方法,而该方法实现起来相对简单;其次,该方法的效果虽然并不是目前最好的,但相差不多[8],可以表现传统无监督分词的特性。从实验语料中随机抽取出1 000行作为测试语料,其大小为107K。将分词系统切分的结果与人工切分结果进行对比,并使用准确率和召回率来评价分词系统的效果。其中,准确率 为系统正确切分出的词数与系统切分出的总词数的比值,召回率 为系统正确切分出的词数与人工切分出的总词数的比值。具体实验结果如表1所示。

表1 准确率和召回率

Tab.1 The precision rate and recall rate

P(%) R(%)

基线实验 68.8 83.0

对比实验 66.4 62.7

本文中的方法 87.1 89.3

由表1可以看出,本文中的分词方法无论在准确率还是召回率上均远高于基线实验,这说明无监督分词具有较强的未登录词识别能力。而对比实验的分词效果甚至不及基线实验,再次说明传统的无监督分词方法难以适应中文电子病历的语言特点,由于统计良度的失效,导致很多常规的词语都无法被正确地切分出来,而本文利用通用领域的词典则有效地弥补了良度可信度降低所带来的影响。

5 结束语

本文提出了一种针对中文电子病历的无监督分词方法。为了解决传统无监督分词方法在处理电子病历时良度失效的问题,首先使用通用词典对电子病历进行了初步切分,从而保证了大部分常规词语的正确切分。然后再利用良度方法对初步切分的结果进行调整,以达到识别未登录词的目的。实验证明,该方法具有自动识别未登录词的能力,并且在处理电子病历时比传统的无监督分词方法具有更强的针对性,克服了获取大规模标注语料的困难。然而,目前该系统的精度距离实用仍有一定差距,还有很多方面需要完善,包括:增加训练数据的规模和多样性,使用更多的、来自不同科室的电子病历进行无监督学习;使用一些后处理技术,如规则,来实现系统精度的进一步提高。

参考文献:

[1] 中华人民共和国卫生部. 电子病历基本规范(试行), [Online], available: http:///publicfiles/business/htmlfiles/mohyzs/s3585/201003/46174.htm, 2010.

[2] WASSERMAN R C. Electronic medical records (EMRs), epidemiology, and epistemology: reflec-tions on EMRs and future pediatric clinical re-search[J]. Acad. Pediatr., 2011, 11(4): 280287.

[3] DEMNER-FUSHMAN D, CHAPMAN W W, MCDONALD C J. What can natural language processing do for clinical decision support?[J]. Biomed. In-form., 2009, 42(5): 760772.

[4] EYSENBACH G. Recent advances: Consumer health informatics[J]. BMJ, Jun. 2000, 320(7251): 17131716.

[5] CHEN K J, LIU S H. Word identification for Mandarin Chinese sentences[C] / / COLING '92: Proceedings of the 14th Conference on Computational Linguistics. New York: ACM Press,1992: 101-107.

[6] XUE N. Chinese word segmentation as character tagging[J]. Computational Linguistics and Chinese Language Processing, 2003, 8(1): 29-48.

[7] PENG F, FENG F, MCCALLUM A. Chinese segmentation and new word detection using conditional random fields[J]. 2004.

[8] FENG H, CHEN K, KIT C, et al. Unsupervised segmentation of Chinese corpus using accessor variety[M]//Natural Language ProcessingIJCNLP 2004. Springer Berlin Heidelberg, 2005: 694-703.

[9] JIN Z, TANAKA-ISHII K. Unsupervised segmentation of Chinese text by use of branching entropy[C]//Proceedings of the COLING/ACL on Main conference poster sessions. Association for Computational Linguistics, 2006: 428-435.

[10] WANG H, ZHU J, TANG S, et al. A new unsupervised approach to word segmentation[J]. Computational Linguistics, 2011, 37(3): 421-454.

[11] ZHAO H, KIT C. An empirical comparison of goodness measures for unsupervised Chinese Word Segmentation with a unified framework[C]//IJCNLP. 2008: 9-16.

[12] CHEN S, XU Y, CHANG H. A simple and effective unsupervised Word Segmentation approach[C]//AAAI, 2011.

[13] MAGISTRY P, SAGOT B. Unsupervized word segmentation: the case for mandarin chinese[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2. Association for Computational Linguistics, 2012: 383-387.

[14] HIRSCHMAN L, SAGER N. Automatic In-formation Formatting of a Medical Sublanguage, in Sublanguage: Studies of Language in Restrict-ed Semantic Domains, R. Kittredge and J. Lehrberger, Eds. 1982:2780.

[15] GE X, PRATT W, SMYTH P. Discovering Chinese words from unsegmented text (poster abstract)[C]//Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 1999: 271-272.

[16] PENG F, SCHUURMANS D. Self-supervised Chinese word segmentation[M]//Advances in Intelligent Data Analysis. Springer Berlin Heidelberg, 2001: 238-247.

[17] CHANG J S, SU K Y. An unsupervised iterative method for Chinese new lexicon extraction[J]. Computational Linguistics and Chinese Language Processing, 1997, 2(2): 97-148.

[18] MA W Y, CHEN K J. A bottom-up merging algorithm for Chinese unknown word extraction[C]//Proceedings of the second SIGHAN workshop on Chinese language processing-Volume 17. Association for Computational Linguistics, 2003: 31-38.

上一篇:浅析金融企业视觉识别与其品牌效应 下一篇:探究式教学实施案例