一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

地址要素解析方法、装置和电子设备与流程

2022-02-19 05:53:28 来源:中国专利 TAG:


1.本发明涉及数据处理的技术领域,尤其是涉及一种地址要素解析方法、装置和电子设备。


背景技术:

2.地址是日常生活中一种重要的文本信息,诸多场景需要登记地址,如电商购物、外卖配送、人口普查、水电气开户等。英文地址通常有严格的书写格式(从特殊到一般),并且各个level的地址元素之间通常都会有空格或者其它一些特殊字符进行分离,这样能很好的区分各个地址元素的边界。但是对于中文地址,不同level的地址元素是连接在一起的,各个level的地址元素之间没有明显的boundary。同时由于对于地址的书写格式并没有进行严格的限制,实际中的地址往往存在一些问题,比如:地址不完整、地址中出现冗余(相同地址元素重复出现)、地址信息的不准确。
3.基于此,地址要素解析是非常必要的,地址要素解析是将地址文本拆分成具有独立语义的实体,并对这些实体进行类型识别的过程。现有的地址要素解析系统主要使用lstm进行特征的编码,然后使用crf来进行解码,但是上述方式往往无法很好识别地址要素中实体的边界以及实体类型,难以保证地址要素解析结果的准确性。


技术实现要素:

4.本发明的目的在于提供一种地址要素解析方法、装置和电子设备,以缓解现有的地址要素解析方法存在的解析结果准确性低的技术问题。
5.第一方面,本发明提供一种地址要素解析方法,包括:获取待解析地址数据;利用预设lebert模型对所述待解析地址数据进行特征编码,得到目标地址编码;其中,所述预设lebert模型中的attention计算采用非参数式的相对位置编码;基于所述目标地址编码确定所述待解析地址数据的目标解析结果;其中,所述目标解析结果包括:每个实体的起始位置、每个所述实体的终止位置和每个所述实体的类型,所述实体表示所述待解析地址数据中具有独立语义的分词结果。
6.在可选的实施方式中,获取待解析地址数据,包括:获取原始地址数据;将所述原始地址数据中的无效字符进行过滤,得到所述待解析地址数据;其中,所述无效字符包括:网页链接、代码和标点符号。
7.在可选的实施方式中,所述方法还包括:获取目标训练样本;其中,所述目标训练样本中包括多个训练地址数据;对每个所述训练地址数据执行遮蔽操作,得到遮蔽后的训练样本;利用遮蔽后的训练样本对初始bert模型进行训练,得到目标bert模型;在所述目标bert模型的encoder层之间添加适配器adapter,以得到目标lebert模型;其中,所述adapter用于融合地址元素信息和外部词汇信息;调整所述目标lebert模型中attention计算的编码方式为非参数式的相对位置编码,得到所述预设lebert模型。
8.在可选的实施方式中,获取目标训练样本,包括:获取多个样本地址数据;对每个
所述样本地址数据进行数据清洗,得到清洗后的样本地址数据;对每个所述清洗后的样本地址数据进行实体类型识别,得到具有实体类型标记的地址数据;对每个所述具有实体类型标记的地址数据进行数据增强,得到所述目标训练样本。
9.在可选的实施方式中,对每个所述具有实体类型标记的地址数据进行数据增强,包括:基于第一预设概率分布对每个所述具有实体类型标记的地址数据中的目标实体进行实体替换;其中,所述目标实体表示所述具有实体类型标记的地址数据中的任意一个实体;所述第一预设概率分布包括:第一概率和第二概率;所述第一概率为实体保持不变的概率,所述第二概率为实体被替换的概率;所述第一概率和所述第二概率的和为1;所述第二概率具体包括第二预设概率分布,所述第二预设概率分布包括:第一子概率、第二子概率和第三子概率;所述第一子概率为实体被随机替换的概率,第二子概率为实体被删除的概率,第三子概率为实体保持不变的概率;所述第一子概率、所述第二子概率和所述第三子概率的和为1。
10.在可选的实施方式中,对每个所述训练地址数据执行遮蔽操作,包括:基于第三预设概率分布对每个所述训练地址数据中预设比例的字符进行遮蔽,得到遮蔽后的训练样本;其中,所述第三预设概率分布包括:第三概率、第四概率和第五概率;所述第三概率为字符被替换为预设遮蔽字符的概率,所述第四概率为字符保持不变的概率,所述第五概率为字符被随机替换的概率;所述第三概率、所述第四概率和所述第五概率的和为1。
11.在可选的实施方式中,所述预设lebert模型中的attention计算采用如下算式:其中,q
i
表示地址数据中第i个元素的query向量,x
i
表示所述第i个元素经过所述预设lebert模型中embedding层映射后得到的特征,w
q
表示第一预设参数矩阵,w
k
表示第二预设参数矩阵,w
v
表示第三预设参数矩阵,x
j
表示地址数据中第j个元素经过所述预设lebert模型中embedding层映射后得到的特征,k
j
表示所述第j个元素的key向量,v
j
表示所述第j个元素的value向量,a
i,j
表示所述第i个元素和所述第j个元素的attention得分,o
i
表示所述第i个元素经过attention后的特征向量,r
i,j
表示所述第i个元素和所述第j个元素的相对位置编码,且r
i,j
通过以下算式进行计算:其中,k表示隐藏向量中的第k个位置的索引,d
z
表示所述隐藏向量的维度。
12.在可选的实施方式中,基于所述目标地址编码确定所述待解析地址数据的目标解析结果,包括:利用预设指针网络对所述目标地址编码进行处理,得到所述待解析地址数据
的初始解析结果;其中,所述初始解析结果中包括所述待解析地址数据中的所有可选实体;判断所述所有可选实体中是否存在实体嵌套;其中,所述实体嵌套表示实体之间存在重叠字符;若存在,则基于预设规则对所述初始解析结果进行处理,得到所述目标解析结果;其中,所述预设规则包括:若相邻两个实体是相同实体类型,则保留第一个字符出现顺序相对靠前的实体;若相邻两个实体是不同实体类型,则修正第一实体的终止位置为第二实体的起始位置的前一位;其中,所述第一实体为所述相邻两个实体中第一个字符出现顺序相对靠前的实体;所述第二实体为第一个字符出现顺序相对所述第一实体靠后的实体。
13.第二方面,本发明提供一种地址要素解析装置,包括:第一获取模块,用于获取待解析地址数据;编码模块,用于利用预设lebert模型对所述待解析地址数据进行特征编码,得到目标地址编码;其中,所述预设lebert模型中的attention计算采用非参数式的相对位置编码;确定模块,用于基于所述目标地址编码确定所述待解析地址数据的目标解析结果;其中,所述目标解析结果包括:每个实体的起始位置、每个所述实体的终止位置和每个所述实体的类型,所述实体表示所述待解析地址数据中具有独立语义的分词结果。
14.第三方面,本发明提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式中任一项所述的方法的步骤。
15.本发明提供的地址要素解析方法,包括:获取待解析地址数据;利用预设lebert模型对待解析地址数据进行特征编码,得到目标地址编码;其中,预设lebert模型中的attention计算采用非参数式的相对位置编码;基于目标地址编码确定待解析地址数据的目标解析结果;其中,目标解析结果包括:每个实体的起始位置、每个实体的终止位置和每个实体的类型,实体表示待解析地址数据中具有独立语义的分词结果。
16.本发明方法中,对待解析地址数据进行特征编码所使用的预设lebert模型中,其attention计算采用非参数式的相对位置编码,相对位置编码能够有效的增强模型识别位置信息的能力,因此,基于目标地址编码所确定的目标解析结果能够较准确地识别处地址要素中实体的边界以及实体类型,从而缓解了现有的地址要素解析方法存在的解析结果准确性低的技术问题。
附图说明
17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例提供的一种地址要素解析方法的流程图;
19.图2为本发明实施例提供的一种确定预设lebert模型的流程图;
20.图3为本发明实施例提供的一种预设lebert模型和预设指针网路组成的地址要素解析系统的架构图;
21.图4为本发明实施例提供的一种地址要素解析装置的功能模块图;
22.图5为本发明实施例提供的一种电子设备的示意图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
24.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
26.常见的地址一般包含以下几类信息:1)行政区划信息,如省、市、县、乡镇信息;2)路网信息,如路名,路号,道路设施等;3)详细地址信息,如poi(point of interest,兴趣点)、楼栋号、户室号等;4)非地址信息,如补充说明,误输入等。地址要素的解析是将地址文本拆分成具有独立语义的实体,并对这些实体进行类型识别的过程。也即,对地址执行分词操作,得到地址的多个分词结果,每个分词结果即作为一个实体。
27.例如,输入:“浙江省杭州市余杭区五常街道文一西路969号淘宝城5号楼,放前台”,地址要素解析系统应输出“province=浙江省city=杭州市district=余杭区town=五常街道road=文一西路road_number=969号poi=淘宝城house_number=5号楼o=,放前台”。
28.在中文地址中,各个地址元素所属的类别之间有很复杂的依赖关系,相同的地址元素出现在一条地址中的不同位置会有不同的所属类别,但实际生活中所出现的地址中,在地址的前半部分通常都会按照一种比较严格的书写格式,如省市区这种较为规范的书写,但是在地址的后半部分通常书写格式就比较灵活,如在区之后直接书写小区的名字,或通过一种自然语言的方式来进行描述。现有的地址要素解析系统主要使用lstm进行特征的编码,然后使用crf来进行解码,但是上述方式往往无法很好识别地址要素中实体的边界以及实体类型,难以保证地址要素解析结果的准确性。有鉴于此,本发明实施例提供了一种地址要素解析方法,用以缓解上文中所提出的技术问题。
29.实施例一
30.图1为本发明实施例提供的一种地址要素解析方法的流程图,如图1所示,该方法具体包括如下步骤:
31.步骤s102,获取待解析地址数据。
32.步骤s104,利用预设lebert模型对待解析地址数据进行特征编码,得到目标地址编码。
33.本发明实施例中的待解析地址数据为经过数据清洗后的地址数据,数据清洗是为了清除原始地址数据中的异常数据,在获取到待解析地址数据之后,将待解析地址数据输入预设lebert模型,以对待解析地址数据进行特征编码,得到目标地址编码,目标地址编码也可视为待解析地址数据的特征向量。lebert模型是对词语进行编码,以得到词语特征的数据模型。
34.现有的lerbert模型,其attention计算采用参数式的绝对位置编码,申请人发现,采用绝对位置编码的方式计算地址数据中两个元素的attention得分时,能够反映上述两个元素之间相对关系的数据将会丢失,因此,在本发明实施例中,预设lebert模型中的attention计算采用非参数式的相对位置编码,以增强lebert模型识别位置信息的能力。
35.步骤s106,基于目标地址编码确定待解析地址数据的目标解析结果。
36.在得到待解析地址数据的目标地址编码之后,即可进一步经过解码操作得到待解析地址数据的目标解析结果,其中,目标解析结果包括:每个实体的起始位置、每个实体的终止位置和每个实体的类型,实体表示待解析地址数据中具有独立语义的分词结果。
37.本发明实施例所提供的地址要素解析方法,包括:获取待解析地址数据;利用预设lebert模型对待解析地址数据进行特征编码,得到目标地址编码;其中,预设lebert模型中的attention计算采用非参数式的相对位置编码;基于目标地址编码确定待解析地址数据的目标解析结果;其中,目标解析结果包括:每个实体的起始位置、每个实体的终止位置和每个实体的类型,实体表示待解析地址数据中具有独立语义的分词结果。
38.本发明方法中,对待解析地址数据进行特征编码所使用的预设lebert模型中,其attention计算采用非参数式的相对位置编码,相对位置编码能够有效的增强模型识别位置信息的能力,因此,基于目标地址编码所确定的目标解析结果能够较准确地识别处地址要素中实体的边界以及实体类型,从而缓解了现有的地址要素解析方法存在的解析结果准确性低的技术问题。
39.在一个可选的实施方式中,上述步骤s102,获取待解析地址数据,具体包括如下步骤:
40.步骤s1021,获取原始地址数据;
41.步骤s1022,将原始地址数据中的无效字符进行过滤,得到待解析地址数据。
42.具体的,由于原始地址数据的数据来源存在多样性,所以原始地址数据中可能会存在脏数据(异常数据),例如,混入了图片的地址链接,一些无效的html代码,或者存在一些无效的标点符号,这些异常数据均会影响模型特征编码的结果,因此在利用上述预设lebert模型对地址数据进行特征编码之前,需要将其中所包含的无效字符过滤掉,其中,无效字符包括:网页链接、代码和标点符号。过滤可以选择使用正则表达式对地址数据进行处理。
43.上文中介绍到本发明实施是利用预设lebert模型对待解析地址数据进行特征编码,以及预设lebert模型与现有模型的关键区别点,下面将对具体如何得到预设lebert模型的过程进行详细的介绍。
44.在一个可选的实施方式中,如图2所示,本发明方法还包括如下步骤:
45.步骤s201,获取目标训练样本。
46.为了得到预设lebert模型,本发明实施例首先对bert模型进行预训练,然后通过对模型进行微调,以得到预设lebert模型。在对bert模型进行预训练时,首先获取目标训练样本,其中,目标训练样本中包括多个训练地址数据;每个训练地址数据为具有实体类型标记以及每个实体的起始位置和终止位置的地址数据。也即,地址文本和地址文本标签共同组成训练地址数据,例如,“浙江省杭州市西湖区联胜路”和“b

