结合深度卷积网络和注意力机制的地址匹配方法以及装置与流程

文档序号:31170513发布日期:2022-08-17 09:21阅读:86来源:国知局
结合深度卷积网络和注意力机制的地址匹配方法以及装置与流程

1.本技术属于人工智能技术领域,具体涉及一种结合深度卷积网络和注意力机制的地址匹配方法以及地址匹配装置。


背景技术:

2.地址匹配作为地址解析研究方向的重要部分,其基本任务形式就是在输入两条地址文本时,判断两者描述的是否为同一地点。地址的描述性文本具有表达多样化、不规范、字符串长度不固定等特征,在不考虑模糊地址、错误地址的情况下,每一条地址文本都应对应到地图上一个确定的空间位置,然而同一个空间位置却有可能对应多种不同的地址描述。因此,进行地址匹配通常是地址数据预处理、地点关联查询、推荐、以及其他空间数据挖掘任务的基础技术。目前主流的地址匹配技术,包括基于文本相似性、基于地址要素解析、基于深度学习三大类。
3.当出现字面几乎没有重叠、但是指向同一地点的地址文本时,上述的基于文本相似性和基于地址要素解析的方法基本都无法正确识别。随着城市大数据的快速发展,可以看到越来越多地出现没有标准结构、表达方式各异的地址数据。为了解决上述问题,近年来的相关研究开始考虑地址语义,并引入深度学习的方法进行地址匹配。
4.但是目前的相关研究主要还是依靠自然语言分词+词嵌入提取语义+输出模型的流程,在有限的训练数据内,地址文本的语义信息难以得到充分的挖掘利用,地址语义理解和匹配能力不足。另外,简单通用的输出模型对于地址匹配的准确性不足,还需要通过建立针对性的深度神经网络结构进行提升。


技术实现要素:

