一种基于双层迭代直推式学习的地址单元解析方法和装置制造方法及图纸

技术编号:36342917 阅读:53 留言:0更新日期:2023-01-14 17:56
本发明专利技术提供一种基于双层迭代直推式学习的地址单元解析方法和装置,属于地址单元解析领域,本发明专利技术包括以下步骤:S1:划分地址单元数据集;S2:训练基础地址单元标注模型;S3:基于双层直推学习迭代优化地址单元标注模型;S4:使用最终地址单元标注模型标注测试集;S5:从标注结果中提取地址单元。同时,本发明专利技术还提供了一种用于实现上述方法的基于双层迭代直推式学习的地址单元解析装置。本发明专利技术的理论基础是结合地址单元标注模型迭代训练和优化的全过程,建立由“轮”和“批次”构成的双层迭代直推式学习流程,以批次为最小单位对地址单元标注模型进行微调,根据F1值的变化情况来选择样本进行扩增,可以提高地址单元标注模型的预测质量。量。量。

【技术实现步骤摘要】
一种基于双层迭代直推式学习的地址单元解析方法和装置


[0001]本专利技术涉及直推式学习、半监督学习、序列标注、迭代优化、地址单元解析等领域,尤其涉及一种基于双层迭代直推式学习的地址单元解析方法和装置。

技术介绍

[0002]地址单元解析可以从快递单、工单、发票的地址文本中抽取出描述空间位置的各类信息,包括:省、市、县、乡、村、道路、建筑、门牌号、方位、距离等,在物流、电商、贸易、旅游等行业具有重要的应用价值。对句子“我们来到BJ市CY区YJ路甲1号DF市场1号楼的地下一层。”进行地址单元解析,结果是“City=BJ市”、“Dist=CY区”、“Road=YJ路”、“RoadNo=甲1号”、“Poi=DF市场”、“PosNo=1号楼”、“SPoi=地下一层”;其中,City、Dist、Road、RoadNo、Poi、SPoi、PosNo分别表示市级行政区、区级行政区、道路、道路的建筑物号码、兴趣点、子兴趣点、指代兴趣点或子兴趣点的号码。
[0003]常用地址单元解析方法包括:关键词匹配法、词库匹配法、地址树匹配法、序列标注法、深度学习法、“深度学习+序列标注”法,每种方法都有各自的优势和不足。前3种方法是基于匹配的方法,对已有地址单元的识别能力很强,但是缺乏学习能力,无法识别未知地址单元。后3种方法是基于概率统计的方法,使用已标注数据来训练具有推理能力的模型,可以识别未知地址单元,在效果上优于前3种方法。后3种方法训练时用到的数据集包含3部分:训练集、验证集和测试集;其中,训练集和验证集由地址文本和标注信息构成,训练集用于训练地址单元解析模型,验证集用于测试模型效果和优化模型参数;测试集由地址文本构成,是地址单元解析模型的处理对象;由于人工标注成本较高,所以带有标注信息的训练集和验证集较少,大量存在的是没有标注信息的测试样本,从而影响地址单元解析模型的训练效果。
[0004]直推式学习最早由Vapink提出,可以视为一种特殊的半监督学习,其理论假设是未标记样本虽然不含人工标签,但其与有标签样本具有同样的数据源独立同分布特征,其自身隐含信息可以对“学习器”的模型性能提升有帮助。因此,该方法采用已训练好的模型对测试数据进行机器标注,将机器标注结果视为可靠标注,按照一定比例与初始的人工标注数据一起组成新的训练集,再次训练获得新的学习器。因此,在地址单元解析中,通过直推式学习处理测试集,可以增加训练集的规模,减轻人工标注的负担,提高地址单元标注模型的预测质量,有效缓解地址单元解析中存在的训练集规模较小、无法覆盖测试集分布空间所导致的过拟合问题,适用于地址单元解析中训练集数量少、待测试数据量比较大的场景。
[0005]使用直推式学习扩增地址单元解析训练集样本时,通常将多个模型预测结果相同的测试集样本添加到训练集中,或者将预测分值超过阈值的测试集样本添加到训练集中,通过增加训练集的规模来提高地址单元标注模型的预测质量。但是,上述样本扩增过程缺少实际效果检验,所选择样本未必能够满足地址单元标注模型优化的实际需要;此外,上述方法需要迭代执行多次,但是缺少有效的迭代优化流程,地址单元标注模型预测质量的提
升效率不高;另外,上述方法所选择的样本数量众多、良莠不齐,标注质量不同样本的训练效果相互抵消,不能有效提升地址单元标注模型的预测能力。

