本发明涉及识别领域,尤其涉及一种姓名识别方法及系统。
背景技术:
中国人的姓名通常为两个字或三个字,用汉语拼音的形式可以有多重排列组合的情况。当中国人姓名通过汉语拼音来表示的情况下,在不能明确待检词汇是英文词汇还是中文姓名的时候,无法确认待检词汇中是否包含中文姓名。
技术实现要素:
有鉴于此,本发明提供一种姓名识别方法及系统,以解决现有技术中在不能明确待检词汇是英文词汇还是中文姓名的时候,无法确认待检词汇中是否包含中文姓名的问题,其具体方案如下:
一种姓名识别方法,包括:
建立汉语拼音词库;
将待检词汇中的字符串与所述汉语拼音词库中的拼音字段进行匹配,确定所述待检词汇中的字符串包括的所有拼音字段;
当所述待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串时,所述待检词汇为中文拼音词汇。
进一步的,还包括:
确定待检词汇,去掉所述待检词汇的字符串中的无意义字符,所述无意义字符包括:特殊字符及空格。
进一步的,所述确定所述待检词汇中的字符串包括的所有拼音字段,包括:
确定所述待检词汇中的字符串包括的所有拼音字段,标记所述字符串包括的所有拼音字段中每一个拼音字段的第一个字符在所述待检词汇的字符串中的位置,及所述每一个拼音字段包括的字符数。
进一步的,所述按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串,包括:
按照所述至少两个拼音字段中每一个拼音字段第一个字符在所述待检词汇的字符串中的位置及每一个拼音字段包括的字符数进行顺序排列,得到所述待检词汇中的字符串。
进一步的,所述按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串,包括:
通过管道函数,确定按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串。
一种姓名识别系统,包括:建立单元,与所述建立单元相连的匹配单元,与所述匹配单元相连的确定单元,其中:
所述建立单元用于建立汉语拼音词库;
所述匹配单元用于将待检词汇中的字符串与所述汉语拼音词库中的拼音字段进行匹配,确定所述待检词汇中的字符串包括的所有拼音字段;
所述确定单元用于当所述待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串时,将所述待检词汇确定为中文拼音词汇。
进一步的,还包括:处理单元,其中:
所述处理单元用于确定待检词汇,去掉所述待检词汇的字符串中的无意义字符,所述无意义字符包括:特殊字符及空格。
进一步的,所述匹配单元确定所述待检词汇中的字符串包括的所有拼音字段,包括:
所述匹配单元确定所述待检词汇中的字符串包括的所有拼音字段,标记所述字符串包括的所有拼音字段中每一个拼音字段的第一个字符在所述待检词汇的字符串中的位置,及所述每一个拼音字段包括的字符数。
进一步的,所述确定单元用于当按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串时,将所述待检词汇确定为中文拼音词汇,包括:
所述确定单元按照所述至少两个拼音字段中每一个拼音字段第一个字符在所述待检词汇的字符串中的位置及每一个拼音字段包括的字符数进行顺序排列,得到所述待检词汇中的字符串,将所述待检词汇确定为中文拼音词汇。
进一步的,所述确定单元用于当按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串时,将所述待检词汇确定为中文拼音词汇,包括:
所述确定单元通过管道函数确定按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串,将所述待检词汇确定为中文拼音词汇。
从上述技术方案可以看出,本申请公开的姓名识别方法及系统,建立汉语拼音词库,将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段,昂待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照该至少两个拼音字段中的字符顺序能够组成待检词汇中的字符串时,待检词汇为中文拼音词汇,即确定了待检词汇为中文姓名。本方案通过建立汉语拼音词库,并将待检词汇与汉语拼音词库进行匹配,从而确定待检词汇是否为中文拼音词汇,实现了将待检词汇明确为中文词汇还是英文词汇,避免了模糊匹配造成的不准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种姓名识别方法的流程图;
图2为本发明实施例公开的一种姓名识别方法的流程图;
图3为本发明实施例公开的一种姓名识别方法的流程图;
图4为本发明实施例公开的一种姓名识别系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种姓名识别方法,其流程图如图1所示,包括:
步骤s11、建立汉语拼音词库;
建立汉语拼音词库,汉语拼音词库中包括所有的汉语拼音字段,即所有的汉子均能在汉语拼音词库中找到对应的汉语拼音字段。
步骤s12、将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段;
待检词汇组成的字符串中可能包括多个拼音字段,确认待检词汇组成的字符串包括的所有的拼音字段,其中,字符串包括的每一个拼音字段均是按照从左至右的顺序,且中间不间隔其他字符。
例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。
可以将字符串包括的所有拼音字段列成表格形式,以方便后续查询、比对。
步骤s13、当字符串包括的所有拼音字段中包括至少两个拼音字段,按照至少两个拼音字段中的字符顺序组成待检词汇中的字符串时,待检词汇为中文拼音词汇。
将字符串包括的所有拼音字段一一进行比对,确定至少两个拼音字段中按照字符顺序排列时可以组成待检词汇中的字符串。当为两个拼音字段时,两个拼音字段顺序排列组成的字符串为待检词汇中的字符串。
例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。
确定三个拼音字段,包括:pen,ga,ni,将这三个拼音字段顺序排列可以有多种情况,如:gapenni,nigapen,而其中一种为:pengani,与待检词汇的字符串一致,即待检词汇的字符串可以由三个拼音字段组成,那么,该待检词汇为中文拼音词汇,还可以具体为:中国人姓名。
本实施例公开的姓名识别方法,建立汉语拼音词库,将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段,昂待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照该至少两个拼音字段中的字符顺序能够组成待检词汇中的字符串时,待检词汇为中文拼音词汇,即确定了待检词汇为中文姓名。本方案通过建立汉语拼音词库,并将待检词汇与汉语拼音词库进行匹配,从而确定待检词汇是否为中文拼音词汇,实现了将待检词汇明确为中文词汇还是英文词汇,避免了模糊匹配造成的不准确性。
本实施例公开了一种姓名识别方法,其流程图如图2所示,包括:
步骤s21、建立汉语拼音词库;
步骤s22、确定待检词汇,去掉待检词汇的字符串中的无意义字符,无意义字符包括:特殊字符及空格;
在后续对待检词汇的字符串与汉语拼音词库中的拼音字段进行匹配时,无意义字符容易造成干扰。无意义字符可以包括:特殊字符及空格,特殊字符可以包括:δ、ε等,在此不做具体限定。
进一步的,在确定待检词汇,去掉待检词汇的字符串中的无意义字符之后,还可以包括:将字符串中的所有字符全部设置为小写,若同一个字符串中有大写有小写,在匹配过程中容易导致漏掉某一个或几个字符。
步骤s23、将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段;
步骤s24、当字符串包括的所有拼音字段中包括至少两个拼音字段,按照至少两个拼音字段中的字符顺序组成待检词汇中的字符串时,待检词汇为中文拼音词汇。
本实施例公开的姓名识别方法,建立汉语拼音词库,将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段,昂待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照该至少两个拼音字段中的字符顺序能够组成待检词汇中的字符串时,待检词汇为中文拼音词汇,即确定了待检词汇为中文姓名。本方案通过建立汉语拼音词库,并将待检词汇与汉语拼音词库进行匹配,从而确定待检词汇是否为中文拼音词汇,实现了将待检词汇明确为中文词汇还是英文词汇,避免了模糊匹配造成的不准确性。
本实施例公开了一种姓名识别方法,其流程图如图3所示,包括:
步骤s31、建立汉语拼音词库;
步骤s32、将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段,标记字符串包括的所有拼音字段中每一个拼音字段的第一个字符在待检词汇的字符串中的位置,及每一个拼音字段包括的字符数;
标记字符串包括的所有拼音字段中每一个拼音字段的第一个字符在待检词汇的字符串中的位置及每一个拼音字段包括的字符数。例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。以拼音字段peng为例进行说明,拼音字段peng中的第一个字符为p,p在待检词汇pengani中的位置为第一个,拼音字段包括:p,e,n,g一共4个字符,即拼音字段peng包括4个字符。具体的,可以通过列表的形式表现上述内容,以便于查找。
步骤s33、当待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照至少两个拼音字段中每一个拼音字段第一个字符在待检词汇的字符串中的位置及每一个拼音字段包括的字符数进行顺序排列,得到待检词汇中的字符串,待检词汇为中文拼音词汇。
按照至少两个拼音字段中每一个拼音字段第一个字符在待检词汇的字符串中的位置及每一个拼音字段包括的字符数进行顺序排列,即将至少两个拼音字段中每一个拼音字段,按照该拼音字段第一个字符在待检词汇的字符串中的位置,放置该拼音字段的第一个字符,并顺序放置该拼音字段第一个字符后的其他字符,当至少两个拼音字段均放置完成,并且放置完成后组成的字符串与待检词汇的字符串一致,则待检词汇为中文拼音词汇。
例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。
拼音字段pen中第一个字符在待检词汇的字符串中的位置为第一位,拼音字段pen一共有3个字符;拼音字段ga中第一个字符在待检词汇的字符串中的位置为第四位,拼音字段ga一共有2个字符;拼音字段ni中第一个字符在待检词汇的字符串中的位置为第六位,拼音字段ni一共有2个字符。
以上三个拼音字段按照每一个拼音字段中第一个字符的位置放置,得到的字符串为:pengani,共7个字符,与待检词汇完全一致,因此,待检词汇为中文拼音词汇,且该待检词汇三个拼音字段组成,为:pen,ga,ni。
进一步的,确定所述待检词汇中的字符串包括的所有拼音字段,还可以为:确定待检词汇中的字符串包括的所有拼音字段,标记字符串包括的所有拼音字段中每一个拼音字段的第一个字符在待检词汇的字符串中的位置,以及每一个拼音字段的最后一个字符在待检词汇的字符串中的位置加1得到的值。
每一个拼音字段的最后一个字符在待检词汇的字符串中的位置加1,是为了使前一个拼音字段的最后一个字符对应的数字为该最后一个字符的位置加1,而与该前一个拼音字段相邻的后一个拼音字段的第一个字符在待检词汇的字符串中的位置为前一个拼音字段最后一个字符的位置加1,保证了数据的一致,实现头尾串联,以便于组成完整的字符串。
另外,还可以为:通过管道函数确定按照至少两个拼音字段中的字符顺序组成待检词汇中的字符串。
普通函数的返回值通常只有一个,而管道函数的返回值可以如同一个表格,有利于整体的查找和处理。
本实施例公开的姓名识别方法,建立汉语拼音词库,将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段,昂待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照该至少两个拼音字段中的字符顺序能够组成待检词汇中的字符串时,待检词汇为中文拼音词汇,即确定了待检词汇为中文姓名。本方案通过建立汉语拼音词库,并将待检词汇与汉语拼音词库进行匹配,从而确定待检词汇是否为中文拼音词汇,实现了将待检词汇明确为中文词汇还是英文词汇,避免了模糊匹配造成的不准确性。
本实施例公开了一种姓名识别系统,其结构示意图如图4所示,包括:
建立单元41,与建立单元41相连的匹配单元42,与匹配单元42相连的确定单元43。
其中,建立单元41用于建立汉语拼音词库。
建立汉语拼音词库,汉语拼音词库中包括所有的汉语拼音字段,即所有的汉子均能在汉语拼音词库中找到对应的汉语拼音字段。
进一步的,本实施例公开的姓名识别系统,还可以包括:处理单元44,其中:
处理单元44用于确定待检词汇,去掉待检词汇的字符串中的无意义字符,无意义字符包括:特殊字符及空格。
在后续对待检词汇的字符串与汉语拼音词库中的拼音字段进行匹配时,无意义字符容易造成干扰。无意义字符可以包括:特殊字符及空格,特殊字符可以包括:δ、ε等,在此不做具体限定。
进一步的,在确定待检词汇,去掉待检词汇的字符串中的无意义字符之后,还可以包括:将字符串中的所有字符全部设置为小写,若同一个字符串中有大写有小写,在匹配过程中容易导致漏掉某一个或几个字符。
匹配单元42用于将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段。
待检词汇组成的字符串中可能包括多个拼音字段,确认待检词汇组成的字符串包括的所有的拼音字段,其中,字符串包括的每一个拼音字段均是按照从左至右的顺序,且中间不间隔其他字符。
例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。
可以将字符串包括的所有拼音字段列成表格形式,以方便后续查询、比对。
确定待检测词汇中的字符串包括的所有拼音字段,包括:
确定待检词汇中的字符串包括的所有拼音字段,标记字符串包括的所有拼音字段中每一个拼音字段的第一个字符在待检词汇的字符串中的位置,及每一个拼音字段包括的字符数。
标记字符串包括的所有拼音字段中每一个拼音字段的第一个字符在待检词汇的字符串中的位置及每一个拼音字段包括的字符数。例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。以拼音字段peng为例进行说明,拼音字段peng中的第一个字符为p,p在待检词汇pengani中的位置为第一个,拼音字段包括:p,e,n,g一共4个字符,即拼音字段peng包括4个字符。具体的,可以通过列表的形式表现上述内容,以便于查找。
确定单元43用于当待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照至少两个拼音字段中的字符顺序组成待检词汇中的字符串时,将待检词汇确定为中文拼音词汇。
将字符串包括的所有拼音字段一一进行比对,确定至少两个拼音字段中按照字符顺序排列时可以组成待检词汇中的字符串。当为两个拼音字段时,两个拼音字段顺序排列组成的字符串为待检词汇中的字符串。
例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。
确定三个拼音字段,包括:pen,ga,ni,将这三个拼音字段顺序排列可以有多种情况,如:gapenni,nigapen,而其中一种为:pengani,与待检词汇的字符串一致,即待检词汇的字符串可以由三个拼音字段组成,那么,该待检词汇为中文拼音词汇,还可以具体为:中国人姓名。
当按照所述至少两个拼音字段中的字符顺序组成所述待检词汇中的字符串时,将所述待检词汇确定为中文拼音词汇,包括:
按照至少两个拼音字段中每一个拼音字段第一个字符在待检词汇的字符串中的位置及每一个拼音字段包括的字符数进行顺序排列,得到待检词汇中的字符串,将待检词汇确定为中文拼音词汇。
按照至少两个拼音字段中每一个拼音字段第一个字符在待检词汇的字符串中的位置及每一个拼音字段包括的字符数进行顺序排列,即将至少两个拼音字段中每一个拼音字段,按照该拼音字段第一个字符在待检词汇的字符串中的位置,放置该拼音字段的第一个字符,并顺序放置该拼音字段第一个字符后的其他字符,当至少两个拼音字段均放置完成,并且放置完成后组成的字符串与待检词汇的字符串一致,则待检词汇为中文拼音词汇。
例如:待检词汇为:pengani,该字符串中包括的拼音字段包括:pen,peng,en,eng,ga,gan,ni。
拼音字段pen中第一个字符在待检词汇的字符串中的位置为第一位,拼音字段pen一共有3个字符;拼音字段ga中第一个字符在待检词汇的字符串中的位置为第四位,拼音字段ga一共有2个字符;拼音字段ni中第一个字符在待检词汇的字符串中的位置为第六位,拼音字段ni一共有2个字符。
以上三个拼音字段按照每一个拼音字段中第一个字符的位置放置,得到的字符串为:pengani,共7个字符,与待检词汇完全一致,因此,待检词汇为中文拼音词汇,且该待检词汇三个拼音字段组成,为:pen,ga,ni。
进一步的,确定所述待检词汇中的字符串包括的所有拼音字段,还可以为:确定待检词汇中的字符串包括的所有拼音字段,标记字符串包括的所有拼音字段中每一个拼音字段的第一个字符在待检词汇的字符串中的位置,以及每一个拼音字段的最后一个字符在待检词汇的字符串中的位置加1得到的值。
每一个拼音字段的最后一个字符在待检词汇的字符串中的位置加1,是为了使前一个拼音字段的最后一个字符对应的数字为该最后一个字符的位置加1,而与该前一个拼音字段相邻的后一个拼音字段的第一个字符在待检词汇的字符串中的位置为前一个拼音字段最后一个字符的位置加1,保证了数据的一致,实现头尾串联,以便于组成完整的字符串。
另外,还可以为:通过管道函数确定按照至少两个拼音字段中的字符顺序组成待检词汇中的字符串。
普通函数的返回值通常只有一个,而管道函数的返回值可以如同一个表格,有利于整体的查找和处理。
本实施例公开的姓名识别系统,通过建立汉语拼音词库,将待检词汇中的字符串与汉语拼音词库中的拼音字段进行匹配,确定待检词汇中的字符串包括的所有拼音字段,昂待检词汇中的字符串包括的所有拼音字段中包括至少两个拼音字段,按照该至少两个拼音字段中的字符顺序能够组成待检词汇中的字符串时,待检词汇为中文拼音词汇,即确定了待检词汇为中文姓名。本方案通过建立汉语拼音词库,并将待检词汇与汉语拼音词库进行匹配,从而确定待检词汇是否为中文拼音词汇,实现了将待检词汇明确为中文词汇还是英文词汇,避免了模糊匹配造成的不准确性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。