远距离词性标注在电子病历上的研究
徐万民 李燕辉
摘要:词性标注是自然语言处理的一个重要组成部分,只有正确的标注才能使机器对自然语言理解准确。目前的词性标注系统只能对近距离的约束关系分析基本准确,若存在远距离约束关系,系统基本无法识别。文章基于最大熵模型和远距离搭配关系构建出的一种新的标注方法,可用于解决远距离标注可能产生的歧义。
关键词:自然语言;处理;词性标注;远距离标注
词性(Part of Speech,POS)是词汇基本的语法属性,通常也可称为词类。词性标注就是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程。词性标注是自然语言处理中一项非常重要的基础性工作。词性标注作为连接分词与句法的中间步骤,它既能消除一部分由分词产生的歧义,也能为接下来的句法分析提供正确的分析帮助。
目前大部分统计语言模型是N-gram模型,其模型简单且有效,但是模型也存在缺陷。由于N值有限,模型只能处理短距离语言约束关系,不能有效处理长距离约束和语言递归现象,统计信息有时也不能反映真实的语言规律,这时,就会有歧义产生。
目前中文电子病历还处于空白期,针对中文电子病历的研究因为缺乏足够的语料,研究一直在缓慢地进行。相比于通用的语料库,电子病历存在标准不统一、各个医生的写作习惯不同、存在简写或包含专业词等情况。这些都无法依靠通用语料库来解决。
本文内容主要从以下几个方面展开:第2节主要介绍远距离词性标注的几种歧义;第3节介绍这种标注歧义的解决方法;第4节介绍电子病历与词性标注的结合。
1.远距离标注歧义
目前现有的词性标注能解决大部分问题,但是针对歧义以及部分问题存在不足,采用Stanford NLP工具进行测试,进一步说明问题。
由于汉语存在一些固定搭配,例如:因为…所以…,不仅…而且…等。这些搭配本来应该无视中间出现多少词,都应该保持词性的不变,但现今的大部分模型是根据概率与统计的,考虑词与词之间的互信息最多也只可能考虑到当前词的前后1-2个词。也就是说当固定搭配之间存在一定距离时,词与词之间的联系不强,基于统计的话概率可能不高,这样对于词性标注很有可能产生歧义,针对这种现象,笔者做了一些测试。
1.1固定搭配:一…就…
“一…就…”这种结构一般情况下将其标注为副词词性,例如下面这句话:
他/PN一/ADq:/VV就/AD是/VC 30年/NT
“一”在这里标注为副词(AD)。从北京大学语料库CCL中以“一…就…”这种结构提取出189个句子作为语料进行测试,结果发现:
(1)他/PN一/AD睡/VV就/AD很/AD难/AD被/SB叫醒/VV。
(2)他/PN一/CD睡/VV过/AS觉/VV就/AD精力/NN充沛/VA。
由上面几个例子可以看出来,当一…就…之间只有一个词的时候,对于“一”的标注都为副词,标注正确。但是两者之间有两个词的时候,系统可能将其识别成数词。通过测试发现“一…就…”结构出现错误一般在将“一”的词性由副词词性标注为量词词性,通过测试189个句子发现出现标注错误的句子有36个,正确率为80.9%。
1.2固定搭配:从…到…
从…到…这个常见的固定结构一般情况下将其标为介词,以北京大学CCL语料库中包含“从…到…”结构的751个句子作为测试语料,运用Stanford segmenter以及Stanford postagger作为测试工具,由此可以发现系统存在以下的情况:
(1)从/P北极/NR到/P南极/NR太/AD远/VA了/SP。
(2)从/P北京/NR到/P西安/NR有/NE1000/CD公里/M。
由上面的例子可以看出,当“从…到…”之间连接的是一个词的时候,“到”的标注一般为介词词性(P),这种标注正确,但是当中间词过多时,就会出现以下情况:
(1)从/P寒冷/VA的/DEC北京/NR到/VV温暖/VA的/DEC西安/NR有/VE 1000/CD公里/M。
(2)从/P有/VE北极熊/NN存在/VV的/DEC北极/NR到/VV企鹅/NN存在/VV的/DEC南极/NR太/AD远/VA了/SP。
由上面的例子可以看出来,句子主要意思并没有发生变化,但是通过增加修饰语,使的“从…到…”之间的距离发生变化,“到”的词性由介词(P)变成了动词(vv),显然存在标注错误。
可以推断出这种错误是由于固定搭配之间的距离变远了,使系统无法正确识别出来。测试了751个句子,发现存在“从…到”标注错误的句子有212个,正确率只有71.8%。
2.改进措施
针对以上情况,笔者提出以下方案。
2.1针对“一…就…”结构
通过上面的测试,可以发现:“一…就…”这个结构出现时,一般情况下,两者都标注为介词,但是,我们不能忽略以下情况:
(1)一个/CD三角形/NN就/AD是/VC三/CD條/M边/NN。
(2)一个/CD凳子/NN就/AD是/VC四/CD条/M腿/NN。
当“一”后面接的是量词的情况下,即使存在“一…就…”这个结构,也不能适用这种搭配,这里的“一”只能作为数词(CD)成立。所以构建模型时不能忽视这种情况,因此,可以将特征函数定义为:
定义解释为:当存在“一…就…”结构,先判断“一”后面的词性标注是否为量词(M),若不是则标注“一”为副词(AD);若是则标注为数词(CD)。
2.2对于“从…到…”结构
“从…到…”结构可以看作是“from…to…”结构,一般可将“到”标注为介词(P),但是,通过试验发现这种结构也会存在一些特例:
(1)从/P资本主义/NN过渡/VV到/VV社会主义/NN。
(2)从/P原始社会/NN进步/VV到/vv现代/JJ社会/NN。
虽然有“从…到…”结构存在,但因为有“到”前面存在过渡这个动词,所以这里的“到”标注为动词(v)是合理的。构建模型时,仍需要考虑这种情况的发生。整合一下两种情况,可以将特征函数定义为:
定义解释为:当存在“从…到…”结构,先判断“到”前面的词性标注是否为动词(vv),若不是则标注“一”为介词(P);若是则标注为动词(vv)。
但也可能存在这种情况:在/P从/P个体/NN学习/VV到/VV合作/BIN学习/VV的/DEC觀念/NN转变/VV过程中/NN。
虽然“到”的前面接的是动词(vv),但是个体学习和合作学习是类似概念,这里“到”与学习并不是修饰关系,个体学习和合作学习都应该为名词(NN),这里属于标注错误,若标注为名词,这项规则依然成立。
3.词性标注与电子病历结合
目前国内外的词性标注都是以有监督的学习方式作为主要研究方向,通过与规则相结合,增加领域词典来解决语料匮乏造成的歧义问题。
通过收集电子病历,可以发现电子病历一般含有以下几个板块:
现病史:描述患者的现在病情状况。过去史:记录患者以往的病情状况。各器官病史:描述各个系统有无不良症状。家庭史及个人环境:患者家庭是否存在遗传病史和患者周围环境因素对病情的影响。诊断结果:医生根据病况对患者病情下定义。
通过对这些数据进行提取和分析,发现这些语料存在以下特点:
专业词汇过多:脑梗塞、浅表淋巴结等;句法结构过于简单:无强直、无反跳疼、无鼻出血等;存在特殊符号及专业英文字符:质中触疼(+)、HBsAg、抗HCv等。
4.对于固定搭配无法理解:一…就…与从…到…
前3项特点可以通过扩充领域词库或者建立特定领域词库来解决,句法结构简单可以在句法分析中扩充完整结构来弥补分析不准确。本文主要以远距离词性标注来解决固定搭配产生的歧义。
固定搭配歧义一般出现在患者过去病史、现在病史以及患者周围环境这3个模块,例如下面这些句子:某患者一接触坚果类食物就会引发过敏症状;患者发病症状从2015年6月3日一直持续到2015年6月5日;患者家庭是从血吸虫高度流行区域搬迁到现在所在地等句子。如果只是以通用系统进行分析处理,大部分系统无法识别出这种固定搭配结构。通过添加上文提到的两个模型,能有效地处理这种固定搭配引起的分析错误,为计算机正确识别和处理电子病历奠定基础。
5.结语
本文针对远距离产生词性标注错误的案例进行分析,在Stanford NLP工具的基础上提出了一种对于远距离的标注方法,先对固定搭配所出现的语言现象进行分析,总结出其规律。根据总结出来的固定搭配构建一个规则库,当系统匹配到固定搭配时,针对相应的规则对其进行精确标注。将总结出的规则库用在电子病历上进行分析,针对某些特殊的固定搭配有着良好的识别能力。但由于目前统计的固定搭配还不算完整,所以后期工作还要继续完善相应的工作。