CN115688779A - 一种基于自监督深度学习的地址识别方法 - Google Patents

一种基于自监督深度学习的地址识别方法 Download PDF

Info

Publication number
CN115688779A
CN115688779A CN202211240111.0A CN202211240111A CN115688779A CN 115688779 A CN115688779 A CN 115688779A CN 202211240111 A CN202211240111 A CN 202211240111A CN 115688779 A CN115688779 A CN 115688779A
Authority
CN
China
Prior art keywords
address
training
data
sample
supervision
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
Application number
CN202211240111.0A
Other languages
English (en)
Other versions
CN115688779B (zh
Inventor
金征雷
周创
张俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Ruicheng Information Technology Co ltd
Original Assignee
Hangzhou Ruicheng Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Ruicheng Information Technology Co ltd filed Critical Hangzhou Ruicheng Information Technology Co ltd
Priority to CN202211240111.0A priority Critical patent/CN115688779B/zh
Publication of CN115688779A publication Critical patent/CN115688779A/zh
Application granted granted Critical
Publication of CN115688779B publication Critical patent/CN115688779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Machine Translation (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了一种基于自监督深度学习的地址识别方法,包括采用提供的标准地址库,通过自监督算法生成自监督训练地址样本、采用多头标志对方法构建神经网络模型进行模型训练、使用训练动态终结方法终止训练得到最优模型、将预测出的地址单元组进行错误地址修正和结果二次分析得到标准地址结果,其中使用标准地址单元划分定义标准地址结构,并填充标准地址数据;使用标准地址数据为基准训练数据,并对基准训练数据使用自监督算法生成自监督训练地址样本。优点在于:申请通过使用自监督样本标签生成算法,大幅降低了地址识别任务中的数据标注成本,通过使用多头标识对模型,实现了对地址描述中包含嵌套情况的识别。

Description

一种基于自监督深度学习的地址识别方法
技术领域
本发明涉及语意理解技术领域,尤其涉及一种基于自监督深度学习的地址识别方法。
背景技术
得益于计算机算力的不断突破,深度学习在机器学习领域取得了迅猛的发展,其去特征工程的巨大优势使其可以胜任更多的端到端任务,而不用手动设计规则从而适配更多的应用场景。而其挖掘数据潜在特征的能力使深度学习可以应用到更多的跨领域场景。但深度学习往往需要从大量的样本中学习特征,而海量数据的人工标注工作带来的人力成本依然限制了深度学习在一些场景的应用,特别人工标注过程使自动化学习新知识成为深度学习难点。
地址识别任务方面,其一:现有的主流地址识别方法多采用 RNN+CRF模型的方式来实现,可其难以解决待识别内容中有嵌套描述的情况;其二:在工业应用中往往不但需要地址识别的能力,而且需要得到准确的地址识别结果。但在实际的地址识别场景中,由于来源数据的参差不齐,往往会遇到地址输入错误,异常字符,地址信息不全等情况而导致难以得到准确的地址结果。
发明内容
本发明的目的是为了解决现有技术中的问题,而提出的一种基于自监督深度学习的地址识别方法。
为了实现上述目的,本发明采用了如下技术方案:一种基于自监督深度学习的地址识别方法,包括以下步骤:
S1、采用提供的标准地址库,通过自监督算法生成自监督训练地址样本;
S2、采用多头标志对方法构建神经网络模型进行模型训练;
S3、使用训练动态终结方法终止训练得到最优模型;
S4、将预测出的地址单元组进行错误地址修正和结果二次分析得到标准地址结果。
在上述的基于自监督深度学习的地址识别方法中,所述步骤S1 包括:
1)、使用标准地址单元划分定义标准地址结构,并填充标准地址数据;使用标准地址数据为基准训练数据;
2)、对基准训练数据使用自监督算法生成自监督训练地址样本;
2.1)、首先对所述基准训练数据进行数据增强:
(1)、以(30~50%)概率对地址单元类型描述进行mask,并记录mask索引;
(2)、以(30~50%)概率对地址单元类型描述进行扩展,并记录扩展索引;
2.2)、自动生成训练数据负样本:
(1)、对基准训练数据进行字频统计,过滤高频字及停用字,生成字频字典;
(2)、利用字频字典基于字频以(30~50%)概率在地址单元前后添加地址单元负样本,负样本中高频字的使用概率高于低频字的使用概率,并记录负样本索引;
(3)、使用全中文字库、符号库、英文字母组成(5~20%)概率负样本字库,利用此概率(5~20%)负样本字库以(5~20%)概率在地址单元内添加负样本,并记录负样本索引;
2.3)、以数据增强后的基准训练数据作为正样本,以自动生成的训练数据负样本作为负样本来构建自监督训练地址样本;
3)、对所述自监督训练地址样本生成样本标签:
3.1)、训练标签分为五个类别:单字地址、地址开始、地址中间、地址结束、非地址;
3.2)、依照自监督训练地址样本,结合训练标签生成地址识别标签;
3.3)、对自监督训练地址样本进行数据映射生成样本-索引映射及索引-样本映射,映射长度等于训练数据所使用的所有字符枚举总数量;
3.4)、对上述标签数据进行数据映射生成标签-索引映射及索引- 标签映射,映射长度等于标签数据所使用的所有标签枚举总数量加1,其中加1为padding标签。
在上述的基于自监督深度学习的地址识别方法中,所述步骤S2 包括:
1)、使用序列特征抽取网络对训练样本进行特征提取,提取出的特征表征为:
h1,h2,h3,h4,…hs
其中h表示序列中每个字符抽取出的隐层特征,s表示序列长度;
2)、构建样本标签矩阵y其形状为(s,s,β)
其中:s为序列长度,β为地址单元类别数也就是head数;
如图所示,由多头标志对方法构建的标签可以优雅的解决实体嵌套问题,实现对嵌套样本的训练;
3)、通过序列特征生成多头标志对矩阵:
序列特征:h1,h2,h3,h4,…hs
通过序列特征生成特征矩阵V,R:
Vi,β=Wν,βhi十bv,β
Ri,β=Wr,βhi十br,β
得到:多头矩阵
Figure RE-GDA0004029979420000041
其中:(i,j∈s),W、b为可学习参数,w为权重、b为偏置;
4)、由于多头矩阵缺乏位置的敏感性,故在隐层加上相对位置信息P(i,j),其编码规则为:
c-r…c-2、c-1、c、c+1、c+2…c+r
其中c=ceil(s/2)
则特征矩阵V,R变为:
Vi,β=Wν,β(hi十Pi)+bν,β
Ri,β=Wr,β(hi十Pj)十br,β
此时多头矩阵为:
Mβ=(Wν,βhi+Wr,βPi)T(Wν,βhi+Wr,βPi)
最后使用一个线性层D将Mβ映射为形状为(s,s,β)的输出O;
Figure RE-GDA0004029979420000051
5)、预测概率及损失函数
O矩阵中的元素Cβ(i,j)是地址类型为β的地址单元的打分,再通过sigmoid()得到元素Cβ(i,j)对应序列是的类型为β的地址单元的概率:Pβ(i,j)=sigmoid(Cβ(i,j))
最终得到损失函数为:
Figure RE-GDA0004029979420000052
在上述的基于自监督深度学习的地址识别方法中,所述步骤S3 包括:
记录每个mini-batch的训练损失,并对一轮训练中所有的 mini-batch训练损失进行累加作为此轮训练的训练损失;
在模型更新参数后使用最新模型参数依据测试集数据对模型进行测试并计算测试损失,将训练损失与测试损失进行相加作为总损失,并将总损失进行记录;
每完成一轮训练都将本轮训练的总损失与上轮训练的总损失进行比较,如果本轮训练损失大于上轮训练损失,则触发训练终结事件,累计触发5次训练终结事件,则视为训练结束;将训练完成的模型进行保存。
在上述的基于自监督深度学习的地址识别方法中,所述步骤S4 包括:
1)、以基准训练数据作为数据基础,生成标准地址查找缓存,已实现快速查找及匹配;
2)、按地址单元类型对识别结果进行增强:
根据先验知识,由于地址单元类型描述中包含一定含义近似但内容不同的描述,为了能将识别中的地址匹配到标准地址,首先按地址单元类型对识别结果进行增强,将地址单元类型修正为标准地址中统一的地址描述;
3)、去除识别出的异常和重复地址:
根据先验知识,当地址描述为'市'、'区'、'镇'、'街道'等仅有地址单元类型的表述时为无意义地址表述,通过字符枚举匹配的方式将此类无意义地址表述检索出并在识别结果中去除,同时将重复识别的地址单元去除;
4)、对识别出的地址单元进行错误修正;
由于部分识别出的地址单元在描述中出现错误,导致无法与标准地址单元匹配上,需要对其进行修正;首先通过此错误地址单元的上级地址单元在标准地址查找缓存中查找出其所有的下级地址单元作为待匹配单元;将错误的地址单元和所有的待匹配地址单元先转换为字向量,再通过字向量的累加生成地址单元向量;通过向量余弦相似度算法与Levenshtein距离算法相结合的方法分别计算待匹配单元向量与错误地址向量间的相似度,取其相似度最大者且与错误地址字符长度差最小为最相似地址单元,从而完成地址单元修正;
5)、将匹配出的标准地址单元拼接为完整地址单元组并按层级进行排列,并在标准地址查找缓存中查找标准地址结果。
与现有的技术相比,本发明的优点在于:
1.本申请通过使用自监督样本标签生成算法,大幅降低了地址识别任务中的数据标注成本;
2.本申请通过使用多头标识对模型,实现了对地址描述中包含嵌套情况的识别;
3.本申请通过训练动态终结方法终止方法提升了训练效率;
4.本申请通过地址修正方法提高了地址识别准确率。
附图说明
图1为本发明提出的一种基于自监督深度学习的地址识别方法的示意图;
图2为本发明提出的一种基于自监督深度学习的地址识别方法中多头标志对模型标签矩阵示例图。
具体实施方式
以下实施例仅处于说明性目的,而不是想要限制本发明的范围。
实施例
参照图1,一种基于自监督深度学习的地址识别方法,包括以下步骤:
S1、采用提供的标准地址库,通过自监督算法生成自监督训练地址样本;
本步骤包括:
1)、使用标准地址单元划分定义标准地址结构,并填充标准地址数据;使用标准地址数据为基准训练数据;
2)、对基准训练数据使用自监督算法生成自监督训练地址样本;
2.1)、首先对所述基准训练数据进行数据增强:
(1)、以(30~50%)概率对地址单元类型描述进行mask,并记录mask索引;
(2)、以(30~50%)概率对地址单元类型描述进行扩展,并记录扩展索引;
2.2)、自动生成训练数据负样本:
(1)、对基准训练数据进行字频统计,过滤高频字及停用字,生成字频字典;
(2)、利用字频字典基于字频以(30~50%)概率在地址单元前后添加地址单元负样本,负样本中高频字的使用概率高于低频字的使用概率,并记录负样本索引;
(3)、使用全中文字库、符号库、英文字母组成(5~20%)概率负样本字库,利用此(5~20%)概率负样本字库以(5~20%)概率在地址单元内添加负样本,并记录负样本索引;
2.3)、以数据增强后的基准训练数据作为正样本,以自动生成的训练数据负样本作为负样本来构建自监督训练地址样本;
3)、对所述自监督训练地址样本生成样本标签:
3.1)、训练标签分为五个类别:单字地址、地址开始、地址中间、地址结束、非地址;
3.2)、依照自监督训练地址样本,结合训练标签生成地址识别标签;
3.3)、对自监督训练地址样本进行数据映射生成样本-索引映射及索引-样本映射,映射长度等于训练数据所使用的所有字符枚举总数量;
3.4)、对上述标签数据进行数据映射生成标签-索引映射及索引- 标签映射,映射长度等于标签数据所使用的所有标签枚举总数量加1,其中加1为padding标签。
本步骤中首先建立所述标准地址库,并在MySQL中实现此标准地址库的实例,并使用调用方提供的标准地址数据进行填充。从MySQL 中读取标准地址数据为基准训练数据;将基准训练数据进行字频统计,过滤高频字及停用字,生成字频字典;
进一步的,对所述基准训练数据进行数据增强:以45%概率对地址单元类型描述进行mask,并记录mask索引;以30%概率对地址单元类型描述进行扩展,并记录扩展索引;利用上述字频字典基于字频以10%概率在地址单元内添加负样本,负样本中高频字的使用概率高于低频字的使用概率,并记录负样本索引。数据增强完成后再进行训练数据负样本生成:利用所述字频字典基于字频以30%概率在地址单元前后添加地址单元负样本,负样本中高频字的使用概率高于低频字的使用概率,并记录负样本索引:使用全中文字库、符号库、英文字母组成(5~20%)概率负样本字库,利用此(5~20%)概率负样本字库以10%低概率在地址单元内添加负样本,并记录负样本索引。将上述数据增强后的基准训练数据作为正样本,以自动生成的训练数据负样本作为负样本来构建自监督训练地址样本;
进一步的将基准训练数据随机打乱,按照9:1的比例将训练数据切分为训练集和测试集。对所述自监督训练地址样本生成样本标签;最后将训练地址数据样本及样本标签打包为JSON格式在本地进行存储。
S2、采用多头标志对方法构建神经网络模型进行模型训练
本步骤包括:
1)、使用序列特征抽取网络对训练样本进行特征提取,提取出的特征表征为:
h1,h2,h3,h4,…hs
其中h表示序列中每个字符抽取出的隐层特征,s表示序列长度;
2)、构建样本标签矩阵y其形状为(s,s,β)
以“经过AB市CD区EFGH及周边”举例,如图2所示,
其中:s为序列长度,β为地址单元类别数也就是head数。
如该图所示,由多头标志对方法构建的标签可以优雅的解决实体嵌套问题,实现对嵌套样本的训练。
3)、通过序列特征生成多头标志对矩阵:
序列特征:h1,h2,h3,h4,…hs
通过序列特征生成特征矩阵V,R:
Vi,β=Wv,βhi十bν,β
Ri,β=Wr,βhi+br,β
得到:多头矩阵
Figure RE-GDA0004029979420000111
其中:(i,j∈s),W、b为可学习参数,w为权重、b为偏置; 4)、由于多头矩阵缺乏位置的敏感性,故在隐层加上相对位置信息 P(i,j),其编码规则为:
c-r…c-2、c-1、c、c十1、c十2…c十r
其中c=ceil(s/2)
则特征矩阵V,R变为:
Vi,β=Wv,β(hi十Pi)十bv,β
Ri,β=Wr,β(hi+Pj)+br,β
此时多头矩阵为:
Mβ=(Wν,βhi+Wr,βPi)T(Wv,βhi+Wr,βPi)
最后使用一个线性层D将Mβ映射为形状为(s,s,β)的输出0。
Figure RE-GDA0004029979420000112
5)、预测概率及损失函数
O矩阵中的元素Cβ(i,j)是地址类型为β的地址单元的打分,再通过sigmoid()得到元素Cβ(i,j)对应序列是的类型为β的地址单元的概率:Pβ(i,j)=sigmoid(Cβ(i,j))
最终得到损失函数为:
Figure RE-GDA0004029979420000121
本步骤中使用基于python语言实现的pytorch框架搭建模型。使用序列特征抽取网络对训练样本进行特征提取,本例中序列特征提取网络使用LSTM来实现,在实践中也可实现目前使用较广的 Transformer来实现。亦可在特征提取网络前加入如BERT等预训练模型,来增加特征提取效果。提取出特征后构建样本标签矩阵,再通过序列特征生成多头标志对矩阵,由于多头矩阵缺乏位置的敏感性,在隐层加上相对位置信息,最后生成多头标志对矩阵,由于预测值在 0,1之间,故损失函数使用二元交叉熵损失来实现。模型训练时采用mini-batch SGD优化器对模型训练参数进行更新优化,初始学习率设置为0.00005,动量比例设置为0.95;使用StepLR学习率策略来控制学习率变化,更新步长设置为10个mini-batch,gamma设置为 0.9;
进一步的,为了便于训练过程中超参的调整,以及对超参调整效果进行记录,使用pickle对超参进行打包,记录每次训练所使用的超参。
进一步的,每个训练mini-batch的预测值与真实值使用二元交叉熵损失函数来对预测效果进行评估并计算损失;通过模型的反向传播依据损失值对模型进行参数更新。
进一步的,训练动态终结方法包括:在训练过程中记录每个 mini-batch的训练损失,并对一轮训练中所有的mini-batch训练损失进行累加作为此轮训练的训练损失;在模型更新参数后使用最新模型参数依据测试集数据对模型进行测试并计算测试损失,将训练损失与测试损失进行相加作为总损失,并将总损失进行记录;每完成一轮训练都将本轮训练的总损失与上轮训练的总损失进行比较,如果本轮训练损失大于上轮训练损失,则触发训练终结事件,累计触发5次训练终结事件,则视为训练结束;将训练完成的模型进行保存。在实际操作过程中,损失最小的模型,不一定为最优的模型,有可能产生过拟合的现象。为了获得最优模型,避免最优模型中有较明显的过拟合现象,在每次触发训练终结事件时都对模型进行保存,然后取损失最小的三个模型分别进行测试,选取测试指标最优的模型作为预测模型。
S3、使用训练动态终结方法终止训练得到最优模型
本步骤包括:
记录每个mini-batch的训练损失,并对一轮训练中所有的 mini-batch训练损失进行累加作为此轮训练的训练损失;
在模型更新参数后使用最新模型参数依据测试集数据对模型进行测试并计算测试损失,将训练损失与测试损失进行相加作为总损失,并将总损失进行记录;
每完成一轮训练都将本轮训练的总损失与上轮训练的总损失进行比较,如果本轮训练损失大于上轮训练损失,则触发训练终结事件,累计触发5次训练终结事件,则视为训练结束;将训练完成的模型进行保存。
本步骤中首先将待识别的地址文本输入模型,先使用序列特征提取网络对地址序列特征进行提取,后将序列特征使用训练完成的多头标识对模型转换到Mβ,得到地址单元的打分,最后使用sigmoid() 函数将分值映射到概率,概率大于0.5的序列即为预测的地址单元
S4、将预测出的地址单元组进行错误地址修正和结果二次分析得到标准地址结果。
本步骤包括:
1)、以基准训练数据作为数据基础,生成标准地址查找缓存,已实现快速查找及匹配;
2)、按地址单元类型对识别结果进行增强:
根据先验知识,由于地址单元类型描述中包含一定含义近似但内容不同的描述,为了能将识别中的地址匹配到标准地址,首先按地址单元类型对识别结果进行增强,将地址单元类型修正为标准地址中统一的地址描述。比如将“栋”修正为“幢”、给“号门”增加“单元”描述等等,以期在标准地址查找缓存中完成地址匹配。
3)、去除识别出的异常和重复地址:
根据先验知识,当地址描述为'市'、'区'、'镇'、'街道'等仅有地址单元类型的表述时为无意义地址表述,通过字符枚举匹配的方式将此类无意义地址表述检索出并在识别结果中去除,同时将重复识别的地址单元去除。
4)、对识别出的地址单元进行错误修正;
由于部分识别出的地址单元在描述中出现错误,导致无法与标准地址单元匹配上,需要对其进行修正。首先通过此错误地址单元的上级地址单元在标准地址查找缓存中查找出其所有的下级地址单元作为待匹配单元;将错误的地址单元和所有的待匹配地址单元先转换为字向量,再通过字向量的累加生成地址单元向量;通过向量余弦相似度算法与Levenshtein距离算法相结合的方法分别计算待匹配单元向量与错误地址向量间的相似度,取其相似度最大者且与错误地址字符长度差最小为最相似地址单元,从而完成地址单元修正。
5)、将匹配出的标准地址单元拼接为完整地址单元组并按层级进行排列,并在标准地址查找缓存中查找标准地址结果。
本步骤中首先以步骤S1所述的基准训练数据以内存模式存入 SQLite3生成标准地址查找缓存,内存模式可以让所有的查找及索引的使用都在内存中进行,用以实现快速查找及匹配;
进一步的,获得识别结果后,按地址单元类型对识别结果进行增强,将识别结果中地址单元类型修正为标准地址中统一的地址描述。比如将“栋”修正为“幢”、给“号门”增加“单元”描述等等,并且通过字符枚举匹配的方式去除识别结果中仅有“市”、“区”、“镇”、“街道”等无意义地址的识别结果。
进一步的,由于部分识别出的地址单元在描述中出现错误,导致无法与标准地址单元匹配上,需要对其进行修正。修正的基本思想就是先圈定错误地址单元描述的正确值范围,然后通过文本相似度算法获得与错误地址单元描述最接近的正确地址描述,使用此正确地址描述作为修正值。
在文本相似度算法中常用的有Levenshtein距离,其特点是对短文本速度较快,但其缺点是只比较编辑距离,完全不考虑语意相似度,如果不考虑上下文含义Levenshtein距离是较优的选择;另一种是余弦相似度,此方法基于两个文本所对应的向量间的余弦距离,由于使用的是向量,且在训练时已经对文本向量进行更新,所以两个文本向量间的余弦距离在一定程度上反应了其语意相似度,而这在地址识别任务中是需要的特性。在本实例中,结合了以上两种算法,在分别计算出Levenshtein距离和余弦距离后选取两种距离的最佳匹配词,然后选择其中与被匹配词长度差最小的作为最终结果。经实验此种方法得到的修正结果准确率最高。
具体做法是:通过错误地址单元的上级地址单元在标准地址查找缓存中查找出其所有的下级地址单元作为待匹配单元;将错误的地址单元和所有的待匹配地址单元先转换为字向量,再通过字向量的累加生成地址单元向量;通过向量余弦相似度方法和Levenshtein距离算法分别计算待匹配单元向量与错误地址向量间的相似度,取两者中相似度最高且与错误地址字符长度差最小的结果作为最相似地址单元,从而完成地址单元修正。完成地址单元修正后,将修正结果进行输出,作为最终地址识别结果
本申请中,首先通过提供的标准地址库,使用自监督算法生成自监督训练地址样本。然后采用多头标志对方法构建神经网络模型进行模型训练。为了寻找得到最优模型,并提高训练效率,使用训练动态终结方法终止训练得到最优模型。模型行训练完成后,使用最优模型对输入地址进行模型预测,得到目标地址单元组。为得到更加精确的地址识别结果,并能够对错误的地址进行一定修正,将所述目标地址单元组进行错误地址修正和结果二次分析最后得到标准地址结果。
标准地址库的字段按标准地址双体系建立,其一是街路巷体系,其二是路号体系,两体系共有15个地址单元字段,数据由有地址识别需求的需求方提供。提供方可提供街路巷或路号体系地址数据的其中之一,或者可以都提供。如果都提供有利于识别率的提升。由于训练地址样本的生成基于此标准地址库,故在提供标准地址数据时需保证每条地址的唯一性和正确性,且不同的标准地址中不得包含可能产生歧义的地址描述。提供的数据采用MySQL数据库进行存储,如此存储能够便于数据的读取访问,也便于发现问题数据时的更新。而且作为关系型数据库MySQL便于数据结构的扩展。
自监督训练地址样本存储为JSON结构。JSON结构具有良好的自我描述性,便于阅读,且JSON结构可以实现清晰的数据层次,可以将训练数据与训练标签放在同一文件中且能够清晰快速的区分,在主程序基于python语言实现时,还可以将JSON文件直接加载为数据对象,更便于训练数据的存储和读取,以及便于训练数据的更新。
实现所述标准地址查找缓存用以实现快速地址查找匹配,此处使用SQLite3实现,SQLite3支持原生SQL语句,可以实现较复杂的查找逻辑,SQLite3的内存表模式还可实现全表内存缓存,全表内存缓存使原始数据和数据索引都缓存到内存,能够快速的获得查询结果,本地化部署的特性使查询的过程也免去了网络访问的过程,相较于直接在MySQL中查询,使用SQLite3实现查询缓存后使每次地址匹配都控制在秒级返回内。

