基于提示学习的可扩展文本信息联合抽取方法及设备与流程

未命名 08-15 阅读:130 评论:0


1.本发明涉及自然语言处理中文本信息抽取技术领域,更为具体的,涉及一种基于提示学习的可扩展文本信息联合抽取方法及设备。


背景技术:

2.近年来,随着互联网与移动终端信息传播软件的普及,从海量的文本数据中抽取必要的文本信息可以更好地对文本资源进行管理,也可以辅助进行资讯推荐、知识图谱构建、文本资料收录等下游服务。然而当前的文本信息抽取方法存在各种各样的问题,其中较为突出的有:
3.(1)无法对不同类型的文本信息(如实体、关系、事件等)进行联合抽取;
4.(2)当面对有着不同文本信息结构定义的数据,特别是出现跨领域数据或增加新的文本信息结构时,无法进行统一的信息抽取。
5.以上两个问题极大地限制了信息抽取在实际应用场景中的性能。


技术实现要素:

6.本发明的目的在于克服现有技术的不足,提供一种基于提示学习的可扩展文本信息联合抽取方法及设备,解决了数据扩展或跨领域带来的技术瓶颈,提升了联合信息抽取的准确性和鲁棒性等。
7.本发明的目的是通过以下方案实现的:
8.一种基于提示学习的可扩展文本信息联合抽取方法,包括以下步骤:
9.a、构建文本信息抽取标注信息的统一表示框架;
10.b、基于原始数据集与扩展数据集构建统一的提示模板;
11.c、构建并训练基于提示学习文本信息联合抽取模型;
12.d、使用训练后的模型对输入文本进行联合信息抽取。
13.进一步地,步骤a中,所述构建文本信息抽取标注信息的统一表示框架包括如下子步骤:
14.a1.针对命名实体识别任务,构建标注信息表示框架为:(entity_type:span_e),其中,entity_type表示选定的一种实体类型名称,span_e表示文本中属于entity_type类型实体的文本片段;
15.a2.针对实体关系抽取任务,构建标注信息表示框架为:(entity_type:span_e:(relation_type_i:span_r_i)),其中,relation_type_i表示与entity_type实体类型关联的第i种实体关系类型名称,span_r_i表示span_e在relation_type_i下对应的尾实体文本片段;
16.a3.针对事件抽取任务,构建标注信息表示框架为:(event_type:span_v:(role_type_i:span_o_i)),其中,event_type表示选定的一种事件类型名称,span_v表示文本中属于event_type事件类型的事件触发词文本片段,role_type_i表示与event_type类型事
件关联的第i种事件角色名称,span_o_i表示span_v在role_type_i下对应的事件角色文本片段;
17.a4.融合命名实体识别、实体关系抽取、事件抽取标注信息表示框架,形成文本信息抽取标注信息的统一表示框架。
18.进一步地,步骤b中,所述基于原始数据集与扩展数据集构建统一的提示模板包括如下子步骤:
19.b1.定义原始数据集为d
ori
={(si,li),i=1,...,n
ori
},其中,si表示原始数据集第i条数据的文本,li表示原始数据集第i条数据的标注信息,n
ori
表示原始数据样本数;
20.b2.定义扩展数据集为d
ext
={(sj,lj),j=1,...,n
ext
},其中,sj表示扩展数据集第j条数据的文本,lj表示扩展数据集第j条数据的标注信息,n
ext
表示扩展数据样本数;
21.b3.融合原始数据集与扩展数据集,并为每一条标注信息构建统一的提示模板。
22.进一步地,步骤c中,所述构建并训练基于提示学习文本信息联合抽取模型包括如下子步骤:
23.c1.设置基于transformer网络架构的编码器,输出维度为de,记为e
model

24.c2.构建针对文本片段起始位置的全连接层网络模块,记为fc
start
,构建针对文本片段终止位置的全连接层网络模块,记为fc
end
,fc
start
与fc
end
的输入维度均为de,输出维度均为1;
25.c3.对指定输入三元组数据(sk,pk,lk),按照pksk进行提示与文本拼接,拼接后文本长度记为dk;
26.c4.对拼接后的文本进行空字符补全,即在拼接文本后增加无意义空字符序列qk,使得pkskqk的字符长度达到d
*
=max(dk,k=1,...,k);
27.c5.构建pkskqk掩码向量tk=(t1,...,t
d*
),其中,
[0028][0029]
c6.使用e
model
对pkskqk进行编码,编码后的特征矩阵记为
[0030]
c7.基于lk在sk中的起始位置和终止位置,构建基准结果向量gt
k_start
、其中,gt
k_start
除lk在sk中起始位置为1外,其余均为0,gt
k_endt
除lk在sk中终止位置为1外,其余均为0;
[0031]
c8.设置最大迭代次数ep,记录当前已完成迭代次数为ep;
[0032]
c9.计算当前迭代次数下,模型可接受的最低信息熵阈值ρ=exp[ep/(ep+1)]-1

[0033]
c10.将fk分别输入fc
start
和fc
end
,并采用sigmoid进行激活,分别得到预测向量p
start
和p
end

[0034]
c11.分别计算p
start
和p
end
的信息熵,记为θ
start
和θ
end