技术实现思路

[0006]为了解决以上技术问题,本专利技术提供了一种基于双层迭代直推式学习的地址单元解析方法,结合地址单元标注模型迭代训练和优化的全过程来扩增样本,基于“轮+批次”双层迭代模式构建高效稳定的直推式学习流程,以批次为最小单位对地址单元标注模型进行微调和样本筛选,有助于提高直推式学习在地址单元解析中的应用效果。
[0007]本专利技术的技术方案是:
[0008]一种基于双层迭代直推式学习的地址单元解析方法,包括以下步骤:
[0009]S1:划分地址单元数据集;
[0010]S2:训练基础地址单元标注模型;
[0011]S3:基于双层直推学习迭代优化地址单元标注模型;
[0012]S4:使用最终地址单元标注模型标注测试集;
[0013]S5:从标注结果中提取地址单元。
[0014]进一步的,
[0015]所述步骤S1将包含地址单元的数据集划分为训练集DSA
train
、验证集DSA
dev
和测试集DSA
test
;其中,训练集DSA
train
和验证集DSA
dev
由文本和地址单元标注信息构成,测试集DSA
test
仅包含文本。
[0016]以验证集DSA
dev
为测试目标,将训练集DSA
train
上效果最优的地址单元标注模型Model
Base
作为基础地址单元标注模型,用F1
Base
表示模型Model
Base
在验证集DSA
dev
上的F1值。所述步骤S2中,具体包括:
[0017]S21:在训练集DSA
train
上训练M个地址单元标注模型Model1、Model2、
……
、Model
M

[0018]S22:使用所生成的M个地址单元标注模型处理验证集DSA
dev

[0019]S23:计算所生成的M个地址单元标注模型在验证集上的F1值F11、F12、
……
、F1
M

[0020]S24:设置Model
Base
为F1值最大的地址单元标注模型:
[0021][0022]S25:得到Model
Base
在验证集DSA
dev
上的F1值
[0023]S26:返回所生成基础地址单元标注模型Model
Base

