中医医案文献自动分词研究


打开文本图片集

摘要:目的  研究适用于中医医案文献自动分词的方案。方法  使用层叠隐马模型作为分词模型,建立相关中医领域词典及测试语料库,对语料库中古代医案文献和现代医案文献各300篇进行分词及评测。结果  在未使用中医领域词典时,两类医案文献分词准确率均为75%左右;使用中医领域词典后,古代医案文献的分词准确率达到90.73%,现代医案文献的分词准确率达到95.66%。在未使用中医领域词典时,词性标注准确率古代医案文献为56.74%,现代医案文献为64.81%;使用中医领域词典后,现代医案文献为91.45%,明显高于古代医案文献的78.47%。结论  现有分词方案初步解决了中医医案文献的分词问题,对现代医案文献的词性标注也基本正确,但古代医案文献的词性标注影响因素较多,还需进一步研究。

关键词:中医医案文献;自动分词;中医领域词典;层叠隐马模型;词性标注

DOI:10.3969/j.issn.1005-5304.2015.02.012

中图分类号:R2-05    文献标识码:A    文章编号:1005-5304(2015)02-0038-04

Study on Automatic Word Segmentation for Traditional Chinese Medical Record Literature  ZHANG Fan, LIU Xiao-feng, SUN Yan (Beijing University of Chinese Medicine, Beijing 100029, China)

Abstract:Objective To study the automatic word segmentation scheme suitable for traditional Chinese medical record literature. Methods Hierarchical Hidden Markov Model was used as segmentation model. Totally 300 ancient medical record literature and 300 modern medical record literature were set as experimental subjects to establish the dictionary of traditional Chinese medicine and the test corpus, with a purpose to segment the words and evaluate of the results. Results Without using dictionary of traditional Chinese medicine, the word segmentation accuracy of two kinds of medical record literature was about 75%;the part-of-speech tagging accuracy of ancient medical literature was 56.74%, the modern medical literature accuracy was 64.81%. By using dictionary of tradition Chinese medicine, the word segmentation accuracy of ancient medical record literature was 90.73%, the modern medical record literature accuracy was 95.66%;the part-of-speech tagging accuracy of ancient medical record literature was 78.47%, the modern medical record literature accuracy was 91.45%, which was obviously higher than that of ancient medical record literature. Conclusion The current word segmentation scheme has initially solved the problem of word segmentation of traditional Chinese medical record literature and part-of-speech tagging of modern medical record literature. Part of speech tagging is basically correct, but part-of-speech tagging of ancient medical record literature tagging needs further study for many influencing factors.

Key words:traditional Chinese medical record literature;automatic word segmentation;dictionary of traditional Chinese medicine;Hierarchical Hidden Markov Model;part-of-speech tagging

中文的特点是没有类似空格之类显示标示词的边界标志,因此,如何对词进行切分,即中文分词的研究,是中文信息处理的基础与关键。一个成熟的自动分词系统能够为语言的深入研究提供数据支持,也是句法分析、全文检索等复杂信息处理系统的前提。对于一般的文献,中文分词的算法已经比较成熟,已有多种开源中文分词软件,但对于专业领域的文献,中文分词的研究才刚起步。中医医案文献是诊疗过程的记录,是理法方药的具体体现,是继承、学习、研究中医的重要资料,信息含量大,属于专业领域的文献。本研究探讨适用于中医医案文献的自动分词解决方案,为中医医案文献的进一步利用提供必要的基础。

1  资料与方法

1.1  分词模型

汉语分词的主要瓶颈是切分排歧和未登录词识别,采用层叠隐马模型(hierarchical hidden Markov model,HHMM)的词法分析框架较好地解决了这一问题。该模型是中国科学院计算技术研究所在传统隐马模型(hidden Markov model,HMM)基础上进行扩展及泛化后提出的,基于这一框架研制的汉语词法分析系统(Institute of Computing Technology Chinese Lexical Analysis System,ICTCLAS),将中文分词、词性标注、命名体识别、切分排歧等词法分析任务整合到一个相对统一的理论模型中,是目前最好的汉语词法分析系统之一,分词精度达到98.45%[1]。

本研究基于JAVA实现了ICTCLAS的算法,基本流程见图1。首先是对中医医案的文本进行原子切分,同时完成大小写、简繁体、全角半角的规范,其次引入中医领域词典完成N-最短路径的粗切分以覆盖尽可能多的歧义,然后通过多层隐马模型对未登录词进行识别,接着用基于类的隐马模型进行全局最优分词,最后对分词结果进行词性标注[2]。

