首页> 中国专利> 基于决策树规则和多种统计模型相结合的人名识别算法

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

摘要

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

著录项

  • 公开/公告号CN103823859A

    专利类型发明专利

  • 公开/公告日2014-05-28

    原文格式PDF

  • 申请/专利权人 安徽博约信息科技有限责任公司;

    申请/专利号CN201410060957.5

  • 发明设计人 郑中华;周俊;周银行;

    申请日2014-02-21

  • 分类号G06F17/30(20060101);G06F17/27(20060101);

  • 代理机构

  • 代理人

  • 地址 230000 安徽省合肥市高新区黄山路602号大学科技园C2008室

  • 入库时间 2024-02-19 23:58:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-04

    专利权质押合同登记的生效 IPC(主分类):G06F17/30 登记号:Y2020980003988 登记生效日:20200710 出质人:安徽博约信息科技股份有限公司 质权人:徽商银行合肥创新大道支行 发明名称:基于决策树规则和多种统计模型相结合的人名识别算法 授权公告日:20170222 申请日:20140221

    专利权质押合同登记的生效、变更及注销

  • 2017-02-22

    授权

    授权

  • 2016-10-26

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20140221

    著录事项变更

  • 2014-06-25

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140221

    实质审查的生效

  • 2014-05-28

    公开

    公开

说明书

技术领域

本发明涉及一种基于决策树规则和多种统计模型相结合的人名识别算法。

背景技术

自然语言处理是互联网信息搜索领域的核心分析技术,在搜索引擎、舆情监控以及电子商务等众多互联网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=非人名},初始概率矩阵π=[π12]分别表示人名出现和不出现的先验概率,状态转移矩阵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!=ti∪ti+1,则将ti标记为交叉歧义,然后令ti=ti∪ti+1,并删除ti+1,重复当前步骤,直到T内不存在任意两相邻词条满足交集条件;

(3)采用交叉歧义消解算法依次对T内所有标记为交叉歧义的元素执行歧义消解,从而最终得到词序列T;

2.2角色矩阵构建

角色矩阵描述了给定语言文本词序列中所有的人名实体相关信息,是本算法人名识别过程的数据基础;通过引入角色矩阵,能够以最简洁的方式提取和描述给定词序列中所有人名识别相关信息,为后续的人名识别过程带来极大便利;

设语言文本的词序列为T={t1,t2,…,tN}(N>0),N为词序列元素个数,人名实体角色类别总数为M(M>0,本算法M=4),则词序列T的角色矩阵为:

其中,dij(1≤i≤N,1≤j≤M)表示词序列T中第i个词的第j种实体角色指数,若第i个词不担任第j种实体角色,则dij=0.0;当N=1时,即词序列中仅有一个词,角色矩阵退化为该词的角色向量;

角色矩阵的构建包括两个步骤:1)通过角色词库查询给定词序列中每个词的角色向量;2)将所有词的角色向量组合得到词序列的角色矩阵;

2.3人名初定位

由于本算法对识别的人名范围定义在同时存在姓氏和名字的中国人名,因此人名的初定位可以看做姓氏的识别,即遍历角色矩阵,找到所有姓氏角色指数大于0.0位置;

连姓是人名初定位过程最困难的问题,本算法采用回溯算法解决连姓情况,人名初定位算法如下:

(1)令i=0,设角色矩阵DMN,回溯栈S,初始为空;

(2)获取D中第i个词的姓氏指数,若已到矩阵末尾,则未人名,算法终止;若姓氏指数值为0.0,则i=i+1,重复第(2)步;否则,执行第(3)步;

(3)识别第i个词是否存在连姓情况,若存在连姓,且最靠前的连姓位置为j,则将i压入栈S,令i=j,重复第(3)步;若不存在,则以i为人名初定位位置,输出;

2.4候选人名搜索

候选人名搜索以人名初定位位置为姓氏,根据决策树规则从角色矩阵里找出所有符合人名构成特征的候选人名,得到给定姓氏的候选人名集合;候选人名搜索通过决策树规则直接排除不符合人名构成特征的情况,减少统计计算次数,从而提升算法整体效率;

本算法采用的人名构成特征包括以下三点:

(1)去除姓氏后的人名总数不超过2个字;

(2)名字中所有字的人名用字指数都不得低于指定阈值;

(3)对于名字为2个字的情况,至少有1个字的人名用字指数大于指定阈值,本算法阈值设定为0.1,已通过实验证明该规则的有效性;

每个候选人名具有两类属性,分别为:

(1)位置属性;位置属性描述候选人名在角色矩阵中的位置,包括姓氏位置,尾界位置和名字长度三个属性,姓氏位置和尾界位置分别表示候选人名的姓氏和名字的最后一个字在角色矩阵的列号,名字长度表示候选人名名字的字数;

(2)特征属性;特征属性描述候选人名的出现特征,包括姓氏指数、上文特征指数和下文特征指数;

2.5人名判定