[0024]用F1
Base
表示模型Model
Base
在验证集DSA
dev
上的F1值,用{S1,S2,L,S
j
,L,S
N
}表示测试集DSA
test
,其中S
j
是第j个句子,1≤j≤N,N是DSA
test
所包含的句子个数,用DSA
test,tagged
={(S1,T1,C1),(S2,T2,C2),L,(S
j
,T
j
,C
j
),L,(S
N
,T
N
,C
N
)}表示测试集DSA
test
的标注结果,其中T
j
和C
j
分别是S
j
的地址单元标注序列和地址单元分值序列,它们分别保存S
j
中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于双层迭代直推式学习的地址单元解析方法,其特征在于,包括以下步骤:S1:划分地址单元数据集;S2:训练基础地址单元标注模型;S3:基于双层直推学习迭代优化地址单元标注模型;S4:使用最终地址单元标注模型标注测试集;S5:从标注结果中提取地址单元。2.根据权利要求1所述的方法,其特征在于,所述步骤S1将包含地址单元的数据集划分为训练集DSA
train
、验证集DSA
dev
和测试集DSA
test
;其中,训练集DSA
train
和验证集DSA
dev
由文本和地址单元标注信息构成,测试集DSA
test
仅包含文本。3.根据权利要求2所述的的方法,其特征在于,所述步骤S2以验证集DSA
dev
为测试目标,将训练集DSA
train
上效果最优的地址单元标注模型Model
Base
作为基础地址单元标注模型,用F1
Base
表示模型Model
Base
在验证集DSA
dev
上的F1值;具体包括:S21:在训练集DSA
train
上训练M个地址单元标注模型Model1、Model2、
……
、Model
M
;S22:使用所生成的M个地址单元标注模型处理验证集DSA
dev
;S23:计算所生成的M个地址单元标注模型在验证集上的F1值F11、F12、
……
、F1
M
;S24:设置Model
Base
为F1值最大的地址单元标注模型:S25:得到Model
Base
在验证集DSA
dev
上的F1值S26:返回所生成基础地址单元标注模型Model
Base
。4.根据权利要求1所述的方法,其特征在于,所述步骤S3用F1
Base
表示模型Model
Base
在验证集DSA
dev
上的F1值,用{S1,S2,L,S
j
,L,S
N
}表示测试集DSA
test
,其中S
j
是第j个句子,1≤j≤N,N是DSA
test
所包含的句子个数,用表示测试集DSA
test
的标注结果,其中T
j
和C
j
分别是S
j
的地址单元标注序列和地址单元分值序列,它们分别保存S
j
中每个单字的地址单元标签和对应的分值,用DSA
Iter,Pre
和DSA
Iter,Curr
分别表示迭代过程中前一轮和当前轮分值排名满足阈值要求的地址单元标注结果,用Model
Iter,Pre
和Model
Iter,Curr
分别表示迭代过程中前一轮和当前轮所生成的地址单元标注模型,用F1
Iter,Pre
和F1
Iter,Curr
分别表示Model
Iter,Pre
和Model
Iter,Curr
在验证集DSA
dev
上的F1值,用ΔF1
Iter,Sum
和ΔF1
Iter,Once
分别表示迭代过程中相邻轮F1值的累加降幅和单次降幅,用δ
Iter,Sum
和δ
Iter,Once
分别表示迭代过程中相邻轮F1值的累加降幅阈值和单次降幅阈值;具体包括:S31:初始化Model
Iter,Pre
=Model
Iter,Curr
=Model
Base
、F1
Iter,Pre
=F1
Iter,Curr
=F1
Base
,ΔF1
Iter,Sum
=0;S32:使用Model
Iter,Curr
处理测试集DSA
test
,得到DSA
test,tagged
;采用Model
Iter,Curr
逐句处理DSA
test
中的句子S
j
,1≤j≤N,得到对应标注结果T
j

S33:从DSA
test,tagge
中选择分值排名满足阈值要求的地址单元标注结果,得到DSA
Iter,Curr
;根据DSA
test,tagge
中地址单元标签的分值平均值和最小值排序结果的交集确定DSA
Iter,Curr
;用DSA
test,tagged,sta
={(S1,T1,C1,a1,m1),L,(S
j
,T
j
,C
j
,a
j
,m
j
),L,(S
N
,T
N
,C
N
,a
N
,m
N
)}表示DSA
test,tagged
的地址单元分值统计结果,其中a
j
和m
j
分别是C
j
中所有分值的平均值和最小值,用α和β分别表示根据分值平均值和最小值排序结果确定分值排名满足阈值要求的地址单元标注结果时的比例因子,0≤α,β≤1;具体包括:S331:计算DSA
test,tagged
中每个句子地址单元分值序列的平均值和最小值,得到DSA
test,tagged,sta
;S332:将DSA
test,tagged
按照DSA
test,tagged,sta
对应句子地址单元分值序列的平均值降序排列,得到DSA
test,tagged,avg
={(S
p1
,T
p1
,C
p1
),L,(S
pj
,T
pj
,C
pj
),L,(S
pN
,T
pN
,C
pN
)};S333:从DSA
test,tagged,avg
中选择前αgN个句子的标注结果,构成有序子集S334:将DSA
test,tagged
按照DSA
test,tagged,sta
对应句子地址单元分值序列的最小值降序排列,得到DSA
test,tagged,min
={(S
q1
,T
q1
,C
q1
),L,(S
qj
,T
qj
,C
qj
),L,(S
qN
,T
qN
,C
qN
)};S335:从中选择前βgN个句子的标注结果,构成有序子集S336:按照DSA
test,tagge,dmin_sub
的排列顺序,将它和的交集作为当前轮分值排名满足阈值要求的地址单元标注结果,即:DSA
Iter,Curr
=DSA
test,tagged,avg_sub
I DSA
test,tagged,min_...

【专利技术属性】
技术研发人员:王功明潘心冰李明明
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1