5.本技术实施例的目的是提供一种结合深度卷积网络和注意力机制的地址匹配方法及地址匹配装置,能够解决现有的地址匹配方法在有限的训练数据内,地址文本的语义信息难以得到充分的挖掘利用,存在地址语义理解能力和匹配能力不足的问题。
6.为了解决上述技术问题,本技术是这样实现的:
7.第一方面,本技术实施例提供了一种结合深度卷积网络和注意力机制的地址匹配方法,包括:
8.输入待匹配的第一地址文本和第二地址文本;
9.训练地址语义提取模型;
10.通过地址语义提取模型,将第一地址文本逐字转化为第一文本向量,将第二地址文本逐字转化为第二文本向量;
11.训练结合注意力机制的深度卷积神经网络模型,其中,深度卷积神经网络模型包括输入层、卷积层、池化层和输出层;
12.将第一文本向量和第二文本向量输入至输入层,在输入层中引入注意力机制,获取第一文本向量和第二文本向量之间的交互关系特征矩阵,对第一文本向量和第一关系特
征矩阵、第二文本向量和第二关系特征矩阵进行叠加,进入卷积层;
13.在卷积层中定义卷积核,对第一文本向量和第二文本向量沿文本方向进行卷积,在文本两侧分别使用0做填充处理,进入池化层;
14.在池化层中引入注意力机制,对卷积后的向量进行池化处理,输出第一输出向量和第二输出向量,进入输出层;
15.在输出层中,建立逻辑回归模型,判断第一输出向量和第二输出向量是否匹配,输出第一地址文本和第二地址文本是否匹配的结果。
16.可选地,训练地址语义提取模型,具体包括:
17.收集地址文本语料库;
18.利用地址文本语料库,对bert预训练模型进行微调训练,得到地址语义提取模型。
19.可选地,对bert预训练模型进行微调训练,具体为:
20.利用逐层解冻策略、逐层衰减学习率策略和倾斜三角学习率策略对bert预训练模型进行微调训练。
21.可选地,训练结合注意力机制的深度卷积神经网络模型,具体包括:
22.搭建结合注意力机制的深度卷积神经网络模型;
23.构建地址匹配样本库,地址匹配样本库包括多个地址匹配样本,每个地址匹配样本包括两条地址文本和两条地址文本是否指向同一地点的标记;
24.利用地址匹配样本库对深度卷积神经网络模型进行训练。
25.可选地,在输入层中引入注意力机制,获取第一文本向量和第二文本向量之间的交互关系特征矩阵,包括:
26.定义输入注意力矩阵,其中,输入注意力矩阵用于表示第一地址文本中的各个文字与第二地址文本中的各个文字之间的相似程度;
27.定义权重矩阵;
28.根据输入注意力矩阵和权重矩阵得到交互关系特征矩阵。
29.可选地,对卷积后的向量进行池化处理,包括:
30.定义与卷积后的向量相关的池化注意力矩阵;
31.根据池化注意力矩阵得到权重特征;
32.根据权重特征对卷积后的向量对进行池化计算。
33.第二方面,本技术实施例提供了一种结合深度卷积网络和注意力机制的地址匹配装置,包括:
34.第一输入模块,用于输入待匹配的第一地址文本和第二地址文本;
35.第一训练模块,用于训练地址语义提取模型;
36.提取模块,用于通过地址语义提取模型,将第一地址文本逐字转化为第一文本向量,将第二地址文本逐字转化为第二文本向量;
37.第二训练模块,用于训练结合注意力机制的深度卷积神经网络模型,其中,深度卷积神经网络模型包括输入层、卷积层、池化层和输出层;
38.第二输入模块,用于将第一文本向量和第二文本向量输入至输入层,在输入层中引入注意力机制,获取第一文本向量和第二文本向量之间的交互关系特征矩阵,对第一文本向量和第一关系特征矩阵、第二文本向量和第二关系特征矩阵进行叠加,进入卷积层;
39.卷积模块,用于在卷积层中定义卷积核,对第一文本向量和第二文本向量沿文本方向进行卷积,在文本两侧分别使用0做填充处理,进入池化层;
40.池化模块,用于在池化层中引入注意力机制,对卷积后的向量进行池化处理,输出第一输出向量和第二输出向量,进入输出层;
41.输出模块,用于在输出层中,建立逻辑回归模型,判断第一输出向量和第二输出向量是否匹配,输出第一地址文本和第二地址文本是否匹配的结果。
42.可选地,第一训练模块具体包括:
43.收集子模块,用于收集地址文本语料库;
44.微调子模块,用于利用地址文本语料库,对bert预训练模型进行微调训练,得到地址语义提取模型。
45.可选地,微调子模块具体用于:
46.利用逐层解冻策略、逐层衰减学习率策略和倾斜三角学习率策略对bert预训练模型进行微调训练。
47.可选地,第二训练模块具体包括:
48.搭建子模块,用于搭建结合注意力机制的深度卷积神经网络模型;
49.样本子模块,用于构建地址匹配样本库,地址匹配样本库包括多个地址匹配样本,每个地址匹配样本包括两条地址文本和两条地址文本是否指向同一地点的标记;
50.训练子模块,用于利用地址匹配样本库对深度卷积神经网络模型进行训练。
51.可选地,第二输入模块包括:
52.第一定义子模块,用于定义输入注意力矩阵,其中,输入注意力矩阵用于表示第一地址文本中的各个文字与第二地址文本中的各个文字之间的相似程度;
53.第二定义子模块,用于定义权重矩阵;
54.第一处理子模块,用于根据输入注意力矩阵和权重矩阵得到交互关系特征矩阵。
55.可选地,池化模块包括:
56.第三定义子模块,用于定义与卷积后的向量相关的池化注意力矩阵;
57.第二处理子模块,用于根据池化注意力矩阵得到权重特征;
58.计算子模块,用于根据权重特征对卷积后的向量对进行池化计算。
59.在本技术实施例中,通过结合注意力机制的深度卷积神经网络模型,通过卷积网络的结构来提取语义特征,并使用注意力机制做进一步的特征处理与匹配,充分的挖掘利用地址文本的语义信息,提升地址语义的理解效果,并获得更好的匹配效果。
附图说明
60.图1是本技术实施例提供的一种结合深度卷积网络和注意力机制的地址匹配方法的流程示意图;
61.图2是本技术实施例提供的一种地址匹配算法的结构示意图;
62.图3是本技术实施例提供的一种结合深度卷积网络和注意力机制的地址匹配装置的结构示意图。
63.本发明目的的实现、功能特点及优点将结合实施例、参照附图做进一步说明。
具体实施方式
64.为使本发明的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
65.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的结合深度卷积网络和注意力机制的地址匹配方法进行详细地说明。
66.实施例一
67.参照图1,示出了本技术实施例提供的一种结合深度卷积网络和注意力机制的地址匹配方法的流程示意图。
68.参照图2,示出了本技术实施例提供的一种地址匹配算法的结构示意图。
69.本技术提供的一种结合深度卷积网络和注意力机制的地址匹配方法,包括:
70.s101:输入待匹配的第一地址文本和第二地址文本。
71.其中,在生活中较为常见的地址文本格式有省市区名、路名等。
72.进一步地,本技术实施例对于地址文本的格式不作限定,可以更好地适应城市大数据的快速发展,更好地应对没有标准结构、表达方式各异的地址数据的出现。
73.s102:训练地址语义提取模型。
74.其中,地址语义提取模型用于提取地址文本中的语义特征,以便于后续的分析。
75.可选地,步骤s102可以由子步骤s1021至s1022来完成。
76.s1021:收集地址文本语料库。
77.其中,地址文本语料库可以利用互联网爬虫技术获得,也可以由测试工作人员手动输入获得,本技术实施例对于地址文本语料库的具体收集方式不作限定。
78.s1022:利用地址文本语料库,对bert预训练模型进行微调训练,得到地址语义提取模型。
79.其中,bert的全称为bidirectional encoder representation from transformers,是一种目前常见的预训练的语言表征模型。
80.可选地,对bert预训练模型进行微调训练,具体可以为:利用逐层解冻策略、逐层衰减学习率策略和倾斜三角学习率策略对bert预训练模型进行微调训练。
81.其中,逐层解冻策略具体是指在微调训练过程中,首先解冻模型的最后一层,即只有最后一层的网络参数进行更新训练,其它层参数冻结不变,进行第一个训练周期;之后增加解冻下一层网络参数,此时最后一层仍然保持解冻状态,进行第二个训练周期,更新所有已解冻层的参数;以此类推直到完成指定的训练周期数、或者其他停止条件。
82.其中,逐层衰减学习率策略具体是指在微调训练过程中,不同的层级应用不同的学习率。其中较高层采用较大的学习率,并设置学习率逐层衰减系数,自上而下逐层降低学习率。
83.其中,倾斜三角学习率策略具体是指在微调训练过程中,设置初始学习率、学习率上升周期、最大学习率、学习率衰减周期、最小学习率,从而随着模型迭代次数增加,学习率在短时间内增加,然后逐渐降低。
84.需要说明的是,引入bert预训练模型,使用地址文本语料库进行微调训练,结合逐
层解冻、逐层衰减学习率、倾斜三角学习率等策略更新参数,充分理解地址文本中的语义信息并将其向量化,可以解决了现有技术往往依赖分词效果,并且语义理解不充分的问题。
85.s103:通过地址语义提取模型,将第一地址文本逐字转化为第一文本向量,将第二地址文本逐字转化为第二文本向量。
86.其中,第一地址文本的长度为l1,第二地址文本的长度为l2,第一文本向量的维度为d
×
l1,第二文本向量的维度为d
×
l2,d为人为定义的超参数,表示地址语义提取模型的维度数。
87.s104:训练结合注意力机制的深度卷积神经网络模型。
88.其中,深度卷积神经网络模型用于处理地址文本信息,得到输出特征,判断地址文本是否匹配。
89.其中,深度卷积神经网络模型包括输入层、卷积层、池化层和输出层,卷积层和池化层可以组合并多次堆叠,形成深度神经网络结构。
90.可选地,步骤s104可以由子步骤s1041至s1043来完成。
91.s1041:搭建结合注意力机制的深度卷积神经网络模型。
92.s1042:构建地址匹配样本库,地址匹配样本库包括多个地址匹配样本,每个地址匹配样本包括两条地址文本和两条地址文本是否指向同一地点的标记。
93.其中,上述的两条地址文本是否指向同一地点的标记可以为1或者0。1代表两条地址指向同一地点,即两者匹配,而0代表两条地址不匹配。
94.s1043:利用地址匹配样本库对深度卷积神经网络模型进行训练。
95.s105:将第一文本向量和第二文本向量输入至输入层,在输入层中引入注意力机制,获取第一文本向量和第二文本向量之间的交互关系特征矩阵,对第一文本向量和第一关系特征矩阵、第二文本向量和第二关系特征矩阵进行叠加,进入卷积层。
96.其中,第一文本向量可以表示为input0,第二文本向量可以表示为input1。
97.可选地,对于第一文本向量和第二文本向量中较短的文本向量可以使用0做填充处理,保证第一文本向量和第二文本向量的维度都为d
×
s,其中,s=max(l0,l1)。
98.可选地,步骤s105可以包括子步骤s1051至s1053。
99.s1051:定义输入注意力矩阵,其中,输入注意力矩阵用于表示第一地址文本中的各个文字与第二地址文本中的各个文字之间的相似程度。
100.其中,输入注意力矩阵a的维度为,其中s
×
s,其中的元素a
i,j
表示第一个句子中的第i个字与第二个句子中第j个字的相似程度,即a
i,j
=matchscore(input0[:,i],input1[:,j])。
[0101]
进一步地,有关相似程度的定义,可以引入地址语法结构调整后的欧氏距离,即首先对两条地址语句进行语法解析和层级划分,将地址语句划分为省、市、区、路、建筑、其他细节共六个层级,若待计算两个字属于同一层级,则matchscore(x,y)=1/(1+|x-y|),其中|x-y|表示两个向量的欧氏距离;若待计算的两个字不属于同一层级,则
[0102]
s1052:定义权重矩阵。
[0103]
第一权重矩阵w0和第二权重矩阵w1的维度为d
×
s。第一权重矩阵w0和第二权重矩
阵w1的值模型训练过程中学习得到。
[0104]
s1053:根据输入注意力矩阵和权重矩阵得到交互关系特征矩阵。
[0105]
其中,可以通过f0=w0·at
和f1=w1·
a计算得到第一交互关系特征矩阵f0和第二交互关系特征矩阵f1。
[0106]
进一步地,将input0和f0、input1和f1进行叠加,得到第一地址文本和第二地址文本特征表示,并进入后续的卷积层。
[0107]
s106:在卷积层中定义卷积核,对第一文本向量和第二文本向量沿文本方向进行卷积,在文本两侧分别使用0做填充处理,进入池化层。
[0108]
其中,卷积核的窗口大小为d
×
w,经过在文本两侧分别使用0做填充处理后,卷积之后的向量维度将变成d
×
(s+w-1)。
[0109]
s107:在池化层中引入注意力机制,对卷积后的向量进行池化处理,输出第一输出向量和第二输出向量,进入输出层。
[0110]
其中,第一输出向量可以表示为output0,第二输出向量可以表示为output1。
[0111]
其中,池化层可以有多层,最后一个池化层的窗口大小定义为s+w-1,从而保证最终输出的向量维度为1
×
d,而深度网络中其他的池化层窗口大小均为w,使得池化后的结果维度保持为d
×
s。
[0112]
可选地,步骤s107可以包括子步骤s1071至s1073。
[0113]
s1071:定义与卷积后的向量相关的池化注意力矩阵。
[0114]
其中,利用与输入层中相似的处理方法,得到池化注意力矩阵a。
[0115]
s1072:根据池化注意力矩阵得到权重特征。
[0116]
其中,可以分别对池化注意力矩阵a的行、列求和,得到权重特征a
0,i
=∑a[i,:]和a
1,i
=∑a[:,i]。
[0117]
s1073:根据权重特征对卷积后的向量对进行池化计算。
[0118]
其中,具体的计算过程可以是将对应的词向量乘上权重并求和,即其中,具体的计算过程可以是将对应的词向量乘上权重并求和,即其中,表示第i和句子第r个词池化后的向量,表示第i和句子第r个词卷积后、池化前的向量,i∈{0,1},j=1,2,

