面向人名消歧任务的人名识别系统
2011-06-14时迎超王会珍胡明涵
时迎超,王会珍,肖 桐,胡明涵
(1. 东北大学 自然语言处理实验室,辽宁 沈阳 110819;2. 医学影像计算教育部重点实验室(东北大学),辽宁 沈阳 110819)
1 引言
命名实体识别(Named Entity Recognition, NER)是自然语言处理的一项基本技术,它是信息抽取、信息检索、机器翻译、组块分析、问答系统等多种自然语言处理技术的重要基础。也是一个各种会议上指定的任务或任务的重要组成部分[1]。所以,对实体识别的研究有着重要的理论和实用价值。
到目前为止,实体识别的研究已经有了很多成果,较早的实体识别多采用基于规则的方法[2-4]。基于规则的方法实现比较简单并且缺乏适应性,规则的制定往往要依赖于具体的语言、领域和文本格式,而且规则编写人员往往需要有丰富的语言知识和深厚的计算语言学背景。随着研究的深入基于统计的实体识别方法成了近年来研究的主流。与基于规则的方法相比,基于统计的方法利用人工标注的语料进行训练,标注语料时不需要广博的语言学知识,并且可以在较短时间内完成。常见的基于统计的实体识别方法主要包括基于支持向量机的实体识别,基于隐马尔可夫模型的实体识别,基于最大熵模型的实体识别和基于条件随机场的实体识别等。从在最近几年发表在ACL年度会议以及COLING、SIGHAN等国际会议上的论文[5-8]来看,大多数实体识别系统都采用了条件随机场模型。基于统计的方法可以利用自然语言的统计规律帮助实体识别,和规则方法比提高了系统的适应性。
从总体上来说,CLP2010人名消歧任务是个聚类问题。对给定的一组文档,按照文档中出现的查询词所指向的人进行聚类。最后,在每个类中,所有查询词都必须是指向现实生活中的同一个人。任务输入: 对每一个查询词,用“字”串匹配的方法从新华社的语料库中抽出所有含有该人名的文档,并组成一个针对该查询词的文档集。任务输出: 对每一个查询词,要求将其对应的文档集聚类,每个类对应现实生活中的一个人。在该任务中,中文人名主要有下面一些歧义问题:
1) 给定的查询词指向现实中不同的人,例如一些普通的人名“李刚”、“王刚”等。
2) 给定的查询词只是真实人名的子字符串,例如“战士李燕卿是个孤儿”中“李燕”是给定的查询词,而人名是“李燕卿”。
3) 真实人名是给定的查询词的子字符串,查询词不是真的指向一个人,例如含“最高军事法院”中的“高军”是查询词,但只是“最高军事法院”的一部分。
通过上面的讨论可以知道,CLP2010人名消歧任务的输入是新华社的语料库中抽取出的新闻语料,里面的人名比较标准;基于条件随机场的实体识别系统是近年研究的热门,并且表现了较好的性能。基于这些分析,本文提出了基于多系统集成和启发式规则的人名识别方法。本文选择集成的两个系统分别为基于条件随机场的实体识别系统和基于大量人名列表资源的最大匹配和统计的人名识别系统。具体方法是首先利用已经实现的两个实体识别系统进行整合,得到一个统一的实体识别输出,然后基于启发式规则进行后处理,以获得最终的识别结果。
本文的后续部分组织如下: 第2节主要阐释了系统的整合,第3节介绍本文所使用的启发式规则,第4节主要介绍本文的实验和实验结果,最后一节是对实验的总结和对未来工作的展望。
2 系统整合
东北大学自然语言处理实验室已经实现了两套实体识别系统。一套是基于条件随机场的实体识别系统[9](下称: 系统A),另一套是基于大量人名列表资源的最大匹配和统计的人名识别系统(下称: 系统B)。由于两个系统所采用的方法和模型不同,所以两个系统的特点也不一样。系统A的主要特点有:
1) 采用的是基于条件随机场统计模型的实体识别,实体识别准确率较高。
2) 采用统一的方法同时进行各类中文命名实体的识别。
系统B的主要特点有:
1) 使用了大量的网络人名资源,所以它对现实中的大量的常用人名识别准确率和召回率较高,但是有一些非人名也可能被识别成人名。
2) 只对人名进行了识别,所以有些由人名构成的其他实体中的人名可能被错误的识别出来。
在人名消歧任务中,语料都是新闻语料,查询词所涉及的人名大多都是在互联网上经常出现的比较标准的人名,所以系统B对人名消歧语料中的人名特别是涉及查询词的人名表现了比较好的性能,但是由于系统B是基于最大匹配的方法进行的人名识别,所以可能会错误识别出一些人名或者只识别人名的一部分。为了能够有效地利用两个系统的人名识别的优点,本文对这两个系统进行了整合,实现了基于多实体识别系统整合的人名识别系统。系统的整合算法如下。
输入:两个系统的实体识别结果A_result,B_result和原始文件test_file
1: 对于test_file中的每一个词word,
2: 如果word在A_result中识别成了人名,那么word是人名。
3: 否则,如果word在B_result中识别成了人名,在A_result中识别成了其他的实体名称的一部分,则把A中的实体名称拆分为人名+相应实体后缀。
4: 否则,如果word在B_result中识别成了人名,在A_result中是普通词,则word为人名。
5: 否则,如果word在A_result中识别成了其他实体名词的部分,在B_result中没有被识别,则word为其他实体名词的部分。
6: 否则,word不是人名。
输出:基于整合规则的识别结果
3 规则后处理
系统整合后分析发现,人名的识别依然存在着很多的错误,这些错误主要有以下的原因造成的。
1) 人名的前后文信息不足,例如“唐海创我国对虾孵化最高纪录”中的地名“唐海”,通过这句话我们不清楚唐海是人名还是地名,于是错误识别成了人名。
2) 没有充分利用前后文信息造成的,例如“通讯员 高明”中的“高明”,它是一个普通词,由于没有充分利用前面的前缀信息,所以没有识别出来。
3) 整合算法引入了一些新的错误,例如“阿萨姆邦德马杰镇的居民举行印度第58个独立日庆祝活动时”,系统整合后阿萨姆邦德马杰错误识别成了人名。
基于对错误原因的分析,本文提出了基于启发式规则对人名的识别进行后处理。
3.1 并列词规则
所谓并列词是用并列连词或符号串联在一起的字符串的集合,其中并列连词和符号有: “和”、“或”、“与”、“、”等。提出动机为: 第一由于并列实体词前后的上下文信息离并列实体词较远,所以并列词的前后文信息在统计系统中并不能很好的发挥作用,从而使得并列词本身的识别不够准确。第二并列词串的前面或者后面往往有较强的实体指示信息。并列词规则分为并列词数大于2和等于2两种情况。
并列词数大于2时,规则如下:
1) 如果并列词后面紧跟的是地名、机构名、产品名等列表后导词中的一个,则并列词为相应的列表词。
2) 如果并列词前面紧接的是人名称谓词,则并列词为人名列表。
3) 如果其中超过1/2的识别为人名, 则并列词为人名列表。
4) 如果其中超过1/2的是其他词性, 则并列词是其他实体名列表。
所谓并列词列表后导,就是并列词后面的用于限定并列词类型的词或词串。例如: “正在建设的5万亩河蟹养殖场主要分布于丰南、滦南、唐海等3个县”。本例句中“丰南、滦南、唐海”为3个并列词,“等3个县”为地名列表后导。
并列词数等于2时,由于这两个词并不能确定是不是并列词,所以当并列词数为2时,此规则只对查询词使用。规则为,如果查询词的并列词识别为人名,则查询词也是人名。
3.2 Title规则
所谓Title规则就是利用人名称谓识别人名。提出动机为: 有一些词本身就可以做人名,但它们同时又可以作为普通词,那么系统很可能就识别不出来,而是识别成了普通词,由于评测语料中有只有1/6的discarded文档,即查询词是人名的概率为5/6,所以如果一个查询词前面是人称称谓,那么它就有更高的概率是人名。规则为:
如果查询词或者其所在的词本身符合人名的一般原则,而且其前面第一个词是人称谓词,则查询词或其所在的词为人名。
例如: “(通讯员 高明)”,本例句中通讯员为人称称谓,高明是查询词。那么基于此规则得到“高明”是人名。
3.3 后缀词规则
所谓后缀词就是实体词后部标示实体类型的部分。提出动机为: 在系统整合时,为了保证人名的最大召回率,基于系统B把在系统A中识别的部分实体词拆分成了人名和实体后部,但是这其中有一些是拆分错的,还有一些其他实体本身没有识别出来。 规则为:
对于识别出的人名词:
1) 如果其后面的词是机构名称后缀,则识别的人名和后面的词构成机构名。
2) 如果其后面的词长度小于6,如果其尾部包含机构名后缀,则识别的人名和后面的词构成机构名,其前部为机构名中间词,则识别的人名和后面的词构成机构名。
3) 如果其后面的词是地名后缀,则识别的人名和后面的词构成地名。
例如: “阿萨姆邦德马杰镇的居民举行印度第58个独立日庆祝活动时”,在系统中“阿萨姆邦德马杰”被识别成了人名,通过本规则可以识别“阿萨姆邦德马杰镇”是一个地名。从而纠正了原来的人名识别错误。
3.4 外国人名规则
所谓外国人名规则就是对分开了的外国人名进行合并。提出动机为: 整合后的系统中有部分外国人名在识别时被分开成多个部分,所以本文基于此规则对被错误分开的外国人名进行合并,以提高识别正确率。规则为:
1) 如果有两个相邻的词,有一个识别成了人名,且它们中间有英文句点“·”,则合并成一个人名,如果两个相邻的人名其中一个的一边有点则合并成一个人名。
2) 如果识别的两个相邻的人名合并后在外国人名列表中,则合并成一个人名。
3) 如果以识别人名的前词或后词是单字词,且和人名的互信息非常小,而它和人名可以组合在一起正好在外国人名列表中,则合并成一个人名。
例如: “第三名菲·罗杰斯澳大利亚1分1秒76”。整合系统中“菲”被错误识别成了地名,而罗杰斯被识别成了人名,经过这个规则,“菲·罗杰斯”就被识别成人名。
3.5 中文姓氏规则
所谓中文特殊姓氏规则就是利用中文的特殊姓氏进行人名识别。提出动机为: 中文姓氏使用的很不平衡, 姓氏中使用频度最高的是“王”姓, “王, 陈,李, 张, 刘”等5个大姓覆盖率达32%, 姓氏频度表中的前14个高频度的姓氏覆盖率为50%, 前400个姓氏覆盖率达99%[9]。其中有些姓氏词只能作为姓氏使用,如“刘、朱、赵”等,有些即可以作为姓氏又可以和其他字按一定规则成词,如“张、段、王”等。规则为:
1) 对于“张、段”等有量词词性的姓氏,如果前面是数词则这不是姓氏,否则是。
2) 对于“高”等有形容词词性的姓氏,如果前面是副词则这不是姓氏,否则是。
3) 对于“刘、赵”等专用姓氏,如果后面是一个名称常用词,并且它们合并后包含查询词,则合并后识别为人名。
例如: “寰岛险胜敖东 (1张杨磊)”,本句中“张杨磊”被错误识别成了人名,基于这条规则,就可以纠正这个错误。
3.6 查询词规则
所谓的查询词就是评测集文档中一定包含的词串。提出动机为: 在评测语料中,对于一个查询词可能对应着多个实际的人名,在整合系统中已经识别的人名可以作为一种资源用来对错误的识别进行纠正修改,以达到人名统一正确的识别,减少同一个人名识别成不同形式的可能。
规则为: 如果识别的人名a被识别的人名b所包含,且包含人名b的文档数大于等于2,如果人名a跟后面的一个词能够组成人名b,则a跟后面的词是一个人名。
例如: “这本书由郭超人、南振中主编”。本例中“郭超”被错误识别成了人名,但是在其他文本中大量“郭超人”正确识别,基于本规则,可以把“郭超人”正确的识别出来。
4 实验
4.1 实验数据
本文采用的语料是CLP2010的人名消歧的训练语料作为本实验的测试语料,本语料共6 926个文档,其中人名文件5 901个,Discarded文件1 025个。其中Discarded文件是指查询词不涉及人名的文件,人名文件是指查询词涉及人名的文件。
4.2 实验资源列表
资源列表包括实验室的资源以及从外部收集的资源。这些资源列表可以提升系统的识别准确度,但是它的贡献度取决于资源收集的覆盖面。本文使用的资源主要有机构名后缀、中文人名姓氏、地名后缀、人名称谓、公司名称中间词、中文人名常用字、中文人名常用词、外国人名等。其中机构名后缀1 448个、人名称谓1 970个、公司名中间词605个,中文人名常用字560个,中文人名词10 413个,外国人名107 865个。
4.3 性能评测
本文采用的是正确率作为评测标准,由于评测数据分为人名和discarded两类,所谓人名类就是在评测文档中所指定查询词是人名或人名的部分,而discarded类是指在评测文档中所指定查询词不是人名或人名的部分。针对本评测中的数据的特殊性,本文对正确率做了如下定义: 如果一个文档中的指定查询词是人名或人名的部分,并且识别正确,则本文档查询词识别正确,否则识别不正确;如果一个文档中指定查询词不是人名,并且此查询词没有识别成人名或人名的部分,则识别正确,否则不正确。正确率计算如公式(1)所示。
(1)
4.4 实验结果
实验中,本文首先人工验证了评测方所给人名数据的正确性,从而确定测试数据的正确性。首先我们进行了系统整合实验,整体准确率提升约0.1%个百分点,性能提升不是非常明显,然后我们做了两组启发式规则的实验: 实验1是对单个规则进行加入,实验结果如表1所示;实验2是以叠加的形式不断加入规则,加入的顺序依次是外国人名规则、称谓规则、并列词规则、后缀规则、姓氏规则、和查询词规则,其结果如表2所示。
4.5 实验结果分析
从表1可以看出对性能有较大提升的依次是并列词规则、记者规则、外国人名规则,查询词规则四个规则,这几个个规则对性能的提升分别为超过或接近一个百分点,性能的提升是非常明显的。其中加入Title规则后discarded文件的正确率有所下降,加入后缀规则后人名文件的正确率有所下降,我们将在下一节进行解释。
从表2可以看出几个规则有一定的重复叠加性,所以当几个规则相继使用时,其性能表现的并不如单独使用效果明显,但是识别的性能要有了很大的提高,基本上符合了我们对评测数据人名识别的要求。在评测过程中我们评测所给的测试语料中的实体人工抽查结果显示,人名识别正确率基本和在训练数据中的评测结果吻合。
本文中提到的方法,考虑了评测数据的特殊性,除了加入了通用性的规则,还加入了查询词规则和记者规则等, 在评测方所给的训练集上表现出了良好的性能。
在分别加入规则的实验结果中,加入Title规则,discarded文档的正确率有所下降,经分析发现,加入规则后使得一些非人名识别成了人名,例如: 山田先生赞叹不已: “中国医生高明,中国军医高尚!”其中“高明”不是人名,但是加入Title规则后,由于“高明”前面有职称词“医生”,则“高明”错误识别成了人名。加入后缀规则,错误原因类同。
在逐个加入规则的人名识别的最终结果中, 还有少量的错误,错误分布如表3所示。根据统计可以看出其中不是人名识别成人名的错误约占1/2,例如: “齐肩秀发,高翘刘海,端庄美丽。”中的“刘海”识别成了人名,还有“唐海创我国对虾孵化最高纪录”中的“唐海”也识别成了人名。这主要是由于本系统在整合两个系统时,是基于最大人名召回率来整合的。而在后面的规则中又没有充分的规则可以对这样的错误进行纠正,而导致这样的错误识别。也一定程度上影响了系统的性能。
表1 较之整合后数据单独加入规则后的准确率的提升
表2 较之整合后数据逐个加入规则识别正确率的提升
表3 识别错误分布
5 结论及下一步工作
本文首先用系统整合的方法,把已经实现了的实体识别系统进行了整合,然后基于启发式规则对整合后的系统中依然存在的识别错误进行纠正,在实体识别的过程中更充分的利用了文本的上下文信息以及评测数据本身的信息。但是由于很多规则是硬性的规则,所以在基于规则的错误纠正的过程中可能会引入一些新的错误。实验结果证明,多系统整合和启发式规则后处理的实体识别方法取得了是很好的结果。
下一步工作有: 1)进一步研究实体识别的启发式规则,以充分利用实体的上下文信息来帮助实体识别;2)尽可能地将实体的上下文信息用到我们的统计实体识别系统实现中来,减少对规则的依赖。
[1] Zhai L, FUNG P, SCHWARTZ R et al. Using N-best Lists for Named Entity Recognition from Chinese Speech[C]//Proceedings of HLT/NAACL-2004, 2004.
[2] Borthwick A, Sterling J and Agichtein E et al. Description of the MENE Named Entity System as Used in MUC-7[C]//Proceedings of the 7th Message Understanding Conference(MUC-7). Washington D.C, 1998: 145-150.
[3] Krupka G R, Haasman K. Description of the NetOwl Extractor System as Used for MUC-7[C]//Proceedings of the 7th Message Understanding Conference (MUC-7). Washington D.C, 1998: 133-138.
[4] Black W J, Rinaldi F, Mowatt D. Description of the NE System used for MUC-7[C]//Proceedings of the MUC-7, Washington D.C, 1998: 115-120.
[5] Hirano T. Detecting Semantic Relations between Named Entities in Text Using Contextual Features[C]//Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics. Prague, Czech, 2007.
[6] Mao X N, Dong Y, He S K, et al. Chinese Word Segmentation and Named Entity Recognition Based on Conditional Random Fields[C]//Sixth SIGHAN Workshop on Chinese Language Processing. 2008:90-93.
[7] Yu X F, Lam W, Chan S K. Chinese NER Using CRFs and Logic for the Fourth SIGHAN Bakeoff[C]//Sixth SIGHAN Workshop on Chinese Language Processing. 2008:335-342.
[8] Yang F, Zhao J, Zou B. CRFs-Based Named Entity Recognition Incorporated with Heuristic Entity List Searching[C]//Sixth SIGHAN Workshop on Chinese Language Processing. 2008:171-174.
[9] 张祝玉,任飞亮,朱靖波. 基于条件随机场的中文命名实体识别特征比较研究[C]//第4届全国信息检索与内容安全学术会议论文集. 2008.