CN114676353B - 一种基于分节推断的地址匹配方法 - Google Patents
一种基于分节推断的地址匹配方法 Download PDFInfo
- Publication number
- CN114676353B CN114676353B CN202210572940.2A CN202210572940A CN114676353B CN 114676353 B CN114676353 B CN 114676353B CN 202210572940 A CN202210572940 A CN 202210572940A CN 114676353 B CN114676353 B CN 114676353B
- Authority
- CN
- China
- Prior art keywords
- address
- vector
- matching
- elements
- standard
- 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.)
- Active
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
-
- 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)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明适用于城市治理系统技术领域,提供一种基于分节推断的地址匹配方法,实现时首先训练出三个ESIM推断模型以及三个指针网络,将关键地址以及标准地址分为三个子要素,包括区域要素、楼栋要素和路码要素,并对子要素分别用ESIM推断模型进行匹配,最后根据三个子要素的匹配结果,综合判断地址是否匹配。本发明方法相较于已有的基于深度学习的地址匹配方法,降低了对地址长度的敏感度,增加了对数字的敏感度,提高了匹配准确率。
Description
技术领域
本发明属于城市治理系统技术领域,尤其涉及一种基于分节推断的地址匹配方法。
背景技术
地址是城市治理系统中一个非常重要且关键的要素。实际应用场景中,系统地址库存储的文本地址是统一地址(以下称为标准地址),标准地址一般包含完整的地理要素信息如虚拟地址:“汉东省京州市光明区光明街道大风社区光伟路1号大风厂5栋17B”;而输入待匹配的文本地址(以下称为关键地址),一般只包含部分地址要素信息,且对同一地理要素描述,与标准地址不一致,如虚拟地址:“京州市光明区大风社区大风厂5-17B”。地址匹配,就是判断关键地址与标准地址是否指向同一地址。
现有的地址匹配方法主要包含如下三类:
第一类是基于规则的地址匹配方法。基于规则的地址匹配方法,通常依据文本地址的特性设计规则,并按照规则判断地址对是否匹配。比如使用关键词搜索、计算编辑距离等方法,这类方法原理较为简单,但对同一地址描述差异较大的地址对,效果较差。
比如,基于关键词搜索的地址匹配方法,输入的关键词为“京州吕州路”,因为此类方法只会识别目标地址是否含有这五个字,对于“京州市吕州路”和“吕州市京州路”可能会判断为同一地址。
再比如,基于编辑距离的地址匹配方法。虚拟地址对1[“大风厂5栋17楼17B”,“汉东省京州市光明区光明街道大风社区光伟路1号大风厂5栋17B”]和虚拟地址对2[“汉东省京州市光明区光明街道大风社区光伟路1号大风厂5栋17B”,“汉东省京州市光明区光明街道大风社区光伟路1号大风厂5栋18B”],因为虚拟地址对1中地址之间的相同字比地址对2中的少,且虚拟地址对中2个地址之间的连续相同文本片段更短,基于编辑距离的地址匹配方法会认为虚拟地址对2的相似度会高于虚拟地址对1,但其实虚拟地址对1相似度应该更高。
第二类是基于机器学习的地址匹配方法。基于机器学习的方法,通常根据文本特征,基于概率统计、向量转换等理论,建立机器学习算法和模型,根据算法或模型得到的相似度分数来判断地址对是否匹配。这类方法比基于规则的匹配方法效果好,但需要预先依据相关领域知识,提取文本地址特征,构建训练模型的标注样本,因此人工成本消耗较大。
比如:基于词袋模型的地址匹配会对出现共同词汇多的两个地址给出高匹配值,比如
虚拟地址1:“汉东省京州市光明区光明街道山水大厦5栋17B”
虚拟地址2:“汉东省京州市光明区光明街道山南社区15栋17B”
因为其共同词汇出现较多且方法能够只能够提取浅层语义,因此虚拟地址1与虚拟地址2会被误判成同一地址。
第三类是基于深度学习(或神经网络)的地址匹配方法。基于深度学习的方法,通常构建多层神经网络,将文本地址转换成文本嵌入向量,然后计算地址对的文本嵌入向量的相似度,判别地址对是否匹配。深度学习模型能够隐性的自我提取特征,因此相较基于机器学习的地址匹配方法,效果较好且大大减少了构建标注样本的人工成本。
但是已有的深度学习方法,通常直接判断地址对是否匹配。这种匹配方式忽略了文本地址中,数字要素匹配特性(多为楼栋、门牌号和房间号)与非数字要素匹配特性(多为区域要素)的差异性,导致模型对地址长度比较敏感,同时对地址中的数字不够敏感,从而降低了模型的匹配准确率。
比如,如下两个虚拟地址:
虚拟地址1:“京州市光明区大风社区5栋2单元17B室”
虚拟地址2:“汉东省京州市光明区光明街道大风社区5栋2单元71B室”
虚拟地址1的区域要素“京州市光明区光大风社区”,楼栋要素为“5栋2单元17B室”;虚拟地址2的区域要素为“汉东省京州市光明区光明街道大风社区”,“楼栋要素为“5栋2单元71B室”。
比如虚拟地址1的“京州市光明区大风社区”和虚拟地址2的“京州市光明区大风社区”,虽然长度不一样,但实际指向同一地理位置。因此应该降低模型对长度敏感程度。
而虚拟地址1中的楼栋要素“楼栋要素为“5栋2单元17B室”和虚拟地址2中的楼栋要素“楼栋要素为“5栋2单元71B室”,虽然仅仅只有1对数字位置置换,但却指向了完全不同的位置,因此要提高模型对数字敏感度。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于分节推断的地址匹配方法,旨在解决现有方法匹配准确率低的技术问题。
本发明采用如下技术方案:
所述基于分节推断的地址匹配方法,包括下述步骤:
步骤S1、训练地址匹配模型,所述地址匹配模型包括元素推断层模型和元素提取层指针网络,其中所述元素推断模型包括区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型,所述元素提取层指针网络包括区域指针网络、楼栋指针网络和路码指针网络;
步骤S2、输入待匹配地址对,将待匹配地址对通过预测样本构造模块生成预测样本对;
步骤S3、将预测样本对用地址匹配模型进行推断匹配,获得对应的匹配结果。
进一步的,所述步骤S3具体过程如下:
S31、将待匹配地址对使用bert模型转换为文本嵌入向量,并输入至三个指针网络中得到关键地址的关键区域要素、关键楼栋要素和关键路码要素,以及标准地址的标准区域要素、标准楼栋要素和标准路码要素;
S32、将六个要素分别重新输入bert模型得相应的要素词向量,然后对应使用三个ESIM推断模型得到三种要素的匹配结果,分别为区域要素匹配结果、楼栋要素匹配结果和路码要素匹配结果;
S33、最后根据三种要素的匹配结果,综合计算得到最终匹配结果。
进一步的,所述地址匹配模型的训练过程如下:
S11、输入样本,将训练样本集按比例分为训练样本和验证样本;
每一个样本的格式为[区域标记样本,楼栋标记样本,路码标记样本,分节地址标记样本],其中区域标记样本,楼栋标记样本和路码标记的格式均为[关键要素,标准要素,标记],分节地址标记样本格式为[文本地址,区域要素,路码要素,楼栋要素],文本地址指关键地址或标准地址;
S12、使用bert模型将区域、楼栋、路码标记样本中的关键要素、标准要素,以及分节地址标记样本中的文本地址转换成对应的词向量;
S13、通过关键要素词向量和标准要素词向量训练出区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型;
S14、通过文本地址词向量训练出区域指针网络、楼栋指针网络和路码指针网络。
进一步的,步骤S13和步骤S14并行训练。
进一步的,步骤S12中,区域、楼栋、路码标记样本中的关键要素、标准要素称为地址要素,步骤S12具体过程如下:
将文本地址和地址要素分割成字;
使用bert模型将成字的文本地址和地址要素转换成词元编码,并得到对应的位置编码;
将词元编码和位置编码分别输入bert模型,得到其对应的词向量。
进一步的,步骤S13中,区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型这三个ESIM推断模型的训练方法一致,过程如下:
将关键要素词向量与标准要素词向量同时输入到第一双向长短期记忆神经网络,得到关键要素以及标准要素的隐层状态向量;
通过对齐操作,得到关键要素与标准要素的相似权重矩阵;
利用相似权重矩阵对标准要素隐层状态向量加权求和,得到关键要素相似向量,利用相似权重矩阵对关键要素隐层状态向量加权求和,得到标准要素相似向量;
分别对关键要素隐层状态向量、相似向量以及标准要素隐层状态向量、相似向量做减法与乘法,并做软对齐得到关键要素信息增强向量和标准地址信息增强向量;
将关键要素信息增强向量以及标准地址信息增强向量均输入第二双向长短期记忆神经网络,得到关键要素匹配向量和标准要素匹配向量;
将关键要素匹配向量通过池化操作得到关键要素最大池化向量和关键要素平均池化向量;将标准要素匹配向量通过池化操作得到标准要素最大池化向量和标准要素平均池化向量;将得到的四个池化向量拼接,得到要素匹配信息向量;
将要素匹配信息向量输入到全连接层,并通过归一化指数函数得到每个类别的匹配值,所述类别共有三类,分别为不匹配、匹配和可能匹配;
使用交叉熵损失函数计算损失值;
根据损失值,使用梯度下降法修改更新模型参数,选择验证正确率最高的一个参数版本作为最终训练好的ESIM推断模型。
进一步的,区域指针网络、楼栋指针网络和路码指针网络这三个指针网络的训练方法一致,过程如下:
将文本地址词向量输入到第三双向长短期记忆神经网络得到文本地址的指针编码向量;
根据文本地址编码向量以及指针网络解码层中每一步的隐状态向量,计算文本地址中每个词元的概率,并输出概率最高的词元;
使用交叉熵损失函数计算每一个预测词元损失值;
根据损失值,使用梯度下降法修改更新网络参数,选择验证正确率最高的一个参数版本作为最终训练好的指针网络。
本发明的有益效果是:本发明提供一种基于分节推断的地址匹配方法,用于判断用户输入的待匹配地址(关键地址)与地址库中的统一地址(标准地址)是否指向同一目的地;具体实现时,首先训练出三个ESIM推断模型以及三个指针网络,将关键地址以及标准地址分为三个子要素,包括区域要素、楼栋要素和路码要素,并对子要素分别用ESIM推断模型进行匹配,最后根据三个子要素的匹配结果,综合判断地址是否匹配。本发明方法相较于已有的基于深度学习的地址匹配方法,降低了对地址长度的敏感度,增加了对数字的敏感度,提高了匹配准确率。
附图说明
图1是本发明实施例提供的基于分节推断的地址匹配方法流程图;
图2是本发明实施例提供的地址匹配模型训练示意图;
图3是本发明实施例提供的ESIM推断模型训练示意图;
图4是本发明实施例提供的指针网络训练示意图;
图5是本发明实施例提供的地址匹配流程图;
图6是本发明实施例提供的地址匹配模型推断示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的基于分节推断的地址匹配方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
如图1所示,本实施例提供的基于分节推断的地址匹配方法包括下述步骤:
步骤S1、训练地址匹配模型。
所述地址匹配模型包括元素推断层模型和元素提取层指针网络,其中所述元素推断模型包括区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型,所述元素提取层指针网络包括区域指针网络、楼栋指针网络和路码指针网络。
地址匹配模型的训练过程结合图2所示。包括下述步骤:
S11、输入样本,将训练样本集按比例分为训练样本和验证样本。
在训练前,先将标记的训练样本集按比例(9:1或其他比例)分为两个部分:训练样本和验证样本。将训练样本输入地址匹配模型,模型通过训练样本学习出模型的所有参数,然后用验证样本测试训练好参数的模型,保存测试准确率最高的参数版本。
每一个样本的格式为[区域标记样本,楼栋标记样本,路码标记样本,分节地址标记样本],其中区域标记样本、楼栋标记样本和路码标记的格式均为[关键要素,标准要素,标记]。如区域标记样本中,关键要素指待匹配地址中的区域要素,标准要素指地址库中统一地址的区域要素,标记有三种类型{0,1,2},其中0代表不匹配,1代表匹配,2代表可能匹配。楼栋标记样本、路码标记样本与区域标记样本类似,只是其要素分别为地址中的楼栋要素、路码要素。
分节地址标记样本格式为[文本地址,区域要素,路码要素,楼栋要素],文本地址指关键地址或标准地址。
区域要素是指文本地址中省、市、区、街道、社区、小区的文本片段。
楼栋要素是指文本地址中楼栋、房间号的文本片段。
路码要素是指文本地址中道路、门牌号的文本片段。
如图2中,虚拟地址“京州市大风厂北风路10号山水集团大厦4楼”,其中“京州市大风厂”为区域要素,“北风路10号”路码要素,“山水集团大厦4楼”是楼栋要素。
又如虚拟地址“光明区南风路大风厂山水集团4楼12号”,其中“光明区大风厂”为区域要素,“南风路”为路码要素,“4楼12号”为楼栋要素。
输入样本案例:[(“京州市光明大风厂”,“光明区大风厂”,1),(“5栋31号”,“5栋13号”,0),(“南风路3号”,“南风路3号”,1),(“京州市大风厂北风路10号山水集团大厦4楼”,“京州市大风厂”,“北风路10号”,“山水集团大厦4楼”)]。
S12、使用bert模型将区域、楼栋、路码标记样本中的关键要素、标准要素,以及分节地址标记样本中的文本地址转换成对应的词向量。
本步骤具体过程如下:
S121、将文本地址和地址要素分割成字。
这里将区域、楼栋、路码标记样本中的关键要素、标准要素称为地址要素。将文本地址和地址要素分割成字示例如下:
如虚拟地址:“汉东省京州市光明区光明街道大风社区5栋2单元17B室”分割为:[汉,东,省,京,州,市,光,明,区,光,明,街,道,大,风,社,区,5,栋,2,单,元,1,7,B,室]。
S122、使用bert模型将成字的文本地址和地址要素转换成词元编码,并得到对应的位置编码。
如:[汉,东,省,京,州,市,光,明,区,光,明,街,道,大,风,社,区,5,栋,2,单,元,1,7,B,室]
词元编码为:[3727,691,4689,776,2336,2356,1045,3209,1277,1045,3209,6125,6887,1920,7599,4852,1277,126,3406,123,1296,1039,122,128,144,2147]。
位置编码为:
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]。
S123、将词元编码和位置编码分别输入bert模型,得到其对应的词向量。
本步骤中,标记样本经bert模型转换后,得到对应的词向量组:[(DKe,DSe,标记),(BKe,BSe,标记),(CKe,CSe,标记),(ADDRe,区域要素,路码要素,楼栋要素)]。其中DKe,DSe分别表示区域关键要素词向量和区域标准要素词向量;BKe,BSe分别表示楼栋关键要素词向量和楼栋标准要素词向量;CKe,CSe分别表示路码关键要素词向量和路码标准要素词向量;ADDRe表示文本地址词向量。
S13、通过关键要素词向量和标准要素词向量训练出区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型。
使用区域ESIM推断模型、楼栋ESIM推断模型、路码ESIM推断模型分别推断区域、楼栋、路码中的关键要素词向量和标准要素词向量是否匹配。这三个模型的训练方法一致,只是训练模型的样本不一样,因此训练后的参数会不同。
具体实现时,如图3所示,本步骤过程具体如下:
S131、将关键要素词向量与标准要素词向量同时输入到第一双向长短期记忆神经网络,得到关键要素以及标准要素的隐层状态向量。
S132、通过对齐操作,得到关键要素与标准要素的相似权重矩阵。
通过对齐操作,得到关键要素与标准要素的相似权重矩阵E。对齐操作即: 表示关键要素隐层状态向量中第i个词元的向量,表示标准要素隐层状态向量中第j个词元的向量,i为从0到关键元词元数,j为0到要素地址词元数。
S133、利用相似权重矩阵对标准要素隐层状态向量加权求和,得到关键要素相似向量,利用相似权重矩阵对关键要素隐层状态向量加权求和,得到标准要素相似向量。
其中ls代表标准要素的词元数,lK代表关键要素的词元数,eij代表相似权重矩阵E中第i行第j列的数值。eim,emj同理。
S134、分别对关键要素隐层状态向量、相似向量以及标准要素隐层状态向量、相似向量做减法与乘法,并做软对齐得到关键要素信息增强向量和标准地址信息增强向量。
S135、将关键要素信息增强向量以及标准地址信息增强向量均输入第二双向长短期记忆神经网络,得到关键要素匹配向量和标准要素匹配向量。
将关键要素信息增强向量Mk输入第二双向长短期记忆神经网络Bi-LSTM,得到关键要素匹配向量Vk,同理可得标准要素匹配向量Vs。
S136、将关键要素匹配向量通过池化操作得到关键要素最大池化向量和关键要素平均池化向量;将标准要素匹配向量通过池化操作得到标准要素最大池化向量和标准要素平均池化向量;将得到的四个池化向量拼接,得到要素匹配信息向量。
将关键要素匹配向量Vk通过最大池化得到关键要素最大池化向量Vk,max,将关键要素匹配向量Vk通过平均池化得到关键要素平均池化向量Vk,avg。同理可得标准要素最大池化向量Vs,max,标准要素平均池化向量Vs,avg。
平均池化与最大池化公式如下所示:
其中Vk,i表示关键要素匹配向量Vk中的第i个向量。
将得到的四个池化向量拼接,得到要素匹配信息向量V=[Vk,avg,Vk,max,Vs,avg,Vs,max]。
S137、将要素匹配信息向量输入到全连接层,并通过归一化指数函数得到每个类别的匹配值,所述类别共有三类,分别为不匹配、匹配和可能匹配。
将要素匹配信息向量V输入到全连接层,并通过归一化指数函数(SOFTMAX)函数得到每个类别的匹配值(共三类,0:不匹配;1:匹配,2:可能匹配)。全连接层包含两个全连接神经网络,两网络间的激活函数为tanh激活函数。SOFTMAX函数的输出的匹配值在0到1之间。
S138、使用交叉熵损失函数计算损失值。
损失函数的公式为
其中yi为已有的标记类别,pi为输出的匹配值。如标记类别的为1,则其one-hot标签为[0,1,0],若输出的匹配值为[0.4,0.2,0.4]。则损失值为:-(0*log0.4+1*log0.2+0*log0.4)=-log0.2。
S139、根据损失值,使用梯度下降法修改更新模型参数,选择验证正确率最高的一个参数版本作为最终训练好的ESIM推断模型。
如图2所示,区域ESIM推断模型的损失值,会与其他两个ESIM推断模型和三个指针网络在同一批训练样本下得到的损失值,相加得到总损失值,然后再使用梯度下降更新模型参数。其他ESIM推断模型总损失值计算相同。
ESIM推断模型会多次遍历训练样本。每遍历一遍训练样本后,使用验证样本测试模型的准确率。验证过程基本与训练过程一致,只是在完成步骤S137后,选出最大匹配值的类别作为预测结果,与标记结果比对。如果类型一致则表示预测正确,否则为预测错误。模型训练阶段会选择验证正确率最高的一个参数版本作为最终训练好的ESIM推断模型。
S14、通过文本地址词向量训练出区域指针网络、楼栋指针网络和路码指针网络。
本步骤使用三个要素指针网络(Pointer-Network)提取文本地址向量中对应的三个要素部分。区域指针网络、楼栋指针网络和路码指针网络这三个指针网络的训练方法一致,结合图4所示,过程如下:
S141、将文本地址词向量输入到第三双向长短期记忆神经网络得到文本地址的指针编码向量。
将文本地址词向量ADDRe输入到第三Bi-LSTM,得到文本地址的指针编码向量e={e1,e2,e3…en},其中n为文本地址的词元个数,ei为每个词元的指针编码向量。
S142、根据文本地址编码向量以及指针网络解码层中每一步的隐状态向量,计算文本地址中每个词元的概率,并输出概率最高的词元。
每一步根据上一步输出的隐状态向量h以及文本地址编码向量e,编码层输出有两个值,分别为文本地址中每个词元的编码向量(e={e1,e2,e3…en}),以及整个文本地址的隐状态向量h,其中隐状态向量这个表征向量h会输入解码层,作为解码层最开始的隐状态向量。
计算文本地址中每个词元的概率,并输出概率最高的词元。计算公式为:
其中ej指文本地址中第j个词元的指针编码向量,di是解码层第i个词元的隐状态。u、W1、W2为模型里需要学习的参数。为解码层第i个词元可能为文本地址中第j个词元的注意力值,然后将注意力值输入softmax层,得到文本地址中每一个词元的概率值,选择概率值最大的词元的索引输出,并将区域标记结果中的第i个词元所对应的词元指针编码向量,作为下一个词元的隐状态,直至输出为特殊符号“结束”停止。
S143、使用交叉熵损失函数计算每一个预测词元损失值。
根据区域要素标记,使用交叉熵损失函数计算每一个预测词元损失值,每个词元损失值计算过程与S138方法一致。区别在于词元的类别个数为当前输入文本地址的词元个数(而ESIM推断模型中的标记类别为固定的3个:匹配、不匹配、可能匹配)。
S144、根据损失值,使用梯度下降法修改更新网络参数,选择验证正确率最高的一个参数版本作为最终训练好的指针网络。
如图2所示,区域指针网络的损失值,会与其他三个ESIM推断模型和两个指针网络在同一批训练样本下得到的损失值,相加得到总损失值,然后再使用梯度下降更新模型参数。其他指针网络总损失值计算相同。
指针网络会多次遍历训练样本。每遍历一遍训练样本后,使用验证样本测试网络提取的准确率。验证过程基本与训练过程一致,只是在完成步骤S143后,选出最大匹配值的类别作为预测结果,与标记结果比对。如果类型一致则表示预测正确,否则为预测错误。模型训练阶段会选择验证正确率最高的一个参数版本作为最终训练好的指针网络。
本实施例中,要素推断层的三个模型与要素提取层的三个网络可同时并行训练,提高效率。
上述步骤S1为地址匹配模型训练,是指用标记好的训练样本集,训练地址匹配模型的参数,得到一个训练好的地址匹配模型。结合图5所示,下述步骤S2-S3为地址匹配模型推断,是指用训练好的地址匹配模型判断输入的地址对是否匹配。
步骤S2、输入待匹配地址对,将待匹配地址对通过预测样本构造模块生成预测样本对。
待匹配地址对格式为[关键地址,标准地址1,标准地址2......标准地址n]。
待匹配地址对进入预测样本构造模块,生成预测样本对。
预测样本构造模块就是将待匹配地址对中每一个标准地址分别于关键地址组合,生成预测样本对。比如:
待匹配地址对:[关键地址,标准地址1,标准地址2,标准地址3]
通过预测样本构造模块构造的预测样本对则为:
预测样本对:[关键地址,标准地址1],[关键地址,标准地址2],[关键地址,标准地址3]。
步骤S3、将预测样本用地址匹配模型进行推断匹配,获得对应的匹配结果。
待匹配地址对使用bert模型得到关键地址与标准地址的嵌入向量KADDRe和SADDRe。每一个预测样本对的匹配结果结构为[关键地址,标准地址,匹配结果,匹配值]。然后根据匹配值按从大到小的顺序输出匹配结果。
本步骤为具体的推断过程,如图6所示,具体如下:
S31、将待匹配地址对使用bert模型转换为文本嵌入向量,并输入至三个指针网络中得到关键地址的关键区域要素、关键楼栋要素和关键路码要素,以及标准地址的标准区域要素、标准楼栋要素和标准路码要素。
将关键地址嵌入向量KADDRe分别输入到区域指针网络、楼栋指针网络和路码指针网络,分别得到关键区域要素索引KDi,关键楼栋要素索引KBi和关键路码要素索引KCi。其步骤与训练过程相似,唯一区别在于,在指针网络的解码层中,训练阶段是将标记结果的第i个词元所对应的词元指针编码向量,作为i+1个词元的隐状态,而推断阶段则是将第i个预测的词元指针编码向量作为第i+1的个词元的隐状态。
然后根据KDi,KBi和KCi生成关键区域要素、关键楼栋要素和关键路码要素。
如虚拟关键地址:[京州市大风厂山水集团大厦4楼],其位置索引为[0,1,2,3,4,5,6,7,8,9,10,11,12,13]。使用区域指针网络得到的结果是[0,1,2,3,4,5],则生成关键区域要素为[京州市大风厂];使用楼栋指针网络得到的结果为[6,7,8,9,10,11,12,13],则生成关键楼栋要素为[山水集团大厦4楼];使用路码指针网络的到结果为[],则生成的关键路码要素为空值,并将路码ESIM模型的结果强制改为“无信息”。
与关键地址处理过程类似,根据标准地址得到标准区域要素、标准楼栋要素和标准路码要素。
S32、将六个要素分别重新输入bert模型得相应的要素词向量,然后对应使用三个ESIM推断模型得到三种要素的匹配结果,分别为区域要素匹配结果、楼栋要素匹配结果和路码要素匹配结果。
将六个要素分别重新输入bert模型,分别得到各自的要素词向量。如图5所示,将关键区域要素词向量、标准区域要素词向量输入区域ESIM推断模型,得到区域要素匹配结果;将关键楼栋要素词向量、标准楼栋要素词向量输入楼栋ESIM推断模型,得到楼栋要素匹配结果;将关键路码要素词向量、标准路码要素词向量输入路码ESIM推断模型,得到路码要素匹配结果。ESIM推断模型输出有4种结果:[“匹配”,”不匹配”,“可能匹配”,“无信息”]。其中仅当输入ESIM模型模型的一对要素中,输入至少有一个为空时,输出“无信息”结果。
S33、最后根据三种要素的匹配结果,综合计算得到最终匹配结果。
综合计算方法根据不同区域的待匹配地址特点灵活设计,如可设置当区域匹配、楼栋不匹配、路码匹配时,最终匹配结果为“匹配”;也可设置当区域匹配、楼栋不匹配、路码匹配是,最终匹配结果为“不匹配”。ESIM推断模型推断的执行步骤与训练时一样,只是在推断过程中,将模型输出匹配值最大的对应类别作为结果输出。
在本发明实施例中,通过训练出三个ESIM推断模型以及三个指针网络,将关键地址以及标准地址分为三个子要素,包括区域要素、楼栋要素和路码要素,并对子要素分别用ESIM推断模型进行匹配,最后根据三个子要素的匹配结果,综合判断地址是否匹配。本发明方法相较于已有的基于深度学习的地址匹配方法,降低了对地址长度的敏感度,增加了对数字的敏感度,提高了匹配准确率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于分节推断的地址匹配方法,其特征在于,所述方法包括下述步骤:
步骤S1、训练地址匹配模型,所述地址匹配模型包括元素推断层模型和元素提取层指针网络,其中所述元素推断层模型包括区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型,所述元素提取层指针网络包括区域指针网络、楼栋指针网络和路码指针网络;
步骤S2、输入待匹配地址对,将待匹配地址对通过预测样本构造模块生成预测样本对;
步骤S3、将预测样本对用地址匹配模型进行推断匹配,获得对应的匹配结果;
其中,所述步骤S3具体过程如下:
S31、将待匹配地址对使用bert模型转换为文本嵌入向量,并输入至三个指针网络中得到关键地址的关键区域要素、关键楼栋要素和关键路码要素,以及标准地址的标准区域要素、标准楼栋要素和标准路码要素;
S32、将六个要素分别重新输入bert模型得相应的要素词向量,然后对应使用三个ESIM推断模型得到三种要素的匹配结果,分别为区域要素匹配结果、楼栋要素匹配结果和路码要素匹配结果;
S33、最后根据三种要素的匹配结果,综合计算得到最终匹配结果;
其中,所述地址匹配模型的训练过程如下:
S11、输入样本,将训练样本集按比例分为训练样本和验证样本;
每一个样本的格式为[区域标记样本,楼栋标记样本,路码标记样本,分节地址标记样本],其中区域标记样本,楼栋标记样本和路码标记的格式均为 [关键要素,标准要素,标记],分节地址标记样本格式为[文本地址,区域要素,路码要素,楼栋要素],文本地址指关键地址或标准地址;
S12、使用bert模型将区域、楼栋、路码标记样本中的关键要素、标准要素,以及分节地址标记样本中的文本地址转换成对应的词向量;
S13、通过关键要素词向量和标准要素词向量训练出区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型;
S14、通过文本地址词向量训练出区域指针网络、楼栋指针网络和路码指针网络。
2.如权利要求1所述基于分节推断的地址匹配方法,其特征在于,步骤S13和步骤S14并行训练。
3.如权利要求2所述基于分节推断的地址匹配方法,其特征在于,步骤S12中,区域、楼栋、路码标记样本中的关键要素、标准要素称为地址要素,步骤S12具体过程如下:
将文本地址和地址要素分割成字;
使用bert模型将成字的文本地址和地址要素转换成词元编码,并得到对应的位置编码;
将词元编码和位置编码分别输入bert模型,得到其对应的词向量。
4.如权利要求3所述基于分节推断的地址匹配方法,其特征在于,步骤S13中,区域ESIM推断模型、楼栋ESIM推断模型和路码ESIM推断模型这三个ESIM推断模型的训练方法一致,过程如下:
将关键要素词向量与标准要素词向量同时输入到第一双向长短期记忆神经网络,得到关键要素以及标准要素的隐层状态向量;
通过对齐操作,得到关键要素与标准要素的相似权重矩阵;
利用相似权重矩阵对标准要素隐层状态向量加权求和,得到关键要素相似向量,利用相似权重矩阵对关键要素隐层状态向量加权求和,得到标准要素相似向量;
分别对关键要素隐层状态向量、相似向量以及标准要素隐层状态向量、相似向量做减法与乘法,并做软对齐得到关键要素信息增强向量和标准地址信息增强向量;
将关键要素信息增强向量以及标准地址信息增强向量均输入第二双向长短期记忆神经网络,得到关键要素匹配向量和标准要素匹配向量;
将关键要素匹配向量通过池化操作得到关键要素最大池化向量和关键要素平均池化向量;将标准要素匹配向量通过池化操作得到标准要素最大池化向量和标准要素平均池化向量;将得到的四个池化向量拼接,得到要素匹配信息向量;
将要素匹配信息向量输入到全连接层,并通过归一化指数函数得到每个类别的匹配值,所述类别共有三类,分别为不匹配、匹配和可能匹配;
使用交叉熵损失函数计算损失值;
根据损失值,使用梯度下降法修改更新模型参数,选择验证正确率最高的一个参数版本作为最终训练好的ESIM推断模型。
5.如权利要求4所述基于分节推断的地址匹配方法,其特征在于,步骤S14中,区域指针网络、楼栋指针网络和路码指针网络这三个指针网络的训练方法一致,过程如下:
将文本地址词向量输入到第三双向长短期记忆神经网络得到文本地址的指针编码向量;
根据文本地址编码向量以及指针网络解码层中每一步的隐状态向量,计算文本地址中每个词元的概率,并输出概率最高的词元;
使用交叉熵损失函数计算每一个预测词元损失值;
根据损失值,使用梯度下降法修改更新网络参数,选择验证正确率最高的一个参数版本作为最终训练好的指针网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210572940.2A CN114676353B (zh) | 2022-05-25 | 2022-05-25 | 一种基于分节推断的地址匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210572940.2A CN114676353B (zh) | 2022-05-25 | 2022-05-25 | 一种基于分节推断的地址匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114676353A CN114676353A (zh) | 2022-06-28 |
CN114676353B true CN114676353B (zh) | 2022-10-18 |
Family
ID=82080180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210572940.2A Active CN114676353B (zh) | 2022-05-25 | 2022-05-25 | 一种基于分节推断的地址匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676353B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115146635B (zh) * | 2022-09-05 | 2022-11-15 | 吉奥时空信息技术股份有限公司 | 一种基于领域知识增强的地址分节方法 |
CN115168548B (zh) * | 2022-09-05 | 2022-11-22 | 吉奥时空信息技术股份有限公司 | 一种基于召回-排序的地址匹配方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102033458B1 (ko) * | 2017-10-24 | 2019-11-19 | 강원대학교산학협력단 | 계층적 포인터 네트워크를 이용한 상호참조해결 시스템 및 방법 |
CN110147420A (zh) * | 2019-05-07 | 2019-08-20 | 武大吉奥信息技术有限公司 | 一种基于图谱模型的地名地址匹配查询方法及系统 |
KR102063562B1 (ko) * | 2019-10-28 | 2020-01-08 | 인천대학교 산학협력단 | 포인터 네트워크의 학습을 통해 고품질의 메쉬 구조의 생성을 지원하기 위한 그래픽 처리 장치 및 그 동작 방법 |
CN113535959B (zh) * | 2021-07-29 | 2023-03-24 | 长三角信息智能创新研究院 | 面向基层治理的事件自动分拨方法 |
CN113592037B (zh) * | 2021-08-26 | 2023-11-24 | 吉奥时空信息技术股份有限公司 | 一种基于自然语言推断的地址匹配方法 |
CN113886512A (zh) * | 2021-10-25 | 2022-01-04 | 北京顶象技术有限公司 | 地址要素解析方法、装置和电子设备 |
-
2022
- 2022-05-25 CN CN202210572940.2A patent/CN114676353B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114676353A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114676353B (zh) | 一种基于分节推断的地址匹配方法 | |
WO2022134592A1 (zh) | 地址信息解析方法、装置、设备及存储介质 | |
CN110298042A (zh) | 基于Bilstm-crf与知识图谱影视实体识别方法 | |
CN108776762B (zh) | 一种数据脱敏的处理方法及装置 | |
CN106909611B (zh) | 一种基于文本信息抽取的酒店自动匹配方法 | |
CN114936627A (zh) | 一种改进的分节推断地址匹配方法 | |
CN108763215B (zh) | 一种基于地址分词的地址存储方法、装置及计算机设备 | |
CN111738113B (zh) | 基于双注意力机制与语义约束的高分辨遥感图像的道路提取方法 | |
CN113592037B (zh) | 一种基于自然语言推断的地址匹配方法 | |
CN112527938A (zh) | 基于自然语言理解的中文poi匹配方法 | |
CN111723569A (zh) | 一种事件抽取方法、装置和计算机可读存储介质 | |
CN111368542A (zh) | 一种基于递归神经网络的文本语言关联抽取方法和系统 | |
CN114863091A (zh) | 一种基于伪标签的目标检测训练方法 | |
CN116484024A (zh) | 一种基于知识图谱的多层次知识库构建方法 | |
CN115905959A (zh) | 基于缺陷因子的电力断路器关联性故障分析方法及装置 | |
CN116189139A (zh) | 一种基于Transformer的交通标志检测方法 | |
CN113312498B (zh) | 用无向图嵌入知识图谱的文本信息抽取方法 | |
CN117151223B (zh) | 一种基于可学习提示的多模态实体识别和关系抽取方法 | |
CN112417890B (zh) | 一种基于多样化语义注意力模型的细粒度实体分类方法 | |
CN115146635B (zh) | 一种基于领域知识增强的地址分节方法 | |
CN115455315B (zh) | 一种基于对比学习的地址匹配模型训练方法 | |
CN113886512A (zh) | 地址要素解析方法、装置和电子设备 | |
CN115270774B (zh) | 一种半监督学习的大数据关键词词典构建方法 | |
CN117010373A (zh) | 一种电力设备资产管理数据所属类别和组的推荐方法 | |
CN113342982B (zh) | 融合RoBERTa和外部知识库的企业行业分类方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Applicant after: Geospace Information Technology Co., Ltd. Address before: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Applicant before: WUDA GEOINFORMATICS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |