公开/公告号CN101118538A
专利类型发明专利
公开/公告日2008-02-06
原文格式PDF
申请/专利权人 中国科学院计算技术研究所;
申请/专利号CN200710121868.7
申请日2007-09-17
分类号G06F17/27(20060101);G06F17/30(20060101);
代理机构11280 北京泛华伟业知识产权代理有限公司;
代理人王勇
地址 100080 北京市海淀区中关村科学院南路6号
入库时间 2023-12-17 19:41:21
法律状态公告日
法律状态信息
法律状态
2013-05-01
专利实施许可合同备案的生效 IPC(主分类):G06F17/27 合同备案号:2013110000009 让与人:中国科学院计算技术研究所 受让人:镇江诺尼基智能技术有限公司 发明名称:中文命名实体中特征词项的识别方法和系统 申请公布日:20080206 授权公告日:20101215 许可种类:独占许可 备案日期:20130304 申请日:20070917
专利实施许可合同备案的生效、变更及注销
2010-12-15
授权
授权
2008-04-02
实质审查的生效
实质审查的生效
2008-02-06
公开
公开
技术领域
本发明涉及中文信息处理和信息检索领域中的词语识别,特别涉及一种对命名实体中特征词项的识别方法及相应系统。
背景技术
自然语言处理,是计算机科学领域与人工智能领域中的一个重要问题。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。随着计算机和互联网的广泛应用,计算机可处理的自然语言文本数量空前增长,面向海量信息的文本挖掘、信息提取、跨语言信息处理、人机交互等应用需求急速增长,自然语言处理的对象也从小规模受限语言处理转向大规模真实文本处理,其研究必将对人们的生活产生深远的影响。
中文信息处理是指研究如何利用计算机对汉语信息进行自动处理。汉语是一门意合语言,和西方语言相比,缺少显式的标记,在语法、语义、语用方面也更加灵活,这就增加了计算机理解和处理的难度。要让计算机能够处理中文信息,尚有许多困难需要克服。目前,中文信息处理已经在语音识别、分词、机器翻译等领域取得了一些成果。中文信息自动化处理程度的提升,将对我国的科技、文化、经济、安全等带来可观的效益。
信息检索是研究如何从纷繁复杂的大量信息中,快速、准确地获取所需信息的技术。信息检索技术经过多年的发展,目前已经相当成熟,新型信息检索技术正朝智能化、动态化、多样化、个性化等方向发展。
命名实体(Named Entity,NE)是指文本中具有特定意义的实体,可以表示现实世界中的抽象或者具体的事物,主要包括人名、地名、机构名、专有名词等。要正确地理解文本就要正确地识别命名实体。命名实体识别是信息抽取(Information Extraction)、自动问答(Question Answering)、机器翻译(Machine Translation)等技术的重要基础。
命名实体(NE)由一个或多个特征词项(Feature Words Item,简称FWI)组成,特征词项在其所在命名实体中有一定独立意义。例如:命名实体“南京市白下区长清牛羊肉经营部”所包含的特征词项包括:南京市,白下区,长清,牛羊肉,经营部。
从命名实体中识别出正确的特征词项,有利于对分词结果进行有效地纠正,提高分词的正确率,未登陆词识别的正确性。有助于信息检索中关键词查询和自然语言查询的分析。但在现有技术中,缺少利用计算机从中文命名实体中自动识别特征词项的相关方法。
发明内容
因此,本发明的目的是克服现有技术中不具备从中文命名实体中识别特征词项的相关方法的缺陷,从而提供一种中文命名实体中特征词项的识别方法。
为了实现上述目的,本发明提供了一种中文命名实体中特征词项的识别方法,包括:
步骤1)、对待识别的命名实体进行分词操作,得到候选命名实体;
步骤2)、对所述的候选命名实体进行用于复合连续单字的初步处理,得到第一计算结果;
步骤3)、根据所述的候选命名实体和所述的第一计算结果建立词典,根据所述的第一计算结果建立词境词典;所述词典和所述词境词典统称为词典库;
步骤4)、参考所述的词典库,对所述的第一计算结果至少做一次复合处理,每一次复合处理后,根据处理结果扩充所述词典库,在下一次复合处理时,所参考的词典库为扩充后的词典库;
步骤5)、根据复合处理后的结果得到所识别的特征词项。
上述技术方案中,在对所述第一计算结果做多次复合处理过程中,参考词典库,对经过复合处理的第一计算结果进行修正处理,并根据修正处理的结果对所述词典库中的词典进行扩充。
上述技术方案中,所述的步骤4)具体包括以下步骤:
步骤4-1)、参考词典库,对所述的第一计算结果做复合处理,从而得到第二计算结果,然后根据所述的第二计算结果,对所述词典库进行扩充;
步骤4-2)、参考扩充后的词典库,对所述第一计算结果再次进行复合处理,得到第三计算结果,然后根据所述第三计算结果扩充词典库;
步骤4-3)、参考扩充后的词典库,对所述的第一计算结果进行修正处理,更正第一计算结果中错误的特征词项或词,得到第四计算结果,然后用所述的第四计算结果扩充词典库;
步骤4-4)、参考扩充后的词典库,对所述的第四计算结果再次进行复合处理,得到第五计算结果,然后用所述的第五计算结果扩充词典库;
步骤4-5)、参考扩充后的词典库,对所述的第五计算结果进行复合处理,得到第六计算结果。
上述技术方案中,所述的初步处理是将候选命名实体中的连续单字进行复合操作。
所述的初步处理通过第一计算过程实现,所述的第一计算过程是指将所述候选命名实体中的连续单字复合;将位于所述候选命名实体开头的单字与其右面的第一个词复合;将位于所述候选命名实体结尾的单字与其左面的第一个词复合。
上述技术方案中,所述的词典中包含有词和特征词项,以及与词和特征词项对应的词频。
上述技术方案中,所述的词境词典记录了每个单字左右出现的词或特征词项,以及这些词或特征词项的词频。
上述技术方案中,所述的复合处理是指:
对所述的候选命名实体分别运行多个计算过程,在运行其中一个计算过程时,对所述候选命名实体中的每个单字得到一个左权重值或右权重值或左右复合权重值,将每个单字在所述多个计算过程中所得到的所有左权重值相加,所有右权重值相加,所有左右复合权重值相加;最后判断单字的左右复合权重值的和是否大于0,若大于0,则认为所述复合处理的结果为左右复合权重值的和,若左右复合权重值的和为0,则所述复合处理的结果为左权重和与右权重和中值较大的一个。
上述技术方案中,所述的多个计算过程是指所述第二计算过程、第三计算过程、第四计算过程、第五计算过程、第六计算过程、第七计算过程、第八计算过程和第九计算过程中的至少两个。
上述技术方案中,所述的第二计算过程是指根据所述候选命名实体中的单字的词性,为所述单字设置向左复合、向右复合或左右复合的权重。
上述技术方案中,所述的第三计算过程是指当候选命名实体中的单字与其临近的词或特征词项复合后的结果存在于所述词典中时,将复合后的结果认为是特征词项。
上述技术方案中,所述的第四计算过程是指当候选命名实体中的单字与其临近的词或特征词项复合后的结果不存在于所述词典中时,从词典中寻找与复合后的特征词项类似的特征词项。
上述技术方案中,所述的第八计算过程是指对候选命名实体中某个单字左边的词或特征词项,将词典中所有以此词或特征词项开头的各个特征词项的词频相加;对于其右面的词或特征词项,将词典中所有以此词或特征词项结尾的各个特征词项的词频相加;比较两次相加的结果,为单字增加与词频高的词或特征词项间的权重。
上述技术方案中,所述的修正处理是对所述第一计算结果进行特征词项的修正和词的修正。
上述技术方案中,所述的特征词项的修正是指:
对所述第一计算结果中长度大于2个字的特征词项分别运行多个计算过程,在运行其中一个计算过程时,对每个单字得到一个左权重值或右权重值或左右复合权重值;将每个单字在所述多个计算过程中所得到的所有左权重值相加,所有右权重值相加,所有左右复合权重值相加;最后判断单字的左右复合权重值的和是否大于0,若大于0,则认为所述复合处理的结果为左右复合权重值的和,若左右复合权重值的和为0,则所述复合处理的结果为左权重和与右权重和中值较大的一个。
上述技术方案中,所述的多个计算过程是指第五计算过程、第六计算过程、第七计算过程、第九计算过程和第十计算过程中的至少两个。
上述技术方案中,所述的第五计算过程是指对候选命名实体中的某一单字,在所述词典中所有包含该单字的特征词项中,比较单字出现在开头或结尾的次数,根据所述次数的多少增加单字的左权重或右权重。
上述技术方案中,所述的第六计算过程将候选命名实体中某个单字与其左面的词或特征词项复合形成第一特征词项,再将单字与其右面的词或特征词项复合得到第二特征词项,分别选择第一特征词项的结尾和第二特征词项的开头;若所述开头或结尾均在词典中存在,则比较两者在词典中的词频,若所述开头的词频大于所述结尾的词频或词典中只有开头存在,则增加单字的左权重;若所述结尾的词频大于所述开头的词频或词典中只有结尾存在,则增加单字的右权重。
上述技术方案中,所述的第七计算过程是指对候选命名实体中的单字,比较与该单字临近的词或特征词项的词频,增加所述单字与词频低的词或特征词项间的权重。
上述技术方案中,所述的第九计算过程是指对于候选命名实体中的某个单字,在所述词境词典中,寻找与所述单字对应的条目,在所述条目中,若所述单字左面的词或特征词项的词频大于所述单字右面的词或特征词项的词频,则增加单字的左权重,若所述单字左面的词或特征词项的词频小于所述单字右面的词或特征词项的词频,则增加单字的右权重。
上述技术方案中,所述的第十计算过程包括对特征词项开头的修正和对特征词项结尾的修正;其中,
对特征词项开头的修正是指:
首先,将第一特征词项左边的字与所述的第一特征词项分开,成为单字,使候选命名实体成为包含单字的候选命名实体;
然后,记录所述单字右边的词或特征词项在词典中的词频m,将所述单字与其左边的词或特征词项复合形成第二特征词项;记录所述第一特征词项在词典中的词频n,得到h1=n/m,若复合前单字右边的词或特征词项在词典中不存在,则令h1=0;
接着,令复合前单字左边的词或特征词项在词典中的词频为x,所述第二特征词项在词典中的词频为y,记h2=y/x,若复合前单字左边的词或特征词项在词典中不存在,则令h2=0;
最后,判断h1与h2间的大小,若h1>h2,增加单字的左权重;反之,增加单字的右权重;
对特征词项结尾的修正是指:
首先,将第一特征词项右边的字与所述的第一特征词项分开,变成单字,使候选命名实体成为包含单字的候选命名实体;
然后,记录单字左边的词或特征词项在词典中的词频m,将单字与其右边的词或特征词项复合形成第二特征词项;记录第一特征词项在词典中的词频n,得到h1=n/m,若复合前单字左边的词或特征词项在词典中不存在,则今h1=0;
接着,令复合前单字右边的词或特征词项在词典中的词频为x,所述第二特征词项在词典中的词频为y,记h2=y/x,若复合前单字右边的词或特征词项在词典中不存在,则令h2=0;
最后,判断h1与h2间的大小,若h1>h2,增加单字的左权重;反之,增加单字的右权重。
上述技术方案中,所述的对词的修正是指:
对所述第一结果中的两个字的词或长度等于两个字的特征词项分别运行多个计算过程,在运行其中一个计算过程时,对每个单字得到一个左权重值或右权重值或左右复合权重值;将每个单字在所述多个计算过程中所得到的所有左权重值相加,所有右权重值相加,所有左右复合权重值相加;最后判断单字的左右复合权重值的和是否大于0,若大于0,则认为所述复合处理的结果为左右复合权重值的和,若左右复合权重值的和为0,则所述复合处理的结果为左权重和与右权重和中值较大的一个。
上述技术方案中,所述的多个计算过程是指第十一计算过程、第十二计算过程和第十三计算过程中的至少两个。
上述技术方案中,所述的第十一计算过程是指:
将候选命名实体中只包含有两个字的词和特征词项拆分成两个单字,若左边的单字与其左边的词或特征词项复合所形成的特征词项,以及右边的单字与其右边的词或特征词项复合所形成的特征词项,都存在于词典中,则拆分所述的只包含有两个字的词和特征词项,否则,不做拆分操作。
上述技术方案中,所述的第十二计算过程是指:
将候选命名实体中只包含有两个字的词和特征词项拆分成两个单字,两个单字分别与其左边的词或特征词项和右边的词或特征词项形成两个新的特征词项,若左边新形成的特征词项不存在于词典中,而右边新形成特征词项在词典中的词频大于阈值且新形成的特征词项的长度大于阈值,则此词应被拆分,且在右边形成特征词项,反之亦然。
上述技术方案中,所述的第十三计算过程是指:
将候选命名实体中只包含有两个字的词和特征词项拆分成两个单字,两个单字分别与其左边的词或特征词项和右边的词或特征词项形成两个特征词项,新生成的两个特征词项在词典中均不存在,若左边新形成的特征词项的结尾的词在词典中存在,且词频大于阈值,则此词应被拆分,且在左边形成特征词项,若右边新形成的特征词项的开头的词在词典中存在,且词频大于阈值,则此词应被拆分,且在右边形成特征词项。
本发明还提供里一种中文命名实体中特征词项的识别系统,包括分词模块、初步处理模块、词典、词境词典和复合处理模块;其中,
所述的分词模块用于对待识别的命名实体进行分词操作,得到候选命名实体;
所述的初步处理模块对所述的候选命名实体进行初步处理,得到第一计算结果;
所述的词典中包含有词和特征词项,以及与词和特征词项对应的词频;
所述的词境词典记录了每个单字左右出现的词或特征词项,以及这些词或特征词项的词频;
所述的复合处理模块对所述的第一计算结果做复合处理。
上述技术方案中,还包括修正模块,所述的修正模块对所述复合处理模块得到的处理结果进行修正,更正错误的词或特征词项。
本发明的优点在于:
1、本发明无需借助上下文,即可实现对中文命名实体中特征词项的识别和理解,提高了自然语言理解和信息检索的准确率。
2、本发明适用范围广,可以很好弥补分词,未登陆词识别上的缺陷。
3、本发明还可实现对命名实体进行合适认知粒度的概念划分。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1为利用本发明的特征词项识别系统进行特征词项识别的示意图;
图2为本发明的中文命名实体中特征词项的识别方法的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。
本发明的对命名实体中特征词项的识别方法的基本思想是采用现有的分词程序对命名实体进行分词,然后根据分词结果创建词典和词境词典,利用词典和词境词典,对分词后的候选命名实体进行计算和处理,得到命名实体中的特征词项,同时根据处理结果扩充词典;最后将特征词项返回给用户。
在对上述进行详细说明前,首先对汉语命名实体的形成规律和构词方法进行整理,总结命名实体中的特征词项的语法特征和构词规律,从中抽象出共同的计算过程基本符号描述:
■NE:表示命名实体;
■cNE:表示候选命名实体,即命名实体NE分词后的结果;
■FWI:表示特征词项;
■word:表示至少包含两个汉字以上的词或特征词项;
■ch:表示一个汉字;
■string:表示ch或word;
■vp:表示任意词性,包括用户自定义词性;
■pos:表示词或字的词性;
■user_pos:用户自定义的表示经程序合成的特征词项的符号,本发明中令user_pos=“/~”;
■resemble(FWI1,FWI2):表示特征词项FWI1与FWI2相似;
■strlen(string):表示计算字符串string的长度;
■left_word(string):表示string所在的cNE中,string左边的词或字或特征词项,strlen(left_word(string))=0表示string位于cNE的开头,strlen(left_word(string))=2表示在cNE中string的左边为字,strlen(left_word(string))=4表示在cNE中string的左边为词或特征词项;
■right_word(string):表示在cNE中string右边的词或字或特征词项,strlen(right_word(string))=0表示string位于cNE的结尾,strlen(right_word(string))=1表示在cNE中string的右边为字,strlen(right_word(string))=4表示在cNE中string的右边为词或特征词项;
■diction:表示词典;
■word_diction:表示词境词典;
■word_diction(ch):表示词境词典中ch的词境;
■diction(word):表示词典中含有词或特征词项;
■fq(diction(word)):表示word在词典中的频率;
■Form(word,ch):表示word与ch顺序复合,即词或特征词项word与汉字ch按其出现顺序连接,例如:Form(“下关”,“区”)=“下关区”,Form(“糖”,“烟酒”)=“糖烟酒”;
■w(weight_left):表示单字向左边复合的权重函数,初始值为0;
■w(weight_right):表示单字向右边复合的权重函数,初始值为0;
■w(weight_middle):表示左右向单字复合的权重函数,初始值为0;
■Is_Head(string):表示string在词典中所有词或特征词项中作为开头出现的次数;
■Is_Tail(string):表示string在词典中所有词或特征词项中作为结尾出现的次数;
■Split(word):表示word为两个字的词或特征词项时,将word拆分成两个独立的单字;
■Left(ch1,ch2):表示ch1和ch2相邻出现时,选取ch1;
■Right(ch1,ch2):表示ch1和ch2相邻出现时,选取ch2;
■Head(string):表示string开头的词或特征词项;
■Tail(string):表示string结尾的词或特征词项。
在对计算过程中所使用的符号进行上述说明后,再对本发明中所涉及的各个计算过程进行说明。在对下述计算过程的说明中,为了方便理解,采用了具体实施例中所提到的几个例句,读者可结合例句对各个计算过程的实现进行理解。
第一计算过程:第一计算过程用于实现对连续单字的复合操作。第一计算过程可以包括以下三个步骤:
1、连续单字复合;
2、位于开头的单字与其右面的第一个词复合;
3、位于结尾的单字与其左面的第一个词复合。
第一计算过程的形式定义和计算如下:
其中,^表示并且;∈表示属于。
例如:cNE=“阿/j 凡/d 提/v 美食/n 园/ng”,运用第一计算过程后的结果为:“阿凡提/~ 美食园/~”。
第二计算过程:第二计算过程是指满足词性序列为a+vp,b+vp,m+vp,vp+g,vp+p/c+vp的字符串可以组成特征词项,从而根据单字的词性,为单字设置向左复合、向右复合或左右复合的权重。
根据汉语的构词规则,形容词,数词,区别词应该位于其他词性的前面。例如,cNE=“鸿兴隆/~ 大/a 酒楼/n 有限公司/n”,ch=“大”,因为词性序列满足a+n,故ch应与其右面的词复合得FWI=大酒楼/~。在cNE中ch词性为a,b,m,增加单字的右权重,ch词性为g,增加单字向左权重,ch为c或p,增加左右复合单字的权重。
第二计算过程的形式定义和计算如下:
需要注意的是,由于分词程序将“与”的词性定为p(介词),故词性序列vp+p+vp,特指形如“word/vp+与/p+word/vp”的字符串。如“中国/ns 科学院/n 南京/ns 地理/n 与/p 湖泊/n 研究所/n”中的“地理/n 与/p 湖泊/n”,而“长江/ns 给/p 排水/vn 集团/n”虽然满足vp+p+vp的词性序列,但不能增加左右复合单字的权重。
第三计算过程:第三计算过程是指当单字与其临近的词或特征词项复合后的结果存在于词典中,则将复合后的结果认为是特征词项。
第三计算过程的具体实现如下:首先将候选命名实体中某个单字与其左面的词或特征词项复合形成特征词项1,再将单字与其右面的词或特征词项复合得特征词项2;若特征词项1与特征词项2均在词典中出现,且特征词项1的词频大于特征词项2,则增加单字的左权重;反之,则增加单字的右权重;若只有特征词项1在词典中存在,则增加单字的左权重;若只有特征词项2在词典中存在,则增加单字的右权重。
第三计算过程的形式定义和计算如下:
例如:cNE=“白下区/~ 人民政府/l 朝/p 天宫/n 办事处/n”,ch=“朝”,right_word(ch)=right_word(“朝”)=“天宫”,Form(ch,right_word(ch))=Form(“朝”,“天宫”)=“朝天宫”,词典中存在FWI=“朝天宫”,left_word(ch)=left_word(“朝”)=“人民政府”,Form(left_word(ch),ch)=Form(“人民政府”,“朝”)=“人民政府朝”,而词典中不存在“人民政府朝”,故f3(ch,cNE)=f3(“朝”,“白下区/~人民政府/l 朝/p 天宫/n 办事处/n”)=w(weight_right)。
第四计算过程:第四计算过程是指当复合后的特征词项不存在于词典中时,从词典中寻找与复合后的特征词项类似的特征词项。
第四计算过程的具体实现步骤如下:首先将候选命名实体中某个单字与其左面的词或特征词项复合形成特征词项1,再将单字与其右面的词或特征词项复合得特征词项2,特征词项1与特征词项2在词典中不存在;若词典中存在与特征词项1和特征词项2类似的词,计算在词典中与特征词项1类似的特征词项的词频m和与特征词项2类似的特征词项的词频n,若m>n,则增加单字的左权重;反之,增加单字的右权重。若词典中只存在与特征词项1类似的特征词项,则增加单字的左权重;若词典中只存在与特征词项2类似的特征词项,增加单字的右权重。
此处的“类似”不涉及语义中的相似,而是语法结构的相似。如:“科技园”与“牡丹园”相似。
第四计算过程的形式定义和计算如下:
left_unit_word=Form(left_word(ch),ch)
right_unit_word=Form(ch,right_word(ch))
例如:cNE=“六合/ns 区/n 教育局/n”,ch=“区”,left_word(ch)=“1六合”,left_unit_word=Form(left_word(ch),ch)=“六合区”,right_word(ch)=“教育局”,right_unit_word=Form(right_word(ch),ch)=“区教育局”,词典既不存在“六合区”,也不存在“区教育局”,但词典中有“栖霞区”和“白下区”等与“六合区”相类似的特征词项。故f4(ch,cNE)=f4(“区”,“六合/ns 区/n教育局/n”)=w(weight_left)。
第五计算过程:第五计算过程是针对某些单字在词典中的各个特征词项中位置比较固定,而出现在结尾的次数和出现在开头的次数悬殊较大时的情况,比较在词典中所有包含此单字的特征词项中,此单字出现在开头或结尾的次数,若单字处于开头的次数大于处于结尾的次数,则增加单字的右权重,反之,增加单字的左权重。例如,“区”多出现在特征词项的结尾位置,“人”多出现在特征词项的开头位置。
第五计算过程的形式定义和计算如下:
例如:cNE=“六合/ns 区/n 教育局/n”,ch=“区”,“区”在当前词典中所有包含“区”字开头或结尾的特征词项中,“区”出现在开头的次数为0,出现在结尾的次数为1次,故f5(ch,cNE)=f5(“区”,“六合/ns区/n教育局/n”)=w(weight_left)。
第六计算过程:第六计算过程针对特征词项中的开头或结尾大多为词的情况。特征词项的开头或结尾应为词典中存在的词或特征词项。如特征词项“十字街”、“博酒店”和“师范大学”。
第六计算过程的具体实现如下:首先将候选命名实体中某个单字与其左面的词或特征词项复合形成特征词项1,再将单字与其右面的词或特征词项复合得到特征词项2。记特征词项1的结尾为A,特征词项2的开头为B,若A、B均在词典中存在,比较A、B在词典中的词频,若A的词频大于B的词频或词典中只有A存在,则增加单字的左权重;若B的词频大于A的词频或词典中只有B存在,则增加单字的右权重。
第六计算过程的形式定义和计算如下:
left_unit_word=Form(left_word(ch),ch)
right_unit_word=Form(ch,right_word(ch))
例如,cNE=“柏克斯/~ 电热器/n 具/vg 制造厂/n”,ch=“具”left_word(ch)=left_word(“具”)=“电热器”,left_unit_word=Form(left_word(ch),ch)=“电热器具”,Tail(left_unit_word)=“器具”,词典中存在“器具”,righr_word(ch)=right_word(“具”)=“制造厂”,right_unit_word=Form(right_word(ch),ch)=“具制造厂”,Head(right_unit_word)=“具制”或Head(right_unit_word)=“具制造”,词典中不存在这两个特征词项,故f6(“具”,“柏克斯/~ 电热器/n 具/vg 制造厂/n”)=w(weight_left)。
第七计算过程:第七计算过程是针对低词频的词或特征词项对与其临近的单字具有更大的结合度(单字优先与临近的低词频的词或特征词项复合)的情况。特征词项越具体,越难以被分词程序识别,会被分成连续的单字,即使分词程序可以将特征词项的某部分识别,其词频也会非常低,故低词频的词或特征词项更应该与其临近的单字复合。
第七计算过程的具体实现步骤包括:对于候选命名实体中的单字,分别考察其左边的词或特征词项和右边的词或特征词项在词典中的词频,若左边的词或特征词项的词频小于右边的词或特征词项的词频或词典中只有右边的词或特征词项,则增加单字的左权重;若右边的词或特征词项的词频小于左边的词或特征词项的词频或词典中只有左边的词或特征词项,则增加单字的右权重。
第七计算过程的形式定义和计算如下:
例如,cNE=“南京/ns 义/ng 联益/nz 实业/n 有限公司/n”,ch=“义”,fq(diction(left_word(ch)))=fq(diction(“南京”))=8,fq(diction(Ieft_word(ch)))=fq(diction(“联益”))=2,f7(“义”,“南京/ns 义/ng 联益/nz 实业/n 有限公司/n”)=w(weight_right)。
第八计算过程:第八计算过程针对某些词或特征词项在词典中的各个特征词项中的位置基本固定的情况。
第八计算过程的具体实现步骤包括:首先对候选命名实体中某个单字左边的词或特征词项,将词典中所有以此词或特征词项开头的各个特征词项的词频相加得m;对于其右面的词或特征词项,将词典中所有以此词或特征词项结尾的各个特征词项的词频相加得n。若m>n,增加单字的左权重;反之,则增加单字的右权重。
某些词或特征词项在包含其的特征词项中出现的位置比较固定,出现在结尾的次数和出现在开头的次数悬殊较大,例如,“北京”多出现在特征词项的开头位置,“茶庄”多出现在特征词项的结尾位置。
第八计算过程的形式定义和计算如下:
例如,cNE=“白/d 下/v 区/n 人民政府/l 朝/p 天宫/n 办事处/n”,ch=“朝”,left_word(ch)=“人民政府”,Is_Head(left_word(ch))=0,right_word(ch)=“天宫”,Is_Tail(right_word(ch))=1,Is_Tail(right_word(ch))>Is_Head(left_word(ch)),f8(“朝”,“白/d 下/v 区/n 人民政府/l 朝/p 天宫/n 办事处/n”)=w(weight_right)。
第九计算过程:第九计算过程针对位于词境词典中的高频词或高频特征词项具有更大结合度的情况。
第九计算过程的具体实现包括:对于候选命名实体中的某个单字,记其左面的词或特征词项为A,右面的词或特征词项为B,在词境词典中,寻找此单字对应的条目,若A的词频大于B的词频,则增加单字的左权重;反之,增加单字的右权重。
词境词典存储某个单字出现的环境,即记录某个单字出现时,其两侧出现的词或特征词项。若不同的特征词项包含相同的更小的特征词项,且此更小的特征词项不能被分词程序识别,它会被分词程序切割成相同的字符串。则此时对于更小的特征词项中被切出的单字,其一侧的词在词境词典中的词频会远远大于另一侧的词。
第九计算过程形式定义和计算如下:
例如:cNE=“白马/nr 镇/n 人民政府/l”,ch=“镇”,left_word(ch)=“白马”,fq(word_diction(ch))=fq(word_diction(“白马”))=2,right_word(ch)=“人民政府”,fq(word_diction(ch))=fq(word_diction(“人民政府”))=1,f9(“镇”,“白马/nr 镇/n 人民政府/l”)=w(weight_left)。
第十计算过程:第十计算过程针对特征词项的词频与其包含词的词频比率越大,特征词项结合度越大的情况。特征词项具有一定的封闭性,故特征词项的词频与其包含词的词频比率越大,特征词项结合度越大,此特征词项越可能正确。
第十计算过程包括对特征词项开头的修正以及对特征词项结尾的修正。
修正特征词项开头的过程包括:记特征词项为特征词项1,再将特征词项1左边的字与特征词项分开,变成单字。使候选命名实体成为包含单字的候选命名实体。令单字右边的词或特征词项在词典中的词频为m,将单字与其左边的词或特征词项复合形成特征词项2。特征词项1在词典中的词频为n,记h1=n/m,若复合前单字右边的词或特征词项在词典中不存在,则令h1=0;令复合前单字左边的词或特征词项在词典中的词频为x,所述第二特征词项在词典中的词频为y,记h2=y/x,若复合前单字左边的词或特征词项在词典中不存在,则令h2=0;若h1>h2,增加单字的左权重;反之,增加单字的右权重。
修正特征词项结尾的过程包括:记特征词项为特征词项1,再将特征词项1右边的字与特征词项分开,变成单字。使候选命名实体成为包含单字的候选命名实体。令单字左边的词或特征词项在词典中的词频为m,将单字与其右边的词或特征词项复合形成特征词项2。特征词项1在词典中的词频为n,记h1=n/m,若复合前单字左边的词或特征词项在词典中不存在,则令h1=0;令复合前单字右边的词或特征词项在词典中的词频为x,所述第二特征词项在词典中的词频为y,记h2=y/x,若复合前单字右边的词或特征词项在词典中不存在,则令h2=0;若h1>h2,增加单字的左权重;反之,增加单字的右权重。
第十计算过程的形式定义:
例如,cNE=“白马/nr 镇白龙村/~ 村民/n 委员会/n”,ch=“镇”,left_word(ch)=“白马”,Form(left_word(ch),ch)=“白马镇”,left_ratio(Form(left_word(ch),ch),left_word(ch))=left_ratio(“白马镇”,“白马”)=0.2,right_word(ch)=“白龙村”,Form(ch,right_word(ch))=“镇白龙村”,right_ratio(Form(ch,right_word(ch)),righy_word(ch))=right_ratio(“镇白龙村”,“白龙村”)=0。f10(“镇”,“白马/nr 镇白龙村/~ 村民/n 委员会/n”)=w(weight_left)。
由于分词程序存在交集歧义,故会错误地切分命名实体,而分词的错误会导致最终获取错误的特征词项,所以在本计算过程中需要对候选命名实体中的词进行修正,如:“海装上/~ 海军/n 代局/~ 南京/ns 招待所/n,,中的“海军”。此外,在第一计算过程会错误的合并连续单字,如“白马/nr 镇上/n 洋村/~ 村民/n 委员会/n”中的“洋村”。将候选命名实体中所有两个字的词或特征词项拆成两个单字,根据左右词对于相邻单字的结合度,重新判定此词或特征词项是否正确的被分词。
在下述的第十一计算过程、第十二计算过程和第十三计算过程的实现过程中都采用了以下公式:
left_unit_word=Form(left_word(Left(Split(word))),Left(Split(word)))
right_unit_word=Form(Right(Split(word)),right_word(Right(Split(word))))
其中,left_unit_word表示将候选命名实体中两个字的词拆开后,左边的单字与其左边的词复合形成的新的特征词项;
right_unit_word表示将候选命名实体中两个字的词拆开后,右边的单字与其右边的词复合形成的新的特征词项。
第十一计算过程:若一个词被拆分成两个单字,且两个单字分别与其左词和右词形成的两个特征词项均在词典中存在,则此词应被拆分,且形成两个特征词项。
第十一计算过程的具体实现步骤包括:将候选命名实体中的只包含有两个字的词和特征词项拆成两个单字,将左边的单字与其左边的词或特征词项复合,形成特征词项1;将右边的单字与其右边的词或特征词项复合,形成特征词项2;若特征词项1与特征词项2在词典中都存在,则将原来的候选命名实体变成拆分后的状态;若有一个在词典中不存在,则将候选命名实体恢复到拆分前的状态。
第十一计算过程的形式定义:
例如:cNE=“南京/ns 下关/ns 区热/~ 河南路/~ 办事处/n”,word=“区热”,Left(Split(word))=Left(“区”,“热”)=“区”,left_word(Left(Split(word)))=left_word(“区”)=“下关”,Form(left_word(Left(Split(word))),Left(Split(word)))=Form(“区”,“下关”)=“下关区”=left_unit_word,Right(Split(word))=Right(“区”,“热”)=“热”,right_word(Right(Split(word)))=righr_word(“热”)=“河南路”,Form(right_word(Right(Split(word))),Right(Split(word)))=Form(“热”,“河南路”)=“热河南路”=right_unit_word,“热河南路”,“下关区”均在词典中存在,f12(word,cNE)=f12(“区热”,“南京/ns 下关/ns 区热/~ 河南路/~ 办事处/n)=1
第十二计算过程是指:若一个词或特征项词被拆分成两个单字,两个单字分别与其左边的词或特征词项和右边的词或特征词项形成两个新的特征词项,若左边新形成的特征词项不存在于词典中,而右边新形成特征词项在词典中词频大于阈值且新形成的特征词项的长度大于阈值,则此词应被拆分,且在右边形成特征词项,反之亦然。
第十二计算过程的具体实现步骤包括:将候选命名实体中的两个字的词和特征词项,拆成两个单字,将左边的单字与其左边的词或特征词项复合,形成特征词项1;将右边的单字与其右边的词或特征词项复合,形成特征词项2;若特征词项1在词典中不存在,且特征词项2在词典中存在,并特征词项2的词频与长度大于分别设定的阈值,或者特征词项2在词典中不存在,且特征词项1在词典中存在,并特征词项1的词频与长度分别大于设定的阈值,则将原来的候选命名实体变成拆分后的状态;若不满足上述两种情况,则将候选命名实体恢复拆分前的状态。
第十二计算过程的形式定义:
例如:cNE=“白马/nr 镇上/n 洋村/~ 村民/n 委员会/n”,word=“镇上”,left_word(“镇上”)=“白马”,Form(“白马”,“镇”)=“白马镇”,“白马镇”在词典中存在,而“上洋村”不存在,Length(“白马镇”)=6,fq(diction(白马镇))>threshold。所以f13(“镇上”,“白马/nr 镇上/n 洋村/~ 村民/n 委员会/n”)=“白马镇/~ 上洋村/~ 村民/n 委员会/n”。
第十三计算过程:若一个词或特征词项被拆分成两个单字,两个单字分别与其左边的词或特征词项和右边的词或特征词项形成两个特征词项,新生成的两个特征词项在词典中均不存在,若左边新形成的特征词项的结尾的词在词典中存在,且词频大于阈值,则此词应被拆分,且在左边形成特征词项,若右边新形成的特征词项的开头的词在词典中存在,且词频大于阈值,则此词应被拆分,且在右边形成特征词项。
第十三计算过程的具体实现步骤包括:将候选命名实体中的两个字的词和特征词项,拆成两个单字,将左边的单字与其左边的词或特征词项复合,形成特征词项1;将右边的单字与其右边的词或特征词项复合,形成特征词项2。若特征词项1和特征词项2在词典中都不存在,而特征词项1的结尾为词典中的词,且词频大于设定的阈值,或者特征词项2的开头在词典中存在,且词频大于设定的阈值,则将原来的候选命名实体变成拆分后的状态;若不满足上述两种情况,则将候选命名试题恢复拆分前的状态。
第十三计算过程的形式定义:
例如:cNE=“海装上/~ 海军/n 代局/~ 南京/ns 招待所/n”,word=“海军”,right_unit_word=“军代局”,left_unit_word=“海装上海”,均不存在于词典中。Tail(“海装上海”)=“上海”,且fq(diction(“上海”))=3>threshold。
上述第十二计算过程和第十三计算过程中所提到的阈值的大小可根据命名实体的数量而定。
在对各个计算过程以及计算过程中所使用的符号进行说明的基础上,参考图2,对本发明的方法进行详细说明。
步骤10、输入待识别的命名实体;
在本实施例中,假设所输入的待识别命名实体如下:
南京市白下区长清牛羊肉经营部;白马镇白龙村村民委员会;海装上海军代局南京招待所;白马镇人民政府;白马镇中心幼儿园;朝天宫派出所;鸿兴隆大酒楼有限公司;白下区人民政府朝天宫办事处;栖霞区教育局;柏克斯电热器具制造厂;南京卫生器具厂;南京义联益实业有限公司;白马镇上洋村村民委员会;六合区教育局;白下区朝天宫街道张府园社区居民委员会;热河南路幼儿园;南京下关区热河南路办事处;上海饭店;上海浦东发展银行;上海人民电缆厂;下关区民政局。
在后续的操作中,将对上述待命名实体是如何完成特征词项识别的过程进行说明。
步骤20、对待识别的命名实体进行分词操作,得到候选命名实体;在本步骤中,分词操作是指在中文句子中,由于词与词之间不像西文那样具有天然的分隔,而对句子所做的词语分割操作。由于分词操作是本领域普通技术人员所公知的现有技术,因此,在本步骤中,对分词操作的具体实现不做详细说明,在具体实现时,可采用例如中国科学院ICTCLAS分词系统,Abot汉语分词系统和第三代智能分词系统3GWS等多种分词系统中的任何一种分词系统。在本实施例中,选用了中国科学院ICTCLAS分词系统。
对于候选命名实体中的每个分割段,若其包含一个汉字则将其称为单字;若其包含两个汉字以上(包括两个汉字)称为词。故分词后所得到的候选命名实体由单字和词组成,步骤10所输入的命名实体在分词操作后的结果如下:
南京市白下区长清牛羊肉经营部==>南京市/ns 白/d 下/v 区长/n 清/tg 牛羊肉/n 经营/vn 部/n;
白马镇白龙村村民委员会==>白马/nr 镇/n 白/a 龙/n 村/n村民/n 委员会/n;
海装上海军代局南京招待所==>海/n 装/v 上/f 海军/n 代/q局/n 南京/ns 招待所/n;
白马镇人民政府==>白马/nr 镇/n 人民政府/l;
白马镇中心幼儿园==>白马/nr 镇/n 中心/n 幼儿园/n;
朝天宫派出所==>朝/p 天宫/n 派出所/n;
鸿兴隆大酒楼有限公司==>鸿/ag 兴隆/a 大/a 酒楼/n 有限公司/n;
白下区人民政府朝天宫办事处==>白/d 下/v 区/n 人民政府/l朝/p 天宫/n 办事处/n;
栖霞区教育局==>栖/vg 霞/ng 区/n 教育局/n;
柏克斯电热器具制造厂==>柏/ng 克/v 斯/rg 电热器/n 具/vg 制造厂/n;
南京卫生器具厂==>南京/ns 卫生/an 器具/n 厂/n;
南京义联益实业有限公司==>南京/ns 义/ng 联益/nz 实业/n 有限公司/n;
白马镇上洋村村民委员会==>白马/nr 镇上/n 洋/ag 村/n 村民/n委员会/n;
六合区教育局==>六合/ns 区/n 教育局/n;
白下区朝天宫街道张府园社区居民委员会==>白/d 下/v 区/n 朝/tg 天宫/n 街道/n 张/q 府/ng 园/ng 社区/n 居民/n 委员会/n;
热河南路幼儿园==>热/a 河南/ns 路/n 幼儿园/n;
南京下关区热河南路办事处==>南京/ns 下关/ns 区/n 热/a 河南/ns 路/n 办事处/n;
上海饭店==>上海/ns 饭店/n;
上海浦东发展银行==>上海/ns 浦东/ns 发展/vn 银行/n;
上海人民电缆厂==>上海/ns 人民/n 电缆/n 厂/n;
下关区民政局==>下关/ns 区/n 民政局/n。
其中,符号”==>”表示每个命名实体分词后的结果。分词结果中的ns,j,n,f,v,nr等标注是分词系统自带的,表示每个字或词的词性。其中,a表示形容词,ag表示形素词,an表示名形词,d表示副词,f表示方位词,l表示习用语,n表示名词,ng表示名语素,nr表示人名,ns表示地名,nz表示其它专名,n表示名词,p表示介词,q表示量词,rg表示代词性语素,tg表示时语素,v表示动词,vg表示动语素,vn表示名动词。
步骤30、对候选命名实体进行初步处理,得到一个结果,该结果被称为第一计算结果;
在本步骤中,所述的初步处理是指将候选命名实体中的连续单字进行复合操作,这一操作过程可用第一计算过程表示。
步骤10所输入的实例在经过第一计算过程后得到如下结果:
f1(南京市/ns 白/d 下/v 区长/n 清/tg 牛羊肉/n 经营/vn部/n)=南京市/ns 白下/~区长/n 清/tg 牛羊肉/n 经营部/~;
f1(白马/nr 镇/n 白/a 龙/n 村/n 村民/n 委员会/n)=白马/nr 镇白龙村/~ 村民/n 委员会/n;
f1(海/n 装/v 上/f 海军/n 代/q 局/n 南京/ns 招待所/n)=海装上/~ 海军/n 代局/~ 南京/ns 招待所/n;
f1(白马/nr 镇/n 人民政府/l)=白马/nr 镇/n 人民政府/l;
f1(白马/nr 镇/n 中心/n 幼儿园/n)=白马/nr 镇/n 中心/n 幼儿园/n;
f1(朝/p 天宫/n 派出所/n)=朝天宫/~ 派出所/n;
f1(鸿/ag 兴隆/a 大/a 酒楼/n 有限公司/n)=鸿兴隆/~ 大/a酒楼/n 有限公司/n;
f1(白/d 下/v 区/n 人民政府/l 朝/p 天宫/n 办事处/n)=白下区/~ 人民政府/l 朝/p 天宫/n 办事处/n;
f1(栖/vg 霞/ng 区/n 教育局/n)=栖霞区/~ 教育局/n;
f1(柏/ng 克/v 斯/rg 电热器/n 具/vg 制造厂/n)=柏克斯/~电热器/n 具/vg 制造厂/n;
f1(南京/ns 卫生/an 器具/n 厂/n)=南京/ns 卫生/an 器具厂/~;
f1(白马/nr 镇上/n 洋/ag 村/n 村民/n 委员会/n)=白马/nr 镇上/n 洋村/~ 村民/n 委员会/n;
f1(六合/ns 区/n 教育局/n)=六合/ns 区/n 教育局/n;
f1(白/d 下/v 区/n 朝/tg 天宫/n 街道/n 张/q 府/ng 园/ng社区/n 居民/n 委员会/n)=白下区朝/~ 天宫/n 街道/n 张府园/~社区/n 居民/n 委员会/n;
f1(热/a 河南/ns 路/n 幼儿园/n)=热河南/~ 路/n 幼儿园/n;
f1(南京/ns 下关/ns 区/n 热/a 河南/ns 路/n 办事处/n)=南京/ns 下关/ns 区热/~ 河南/ns 路/n 办事处/n;
f1(上海/ns 饭店/n)=上海/ns 饭店/n;
f1(上海/ns 浦东/ns 发展/vn 银行/n)=上海/ns 浦东/ns 发展/vn银行/n;
f1(上海/ns 人民/n 电缆/n 厂/n)=上海/ns 人民/n 电缆厂/~;
f1(下关/ns 区/n 民政局/n)=下关/ns 区/n 民政局/n。
经过第一计算过程后,分词后的命名实体中,单字只会出现在两个词中间。规定第一计算结果及其以后所有计算结果中的每个分隔段,若其包含一个汉字则仍将其称为单字。若包含两个汉字以上(包括两个汉字)且标记为~的,则将其称为特征词项,否则仍称其为词。
步骤40、根据分词后的结果和所得到的第一计算结果建立词典,根据第一计算结果建立词境词典,并将词典和词境词典合称为词典库。
本步骤中,所建立的词典中包含有词和特征词项以及与词和特征词项对应的词频。建立词典的过程为:将命名实体的分词结果中的词和第一计算结果中的特征词项放入词典中,若词典没有此词或特征词项,则将此词或特征词项的词频设为1;若词典中有此词或特征词项,则将此词或特征词项的词频加1。
根据本实施例中的具体实例,可建立一个相应的词典,该词典中的内容为:
南京市2; 区长2; 牛羊肉2;经营1; 白马8; 村民4;
委员会6; 海军2; 南京8; 招待所2;人民政府4;中心2;
幼儿园4; 天宫4; 派出所2;兴隆1; 酒楼2; 有限公司4;
办事处4; 教育局4;电热器2;制造厂2;卫生2; 器具1;
联益2; 实业2; 镇上2; 六合2; 街道2; 社区2;
居民2; 河南3; 下关4; 河西2; 居委会2; 上海6;
饭店2; 浦东2; 发展2; 银行2; 人民2; 电缆1;
白下1; 经营部1; 镇白龙村1;海装上1; 代局1;
朝天宫1; 鸿兴隆1; 白下区1; 栖霞区1; 柏克斯1;
器具厂1; 洋村1; 白下区朝1;张府园1; 热河南1;
区热1; 电缆厂1; 民政局2。
在本步骤中,所建立的词境词典记录了每个单字左右出现的词或特征词项,以及这些词或特征词项的词频。建立词境词典的过程是把每一个命名实体的第一计算结果中的单字放入词境词典,并以单字为索引建立索引词典,索引词典中包含单字在每个候选命名实体中左右的词或特征词项的词频。
根据本实施例中所提及的上述实例,可建立一个相应的词境词典,该词境词典的具体内容为:
清 区长1、 牛羊肉1;
镇 白马2、 人民政府1、中心1;
大 鸿兴隆1、酒楼1;
朝 天宫1、 人民政府1;
具 电热器1、制造厂1;
义 南京1、 联益1;
区 六合1、 教育局1、 下关1、 民政局1;
路 热河南1、幼儿园1、 河南1、 办事处1。
步骤50、参考词典库,对第一计算结果做复合处理,从而得到第二计算结果。
在本步骤中,所述的复合处理是包括第二计算过程、第三计算过程、第四计算过程、第五计算过程、第六计算过程、第七计算过程、第八计算过程和第九计算过程在内的处理过程,在复合处理过程中,候选命名实体要分别完成上述的计算过程,运行每一个计算过程都会对候选命名实体中的每个单字得到一个左权重值(单字向左复合的权重)或右权重值(单字向右复合的权重)或左右复合权重值(单字同时与左右复合的权重),将每个单字在上述处理过程中所得到的所有左权重值相加,所有右权重值相加,所有左右复合权重值相加。最后,判断该单字的左右复合权重值的和是否大于0,若大于0,则认为复合处理的结果为左右复合权重值的和,若左右复合权重值的和为0,则复合处理的结果为左权重和与右权重和中值较大的一个。所得到的复合处理的结果就是所述的第二计算结果。
对复合处理中所涉及的各个计算过程已经在上文中做了相关的说明,此处不再进行详细说明。
步骤60、根据第二计算结果,对词典库中的词典进行扩充;
在本步骤中,对词典的扩充是要遍历第二计算结果的输入串中所有的特征词项和词,若所述的特征词项或词存在,则将词频加1,否则将此特征词项或词放入词典中,并将词频设为1。
前述步骤40中所得到的词典经过扩充后的结果为:
南京市3; 区长2; 牛羊肉3; 经营1; 白马10; 村民6;
委员会9; 海军3; 南京12; 招待所3;人民政府6;中心3;
幼儿园6; 天宫5; 派出所3; 兴隆1; 酒楼2; 有限公司5;
办事处3; 教育局6; 电热器2; 制造厂3;卫生3; 器具1;
联益2; 实业3; 镇上3; 六合2; 街道3; 社区3;
居民3; 河南4; 下关5; 居委会2;上海9; 饭店3;
浦东3; 发展3; 银行3; 人民3; 电缆1; 白下2;
经营部2; 镇白龙村2;海装上2; 代局2; 朝天宫3;
鸿兴隆2; 白下区2; 栖霞区2; 柏克斯2;器具厂2;
洋村2; 白下区朝2;张府园2; 热河南1;区热2;
电缆厂2; 区长清1; 白马镇2; 大酒楼1;电热器具1;
义联益1; 六合区1; 热河南路1;下关区1;民政局1;
河南路1。
步骤70、以扩充后的词典库为参考,对第一计算结果再次执行复合处理,得到第三计算结果,然后根据第三计算结果扩充词典库中的词典。
在本步骤中,所涉及的复合处理与步骤50中所涉及的复合处理相同,所涉及的扩充词典操作与步骤60中的操作相同,因此不再进行详细说明。
步骤80、以扩充后的词典库为参考,对第一计算结果进行修正处理,.更正第一计算结果中错误的特征词项或词,从而得到第四计算结果。
对第一计算结果的修正处理包括对特征词项的修正和对词的修正。
对特征词项的修正是对第一计算结果中的长度大于2个字的特征词项采用包括第五计算过程、第六计算过程、第七计算过程、第九计算过程和第十计算过程在内的复合处理操作,选择最优解。在复合处理过程中,候选命名实体要分别完成上述的计算过程,运行每一个计算过程都会对候选命名实体中的每个单字得到一个左权重值(单字向左复合的权重)或右权重值(单字向右复合的权重)或左右复合权重值(单字同时与左右复合的权重),将每个单字在上述处理过程中所得到的所有左权重值相加,所有右权重值相加,所有左右复合权重值相加。最后,判断该单字的左右复合权重值的和是否大于0,若大于0,则认为复合处理的结果为左右复合权重值的和,若左右复合权重值的和为0,则复合处理的结果为左权重和与右权重和中值较大的一个。所得到的复合处理的结果就是所述的第二计算结果。
对词的修正是对第一结果中的两个字的词或长度等于两个字的特征词项采用包括第十一计算过程、第十二计算过程和第十三计算过程在内的复合处理操作,选择最优解。该复合处理操作的过程与前述的复合处理过程相类似。
步骤90、根据所得到的第四计算结果,扩充词典库中的词典。
对词典库扩充操作的实现在前文中已经有相应的说明,在本步骤中不再重复描述,只对本实施例中的具体实例在经过本步骤后的结果进行说明。
本实施例中的具体实例经过本步骤后的结果分别为:
南京市5; 区长2; 牛羊肉5; 经营1; 白马12; 村民9;
委员会14; 海军4; 南京18; 招待所5;人民政府10;中心5;
幼儿园10; 天宫6; 派出所5; 兴隆1; 酒楼2; 有限公司7;
办事处7; 教育局10; 电热器2; 制造厂5;卫生5;
联益2; 实业3; 镇上4; 六合2; 街道5; 社区5;
居民5; 河南4; 下关6; 居委会2;饭店5; 浦东5;
上海15; 发展5; 银行5; 人民5; 电缆1; 白下3;
经营部4; 镇白龙村3;海装上3; 代局3; 朝天宫8;
鸿兴隆4; 白下区6; 栖霞区4; 柏克斯4;器具厂4;
洋村3; 白下区朝3;张府园4; 热河南1;区热3;
电缆厂4; 区长清2;白马镇7; 大酒楼3; 电热器具3;
义联益1; 六合区3;热河南路4;下关区4; 民政局3;
河南路2; 长清1; 白龙村1; 海装上海1;军代局1。
步骤100、以步骤90所扩充的词典为参考,对第四计算结果再次进行复合处理,选取最优解,得到第五计算结果。在本步骤中,所述的复合处理与步骤50中所涉及的复合处理过程相同,在本步骤中不再对其具体实现加以说明。
步骤110、根据第五计算结果对词典库中的词典进行扩充,再对第五计算结果再次执行复合处理,选取最优解,得到第六计算结果。各个命名实体的第六计算结果中的每个分隔片段,即词或特征词项,就是本发明方法所要求取的命名实体的特征词项。
前述实例在完成本步骤后的结果如下:
南京市/ns 白/d 下/v 区长/n 清/tg 牛羊肉/n 经营/vn 部/n==>南京市/ns 白下区/~ 长清/~ 牛羊肉/n 经营部/~;
白马/nr 镇/n 白/a 龙/n 村/n 村民/n 委员会/n==>白马镇/~ 白龙村/~ 村民/n 委员会/n;
海/n 装/v 上/f 海军/n 代/q 局/n 南京/ns 招待所/n==>海装上海/~ 军代局/~ 南京/ns 招待所/n;
白马/nr 镇/n 人民政府/l==>白马镇/~ 人民政府/l;
白马/nr 镇/n 中心/n 幼儿园/n==>白马镇/~ 中心/n 幼儿园/n;
朝/p 天宫/n 派出所/n==>朝天宫/~ 派出所/n;
鸿/ag 兴隆/a 大/a 酒楼/n 有限公司/n==>鸿兴隆/~ 大酒楼/~ 有限公司/n;
白/d 下/v 区/n 人民政府/l 朝/p 天宫/n 办事处/n==>白下区/~ 人民政府/l 朝天宫/~ 办事处/n;
栖/vg 霞/ng 区/n 教育局/n==>栖霞区/~ 教育局/n;
柏/ng 克/v 斯/rg 电热器/n 具/vg 制造厂/n==>柏克斯/~电热器具/~ 制造厂/n;
南京/ns 卫生/an 器具/n 厂/n==>南京/ns 卫生/an 器具厂/~;
南京/ns 义/ng 联益/nz 实业/n 有限公司/n==>南京/ns 义联益/~ 实业/n 有限公司/n;
白马/nr 镇上/n 洋/ag 村/n 村民/n 委员会/n==>白马镇/~上洋村/~ 村民/n 委员会/n;
六合/ns 区/n 教育局/n==>六合区/~ 教育局/n;
白/d 下/v 区/n 朝/tg 天宫/n 街道/n 张/q 府/ng 园/ng社区/n 居民/n 委员会/n==>白下区/~ 朝天宫/~ 街道/n 张府园/~ 社区/n 居民/n 委员会/n;
热/a 河南/ns 路/n 幼儿园/n==>热河南路/~ 幼儿园/n;
南京/ns 下关/ns 区/n 热/a 河南/ns 路/n 办事处/n==>南京/ns 下关区/~ 热河南路/~ 办事处/n;
上海/ns 饭店/n==>上海/ns 饭店/n;
上海/ns 浦东/ns 发展/vn 银行/n==>上海/ns 浦东/ns 发展/vn 银行/n;
上海/ns 人民/n 电缆/n 厂/n==>上海/ns 人民/n 电缆厂/~;
下关/n s 区/n 民政局/n==>下关区/~ 民政局/n。
上述实例所得到的特征词项识别结果如下:
南京市下区长清牛羊肉经营部:南京市,白下区,长清,牛羊肉,经营部;
白马镇白龙村村民委员会:白马镇,白龙村,村民,委员会;
海装上海军代局南京招待所:海装上海,军代局,南京,招待所;
白马镇人民政府:白马镇,人民政府;
白马镇中心幼儿园:白马镇,中心,幼儿园;
朝天宫派出所:朝天宫,派出所;
鸿兴隆大酒楼有限公司:鸿兴隆,大酒楼,有限公司;
白下区人民政府朝天宫办事处:白下区,人民政府,朝天宫,办事处;
栖霞区教育局:栖霞区,教育局;
柏克斯电热器具制造厂:柏克斯,电热器具,制造厂;
南京卫生器具厂:南京,卫生,器具厂;
南京义联益实业有限公司:南京,义联益,实业,有限公司;
白马镇上洋村村民委员会:白马镇,上洋村,村民,委员会;
六合区教育局:六合区,教育局;
白下区朝天宫街道张府园社区居民委员会:白下区,朝天宫,街道,张府园,社区,居民,委员会;
热河南路幼儿园:热河南路,幼儿园;
南京下关区热河南路办事处:南京,下关区,热河南路,办事处;
上海饭店:上海,饭店;
上海浦东发展银行:上海,浦东,发展,银行;
上海人民电缆厂:上海,人民,电缆厂;
下关区民政局:下关区,民政局。
本发明除了上述特征词项识别方法外,还提供了一种与上述的特征词项识别方法相对应的特征词项识别系统,它包括分词模块、初步处理模块、词典、词境词典和复合处理模块;其中,
分词模块用于对待识别的命名实体进行分词操作,得到候选命名实体;
初步处理模块对候选命名实体进行初步处理,得到第一计算结果;
所述的词典中包含有词和特征词项,以及与词和特征词项对应的词频;
所述的词境词典记录了每个单字左右出现的词或特征词项,以及这些词或特征词项的词频;
复合处理模块对第一计算结果做复合处理。
本发明的特征词项识别系统还包括修正模块,该修正模块对复合处理模块得到的处理结果进行修正,更正错误的词或特征词项。
如图1所示,待识别的命名实体通过特征词识别系统的识别可得到所要识别的特征词项。特征词项识别系统中各个模块的工作过程在前述对特征词性的识别方法中已经有详细的说明,在此不再做重复说明。
本发明的特征词项识别方法和识别系统具有良好的识别效果。申请人针对中国的机构名、城市名、地区名等命名实体做了大量实验,总共选取了80002个命名实体进行特征词项的识别,识别正确率高达99.3%。
本发明还可实现对命名实体进行合适认知粒度的概念划分。人在对某个命名实体进行理解时,首先会将其断成几部分,然后从最易理解的部分入手,最终理解命名实体代表的意思。如命名实体:“精瑞达灯饰制造公司”,人在对其进行理解时,会将其自然断成几部分:“精瑞达”“灯饰”“制造”“公司”,首先找到其中最易理解的,“公司”知道这个命名实体表述的是一个机构;“制造”表示此公司是生产某样东西的;“灯饰”,表明这个公司是生产灯饰的;“精瑞达”,可能是不熟悉,但根据前面的理解,人们会知道这个是指公司的名称。至此用户可以完全理解这个命名实体表示的意思。分词不能将这个命名实体很好的拆分(分词会将命名实体断成“精/瑞/达 灯饰/制造/公司/”),本系统可以将每个命名实体很好的拆分成用户所需要的几部分(精瑞达/~ 灯饰/n 制造/v 公司/n)。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
机译: 利用命名实体候选格中的最优路径的中文字符串中命名实体识别的方法和装置
机译: 中文命名实体识别方法,设备和计算机可读存储介质
机译: 中文令牌化和命名实体识别系统