,s。
[0119]
s108:在输出层中,建立逻辑回归模型,判断第一输出向量和第二输出向量是否匹配,输出第一地址文本和第二地址文本是否匹配的结果。
[0120]
可选地,匹配结果为1或者0,1代表两条地址指向同一地点,即两者匹配,而0代表两条地址不匹配。
[0121]
可选地,匹配结果也可以直接为“匹配”或者“不匹配”。
[0122]
在本技术实施例中,通过结合注意力机制的深度卷积神经网络模型,通过卷积网络的结构来提取语义特征,并使用注意力机制做进一步的特征处理与匹配,充分的挖掘利用地址文本的语义信息,提升地址语义的理解效果,并获得更好的匹配效果。
[0123]
实施例二
[0124]
参照图3,示出了本技术实施例提供的一种结合深度卷积网络和注意力机制的地址匹配装置30的结构示意图。
[0125]
地址匹配装置30,包括:
[0126]
第一输入模块301,用于输入待匹配的第一地址文本和第二地址文本;
[0127]
第一训练模块302,用于训练地址语义提取模型;
[0128]
提取模块303,用于通过地址语义提取模型,将第一地址文本逐字转化为第一文本向量,将第二地址文本逐字转化为第二文本向量;
[0129]
第二训练模块304,用于训练结合注意力机制的深度卷积神经网络模型,其中,深度卷积神经网络模型包括输入层、卷积层、池化层和输出层;
[0130]
第二输入模块305,用于将第一文本向量和第二文本向量输入至输入层,在输入层中引入注意力机制,获取第一文本向量和第二文本向量之间的交互关系特征矩阵,对第一文本向量和第一关系特征矩阵、第二文本向量和第二关系特征矩阵进行叠加,进入卷积层;
[0131]
卷积模块306,用于在卷积层中定义卷积核,对第一文本向量和第二文本向量沿文本方向进行卷积,在文本两侧分别使用0做填充处理,进入池化层;
[0132]
池化模块307,用于在池化层中引入注意力机制,对卷积后的向量进行池化处理,输出第一输出向量和第二输出向量,进入输出层;
[0133]
输出模块308,用于在输出层中,建立逻辑回归模型,判断第一输出向量和第二输出向量是否匹配,输出第一地址文本和第二地址文本是否匹配的结果。
[0134]
可选地,第一训练模块302具体包括:
[0135]
收集子模块3021,用于收集地址文本语料库;
[0136]
微调子模块3022,用于利用地址文本语料库,对bert预训练模型进行微调训练,得到地址语义提取模型。
[0137]
可选地,微调子模块3022具体用于:利用逐层解冻策略、逐层衰减学习率策略和倾斜三角学习率策略对bert预训练模型进行微调训练。
[0138]
可选地,第二训练模块304具体包括:
[0139]
搭建子模块3041,用于搭建结合注意力机制的深度卷积神经网络模型;
[0140]
样本子模块3042,用于构建地址匹配样本库,地址匹配样本库包括多个地址匹配样本,每个地址匹配样本包括两条地址文本和两条地址文本是否指向同一地点的标记;
[0141]
训练子模块3043,用于利用地址匹配样本库对深度卷积神经网络模型进行训练。
[0142]
可选地,第二输入模块305包括:
[0143]
第一定义子模块3051,用于定义输入注意力矩阵,其中,输入注意力矩阵用于表示第一地址文本中的各个文字与第二地址文本中的各个文字之间的相似程度;
[0144]
第二定义子模块3052,用于定义权重矩阵;
[0145]
第一处理子模块3053,用于根据输入注意力矩阵和权重矩阵得到交互关系特征矩阵。
[0146]
可选地,池化模块307包括:
[0147]
第三定义子模块3071,用于定义与卷积后的向量相关的池化注意力矩阵;
[0148]
第二处理子模块3072,用于根据池化注意力矩阵得到权重特征;
[0149]
计算子模块3073,用于根据权重特征对卷积后的向量对进行池化计算。
[0150]
本技术实施例提供的地址匹配装置30能够实现上述方法实施例中实现的各个过程,为避免重复,这里不再赘述。
[0151]
在本技术实施例中,通过结合注意力机制的深度卷积神经网络模型,通过卷积网
络的结构来提取语义特征,并使用注意力机制做进一步的特征处理与匹配,充分的挖掘利用地址文本的语义信息,提升地址语义的理解效果,并获得更好的匹配效果。
[0152]
本技术实施例中的虚拟装置可以是装置,也可以是终端中的部件、集成电路、或芯片。
[0153]
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1