prov i

prov e

prov b

city i

city e

city b

district i

district e

district b

road i

road e

road”为一
个训练地址数据,其中,b表示一个地址实体的开始,i表示地址实体的内部位置,e表示地址实体的结束。
47.步骤s202,对每个训练地址数据执行遮蔽操作,得到遮蔽后的训练样本。
48.在获取到多个训练地址数据之后,为了能够对bert模型输出数据的准确性进行判断,在训练bert模型之前,还需要对每个训练地址数据执行遮蔽mask操作,也即,将训练地址数据中的部分字符进行mask,然后再将遮蔽后的训练样本输入模型进行训练。
49.步骤s203,利用遮蔽后的训练样本对初始bert模型进行训练,得到目标bert模型。
50.目前大多数的地址要素解析模型都是基于在通用语料上进行预训练得到的模型权重进行fine

tuning,但是通用语料和地址数据还是有比较大的差别,直接基于在通用语料上预训练得到的预训练模型进行微调虽然能取得比较好的结果,但是模型性能还没有被充分挖掘。因此,本发明实施例使用在通用语料上训练得到的预训练模型在地址数据上继续进行预训练以提升地址要素解析模型的性能。在本发明实施例中,初始bert模型的权重使用在通用语料上训练得到的模型的权重来进行初始化,然后再利用遮蔽后的训练样本对初始bert模型进行训练,以得到目标bert模型。
51.步骤s204,在目标bert模型的encoder层之间添加适配器adapter,以得到目标lebert模型。
52.如果直接使用目标bert模型作为地址要素解析系统的编码模块,那么地址要素解析时将存在以下问题:1)地址实体边界识别不准确;2)地址实体类型识别不准确,为了增强模型识别实体边界和实体类型的能力,在得到目标bert模型之后,在目标bert模型的encoder层之间引入一个adapter来融合地址元素信息和外部词汇信息,以得到目标lebert模型,也即,adapter的作用是融合地址元素信息和外部词汇信息,目标lebert模型是在bert模型上的一个改进模型。
53.目标lebert模型对地址数据进行处理之前,首先使用外部词汇信息构建一个字典树,然后对地址中的每个元素通过查询字典树获得和该元素相关的top k个外部词汇信息。对于给定的中文地址sc={c_1,c_2,c_3,c_4},利用字典树对sc中每个元素进行外部词汇信息匹配,将sc和匹配到的外部词汇信息以字符

