具体实施方式
本发明实施例为了有效的提高姓名校对的效率,及姓名校对的准确性,提供了一种自动校对姓名的方法,该方法包括:校对姓名装置根据设置的姓氏词库,在待校对的文章中进行匹配,获取每个包含姓氏的候选姓名;统计每个候选姓名中每个字出现的频率,提取每个真实姓名;根据提取的每个真实姓名及待校对的文章的长度,确定每个目标真实姓名;采用确定的每个目标真实姓名,对该待校对的文章中的姓名进行校对。在本发明实施例中校对姓名装置通过姓氏词库在待校对的文章中确定包含目标真实姓名的候选姓名,从而节省了定义每个姓名及姓名变型的繁琐工作,提高了姓名校对的效率,并且由于校对姓名装置根据待校对文章中的每个真实姓名,确定目标真实姓名,从而提高了姓名校对的准确率。
下面结合说明书附图,对本发明实施例进行详细说明。
图2为本发明实施例提供的自动校对姓名的过程,该过程包括以下步骤:
S201:校对姓名装置根据设置的姓氏词库,在待校对的文章中进行匹配,获取每个包含姓氏的候选姓名。
在本发明实施例确定候选姓名时,校对姓名装置需要根据设置的姓名的长度确定,在待校对的文章中进行匹配,获取对应姓名长度的每个包含姓氏的候选姓名。
S202:统计每个候选姓名中每个字出现的频率,提取每个真实姓名。
由于候选姓名中只有真实姓名才会频繁出现,其他的干扰字段出现的频率相对来说较低,因此校对姓名装置通过统计每个候选姓名中每个字出现的频率,可以在候选姓名中提取出真实姓名。
S203:根据提取的每个真实姓名,及该待校对的文章的长度,确定每个目标真实姓名。
由于不同长度的文章中其可能包含的姓名的频率是不同的,因此根据待校对文章的长度可以将满足条件的真实姓名确定为目标真实姓名。
S204:采用该确定的每个目标真实姓名,对该待校对的文章中的姓名进行校对。
根据确定的每个目标真实姓名对待校对的文章中的姓名进行校对的具体过程包括:查找待校对的文章中出现的每个姓氏,并在每个目标真实姓名中查找所述姓氏对应的每个目标真实姓名,采用查找的每个目标真实姓名对包含该姓氏的姓名进行校对。
在本发明实施例中通过编辑姓氏词库,根据姓氏词库中的姓氏,校对姓名装置在待校对的文章中进行匹配,获取待校对的文章中出现频率较高的至少一个目标真实姓名,根据获取的每个目标真实姓名对待校对的文章中的姓名进行校对,确定待校对的文章中是否存在不一致的姓名。
通过对姓氏词库的管理,可以增加、删除或修改姓氏词库中的姓氏,因此可以将姓氏词库不断的完善,使其可以校对任何的姓名。在本发明实施例中可以根据常见的姓氏,例如百家姓,对姓氏词库进行添加。表1为对姓氏词库的定义。
表1
在本发明实施例中校对姓名装置根据设置的姓名的长度,确定每个候选姓名的过程包括:将以姓氏开始、且连续的、长度不大于该设置的姓名长度的每个字符串确定为包含姓氏的候选姓名,或为了提高姓名校对的效率,将以姓氏开始的对应该设置的姓名长度的字符串确定为包含该姓氏的候选姓名。
例如设置的姓名的长度为5,当待校对的文章中包含姓氏时,则以姓氏为第一个字,姓氏之后的四个字分别为第二个字、第三个字、第四个字和第五个字,则在确定姓氏开始、且连续的、长度不大于该设置的姓名长度的每个字符串时,由于设置的姓名的长度为5,则将第一个字和第二个字构成的字符串作为一个候选姓名,将第一个字、第二个字和第三个字构成的字符串作为一个候选姓名,将第一个字、第二个字、第三个字和第四个字构成的字符串作为一个候选姓名,将第一个字、第二个字、第三个字、第四个字和第五个字构成的字符串作为一个候选姓名。
在本发明实施中通过姓氏词库对待校对的文章进行分析,获取与每个姓氏对应的姓名。由于待校对的文章中可能包括多个不同的姓名,并且同一姓名在待校对的文章中有不同的变形形式。因此在本发明实施例中通过姓氏词库,对待校对的文章进行扫描,确定待校对的文章中出现的姓氏,并且由于一般的姓名最多为五个字,例如为复姓并且名字部分为三个字,则其姓名一共为五个字,因此,可以认为以姓氏为第一个字或前两个字,以姓氏后第一字为开始字到第三个字都可能为其名字。在本发明实施例中校对姓名装置根据姓氏词库在待校对的文章进行匹配时,首先校对姓名装置确定待校对的文章中存在的姓氏,根据该存在的姓氏及设置的姓名的长度,获取待校对的文章中候选姓名。
针对单姓和复姓在待校对文章中进行匹配时,可以将单姓和复姓对应的姓名的长度设置为不同值,例如当为单姓时,可以设置姓名的长度为四个字,当为复姓时,可以设置姓名的长度为五个字。当然单姓和复姓对应的姓名的长度也可以设定为相同的值,例如都为五个字,其中该设置的姓名长度的值以能够包括整个姓名为最佳,一般该设置的姓名的长度不小于五个字,当设置的姓名的长度较长时,获得了待校对的文章中的候选姓名后,该候选姓名中一定包括真实姓名,但从该候选姓名中确定真实姓名的过程会较繁琐,所以在具体的实施过程中,可以根据需要灵活的设置姓名的长度。
由于获取的候选姓名中包括真实姓名,以及干扰字段,需要将候选姓名中的真实姓名提取出来。并且由于在每个候选姓名中都可能包括对应的一个真实姓名,而干扰的字段一般都不相同,因此可知真实姓名的出现频率较相同的干扰字段出现的频率高。在本发明实施例中校对姓名装置可以统计候选姓名中每个字出现的频率,确定每个候选姓名中的真实姓名。由于候选姓名是校对姓名装置根据姓氏词库,在待校对的文章中进行匹配时,获取包括姓氏的且连续的几个字作为候选姓名,因此一般情况下,每个候选姓名中应该都包括一个真实姓名。
但是有的姓氏字也不单单只是姓氏,例如姓氏单(shan)由于其为多音字,当为另一个音(dan)时,其可以有很多的表述形式,单一、单独等等,这样的姓氏还存在很多种,例如“田”等。当校对姓名装置根据姓氏词库在待校对的文章中进行匹配时,很可能存在这样姓氏词库中的字并不是姓氏的意思,但是按照本发明实施例上述表述,非姓氏意思的字也会被认为是姓氏字,并且将该字之后的几个字认为是候选姓名。但是当其为非姓氏的含义时,其在候选姓名中出现的频率也会下降。
为了对上述方式进行区分,本发明实施例中需要在候选姓名中提取真实姓名。在校对姓名装置在候选姓名中提取真实姓名时,统计每个候选姓名中每个字出现的频率,将每个候选姓名中出现频率较高的并且连续的几个字作为真实姓名。当一个候选姓名中几个字出现的频率都较小时,可以认为该候选姓名中不存在真实姓名。
例如在获取候选姓名时,将以姓氏开始、且连续的、长度不大于该设置的姓名长度的每个字符串确定为包含姓氏的候选姓名,确定的候选姓名可能包括“李小”、“李小锋”、“李小锋参”、“李小锋参与”、“单一性较差”等等,统计每个候选姓名中每个字出现的频率,“李小”两个字出现且连续的频率为四次,“李小锋”三个字出现并且连续的频率都为三次,“参”,“参与”和“单一性较差”中每个字出现的频率都为一次。在根据统计的每个候选姓名中每个字出现的频率,在出现频率较高且连续的“李小”和“李小锋”中提取真实姓名时,由于“李小”只是“李小锋”中的部分字。因此在确定真实姓名时,当出现频率较高且连续的候选姓名的第一组字中的每个字,包含在出现频率较高且连续的候选姓名的第二组字中时,将候选姓名的第二组字确定为真实姓名。例如上述出现频率较高且连续的候选姓名的第一组字“李小”中的每个字,包含在出现频率较高且连续的候选姓名的第二组字“李小峰”中,因此可以确定“李小锋”为候选姓名中的真实姓名。当然上述只是个简单的实施例,在具体的校对过程中,可能出现的候选姓名较多,在根据候选姓名确定真实姓名时,即可根据每个候选姓名中每个字出现的频率确定,在此就不一一赘述,相信本领域技术人员可以根据本发明上述实施例的描述进行具体的确定。
当在获取候选姓名时是将以姓氏开始的对应该设置的姓名长度的字符串确定为包含该姓氏的候选姓名,就不存在上述出现频率较高且连续的候选姓名的第一组字“李小”中的每个字,包含在出现频率较高且连续的候选姓名的第二组字“李小峰”中的情况,可以直接根据候选姓名中每个字出现的频率确定真实姓名。
当提取了真实姓名后,由于可能同一姓名存在多种变形方式,因此在本发明实施例中为了有效的提高姓名校对的效率,校对姓名装置需要根据待校对的文章的长度,即待校对文章的总字数,以及提取的每个真实姓名出现的频率,确定目标真实姓名。在本发明实施例中可以根据待校对的文章的总字数,设置目标真实姓名出现的第一频率,将真实姓名出现的第二频率不小于设置的第一频率时,将该真实姓名作为目标真实姓名。在设置目标真实姓名出现的第一频率时,可以统计不同字数的文章中出现姓名的次数,根据该次数确定第一频率值,例如当待校对的文章其包含的总字数为1500字时,可以设置目标真实姓名出现的第一频率为3。
图3A为本发明实施例提供的在待校对文章中获取的每个候选姓名中提取每个真实姓名,以及根据每个真实姓名及设置的第一频率值确定目标真实姓名的过程,图3A中提取名字即为本发明实施例中的提取真实姓名的过程,图3A中过滤后,提取名字即为本发明实施例中根据提取的真实姓名和设置的第一频率值确定目标真实姓名的过程,其中该设置的第一频率值为3。
第一频率的设置也可以设置为任意不小于1的整数,当该第一频率的值设置的较小时,则确定的目标真实姓名的个数会较多,则可能同一姓名其不同的变形姓氏也会确定为目标真实姓名,在后续根据目标真实姓名进行校对时,由于针对每个目标真实姓名都要进行一次校对,因此校对的时间相对来说会较长,但其校对的过程会比较精确。当该第一频率的值设置的比较大时,可能由于同一姓名对应的真实姓名出现的频率可能不能满足第一频率的要求,因此不能将该真实姓名确定为目标真实姓名,在根据目标真实姓名对待校对的文章中的姓名校对时,由于目标真实姓名确定的较少,校对的速度较快,但是由于没有确定一些姓名对应的目标真实姓名,因此可能对一些姓名不能进行校对,从而影响校对的精度。因此在具体的实施过程中可以根据需要灵活的选择第一频率的值。
当确定了每个目标真实姓名后,即可根据每个目标真实姓名,对待校对文章中的对应的每个姓名进行校对。查找待校对的文章中出现的每个姓氏,并在每个目标真实姓名中查找该姓氏对应的每个目标真实姓名,采用查找的每个目标真实姓名对包含该姓氏的姓名进行校对。
在根据查找的每个目标真实姓名对包含该姓氏的姓名进行校对时,将每个目标真实姓名对包含该姓氏的姓名进行校对,当包含该姓氏的姓名与每个目标真实姓名都不匹配时,则任意选择一个目标真实姓名,根据选择的该目标真实姓名的长度,截取包含该姓氏的对应长度的字符串,输出该包含姓氏的对应长度的字符串与选择的目标真实姓名不匹配。
在上述实施例中任意选择一个目标真实姓名时,可以根据目标真实姓名的拼音,并根据目标真实姓名的长度,将与包含该姓氏的对应长度的字符串拼音相同的目标真实姓名,作为选择的一个目标真实姓名,输出该包含姓氏的对应长度的字符串与该选择的目标真实姓名不匹配。
例如在对待校对的文章进行校对时,查找到待校对的文章中出现了姓氏“李”,则在确定的目标真实姓名中查找包含姓氏“李”的目标真实姓名,例如查找到包含姓氏“李”的目标真实姓名包括“李小峰”和“李三”,则采用该查找的“李小峰”和“李三”对包含姓氏“李”的姓名进行校对。具体的校对过程包括:根据目标真实姓名“李小峰”的长度,将包含姓氏“李”连续的三个字符串确定为姓名,采用“李小峰”对包含姓氏“李”的连续的三个字符串进行比对,确定两者是否匹配。当包含形式“李”的连续的三个字符串为“李晓峰”时,确定“李小峰”与“李晓峰”不匹配。之后采用目标真实姓名“李三”对包含姓氏“李”长度为两个字符串的“李晓”进行校对,确定两者不匹配。
由于上述目标真实姓名“李小峰”和“李三”都与包含姓氏“李”的姓名不匹配,因此可以选择目标真实姓名“李三”,输出“李晓”与“李三”不匹配的信息,或者也可以选择目标真实姓名“李小峰”,输出“李晓峰”与“李小峰”不匹配。在任意选择一个目标真实姓名时,由于“李晓峰”与“李小峰”的拼音相同,因此可以选择目标真实姓名“李小峰”,输出“李晓峰”与“李小峰”不匹配。
在根据查找的每个目标真实姓名对包含该姓氏的姓名进行校对时,还可以将每个目标真实姓名对包含该姓氏的姓名进行校对,根据包含该姓氏的姓名与每个目标真实姓名的匹配程度,输出校对结果。
例如上述过程中查找到待校对的文章中出现了姓氏“李”,则在确定的目标真实姓名中查找包含姓氏“李”的目标真实姓名,例如查找到包含姓氏“李”的目标真实姓名包括“李小峰”和“李三”,则采用该查找的“李小峰”和“李三”对包含姓氏“李”的姓名进行校对。目标真实姓名“李小峰”与“李晓峰”的匹配程度,大于目标真实姓名“李三”与“李晓峰”的匹配程度,即“李小峰”与“李晓峰”有两个字相匹配,大于“李三”与“李晓峰”中只有一个字匹配的程度,则输出待校对文章中“李晓峰”与目标真实姓名“李小峰”不匹配。
在本发明实施例中当匹配程度相同时,也可以任意选择一个目标真实姓名,输出待校对的文章中包含姓氏的姓名与选择的目标真实姓名不匹配,当然也可以根据拼音是否相同选择一个目标真实姓名,输出该待校对的文章中包含姓氏的姓名与选择的目标真实姓名不匹配。在此就不一一赘述详细本领域技术人员能够根据本发明实施例的描述确定相应的实施方式。
图3B为本发明实施例提供的一种自动校对姓名的装置,该装置包括:
候选姓名获取模块31,用于根据设置的姓氏词库,在待校对的文章中进行匹配,获取每个包含姓氏的候选姓名;
真实姓名提取模块32,用于统计每个候选姓名中每个字出现的频率,提取每个真实姓名;
目标真实姓名确定模块33,用于根据所述提取的每个真实姓名,及待校对的文章的长度,确定所述待校对的文章中的每个目标真实姓名;
校对模块34,用于采用确定的所述每个目标真实姓名,对所述待校对的文章中的姓名进行校对。
所述候选姓名获取模块31包括:
第一存储单元311,用于存储姓氏词库;
第一确定单元312,用于根据姓氏词库及设置的姓名的长度,将以姓氏开始的对应该设置的姓名长度的字符串确定为包含该姓氏的候选姓名。
所述第一确定单元312包括:
第一确定子单元3121,用于根据待校对文章中的姓氏,将以该姓氏开始、且连续的、长度不大于该设置的姓名长度的每个字符串确定为包含姓氏的候选姓名;
第二确定子单元3122,用于根据待校对文章中的姓氏,将以姓氏开始的对应该设置的姓名长度的字符串确定为包含该姓氏的候选姓名。
所述真实姓名提取模块32包括:
频率确定单元321,用于统计每个候选姓名中每个字出现的频率;
第二确定单元322,用于将每个候选姓名中出现频率较高,且连续的几个字确定为真实姓名。
所述第二确定单元322还用于:
当出现频率较高且连续的候选姓名中的第一组字中的每个字,包含在出现频率较高且连续的候选姓名中的第二组字中时,将候选姓名中的第二组字确定为真实姓名。
所述目标真实姓名确定模块33包括:
第二存储单元331,用于根据待校对的文章的总字数,保存对应的设置的目标真实姓名出现的第一频率;
比较单元332,用于将真实姓名出现的第二频率与所述第一频率进行比较;
第三确定单元333,用于当真实姓名出现的第二频率不小于设置的第一频率时,将所述真实姓名作为目标真实姓名。
所述校对模块34包括:
查找单元341,用于查找待校对的文章中出现的每个姓氏,并在每个目标真实姓名中查找所述姓氏对应的每个目标真实姓名;
校对单元342,用于采用查找的每个目标真实姓名对包含所述姓氏的姓名进行
本发明实施例提供了一种自动校对姓名的方法及装置,该方法包括:校对姓名装置根据设置的姓氏词库,在待校对的文章中进行匹配,获取每个包含姓氏的候选姓名;统计每个候选姓名中每个字出现的频率,提取每个真实姓名;根据每个真实姓名,及该待校对的文章的长度,确定每个目标真实姓名;采用该确定的每个目标真实姓名,对该待校对的文章进行校对。在本发明实施例中校对姓名装置通过姓氏词库在待校对的文章中确定包含目标真实姓名的候选姓名,从而节省了定义每个姓名及姓名变型的繁琐工作,提高了姓名校对的效率,并且由于根据待校对文章中的每个真实姓名,确定目标真实姓名,从而提高了姓名校对的准确率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。