[0035]
c12.若θ
start
<ρ且θ
end
<ρ,则基于p
start
和p
end
分别与gt
k_start
和gt
k_end
计算交叉熵损失并采用反向传播进行模型训练;否则,跳过当前数据;
[0036]
c13.对所有k组数据执行步骤c3至c12,完成一轮次k组数据的训练后,令ep数值增加1;
[0037]
c14.重复执行c13直到ep=ep为止,得到训练后的文本信息联合抽取模型记为model。
[0038]
进一步地,步骤d中,使用训练后的模型对输入文本进行联合信息抽取包括如下子步骤:
[0039]
d1.设定输出阈值δ∈(0,1);
[0040]
d2.对输入的文本text,遍历已训练数据中包含的所有实体类别名称{entity_type(q),q=1,...,q},q为所有实体类别名称的数量;将entity_type(q)与text拼接后输入model,得到entity_type(q)下的命名实体识别抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为entity_type(q)的预测实体文本片段;
[0041]
d3.对输入的文本text和步骤d2预测的实体文本片段,遍历与预测实体文本片段记为entity_span所属实体类型关联的实体关系类型名称{relation_type(g),g=1,...,g},g为entity_span所属实体类型关联的所有实体关系类型数量;将’entity_span的relation_type(g)'与text拼接后输入model,得到relation_type(g)下的与entity_span关联的尾实体抽取预测向量,以p
dtart
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为entity_span在relation_type(g)下的预测尾实体文本片段;
[0042]
d4.对输入的文本text,遍历已训练数据中包含的所有事件类别名称{event_type(h),h=1,...,h},h为所有事件类别名称的数量;将event_type(h)与text拼接后输入model,得到event_type(h)下的事件触发词抽取预测向量,以p
dtart
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为event_type(h)的预测事件触发词文本片段;
[0043]
d5.对输入的文本text和步骤d4预测的事件触发词文本片段,遍历与预测事件触发词文本片段记为event_span所属事件类型关联的事件角色名称{role_type(w),w=1,...,w},w为event_span所属事件类型关联的所有事件角色数量;将’event_span的role_type(w)'与text拼接后输入model,得到role_type(w)下的与event_span关联的事件角色抽取预测向量,以p
dtart
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为event_span在role_type(w)下的事件角色文本片段;
[0044]
d6.按照步骤a所构建的统一表征框架融合步骤d2至d5的预测结果作为文本信息联合抽取的结果。
[0045]
进一步地,步骤b3中,包含如下子步骤:
[0046]
b3-1.构建命名实体识别任务提示模板如下:
[0047]
{
[0048]

文本’:s
[0049]

提示’:entity_type
[0050]

结果’:span_e
[0051]
}
[0052]
其中,s为原始数据集或扩展数据集中的文本,entity_type为s所属数据集标注信息中选定的一种实体类型名称,span_e为s中属于entity_type类型的实体文本片段;
[0053]
b3-2.构建实体关系抽取任务提示模板如下:
[0054]
{
[0055]

文本’:s
[0056]

提示’:span_e的relation_type
[0057]

结果’:span_r
[0058]
}
[0059]
其中,s为原始数据集或扩展数据集中的文本,span_e为s中作为某一关系类型头实体的文本片段,relation_type为s所属数据集标注信息中选定的一种实体关系类型名称,span_r为s中与span_e存在选定关系relation_type的尾实体文本片段;
[0060]
b3-3.构建实体关系抽取任务提示模板如下:
[0061]
{
[0062]

文本’:s
[0063]

提示’:event_type
[0064]

结果’:span_v
[0065]
}
[0066]
{
[0067]

文本’:s
[0068]

提示’:span_v的role_type
[0069]

结果’:span_o
[0070]
}
[0071]
其中,s为原始数据集或扩展数据集中的文本,event_type为s所属数据集标注信息中特定的一种事件类型名称,span_v为s中作为某一事件类型触发词的文本片段,role_type为s所属数据集标注信息中特定的一种事件角色名称,span_o为s中被标注为event_type事件的role_type角色的文本片段;
[0072]
b3-4.对融合数据中所有标注信息按照步骤b3-1至b3-3重构数据,并在所有实体类型名称、关系类型名称、事件类型名称、事件角色名称中随机抽样与标注数据中的文本片段构建负样本数据,即无法查询到对应’结果’的样本;融合、重构并增加负样本后的数据集记为d
mix
={(sk,pk,lk),k=1,...,k},其中,sk表示文本,pk表示提示,lk表示结果,k为数据集所有三元数据组的数量。
[0073]
进一步地,在步骤b3-1中,若s中没有属于entity_type类型的实体文本片段,则令span_e为空字符串。
[0074]
进一步地,在步骤b3-2中,若s中没有与span_e存在特定关系relation_type的尾实体文本片段,则令span_r为空字符串。
[0075]
进一步地,在步骤b3-3中,两个’结果’字段中在未查询到相应文本片段时令为空字符串。
[0076]
一种基于提示学习的可扩展文本信息联合抽取设备,基于如上任一项所述方法,还包括:
[0077]
第一构建模块,用于构建文本信息抽取标注信息的统一表示框架;
[0078]
第二构建模块,用于基于原始数据集与扩展数据集构建统一的提示模板;
[0079]
第三构建模块,用于构建并训练基于提示学习文本信息联合抽取模型;
[0080]
抽取模块,用于使用训练后的模型对输入文本进行联合信息抽取。
[0081]
本发明的有益效果包括:
[0082]
本发明以提示学习为理论基础,构建了一种统一的文本信息表征架构,不同类型的信息抽取任务可以融合到统一的框架中,同时令不同定义下的数据集可以进行联合训练从而解决了数据扩展或跨领域带来的技术瓶颈;在此基础上才采用信息熵过滤的方式以避免噪声数据对模型的负面影响,同时也一定程度缓解了数据过拟合,提升了联合信息抽取的准确性和鲁棒性。
附图说明
[0083]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0084]
图1为本发明实施例的基于提示学习的可扩展文本信息联合抽取方法的流程图。
具体实施方式
[0085]
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
[0086]
如图1所示,本实施例提出一种基于提示学习的可扩展文本信息联合抽取方法,包括如下步骤:
[0087]
a、构建文本信息抽取标注信息的统一表示框架;
[0088]
b、基于原始数据集与扩展数据集构建统一的提示模板;
[0089]
c、构建并训练基于提示学习文本信息联合抽取模型;
[0090]
d、使用训练后的模型对输入文本进行联合信息抽取。
[0091]
在一些实施例中,步骤a构建文本信息抽取标注信息的统一表示框架包括如下子步骤:
[0092]
a1.针对命名实体识别任务,构建标注信息表示框架为:(entity_type:span_e),其中,entity_type表示特定的一种实体类型名称,span_e表示文本中属于entity_type类型实体的文本片段;
[0093]
a2.针对实体关系抽取任务,构建标注信息表示框架为:(entity_type:span_e:(relation_type_i:span_r_i)),其中,relation_type_i表示与entity_type实体类型关联的第i种实体关系类型名称,span_r_i表示span_e在relation_type_i下对应的尾实体文本片段;
[0094]
a3.针对事件抽取任务,构建标注信息表示框架为:(event_type:span_v:(role_type_i:span_o_i)),其中,event_type表示特定的一种事件类型名称,span_v表示文本中属于event_type事件类型的事件触发词文本片段,role_type_i表示与event_type类型事件关联的第i种事件角色名称,span_o_i表示span_v在role_type_i下对应的事件角色文本片段;
[0095]
a4.融合命名实体识别、实体关系抽取、事件抽取标注信息表示框架,形成文本信息抽取标注信息的统一表示框架,一种示例形式如下:
[0096][0097][0098]
在一些实施例中,步骤b基于原始数据集与扩展数据集构建统一的提示模板包括如下子步骤:
[0099]
b1.定义原始数据集为d
ori
={(si,li),i=1,...,n
ori
},其中,si表示原始数据集第i条数据的文本,li表示原始数据集第i条数据的标注信息(按照步骤a的统一表示框架组织结构),n
ori
表示原始数据样本数;
[0100]
b2.定义扩展数据集为d
ext
={(sj,lj),j=1,...,n
ext
},其中,sj表示扩展数据集第j条数据的文本,lj表示扩展数据集第j条数据的标注信息(按照步骤a的统一表示框架组织结构),n
ext
表示扩展数据样本数;
[0101]
b3.融合原始数据集与扩展数据集,并为每一条标注信息构建统一的提示模板。
[0102]
在一些实施例中,步骤b3包含如下子步骤:
[0103]
b3-1.构建命名实体识别任务提示模板如下:
[0104]
{
[0105]

文本’:s
[0106]

提示’:entity_type
[0107]

结果’:span_e
[0108]
}
[0109]
其中,s为原始数据集或扩展数据集中的文本,entity_type为s所述数据集标注信息中特定的一种实体类型名称,span_e为s中属于entity_type类型的实体文本片段(特别地,若s中没有属于entity_type类型的实体文本片段,则令span_e为空字符串);
[0110]
b3-2.构建实体关系抽取任务提示模板如下:
[0111]
{
[0112]

文本’:s
[0113]

提示’:span_e的relation_type
[0114]

结果’:span_r
[0115]
}
[0116]
其中,s为原始数据集或扩展数据集中的文本,span_e为s中作为某一关系类型头实体的文本片段,relation_type为s所述数据集标注信息中特定的一种实体关系类型名称,span_r为s中与span_e存在特定关系relation_type的尾实体文本片段(特别地,若s中没有与span_e存在特定关系relation_type的尾实体文本片段,则令span_r为空字符串);
[0117]
b3-3.构建实体关系抽取任务提示模板如下:
[0118]
{
[0119]

文本’:s
[0120]

提示’:event_type
[0121]

结果’:span_v
[0122]
}
[0123]
{
[0124]

文本’:s
[0125]

提示’:span_v的role_type
[0126]

结果’:span_o
[0127]
}
[0128]
其中,s为原始数据集或扩展数据集中的文本,event_type为s所属数据集标注信息中特定的一种事件类型名称,span_v为s中作为某一事件类型触发词的文本片段,role_type为s所属数据集标注信息中特定的一种事件角色名称,span_o为s中被标注为event_type事件的role_type角色的文本片段(特别地,此处两个’结果’字段中也允许在未查询到相应文本片段时令为空字符串)。
[0129]
b3-4.对融合数据中所有标注信息按照步骤b3-1至b3-3重构数据,并在所有实体类型名称、关系类型名称、事件类型名称、事件角色名称中随机抽样与标注数据中的文本片段构建负样本数据,即无法查询到对应’结果’的样本;融合、重构并增加负样本后的数据集记为d
mix
={(sk,pk,lk),k=1,...,k},其中,sk表示文本,pk表示提示,lk表示结果,k为数据
集所有三元数据组的数量。
[0130]
在一些实施例中,步骤c构建并训练基于提示学习文本信息联合抽取模型包括如下子步骤:
[0131]
c1.设置基于transformer网络架构的编码器,输出维度为de,记为e
model