人名判定过程是从指定姓氏在给定角色矩阵中的候选人名集合中判断是否存在人名,若不存在则输出非人名,否则输出人名在角色矩阵中的位置信息;人名判定过程包括两个步骤:(1)采用基于决策树规则和多种统计模型相结合的方法判定候选人名集合中的人名;(2)根据第(1)步的判定结果,输出识别结果,若判定结果为空,即所有候选人名都被判定为非人名,则输出非人名;若判定结果为多个人名,表示出现人名歧义,则根据人名在语料文本中的出现特征选择出现可能性最大的候选人名为识别结果;否则,直接输出识别结果;

决策树规则算法如下:

(1)给定候选人名P={S,E,N,}和对应的角色矩阵D,设D[i]表示D中的第i列,即词序列中的第i个词的实体角色指数向量;

(2)决策树第一层根据D[S]的姓氏指数和上下文特征指数判定该处出现人名的可能性,若姓氏指数或者上下文特征指数高于指定阈值,则表示此处出现人名的可能性很大,子分支判定的阈值应当适当降低,且以提升人名识别召回率为识别目的;若姓氏指数或者上下文特征指数低于指定阈值,则表示此处出现人名的可能性较小,子分支判定阈值应提高,且以提升人名识别准确率为识别目的;

(3)决策树第二层根据人名的构成特征进行决策,旨于选择合适的统计模型进行统计计算与人名判定;若构成名字的汉字串不成词,则采用单字模型计算,若构成名字的汉字串成词,则采用双字词模型计算;最后根据计算结果与预设阈值的对比得到判定结果,预设阈值由决策树第一层得出。

本发明的有益效果是:

1)本发明技术方案采用决策树规则对人名构成特征和上下文特征进行分类,然后对每一类别人名采用针对性的统计模型,从而弥补目前主流技术采用单一模型无法全面覆盖所有人名构成特征和上下文特征的缺点,提升综合识别效果;

2)本发明技术方案利用决策树规则执行第一层识别,可以快速准确的处理容易识别或排除的情况,从而减轻对训练语料库的依赖,提升识别算法可靠性;

3)本发明技术方案对不同类别人名采用不同复杂度统计模型,提升综合识别效率。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1是目前主流人名识别方法的主要流程图。

图2是本发明基于决策树规则和多种统计模型相结合的人名识别算法实施例的处理流程图。

图3是本发明基于决策树规则和多种统计模型相结合的人名识别算法实施例的改进最大匹配算法的流程图。

图4是本发明基于决策树规则和多种统计模型相结合的人名识别算法实施例的人名判定决策树分支结构图。

具体实施方式

如图2所示,基于决策树规则和多种统计模型相结合的人名识别算法,包括离线统计和在线识别两个过程:

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=非人名},初始概率矩阵π=[π12]分别表示人名出现和不出现的先验概率,状态转移矩阵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中文分词

中文分词是将连续的语言文本字符串切分为词序列。目前中文分词算法很多,如正向最大匹配,逆向最大匹配,N-元语法等等,本技术采用改进最大匹配算法[2]实现。改进最大匹配算法沿用正向最大匹配算法的核心思想,并弥补其不具备歧义检测和消解的功能,在分词速度基本不变的前提下提高分词正确率。

给定语言文本字符串,W=w1w2…wn,改进最大匹配算法流程如下:

(1)遍历字符串W,根据词典对wi执行最大匹配操作,并将匹配得到的词依次添加到初始词序列T,遍历结束后,得到T={t1,t2,…,tn},其中,ti表示在W中,以wi开头的最长词条;

(2)检测T内的任意两相邻词条,若存在词条ti和ti+1满足交集条件则若ti与ti+1同时不满足全集条件ti!=ti∪ti+1,则将ti标记为交叉歧义,然后令ti=ti∪ti+1,并删除ti+1,重复当前步骤,直到T内不存在任意两相邻词条满足交集条件;

(3)采用交叉歧义消解算法依次对T内所有标记为交叉歧义的元素执行歧义消解,从而最终得到词序列T。

图3显示改进最大匹配算法的流程图。

2.2角色矩阵构建

角色矩阵描述了给定语言文本词序列中所有的人名实体相关信息,是本算法人名识别过程的数据基础。通过引入角色矩阵,能够以最简洁的方式提取和描述给定词序列中所有人名识别相关信息,为后续的人名识别过程带来极大便利。

设语言文本的词序列为T={t1,t2,…,tN}(N>0),N为词序列元素个数,人名实体角色类别总数为M(M>0,本算法M=4),则词序列T的角色矩阵为:

其中,dij(1≤i≤N,1≤j≤M)表示词序列T中第i个词的第j种实体角色指数,若第i个词不担任第j种实体角色,则dij=0.0。当N=1时,即词序列中仅有一个词,角色矩阵退化为该词的角色向量。

角色矩阵的构建包括两个步骤:1),通过角色词库查询给定词序列中每个词的角色向量;2),将所有词的角色向量组合得到词序列的角色矩阵。

2.3人名初定位

