【技术实现步骤摘要】
一种基于双层迭代直推式学习的地址单元解析方法和装置
[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部分:训练集、验证集和测试集;其中,训练集和验证集由地址文本和标注信息构 ...
【技术保护点】
【技术特征摘要】
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_...
【专利技术属性】
技术研发人员:王功明,潘心冰,李明明,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。