图1  基于HHMM汉语词法分析框架

1.2  建立中医领域词典

对于中医医案文献来说,仅有好的分词模型和算法还远远不够,ICTCLAS对于普通文献的分词方案已经相当成熟,但大量的医学专业术语集合会严重影响切分排歧与新词识别,只有引入中医领域词典才有可能实现正确的分词。针对中医医案文献的特点,我们建立了相应的中医领域词典,包括中药名词典、中医症状词典、中医方剂词典、中医病名词典、中医其他术语词典共5个词典。词典的取词主要来自《中国中医药学主题词表》[3]、《简明中医辞典》[4]、《中华本草》[5]、《常用中药名与别名手册》[6]、《中医临床常见症状术语规范》[7],此外还收录了北京中医药大学中医学信息研究室研制的“中医药基础数据库”中历代文献涉及的相关术语。

在收词原则上,对中医术语常用语尽量收全,可作为一个单独词者则单独收录。如“脾阳虚”一词,分词时虽然可以进一步进行切分,但在辞典中收录“脾阳虚”一词,分词时将其作为一个词来处理,不再进一步切分。对于症状来说,同样症状不同表述均作为术语收录,如“沉紧脉”与“脉沉紧”。此外,一些非规范的术语也收录入词典中,如处方中常见的“生龙牡”“生熟地”“谷麦芽”“赤白芍”等,均分别作为一个词处理。各中医领域词典收词数见表1。

1.3  中医医案文献标注语料库

语料库是基于实际使用中真实出现过的语言材料,是自然语言处理研究的基础资源。标注语料库是对文本进行人工分词与词性标注的语料库,限于时间与精力,本研究所建立的中医医案文献标注语料库仅收录了医案600例,涉及内、外、妇、儿各科,共174 418字符。语料库的选材以正式出版的中医医案为语料来源,从各科医案文献中随机选取一定数量的医案,分别选取1911年以前的古代医案文献300例,1949年以后的现代医案文献300例。结果详见表2、表3。

语料库中文本的切分单位包括词、短语、中医术语和其他切分单位,词性标记依据《计算所汉语词性标记集(ICTPOS3.0)》[8],人名标注为,地名标注为ns,其他则仅取其第一级的词性标注,如名词均标注为n,动词均标注为v,对于其下一级的词性则未做区分标注,如名词下一级的机构团体名、名词性语素和动词下一级的副动词、名动词、趋向动词等,标点符号标注为w。此外,针对中医领域词典,增加了专门的中医术语词性标记中药名zym、中医症状zzz、中医方剂名zfm、中医病名zbm、中医其他术语zo。在标注时,词(切分单位)之间用空格分隔,词(切分单位)与词性标记间用“/”号分隔,标注语料样例如下:

患者/n男性/n。/w咽中痛/zzz,/w声/n瘖/zzz,/w吞咽困难/zzz。/w两寸脉/zo独/d浮/a虚/a。/w方/n用/v苦酒汤/zfm。/w取/v鸡子白/zym以/p清火/zo润肺/zo,/w半夏/zym破结/zo散邪/zo,/w合/v苦酒/zym散瘀/zo解毒/zo。/w仅/d服/v一/m剂/q,/w痛/zzz止/v,/w声/n开/v。/w

1.4  评价标准

本研究通过以下4个基本指标对分词结果进行评测[9]:准确率(Precision)、召回率(Recall)、F-评价(F-score,综合准确率和召回率的评价指标)、词性标注准确率(Accuracy),计算方法见公式(1)~(4)。

2  结果

2.1  古代医案文献分词评测结果

对标注语料库中古代医案文献进行分词评测的对比,其中未使用中医领域词典时,F-评价仅在65.29%左右,词性标注准确率只有56.74%,而加入词典后,F-评价提高为88.63%,词性标注准确率提高为78.74%。结果见表4。

2.2  现代医案文献分词评测结果

对标注语料库中现代医案文献进行自动分词并评测,未使用中医领域词典时,评测结果除词性标注准确率略高外,与古代文献类似,加入词典后,F-评价达到94.14%,词性标注准确率达到91.45%。结果见表5。

3  讨论

