1、中文命名实体识别及关系提取中文命名实体识别及关系提取* * *中文命名实体识别中文命名实体识别语料:人民日报语料:人民日报1998年版年版主要方法:根据训练预料,利用主要方法:根据训练预料,利用CRF进行机器学进行机器学习习中文命名实体识别中文命名实体识别标注集标注集1:由字构词:由字构词将将 ns,nr,nt三种实体类型,和分词中的词位信息三种实体类型,和分词中的词位信息B,B1,B2,M,E,S做组合,其它字标记为做组合,其它字标记为OExample:中文命名实体识别中文命名实体识别词缀标记词缀标记PSsur:人名的姓,比如:人名的姓,比如“王王”PSsuf:人名的后缀,比如:人名的后缀,
2、比如“先生先生”Lsuf: 地名的后缀,比如地名的后缀,比如“省省”,“特区特区”,“地区地区”Osuf: 组织名的后缀,比如组织名的后缀,比如“委员会委员会”,“公司公司”原因:中文偏正关系原因:中文偏正关系*为什么将词缀放到机器学习的标记中而不是用于结果修为什么将词缀放到机器学习的标记中而不是用于结果修正?正? 后缀容易识别,但是向前匹配的位置难于确定,比后缀容易识别,但是向前匹配的位置难于确定,比如如“上海上海IBM研究院研究院”。 训练模板训练模板字的特征识别:字的特征识别:w-1,0:前一个字前一个字 w0,0 w1,0w-1,0/w0,0:前面一个字和当前字的组合前面一个字和当前字
3、的组合w0,0/w1,0 , w-1,0/w1,0词缀特征识别:词缀特征识别:w-1,1:前一个字的词缀前一个字的词缀w0,1,w1,1,w0,1/w1,1/w2,1测试结果测试结果测试方法:测试方法:将训练集拆分,将训练集拆分,80%用于训练用于训练,20%用于测试用于测试(200篇左右篇左右)测试结果:测试结果:RecallPrecisionF-scoreNR81.6%961/117892.6%884/96186.7%NS84.4%1362/161388.8%1190/136286.6%NT85.2%538/63190.7%483/53887.9%校正校正考虑到没有充分利用分词结果考虑到没
4、有充分利用分词结果Error:张牙舞张牙舞/nr爪爪 =利用利用分词结果可以校正分词结果可以校正校正方法:如果命名实体不是由完校正方法:如果命名实体不是由完整的几个词组成的,判错整的几个词组成的,判错校正结果:校正结果:RecallPrecisionF-scoreNR79.3%935/117895.5%891/93586.7%NS82.5%1331/161389.8%1180/133186.0%NT85.1%537/63191.2%485/53788.0%一些问题一些问题为什么没有在标记集中加入分词信息的一列为什么没有在标记集中加入分词信息的一列Example:江江 PSsur B B nr-
5、B泽泽 UNB1 nr-B1民民 UNE nr-E主主 PSsuf B O席席 PSsuf E O1) 训练时间过长,内存消耗过大。训练时间过长,内存消耗过大。 如果训练在可接受如果训练在可接受的时间内,增大训练语料比多增加分词信息有效得多。的时间内,增大训练语料比多增加分词信息有效得多。2)分词和命名实体标注可以映射为一列,没必要增加一)分词和命名实体标注可以映射为一列,没必要增加一个维度。比如个维度。比如主主 PSsuf O-B。实验数据显示,性能没。实验数据显示,性能没有任何变化。有任何变化。如何获得词缀信息如何获得词缀信息1)从训练语料中抽取所有的命名实体,然后计算频率,)从训练语料中
6、抽取所有的命名实体,然后计算频率,然后抽取所有词的后缀,然后计算频率,取频率高的。然后抽取所有词的后缀,然后计算频率,取频率高的。2)手动检查是否添加了无用的后缀,比如)手动检查是否添加了无用的后缀,比如“上海市上海市”在在训练语料出现很多次,提取后缀会出现训练语料出现很多次,提取后缀会出现“海市海市”为一个为一个高频率后缀,这些需要特殊处理。高频率后缀,这些需要特殊处理。其它问题其它问题为什么没有引入词性信息?为什么没有引入词性信息?1)一般的词性标注的准确率在)一般的词性标注的准确率在90%左右,而且人民日报左右,而且人民日报语料的标注词性比较多,有语料的标注词性比较多,有40+种,准确率
7、要比种,准确率要比90%低一低一些。些。2)命名实体的准确率在)命名实体的准确率在90%以上,已经比词性标注要高以上,已经比词性标注要高了。了。3)对于命名实体的)对于命名实体的Recall提升的话,词性标注没有明显提升的话,词性标注没有明显的帮助办法,换句话说词性对于判错还有些用,但是对的帮助办法,换句话说词性对于判错还有些用,但是对于于Recall只会降低。只会降低。Any Other Quentions?关系识别关系识别Located-in关系:关系:穷举任意两个在一篇文章中出现的命名实体,然后判断穷举任意两个在一篇文章中出现的命名实体,然后判断他们是否是他们是否是Located-in关
8、系。关系。判断标准:判断标准:1)如果一个地点实体()如果一个地点实体(NS)是一个组织()是一个组织(NT)的模糊)的模糊前缀。比如前缀。比如“上海市上海市” “上海大白兔有限公司上海大白兔有限公司”2)一个地点后紧接着一个组织,)一个地点后紧接着一个组织,“上海市上海市” 的的大白兔大白兔有限公司有限公司 3) 在上下文中有关键词匹配成功在上下文中有关键词匹配成功4)NT中内含中内含NS,“上海市闵行区派出所上海市闵行区派出所”关于提取地点的核心词关于提取地点的核心词如果一个地点只有一个词,那么去掉它的可以忽略的后如果一个地点只有一个词,那么去掉它的可以忽略的后缀,所有可以忽略的后缀以字典
9、形式存在一个文件中。缀,所有可以忽略的后缀以字典形式存在一个文件中。“上海市上海市”=“上海上海”如果一个地点实体由多个词组成,那么提取它的词性,如果一个地点实体由多个词组成,那么提取它的词性,然后取最后一个然后取最后一个NS,然后判断后缀是否可忽略,如果可,然后判断后缀是否可忽略,如果可忽略返回最后的忽略返回最后的NS,否则返回最后的,否则返回最后的NS+后缀后缀“上海上海/NS浦东浦东/NS机场机场/N”=“浦东机场浦东机场”“香港香港/NS特别特别/a行政区行政区/N”=“香港香港”如何匹配上下文如何匹配上下文在没有标注语料的情况下,采用了自定义规则,因为从在没有标注语料的情况下,采用了
10、自定义规则,因为从训练语料来看,新闻题材中需要上下文匹配的情况较少训练语料来看,新闻题材中需要上下文匹配的情况较少,而且特点比较一致。,而且特点比较一致。匹配的上下文形式化:匹配的上下文形式化:作用方向:是作用方向:是NS在前,在前,NT在后,还是反之。在后,还是反之。作用域:作用域:0:一个句子,不可有其他实体打断:一个句子,不可有其他实体打断 1:NS之后全文之后全文 (新华社北京讯)(新华社北京讯) 2:NS之前全文之前全文 (记者北京报道)(记者北京报道)上文,中间,下文:正则表达式,上下文只用一个窗口上文,中间,下文:正则表达式,上下文只用一个窗口,中间的文字去掉无用词,只保留名词和
11、动词。,中间的文字去掉无用词,只保留名词和动词。例子例子1 0 - .*|地处地处/v|.* -1 0 - .*|位于位于/v|.* -1 0 - .*|坐落坐落/v|.* -1 0 - .*/v|在在/p -1 0 - .*|地址地址/n|是是/v -1 2 - - .*|报道报道/v|.*/w1 2 - - .*|讯讯/v|.*/w1 2 - - .*|电电/v|.*/w0 1 .*/w|.* 讯讯/v|.*/w|.* -0 1 .*/w|.* 报道报道/v|.*/w|.* -0 1 .*/w|.* 电电/v|.*/w|.* -Founder关系关系方法和方法和Located-in关系抽取
12、中上下文匹配的方式相同。关系抽取中上下文匹配的方式相同。实际情况中,实际情况中,Founder关系一定是要有关键词提示的。关系一定是要有关键词提示的。比如:比如:Bill Gates创办了微软公司创办了微软公司 【中文中有关键词】【中文中有关键词】 Bill Gates是微软之父【后文中有关键词】是微软之父【后文中有关键词】Employee关系关系大多数大多数Employee关系的关键词不是动词而是变化多端的关系的关键词不是动词而是变化多端的职位职位Example:中共中央总书记胡锦涛中共中央总书记胡锦涛微软微软CEO鲍尔默鲍尔默识别方法:识别方法:1)提取)提取NT和和NR之间的关键名词,作
13、用域是之间的关键名词,作用域是一个句子中不可打断,除了并列举例的人名。一个句子中不可打断,除了并列举例的人名。 2)采用一个字典匹配,检查之间是否有职位)采用一个字典匹配,检查之间是否有职位存在的问题存在的问题命名实体识别:命名实体有很多都识别了,但是无法准命名实体识别:命名实体有很多都识别了,但是无法准确定位一个完整的命名实体,比如确定位一个完整的命名实体,比如“三峡坝区三峡坝区”命名实体识别:外国人名命名实体识别:外国人名关系提取:上下文匹配的办法还比较幼稚,个人认为如关系提取:上下文匹配的办法还比较幼稚,个人认为如果有一个标注的训练语料的话,如果可以统计词频,确果有一个标注的训练语料的话,如果可以统计词频,确定关键词。定关键词。Thanks