基于决策树规则和多种统计模型相结合的人名识别算法制造技术

技术编号:10106571 阅读:199 留言:0更新日期:2014-06-01 21:08
本发明专利技术公开了基于决策树规则和多种统计模型相结合的人名识别算法,采用决策树规则对人名构成特征和上下文特征进行分类,然后对每一类别人名采用针对性的统计模型,从而弥补目前主流技术采用单一模型无法全面覆盖所有人名构成特征和上下文特征的缺点,提升综合识别效果;而且,利用决策树规则可以快速准确的识别容易识别或排除的情况,从而减轻对训练语料库的依赖,提升识别算法可靠性;另外,对不同类别人名采用不同复杂度的统计模型,亦可提升综合识别效率。

【技术实现步骤摘要】
基于决策树规则和多种统计模型相结合的人名识别算法
本专利技术涉及一种基于决策树规则和多种统计模型相结合的人名识别算法。
技术介绍
自然语言处理是互联网信息搜索领域的核心分析技术,在搜索引擎、舆情监控以及电子商务等众多互联网IT产业都有广泛的应用。随着互联网信息指数级增长以及用户体验需求越来越高,在保证处理速度满足用户使用需求的前提下,互联网信息搜索对自然语言处理结果的要求越来越精准。人名识别是自然语言处理词法分析中最困难的核心问题之一,不管在搜索引擎领域还是在舆情监控领域,用户对人名、地名和机构名等实体词的关注度远高于常用词,而且人名作为无法直接采用词典匹配识别的未登录词,识别难度大,因此,一直以来都是备受关注的研究问题。所谓人名识别,在本文中是指针对给定汉语句子,准确地标出句中所含所有完整人名,包括姓氏和名字,而对于指代人物的身份词,姓氏指代词或无姓人名则不用标出,因为身份词、姓氏指代词和无姓人名通常指代一类人而不是一个人,且一般用于非正式场合,用户关注度并不高,故不在本文人名识别范围内。如给定句子“揭景岗山二婚娶李亚鹏经纪人”,需要标出人名“景岗山”和“李亚鹏”;又如“妈妈告诉儿子鹏鹏做人要诚实”,“李考上大学”等句子中,身份词“妈妈”和“儿子”,姓氏指代词“李”,无姓人名“鹏鹏”都不用标出。现有的技术方案如下:基于统计机器学习和基于统计与规则相结合是目前最主流的人名识别方法,基于统计机器学习的人名识别方法通过定义语义角色对语言文本的词序列进行角色标注,然后利用统计模型对文本中出现的语义角色进行建模与计算,最终得到人名的识别结果,由于该方法实现难度小,且一致性好,故而得到广泛的应用。基于统计与规则相结合的人名识别方法是在基于统计机器学习的基础上,加上启发式规则,对统计模型的识别结果进行修正,以提升综合识别效果。由于统计模型仅从整体考虑,可能抑制局部小概率事件的发生,而且训练语料库也存在信息不全面等局限,导致统计信息存在误差,造成很多人名遗漏识别或错误识别,因此需要结合一些启发式规则进行召回和剔除,以弥补统计模型的不足。从图1中可以看出,基于统计机器学习的人名识别方法主要包括离线统计和在线识别两部分。离线统计指离线完成统计模型的参数训练,主要包括角色定义与信息统计和统计模型构建与训练两项工作,角色定义根据人名的构成特征和上下文特征定义语义角色,一般包括人名姓氏,人名用字,上文特征以及下文特征等,如“演员周星驰担任政协委员”,“演员”为上文特征,“周”为姓氏,“星”和“驰”为人名用字,“担任”为下文特征,角色信息统计则根据人名库和训练语料库统计所有的人名姓氏,人名用字等角色信息;统计模型构建和参数训练指根据定义的语义角色,构建合适的统计模型,如隐马尔科夫模型,条件随机场模型,位置概率模型以及贝叶斯模型等,然后利用训练语料库计算统计模型中常数参数值。在线识别指根据输入的语言文本,标注其中所含有的所有人名并输出。在线识别过程如下:1)选用合适的粗分算法,如N-Gram、最大匹配算法等,将输入的连续汉语语言文本字符串切分为词序列;2)采用离线统计的角色词库对词序列执行角色识别,即标注出语言文本中出现的所有人名语义角色;3)采用已训练的统计模型,对文本中出现的语义角色进行分析与计算,并得出识别结果;4)采用启发式规则对识别结果进行召回和剔除,召回遗漏识别,剔除错误识别,本步骤可无;5)输出语言文本中人名的识别结果。现有技术的缺点是:1)采用单一统计模型,综合识别效果差。由于人名构成特征和上下文特征复杂,不具备统一特征,现有技术采用单一模型无法覆盖所有人名构成特征和上下文特征,且出现规则冲突概率较大,导致综合识别效果差。2)识别效果过于依赖训练语料库,可靠性低。对统计模型来说,训练语料库的普适性和全面性直接影响模型参数的可靠性,从而决定最终的识别效果,而内容全面,涵盖所有人名构成特征和上下文特征的语料库几乎不存在,而现有技术采用的主要为统计模型,故而过于依赖经验主义,可靠性较低。3)综合识别效率低。语言文本中出现的相当一部分人名角色可通过规则快速排除,或者通过更简单的统计模型即可高效准确的识别,而现有技术对所有标注的人名角色采用同一种统计模型进行计算,故而综合识别效率低。
技术实现思路
本专利技术要解决的技术问题是汉语语言文本中的中国人名识别问题。为了解决上述技术问题,本专利技术采用的技术方案是:基于决策树规则和多种统计模型相结合的人名识别算法,包括离线统计和在线识别两个过程:1.离线统计下面对本算法所定义的语义角色和所使用的统计模型加以说明;1.1.语义角色语义角色包括人名姓氏、人名用字、人名上文特征和人名下文特征四种;人名用字指构成人名的单个汉字,人名上文特征和人名下文特征分别指在语言文本中出现在人名之前和之后的词语;若使用“指数”来描述各语义角色需要统计的信息,则:人名姓氏指数刻画一个汉字或词语在语言文本中出现时,担任人名姓氏和常用词的倾向,取值范围为[0,1],越趋向1表示做人名姓氏的可能性越大,做常用词的可能性越小;人名姓氏指数的数学表示如下:式1.1中:Sw表示汉字或词语w的人名姓氏指数;Nw表示w在人名库中做人名姓氏出现的次数;N表示w在训练语料库中做常用词出现的次数;α为调节因子,表示训练语料库中人名个数与人名库中人名个数的比值;人名用字指数刻画一个汉字在语言文本中出现时,担任人名用字和常用词的倾向,其取值范围和数学表示与人名姓氏指数一致,不在赘述;人名上文特征指数和人名下文特征指数分别刻画一个词语在语言文本出现时,之后或之前出现人名的概率,取值范围为[0,1],其数学表示为:式1.2中:Fw表示词语w的人名上文或下文特征指数;Nw表示w在训练语料库中做人名上文或下文特征出现的次数;N表示w在训练语料库中做常用词出现的次数;1.2统计模型本算法利用统计模型计算给定单个或两个连续汉字为人名名字的概率,并针对汉字串的两类构成情况,设计了针对性的统计模型,且每个统计模型对于决策树规则的每一个分支分别训练,从而实现多模型人名识别方法;(1)情况一:汉字串不成词汉字串不成词表示给定子串为单个汉字或两个独立汉字,本算法采用隐马尔科夫模型进行计算;设隐状态集合为S={S1=人名,S2=非人名},初始概率矩阵π=[π1,π2]分别表示人名出现和不出现的先验概率,状态转移矩阵A为:式(1.3)中,aij表示第i个隐状态到第j个隐状态的转移概率;设给定字串w=w1w2...wn(n=1,2),di为汉字wi的人名用字实体角色指数,则观察值矩阵B为:结合式(1.3)和式(1.4),可得用于不成词汉字串为人名名字隐马尔科夫概率评估模型:λ={S,w,π,A,B}(1.5)本算法利用前向算法对模型(1.5)进行概率计算,得到给定不成词汉字串作为人名名字的概率,并结合预设阈值得到最终的判定结果,模型参数和预设阈值根据本算法的决策树规则分支分别进行训练;(2)情况二:汉字串成词汉字串成词表示给定子串为两个组合成词的汉字,本算法采用线性加权法进行计算;设给定字串w=w1w2,d1、d2分别为汉字w1、w2的人名用字实体角色指数,F为词w1w2做常用词的使用频数,使用频数由语料库统计,可通过词典查询获得,则该字串做人名使用的概率计本文档来自技高网
...
基于决策树规则和多种统计模型相结合的人名识别算法