[0132]
c2.构建针对文本片段起始位置的全连接层网络模块,记为fc
start
,构建针对文本片段终止位置的全连接层网络模块,记为fc
end
,fc
start
与fc
end
的输入维度均为de,输出维度均为1;
[0133]
c3.对指定输入三元组数据(sk,pk,lk),按照pksk进行提示与文本拼接,拼接后文本长度记为dk;
[0134]
c4.对拼接后的文本进行空字符补全,即在拼接文本后增加无意义空字符序列qk,使得pkskqk的字符长度达到d
*
=max(dk,k=1,...,k);
[0135]
c5.构建pkskqk掩码向量tk=(t1,...,t
d*
),其中,
[0136][0137]
c6.使用e
model
对pkskqk进行编码,编码后的特征矩阵记为
[0138]
c7.基于lk在sk中的起始位置和终止位置,构建基准结果向量gt
k_start
、其中,gt
k_start
除lk在sk中起始位置为1外,其余均为0,gt
k_endt
除lk在sk中终止位置为1外,其余均为0;
[0139]
c8.设置最大迭代次数ep,记录当前已完成迭代次数为ep;
[0140]
c9.计算当前迭代次数下,模型可接受的最低信息熵阈值ρ=exp[ep/(ep+1)]-1

[0141]
c10.将fk分别输入fc
start
和fc
end
,并采用sigmoid进行激活,分别得到预测向量p
start
和p
end

