中文姓名模糊匹配的方法、装置、设备及可读存储介质
技术领域
本发明实施例涉及模糊匹配技术领域,尤其涉及一种中文姓名模糊匹配的方法、装置、设备及可读存储介质。
背景技术
随着互联网和移动终端的迅猛发展,人们通过互联网和移动终端享受更加便捷的服务。如网上购物,网上订餐,在POS机上刷卡等。在人们享受互联网和移动终端便捷服务时,需要在网上预留真实姓名或在POS机上签署真实姓名。但由于输入法拼写错误,口音问题或由于手写字的不规范,将导致用户的真实姓名不准确。所以需要对用户的真实姓名进行模糊匹配,再根据其他信息确定用户的真实姓名。
现有的对字符进行模糊匹配的方法的基本思路是将待处理的姓名与全量姓名数据库中的所有姓名进行两两比较,获取待处理的姓名的模糊匹配结果,这需要消耗大量的计算时间。
所以现有技术中的字符模糊匹配的方法将消耗大量的计算时间,使模糊匹配的效率较低。
发明内容
本发明实施例提供一种中文姓名模糊匹配的方法、装置、设备及可读存储介质,解决了现有技术中的字符模糊匹配的方法将消耗大量的计算时间,使模糊匹配的效率较低的技术问题。
本发明实施例第一方面提供一种中文姓名模糊匹配的方法,包括:获取待处理中文姓名;确定所述待处理中文姓名中每个待处理单字的相似字集合;对所述每个待处理单字及所述相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合;若所述相似姓名集合中的相似姓名存在于全量姓名数据库中,则所述相似姓名为所述待处理的中文姓名模糊匹配出的结果。
本发明实施例第二方面提供一种中文姓名模糊匹配的装置,包括:中文姓名获取单元,用于获取待处理中文姓名;相似字集合确定单元,用于确定所述待处理中文姓名中每个待处理单字的相似字集合;相似姓名集合确定单元,用于对所述每个待处理单字及所述相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合;相似姓名核实单元,用于若所述相似姓名集合中的相似姓名存在于全量姓名数据库中,则所述相似姓名为所述待处理的中文姓名模糊匹配出的结果。
本发明实施例第三方面提供一种电子设备,包括:存储器,处理器以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
本发明实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法。
基于以上各方面,本发明实施例提供一种中文姓名模糊匹配的方法、装置、设备及可读存储介质,通过获取待处理中文姓名;确定待处理中文姓名中每个待处理单字的相似字集合;对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合;若相似姓名集合中的相似姓名存在于全量姓名数据库中,则相似姓名为待处理的中文姓名模糊匹配出的结果。由于在进行中文姓名的模糊匹配时,没有按照常规思路直接将待处理的姓名与全量姓名数据库中的所有姓名进行两两比较的方式进行,而是首先获得每个待处理单字的相似字集合,再将待处理单字及每个相似字进行相似姓名的组合,对组合后的相似姓名进行核实的方式进行,所以能够有效减少计算时间,有效提高中文姓名模糊匹配的效率。
应当理解,上述发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
图1为本发明实施例一提供的中文姓名模糊匹配的方法的流程图;
图2为本发明实施例二提供的中文姓名模糊匹配的方法的流程图;
图3为本发明实施例二中执行中文姓名模糊匹配的方法后的结果示意图;
图4为本发明实施例三提供的中文姓名模糊匹配的方法的流程图;
图5为本发明实施例四提供的中文姓名模糊匹配的装置的结构示意图;
图6为本发明实施例五提供的中文姓名模糊匹配的装置的结构示意图;
图7为本发明实施例六提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
本发明实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明本实施例提供的中文姓名模糊匹配的方法的应用场景可以包括:判断用户通过输入法输入的中文姓名的是否存在拼写错误,找到与输入的中文姓名模糊匹配的相似姓名的场景,获取用户手写的中文姓名,对用户手写的中文姓名进行模糊匹配,输出相似姓名的场景,或其他应用场景。
以下将参照附图来具体描述本发明的实施例。
实施例一
图1为本发明实施例一提供的中文姓名模糊匹配的方法的流程图,如图1所示,本实施例的执行主体为中文姓名模糊匹配的装置,该中文姓名模糊匹配的装置可以集成在电子设备中。电子设备可以为计算机,笔记本电脑,平板电脑,智能手机,或其他具有独立计算和处理能力的设备。则本实施例提供的中文姓名模糊匹配的方法包括以下几个步骤。
步骤101,获取待处理中文姓名。
本实施例中,待处理中文姓名可以为用户通过输入法输入的中文姓名,或者为用户手写的中文姓名。
具体地,本实施例中,获取待处理中文姓名的方式可以为通过键盘接收用户输入的待处理中文姓名。或者与其他设备通信,从其他设备的存储区域获取待处理中文姓名。或者以其他方式获取待处理中文姓名,本实施例中不做限定。
其中,待处理中文姓名包括至少两个单字。
步骤102,确定待处理中文姓名中每个待处理单字的相似字集合。
具体地,本实施例中,将待处理中文姓名中的每个待处理单字与姓名单字字库中的每个对比单字进行模糊匹配,计算出每个待处理单字与每个对比单字的相似度,根据相似度确定每个待处理单字的相似单字,由该待处理单字的所有相似单字组成该待处理单字的相似度集合。
其中,将待处理中文姓名中的每个待处理单字与姓名单字字库中的每个对比单字进行模糊匹配时,具体的模糊匹配算法本实施例中不做限定。
其中,姓名单字字库中的对比单字为与其进行相似度计算的待处理单字不同的单字。
步骤103,对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合。
具体地,本实施例中,提取每个待处理单字和每个待处理单字的相似字。按照中文姓名的顺序对每个待处理单字或待处理单字的相似字进行组合遍历,形成不同的相似姓名的组合。
本实施例中对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合进行示例性说明为:假设待处理中文姓名包括两个单字,待处理中文姓名为“AB”。第一个待处理单字的相似字有三个,分别为“A1”,“A2”,“A3”;第二个待处理单字的相似字也有三个,分别为“B1”,“B2”,“B3”;则首先对第一个待处理单字分别和第二个待处理单字的相似字进行组合,形成相似字分别为:“AB1”,“AB2”,“AB3”。第一个待处理单字的第一个相似字分别和第二个待处理单字及第二个待处理单字的相似字进行组合,形成相似姓名分别为:“A1B”,“A1B1”,“A1B2”,“A1B3”。第一个待处理单字的第二个相似字分别和第二个待处理单字及第二个待处理单字的相似字进行组合,形成相似姓名分别为:“A2B”,“A2B1”,“A2B2”,“A2B3”。第一个待处理单字的第三个相似字分别和第二个待处理单字及第二个待处理单字的相似字进行组合,形成相似姓名分别为:“A3B”,“A3B1”,“A3B2”,“A3B3”。在相似姓名集合中包括上述15个相似姓名。
步骤104,若相似姓名集合中的相似姓名存在于全量姓名数据库中,则相似姓名为待处理的中文姓名模糊匹配出的结果。
具体地,本实施例中,全量姓名数据库库中预先存储有所有中文姓名。判断相似姓名集合中的每个相似姓名是否存在于全量姓名数据库中。若某一相似姓名存在于全量姓名数据库中,则该相似姓名作为待处理的中文姓名模糊匹配出的一个相似姓名。若某一相似姓名不存在于全量姓名数据库中,则该相似姓名不作为待处理的中文姓名模糊匹配出的一个相似姓名。将所有存在于全量姓名数据库中的相似姓名作为待处理的中文姓名模糊匹配出的结果。
本实施例提供的中文姓名模糊匹配的方法,通过获取待处理中文姓名;确定待处理中文姓名中每个待处理单字的相似字集合;对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合;若相似姓名集合中的相似姓名存在于全量姓名数据库中,则相似姓名为待处理的中文姓名模糊匹配出的结果。由于在进行中文姓名的模糊匹配时,没有按照常规思路直接将待处理的姓名与全量姓名数据库中的所有姓名进行两两比较的方式进行,而是首先获得每个待处理单字的相似字集合,再将待处理单字及每个相似字进行相似姓名的组合,对组合后的相似姓名进行核实的方式进行,所以能够有效减少计算时间,有效提高中文姓名模糊匹配的效率。
实施例二
图2为本发明实施例二提供的中文姓名模糊匹配的方法的流程图,如图2所示,本实施例提供的中文姓名模糊匹配的方法,是在本发明实施例一提供的中文姓名模糊匹配的方法的基础上,对步骤102的进一步细化,则本实施例提供的方法包括以下步骤。
步骤201,获取待处理中文姓名。
本实施例中,步骤201与本发明实施例一中提供的中文姓名模糊匹配的方法的步骤101的实现方式相同,本实施例中对比不做限定。
步骤202,计算每个待处理单字与姓名单字字库中每个对比单字的相似度。
其中,姓名单字字库为所有姓名的单字去重后组成的字库。所有对比单字为姓名单字字库中与待处理单字不同的所有单字。
进一步地,本实施例中步骤202,计算每个待处理单字与姓名单字字库中每个对比单字的相似度包括以下三个步骤。
步骤202a,对每个待处理单字进行不同维度的特征提取,形成每个待处理单字每个维度的特征数据。
其中,对每个待处理单字进行不同维度的特征提取可以包括:发音特征提取和字形特征提取。发音特征提取包括:声母特征提取,韵母特征提取。字形特征提取包括:四角码特征提取,笔画数特征提取和字形结构特征提取。
相应地,每个维度的特征数据包括:发音特征数据和字形特征数据。发音特征数据包括:声母特征数据和韵母特征数据。字形特征数据包括:四角码特征数据,笔画数特征数据,字形结构特征数据。
所以本实施例中,步骤202a,对每个待处理单字进行不同维度的特征提取,形成每个待处理单字每个维度的特征数据,具体包括以下步骤。
步骤202a1,对每个待处理单字进行发音特征提取,形成每个待处理单字的发音特征数据。
优选地,本实施例中,对每个待处理单字进行发音特征提取,形成每个待处理单字的发音特征数据,具体包括:
首先,判断每个待处理单字是否为多音字。
具体地,本实施例中,在构建姓名单字字库时,若字库中的某单字为多音字,则对该多音字进行标识。所以可在姓名单字字库中查询该待处理单字是否进行了多音字的标识,若进行了多音字标识,则该待处理单字为多音字,否则不为多音字。
其次,若待处理单字为多音字,则对待处理单字作为姓名常用音的拼音进行声母特征提取和韵母特征提取,分别形成待处理单字的声母特征数据和韵母特征数据。
具体地,本实施例中,若待处理单字为多音字,则确定该待处理单字作为姓名使用的常用音是哪一个。提取该待处理单字的姓名常用音的声母特征和韵母特征。分别形成待处理单字的声母特征数据和韵母特征数据。
本实施例中对待处理单字作为姓名常用音的拼音进行声母特征提取和韵母特征提取,分别形成待处理单字的声母特征数据和韵母特征数据进行示例性说明为:假设待处理单字包括“解”,该待处理单字为多音字,而作为姓名使用时,“xie”为姓名常用音,则对“xie”进行声母特征提取,形成的声母特征数据为“x”,对韵母“ie”特征提取,形成韵母特征数据为“ie”。
最后,若待处理单字不为多音字,则对待处理单字的拼音进行声母特征提取和韵母特征提取,分别形成待处理单字的声母特征数据和韵母特征数据。
步骤202a2,对每个待处理单字进行字形特征提取,形成每个待处理单字的字形特征数据。
具体地,本实施例中,对每个待处理单字进行字形特征提取,形成每个待处理单字的字形特征数据,具体包括:
对每个待处理单字分别进行四角码特征提取,笔画数特征提取,字形结构特征提取,分别形成四角码特征数据,笔画数特征数据,字形结构特征数据。
其中,四角码是汉字字形的一种编码,按顺序取汉字的四个角的笔画代码作为汉字编码。其是1925年用于出版业排版和字典检字发明的编码。和拼音相比,四角码的重码少得多,且有字形的特点。
其中,单字的笔画数为书写单字所用的笔画个数,其在一定程度上反映汉字的字形。单字的字形结构值是指单字的结构。可以包括:单一结构,左右结构,上下结构,左上包围结构,上三包围结构,全包围结构,品字结构等。
本实施例中对待处理单字分别进行四角码特征提取,笔画数特征提取,字形结构特征提取,分别形成四角码特征数据,笔画数特征数据,字形结构特征数据进行示例性说明为:假设待处理单字为“体”,对“体”进行四角码特征提取,获取的四角码特征数据为“2523”,对“体”进行笔画数特征提取,获取的笔画数特征数据为“7”,对“体”进行字体结构特征提取,获取的字体结构特征数据为左右结构。
步骤202b,计算每个待处理单字每个维度的特征数据与每个对比单字的对应维度的特征数据的相似度。
优选地,本实施例中,若待处理单字的特征数据为声母特征数据或韵母特征数据,则计算每个待处理单字每个维度的特征数据与每个对比单字的对应维度的特征数据的相似度,具体包括:
首先,将待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据进行对比。
需要说明的是,本实施例中,将待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据进行对比前,首先对声母相近音和韵母相近音进行设定。
其中,声母相近音的可根据发音进行设定,如平舌音和翘舌音为相近音。如“L”和“N”为声母相近音。同理,韵母相近音可根据发音进行设定。如“en”和“eng”为相近音,“iang”和“ang”为相近音。
具体地,本实施例中,将待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据进行对比,判断待处理单字的声母特征数据与对比单字的声母特征数据是否相同或相近或既不相同也不相近。并判断待处理单字的韵母特征数据与对比单字的韵母特征数据是否相同或相近或既不相同也不相近。
其次,若待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据相同,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第一数值。
再次,若待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据相近,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第二数值。
最后,若待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据既不相同也不相近,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第三数值。
具体地,本实施例中,若待处理单字的声母特征数据与对比单字的声母特征数据相同,或者若待处理单字的韵母特征数据与对比单字的韵母特征数据相同,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第一数值。若待处理单字的声母特征数据与对比单字的声母特征数据相近,或者若待处理单字的韵母特征数据与对比单字的韵母特征数据相近,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第二数值。若待处理单字的声母特征数据与对比单字的声母特征数据既不相同也不相近,或者若待处理单字的韵母特征数据与对比单字的韵母特征数据既不相同也不相近,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第三数值。
其中,第一数值大于第二数值,第二数值大于第三数值。如第一数值可以为1,第二数值可以为0.8,第三数值可以为0。第一数值,第二数值和第三数值也可以为其他符合要求的数值,本实施例中对此不做限定。
优选地,本实施例中,若待处理单字的特征数据为四角码特征数据,则计算每个待处理单字每个维度的特征数据与每个对比单字的对应维度的特征数据的相似度,具体包括:
首先,将待处理单字的四角码特征数据的每位数据与对比单字的四角码特征数据的对应位的数据进行对比。
其次,若待处理单字的某位数据与对比单字对应位的数据相同,则该位数据对应的相似度为第一数值。
再次,若待处理单字的某位数据与对比单字对应位的数据不同,则该位数据对应的相似度为第三数值。
最后,将待处理单字与对比单字的四角码特征数据的所有位数据对应的相似度的平均值确定为待处理单字的四角码特征数据与对比单字的四角码特征数据的相似度。
其中,第一数值大于第三数值。
具体地,本实施例中,待处理单字的四角码特征数据和对比单字的四角码特征数据均包括四位数据。将待处理单字与对比单字的每位数据进行对比,判断每位数据是否相同。若待处理单字与对比单字的某位数据相同,则该位数据对应的相似度为第一数值,若待处理单字与对比单字的某位数据不同,则该位数据对应的相似度为第三数值。在得到每位数据对应的相似度的数值后,求取所有位数据对应相似度数值的平均数,将该平均数作为待处理单字的四角码特征数据与对比单字的四角码特征数据的相似度。
本实施例中对计算待处理单字四角码的特征数据与每个对比单字的四角码的特征数据的相似度进行示例性说明。假设第一数值为1,第三数值为0,待处理单字为“体”,对应的四角码特征数据为“2523”,对比单字为“休”,对应的四角码特征数据为“2429”。则将每位数据进行对比后得到的相似度数值分别为“1010”,则将该四个数值进行求和取平均数为“0.5”。则“0.5”为待处理单字“体”和对比单字“休”的四角码特征数据的相似度。
优选地,本实施例中,若待处理单字的特征数据为笔画数特征数据,则计算每个待处理单字每个维度的特征数据与每个对比单字的对应维度的特征数据的相似度,具体包括:
首先,判断待处理单字的笔画数是否大于对比单字的笔画数。
其次,若待处理单字的笔画数大于对比单字的笔画数,则将对比单字的笔画数与待处理单字的笔画数的比值确定为待处理单字的笔画数特征数据与对比单字的笔画数特征数据的相似度。
最后,若待处理单字的笔画数小于或等于对比单字的笔画数,则将待处理单字的笔画数与对比单字的笔画数的比值作为待处理单字的笔画数特征数据与对比单字笔画数特征数据的相似度。
具体地,本实施例中,对计算待处理单字笔画数的特征数据与每个对比单字的笔画数的特征数据的相似度进行示例性说明。假设待处理单字为“体”,笔画数特征数据为“7”,对比单字为“休”对应的笔画数特征数据为“6”,判断出待处理单字“体”的笔画数大于对比单字“休”的笔画数,则对比单字“休”的笔画数“6”与待处理单字“体”的笔画数7的比值0.86确定为待处理单字“体”的笔画数特征数据与对比单字“休”的笔画数特征数据的相似度。
优选地,本实施例中,若待处理单字的特征数据为字形结构特征数据,则计算每个待处理单字每个维度的特征数据与每个对比单字的对应维度的特征数据的相似度,具体包括:
首先,判断待处理单字的字形结构特征数据是否与对比单字的字形结构特征数据相同。
其次,若待处理单字的字形结构特征数据与对比单字的字形结构特征数据相同,则确定待处理单字的字形结构特征数据与对比单字字形特征数据的相似度为第一数值。
最后,若待处理单字的字形结构特征数据与对比单字的字形结构特征数据不同,则确定待处理单字的字形结构特征数据与对比单字字形特征数据的相似度为第三数值。
其中,第一数值大于第三数值。
具体地,本实施例中,对计算待处理单字体结构的特征数据与每个对比单字的字体结构的特征数据的相似度进行示例性说明。假设待处理单字为“体”,字体结构特征数据为“左右结构”,对比单字为“休”对应的字体结构特征数据为“左右结构”,判断出待处理单字“体”的字体结构特征数据与对比单字“休”的字体结构特征数据相同,则确定为待处理单字“体”的字体结构特征数据与对比单字“休”的字体结构特征数据的相似度为第一数值。
步骤202c,设置每个维度的特征数据的权重,并将每个维度的特征数据的相似度进行加权求和计算,以获得每个待处理单字与姓名单字字库中每个对比单字的相似度。
具体地,本实施例中,可根据本发明实施例应用场景的不同,按照应用场景设置每个维度的特征数据的权重。如在判断用户通过输入法输入的中文姓名的是否存在拼写错误,找到与输入的中文姓名模糊匹配的相似姓名的场景中,可将发音特征数据设置的权重大于字形特征数据设置的权重。如发音特征数据设置的权重为0.7,字形特征数据设置的权重为0.3。又如在获取用户手写的中文姓名,对用户手写的中文姓名进行模糊匹配,输出相似姓名的场景中,可将字形特征数据设置的权重大于发音特征数据设置的权重。如字形特征数据设置的权重为0.7,发音特征数据设置的权重为0.3。
其中,在发音特征数据中为声母特征数据,韵母特征数据分别设置权重,如声母特征数据设置权重为0.6,韵母特征数据设置权重为0.4。在字形特征数据中为四角码特征数据,笔画数特征数据和字形结构特征数据分别设置权重。如四角码特征数据设置权重为0.4,笔画数特征数据设置权重为0.2,字形结构特征数据设置权重为0.4。
可以理解的是,本实施例中对每个维度的特征数据设置的权重的具体数值不做限定。
具体地,本实施例中,将每个维度的特征数据的相似度进行加权求和计算,以获得每个待处理单字与姓名单字字库中每个对比单字的相似度进行示例性说明为:发音特征数据设置的权重为0.7,字形特征数据设置的权重为0.3;声母特征数据设置的权重为0.6,声母特征数据的相似度为1;韵母特征数据设置权重为0.4,韵母特征数据的相似度为0;四角码特征数据设置权重为0.4,四角码特征数据的相似度为0.5;笔画数特征数据设置权重为0.2,笔画数特征数据的相似度为0.8;字形结构特征数据设置权重为0.4。字形结构特征数据对应的相似度为0。则将每个维度的特征数据的相似度进行加权求和计算,计算的结果为:0.7*(0.6*1+0.4*0+0.4*0.5)+0.3*(0.2*0.8+0.4*0)=0.608。
步骤203,判断待处理单字与对比单字的相似度是否大于预设阈值,若是,则执行步骤204,否则执行步骤205。
其中,本实施例中,预设阈值可以为0.8或0.85或其他适宜的数值,本实施中对此不做限定。
具体地,本实施例中,判断待处理单字与对比单字的相似度是否大于预设阈值,若待处理单字与对比单字的相似度大于预设阈值,则说明待处理单字与对比单字相似度很大,确定对比单字为待处理单字的相似字,若待处理单字与对比单字的相似度小于或等于预设阈值,则说明待处理单字与对比单字相似度不大,确定对比单字不为待处理单字的相似字。
步骤204,确定对比单字为待处理单字的相似字。
可以理解的是,本实施例中执行完步骤204后执行步骤206。
步骤205,确定对比单字不为待处理单字的相似字。
步骤206,由相似字组成的集合确定为待处理单字的相似字集合。
需要说明的是,本实施例中,步骤202-步骤206是对本发明实施例一提供的中文姓名模糊匹配的方法的步骤102的进一步地细化。
步骤207,对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合。
本实施例中,步骤207的实现方式与本发明实施例一提供的中文姓名模糊匹配的方法步骤103的实现方式相同,在此不再一一赘述。
步骤208,判断相似姓名集合中的相似姓名是否存在于全量姓名数据库中,若是,则执行步骤209,否则执行步骤210。
步骤209,该相似姓名为待处理的中文姓名模糊匹配出的结果。
步骤210,该相似姓名不为待处理的中文姓名模糊匹配出的结果。
具体地,本实施例中判断相似姓名集合中的相似姓名是否存在于全量姓名数据库中,若相似姓名集合中的某相似姓名存在于全量姓名数据库中,则该相似姓名为待处理的中文姓名模糊匹配出的结果,若相似姓名集合中的某相似姓名不存在于全量姓名数据库中,则该相似姓名不为待处理的中文姓名模糊匹配出的结果,以对模糊匹配的结果进行核实。其中,图3为本发明实施例二中执行中文姓名模糊匹配的方法后的结果示意图,在图3中包括四个待处理中文姓名的模糊匹配的结果。
本实施例提供的中文姓名模糊匹配的方法,在计算每个待处理单字与姓名单字字库中每个对比单字的相似度时,对每个待处理单字进行不同维度的特征提取,形成每个待处理单字每个维度的特征数据,对每个待处理单字进行不同维度的特征提取可以包括:发音特征提取和字形特征提取。发音特征提取包括:声母特征提取,韵母特征提取。字形特征提取包括:四角码特征提取,笔画数特征提取和字形结构特征提取。根据应用场景设置每个维度的特征数据的权重,并将每个维度的特征数据的相似度进行加权求和计算,以获得每个待处理单字与姓名单字字库中每个对比单字的相似度。由于中文汉字是象形文字,不仅具有发音特征而且具有字形特征,所以在进行单字的模糊匹配时,不仅提取单字的发音特征而且提取字形特征,同时考虑了发音相似度和字形相似度,并在进行特征数据的权重设定时,可根据应用场景进行权重调节,进而使单字模糊匹配结果更加准确。
实施例三
图4为本发明实施例三提供的中文姓名模糊匹配的方法实施例三的流程图,本实施例提供的中文姓名模糊匹配的方法是在本发明实施例二提供的中文姓名模糊匹配的方法的基础上,还包括了构建姓名单字字库,对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据的步骤,以及对构建的姓名单字字库进行后处理的步骤。则本实施例提供的中文姓名模糊匹配的方法包括以下步骤。
步骤401,构建姓名单字字库。
进一步地,本实施例中,步骤401,构建姓名单字字库具体包括:
首先,提取全量姓名数据库中所有姓名的单字。
其次,将所有姓名的单字进行去重处理。
最后,由去重处理后的所有姓名的单字构建姓名单字字库。
具体地,本实施例中,在全量姓名数据库中有所有中文姓名,对中文姓名进行拆分,获得所有姓名的单字,采用去重算法对所有姓名的单字进行去重处理。由去重处理后的所有姓名的单字构建姓名单字字库,在姓名单字字库中存储有所有姓名对应的单字。
步骤402,若姓名单字字库中包括繁体字,则将繁体字转换为简体字。
具体地,本实施例中,判断姓名单字字库中是否包括繁体字,若包括繁体字,则将繁体字转换为简体字。其中,可根据繁体字识别方法来判断姓名单字字库中是否包括繁体字。
步骤403,若姓名单字字库中包括多音字,则将多音字进行标记并将多音字构建两个单字,两个单字的发音不同。
进一步地,本实施例中,若姓名单字字库中包括多音字,则将多音字进行标记,即每个多音字具有多音字的标识,根据多音字的不同发音构成不同的单字。
可以理解的是,步骤402和步骤403为对姓名单字字库的后处理。在姓名单字字库完成构建和后处理后,不再执行步骤401-步骤403,但可定期进行姓名单字字库的更新。
步骤404,对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据。
本实施例中,对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据的实现方法与本发明实施例二中的步骤202a中对每个待处理单字进行不同维度的特征提取,形成每个待处理单字每个维度的特征数据的实现方法类似,在此不再一一赘述。
步骤405,获取待处理中文姓名。
步骤406,计算每个待处理单字与姓名单字字库中每个对比单字的相似度。
步骤407,判断待处理单字与对比单字的相似度是否大于预设阈值,若是,则执行步骤408,否则执行步骤409。
步骤408,确定对比单字为待处理单字的相似字。
步骤409,确定对比单字不为待处理单字的相似字。
步骤410,由相似字组成的集合确定为待处理单字的相似字集合。
步骤411,对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合。
步骤412,判断相似姓名集合中的相似姓名是否存在于全量姓名数据库中,若是,则执行步骤413,否则执行步骤414。
步骤413,该相似姓名为待处理的中文姓名模糊匹配出的结果。
步骤414,该相似姓名不为待处理的中文姓名模糊匹配出的结果。
本实施例中,步骤405-步骤414的实现方式与本发明实施例二提供的中文姓名模糊匹配的方法的步骤201-步骤210的实现方式相同,在此不再一一赘述。
本实施例提供的中文姓名模糊匹配的方法,在获取待处理中文姓名之前构建姓名单字字库,若所有姓名的单字中包括繁体字,则将繁体字转换为简体字;若姓名单字字库中包括多音字,则将多音字进行标记并将多音字构建多个单字,多个单字的发音不同;对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据。能够使构建出的姓名单字字库更加准确,并对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据,为单字相似度的计算做准备。
实施例四
图5为本发明实施例四提供的中文姓名模糊匹配的装置的结构示意图,如图5所示,本实施例提供的中文姓名模糊匹配的装置50包括:中文姓名获取单元51,相似字集合确定单元52,相似姓名集合确定单元53及相似姓名核实单元54。
其中,中文姓名获取单元51,用于获取待处理中文姓名。相似字集合确定单元52,用于确定待处理中文姓名中每个待处理单字的相似字集合。相似姓名集合确定单元53,用于对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合。相似姓名核实单元54,用于若相似姓名集合中的相似姓名存在于全量姓名数据库中,则相似姓名为待处理的中文姓名模糊匹配出的结果。
本实施例提供的中文姓名模糊匹配的装置可以执行图1所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
本实施例提供的中文姓名模糊匹配的装置,通过中文姓名获取单元获取待处理中文姓名,相似字集合确定单元确定待处理中文姓名中每个待处理单字的相似字集合,相似姓名集合确定单元对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合,若相似姓名集合中的相似姓名存在于全量姓名数据库中,则相似姓名核实单元确定相似姓名为待处理的中文姓名模糊匹配出的结果,由于在进行中文姓名的模糊匹配时,没有按照常规思路直接将待处理的姓名与全量姓名数据库中的所有姓名进行两两比较的方式进行,而是首先获得每个待处理单字的相似字集合,再将待处理单字及每个相似字进行相似姓名的组合,对组合后的相似姓名进行核实的方式进行,所以能够有效减少计算时间,有效提高中文姓名模糊匹配的效率。
实施例五
图6为本发明实施例五提供的中文姓名模糊匹配的装置的结构示意图,如图6所示,本实施例提供的中文姓名模糊匹配的装置60在本发明实施例四提供的中文姓名模糊匹配的装置的基础上,进一步地,还包括:构建单元61,字库单字特征提取单元62,转换单元63和多音字构建单元64。
进一步地,相似字集合确定单元52,具体包括:单字相似度计算子单元521,相似字确定子单元522,相似字集合确定子单元523。
其中,单字相似度计算子单元521,用于计算每个待处理单字与姓名单字字库中每个对比单字的相似度。相似字确定子单元522,用于若待处理单字与对比单字的相似度大于预设阈值,则确定对比单字为待处理单字的相似字。相似字集合确定子单元523,用于由相似字组成的集合确定为待处理单字的相似字集合。
进一步地,单字相似度计算子单元521,包括:单字特征提取模块521a,单字相似度计算模块521b,权重设置模块521c,加权求和计算模块521d。
其中,单字特征提取模块521a,用于对每个待处理单字进行不同维度的特征提取,形成每个待处理单字每个维度的特征数据。单字相似度计算模块521b,用于计算每个待处理单字每个维度的特征数据与每个对比单字的对应维度的特征数据的相似度。权重设置模块521c,用于设置每个维度的特征数据的权重。加权求和计算模块521d,用于将每个维度的特征数据的相似度进行加权求和计算,以获得每个待处理单字与姓名单字字库中每个对比单字的相似度。
进一步地,单字特征提取模块521a,包括:单字发音特征提取模块521a1,单字字形特征提取模块521a2。
其中,单字发音特征提取模块521a1,用于对每个待处理单字进行发音特征提取,形成每个待处理单字的发音特征数据。单字字形特征提取模块521a2,用于对每个待处理单字进行字形特征提取,形成每个待处理单字的字形特征数据。
进一步地,单字发音特征提取模块521a1,具体用于:判断每个待处理单字是否为多音字;若待处理单字为多音字,则对待处理单字作为姓名常用音的拼音进行声母特征提取和韵母特征提取,分别形成待处理单字的声母特征数据和韵母特征数据;若待处理单字不为多音字,则对待处理单字的拼音进行声母特征提取和韵母特征提取,分别形成待处理单字的声母特征数据和韵母特征数据。
进一步地,单字字形特征提取模块521a2,具体用于:对每个待处理单字分别进行四角码特征提取,笔画数特征提取,字形结构特征提取,分别形成四角码特征数据,笔画数特征数据,字形结构特征数据。
优选地,若待处理单字的特征数据为声母特征数据或韵母特征数据,则单字相似度计算模块521b,具体用于:将待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据进行对比;若待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据相同,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第一数值;若待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据相近,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第二数值;若待处理单字的声母特征数据或韵母特征数据与对比单字的对应维度的特征数据既不相同也不相近,则待处理单字与对比单字的声母特征数据或韵母特征数据的相似度为第三数值;其中,第一数值大于第二数值,第二数值大于第三数值。
优选地,若待处理单字的特征数据为四角码特征数据,则单字相似度计算模块521b,具体用于:将待处理单字的四角码特征数据的每位数据与对比单字的四角码特征数据的对应位的数据进行对比;若待处理单字的某位数据与对比单字对应位的数据相同,则该位数据对应的相似度为第一数值;若待处理单字的某位数据与对比单字对应位的数据不同,则该位数据对应的相似度为第三数值;将待处理单字与对比单字的四角码特征数据的所有位数据对应的相似度的平均值确定为待处理单字的四角码特征数据与对比单字的四角码特征数据的相似度;其中,第一数值大于第三数值。
优选地,若待处理单字的特征数据为笔画数特征数据,则单字相似度计算模块521b,具体用于:判断待处理单字的笔画数是否大于对比单字的笔画数;若待处理单字的笔画数大于对比单字的笔画数,则将对比单字的笔画数与待处理单字的笔画数的比值确定为待处理单字的笔画数特征数据与对比单字的笔画数特征数据的相似度;若待处理单字的笔画数小于或等于对比单字的笔画数,则将待处理单字的笔画数与对比单字的笔画数的比值作为待处理单字的笔画数特征数据与对比单字笔画数特征数据的相似度。
优选地,若待处理单字的特征数据为字形结构特征数据,则单字相似度计算模块521b,具体用于:判断待处理单字的字形结构特征数据是否与对比单字的字形结构特征数据相同;若待处理单字的字形结构特征数据与对比单字的字形结构特征数据相同,则确定待处理单字的字形结构特征数据与对比单字字形特征数据的相似度为第一数值;若待处理单字的字形结构特征数据与对比单字的字形结构特征数据不同,则确定待处理单字的字形结构特征数据与对比单字字形特征数据的相似度为第三数值;其中,第一数值大于第三数值。
进一步地,构建单元61,用于构建姓名单字字库。字库单字特征提取单元62,用于对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据。
进一步地,构建单元61,具体用于:提取全量姓名数据库中所有姓名的单字;将所有姓名的单字进行去重处理;由去重处理后的所有姓名的单字构建姓名单字字库。
进一步地,转换单元63,用于若所有姓名的单字中包括繁体字,则将繁体字转换为简体字。多音字构建单元64,用于若姓名单字字库中包括多音字,则将多音字进行标记并将多音字构建多个单字,多个单字的发音不同。
本实施例提供的中文姓名模糊匹配的装置可以执行图2和图4所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
本实施例提供的中文姓名模糊匹配的装置,在单字相似度计算模块计算每个待处理单字与姓名单字字库中每个对比单字的相似度时,单字特征提取模块对每个待处理单字进行不同维度的特征提取,形成每个待处理单字每个维度的特征数据。对每个待处理单字进行不同维度的特征提取可以包括:发音特征提取和字形特征提取。发音特征提取包括:声母特征提取,韵母特征提取。字形特征提取包括:四角码特征提取,笔画数特征提取和字形结构特征提取。权重设置模块能够根据应用场景设置每个维度的特征数据的权重,加权求和计算模块将每个维度的特征数据的相似度进行加权求和计算,以获得每个待处理单字与姓名单字字库中每个对比单字的相似度。由于中文汉字是象形文字,不仅具有发音特征而且具有字形特征,所以在进行单字的模糊匹配时,不仅提取单字的发音特征而且提取字形特征,同时考虑了发音相似度和字形相似度,并在进行特征数据的权重设定时,可根据应用场景进行权重调节,进而使单字模糊匹配结果更加准确。
本实施例提供的中文姓名模糊匹配的装置,在中文姓名获取单元获取待处理中文姓名之前,由构建单元构建姓名单字字库,若所有姓名的单字中包括繁体字,则转换单元将繁体字转换为简体字;若姓名单字字库中包括多音字,则多音字构建单元将多音字进行标记并将多音字构建多个单字,多个单字的发音不同;字库单字特征提取单元对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据。能够使构建出的姓名单字字库更加准确,并对姓名单字字库中的每个单字进行不同维度的特征提取,形成姓名单字字库中每个单字的每个维度的特征数据,为单字相似度的计算做准备。
实施例六
图7为本发明实施例五提供的电子设备的结构示意图,如图5所示,本实施例提供的电子设备70包括:存储器71,处理器72以及计算机程序。
其中,计算机程序存储在存储器71中,并被配置为由处理器72执行以实现如本发明实施例一提供的中文姓名模糊匹配的方法或本发明实施例二提供的中文姓名模糊匹配的方法或本发明实施例三提供的中文姓名模糊匹配的方法。
相关说明可以对应参见图1、图2或图4的步骤所对应的相关描述进行理解,此处不做过多赘述。
本发明实施例提供的电子设备,包括:存储器,处理器以及计算机程序。其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现如本发明实施例一至实施例三中任意一个实施例中的方法。由于在进行中文姓名的模糊匹配时,没有按照常规思路直接将待处理的姓名与全量姓名数据库中的所有姓名进行两两比较的方式进行,而是首先获得每个待处理单字的相似字集合,再将待处理单字及每个相似字进行相似姓名的组合,对组合后的相似姓名进行核实的方式进行,所以能够有效减少计算时间,有效提高中文姓名模糊匹配的效率。
实施例七
本发明实施例七还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明实施例一提供的中文姓名模糊匹配的方法或本发明实施例二提供的中文姓名模糊匹配的方法或本发明实施例三提供的中文姓名模糊匹配的方法。
本实施例提供的计算机可读存储介质,通过获取待处理中文姓名;确定待处理中文姓名中每个待处理单字的相似字集合;对每个待处理单字及相似字集合中的每个相似字进行相似姓名组合,形成相似姓名集合;若相似姓名集合中的相似姓名存在于全量姓名数据库中,则相似姓名为待处理的中文姓名模糊匹配出的结果。由于在进行中文姓名的模糊匹配时,没有按照常规思路直接将待处理的姓名与全量姓名数据库中的所有姓名进行两两比较的方式进行,而是首先获得每个待处理单字的相似字集合,再将待处理单字及每个相似字进行相似姓名的组合,对组合后的相似姓名进行核实的方式进行,所以能够有效减少计算时间,有效提高中文姓名模糊匹配的效率。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理单元或模块,即可以位于一个地方,或者也可以分布到多个网络单元或模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是各个单元或模块单独物理存在,也可以两个或两个以上单元或模块集成在一个单元或模块中。上述集成的单元或模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元或模块的形式实现。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。