一种基于模糊匹配算法的单位名称匹配、查找方法及装置制造方法及图纸

技术编号:29704117 阅读:119 留言:0更新日期:2021-08-17 14:32
本发明专利技术涉及一种基于模糊匹配算法的单位名称匹配、查找方法及装置。对于待匹配的两个单位名称进行自定义分词处理获取相应的自定义分词,所述的自定义分词包括三类,分别为属性词、区域词和别名词;进而基于自定义分词结果计算两个单位名称中各类自定义分词的模糊匹配分值,进而将各类自定义分词的模糊匹配分值进行加权处理获取两个单位名称的模糊匹配分值。与现有技术相比,本发明专利技术具有单位名称匹配、查找精准等优点。

【技术实现步骤摘要】
一种基于模糊匹配算法的单位名称匹配、查找方法及装置
本专利技术涉及一种单位名称匹配、查找方法及装置,尤其是涉及一种基于模糊匹配算法的单位名称匹配、查找方法及装置。
技术介绍
当今信息技术时代背景下,各行业特别是金融行业对于客户信息的挖掘要求越来越迫切,需要客户信息更加精准,并且挖掘速度更加快捷。为了满足这个需求,引入了ES数据库,ES作为一个分布式的数据库,提供了可扩展的搜索,具有接近实时的搜索能力,并且支持大量数据的精准查询和模糊查询处理。ES模糊查询,是基于Elasticsearch自带分词方法实现的快速模糊匹配的查询方法。Elasticsearch是一个分布式的数据库,它提供了一个分布式多用户能力的全文搜索引擎,通过HTTP使用JSON进行数据索引。ES可被用作全文检索,结构化搜索,以及数据分析。通过ES自带的字典库以及分词方法,可实现快速查询库表内的相似数据。但是由于原生的分词方法较为单一,应用场景也较为单一,无法满足对多个单位名称模糊匹配并且获取相似度的业务场景。而且原生的ES模糊查询方法依赖于词库,所以无法达到对单位名称这种模糊匹配要求较高的数据精准匹配。现有技术中对单位名称查找是直接通过Elasticsearch的IK分词,对需要模糊匹配的单位名称进行分词。应用在调用ES原生的模糊匹配方法时,通过给ES数据库发送HTTP的JSON报文实现模糊匹配和查询。但是该技术仅局限于把输入的单位名称进行IK分词,分成不同的索引,然后根据索引定位到数据库内匹配到的名称。这样的匹配方法较为简单,对于一些特定规则的单位,会存在错误匹配的情况,具体体现为:1、单位名称里面存在简称,ES无法直接识别出简称;2、单位名称内包含了区域名称,但是ES无法识别出这是个区域,会筛选出非本区域的其他单位名称;3、单位名称内包含别名字段,但是ES无法直接筛选出别名的单位名称;4、用户输入的不确定性导致单位名称里面会包含很多无效的字符,比如括号,点等,ES无法识别出来;5、没有权重概念,ES每个匹配到的分词索引的权重都是一样的,没有办法动态调控不同分词的权重。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于模糊匹配算法的单位名称匹配、查找方法及装置。本专利技术的目的可以通过以下技术方案来实现:一种基于模糊匹配算法的单位名称匹配方法,该方法包括如下步骤:S1、获取待匹配的两个单位名称,判定是否互相包含或者完全匹配,若是则直接输出模糊匹配分值为100,否则执行步骤S2;S2、对两个单位名称分别进行预处理,包括标准化处理和过滤处理;S3、对两个单位名称分别进行自定义分词处理获取相应的自定义分词,所述的自定义分词包括三类,分别为属性词、区域词和别名词;S4、基于自定义分词结果判定能否直接进行模糊匹配计算,若是则执行步骤S6,否则执行步骤S5;S5、对两个单位名称进行模糊匹配直接判定,若满足模糊匹配直接判定条件,则直接输出模糊匹配分值为100,否则执行步骤S6;S6、基于自定义分词结果计算两个单位名称中各类自定义分词的模糊匹配分值,进而将各类自定义分词的模糊匹配分值进行加权处理获取两个单位名称的模糊匹配分值。优选地,步骤S2中标准化处理包括:基于简称词库将单位名称中的简称词替换为标准词。优选地,步骤S2中过滤处理包括:删除单位名称中无意义的字符,基于无效词库删除单位名称中的无效词。优选地,步骤S4判定能够直接进行模糊匹配计算的条件包括其中任意一个:两个单位名称的分词结果中均包含区域词,且区域词不相同;其中一个单位名称的分词结果中包含别名词,另一个单位名称的分词结果中不包含别名词。优选地,步骤S5模糊匹配直接判定的具体判定包括:S51、若两个单位名称的分词结果中均包含别名词,且别名词不相同,则执行步骤S52,否则执行步骤S53;S52、ES分词判定:利用ES词库自带的IK分词方法对两个单位名称分别进行ES分词得到两个分词结合,将较短的分词集合记作Aset,较长的分词集合记作Bset,若Aset内的所有分词都包含在Bset中,则直接输出模糊匹配分值为100,否则对两个分词集合中的重复分词进行计数记作Cnt,同时记Aset中的分词总数为Cnaset,若Cnaset≥esLen且Cnt/Cnaset≥esPct,则直接输出模糊匹配分值为100,否则执行步骤S53,其中,esLen、esPct为设置阈值;S53、公共词判定:将字符数较少的单位名称记作A,字符数较多的单位名称记作B,将A中每个字符依次遍历到B中,取得一个最长的匹配到的字符串集合,称作公共词C,若公共词与其中一个单位名称完全匹配且公共词长度超过3位,则直接输出模糊匹配分值为100,否则:将公共词C与单位名称B重新进行自定义分词,若B和C的分词结果中属性词相同,并且别名词为空则直接输出模糊匹配分值为100,否则执行步骤S54;S54、子集合判定:对步骤S2预处理后的单位名称进行子集判定,若两者互相包含,则直接输出模糊匹配分值为100,否则执行步骤S55;S55、自定义分词判定:若两个单位名称分词结果中两个区域词集合非空并且相等并且两个别名词集合非空并且相等,则直接输出模糊匹配分值为100,否则执行步骤S6。优选地,步骤S6中各类自定义分词的模糊匹配分值通过如下方式获得:记两个公司名称为A和B,对于i类别的自定义分词,将两个公司名称对应的该类别的自定义分词的集合通过最长公共子序列长度计算方法,计算得到i类别自定义分词的最长公共子序列长度maxSubSeq(A,B)imaxSubSeq(A,B),然后通过下式计算i类别自定义分词的模糊匹配分值scorei:其中,|A|i表示A中i类别的自定义分词长度,|B|i表示B中i类别的自定义分词长度,i对应属性词、区域词和别名词三个类别。优选地,两个单位名称的模糊匹配分值通过下式获得:其中,mathScore表示两个单位名称的模糊匹配分值,表示取2为小数计算,wi为i类别的自定义分词的权重。一种基于模糊匹配算法的单位名称查找方法,该方法包括:获取待查找的单位名称,通过ES模糊匹配确定单位名称词库中匹配度最高的待匹配名称;将待查找的单位名称与待匹配名称采用权利要求1~7任意一项所述的基于模糊匹配算法的单位名称匹配方法进行匹配确定单位名称词库中待匹配名称与待查找的单位名称的模糊匹配分值。一种基于模糊匹配算法的单位名称匹配装置,该装置包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于当执行所述的计算机程序时实现所述的基于模糊匹配算法的单位名称匹配方法。一种基于模糊匹配算法的单位名称查找装置,该装置包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于当执行所述的计算机程序时实现所述的基于模糊匹配算法的单位名称查找方法。与现有技术相比本文档来自技高网
...