[0142]
c11.分别计算p
start
和p
end
的信息熵,记为θ
start
和θ
end

[0143]
c12.若θ
start
<ρ且θ
end
<ρ,则基于p
start
和p
end
分别与gt
k_start
和gt
k_end
计算交叉熵损失并采用反向传播进行模型训练;否则,跳过当前数据;
[0144]
c13.对所有k组数据执行步骤c3至c12,完成一轮次k组数据的训练后,令ep数值增加1;
[0145]
c14.重复执行c13直到ep=ep为止,得到训练后的文本信息联合抽取模型记为model。
[0146]
在一些实施例中,步骤d使用训练后的模型对输入文本进行联合信息抽取包括如下子步骤:
[0147]
d1.设定输出阈值δ∈(0,1)
[0148]
d2.对输入的文本text,遍历已训练数据中包含的所有实体类别名称{entity_type(q),q=1,...,q},q为所有实体类别名称的数量;将entity_type(q)与text拼接后输入model,得到entity_type(q)下的命名实体识别抽取预测向量,以p
start
>δ的位置为起始点,以此位置后最近的p
end
>δ的位置为终止点,并将两者位置之间的文本片段作为entity_type(q)的预测实体文本片段;
[0149]
d3.对输入的文本text和步骤d2预测的实体文本片段,遍历与预测实体文本片段(记为entity_span)所属实体类型关联的实体关系类型名称{relation_type(g),g=1,...,g},g为entity_span所属实体类型关联的所有实体关系类型数量;将’entity_span的relation_type(g)