Claims (5)

1.一种基于自监督深度学习的地址识别方法,其特征在于,包括以下步骤:
S1、采用提供的标准地址库,通过自监督算法生成自监督训练地址样本;
S2、采用多头标志对方法构建神经网络模型进行模型训练;
S3、使用训练动态终结方法终止训练得到最优模型;
S4、将预测出的地址单元组进行错误地址修正和结果二次分析得到标准地址结果。
2.根据权利要求1所述的一种基于自监督深度学习的地址识别方法,其特征在于,所述步骤S1包括:
1)、使用标准地址单元划分定义标准地址结构,并填充标准地址数据;使用标准地址数据为基准训练数据;
2)、对基准训练数据使用自监督算法生成自监督训练地址样本;
2.1)、首先对所述基准训练数据进行数据增强:
(1)、以(30~50%)概率对地址单元类型描述进行mask,并记录mask索引;
(2)、以(30~50%)概率对地址单元类型描述进行扩展,并记录扩展索引;
2.2)、自动生成训练数据负样本:
(1)、对基准训练数据进行字频统计,过滤高频字及停用字,生成字频字典;
(2)、利用字频字典基于字频以(30~50%)概率在地址单元前后添加地址单元负样本,负样本中高频字的使用概率高于低频字的使用概率,并记录负样本索引;
(3)、使用全中文字库、符号库、英文字母组成(5~20%)概率负样本字库,利用此概率(5~20%)负样本字库以(5~20%)概率在地址单元内添加负样本,并记录负样本索引;
2.3)、以数据增强后的基准训练数据作为正样本,以自动生成的训练数据负样本作为负样本来构建自监督训练地址样本;
3)、对所述自监督训练地址样本生成样本标签:
3.1)、训练标签分为五个类别:单字地址、地址开始、地址中间、地址结束、非地址;
3.2)、依照自监督训练地址样本,结合训练标签生成地址识别标签;
3.3)、对自监督训练地址样本进行数据映射生成样本-索引映射及索引-样本映射,映射长度等于训练数据所使用的所有字符枚举总数量;
3.4)、对上述标签数据进行数据映射生成标签-索引映射及索引-标签映射,映射长度等于标签数据所使用的所有标签枚举总数量加1,其中加1为padding标签。
3.根据权利要求1所述的一种基于自监督深度学习的地址识别方法,其特征在于,所述步骤S2包括:
1)、使用序列特征抽取网络对训练样本进行特征提取,提取出的特征表征为:
Figure 613030DEST_PATH_IMAGE002
其中h表示序列中每个字符抽取出的隐层特征,s表示序列长度;
2)、构建样本标签矩阵
Figure DEST_PATH_IMAGE003
其形状为
Figure 528902DEST_PATH_IMAGE004
其中:s为序列长度,β为地址单元类别数也就是head数;
如图所示,由多头标志对方法构建的标签可以优雅的解决实体嵌套问题,实现对嵌套样本的训练;
3)、通过序列特征生成多头标志对矩阵:
序列特征:
Figure DEST_PATH_IMAGE005
通过序列特征生成特征矩阵V,R:
Figure DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE009
得到:多头矩阵
Figure DEST_PATH_IMAGE011
其中:
Figure 466771DEST_PATH_IMAGE012
,W、b为可学习参数,w为权重、b为偏置;
4)、由于多头矩阵缺乏位置的敏感性,故在隐层加上相对位置信息
Figure DEST_PATH_IMAGE013
),其编码规则为:
Figure DEST_PATH_IMAGE015
其中
Figure DEST_PATH_DEST_PATH_IMAGE046
(s/2)
则特征矩阵V,R变为:
Figure 129538DEST_PATH_IMAGE018
Figure 549018DEST_PATH_IMAGE020
此时多头矩阵为:
Figure 900365DEST_PATH_IMAGE022
最后使用一个线性层D将
Figure DEST_PATH_IMAGE023
映射为形状为
Figure 705379DEST_PATH_IMAGE004
的输出O;
Figure DEST_PATH_IMAGE025
5)、预测概率及损失函数
O矩阵中的元素
Figure 585611DEST_PATH_IMAGE026
是地址类型为
Figure DEST_PATH_IMAGE027
的地址单元的打分,再通过sigmoid()得到元素
Figure 476075DEST_PATH_IMAGE026
对应序列是的类型为
Figure 365534DEST_PATH_IMAGE027
的地址单元的概率:
Figure 306945DEST_PATH_IMAGE028
最终得到损失函数为:
Figure DEST_PATH_IMAGE029
4.根据权利要求1所述的一种基于自监督深度学习的地址识别方法,其特征在于,所述步骤S3包括:
记录每个mini-batch的训练损失,并对一轮训练中所有的mini-batch训练损失进行累加作为此轮训练的训练损失;
在模型更新参数后使用最新模型参数依据测试集数据对模型进行测试并计算测试损失,将训练损失与测试损失进行相加作为总损失,并将总损失进行记录;
每完成一轮训练都将本轮训练的总损失与上轮训练的总损失进行比较,如果本轮训练损失大于上轮训练损失,则触发训练终结事件,累计触发5次训练终结事件,则视为训练结束;将训练完成的模型进行保存。
5.根据权利要求1所述的一种基于自监督深度学习的地址识别方法,其特征在于,所述步骤S4包括:
1)、以基准训练数据作为数据基础,生成标准地址查找缓存,已实现快速查找及匹配;
2)、按地址单元类型对识别结果进行增强:
根据先验知识,由于地址单元类型描述中包含一定含义近似但内容不同的描述,为了能将识别中的地址匹配到标准地址,首先按地址单元类型对识别结果进行增强,将地址单元类型修正为标准地址中统一的地址描述;
3)、去除识别出的异常和重复地址:
根据先验知识,当地址描述为'市'、'区'、'镇'、'街道'等仅有地址单元类型的表述时为无意义地址表述,通过字符枚举匹配的方式将此类无意义地址表述检索出并在识别结果中去除,同时将重复识别的地址单元去除;
4)、对识别出的地址单元进行错误修正;
由于部分识别出的地址单元在描述中出现错误,导致无法与标准地址单元匹配上,需要对其进行修正;首先通过此错误地址单元的上级地址单元在标准地址查找缓存中查找出其所有的下级地址单元作为待匹配单元;将错误的地址单元和所有的待匹配地址单元先转换为字向量,再通过字向量的累加生成地址单元向量;通过向量余弦相似度算法与Levenshtein距离算法相结合的方法分别计算待匹配单元向量与错误地址向量间的相似度,取其相似度最大者且与错误地址字符长度差最小为最相似地址单元,从而完成地址单元修正;
5)、将匹配出的标准地址单元拼接为完整地址单元组并按层级进行排列,并在标准地址查找缓存中查找标准地址结果。
CN202211240111.0A 2022-10-11 2022-10-11 一种基于自监督深度学习的地址识别方法 Active CN115688779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211240111.0A CN115688779B (zh) 2022-10-11 2022-10-11 一种基于自监督深度学习的地址识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211240111.0A CN115688779B (zh) 2022-10-11 2022-10-11 一种基于自监督深度学习的地址识别方法