【技术保护点】
1.一种基于模糊匹配算法的单位名称匹配方法,其特征在于,该方法包括如下步骤:/nS1、获取待匹配的两个单位名称,判定是否互相包含或者完全匹配,若是则直接输出模糊匹配分值为100,否则执行步骤S2;/nS2、对两个单位名称分别进行预处理,包括标准化处理和过滤处理;/nS3、对两个单位名称分别进行自定义分词处理获取相应的自定义分词,所述的自定义分词包括三类,分别为属性词、区域词和别名词;/nS4、基于自定义分词结果判定能否直接进行模糊匹配计算,若是则执行步骤S6,否则执行步骤S5;/nS5、对两个单位名称进行模糊匹配直接判定,若满足模糊匹配直接判定条件,则直接输出模糊匹配分值为100,否则执行步骤S6;/nS6、基于自定义分词结果计算两个单位名称中各类自定义分词的模糊匹配分值,进而将各类自定义分词的模糊匹配分值进行加权处理获取两个单位名称的模糊匹配分值。/n

【技术特征摘要】
1.一种基于模糊匹配算法的单位名称匹配方法,其特征在于,该方法包括如下步骤:
S1、获取待匹配的两个单位名称,判定是否互相包含或者完全匹配,若是则直接输出模糊匹配分值为100,否则执行步骤S2;
S2、对两个单位名称分别进行预处理,包括标准化处理和过滤处理;
S3、对两个单位名称分别进行自定义分词处理获取相应的自定义分词,所述的自定义分词包括三类,分别为属性词、区域词和别名词;
S4、基于自定义分词结果判定能否直接进行模糊匹配计算,若是则执行步骤S6,否则执行步骤S5;
S5、对两个单位名称进行模糊匹配直接判定,若满足模糊匹配直接判定条件,则直接输出模糊匹配分值为100,否则执行步骤S6;
S6、基于自定义分词结果计算两个单位名称中各类自定义分词的模糊匹配分值,进而将各类自定义分词的模糊匹配分值进行加权处理获取两个单位名称的模糊匹配分值。