与text拼接后输入model,得到relation_type(g)下的与entity_span关联的尾实体抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为entity_span在relation_type(g)下的预测尾实体文本片段;
[0150]
d4.对输入的文本text,遍历已训练数据中包含的所有事件类别名称{event_type(h),h=1,...,h},h为所有事件类别名称的数量;将event_type(h)与text拼接后输入model,得到event_type(h)下的事件触发词抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为event_type(h)的预测事件触发词文本片段;
[0151]
d5.对输入的文本text和步骤d4预测的事件触发词文本片段,遍历与预测事件触发词文本片段(记为event_span)所属事件类型关联的事件角色名称{role_type(w),w=1,...,w},w为event_span所属事件类型关联的所有事件角色数量;将’event_span的role_type(w)'与text拼接后输入model,得到role_type(w)下的与event_span关联的事件角色抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为event_span在role_type(w)下的事件角色文本片段;
[0152]
d6.按照步骤a所构建的统一表征框架融合步骤d2至d5的预测结果作为文本信息联合抽取的结果。
[0153]
至此,综上步骤a~步骤d,即可从给定文本中联合抽取相应的文本信息,如:命名实体、实体关系与事件。本发明构建了一种统一的文本信息表征架构不同类型的信息抽取任务可以融合到统一的框架中,同时令不同定义下的数据集可以进行联合训练从而解决了数据扩展或跨领域带来的技术瓶颈;在此基础上才采用信息熵过滤的方式以避免噪声数据对模型的负面影响,同时也一定程度缓解了数据过拟合,提升了联合信息抽取的准确性和鲁棒性。
[0154]
需要说明的是,在本发明权利要求书中所限定的保护范围内,以下实施例均可以从上述具体实施方式中,例如公开的技术原理,公开的技术特征或隐含公开的技术特征等,以合乎逻辑的任何方式进行组合和/或扩展、替换。
[0155]
实施例1
[0156]
一种基于提示学习的可扩展文本信息联合抽取方法,包括以下步骤:
[0157]
a、构建文本信息抽取标注信息的统一表示框架;
[0158]
b、基于原始数据集与扩展数据集构建统一的提示模板;
[0159]
c、构建并训练基于提示学习文本信息联合抽取模型;
[0160]
d、使用训练后的模型对输入文本进行联合信息抽取。
[0161]
实施例2
[0162]
在实施例1的基础上,步骤a中,所述构建文本信息抽取标注信息的统一表示框架包括如下子步骤:
[0163]
a1.针对命名实体识别任务,构建标注信息表示框架为:(entity_type:span_e),
其中,entity_type表示选定的一种实体类型名称,span_e表示文本中属于entity_type类型实体的文本片段;
[0164]
a2.针对实体关系抽取任务,构建标注信息表示框架为:(entity_type:span_e:(relation_type_i:span_r_i)),其中,relation_type_i表示与entity_type实体类型关联的第i种实体关系类型名称,span_r_i表示span_e在relation_type_i下对应的尾实体文本片段;
[0165]
a3.针对事件抽取任务,构建标注信息表示框架为:(event_type:span_v:(role_type_i:span_o_i)),其中,event_type表示选定的一种事件类型名称,span_v表示文本中属于event_type事件类型的事件触发词文本片段,role_type_i表示与event_type类型事件关联的第i种事件角色名称,span_o_i表示span_v在role_type_i下对应的事件角色文本片段;
[0166]
a4.融合命名实体识别、实体关系抽取、事件抽取标注信息表示框架,形成文本信息抽取标注信息的统一表示框架,一种示例形式如下:
[0167]
[0168][0169]
实施例3
[0170]
在实施例1的基础上,步骤b中,所述基于原始数据集与扩展数据集构建统一的提示模板包括如下子步骤:
[0171]
b1.定义原始数据集为d
ori
={(si,li),i=1,...,n
ori
},其中,si表示原始数据集第i条数据的文本,li表示原始数据集第i条数据的标注信息,n
ori
表示原始数据样本数;
[0172]
b2.定义扩展数据集为d
ext
={(sj,lj),j=1,...,n
ext
},其中,sj表示扩展数据集第j条数据的文本,lj表示扩展数据集第j条数据的标注信息,n
ext
表示扩展数据样本数;
[0173]
b3.融合原始数据集与扩展数据集,并为每一条标注信息构建统一的提示模板。
[0174]
实施例4
[0175]
在实施例1的基础上,步骤c中,所述构建并训练基于提示学习文本信息联合抽取模型包括如下子步骤:
[0176]
c1.设置基于transformer网络架构的编码器,输出维度为de,记为e
model

[0177]
c2.构建针对文本片段起始位置的全连接层网络模块,记为fc
start
,构建针对文本片段终止位置的全连接层网络模块,记为fc
end
,fc
start
与fc
end
的输入维度均为de,输出维度均为1;
[0178]
c3.对指定输入三元组数据(sk,pk,lk),按照pksk进行提示与文本拼接,拼接后文本长度记为dk;
[0179]
c4.对拼接后的文本进行空字符补全,即在拼接文本后增加无意义空字符序列qk,使得pkskqk的字符长度达到d
*
=max(dk,k=1,...,k);
[0180]
c5.构建pkskqk掩码向量其中,
[0181][0182]
c6.使用e
model
对pkskqk进行编码,编码后的特征矩阵记为
[0183]
c7.基于lk在sk中的起始位置和终止位置,构建基准结果向量gt
k_start
、其中,gt
k_start
除lk在sk中起始位置为1外,其余均为0,gt
k_endt
除lk在sk中终止位置为1外,其余均为0;
[0184]
c8.设置最大迭代次数ep,记录当前已完成迭代次数为ep;
[0185]
c9.计算当前迭代次数下,模型可接受的最低信息熵阈值ρ=exp[ep/(ep+1)]-1

[0186]
c10.将fk分别输入fc
start
和fc
end
,并采用sigmoid进行激活,分别得到预测向量p
start
和p
end

[0187]
c11.分别计算p
start
和p
end
的信息熵,记为θ
start
和θ
end