Publications (2)

Publication Number Publication Date
CN115688779A true CN115688779A (zh) 2023-02-03
CN115688779B CN115688779B (zh) 2023-05-09

Family

ID=85064734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211240111.0A Active CN115688779B (zh) 2022-10-11 2022-10-11 一种基于自监督深度学习的地址识别方法

Country Status (1)

Country Link
CN (1) CN115688779B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349676A (zh) * 2023-12-05 2024-01-05 神州医疗科技股份有限公司 基于mq端口和redis数据库的模型训练方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112364656A (zh) * 2021-01-12 2021-02-12 北京睿企信息科技有限公司 一种基于多数据集多标签联合训练的命名实体识别方法
CN113436698A (zh) * 2021-08-27 2021-09-24 之江实验室 融合自监督和主动学习的医学术语自动标准化系统及方法
US20220067582A1 (en) * 2020-08-27 2022-03-03 Samsung Electronics Co. Ltd. Method and apparatus for continual few-shot learning without forgetting
CN114239585A (zh) * 2021-12-17 2022-03-25 安徽理工大学 一种生物医学嵌套命名实体识别方法
CN114298228A (zh) * 2021-12-30 2022-04-08 杭州电子科技大学 一种基于数据预处理的地址文本信息相关性学习方法
CN114398886A (zh) * 2021-12-22 2022-04-26 科讯嘉联信息技术有限公司 一种基于预训练的地址提取和标准化方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220067582A1 (en) * 2020-08-27 2022-03-03 Samsung Electronics Co. Ltd. Method and apparatus for continual few-shot learning without forgetting
CN112364656A (zh) * 2021-01-12 2021-02-12 北京睿企信息科技有限公司 一种基于多数据集多标签联合训练的命名实体识别方法
CN113436698A (zh) * 2021-08-27 2021-09-24 之江实验室 融合自监督和主动学习的医学术语自动标准化系统及方法
CN114239585A (zh) * 2021-12-17 2022-03-25 安徽理工大学 一种生物医学嵌套命名实体识别方法
CN114398886A (zh) * 2021-12-22 2022-04-26 科讯嘉联信息技术有限公司 一种基于预训练的地址提取和标准化方法
CN114298228A (zh) * 2021-12-30 2022-04-08 杭州电子科技大学 一种基于数据预处理的地址文本信息相关性学习方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
YU WANG 等: "HIT: Nested Named Entity Recognition via Head-Tail Pair and Token Interaction", PROCEEDINGS OF THE 2020 CONFERENCE ON EMPIRICAL METHODS IN NATURAL LANGUAGE PROCESSING *
刘鑫铎: "基于BERT的中文领域小样本关系抽取方法研究", 中国优秀硕士学位论文全文数据库信息科技辑 *
曲子奇: "基于自监督学习的时间序列聚类方法研究", 中国优秀硕士学位论文全文数据库信息科技辑 *
苏立新;郭嘉丰;范意兴;兰艳艳;程学旗;: "基于标签增强的机器阅读理解模型", 模式识别与人工智能 *
钟艾妮: "基于Word2Vec的中文地址匹配", 中国优秀硕士学位论文全文数据库基础科学辑 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349676A (zh) * 2023-12-05 2024-01-05 神州医疗科技股份有限公司 基于mq端口和redis数据库的模型训练方法及系统
CN117349676B (zh) * 2023-12-05 2024-03-12 神州医疗科技股份有限公司 基于mq端口和redis数据库的模型训练方法及系统