词汇对的形式进行组合,表示为sc_w={(c_1,ws_1),(c_2,ws_2),(c_3,ws_3),(c_4,ws_4)},c_i表示中文地址sc中的第i个字符,ws_i表示第i个字符匹配到的外部词汇集合。
54.例如,中文地址为“浙江省杭州市”,且假设通过字典树对每个字符匹配最多5个外部词汇,以c_1=“浙”为例,可能匹配到的外部词汇ws_1=[“浙江”、“浙江省”、“浙江省杭州市”、“浙江省丽水市”、“浙江省宁波市”]。
[0055]
在lebert模型中,使用表示地址中第i个字符的特征,其中,c表示lebert模型中encoder层的层数;表示第i个字符对应的外部词汇的词向量集合/词向量序列(可使用word2vec模型获得每个外部词汇的词向量),ws表示序列,其中,w是word的缩写,表示第i个字符匹配到的外部词汇序列中第m个word的词向量,g表示词向量集合中外部词汇的总数。
[0056]
由于第i个字符的特征是由lebert模型训练得到的,而外部词汇的词向量是由
其他模型(例如word2vec模型)训练得到的,因此,模型差异会导致的特征维度(例如1024)和的特征维度(例如128或者256等)是不对齐的,因此为了能进行attention操作来计算相似度,需要通过非线性变换进行维度的对齐,维度对齐采用以下算式进行计算其中,是将进行维度对齐得到的向量,w1,w2表示神经网络中全连接层的参数矩阵,b1,b2表示偏置,d
c
为的特征维度,d
w
为的特征维度,利用以上算式计算出外部词汇集合中所有外部词汇的词向量进行维度对齐之后的向量,进而得到维度对齐后的词向量集合
[0057]
接下来,使用注意力机制对和y
i
进行融合,使用双线性变换计算相似度得分其中,相似度得分a
i
是一个序列,w
attn
表示预设注意力参数矩阵,之后利用相似度得分a
i
对y
i
进行加权求和得到融合之后的词特征其中,a
i,j
表示a
i
中第j个位置的得分,表示y
i
中第j个位置的词向量,最后把字符特征和融合后的词特征进行相加得到得到相加之后的词特征之后,用代替输入到lebert模型的下一层encoder。
[0058]
步骤s205,调整目标lebert模型中attention计算的编码方式为非参数式的相对位置编码,得到预设lebert模型。
[0059]
上文中已经介绍,本发明实施例中的预设lebert模型与现有的lebert模型的attention计算在编码方式上存在实质上的差异,因此,在得到目标lebert模型之后,对其编码方式进行调整,进而得到预设lebert模型。
[0060]
在一个可选的实施方式中,预设lebert模型中的attention计算采用如下算式:其中,q
i
表示地址数据中第i个元素的query向量,x
i
表示第i个元素经过预设lebert模型中embedding层映射后得到的特征,w
q
表示第一预设参数矩阵,w
k
表示第二预设参数矩阵,w
v
表示第三预设参数矩阵,x
j
表示地址数据中第j个元素经过预设lebert模型中embedding层映射后得到的特征,k
j
表示第j个元素的key向量,v
j
表示第j个元素的value向量,a
i,j
表示第i个元素和第j个元素的attention得分,o
i
表示第i个元素经过attention后的特征向量,r
i,j
表示第i个元素和第j个元素的相对位置编码,且r
i,j
通过以
下算式进行计算:其中,k表示隐藏向量中的第k个位置的索引,d
z
表示隐藏向量的维度,数值为1024。
[0061]
在一个可选的实施方式中,上述步骤s201,获取目标训练样本,具体包括如下步骤:
[0062]
步骤s2011,获取多个样本地址数据。
[0063]
步骤s2012,对每个样本地址数据进行数据清洗,得到清洗后的样本地址数据。
[0064]
具体的,在准备样本数据时,可以通过爬虫的形式从网络中爬取样本地址数据,但是通过爬虫爬取到的样本地址数据中有时会存在比较多的异常数据,例如地址数据中混入了图片的地址链接或者其它的一些无效的html代码、同时有时候地址元素中还存在一些无效的标点符号。对于这些异常数据,在进行数据的清洗过程中可以通过使用正则表达式的方式将无效的字符进行过滤,进而得到清洗后的样本地址数据。
[0065]
步骤s2013,对每个清洗后的样本地址数据进行实体类型识别,得到具有实体类型标记的地址数据。
[0066]
在得到清洗后的样本地址数据之后,可以通过人工众包的方式对地址要素进行打标签,也即,对地址数据进行实体边界和实体类型的识别,进而得到具有实体类型标记的地址数据。
[0067]
在本发明实施例中,地址要素可划分为以下标签类型:分别是1.prov:省级行政区划,省、自治区、直辖市;2.city:地级行政区划,地级市、地区、自治州等;3.district:县级行政区划,市辖区、县级市、县;4.devzone:广义上的开发区;5.town:乡级行政区划,镇、街道、乡等;6.community:包含社区、行政村(生产大队、村委会),自然村;7.village_group:限定xx组、xx队、xx社(xx为数字);8.road:有正式名称的道路,包括隧道、高架、街、弄、巷、步行街、商业街等;9.roadno:道路号;10.poi:兴趣点,一般是地图上独栋的建筑;11.subpoi:子兴趣点;12.houseno:楼栋号;13.cellno:单元号;14.floorno:楼层号;15.roomno:房间号;16.assist:辅助定位词;17.distance:距离辅助定位词;18.intersection:道路口、交叉口、道路出入口;19:o:非地址元素。
[0068]
在确定出标签类型之后,在对各个实体进行标记,可以选择使用bios标记法或者bio标记法,若使用bios标记法,如果地址为“浙江省杭州市”,那么对应的标记为“b