[0188]
c12.若θ
start
<ρ且θ
end
<ρ,则基于p
start
和p
end
分别与gt
k_start
和gt
k_end
计算交叉熵
损失并采用反向传播进行模型训练,否则,跳过当前数据;
[0189]
c13.对所有k组数据执行步骤c3至c12,完成一轮次k组数据的训练后,令ep数值增加1;
[0190]
c14.重复执行c13直到ep=ep为止,得到训练后的文本信息联合抽取模型记为model。
[0191]
实施例5
[0192]
在实施例1的基础上,步骤d中,使用训练后的模型对输入文本进行联合信息抽取包括如下子步骤:
[0193]
d1.设定输出阈值δ∈(0,1);
[0194]
d2.对输入的文本text,遍历已训练数据中包含的所有实体类别名称{entity_type(q),q=1,...,q},q为所有实体类别名称的数量;将entity_type(q)与text拼接后输入model,得到entity_type(q)下的命名实体识别抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为entity_type(q)的预测实体文本片段;
[0195]
d3.对输入的文本text和步骤d2预测的实体文本片段,遍历与预测实体文本片段记为entity_span所属实体类型关联的实体关系类型名称{relation_type(g),g=1,...,g},g为entity_span所属实体类型关联的所有实体关系类型数量;将’entity_span的relation_type(g)'与text拼接后输入model,得到relation_type(g)下的与entity_span关联的尾实体抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为entity_span在relation_type(g)下的预测尾实体文本片段;
[0196]
d4.对输入的文本text,遍历已训练数据中包含的所有事件类别名称{event_type(h),h=1,...,h},h为所有事件类别名称的数量;将event_type(h)与text拼接后输入model,得到event_type(h)下的事件触发词抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为event_type(h)的预测事件触发词文本片段;
[0197]
d5.对输入的文本text和步骤d4预测的事件触发词文本片段,遍历与预测事件触发词文本片段记为event_span所属事件类型关联的事件角色名称{role_type(w),w=1,...,w},w为event_span所属事件类型关联的所有事件角色数量;将’event_span的role_type(w)'与text拼接后输入model,得到role_type(w)下的与event_span关联的事件角色抽取预测向量,以p
start
》δ的位置为起始点,以此位置后最近的p
end
》δ的位置为终止点,并将两者位置之间的文本片段作为event_span在role_type(w)下的事件角色文本片段;
[0198]
d6.按照步骤a所构建的统一表征框架融合步骤d2至d5的预测结果作为文本信息联合抽取的结果。
[0199]
实施例6
[0200]
在实施例3的基础上,步骤b3中,包含如下子步骤:
[0201]
b3-1.构建命名实体识别任务提示模板如下:
[0202]
{
[0203]

文本’:s
[0204]

提示’:entity_type
[0205]

结果’:span_e
[0206]
}
[0207]
其中,s为原始数据集或扩展数据集中的文本,entity_type为s所属数据集标注信息中选定的一种实体类型名称,span_e为s中属于entity_type类型的实体文本片段;
[0208]
b3-2.构建实体关系抽取任务提示模板如下:
[0209]
{
[0210]

文本’:s
[0211]

提示’:span_e的relation_type
[0212]

结果’:span_r
[0213]
}
[0214]
其中,s为原始数据集或扩展数据集中的文本,span_e为s中作为某一关系类型头实体的文本片段,relation_type为s所属数据集标注信息中选定的一种实体关系类型名称,span_r为s中与span_e存在选定关系relation_type的尾实体文本片段;
[0215]
b3-3.构建实体关系抽取任务提示模板如下:
[0216]
{
[0217]

文本’:s
[0218]

提示’:event_type
[0219]

结果’:span_v
[0220]
}
[0221]
{
[0222]

文本’:s
[0223]

提示’:span_v的role_type
[0224]

结果’:span_o
[0225]
}
[0226]
其中,s为原始数据集或扩展数据集中的文本,event_type为s所属数据集标注信息中特定的一种事件类型名称,span_v为s中作为某一事件类型触发词的文本片段,role_type为s所属数据集标注信息中特定的一种事件角色名称,span_o为s中被标注为event_type事件的role_type角色的文本片段;
[0227]
b3-4.对融合数据中所有标注信息按照步骤b3-1至b3-3重构数据,并在所有实体类型名称、关系类型名称、事件类型名称、事件角色名称中随机抽样与标注数据中的文本片段构建负样本数据,即无法查询到对应’结果’的样本;融合、重构并增加负样本后的数据集记为d
mix
={(sk,pk,lk),k=1,...,k},其中,sk表示文本,pk表示提示,lk表示结果,k为数据集所有三元数据组的数量。
[0228]
实施例7
[0229]
在实施例6的基础上,在步骤b3-1中,若s中没有属于entity_type类型的实体文本片段,则令span_e为空字符串。
[0230]
实施例8
[0231]
在实施例6的基础上,在步骤b3-2中,若s中没有与span_e存在特定关系relation_
type的尾实体文本片段,则令span_r为空字符串。
[0232]
实施例9
[0233]
在实施例6的基础上,在步骤b3-3中,两个’结果’字段中在未查询到相应文本片段时令为空字符串。
[0234]
实施例10
[0235]
一种基于提示学习的可扩展文本信息联合抽取设备,基于如实施例1~实施例9中任一项所述方法,还包括:
[0236]
第一构建模块,用于构建文本信息抽取标注信息的统一表示框架;
[0237]
第二构建模块,用于基于原始数据集与扩展数据集构建统一的提示模板;
[0238]
第三构建模块,用于构建并训练基于提示学习文本信息联合抽取模型;
[0239]
抽取模块,用于使用训练后的模型对输入文本进行联合信息抽取。
[0240]
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0241]
根据本发明实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
[0242]
作为另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
[0243]
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
[0244]
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
[0245]
除以上实例以外,本领域技术人员根据上述公开内容获得启示或利用相关领域的知识或技术进行改动获得其他实施例,各个实施例的特征可以互换或替换,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

