CN110427991A - 一种字符串匹配方法及装置 - Google Patents
一种字符串匹配方法及装置 Download PDFInfo
- Publication number
- CN110427991A CN110427991A CN201910662610.0A CN201910662610A CN110427991A CN 110427991 A CN110427991 A CN 110427991A CN 201910662610 A CN201910662610 A CN 201910662610A CN 110427991 A CN110427991 A CN 110427991A
- Authority
- CN
- China
- Prior art keywords
- field
- participle
- character string
- matched
- character strings
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种字符串匹配方法及装置,该方法包括:获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。本发明可以通过将两个字符串经过分词、分段、对比后得到的特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率,从而使字符串的匹配率增高,匹配结果更准确。
Description
技术领域
本发明涉及数据科学领域,尤其涉及一种字符串匹配方法及装置。
背景技术
企业名称匹配是风险控制领域非常重要的技术。例如,在金融行业,尤其在信贷行业,经常要客户填写企业名称用于风险管理,并对客户所填写的企业名称与相应查询资料中的企业名称进行匹配。举个例子,可以用客户填写的企业名称与其征信报告的企业名称进行匹配,核实客户之前是否在该企业工作;或者,可以用该客户的企业名称与其他客户的企业名称对比,看该客户是否还有同事也是本机构客户。
现有技术在进行企业名称的匹配时,可以采用人工对比的方式来进行匹配,即人为地对不同的企业名称进行匹配。显然,这种方式人力成本较高,且操作复杂,耗时较长。也可以使用计算机全字符匹配,但是采用这种方法会遗漏掉很大一部分真实相等的公司名称。进行企业名称的匹配时还可以通过中文模糊匹配技术实现企业名称的模糊匹配,采用基于分词的模糊匹配算法,首先将企业名称分段,主要分为行政区、企业字号、行业属性、企业属性、分支机构、部门等,然后根据分成的段进行模糊匹配。企业名称匹配率低,匹配结果不准确。
上述技术可以对企业名称进行匹配,但不限于只对企业名称进行匹配,对于其他的字符串也可以采用以上技术进行匹配,但同样也存在上述匹配效率低及匹配结果不准确的问题。
发明内容
本发明提供一种字符串匹配方法及装置,用以解决对企业名称进行匹配,存在匹配效率低及匹配结果不准确的问题。
第一方面,本申请提供一种字符串匹配方法,该方法包括:
获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
可选的,预先训练分类模型,包括:
获取包括多个训练样本的训练样本集,每个训练样本包括待训练的两个字符串及所述待训练的两个字符串的匹配度;
对所述待训练的每个字符串进行分词得到至少一个分词;
根据预设定义的包括不同字段的结构字符串,及不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,得到待训练的两个结构字符串;
通过对比所述待训练的两个结构字符串中字段的内容得到特征向量;
利用所述训练样本的特征向量及匹配度对预设分类模型进行训练。
可选的,对每个字符串分词得到至少一个分词,包括:
通过jieba分词算法对每个字符串分词得到至少一个分词。
可选的,根据不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,包括:
在词库中检索每个分词所匹配的词汇,所述词库包括预设定义的不同字段中至少一个字段所映射的所有分词;
查到其中一个分词匹配的词汇时,根据查找的词汇所映射的字段,确定该分词对应的字段,并将分词赋值给对应的字段。
可选的,通过对比两个结构字符串中字段的内容得到特征向量,包括:
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比,得到每两个对比字段的相似度,根据得到的所有相似度构建特征向量。
可选的,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中字段的内容对比,包括:
通过笛卡尔乘机的方法,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比。
可选的,预先训练利用如下任一分类算法构建的分类模型,包括:
决策树分类算法、随机森林分类算法、逻辑回归分类算法、神经网络分类算法。
可选的,根据预设定义的包括不同字段的结构字符串,包括主机构部分和分支机构部分;
所述主机构部分包括字段:行政区划、字号、行业、组织形式;
所述分支机构部分包括字段:行政区划、字号、行业、组织形式。
第二方面,本申请提供一种字符串匹配装置,该装置包括:
分词模块,用于获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
赋值模块,用于根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
向量确定模块,用于通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
匹配模块,用于将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
第三方面,本申请提供一种字符串匹配装置,包括:存储器、处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
第四方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第一方面所述方法的步骤。
另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
利用本发明提供的一种字符串匹配方法及装置,具有以下有益效果:
本发明提供的一种字符串匹配方法及装置,可以通过将两个字符串经过分词、分段、对比后得到的特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。从而使字符串的匹配率增高,匹配结果更准确。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种字符串匹配方法示意图;
图2为本发明实施例提供的一种训练分类模型的方法示意图;
图3为本发明实施例提供的一种字符串匹配装置示意图;
图4为本发明实施例提供的一种字符串匹配装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明实施例提供了一种字符串匹配方法,该字符串可以但不限于是企业名称,企业名称应当由行政区划、字号、行业、组织形式依次组成,法律法规另有规定的除外,以“北京××信息技术股份有限公司”。
表1
行政区划 | 字号 | 行业 | 组织形式 |
北京 | ××× | 信息技术 | 股份有限公司 |
企业名称中的行政区划是本企业所在地县级以上行政区划的名称或地名。有些将名称中的行政区划放在字号之后,组织形式之前。可以将“中国”也当作一个行政区划去处理。
企业名称中的字号应当由2个以上汉字组成,行政区划不得用作字号,但县以上行政区划地名具有其他含义的除外,企业名称可以使用自然人投资人的姓名作字号。
企业名称中的行业表述应当是反映企业经济活动性质所属国民经济行业或者企业经营特点的用语。企业名称中行业用语表述的内容应当与企业经营范围一致。企业经济活动性质分别属于国民经济行业不同大类的,应当选择主要经济活动性质所属国民经济行业类别用语表述企业名称中的行业。
依据《中华人民共和国公司法》、《中华人民共和国中外合资经营企业法》申请登记的企业名称,其组织形式为有限公司(有限责任公司)或者股份有限公司;依据其它法律、法规申请登记的企业名称,组织形式不得申请为“有限公司(有限责任公司)”或“股份有限公司”,非公司制企业可以申请用“厂”、“店”、“部”、“中心”等作为企业名称的组织形式,例如“北京***食品厂”、“北京**商店”、“北京**技术开发中心”。
现有公开了公司名称对比的一些技术。例如对公司分词、分段权重。但是未公开权重的设置方式。
而对于公司名称对比来说,权重是至关重要的。例如下面两对名称:
联想公司与联想集团;
联想公司与百度公司;
拆分之后如下:
表2
行政区划 | 字号 | 行业 | 组织形式 |
联想 | 集团 | ||
联想 | 公司 | ||
百度 | 公司 |
如果字号、组织形式的权重都是0.5,则“联想公司”与“联想集团”的匹配度是0.5;“联想公司”与“百度公司”的匹配度是0.5;这明显与人的直观感觉不同。
如果字号、组织形式的权重分别是0.8、0.2,则“联想公司”与“联想集团”的匹配度是0.8;“联想公司”与“百度公司”的匹配度是0.2;这明显与人的直观感觉较一致。
鉴于以上问题,本发明提供了一种字符串匹配方法,如图1所示,包括:
S101,获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
上述字符串可以但不限于是两个公司名称,例如上述“联通公司”和“联通集团”,“联通公司”和“百度公司”,对上述两个公司名称进行匹配,确定两个公司名称的匹配概率。
对每个字符串分词得到至少一个分词,包括:通过jieba分词算法对每个字符串分词得到至少一个分词。例如,将上述“联通公司”分词后为“联通+公司”两个分词,将上述“联通集团”分词后为“联通+集团”两个分词,将上述“百度公司”分词后为“百度+公司”两个分词。若公司名称为“中国联通公司”,则“中国联通公司”分词后为“中国+联通+公司”三个分词,若公司名称为“联通”,则“联通”分词后为“联通”一个分词,分词后所得到的分词按照公司名称命名规则最少为一个。
上述分词还可以但不限于为以下分词算法:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。
S102,根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
根据上述公司名称的命名规则预设定义一个结构字符串,上述结构字符串分为不同字段,根据公司名称的命名规则可以分为主机构部分字段和分支机构部分字段,上述主机构部分字段又可以分为行政区划、字号、行业、组织形式等字段,分支机构部分字段可以分为行政区划、字号、行业、组织形式等字段;
不同字段映射不同分词,根据不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,包括:在词库中检索每个分词所匹配的词汇,所述词库包括预设定义的不同字段中至少一个字段所映射的所有分词;查到其中一个分词匹配的词汇时,根据查找的词汇所映射的字段,确定该分词对应的字段,并将分词赋值给对应的字段;
预设定义的不同字段,有些字段可能为针对不同企业可以自定义的专有字段,则此类在专有字段在词库中没有相应的词汇;
上述过程采用数据字典的设计方法,根据不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段。例如“中国联通公司”中“中国”分词对应字段为行政区划,“联通”分词对应字段为字号,“公司”分词对应字段为组织形式,“工商银行北京分行”中“工商”分词对应字段为字号,“银行”分词对应字段为行业,“北京分行”为分支机构部分,其中“北京”分词对应字段为行政区划,“分行”分词对应字段为组织形式,“北京工商银行”中“北京”分词对应字段为行政区划,“工商”分词对应字段为字号,“银行”分词对应字段为行业;
确定得到的每个分词对应的字段后,并将上述分词赋值给对应的字段,得到待匹配的两个结构字符串;
将所需要匹配的两个公司名称经过分词后得到至少一个分词,后将分词赋值给对应的字段,得到两个结构字符串进行匹配。
S103,通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
上述对比所述待匹配的两个结构字符串中字段的内容得到特征向量,可以将两个公司名称得到的两个结构字符串中的相同字段的字段内容进行对比,得到每两个对比字段的相似度,根据得到的所有相似度构建出8个特征向量。也可以将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比,得到每两个对比字段的相似度,根据得到的所有相似度构建出64特征向量。这两种方法中,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比的方法得到的结果更准确,本实施例采用该方法对比所述待匹配的两个结构字符串中字段的内容得到特征向量。
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中字段的内容对比,包括:通过笛卡尔乘机的方法,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比。
若结构字符串中字段的内容为空,则用特殊值来标识,例如第一个结构字符串的一个字段内容和第二个结构字符串的一个字段内容都为空,则两个字段对比的结果用“00”来标记,第一个结构字符串的一个字段内容不为空,第二个结构字符串的一个字段内容为空,则两个字段对比的结果用“10”来标记,第一个结构字符串的一个字段内容为空,第二个结构字符串的一个字段内容不为空,则两个字段对比的结果用“01”来标记;
若两个字符串的需要对比字段内容都不为空,则通过笛卡尔乘机的方法对比得到两个字段的相似度,用得到的相似度结果得到特征向量。
S104,将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
将上述特征向量输入预先训练的分类模型中,其中两个公司名称的匹配度作为因变量(y变量),构建出来的64个特征向量当作自变量(x变量)。
预先训练利用如下任一分类算法构建的分类模型,包括:决策树分类算法、随机森林分类算法、逻辑回归分类算法、神经网络分类算法。
工作中用逻辑回归、决策树或其他分类方法来构建模型时,通常需要对特征向量进行筛选,WOE是变量初筛常用的方式之一。WOE衡量变量某个属性的区分能力,WOE值越大,区分度越高。
在使用训练模型根据特征值进行分类的时候,如果所有特征向量位于同一值域范围内,利用这些变量一次性算出距离值是有意义的。不过,假设我们引入一个对最终的分类结果产生影响的新变量(不同类型的变量Heterogenous Varibales)。与我们目前使用过的变量不同(假设之前的变量的取值均介于0和100之间),这些变量可能会达到1000。很显然,和原先的变量相比,这个新的变量对距离计算所产生的影响更为显著其影响将超过任何其他变量对距离计算所构成的影响,这意味着,在计算距离的过程中其他变量根本就未被考虑在内。
所以需要对所有的特征向量进行归一化处理。本实施例可以采用但不限于以下几种归一化的方法:线性函数转换、对数函数转换、反余切函数转换、减去均值,乘以方差。
本实施例中预先训练分类模型的步骤,如图2所示,包括:
步骤S201,获取包括多个训练样本的训练样本集,每个训练样本包括待训练的两个字符串及所述待训练的两个字符串的匹配度;
将需要匹配的所有公司名称进行整理,挑选出有效、数据量足够的训练样本构成训练样本集,每个训练样本包括带训练的两个字符串和及所述待训练的两个字符串的匹配度,匹配度用标识来表示,可以为分类型0和1,若为0则表示待训练的两个字符串不匹配,若为1则表示待训练的两个字符串匹配,匹配度也可以用连续值来表示,连续值越大,匹配度越高。
步骤S202,对所述待训练的每个字符串进行分词得到至少一个分词;
对每个字符串分词得到至少一个分词,包括:通过jieba分词算法对每个字符串分词得到至少一个分词。
步骤S203,根据预设定义的包括不同字段的结构字符串,及不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,得到待训练的两个结构字符串;
根据不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,包括:词库中检索每个分词所匹配的词汇,所述词库包括预设定义的不同字段中至少一个字段所映射的所有分词;
查到其中一个分词匹配的词汇时,根据查找的词汇所映射的字段,确定该分词对应的字段,并将分词赋值给对应的字段。
通过对比两个结构字符串中字段的内容得到特征向量,包括:
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比,得到每两个对比字段的相似度,根据得到的所有相似度构建特征向量。
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中字段的内容对比,包括:通过笛卡尔乘机的方法,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比。
步骤S204,通过对比所述待训练的两个结构字符串中字段的内容得到特征向量;
通过对比两个结构字符串中字段的内容得到特征向量,包括:
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比,得到每两个对比字段的相似度,根据得到的所有相似度构建特征向量。
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中字段的内容对比,包括:
通过笛卡尔乘机的方法,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比。
步骤S205,利用所述训练样本的特征向量及匹配度对预设分类模型进行训练。
预先训练利用如下任一分类算法构建的分类模型,包括:
决策树分类算法、随机森林分类算法、逻辑回归分类算法、神经网络分类算法。
作为一种可选的实施方式,本实施例中的机器学习分类算法包括如下任一分类算法:
1)决策树分类算法
决策树算法是一种逼近离散函数值的方法,它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析,本质上决策树是通过一系列规则对数据进行分类的过程。
决策树构造可以分两步进行:第一步,决策树的生成,具体由训练样本集生成决策树的过程;第二步,决策树的剪枝,决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修下的过程,主要是用新的样本数据集(称为测试数据集)中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。
2)随机森林分类算法;
随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,包括多个节点,从训练样本中以抽样的方式,取样N次,形成一个训练集,并用未抽到的样本作预测,评估其误差。
对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的,根据这m个特征,计算其最佳的分裂方式。
3)逻辑回归分类算法
逻辑回归分类算法是分类和预测算法中的一种,通过历史数据的表现对未来结果发生的概率进行预测。
逻辑回归其实仅为在线性回归的基础上,套用了一个逻辑函数。对于多元逻辑回归,对于训练数据集,特征数据x={x1,x2,…,xm}和对应的分类数据y={y1,y2,…,ym}。构建逻辑回归模型f(θ),最典型的构建方法便是应用极大似然估计。
4)神经网络分类算法
神经网络分类算法思维方式的根本之点在于以下两点:信息是通过神经元上的兴奋模式分布存储在网络上;信息处理是通过神经元之间同时相互作用的动态过程来完成的,通过训练使神经网络分类模型具有逻辑思维推理能力。
上述任一类型机器学习分类算法,需要基于相应的训练样本进行训练,本实施例中的训练样本包括待训练的两个字符串及所述待训练的两个字符串的匹配度。
以上为本发明中一种字符串匹配方法,下面结合实施例进行进一步说明:
首先获取包括多个训练样本的训练样本集,每个训练样本包括待训练的两个字符串及所述待训练的两个字符串的匹配度;
本实施例中取以下公司名称进行匹配,其中匹配概率采用标识分类,得到的训练样本集如下:
然后对所述待训练的每个字符串进行分词得到至少一个分词,分词结果如下:
公司名称1 | 公司名称2 |
联动优势 | 联动优势+科技+有限+公司 |
联动+公司 | 百度+公司 |
百度 | 百度+公司 |
工商+银行+北京+分行 | 北京+工商+银行 |
根据预设定义的包括不同字段的结构字符串,及不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,得到待训练的两个结构字符串;
结构字符串的不同字段如下:
行政区划 | 字号 | 行业 | 组织形式 |
考虑到主机构分支机构,得到下面的字段:
将分词赋值给对应的字段,得到待训练的两个结构字符串:
通过对比所述待训练的两个结构字符串中字段的内容得到特征向量:
上述训练匹配度为标识0和1,0表示不匹配,1表示匹配,第一个结构字符串的一个字段内容和第二个结构字符串的一个字段内容都为空,则两个字段对比的结果用“00”来标记,第一个结构字符串的一个字段内容不为空,第二个结构字符串的一个字段内容为空,则两个字段对比的结果用“10”来标记,第一个结构字符串的一个字段内容为空,第二个结构字符串的一个字段内容不为空,则两个字段对比的结果用“01”来标记,两个结构字符串都不为空,则对比结果采用0-100之间的连续值表示。
利用所述训练样本的特征向量及匹配度对预设分类模型进行训练,本实施例训练结束后得到分类模型的表达式为:
X=0.5+0.12*var01+0.02var04+0.99*var10+0.36*var19+0.18*var56
p=e^X/(1+e^X)
对模型训练完成,之后获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
根据预设定义的包括不同字段的结构字符串,及不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,得到待匹配的两个结构字符串;
通过对比待匹配的两个结构字符串中字段的内容得到特征向量;
将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
以上对本发明中一种字符串匹配方法进行说明,以下对执行上述字符串匹配方法的装置进行说明。
请参阅图3本发明实施例提供的字符串匹配方法的装置,包括:
分词模块301,用于获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
赋值模块302,用于根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
向量确定模块303,用于通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
匹配模块304,用于将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
可选的,匹配模块,用于预先训练分类模型,包括:
获取包括多个训练样本的训练样本集,每个训练样本包括待训练的两个字符串及所述待训练的两个字符串的匹配度;
对所述待训练的每个字符串进行分词得到至少一个分词;
根据预设定义的包括不同字段的结构字符串,及不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,得到待训练的两个结构字符串;
通过对比所述待训练的两个结构字符串中字段的内容得到特征向量;
利用所述训练样本的特征向量及匹配度对预设分类模型进行训练。
可选的,对每个字符串分词得到至少一个分词,包括:
通过jieba分词算法对每个字符串分词得到至少一个分词。
可选的,分词模块,用于根据不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,包括:
在词库中检索每个分词所匹配的词汇,所述词库包括预设定义的不同字段中至少一个字段所映射的所有分词;
查到其中一个分词匹配的词汇时,根据查找的词汇所映射的字段,确定该分词对应的字段,并将分词赋值给对应的字段。
可选的,向量确定模块,用于通过对比两个结构字符串中字段的内容得到特征向量,包括:
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比,得到每两个对比字段的相似度,根据得到的所有相似度构建特征向量。
可选的,向量确定模块,用于将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中字段的内容对比,包括:
通过笛卡尔乘机的方法,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比。
可选的,匹配模块,用于预先训练利用如下任一分类算法构建的分类模型,包括:
决策树分类算法、随机森林分类算法、逻辑回归分类算法、神经网络分类算法。
可选的,赋值模块,用于根据预设定义的包括不同字段的结构字符串,包括主机构部分和分支机构部分;
所述主机构部分包括字段:行政区划、字号、行业、组织形式;
所述分支机构部分包括字段:行政区划、字号、行业、组织形式。
上面从模块化功能实体的角度对本申请实施例中的一种字符串匹配方法的装置进行了描述,下面从硬件处理的角度对本申请实施例中的字符串匹配方法的装置进行描述。
请参阅图4,本申请实施例中一种字符串匹配方法的装置,包括:
存储器401、处理器402;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
可选的,处理器用于预先训练分类模型,包括:
获取包括多个训练样本的训练样本集,每个训练样本包括待训练的两个字符串及所述待训练的两个字符串的匹配度;
对所述待训练的每个字符串进行分词得到至少一个分词;
根据预设定义的包括不同字段的结构字符串,及不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,得到待训练的两个结构字符串;
通过对比所述待训练的两个结构字符串中字段的内容得到特征向量;
利用所述训练样本的特征向量及匹配度对预设分类模型进行训练。
可选的,处理器用于对每个字符串分词得到至少一个分词,包括:
通过jieba分词算法对每个字符串分词得到至少一个分词。
可选的,处理器用于根据不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,包括:
在词库中检索每个分词所匹配的词汇,所述词库包括预设定义的不同字段中至少一个字段所映射的所有分词;
查到其中一个分词匹配的词汇时,根据查找的词汇所映射的字段,确定该分词对应的字段,并将分词赋值给对应的字段。
可选的,处理器用于通过对比两个结构字符串中字段的内容得到特征向量,包括:
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比,得到每两个对比字段的相似度,根据得到的所有相似度构建特征向量。
可选的,处理器用于将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中字段的内容对比,包括:
通过笛卡尔乘机的方法,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比。
可选的,处理器用于预先训练利用如下任一分类算法构建的分类模型,包括:
决策树分类算法、随机森林分类算法、逻辑回归分类算法、神经网络分类算法。
可选的,处理器用于根据预设定义的包括不同字段的结构字符串,包括主机构部分和分支机构部分;
所述主机构部分包括字段:行政区划、字号、行业、组织形式;
所述分支机构部分包括字段:行政区划、字号、行业、组织形式。
本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述实施例提供的满足字符串匹配的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种字符串匹配方法,其特征在于,包括:
获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
2.根据权利要求1所述的方法,其特征在于,预先训练分类模型,包括:
获取包括多个训练样本的训练样本集,每个训练样本包括待训练的两个字符串及所述待训练的两个字符串的匹配度;
对所述待训练的每个字符串进行分词得到至少一个分词;
根据预设定义的包括不同字段的结构字符串,及不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,得到待训练的两个结构字符串;
通过对比所述待训练的两个结构字符串中字段的内容得到特征向量;
利用所述训练样本的特征向量及匹配度对预设分类模型进行训练。
3.根据权利要求1或2所述的方法,其特征在于,根据不同字段所映射的分词,确定得到的每个分词对应的字段,并将分词赋值给对应的字段,包括:
在词库中检索每个分词所匹配的词汇,所述词库包括预设定义的不同字段中至少一个字段所映射的所有分词;
查到其中一个分词匹配的词汇时,根据查找的词汇所映射的字段,确定该分词对应的字段,并将分词赋值给对应的字段。
4.根据权利要求1或2所述的方法,其特征在于,通过对比两个结构字符串中字段的内容得到特征向量,包括:
将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比,得到每两个对比字段的相似度,根据得到的所有相似度构建特征向量。
5.根据权利要求4所述的方法,其特征在于,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中字段的内容对比,包括:
通过笛卡尔乘机的方法,将其中一个结构字符串中每个字段的内容分别与另一个结构字符串中所有字段的内容一一对比。
6.根据权利要求1或2所述的方法,其特征在于,预先训练利用如下任一分类算法构建的分类模型,包括:
决策树分类算法、随机森林分类算法、逻辑回归分类算法、神经网络分类算法。
7.根据权利要求1或2所述的方法,其特征在于,根据预设定义的包括不同字段的结构字符串,包括主机构部分和分支机构部分;
所述主机构部分包括字段:行政区划、字号、行业、组织形式;
所述分支机构部分包括字段:行政区划、字号、行业、组织形式。
8.一种字符串匹配装置,其特征在于,该装置包括:
分词模块,用于获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
赋值模块,用于根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
向量确定模块,用于通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
匹配模块,用于将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
9.一种字符串匹配装置,其特征在于,包括:存储器、处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取待匹配的两个字符串,对每个字符串分词得到对应的至少一个分词;
根据预设定义的包括不同字段的结构字符串,及所述不同字段所映射的分词,确定得到的每个分词对应的字段,并将所述分词赋值给对应的字段,得到待匹配的两个结构字符串;
通过对比所述待匹配的两个结构字符串中字段的内容得到特征向量;
将所述特征向量输入预先训练的分类模型中,得到所述待匹配的两个字符串的匹配概率。
10.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910662610.0A CN110427991A (zh) | 2019-07-22 | 2019-07-22 | 一种字符串匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910662610.0A CN110427991A (zh) | 2019-07-22 | 2019-07-22 | 一种字符串匹配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110427991A true CN110427991A (zh) | 2019-11-08 |
Family
ID=68411691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910662610.0A Pending CN110427991A (zh) | 2019-07-22 | 2019-07-22 | 一种字符串匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427991A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844560A (zh) * | 2017-10-30 | 2018-03-27 | 北京锐安科技有限公司 | 一种数据接入的方法、装置、计算机设备和可读存储介质 |
CN111079434A (zh) * | 2019-12-05 | 2020-04-28 | 苏州朗动网络科技有限公司 | 公司简称自动对应公司全称的方法、设备和存储介质 |
CN111104795A (zh) * | 2019-11-19 | 2020-05-05 | 平安金融管理学院(中国·深圳) | 公司名称的匹配方法、装置、计算机设备及存储介质 |
CN112199372A (zh) * | 2020-09-24 | 2021-01-08 | 中国建设银行股份有限公司 | 映射关系匹配方法和装置以及计算机可读介质 |
CN112437062A (zh) * | 2020-11-10 | 2021-03-02 | 北京天融信网络安全技术有限公司 | 一种icmp隧道的检测方法、装置、存储介质和电子设备 |
CN114297461A (zh) * | 2021-12-10 | 2022-04-08 | 北京羽乐创新科技有限公司 | 一种公司信息匹配方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163221A (zh) * | 2011-04-02 | 2011-08-24 | 华为技术有限公司 | 模式匹配方法和装置 |
CN106202543A (zh) * | 2016-07-27 | 2016-12-07 | 苏州家佳宝妇幼医疗科技有限公司 | 基于机器学习的本体匹配方法和系统 |
CN108616413A (zh) * | 2016-12-13 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 信息校准方法和装置 |
CN109165326A (zh) * | 2018-08-16 | 2019-01-08 | 蜜小蜂智慧(北京)科技有限公司 | 一种字符串匹配方法及装置 |
CN109614615A (zh) * | 2018-12-04 | 2019-04-12 | 联想(北京)有限公司 | 实体匹配方法、装置及电子设备 |
-
2019
- 2019-07-22 CN CN201910662610.0A patent/CN110427991A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163221A (zh) * | 2011-04-02 | 2011-08-24 | 华为技术有限公司 | 模式匹配方法和装置 |
CN106202543A (zh) * | 2016-07-27 | 2016-12-07 | 苏州家佳宝妇幼医疗科技有限公司 | 基于机器学习的本体匹配方法和系统 |
CN108616413A (zh) * | 2016-12-13 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 信息校准方法和装置 |
CN109165326A (zh) * | 2018-08-16 | 2019-01-08 | 蜜小蜂智慧(北京)科技有限公司 | 一种字符串匹配方法及装置 |
CN109614615A (zh) * | 2018-12-04 | 2019-04-12 | 联想(北京)有限公司 | 实体匹配方法、装置及电子设备 |
Non-Patent Citations (4)
Title |
---|
李广弟: "《FOXBASE与关系数据库原理》", 31 July 1995 * |
李随民等: "《基于GIS的金属矿床资源潜力评价》", 31 August 2013 * |
许国根等: "《模式识别与智能计算的MATLAB实现》", 31 August 2017 * |
陈柳裕: "《企业法律实务》", 31 October 2002 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844560A (zh) * | 2017-10-30 | 2018-03-27 | 北京锐安科技有限公司 | 一种数据接入的方法、装置、计算机设备和可读存储介质 |
CN111104795A (zh) * | 2019-11-19 | 2020-05-05 | 平安金融管理学院(中国·深圳) | 公司名称的匹配方法、装置、计算机设备及存储介质 |
CN111079434A (zh) * | 2019-12-05 | 2020-04-28 | 苏州朗动网络科技有限公司 | 公司简称自动对应公司全称的方法、设备和存储介质 |
CN111079434B (zh) * | 2019-12-05 | 2023-10-20 | 企查查科技股份有限公司 | 公司简称自动对应公司全称的方法、设备和存储介质 |
CN112199372A (zh) * | 2020-09-24 | 2021-01-08 | 中国建设银行股份有限公司 | 映射关系匹配方法和装置以及计算机可读介质 |
CN112437062A (zh) * | 2020-11-10 | 2021-03-02 | 北京天融信网络安全技术有限公司 | 一种icmp隧道的检测方法、装置、存储介质和电子设备 |
CN114297461A (zh) * | 2021-12-10 | 2022-04-08 | 北京羽乐创新科技有限公司 | 一种公司信息匹配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427991A (zh) | 一种字符串匹配方法及装置 | |
US10713597B2 (en) | Systems and methods for preparing data for use by machine learning algorithms | |
US11816131B2 (en) | Cross-domain clusterability evaluation for cross-guided data clustering based on alignment between data domains | |
CN109299396B (zh) | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 | |
US10902322B2 (en) | Classification training techniques to map datasets to a standardized data model | |
CA3007723C (en) | Systems and/or methods for automatically classifying and enriching data records imported from big data and/or other sources to help ensure data integrity and consistency | |
US11847113B2 (en) | Method and system for supporting inductive reasoning queries over multi-modal data from relational databases | |
US20200081899A1 (en) | Automated database schema matching | |
US20210182659A1 (en) | Data processing and classification | |
US20090144213A1 (en) | Graph pattern recognition interface | |
CN110543374A (zh) | 使用人工智能机制进行集中式数据协调 | |
CN110633366A (zh) | 一种短文本分类方法、装置和存储介质 | |
CN110310114A (zh) | 对象分类方法、装置、服务器及存储介质 | |
CN108170769A (zh) | 一种基于决策树算法的装配制造质量数据处理方法 | |
CN108027814A (zh) | 停用词识别方法与装置 | |
CN109800853B (zh) | 融合卷积神经网络和显式反馈的矩阵分解方法、装置及电子设备 | |
CN110990529A (zh) | 企业的行业明细划分方法及系统 | |
CN108764726A (zh) | 根据规则对请求进行决策的方法及装置 | |
CN110708285A (zh) | 流量监控方法、装置、介质及电子设备 | |
CN112632196A (zh) | 一种数据可视化方法、装置及存储介质 | |
CN114997916A (zh) | 潜在用户的预测方法、系统、电子设备和存储介质 | |
CN113627997A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112308251A (zh) | 一种基于机器学习的工单分派方法和系统 | |
CN111275371B (zh) | 数据处理方法、数据处理设备和计算机可读存储介质 | |
CN114528378A (zh) | 文本分类方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191108 |
|
RJ01 | Rejection of invention patent application after publication |