prov i

prov e

prov b

city i

city e

city”,b表示一个地址实体的开始,i表示地址实体的内部位置,e表示地址实体的结束。
[0069]
步骤s2014,对每个具有实体类型标记的地址数据进行数据增强,得到目标训练样本。
[0070]
由于训练深度学习模型需要大量的有标签的数据,但是爬取的样本地址数据有限,同时通过人工众包进行标注成本昂贵,因此需要通过一些数据增强的方法来增加训练数据,进而得到具有较大数据量的目标训练样本。
[0071]
在一个可选的实施方式中,上述步骤s2014,对每个具有实体类型标记的地址数据
进行数据增强,具体包括如下内容:
[0072]
基于第一预设概率分布对每个具有实体类型标记的地址数据中的目标实体进行实体替换;其中,目标实体表示具有实体类型标记的地址数据中的任意一个实体。
[0073]
第一预设概率分布包括:第一概率和第二概率;第一概率为实体保持不变的概率,第二概率为实体被替换的概率;第一概率和第二概率的和为1。
[0074]
第二概率具体包括第二预设概率分布,第二预设概率分布包括:第一子概率、第二子概率和第三子概率;第一子概率为实体被随机替换的概率,第二子概率为实体被删除的概率,第三子概率为实体保持不变的概率;第一子概率、第二子概率和第三子概率的和为1。
[0075]
对于自然语言处理来说,在地址要素解析的场景下,为了不破坏实体信息以及句子的语义信息,可通过相同类型实体随机替换的方式进行数据增强。但是通过这种对相同类型实体进行随机替换的方式进行数据增强有可能会使得模型过拟合。
[0076]
为了解决这个问题,本发明实施例在进行相同类型实体替换时不再进行随机替换,而是引入第一预设概率分布进行实体的替换。为了便于理解,下面举例说明,若第一概率为50%,第二概率为50%,第一子概率为60%、第二子概率为30%,第三子概率为10%。那么也就说明地址中某个实体可能以50%的概率被替换,也有可能以50%的概率不替换;若该实体需要被替换,那么以60%的概率进行相同类型实体随机替换,以30%的概率被删除,以10%的概率保持不变。
[0077]
例如,地址“浙江省杭州市余杭区联胜路美好时光青年酒店公寓”,该地址对应的实体标签为“b