Also Published As

Publication number Publication date
CN115688779B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN111124487B (zh) 代码克隆检测方法、装置以及电子设备
CN110727839A (zh) 自然语言查询的语义解析
CN111666427A (zh) 一种实体关系联合抽取方法、装置、设备及介质
CN116151132B (zh) 一种编程学习场景的智能代码补全方法、系统及储存介质
CN110807102A (zh) 知识融合方法、装置、计算机设备和存储介质
CN114817553A (zh) 知识图谱构建方法、知识图谱构建系统和计算设备
CN109858025B (zh) 一种地址标准化语料的分词方法及系统
CN115495555A (zh) 一种基于深度学习的文献检索方法和系统
US20240143644A1 (en) Event detection
CN106980620A (zh) 一种对中文字串进行匹配的方法及装置
CN115438674A (zh) 实体数据处理、实体链接方法、装置和计算机设备
CN115688779B (zh) 一种基于自监督深度学习的地址识别方法
CN115858773A (zh) 适用于长文档的关键词挖掘方法、装置及介质
CN111881264B (zh) 一种开放领域问答任务中长文本检索的方法和电子设备
CN112765976A (zh) 文本相似度计算方法、装置、设备及存储介质
CN112926323A (zh) 基于多级残差卷积与注意力机制的中文命名实体识别方法
CN115795060A (zh) 一种基于知识增强的实体对齐方法
CN113468311B (zh) 一种基于知识图谱的复杂问句问答方法、装置及存储介质
CN116029300A (zh) 一种强化中文实体语义特征的语言模型训练方法和系统
CN114595329A (zh) 一种原型网络的少样本事件抽取系统及方法
CN112416754B (zh) 一种模型评测方法、终端、系统及存储介质
JP6816621B2 (ja) 判別方法、判別プログラム及び判別装置
Daciuk et al. Natural Language Dictionaries Implemented as Finite Automata.
CN111259650A (zh) 基于类标序列生成式对抗模型的文本自动生成方法
CN111126066A (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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method of Address Recognition Based on Self supervised Deep Learning

Effective date of registration: 20230712

Granted publication date: 20230509

Pledgee: Hangzhou High-tech Financing Guarantee Co.,Ltd.

Pledgor: Hangzhou Ruicheng Information Technology Co.,Ltd.

Registration number: Y2023330001454