本发明涉及信息处理,尤其涉及一种姓氏识别方法、装置及计算机可读存储介质。
背景技术:
1、目前数字营销等场景下,很多个性化消息会使用客户的姓氏,若消息触达至客户时,姓氏错误极容易引起客户投诉。但是目前银行内数据并未完整保存客户姓氏,只能从客户姓名中获取姓氏。
2、传统的姓氏提取算法一般是通过姓氏字典匹配进行识别。该算法一般只能识别百家姓、常见姓氏等,识别精度不高,而且无法对少数民族、稀有姓氏及英文姓名进行有效识别。
技术实现思路
1、本发明的主要目的在于提供一种姓氏识别方法、装置及计算机可读存储介质,旨在提高姓氏识别的准确性。
2、为实现上述目的,本发明提供一种姓氏识别方法,所述方法包括以下步骤:
3、获取待识别姓名;
4、对所述待识别姓名,结合预设的命名规则进行多级分层适配,提取得到对应的姓氏。
5、可选地,所述获取待识别姓名的步骤之后还包括:
6、判断所述待识别姓名中是否存在中文字符;
7、若存在中文字符,则进入中文姓氏提取流程,并执行步骤:对所述待识别姓名,结合预设的命名规则进行多级分层适配,提取得到对应的姓氏;
8、若不存在中文字符且存在英文字符,则进入英文姓氏提取流程。
9、可选地,所述对所述待识别姓名,结合预设的命名规则进行多级分层适配,提取得到对应的姓氏的步骤包括:
10、对所述待识别姓名,结合预先建立的标准姓氏库进行多级分层适配,提取得到对应的姓氏,所述标准姓氏库通过搜集公开姓名得到的姓氏数据集和不同命名规则构建得到。
11、可选地,所述对所述待识别姓名,结合预先建立的标准姓氏库进行多级分层适配,提取得到对应的姓氏的步骤包括:
12、根据预先构建的姓名分隔符集合,判断所述待识别姓名中是否存在分隔符;
13、若存在分隔符,则获取所述分隔符分隔得到的姓名数组;
14、根据所述分隔符的个数,姓氏权重以及所述姓名数组的个数、长度和/或内容,按照命名规则并结合预先建立的标准姓氏库进行交叉匹配,提取得到对应的姓氏。
15、可选地,所述根据所述分隔符的个数,姓氏权重以及所述姓名数组的个数、长度和/或内容,按照命名规则并结合预先建立的标准姓氏库进行交叉匹配,提取得到对应的姓氏的步骤包括:
16、若所述分隔符的个数大于或等于2,或者,若所述姓名数组的个数大于或等于3,则输出所述姓名数组最后索引的文字段为姓氏;
17、若所述分隔符的个数等于1,且所述姓名数组的个数等于2,则判断两段文字中是否一段文字长度大于1个字且另一段文字大于2个字;
18、若两段文字中一段文字长度大于1个字且另一段文字大于2个字,则输出姓名数组最后索引的文字段为姓氏;
19、若两段文字中不是一段文字长度大于1个字且另一段文字大于2个字,则获取所述姓名数组中索引为0的文字段;
20、根据预先建立的标准姓氏库,将所述姓名数组中索引为0的文字段,结合姓氏权重先后依次与所述标准姓氏库中的全部复姓集合、全部单姓集合、少数民族常用名集合进行匹配;
21、当该文字段匹配成功时,输出匹配的文字段为姓氏;否则输出所述姓名数组最后索引的文字段为姓氏。
22、可选地,所述方法还包括:
23、若所述分隔符等于1,且所述姓名数组的个数等于1,按照无分隔符情况处理。
24、可选地,所述判断所述待识别姓名中是否存在分隔符的步骤之后还包括:
25、若不存在分隔符,则判断所述待识别姓名的长度;
26、若姓名长度等于1个字,则姓氏为所述字;
27、若姓名长度等于2个字,则姓氏为姓名的第一个字;
28、若姓名长度大于或等于3个字,则结合所述标准姓氏库进行多级分层适配,提取得到对应的姓氏。
29、可选地,若姓名长度大于或等于3个字,则结合所述标准姓氏库进行多级分层适配,提取得到对应的姓氏的步骤包括:
30、若姓名长度等于3个字,则将所述姓名的前两个字与所述标准姓氏库中常用复姓集合进行匹配;
31、若匹配成功,则姓氏为姓名前两个字,否则
32、将姓名第一个字与所述标准姓氏库中常用单姓集合进行匹配;
33、若匹配成功,则姓氏为姓名第一个字,否则
34、将姓名前两个字与全部复姓集合进行匹配;
35、若匹配成功,则姓氏为姓名前两个字,否则姓氏为姓名第一个字。
36、可选地,所述方法还包括:
37、若姓名长度大于或等于4个字,则将姓名前两个字与全部复姓集合进行匹配;
38、若匹配成功,则姓氏为姓名前两个字,否则
39、将姓名前两个字及姓名后两个字与所述标准姓氏库中少数民族常用名集合进行匹配;
40、若匹配成功,则表明无姓氏,输出该姓名;否则姓氏为姓名第一个字。
41、可选地,所述若不存在中文字符且存在英文字符,则进入英文姓氏提取流程的步骤包括:
42、若不存在中文字符且存在英文字符,则根据预先构建的姓名分隔符集合,判断所述待识别姓名中是否存在分隔符;
43、若存在分隔符,则姓氏为所述分隔符分隔的姓名数组最后索引的字符段;
44、若不存在分隔符,则判断所述英文字符是否为全部大写或全部小写;
45、若所述英文字符为全部大写,则姓氏为姓名中最后一个大写字符及其之后的字符段;
46、若所述英文字符为全部小写,则姓氏为全部字符。
47、可选地,所述判断所述待识别姓名中是否存在分隔符的步骤之后还包括:
48、若存在多个分隔符,则选择若干预设高优先级的分隔符作为实际分隔符,将其余优先级低的分隔符转换为空字符。
49、可选地,所述获取待识别姓名的步骤之前还包括:
50、搜集公开姓名得到姓氏数据集;
51、基于所述姓氏数据集及不同命名规则构建得到标准姓氏库;
52、查阅各个姓氏的人口数量,从单姓集合选择出常用单姓,从复姓集合选择出常用复姓,以调整单复姓重叠时判断姓氏的权重。
53、本发明实施例还提出一种姓氏识别装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的姓氏识别程序,所述姓氏识别程序被所述处理器执行时实现如上所述的姓氏识别方法。
54、本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有姓氏识别程序,所述姓氏识别程序被处理器执行时实现如上所述的姓氏识别方法。
55、本发明实施例提出的姓氏识别方法、装置及计算机可读存储介质,通过获取待识别姓名;对所述待识别姓名,结合预设的命名规则进行多级分层适配,提取得到对应的姓氏。与现有技术相比,本发明提出的姓氏识别方法,通过多级分层适配方法,在不同命名规则、姓名长度等客观条件下,依据标准姓氏库进行交叉匹配,保证识别算法准确性。具体地,通过标准姓氏库与多层分级适配方法融合匹配方式,从命名规则、姓名长度、姓氏权重、分隔符等特征维度进行姓氏提取,在保证算法高准确度的情况下,使提取结果更符合多数人的实际判断,且对稀有姓氏、少数民族姓名及英文姓名仍具有提取能力。