prov i

prov e

prov b

city i

city e

city b

district i

district e

district b

road i

road e

road b

poi i

poi i

poii

poi i

poi i

poi i

poi i

poi i

poi e

poi”,假设“浙江省”、“杭州市”都没有被替换,“余杭区”被替换为同类型的实体“西湖区”,“美好时光青年酒店公寓”被删除,那么进行数据增强后将得到地址“浙江省杭州市西湖区联胜路”,对应的标签为“b

prov i

prov e

prov b

city i

city e

city b

district i

district e

district b

road i

road e

road”。
[0078]
在一个可选的实施方式中,上述步骤s202,对每个训练地址数据执行遮蔽操作,具体包括如下内容:
[0079]
基于第三预设概率分布对每个训练地址数据中预设比例的字符进行遮蔽,得到遮蔽后的训练样本。
[0080]
其中,第三预设概率分布包括:第三概率、第四概率和第五概率;第三概率为字符被替换为预设遮蔽字符的概率,第四概率为字符保持不变的概率,第五概率为字符被随机替换的概率;第三概率、第四概率和第五概率的和为1。
[0081]
为了便于理解,下面对遮蔽操作的方式进行举例说明,若预设比例为15%,第三概率为80%,第四概率为10%,第五概率为10%,预设遮蔽字符为[mask],那么说明一条地址有15%的字符会被mask掉,然后这15%会被mask掉的字符有80%的概率被替换为[mask],有10%的概率保持不变,有10%的概率被随机进行替换。
[0082]
例如,地址“浙江省杭州市余杭区联胜路美好时光青年酒店”,该地址共有20个字符,那么总共有20*0.15=3个字符被mask,假设被mask掉的字符为“杭、区、酒”,其中“杭”以80%的概率被替换为特殊字符“[mask]”,“区”以10%的概率被随机替换为“上”,“酒”以10%的概率保持不变,那么对地址数据进行mask后得到的预训练数据为“浙江省[mask]州
市余杭上联胜路美好时光青年酒店”。
[0083]
在一个可选的实施方式中,上述步骤s106,基于目标地址编码确定待解析地址数据的目标解析结果,具体包括如下步骤:
[0084]
步骤s1061,利用预设指针网络对目标地址编码进行处理,得到待解析地址数据的初始解析结果。
[0085]
具体的,由于一些地址口语化表达严重,使用crf的解码方式无法很好的进行地址解码,因此,本发明实施例利用预设指针网络结合预设规则的方式来对目标地址编码进行解码操作。其中,预设指针网络由两个全连接层组成,第一个全连接层称为start指针,第二个全连接层称为end指针,该指针网络的作用是预测地址中一个地址实体的起始位置和终止位置以及该实体的类型。由于地址元素中可能会存在实体嵌套的情况,所以预设指针网络会输出地址元素所属的所有可能的实体,进而组成待解析地址数据的初始解析结果,也即,初始解析结果中包括待解析地址数据中的所有可选实体。
[0086]
步骤s1062,判断所有可选实体中是否存在实体嵌套。
[0087]
由于在地址要素解析中每个地址元素只能属于一种实体类型,比如浙江省杭州市,对应的唯一标签是province和city,因此,在得到初始解析结果之后,需要判断所有可选实体中是否存在实体嵌套,如果初始解析结果中存在实体嵌套的情况,就需要使用预设规则来进行后处理,其中,实体嵌套表示实体之间存在重叠字符;例如,地址“莆田市荔城区黄石镇沙坂村高速公路莆田征管所办公大院”,其中“高速公路”是一个实体,“莆田征管所办公大院”是一个实体,“办公大院”也是一个实体,“莆田征管所办公大院”和“办公大院”就属于实体嵌套的情况;第一个实体的起始位置为3,终止位置为7,后一个实体的起始位置为6,终止位置为9,那么这两个实体也嵌套了。
[0088]
若存在,则执行下述步骤s1063;若不存在,则将所述初始解析结果作为所述目标解析结果。
[0089]
步骤s1063,基于预设规则对初始解析结果进行处理,得到目标解析结果。
[0090]
其中,预设规则包括:
[0091]
若相邻两个实体是相同实体类型,则保留第一个字符出现顺序相对靠前的实体。
[0092]
若相邻两个实体是不同实体类型,则修正第一实体的终止位置为第二实体的起始位置的前一位;其中,第一实体为相邻两个实体中第一个字符出现顺序相对靠前的实体;第二实体为第一个字符出现顺序相对第一实体靠后的实体。
[0093]
具体的,实体嵌套中存在两种情况,情况一:前一个实体和后一个实体模型识别类型相同。情况2:前一个实体和后一个实体模型识别类型不同。当遇到情况一时,则保留前一个实体,例如前文中的“莆田征管所办公大院”和“办公大院”,目标解析结果中将保留“莆田征管所办公大院”;当遇到情况二时,则需要修正前一个实体的end索引位置,例如前一个实体的位置start位置为1,end位置为8,后一个实体的start位置为5,end位置为8,那么修正第一个实体的end位置为4。
[0094]
图3为本发明实施例提供的一种预设lebert模型和预设指针网路组成的地址要素解析系统的架构图,参考图3,假设将province的标签设置为1,city的标签设置为2,district的标签设置为3,因为start指针在第二个位置输出标签为1,end指针在第4个位置输出标签为1,因此我们知道对于原输入地址中位置2