【技术保护点】

【技术特征摘要】
1.基于决策树规则和多种统计模型相结合的人名识别算法,其特征在于包括离线统计和在线识别两个过程:1.离线统计下面对本算法所定义的语义角色和所使用的统计模型加以说明;1.1.语义角色语义角色包括人名姓氏、人名用字、人名上文特征和人名下文特征四种;人名用字指构成人名的单个汉字,人名上文特征和人名下文特征分别指在语言文本中出现在人名之前和之后的词语;若使用“指数”来描述各语义角色需要统计的信息,则:人名姓氏指数刻画一个汉字或词语在语言文本中出现时,担任人名姓氏和常用词的倾向,取值范围为[0,1],越趋向1表示做人名姓氏的可能性越大,做常用词的可能性越小;人名姓氏指数的数学表示如下:式1.1中:Sw表示汉字或词语w的人名姓氏指数;Nw表示w在人名库中做人名姓氏出现的次数;N表示w在训练语料库中做常用词出现的次数;α为调节因子,表示训练语料库中人名个数与人名库中人名个数的比值;人名用字指数刻画一个汉字在语言文本中出现时,担任人名用字和常用词的倾向,其取值范围和数学表示与人名姓氏指数一致,不在赘述;人名上文特征指数和人名下文特征指数分别刻画一个词语在语言文本出现时,之后或之前出现人名的概率,取值范围为[0,1],其数学表示为:式1.2中:Fw表示词语w的人名上文或下文特征指数;Nw表示w在训练语料库中做人名上文或下文特征出现的次数;N表示w在训练语料库中做常用词出现的次数;1.2统计模型本算法利用统计模型计算给定单个或两个连续汉字为人名名字的概率,并针对汉字串的两类构成情况,设计了针对性的统计模型,且每个统计模型对于决策树规则的每一个分支分别训练,从而实现多模型人名识别方法;(1)情况一:汉字串不成词汉字串不成词表示给定子串为单个汉字或两个独立汉字,本算法采用隐马尔科夫模型进行计算;设隐状态集合为S={S1=人名,S2=非人名},初始概率矩阵π=[π1,π2]分别表示人名出现和不出现的先验概率,状态转移矩阵A为:式(1.3)中,aij表示第i个隐状态到第j个隐状态的转移概率;设给定字串w=w1w2...wn(n=1,2),di为汉字wi的人名用字实体角色指数,则观察值矩阵B为:结合式(1.3)和式(1.4),可得用于不成词汉字串为人名名字隐马尔科夫概率评估模型:λ={S,w,π,A,B}(1.5)本算法利用前向算法对模型(1.5)进行概率计算,得到给定不成词汉字串作为人名名字的概率,并结合预设阈值得到最终的判定结果,模型参数和预设阈值根据本算法的决策树规则分支分别进行训练;(2)情况二:汉字串成词汉字串成词表示给定子串为两个组合成词的汉字,本算法采用线性加权法进行计算;设给定字串w=w1w2,d1、d2分别为汉字w1、w2的人名用字实体角色指数,F为词w1w2做常用词的使用频数,使用频数由语料库统计,可通过词典查询获得,则该字串做人名使用的概率计算模型为:其中:h1max和h1min,h2max和h2min分别为汉字w1,w2预设的最大和最小阈值;∝为权重调节因子,用于调整人名用字指数和词串使用频数的权重;Fmax为预设词串最大使用频数,以上参数均由训练语料库训练设定;模型1.6表示,若字串的使用频数大于等于Fmax或者两个字的人名用字指数小于预设最小阈值,则直接排除为人名;若字串使用频数小于Fmax,且两个字的人名用字指数都大于预设阈值,则直接判定为人名;否则根据线性加权式计算其为人名名字的概率;2.在线识别在线识别包括中文分词、角色矩阵构建、候选人名搜索、决策树规则分支和人名识别五个过程;2.1中文分词中文分词是将连续的语言文本字符串切分为词序列,本算法采用改进最大匹配算法实现;给定语言文本字符串,W=w1w2…wn,改进最大匹配算法流程为:(1)遍历字符串W,根据词典对wi执行最大匹配操作,并将匹配得到的词依次添加到初始词序列T,遍历结束后,得到T={t1,t2,…,tn},其中,ti表示在W中,以wi开头的最长词条;(2)检测T内的任意两相邻词条,若存在词条ti和ti+1满足交集条件则若ti与ti+1同时不满足全集条件ti!...

【专利技术属性】
技术研发人员:郑中华周俊周银行
申请(专利权)人:安徽博约信息科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1