技术特征:
1.一种基于提示学习的可扩展文本信息联合抽取方法,其特征在于,包括以下步骤:a、构建文本信息抽取标注信息的统一表示框架;b、基于原始数据集与扩展数据集构建统一的提示模板;c、构建并训练基于提示学习文本信息联合抽取模型;d、使用训练后的模型对输入文本进行联合信息抽取。2.根据权利要求1所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,步骤a中,所述构建文本信息抽取标注信息的统一表示框架包括如下子步骤:a1.针对命名实体识别任务,构建标注信息表示框架为:(entity_type:span_e),其中,entity_type表示选定的一种实体类型名称,span_e表示文本中属于entity_type类型实体的文本片段;a2.针对实体关系抽取任务,构建标注信息表示框架为:(entity_type:span_e:(relation_type_i:span_r_i)),其中,relation_type_i表示与entity_type实体类型关联的第i种实体关系类型名称,span_r_i表示span_e在relation_type_i下对应的尾实体文本片段;a3.针对事件抽取任务,构建标注信息表示框架为:(event_type:span_v:(role_type_i:span_o_i)),其中,event_type表示选定的一种事件类型名称,span_v表示文本中属于event_type事件类型的事件触发词文本片段,role_type_i表示与event_type类型事件关联的第i种事件角色名称,span_o_i表示span_v在role_type_i下对应的事件角色文本片段;a4.融合命名实体识别、实体关系抽取、事件抽取标注信息表示框架,形成文本信息抽取标注信息的统一表示框架。3.根据权利要求1所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,步骤b中,所述基于原始数据集与扩展数据集构建统一的提示模板包括如下子步骤:b1.定义原始数据集为d
ori
={(s
i
,l
i
),i=1,...,n
ori
},其中,s
i
表示原始数据集第i条数据的文本,l
i
表示原始数据集第i条数据的标注信息,no
ri
表示原始数据样本数;b2.定义扩展数据集为d
ext
={(s
j
,l
j
),j=1,...,n
ext
},其中,s
j
表示扩展数据集第j条数据的文本,l
j
表示扩展数据集第j条数据的标注信息,n
ext
表示扩展数据样本数;b3.融合原始数据集与扩展数据集,并为每一条标注信息构建统一的提示模板。4.根据权利要求1所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,步骤c中,所述构建并训练基于提示学习文本信息联合抽取模型包括如下子步骤:c1.设置基于transformer网络架构的编码器,输出维度为d
e
,记为e
model
;c2.构建针对文本片段起始位置的全连接层网络模块,记为fc
start
,构建针对文本片段终止位置的全连接层网络模块,记为fc
end
,fc
start
与fc
end
的输入维度均为d
e
,输出维度均为1;c3.对指定输入三元组数据(s
k
,p
k
,l
k
),按照p
k
s
k
进行提示与文本拼接,拼接后文本长度记为d
k
;c4.对拼接后的文本进行空字符补全,即在拼接文本后增加无意义空字符序列q
k
,使得p
k
s
k
q
k
的字符长度达到d
*
=max(d
k
,k=1,...,k);
c5.构建p
k
s
k
q
k
掩码向量其中,c6.使用e
model
对p
k
s
k
q
k
进行编码,编码后的特征矩阵记为c7.基于l
k
在s
k
中的起始位置和终止位置,构建基准结果向量gt
k_start
、其中,gt
k_start
除l
k
在s
k
中起始位置为1外,其余均为0,gt
k_endt
除l
k
在s
k
中终止位置为1外,其余均为0;c8.设置最大迭代次数ep,记录当前已完成迭代次数为ep;c9.计算当前迭代次数下,模型可接受的最低信息熵阈值ρ=exp[ep/(ep+1)]-1
;c10.将f
k
分别输入fc
start
和fc
end
,并采用sigmoid进行激活,分别得到预测向量p
start
和p
end
;c11.分别计算p
start
和p
end
的信息熵,记为θ
start
和θ
end
;c12.若θ
start
<ρ且θ
end
<ρ,则基于p
start
和p
end
分别与gt
k_start
和gt
k_end
计算交叉熵损失并采用反向传播进行模型训练;否则,跳过当前数据;c13.对所有k组数据执行步骤c3至c12,完成一轮次k组数据的训练后,令ep数值增加1;c14.重复执行c13直到ep=ep为止,得到训练后的文本信息联合抽取模型记为model。5.根据权利要求1所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,步骤d中,使用训练后的模型对输入文本进行联合信息抽取包括如下子步骤:d1.设定输出阈值δ∈(0,1);d2.对输入的文本text,遍历已训练数据中包含的所有实体类别名称{entity_type(q),q=1,...,q},q为所有实体类别名称的数量;将entity_type(q)与text拼接后输入model,得到entity_type(q)下的命名实体识别抽取预测向量,以p
start
>δ的位置为起始点,以此位置后最近的p
end
>δ的位置为终止点,并将两者位置之间的文本片段作为entity_type(q)的预测实体文本片段;d3.对输入的文本text和步骤d2预测的实体文本片段,遍历与预测实体文本片段记为entity_span所属实体类型关联的实体关系类型名称{relation_type(g),g=1,...,g},g为entity_span所属实体类型关联的所有实体关系类型数量;将’entity_span的relation_type(g)