由于本算法对识别的人名范围定义在同时存在姓氏和名字的中国人名,因此人名的初定位可以看做姓氏的识别,即遍历角色矩阵,找到姓氏角色指数大于0.0位置。

人名初定位过程最重要的问题是对连姓的处理,本文中的连姓不仅仅指姓氏相连,如“陈张王、乔石、张高丽”等,而是指同一人名中出现的姓氏,即“陈思成、黄志高、关羽华雄”等都存在连姓情况。连姓是出现频率比较高的一类情况,而且处理不当可能会造成人名识别连锁错误,如“关羽华雄”一旦识别“关羽华”为人名,则后面的“华雄”也无法识别,因此在人名识别中应该足够的重视。

本算法采用回溯算法解决连姓情况,人名初定位算法如下:

(1)令i=0,设角色矩阵DMN,回溯栈S,初始为空。

(2)获取D中第i个词的姓氏指数,若已到矩阵末尾,则未人名,算法终止;若姓氏指数值为0.0,则i=i+1,重复第(2)步;否则,执行第(3)步。

(3)识别第i个词是否存在连姓情况,若存在连姓,且最靠前的连姓位置为j,则将i压入栈S,令i=j,重复第(3)步;若不存在,则以i为人名初定位位置,输出。

2.4候选人名搜索

候选人名搜索以人名初定位位置为姓氏,根据决策树规则从角色矩阵里找出所有符合人名构成特征的候选人名,得到给定姓氏的候选人名集合。候选人名搜索通过决策树规则直接排除不符合人名构成特征的情况,减少统计计算次数,从而提升算法整体效率。

本算法采用的人名构成特征包括以下三点:

(1)名字(不包含姓氏)总数不超过2个字;

(2)名字中所有字的人名用字指数都不得为0.0;

(3)对于名字为2个字的情况,至少有1个字的人名用字指数大于指定阈值,本算法阈值设定为0.1,已通过实验证明该规则的有效性。

每个候选人名具有两类属性,分别为:

(1)位置属性。位置属性描述候选人名在角色矩阵中的位置,包括姓氏位置,尾界位置和名字长度三个属性,姓氏位置和尾界位置分别表示候选人名的姓氏和名字的最后一个字在角色矩阵的列号,名字长度表示候选人名名字的字数。

(2)特征属性。特征属性描述候选人名的出现特征,包括姓氏指数、上文特征指数和下文特征指数。

2.5人名判定

人名判定过程是从指定姓氏在给定角色矩阵中的候选人名集合中判断是否存在人名,若不存在则输出非人名,否则输出人名在角色矩阵中的位置信息。人名判定过程包括两个步骤:(1),采用基于决策树规则和多种统计模型相结合的方法判定候选人名集合中的人名;(2),根据第(1)步的判定结果,输出识别结果,若判定结果为空,即所有候选人名都被判定为非人名,则输出非人名;若判定结果为多个人名,表示出现人名歧义,则根据人名在语料文本中的出现特征选择出现可能性最大的候选人名为识别结果;否则,直接输出识别结果。

人名判定过程最核心的算法是基于决策树规则和多种统计模型相结合的方法判定候选人名是否为人名。该方法的基本思想是先规则后统计,即首先利用决策树规则对人名出现的构成特征和上下文特征进行分类,对不同类别采用针对性的统计模型识别。

本方法的决策树规则采用人工建树的方法,图4显示决策树的整体结构。

算法详细过程如下:

(1)给定候选人名P={S,E,N,}和对应的角色矩阵D,设D[i]表示D中的第i列,即词序列中的第i个词的实体角色指数向量;

(2)决策树第一层根据D[S]的姓氏指数和上下文特征指数判定该处出现人名的可能性,若姓氏指数或者上下文特征指数高,如出现“杨、薛”等高指数姓氏,或者“书记、教授、担任”等高指数上下文特征,则表示此处出现人名的可能性很大,子分支判定的阈值应当适当降低,且以提升人名识别召回率为识别目的;若姓氏指数或者上下文特征指数低,如出现“高、帅”等低指数姓氏,或没有出现上下文特征,则表示此处出现人名的可能性较小,子分支判定阈值应提高,且以提升人名识别准确率为识别目的。

(3)决策树第二层根据人名的构成特征进行决策,旨于选择合适的统计模型进行统计计算与人名判定。若名字的构成为单字或者单字组合,如“乔石,李瑞环”等,则采用单字模型计算,若名字的构成为双字词,如“王莲花,蒋中华”等,则采用双字词模型计算。根据计算结果与预设阈值的对比得到判定结果,预设阈值由决策树第一层得出。

本实施例提出了一种基于决策树规则和多种统计模型相结合的人名识别方法,该方法减弱了对训练语料库的依赖,并结合规则实现人名的初步排除,可靠性好,综合识别效率高。采用本方法对1998年人民日报语料库进行交叉测试,人名识别F-值平均为91.83%,且通过对网络随机抽取的400篇新闻、论坛和博客语料进行开放测试,人名识别F-值为89.56%,取得了较为满意的识别效果,从而证明了本算法的有效性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号