从医案文献的分词结果来看,引入中医领域词典后,无论现代医案文献还是古代医案文献,分词的准确率都已经可以满足文献进一步分析挖掘的需要,其中现代医案文献的分词评测结果要优于古代医案文献。

古代医案文献分词较差的原因主要有以下5个方面。第一,医古文本身的特点就是以单字词为主,如“除以”在现代汉语中是一个动词,但在医古文中则是“以……除”的两个词,与之类似的先秦汉语的分词研究表明,如果对整个语料直接按单字来切分,正确率可达79%[10],但由于我们的标注语料库已经引入了中医词典,不可能再简单按单字切分达到这一效果,如词典中的“红舌”不应再进一步切分。第二,医古文中的一些多字词的用法现代汉语中已经很少见到,如“一人”一词,实际相当于现代汉语中的“某人”不能切分,而现代汉语中的“一人”常常是非特指的“一个人”应当切分成两个词。第三,用字不规范会导致分词错误,通假字、古今字、异体字均存在这一问题。第四,词典不完善,中医领域词典收词仍有遗漏,如外科儿科医案文献中外治法相关的术语不全,导致这两类文献的分词准确率偏低,医案文献中经常出现古代的官职名、朝代名、年号、地名等专有名词,也因缺乏相应的词典而无法识别。第五,本研究的分词系统直接使用了ICTCLAS的核心词典,而这一核心词典是用现代汉语语料库训练得来的,对于医古文的针对性较差。

现代医案文献分词错误的原因主要有2点。一是引用经典中的原文,由于医古文与现代汉语的不同导致切分错误。二是现代医案文献中往往有大量现代医学的名词,如体格检查、理化检查及既往史中均有大量医学术语和药物,这些均会因为缺乏相关的词典造成切分错误。这在中西医结合治疗的医案中表现尤其明显,因本研究选取的均为纯中医治疗的医案,这部分术语的量相对很少,虽然未引入专门的词典,但对分词结果影响不大。

在词性标注准确率方面,现代医案文献属于正常范围,而古代医案文献的词性标注准确率则明显偏低,这是医古文自身的特点导致的。从字的规范性方面,医古文中为我们所熟知的通假字、古今字、异体字均会导致词性标注错误。从词性方面,兼类与活用现象在古代汉语中出现的频率远高于现代汉语。兼类,即一个词具有2个不同的词类(性),如“藏”当“脏腑”的“脏”用时是名词,当“收藏”的“藏”用时是动词,其他如“耳”“经”“度”“之”等均有2个或2个以上的词性,标注词性时容易混淆。活用,常见的有名词、形容词活用作动词及使动用法,如“病”“针”“客”“赤”等字,原有词性均会改变,导致标注错误。

通过以上分析可知,完全避免分词及词性标注的错误是非常困难,但本研究采用的自动分词方案已经可以初步解决中医医案文献的分词问题。要进一步提高分词的效果,可以考虑选用适当的训练语料库进行训练,完善中医领域词典及建立相关词典,甚至进一步针对医案文献的特点制定分词方案。

参考文献:

[1] 奉国和,郑伟.国内中文自动分词研究综述[J].图书情报工作,2011, 55(2):41-44.

[2] 刘群,张华平,俞鸿魁,等.基于层叠隐马模型的汉语词法分析[J].计算机研究与发展,2004,41(8):1421-1429.

[3] 吴兰成.中国中医药学主题词表[M].北京:中医古籍出版社,2008.

[4] 《中医大辞典》编辑委员会.简明中医辞典[M].2版.北京:人民卫生出版社,2000.

[5] 国家中医药管理局《中华本草》编委会.中华本草[M].上海:上海科学技术出版社,1999.

[6] 谢宗万,郝近大.常用中药名与别名手册[M].2版.北京:人民卫生出版社,2008.

[7] 黎敬波,马力.中医临床常见症状术语规范[M].北京:中国医药科技出版社,2005.

[8] 刘群,张华平,张浩.计算所汉语词性标记集Version3.0[EB/OL]. [2003-01-30].http://www.ictclas.org/.

[9] Steven Bird, Ewan Klein, Edward Loper.Natural language processing with Python[M]. California:O’Reilly Media,2009:239-240.

[10] 石民,李斌,陈小荷.基于CRF的先秦汉语分词标注一体化研究[J].中文信息学报,2010,24(2):39-45.

(收稿日期:2014-05-28;编辑:华强)