与text拼接后输入model,得到relation_type(g)下的与entity_span关联的尾实体抽取预测向量,以p
start
>δ的位置为起始点,以此位置后最近的p
end
>δ的位置为终止点,并将两者位置之间的文本片段作为entity_span在relation_type(g)下的预测尾实体文本片段;d4.对输入的文本text,遍历已训练数据中包含的所有事件类别名称{event_type(h),h=1,...,h},h为所有事件类别名称的数量;将event_type(h)与text拼接后输入model,得到event_type(h)下的事件触发词抽取预测向量,以p
start
>δ的位置为起始点,以此位置后最近的p
end
>δ的位置为终止点,并将两者位置之间的文本片段作为event_type(h)的预测事件触发词文本片段;d5.对输入的文本text和步骤d4预测的事件触发词文本片段,遍历与预测事件触发词
文本片段记为event_span所属事件类型关联的事件角色名称{role_type(w),w=1,...,w},w为event_span所属事件类型关联的所有事件角色数量;将’event_span的role_type(w)

与text拼接后输入model,得到role_type(w)下的与event_span关联的事件角色抽取预测向量,以p
start
>δ的位置为起始点,以此位置后最近的p
end
>δ的位置为终止点,并将两者位置之间的文本片段作为event_span在role_type(w)下的事件角色文本片段;d6.按照步骤a所构建的统一表征框架融合步骤d2至d5的预测结果作为文本信息联合抽取的结果。6.根据权利要求3所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,步骤b3中,包含如下子步骤:b3-1.构建命名实体识别任务提示模板如下:{

文本’:s

提示’:entity_type

结果’:span_e}其中,s为原始数据集或扩展数据集中的文本,entity_type为s所属数据集标注信息中选定的一种实体类型名称,span_e为s中属于entity_type类型的实体文本片段;b3-2.构建实体关系抽取任务提示模板如下:{

文本’:s

提示’:span_e的relation_type

结果’:span_r}其中,s为原始数据集或扩展数据集中的文本,span_e为s中作为某一关系类型头实体的文本片段,relation_type为s所属数据集标注信息中选定的一种实体关系类型名称,span_r为s中与span_e存在选定关系relation_type的尾实体文本片段;b3-3.构建实体关系抽取任务提示模板如下:{

文本’:s

提示’:event_type

结果’:span_v}{

文本’:s

提示’:span_v的role_type

结果’:span_0}其中,s为原始数据集或扩展数据集中的文本,event_type为s所属数据集标注信息中特定的一种事件类型名称,span_v为s中作为某一事件类型触发词的文本片段,role_type
为s所属数据集标注信息中特定的一种事件角色名称,span_0为s中被标注为event_type事件的role_type角色的文本片段;b3-4.对融合数据中所有标注信息按照步骤b3-1至b3-3重构数据,并在所有实体类型名称、关系类型名称、事件类型名称、事件角色名称中随机抽样与标注数据中的文本片段构建负样本数据,即无法查询到对应’结果’的样本;融合、重构并增加负样本后的数据集记为d
mix
={(s
k
,p
k
,l
k
),k=1,...,k},其中,s
k
表示文本,p
k
表示提示,l
k
表示结果,k为数据集所有三元数据组的数量。7.根据权利要求6所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,在步骤b3-1中,若s中没有属于entity_type类型的实体文本片段,则令span_e为空字符串。8.根据权利要求6所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,在步骤b3-2中,若s中没有与span_e存在特定关系relation_type的尾实体文本片段,则令span_r为空字符串。9.根据权利要求6所述的基于提示学习的可扩展文本信息联合抽取方法,其特征在于,在步骤b3-3中,两个’结果’字段中在未查询到相应文本片段时令为空字符串。10.一种基于提示学习的可扩展文本信息联合抽取设备,其特征在于,基于如权利要求1~9中任一项所述方法,还包括:第一构建模块,用于构建文本信息抽取标注信息的统一表示框架;第二构建模块,用于基于原始数据集与扩展数据集构建统一的提示模板;第三构建模块,用于构建并训练基于提示学习文本信息联合抽取模型;抽取模块,用于使用训练后的模型对输入文本进行联合信息抽取。

技术总结
本发明公开了一种基于提示学习的可扩展文本信息联合抽取方法及设备,属于自然语言处理中文本信息抽取技术领域,包括以下步骤:构建文本信息抽取标注信息的统一表示框架;基于原始数据集与扩展数据集构建统一的提示模板;构建并训练基于提示学习文本信息联合抽取模型;使用训练后的模型对输入文本进行联合信息抽取。本发明解决了数据扩展或跨领域带来的技术瓶颈,提升了联合信息抽取的准确性和鲁棒性。性。性。


技术研发人员:杨瀚 朱婷婷 温序铭
受保护的技术使用者:成都索贝数码科技股份有限公司
技术研发日:2022.12.29
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