4表示的是一个province实体,其它
同理。
[0095]
综上所述,本发明实施例提供的地址要素解析方法,对地址数据进行编码时,预设lebert模型通过引入外部词汇信息增强了模型识别实体边界和实体类型的能力,通过相对位置编码增强了模型识别位置信息的能力;另外还利用预设指针网络和预设规则处理的解码方式解决地址实体嵌套的问题。因此,本发明方法能够较准确地识别处地址要素中实体的边界以及实体类型,有效地缓解了现有的地址要素解析方法存在的解析结果准确性低的技术问题。
[0096]
实施例二
[0097]
本发明实施例还提供了一种地址要素解析装置,该地址要素解析装置主要用于执行上述实施例一所提供的地址要素解析方法,以下对本发明实施例提供的地址要素解析装置做具体介绍。
[0098]
图4是本发明实施例提供的一种地址要素解析装置的功能模块图,如图4所示,该装置主要包括:第一获取模块10,编码模块20,确定模块30,
[0099]
其中:
[0100]
第一获取模块10,用于获取待解析地址数据。
[0101]
编码模块20,用于利用预设lebert模型对待解析地址数据进行特征编码,得到目标地址编码;其中,预设lebert模型中的attention计算采用非参数式的相对位置编码。
[0102]
确定模块30,用于基于目标地址编码确定待解析地址数据的目标解析结果;其中,目标解析结果包括:每个实体的起始位置、每个实体的终止位置和每个实体的类型,实体表示待解析地址数据中具有独立语义的分词结果。
[0103]
本发明实施例提供的地址要素解析装置,包括:第一获取模块10,用于获取待解析地址数据;编码模块20,用于利用预设lebert模型对待解析地址数据进行特征编码,得到目标地址编码;其中,预设lebert模型中的attention计算采用非参数式的相对位置编码;确定模块30,用于基于目标地址编码确定待解析地址数据的目标解析结果;其中,目标解析结果包括:每个实体的起始位置、每个实体的终止位置和每个实体的类型,实体表示待解析地址数据中具有独立语义的分词结果。
[0104]
本发明实施例提供的装置中,对待解析地址数据进行特征编码所使用的预设lebert模型中,其attention计算采用非参数式的相对位置编码,相对位置编码能够有效的增强模型识别位置信息的能力,因此,基于目标地址编码所确定的目标解析结果能够较准确地识别处地址要素中实体的边界以及实体类型,从而缓解了现有的地址要素解析方法存在的解析结果准确性低的技术问题。
[0105]
可选地,第一获取模块10具体用于:
[0106]
获取原始地址数据;将原始地址数据中的无效字符进行过滤,得到待解析地址数据;其中,无效字符包括:网页链接、代码和标点符号。
[0107]
可选地,该装置还包括:
[0108]
第二获取模块,用于获取目标训练样本;其中,目标训练样本中包括多个训练地址数据。
[0109]
遮蔽模块,用于对每个训练地址数据执行遮蔽操作,得到遮蔽后的训练样本。
[0110]
训练模块,用于利用遮蔽后的训练样本对初始bert模型进行训练,得到目标bert
模型。
[0111]
添加模块,用于在目标bert模型的encoder层之间添加适配器adapter,以得到目标lebert模型;其中,adapter用于融合地址元素信息和外部词汇信息。
[0112]
调整模块,用于调整目标lebert模型中attention计算的编码方式为非参数式的相对位置编码,得到预设lebert模型。
[0113]
可选地,第二获取模块包括:
[0114]
获取单元,用于获取多个样本地址数据。
[0115]
清洗单元,用于对每个样本地址数据进行数据清洗,得到清洗后的样本地址数据。
[0116]
识别单元,用于对每个清洗后的样本地址数据进行实体类型识别,得到具有实体类型标记的地址数据。
[0117]
数据增强单元,用于对每个具有实体类型标记的地址数据进行数据增强,得到目标训练样本。
[0118]
可选地,数据增强单元具体用于:
[0119]
基于第一预设概率分布对每个具有实体类型标记的地址数据中的目标实体进行实体替换;其中,目标实体表示具有实体类型标记的地址数据中的任意一个实体。
[0120]
第一预设概率分布包括:第一概率和第二概率;第一概率为实体保持不变的概率,第二概率为实体被替换的概率;第一概率和第二概率的和为1。
[0121]
第二概率具体包括第二预设概率分布,第二预设概率分布包括:第一子概率、第二子概率和第三子概率;第一子概率为实体被随机替换的概率,第二子概率为实体被删除的概率,第三子概率为实体保持不变的概率;第一子概率、第二子概率和第三子概率的和为1。
[0122]
可选地,遮蔽模块具体用于:
[0123]
基于第三预设概率分布对每个训练地址数据中预设比例的字符进行遮蔽,得到遮蔽后的训练样本。
[0124]
其中,第三预设概率分布包括:第三概率、第四概率和第五概率;第三概率为字符被替换为预设遮蔽字符的概率,第四概率为字符保持不变的概率,第五概率为字符被随机替换的概率;第三概率、第四概率和第五概率的和为1。
[0125]
可选地,预设lebert模型中的attention计算采用如下算式:其中,q
i
表示地址数据中第i个元素的query向量,x
i
表示第i个元素经过预设lebert模型中embedding层映射后得到的特征,w
q
表示第一预设参数矩阵,w
k
表示第二预设参数矩阵,w
v
表示第三预设参数矩阵,x
j
表示地址数据中第j个元素经过预设lebert模型中embedding层映射后得到的特征,k
j
表示第j个元素的key向量,v
j
表示第j个元素的value向量,a
i,j
表示第i个元素和第j个元素的attention得分,o
i
表示第i个元素经过attention后的特征向量,r
i,j
表示第i个元素和第j个元素的相对位置编码,且r
i,j
通过以
下算式进行计算:其中,k表示隐藏向量中的第k个位置的索引,d
z
表示隐藏向量的维度。
[0126]
可选地,确定模块30具体用于:
[0127]
利用预设指针网络对目标地址编码进行处理,得到待解析地址数据的初始解析结果;其中,初始解析结果中包括待解析地址数据中的所有可选实体。
[0128]
判断所有可选实体中是否存在实体嵌套;其中,实体嵌套表示实体之间存在重叠字符。
[0129]
若存在,则基于预设规则对初始解析结果进行处理,得到目标解析结果。
[0130]
其中,预设规则包括:
[0131]
若相邻两个实体是相同实体类型,则保留第一个字符出现顺序相对靠前的实体。
[0132]
若相邻两个实体是不同实体类型,则修正第一实体的终止位置为第二实体的起始位置的前一位;其中,第一实体为相邻两个实体中第一个字符出现顺序相对靠前的实体;第二实体为第一个字符出现顺序相对第一实体靠后的实体。
[0133]
实施例三
[0134]
参见图5,本发明实施例提供了一种电子设备,该电子设备包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
[0135]
其中,存储器61可能包含高速随机存取存储器(ram,randomaccess memory),也可能还包括非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
[0136]
总线62可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0137]
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
[0138]
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任
何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
[0139]
本发明实施例所提供的一种地址要素解析方法、装置和电子设备的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0140]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0141]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0143]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0144]
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
[0145]
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0146]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献