2.根据权利要求1所述的一种基于模糊匹配算法的单位名称匹配方法,其特征在于,步骤S2中标准化处理包括:基于简称词库将单位名称中的简称词替换为标准词。


3.根据权利要求1所述的一种基于模糊匹配算法的单位名称匹配方法,其特征在于,步骤S2中过滤处理包括:删除单位名称中无意义的字符,基于无效词库删除单位名称中的无效词。


4.根据权利要求1所述的一种基于模糊匹配算法的单位名称匹配方法,其特征在于,步骤S4判定能够直接进行模糊匹配计算的条件包括其中任意一个:
两个单位名称的分词结果中均包含区域词,且区域词不相同;
其中一个单位名称的分词结果中包含别名词,另一个单位名称的分词结果中不包含别名词。


5.根据权利要求1所述的一种基于模糊匹配算法的单位名称匹配方法,其特征在于,步骤S5模糊匹配直接判定的具体判定包括:
S51、若两个单位名称的分词结果中均包含别名词,且别名词不相同,则执行步骤S52,否则执行步骤S53;
S52、ES分词判定:利用ES词库自带的IK分词方法对两个单位名称分别进行ES分词得到两个分词结合,将较短的分词集合记作Aset,较长的分词集合记作Bset,若Aset内的所有分词都包含在Bset中,则直接输出模糊匹配分值为100,否则对两个分词集合中的重复分词进行计数记作Cnt,同时记Aset中的分词总数为Cnaset,若Cnaset≥esLen且Cnt/Cnaset≥esPct,则直接输出模糊匹配分值为100,否则执行步骤S53,其中,esLen、esPct为设置阈值;
S53、公共词判定:将字符数较少的单位名称记作A,字符数较多的单位名称记作B,将A中每个字符依次遍历到B中...

【专利技术属性】
技术研发人员:李君许志坚
申请(专利权)人:交通银行股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1