CN115168548A - 一种基于召回-排序的地址匹配方法 - Google Patents
一种基于召回-排序的地址匹配方法 Download PDFInfo
- Publication number
- CN115168548A CN115168548A CN202211076531.XA CN202211076531A CN115168548A CN 115168548 A CN115168548 A CN 115168548A CN 202211076531 A CN202211076531 A CN 202211076531A CN 115168548 A CN115168548 A CN 115168548A
- Authority
- CN
- China
- Prior art keywords
- address
- matched
- matching
- unified
- vector
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于地址匹配技术领域,提供一种基于召回‑排序的地址匹配方法,包括:收集历史样本数据,生成包含正样本和负样本的训练样本集;使用所述训练样本集,训练基于BERT和ESIM的地址匹配模型;根据当前输入的待匹配地址,输入至训练好的地址匹配模型,输出匹配的统一地址。本发明能自动从统一地址库中匹配出与待匹配地址相应的统一地址,减少了人工成本,提高了系统的自动化和智能化的能力,方便城市治理系统中其他涉及地址下游任务的处理。
Description
技术领域
本发明属于城市治理系统的地址匹配技术领域,尤其涉及一种基于召回-排序的地址匹配方法。
背景技术
在城市治理系统中,地址匹配是非常重要的一环。实际业务里工作人员收集到的大多是地址要素不完整且结构多样化的非标准地址。而系统地址库中,存储的是地址要素齐全,结构统一的统一地址。地址匹配,就是从地址库中匹配出与待匹配地址指向同一个目标的统一地址。
如虚拟非标准地址:“京州市光明区大风厂B-613”,地址库中其对应的虚拟标准地址为:“汉东省京州市光明区光明街道大风社区人民街1号大风厂B栋613”。
在实际业务中,常见的场景是输入待匹配地址,然后从地址库找出与对应的统一地址。如何从地址库(数百万或数千万地址)中匹配出与其相似度最高的同一地址,是急需解决的问题。如果将地址库中每一个统一地址与待匹配地址使用专利描述的方法做匹配,地址库中的地址往往有上百万上千万条数据,时间开销将非常大。
现有的地址匹配方法主要分2类。
第一类是基于规则的地址匹配方法。这类方法依据文本地址特性和领域专家的专业知识构造匹配规则,然后基于匹配规则判断地址对(地址对是指一个非标准地址和一个统一地址组成的地址对)是否匹配。如基于关键词搜索的地址匹配方法,基于编辑距离的地址匹配方法。这类方法直接构造规则进行地址匹配,无需事先搜集训练样本,因此匹配速度非常快,成本低,但对结构复杂多样的文本地址效果差,且由于规则是固定的,因此泛化性也非常差。
比如,基于关键词搜索的地址匹配方法,输入的关键词为“京州吕州路”,因为此类方法只会识别目标地址是否含有这五个字,对于“京州市吕州路” 和“吕州市京州路”可能会判断为同一地址。
再比如,基于编辑距离的地址匹配方法。虚拟地址对1[“大风厂2栋C单元1204”,“京州市光明区光明社区大风厂2栋C单元1204”]和虚拟地址对2[”京州市光明区光明社区大风厂2栋C单元1305”, “京州市光明区光明社区大风厂2栋C单元1204”],因为地址对1中地址之间的相同字比地址对2中的少,基于编辑距离的地址匹配方法会认为地址对2的相似度会高于地址对1,但其实地址对1相似度应该更高。
第二类是基于样本训练的地址匹配方法。这类方法使用收集和构造的训练样本集训练算法或模型,然后基于训练好的算法或模型做地址匹配。如基于文本向量相似度的地址匹配方法、基于深度学习的地址匹配方法等。这类方法需要事先搜集训练用的地址样本,因此人工成本高,但对复杂多样的文本效果好,泛化性也较好。
基于样本训练的地址匹配方法在收集的训练样本时,需要正样本(即待匹配地址与统一地址指向同一目标)和负样本(即待匹配地址与统一地址指向不同的目标)。但在实际业务场景中,地址的正样本较多,但负样本几乎没有。如果使用样本不均衡的训练集(如绝大多数都是正样本或绝大多数都是负样本),基于样本训练的地址匹配方法效果就会很差。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于召回-排序的地址匹配方法,旨在解决现有样本训练的地址匹配方法使用样本不均衡、匹配效果较差的技术问题。
本发明采用如下技术方案:
所述基于召回-排序的地址匹配方法,包括下述步骤:
步骤S1、收集历史样本数据,生成包含正样本和负样本的训练样本集;
步骤S2、使用所述训练样本集,训练基于BERT和ESIM的地址匹配模型;
步骤S3、根据当前输入的待匹配地址,输入至训练好的地址匹配模型,输出匹配的统一地址。
进一步的,所述训练样本集的样本格式为[待匹配地址,统一地址,标记],所述步骤S1具体过程如下:
S11、输入历史样本数据集;
S12、根据历史样本数据集中的每条历史样本,模糊查询ES统一地址库;
S13、如果查询结果为空值,则只生成正样本,正样本的格式为[待匹配地址,统一地址,1];
S14、如果查询结果不为空值,则返回相似度最高的前K个统一地址并与历史样本中的统一地址分别比对,判断是否完全一致;
S15、若不存在完全一致的统一地址,则同样只生成正样本;
S16、若存在完全一致的统一地址,则生成一条正样本,同时对于每条不一致的统一地址,对应生成一条负样本,负样本的格式为[待匹配地址,统一地址,0],共计生成一条正样本和K-1条负样本;
S17、收集所有由历史样本生成的正样本和负样本,作为训练样本集。
进一步的,步骤S14中,如果查询结果少于K个,则返回所有查询结果;如果查询结果多于K个,则返回查询结果的前K个。
进一步的,所述步骤S2具体包括:
S21、将训练样本集按比例分为训练样本和验证样本;
S22、遍历训练样本,将训练样本输入地址匹配模型进行地址匹配推断,得到训练样本的匹配结果;
S23、根据匹配结果与标记数值是否一致计算损失值,然后使用梯度下降法修改模型参数,减少损失值;
S24、对训练样本多轮遍历,每完成一次遍历,使用验证样本验证地址匹配模型的匹配正确率,对于每条验证样本,如果匹配结果大于设置阈值,则输出的匹配结果为1,否则输出的匹配结果为0;如果输出的匹配结果与标记数值一致,则表示匹配正确,否则为匹配错误;
S25、选择匹配正确率最高的参数版本作为最终训练好的地址匹配模型。
进一步的,步骤S22中,地址匹配模型的地址匹配推断包括地址召回阶段和地址排序阶段;
其中地址召回阶段过程如下:
221、对于待匹配地址,使用模糊查询ES统一地址库召回相似度最高的前K个统一地址,且每条返回的统一地址与待匹配地址组成待匹配地址对,作为召回结果;其中如果返回为空,则直接输出空值,并显示匹配失败,结束地址匹配推断;
其中地址排序阶段过程如下:
222、将每条待匹配地址对使用BERT预处理模型处理获取地址词向量,包括待匹配地址向量和统一地址向量;
223、将地址词向量输入至ESIM模型得到待匹配地址对的相似度;
224、根据相似度对统一地址排序,并输出相似度最大的统一地址。
进一步的,步骤222的具体过程如下:
2221、对于每一个待匹配地址对,将其中的待匹配地址以及统一地址均分割成字,得到待匹配地址字列表和统一地址字列表;
2222、使用BERT模型的分词器,将待匹配地址字列表和统一地址字列表分别转换为待匹配地址字编码和统一地址字编码;
2223、将待匹配地址字编码和统一地址字编码均输入BERT模型,得到待匹配地址向量和统一地址向量。
进一步的,步骤223的具体过程如下:
2236、将分别通过最大池化和平均池化相应得到待匹配地址最大池化向量和待匹配地址平均池化向量;将分别通过最大池化和平均池化相应得到统一地址最大池化向量和统一地址平均池化向量;将得到的四个池化向量拼接,得到地址匹配信息向量;
2237、将地址匹配信息向量V输入到全连接层,并通过归一化指数函数得到匹配值,即待匹配地址对的相似度。
进一步的,步骤224的具体过程如下:
2241、对于所有待匹配地址对按相似度从大到小排序;
2242、将相似度最大的待匹配地址对作为最终匹配结果;
2243、如果最终匹配结果相似度小于或等于相似阈值,则输出最终匹配结果的统一地址,并显示匹配失败,结束地址匹配推断;
2244、如果最终匹配结果相似度大于相似阈值,则输出最终匹配结果的统一地址,并显示匹配成功,结束地址匹配推断。
本发明的有益效果是:首先,本发明方案训练数据只需要提供地址匹配正样本,相较于现有需要正负样本训练的地址匹配方法,减少了人工开销,提高了地址匹配方法的实用性;此外,本发明使用召回-排序的方式,先从地址库中使用ES模糊搜索召回K个可能匹配的统一地址,再使用匹配模型对K个统一地址计算与待匹配地址的相似度,输出相似度最高的统一地址作为匹配结果,相较于现有地址匹配方法,在保证匹配准确率较高的基础上,提高了匹配效率。
附图说明
图1是本发明实施例提供的基于召回-排序的地址匹配方法;
图2是本发明实施例提供的生成训练样本集示意图;
图3是本发明实施例提供的地址推断匹配示意图;
图4是BERT预处理模型处理示意图;
图5是ESIM模型处理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
如图1所示,本实施例提供的基于召回-排序的地址匹配方法,包括下述步骤:
步骤S1、收集历史样本数据,生成包含正样本和负样本的训练样本集。
本步骤主要实现构造训练样本集,通过收集历史样本数据,生成包含正样本和负样本的训练样本集。结合图2所示,本步骤具体过程如下:
S11、输入历史样本数据集。
历史样本数据集包含多条历史样本,每一条历史样本数据的格式为[待匹配地址,统一地址]。这里待匹配地址是业务收集到的地址,统一地址是其在地址库中对应的统一地址。
S12、根据历史样本数据集中的每条历史样本,模糊查询ES统一地址库。
ES是指Elasticsearch搜索引擎数据库。ES在城市治理大数据领域中的应用非常普遍,是大数据平台对外提供查询的重要组成部分之一。使用历史样本的待匹配地址在ES统一地址库中做模糊查询。当然如果ES中没有地址库,则需要先将地址库批量同步到ES中。
本实施例需要构造训练样本集,其样本格式为[待匹配地址,统一地址,标记],其中待匹配地址和统一地址均为历史样本中待匹配地址和统一地址,标记的值有{0,1}两种,其中0表示不匹配,1表示匹配。
S13、如果查询结果为空值,则只生成正样本,正样本的格式为[待匹配地址,统一地址,1]。其中的待匹配地址为历史样本中的待匹配地址,统一地址也是历史样本中的统一地址。
S14、如果查询结果不为空值,则返回相似度最高的前K个统一地址并与历史样本中的统一地址分别比对,判断是否完全一致。
通过模糊查询,模糊查询的方式设置为fuzzy。如果查询结果为空,则返回空值。如果查询结果少于K个,则返回所有查询结果;如果查询结果多于K个,则返回查询结果的前K个,即返回相似度最高的K个统一地址。
最后将这K个统一地址与历史样本中的统一地址分别比对,比对是否完全一致。
S15、若不存在完全一致的统一地址,则同样只生成正样本。
如果返回结果中的统一地址与历史样本均不一致,说明没查询正确的统一地址,还是按照S13步骤方式生成正样本。
S16、若存在完全一致的统一地址,则生成一条正样本,同时对于每条不一致的统一地址,对应生成一条负样本,负样本的格式为[待匹配地址,统一地址,0],共计生成一条正样本和K-1条负样本。
也就是说,每条历史样本都会生成一条正样本的训练样本。而根据查询结果,对于每一条与历史样本中的统一地址不一致的返回结果std_addr_x,都会生成一条负样本的的训练样本,负样本的结构为:[待匹配地址,统一地址, 0],其中的待匹配地址为历史样本中的待匹配地址,统一地址为返回结果std_addr_x。共计生成一条正样本和K-1条负样本。
S17、收集所有由历史样本生成的正样本和负样本,作为训练样本集。
步骤S2、使用所述训练样本集,训练基于BERT和ESIM的地址匹配模型。
本步骤实现的是训练地址匹配模型,在对地址做匹配时,主要包含两个阶段:地址召回阶段和地址排序阶段。其中地址召回阶段无需使用训练样本集做任何训练,在地址排序部分,则需使用训练样本集训练模型的参数。本步骤具体过程如下:
S21、将训练样本集按比例分为训练样本和验证样本。
比如通过9:1或其他比例划分,训练样本和验证样本本质是相同的,只是用途不同。
S22、遍历训练样本,将训练样本输入地址匹配模型进行地址匹配推断,得到训练样本的匹配结果。
通过地址匹配模型进行地址推断匹配是本发明关键发明点之一。结合图3所示,地址匹配模型的地址匹配推断包括地址召回阶段和地址排序阶段,其中地址召回阶段为下述步骤221,地址排序阶段为下述步骤222-224。具体的本步骤S22具体过程如下:
221、对于待匹配地址,使用模糊查询ES统一地址库召回相似度最高的前K个统一地址,且每条返回的统一地址与待匹配地址组成待匹配地址对,作为召回结果;其中如果返回为空,则直接输出空值,并显示匹配失败,结束地址匹配推断。
这里ES前述已说明。在召回阶段,同样模糊查询ES统一地址库找回相似度最高的前K个统一地址。如果查询结果为空,则返回空值。如果查询结果少于K个,则返回所有查询结果;如果查询结果多于K个,则返回查询结果的前K个。
使用ES的模糊查询中,模式设置为“fuzzy”,参数设置为“auto”。ES模糊查询通过编辑距离计算两个字符串的差异,并按编辑距离从小到大依次输出,本实施例取前K个返回结果。编辑方式是一个字符串通过多次处理变成另一个字符串,处理方式为{增加一个词元、减少一个词元、转换一个词元}中的一个,编辑距离为处理的次数。
如,文本地址1“京州市光明区大风厂B-613”
文本地址1词元集合为:["京", "州", "市", "光明", "区", "大风","厂", "b-613", "b", "613"];
文本地址2“京州市光明区大风厂B-614”;
文本地址2词元集合为:["京", "州", "市", "光明", "区", "大风", "厂", "b-614", "b", "614"];
文本地址3“汉东省京州市光明区光明街道大风社区人民街1号大风厂B栋613”;
文本地址3词元集合为:["汉", "东","省","京", "州", "市", "光明", "区","光明","街道","大风","社区","人民","街","1","号", "大风", "厂", "b","栋", "613"];
则文本地址1与文本地址2的编辑距离为1。文本地址1只需将词元"613"转换成"614",即可变为文本地址2。
文本地址1与文本地址3的编辑距离为12。文本地址1需要做[增加词元"汉",增加词元"东",增加词元"省",增加词元"光明",增加词元"街道",增加词元"大风",增加词元"社区",增加词元"人民",增加词元"街",增加词元"1",增加词元"号",增加词元"栋"]即可变为文本地址3。
文本地址2与文本地址3的编辑距离为13,文本地址1需要做[增加词元"汉",增加词元"东",增加词元"省",增加词元"光明",增加词元"街道",增加词元"大风",增加词元"社区",增加词元"人民",增加词元"街",增加词元"1",增加词元"号",增加词元"栋",词元"614"转换为词元"613"]即可变为文本地址3。
对于模糊查询返回的K个统一地址,每条返回结果std_addr_i与输入的待匹配地址key_addr,组成待匹配地址对,格式为[key_addr, std_addr_i]。当然如果查询返回结果为空,则直接输出空值,并显示匹配失败,结束地址匹配推断。最后将K条待匹配地址对作为召回结果输出。
如输入待匹配地址:“京州市光明区大风厂B-613”
比如假设召回结果是:
[“汉东省京州市光明区光明街道大风社区人民街1号大风厂A栋613”,“汉东省京州市光明区光明街道大风社区人民街1号大风厂B栋610”,“汉东省京州市光明区光明街道大风社区人民街1号大风厂B栋316”]
最后生成待匹配地址对为:
[“京州市光明区大风厂B-613”,“汉东省京州市光明区光明街道大风社区人民街1号大风厂A栋613”];
[“京州市光明区大风厂B-613”, “汉东省京州市光明区光明街道大风社区人民街1号大风厂B栋610”];
[“京州市光明区大风厂B-613”, “汉东省京州市光明区光明街道大风社区人民街1号大风厂B栋316”]]。
222、将每条待匹配地址对使用BERT预处理模型处理获取地址词向量,包括待匹配地址向量和统一地址向量。
223、将地址词向量输入至ESIM模型得到待匹配地址对的相似度;
224、根据相似度对统一地址排序,并输出相似度最大的统一地址。
上述步骤222-224为排序阶段,首先使用BERT预处理模型获取地址词向量,然后使用ESIM模型得到待匹配地址对的相似度,最后根据相似度对召回的统一地址排序,输出相似度最高的统一地址。
下面针对上述三个步骤具体描述。
上述步骤222实现了使用BERT预处理模型获取地址词向量,结合图4所示,具体过程如下:
2221、对于每一个待匹配地址对,将其中的待匹配地址以及统一地址均分割成字,得到待匹配地址字列表和统一地址字列表。
对于召回阶段输出的每一个待匹配地址对,将其中的待匹配地址分割成字,得到待匹配地址字列表。同理地址对中的统一地址分割成子得到统一地址字列表。
如:待匹配地址:“京州市光明区大风厂B-613”;
待匹配地址字列表:[京,州,市,光,明,区,大,风,厂,B,-,6,1,3];
统一地址:“汉东省京州市光明区光明街道大风社区人民街1号大风厂A栋613”;
统一地址字列表:[汉,东,省,京,州,市,光,明,区,光,明,街,道,大,风,社,区,人,民,街,1,号,大,风,厂,A,栋,6,1,3,]。
2222、使用BERT模型的分词器,将待匹配地址字列表和统一地址字列表分别转换为待匹配地址字编码和统一地址字编码。
如:待匹配地址字列表:[京,州,市,光,明,区,大,风,厂,B,-,6,1,3];
转换为待匹配地址字编码为:[101, 776, 2336, 2356, 1045, 3209, 1277,1920, 7599, 1322, 144, 118, 127, 122, 124, 102],其中101是特殊字符[‘CLS’]的编码,102是特殊字符[‘SEP’]的编码。对于每一个子列表的地址向量,都会以编码:“101”开头,编码“102”结尾。
统一地址字列表:[汉,东,省,京,州,市,光,明,区,光,明,街,道,大,风,社,区,人,民,街,1,号,大,风,厂,A,栋,6,1,3,];
统一地址字编码为:[101, 3727, 691, 4689, 776, 2336, 2356, 1045, 3209,1277, 1045, 3209, 6125, 6887, 1920, 7599, 4852, 1277, 782, 3696, 6125, 122,1384, 1920, 7599, 1322, 143, 3406, 127, 122, 124, 102]。
2223、将待匹配地址字编码和统一地址字编码均输入BERT模型,得到待匹配地址向量和统一地址向量。
将待匹配地址字编码输入BERT模型,得到待匹配地址向量key_encoder。同理,可以得到统一地址向量std_encoder。BERT模型能够同时综合字义与字序,将字转换为数字化的向量。比如Chinese-bert-wwm-ext Bert模型使用大规模中文语料进行训练,输出的数字化向量能够比较好的反映对应字的含义。
上述步骤223实现了使用ESIM模型得到待匹配地址对的相似度,结合图5所示,具体过程如下:
2231、将匹配地址向量和统一地址向量均输入至第一Bi-LSTM(双向长短期记忆神经网络)
2232、通过对齐操作,得到待匹配地址与统一地址的相似权重矩阵E,其中相似权重矩阵E的第i行第j列的权重值,这里表示中第i行的值,表示中第j行的值。i的取值范围为从0到待匹配地址字编码长度,j的取值范围为0到统一地址字编码长度。
相似向量的计算式如下:
2236、将分别通过最大池化和平均池化相应得到待匹配地址最大池化向量和待匹配地址平均池化向量;将分别通过最大池化和平均池化相应得到统一地址最大池化向量和统一地址平均池化向量;将得到的四个池化向量拼接,得到地址匹配信息向量。
平均池化与最大池化计算式如下所示:
2237、将地址匹配信息向量V输入到全连接层,并通过归一化指数函数得到匹配值,即待匹配地址对的相似度。
全连接层包含两个全连接神经网络,两全连接神经网络间的激活函数为tanh激活函数。归一化指数函数SOFTMAX的输出为0-1之间的值,即待匹配地址对的相似度sim_socre。
上述步骤224实现了根据相似度对召回的统一地址排序,输出相似度最高的统一地址,具体过程如下:
2241、对于所有待匹配地址对按相似度从大到小排序;
2242、将相似度最大的待匹配地址对作为最终匹配结果;
2243、如果最终匹配结果相似度小于或等于相似阈值,则输出最终匹配结果的统一地址,并显示匹配失败,结束地址匹配推断;
2244、如果最终匹配结果相似度大于相似阈值,则输出最终匹配结果的统一地址,并显示匹配成功,结束地址匹配推断。
本实施例中,相似阈值设置为0.5。
至此完成地址匹配推断。
S23、根据匹配结果与标记数值是否一致计算损失值,然后使用梯度下降法修改模型参数,减少损失值。
在训练阶段,使用交叉熵损失函数计算损失值。损失函数的公式为:其中为已有的标记类别,为输出的匹配值。如标记类别的为1,则其one-hot标签为[0,1],若输出的匹配值为[0.7,0.3],则损失值为:-(0*log0.7+1*log0.3)=-log0.3,约为0.523;若输出的匹配值为[0.7,0.3],则损失值为:-(0*log0.3+1*log0.7)=-log0.7,约为0.155。所以当模型的预测值与标记类别越近,损失值就越小。
梯度下降法(英语:Gradient descent)是一个一阶最优化算法,使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。梯度下降法为先有后方法,这里不赘述。
S24、对训练样本多轮遍历,每完成一次遍历,使用验证样本验证地址匹配模型的匹配正确率,对于每条验证样本,如果匹配结果大于设置阈值,则输出的匹配结果为1,否则输出的匹配结果为0;如果输出的匹配结果与标记数值一致,则表示匹配正确,否则为匹配错误。
在训练地址匹配模型时,需要多轮遍历训练样本,对于遍历后模型输出的训练样本匹配结果,与步骤S23相同,通过计算损失值和梯度下降法修改模型参数,降低损失值。然后参数修改后地址匹配模型处理每条验证样本,根据输出的匹配结果与设置阈值比较,确定最终输出匹配结果是1或0,相应表示匹配正确或错误。进而可以得出每个参数版本的地址匹配模型的匹配正确率。本实施例中,匹配的设置阈值为0.5。
S25、选择匹配正确率最高的参数版本作为最终训练好的地址匹配模型。
最后选择最高匹配正确率的参数版本,作为最终地址匹配模型的参数,得到训练好的地址匹配模型。
步骤S3、根据当前输入的待匹配地址,输入至训练好的地址匹配模型,输出匹配的统一地址。
模型训练好后,使用时直接输入待匹配地址,地址匹配模型会自动推断输出匹配的统一地址。地址匹配模型的推断过程与在模型训练阶段是一致的,这里无需赘述。
综上,本发明提出一种基于召回-排序的地址匹配方法,能够基于正样本自动生成负样本减少了人工开销,提高了地址匹配方法的实用性。在地址匹配时,使用基于规则的方法从地址库中召回少量相似度高的候选待匹配地址,再用基于深度学习的方法得到相似度最高的统一地址,相较于现有的地址匹配方法,在保证匹配响应速度快的同时,提高了匹配准确率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于召回-排序的地址匹配方法,其特征在于,所述方法包括下述步骤:
步骤S1、收集历史样本数据,生成包含正样本和负样本的训练样本集;
步骤S2、使用所述训练样本集,训练基于BERT和ESIM的地址匹配模型;
步骤S3、根据当前输入的待匹配地址,输入至训练好的地址匹配模型,输出匹配的统一地址。
2.如权利要求1所述基于召回-排序的地址匹配方法,其特征在于,所述训练样本集的样本格式为[待匹配地址,统一地址,标记],所述步骤S1具体过程如下:
S11、输入历史样本数据集;
S12、根据历史样本数据集中的每条历史样本,模糊查询ES统一地址库;
S13、如果查询结果为空值,则只生成正样本,正样本的格式为[待匹配地址,统一地址,1];
S14、如果查询结果不为空值,则返回相似度最高的前K个统一地址并与历史样本中的统一地址分别比对,判断是否完全一致;
S15、若不存在完全一致的统一地址,则同样只生成正样本;
S16、若存在完全一致的统一地址,则生成一条正样本,同时对于每条不一致的统一地址,对应生成一条负样本,负样本的格式为[待匹配地址,统一地址,0],共计生成一条正样本和K-1条负样本;
S17、收集所有由历史样本生成的正样本和负样本,作为训练样本集。
3.如权利要求2所述基于召回-排序的地址匹配方法,其特征在于,步骤S14中,如果查询结果少于K个,则返回所有查询结果;如果查询结果多于K个,则返回查询结果的前K个。
4.如权利要求2所述基于召回-排序的地址匹配方法,其特征在于,所述步骤S2具体包括:
S21、将训练样本集按比例分为训练样本和验证样本;
S22、遍历训练样本,将训练样本输入地址匹配模型进行地址匹配推断,得到训练样本的匹配结果;
S23、根据匹配结果与标记数值是否一致计算损失值,然后使用梯度下降法修改模型参数,减少损失值;
S24、对训练样本多轮遍历,每完成一次遍历,使用验证样本验证地址匹配模型的匹配正确率,对于每条验证样本,如果匹配结果大于设置阈值,则输出的匹配结果为1,否则输出的匹配结果为0;如果输出的匹配结果与标记数值一致,则表示匹配正确,否则为匹配错误;
S25、选择匹配正确率最高的参数版本作为最终训练好的地址匹配模型。
5.如权利要求3所述基于召回-排序的地址匹配方法,其特征在于,步骤S22中,地址匹配模型的地址匹配推断包括地址召回阶段和地址排序阶段;
其中地址召回阶段过程如下:
221、对于待匹配地址,使用模糊查询ES统一地址库召回相似度最高的前K个统一地址,且每条返回的统一地址与待匹配地址组成待匹配地址对,作为召回结果;其中如果返回为空,则直接输出空值,并显示匹配失败,结束地址匹配推断;
其中地址排序阶段过程如下:
222、将每条待匹配地址对使用BERT预处理模型处理获取地址词向量,包括待匹配地址向量和统一地址向量;
223、将地址词向量输入至ESIM模型得到待匹配地址对的相似度;
224、根据相似度对统一地址排序,并输出相似度最大的统一地址。
6.如权利要求5所述基于召回-排序的地址匹配方法,其特征在于,步骤222的具体过程如下:
2221、对于每一个待匹配地址对,将其中的待匹配地址以及统一地址均分割成字,得到待匹配地址字列表和统一地址字列表;
2222、使用BERT模型的分词器,将待匹配地址字列表和统一地址字列表分别转换为待匹配地址字编码和统一地址字编码;
2223、将待匹配地址字编码和统一地址字编码均输入BERT模型,得到待匹配地址向量和统一地址向量。
7.如权利要求6所述基于召回-排序的地址匹配方法,其特征在于,步骤223的具体过程如下:
2236、将分别通过最大池化和平均池化相应得到待匹配地址最大池化向量和待匹配地址平均池化向量;将分别通过最大池化和平均池化相应得到统一地址最大池化向量和统一地址平均池化向量;将得到的四个池化向量拼接,得到地址匹配信息向量;
2237、将地址匹配信息向量V输入到全连接层,并通过归一化指数函数得到匹配值,即待匹配地址对的相似度。
8.如权利要求7所述基于召回-排序的地址匹配方法,其特征在于,步骤224的具体过程如下:
2241、对于所有待匹配地址对按相似度从大到小排序;
2242、将相似度最大的待匹配地址对作为最终匹配结果;
2243、 如果最终匹配结果相似度小于或等于相似阈值,则输出最终匹配结果的统一地址,并显示匹配失败,结束地址匹配推断;
2244、 如果最终匹配结果相似度大于相似阈值,则输出最终匹配结果的统一地址,并显示匹配成功,结束地址匹配推断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211076531.XA CN115168548B (zh) | 2022-09-05 | 2022-09-05 | 一种基于召回-排序的地址匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211076531.XA CN115168548B (zh) | 2022-09-05 | 2022-09-05 | 一种基于召回-排序的地址匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115168548A true CN115168548A (zh) | 2022-10-11 |
CN115168548B CN115168548B (zh) | 2022-11-22 |
Family
ID=83480841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211076531.XA Active CN115168548B (zh) | 2022-09-05 | 2022-09-05 | 一种基于召回-排序的地址匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168548B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614396A (zh) * | 2018-12-17 | 2019-04-12 | 广东电网有限责任公司 | 一种地址数据结构化与规范化的清理方法 |
CN113592037A (zh) * | 2021-08-26 | 2021-11-02 | 武大吉奥信息技术有限公司 | 一种基于自然语言推断的地址匹配方法 |
CN113837698A (zh) * | 2021-09-29 | 2021-12-24 | 深圳云路信息科技有限责任公司 | 一种基于相似度的地址匹配方法及装置 |
US20220043972A1 (en) * | 2019-02-25 | 2022-02-10 | Nippon Telegraph And Telephone Corporation | Answer generating device, answer learning device, answer generating method, and answer generating program |
CN114676353A (zh) * | 2022-05-25 | 2022-06-28 | 武大吉奥信息技术有限公司 | 一种基于分节推断的地址匹配方法 |
-
2022
- 2022-09-05 CN CN202211076531.XA patent/CN115168548B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614396A (zh) * | 2018-12-17 | 2019-04-12 | 广东电网有限责任公司 | 一种地址数据结构化与规范化的清理方法 |
US20220043972A1 (en) * | 2019-02-25 | 2022-02-10 | Nippon Telegraph And Telephone Corporation | Answer generating device, answer learning device, answer generating method, and answer generating program |
CN113592037A (zh) * | 2021-08-26 | 2021-11-02 | 武大吉奥信息技术有限公司 | 一种基于自然语言推断的地址匹配方法 |
CN113837698A (zh) * | 2021-09-29 | 2021-12-24 | 深圳云路信息科技有限责任公司 | 一种基于相似度的地址匹配方法及装置 |
CN114676353A (zh) * | 2022-05-25 | 2022-06-28 | 武大吉奥信息技术有限公司 | 一种基于分节推断的地址匹配方法 |
Non-Patent Citations (1)
Title |
---|
吴恪涵等: "基于BERT-BiLSTM-CRF的中文地址解析方法", 《地理与地理信息科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115168548B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428054A (zh) | 一种网络空间安全领域知识图谱的构建与存储方法 | |
CN112527938A (zh) | 基于自然语言理解的中文poi匹配方法 | |
CN113312501A (zh) | 基于知识图谱的安全知识自助查询系统的构建方法及装置 | |
CN114743020B (zh) | 一种结合标签语义嵌入和注意力融合的食物识别方法 | |
WO2021243903A1 (zh) | 自然语言至结构化查询语言的转换方法及系统 | |
CN113326377A (zh) | 一种基于企业关联关系的人名消歧方法及系统 | |
CN114676353B (zh) | 一种基于分节推断的地址匹配方法 | |
CN113592037B (zh) | 一种基于自然语言推断的地址匹配方法 | |
CN111563149A (zh) | 一种用于中文知识图谱问答系统的实体链接方法 | |
CN111666425B (zh) | 基于语义知识的汽配件搜索方法 | |
CN114936627A (zh) | 一种改进的分节推断地址匹配方法 | |
CN112818157A (zh) | 一种基于多阶对抗特征学习的组合查询图像检索方法 | |
CN115658846A (zh) | 一种适用于开源软件供应链的智能搜索方法及装置 | |
CN115455315B (zh) | 一种基于对比学习的地址匹配模型训练方法 | |
CN114491081A (zh) | 基于数据血缘关系图谱的电力数据溯源方法及系统 | |
CN113824707A (zh) | 一种基于知识图谱的网站性能拨测度量方法和装置 | |
CN117010373A (zh) | 一种电力设备资产管理数据所属类别和组的推荐方法 | |
CN115168548B (zh) | 一种基于召回-排序的地址匹配方法 | |
CN116992880A (zh) | 建筑物名称的识别方法、装置、电子设备和存储介质 | |
CN115146635B (zh) | 一种基于领域知识增强的地址分节方法 | |
CN114691895B (zh) | 一种基于指针网络的刑事案情实体关系联合抽取方法 | |
CN116974799A (zh) | 一种基于知识图谱的照明系统的故障诊断方法及系统 | |
CN113342982B (zh) | 融合RoBERTa和外部知识库的企业行业分类方法 | |
CN106816871B (zh) | 一种电力系统状态相似性分析方法 | |
CN115238705A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |