基于实体描述的文本生成方法

文档序号:31633330发布日期:2022-09-24 02:38阅读:38来源:国知局
基于实体描述的文本生成方法

1.本技术涉及自然语言处理技术领域,尤其涉及基于实体描述的文本生成方法和装置。


背景技术:

2.信息抽取(information extraction)任务即为从自然语言文本中,抽取出特定的事件或实体,进而将大量内容自动分类或提取。被抽取的信息包括实体、关系、事件及其所属的类别等等。子任务包括命名实体识别、关系抽取、实体链接、语义角色标注、事件抽取、情感分析等等。
3.各类信息抽取任务现有工作主要以标注和分类的方式处理,并根据各种特定的任务设计不同的预测网络。尽管这些方法有效,但它们忽略了丰富的标签语义,并且需要大量的针对特定任务的设计,无法构造一个通用的框架。


技术实现要素:

4.本技术旨在至少在一定程度上解决相关技术中的技术问题之一。
5.为此,本技术的第一个目的在于提出一种基于实体描述的文本生成方法,解决了现有方法不具备通用性的技术问题,能够很好的完成各类信息抽取任务。
6.本技术的第二个目的在于提出一种基于实体描述的文本生成装置。
7.为达上述目的,本技术第一方面实施例提出了一种基于实体描述的文本生成方法,包括:获取目标信息抽取任务的待处理集;使用预先训练的文本生成模型对待处理集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径,其中,文本生成模型是根据目标信息抽取任务,使用对应的训练集对预训练模型进行训练生成的;对所有可能路径按照概率进行筛选,获得候选路径;根据目标信息抽取任务的类型,对候选路径进行剪枝得到目标信息。
8.本技术实施例的基于实体描述的文本生成方法,通过构建一个通用的文本生成框架,面向不同的信息抽取任务,设计不同的实体描述作为输出序列。并当面向一段文本中有多个待抽取元组的情况,使用效果更好的“序列到路径”的思路,来规避生成的序列中多个元组之间的顺序问题与独立性问题,从而很好的完成各类信息抽取任务。
9.可选地,在本技术的一个实施例中,在使用预先训练的文本生成模型对待处理集进行推理之前,还包括:
10.构造增强数据集,其中,增强数据集包括正样本和负样本;
11.使用增强数据集训练预训练模型,得到文本生成模型。
12.可选地,在本技术的一个实施例中,构造增强数据集包括:
13.获取目标任务对应的训练集;
14.对待处理集合和训练集进行预处理,生成正样本,其中,训练集中的每段文本对应一个输出元组,正样本的数量与输出元组的数量相同;
15.按照目标任务的类型,根据正样本的实体描述方式将每个输出元组转化为自然语言句子作为输出序列;
16.使用训练集对预训练模型进行训练,生成样本生成模型;
17.使用样本生成模型对训练集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径与预测结果,其中,预测结果为可能路径的结合;
18.将预测结果中错误的部分作为第一负样本,使用第一负样本随机替换正样本中的不同元组的元素,生成第二负样本;
19.根据正样本、第一负样本和第二负样本构建增强数据集。
20.可选地,在本技术的一个实施例中,使用增强数据集训练预训练模型时,增强数据集中一条输入样本的损失函数为每条输出序列损失函数的平均。
21.为达上述目的,本发明第二方面实施例提出了一种基于实体描述的文本生成装置,包括:获取模块、路径生成模块、路径筛选模块、剪枝模块,其中,
22.获取模块,用于获取目标信息抽取任务的待处理集;
23.路径生成模块,用于使用预先训练的文本生成模型对待处理集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径,其中,文本生成模型是根据目标信息抽取任务,使用对应的训练集对预训练模型进行训练生成的;
24.路径筛选模块,用于对所有可能路径按照概率进行筛选,获得候选路径;
25.剪枝模块,用于根据目标信息抽取任务的类型,对候选路径进行剪枝得到目标信息。
26.可选地,在本技术的一个实施例中,还包括文本生成模型训练模块,具体用于:
27.构造增强数据集,其中,增强数据集包括正样本和负样本;
28.使用增强数据集训练预训练模型,得到文本生成模型。
29.可选地,在本技术的一个实施例中,构造增强数据集包括:
30.获取目标任务对应的训练集;
31.对待处理集合和训练集进行预处理,生成正样本,其中,训练集中的每段文本对应一个输出元组,正样本的数量与输出元组的数量相同;
32.按照目标任务的类型,根据正样本的实体描述方式将每个输出元组转化为自然语言句子作为输出序列;
33.使用训练集对预训练模型进行训练,生成样本生成模型;
34.使用样本生成模型对训练集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径与预测结果,其中,预测结果为可能路径的结合;
35.将预测结果中错误的部分作为第一负样本,使用第一负样本随机替换正样本中的不同元组的元素,生成第二负样本;
36.根据正样本、第一负样本和第二负样本构建增强数据集。
37.可选地,在本技术的一个实施例中,使用增强数据集训练预训练模型时,增强数据集中一条输入样本的损失函数为每条输出序列损失函数的平均。
38.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
39.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
40.图1为本技术实施例一所提供的一种基于实体描述的文本生成方法的流程示意图;
41.图2为本技术实施例的基于实体描述的文本生成方法示例图;
42.图3为本技术实施例提供的一种基于实体描述的文本生成装置的结构示意图。
具体实施方式
43.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
44.为了解决现有方法不具备通用性的问题,考虑搭建一个可以解决各种信息抽取问题的统一生成框架。生成模型可以充分利用对自然语言进行编码,丰富标签语义,将语言标签插入目标输出。此外这种统一的生成模型可以无缝地适应多种任务,无需引入额外的任务特定模型设计。
45.因此,各类信息抽取任务都可以转化为一个序列到序列的文本翻译问题。但输出序列的设计至关重要,以实体与关系联合抽取为例,将输出形式设计为(主体、关系、客体),相对于输出形式(主体、客体、关系),更符合自然语言的语义顺序,可以得到更好的抽取效果。因此对于更普遍的情况,如果直接用一句完整的话作为输出序列描述待抽取的元素,效果会得到进一步的提升。
46.尽管序列到序列的生成框架在很多数据集上取得了较好的效果,但依然存在着局限性:(1)顺序问题。情感元组之间是并行的,不存在顺序的概念,但是序列到序列的方法却是串行按顺序输出的。(2)独立性问题。根据序列到序列的模型概念,后面待抽取的元组依赖于前面的元组,但实际上元组之间相互独立,并不存在这种依赖关系。因此本技术面向实体描述的输出文本采用了“序列到路径”的方法。
47.此外,为了扩充数据集,需要使用负样本的方法进行数据增强。
48.下面参考附图描述本技术实施例的基于实体描述的文本生成方法和装置。
49.图1为本技术实施例一所提供的一种基于实体描述的文本生成方法的流程示意图。
50.如图1所示,该基于实体描述的文本生成方法包括以下步骤:
51.步骤101,获取目标信息抽取任务的待处理集;
52.步骤102,使用预先训练的文本生成模型对待处理集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径,其中,文本生成模型是根据目标信息抽取任务,使用对应的训练集对预训练模型进行训练生成的;
53.步骤103,对所有可能路径按照概率进行筛选,获得候选路径;
54.步骤104,根据目标信息抽取任务的类型,对候选路径进行剪枝得到目标信息。
55.本技术实施例的基于实体描述的文本生成方法,通过构建一个通用的文本生成框架,面向不同的信息抽取任务,设计不同的实体描述作为输出序列。并当面向一段文本中有
多个待抽取元组的情况,使用效果更好的“序列到路径”的思路,来规避生成的序列中多个元组之间的顺序问题与独立性问题,从而很好的完成各类信息抽取任务。
56.可选地,在本技术的一个实施例中,在使用预先训练的文本生成模型对待处理集进行推理之前,还包括:
57.构造增强数据集,其中,增强数据集包括正样本和负样本;
58.使用增强数据集训练预训练模型,得到文本生成模型。
59.可选地,在本技术的一个实施例中,构造增强数据集包括:
60.获取目标任务对应的训练集;
61.对待处理集合和训练集进行预处理,生成正样本,其中,训练集中的每段文本对应一个输出元组,正样本的数量与输出元组的数量相同;
62.按照目标任务的类型,根据正样本的实体描述方式将每个输出元组转化为自然语言句子作为输出序列;
63.使用训练集对预训练模型进行训练,生成样本生成模型;
64.使用样本生成模型对预测训练集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径与预测结果,其中,预测结果为可能路径的结合;
65.将预测结果中错误的部分作为第一负样本,使用第一负样本随机替换正样本中的不同元组的元素,生成第二负样本;
66.根据正样本、第一负样本和第二负样本构建增强数据集。
67.可选地,在本技术的一个实施例中,使用增强数据集训练预训练模型时,增强数据集中一条输入样本的损失函数为每条输出序列损失函数的平均。
68.本技术提出的一种基于实体描述的文本生成方法,将本技术的优化设计方法用于实体识别、关系抽取、实体链接、事件抽取、语义角色标注、情感分析等多项信息抽取任务中,在实验中使用nvidia 1080ti gpu单显卡训练,预训练模型使用huggingface中的t5-base模型,下面结合图2的文本生成过程、以实际应用为例,介绍本技术的基于实体描述的文本生成方法:
69.步骤1:以情感分析中抽取情感元素三元组为例,常规的序列到序列抽取元组的方法按照输入文本的数量生成样本,是:
70.输入文本
→“
(a1,o1,s1),(a2,o2,s2)”71.基于序列到路径的方法,按照输元组的数量生成样本,每段输入文本对应一个输出元组:
[0072][0073]
其中,不同子任务待抽取的实体如表1所示。
[0074]
表1各信息抽取子任务待抽取元组
[0075][0076][0077]
步骤2:面向不同的子任务,按下述方法将每个输出元组作为正样本转化为自然语言句子作为输出序列:
[0078]
(1)命名实体识别任务
[0079]
抽取目标为文本中的(《entity》,《category》)二元组,其中《category》为实体《entity》的类别。线性化的自然句子如下:
[0080]
正样本《entiiy》isa《category》entity.
[0081]
负样本《entity》is nota《categoty》entity.
[0082]
(2)实体与关系联合抽取任务
[0083]
抽取目标为文本中的(《entity1》,《relation》,《entity2》)三元组,其中,《entity1》为主体,《entity2》为客体,《relation》为二者的关系。线性化的自然句子如下:
[0084]
正样本therelationbetween《entity1》and《entity2》is《relation》.
[0085]
负样本the relation between《entity1》and《entity2》is not《relation》.
[0086]
(3)语义角色分析任务
[0087]
对于给定的谓词(《predicate》),抽取目标为文本中的(《argument》,《role》)二元组,线性化的自然句子如下:
[0088]
正样本《argument》isthe《role》of《predicate》.
[0089]
负样本《argument》is not the《role》of《predicate》.
[0090]
(4)事件抽取任务
[0091]
采用pipeline的方式,第一步抽取trigger,第二步抽取argument。
[0092]

抽取trigger的目标为(《event trigger》,《event category》)二元组,线性化
的自然语言句子如下:
[0093]
正样本《eventtrigger》isa《eventcategory》event.
[0094]
负样本《eventtrigger》is not a《eventcategory》event.
[0095]

抽取argument的目标为(《event argument》,《entity type》,《entity role》)三元组,线性化的自然语言句子如下:
[0096]
正样本
[0097]
《eventargument》isa《entitytype》type,anditisthe《entityrole》.
[0098]
负样本
[0099]
《event ar gument》is not a《entity type》type,or it is not the《entity role》.
[0100]
(5)实体链接任务
[0101]
对于给定的实体《entity》,抽取的(《argument》)与《entity》完成链接,线性化的自然语言句子如下:
[0102]
正样本《argument》referto《entity》.
[0103]
负样本《argument》not refer to《entity》.
[0104]
(6)情感分析任务
[0105]

aope任务
[0106]
正样本fa(a)isfo(o).
[0107]
负样本fa(a)is not fo(o).
[0108]

aste任务
[0109]
正样本itisfs(s)becausefa(a)isfo(o).
[0110]
负样本it is fs(s)not because fa(a)is fo(o).
[0111]

tasd任务
[0112]
正样本fa(a)isafc(c)categoryandfa(a)isfo(o).
[0113]
负样本fa(a)isnot afc(c)categoryorfa(a)is notfo(o).
[0114]

uabsa任务
[0115]
正样本fa(a)isfs(s)
[0116]
负样本fa(a)is notfs(s)
[0117]

acos任务
[0118]
正样本fc(c)isfs(s)becausefa(a)isfo(o).
[0119]
负样本fc(c)isfs(s)not becausefa(a)isfo(o).
[0120]
其中,
[0121]
[0122]
步骤3:基于预训练模型t5,基于训练集训练文本生成模型m
aug
,用于后续的数据增强;
[0123]
步骤4:使用m
aug
预测训练集,根据m
aug
的错误的预测结果构造负样本d
′2,再随机替换正样本d中的不同元组的元素构造负样本d
′1。d
′1的构造方法:为了提升模型匹配元组元素的能力,随机替换元组中的元素;d
′2的构造方法:为了提升模型过滤错误元素的能力,我们先使用m
aug
生成一些错误的例子加入负样本中。数据增强后的数据集d
aug
=d∪d

=d∪d
′1∪d
′2。以情感分析三元组抽取为例:输入文本是“those rolls are big,but not good and sashimi wasn’t fresh.”,待抽取的元组是(rolls,big,positive),(rolls,not good,negative),(rolls,sashimi,fresh),那么d
′1中的负样本可以是(rolls,wasn’t fresh,positive),(sashimi,big,negative,false),d
′2中的负样本可以是(sashimi,n’t fresh,negative,false)。
[0124]
步骤5:同步骤1类似,在d
aug
上训练一个基于t5的模型m,一条输入样本的损失函数为每条输出序列损失函数的平均,表示为:
[0125][0126]
其中
[0127]
步骤6:使用训练完成的模型m对测试集进行推理,应用波束搜索进行解码,对概率降序排序,概率最大的k条路径即为候选路径。
[0128]
步骤7:面向不同的子任务,对k条路径进行剪枝得到最后结果。在模型推理的过程中,解码得到的单词应该不是属于全词汇集的,而是应来自于原输入文本或一些其他的分类标记。例如在情感分析中aste任务中,情感极性s的搜索范围仅仅在{positive,negative,neutral}之中。将候选的单词集合记为t,t由输入文本的单词t(x)和分类标记t(task)构成。
[0129]

[0130]
t(x,task)=t(x)∪t(task)
[0131]
但是真实的模型推理过程中,生成的单词并不一定都来自于候选集合t,例如单复数或大小写的差别。因此,对于生成的单词e不属于t中元素的情况,可以衡量e到所有候选元素的levenshtein距离,选取距离最小的替代e。更简单的方式可以直接将生成的单词限定在t的范围内。进一步,可以将待生成的元素分为抽取类元素和分类型元素,抽取类元素即来自t(x),分类型元素即来自t(task),每类元素都有各自的限定范围。
[0132]
综上,本技术可有效完成各类信息抽取任务,并具备良好的通用性,其中表2是情感分析(acos子任务)数据集上的实验结果,表3是关系抽取数据集上的实验结果,证明本方法是有效的。
[0133]
表2情感分析实验结果(以acos任务为例)
[0134]
[0135][0136]
表3关系抽取实验结果
[0137][0138]
为了实现上述实施例,本技术还提出一种基于实体描述的文本生成装置。
[0139]
图3为本技术实施例提供的一种基于实体描述的文本生成装置的结构示意图。
[0140]
如图3所示,该基于实体描述的文本生成装置包括:获取模块、路径生成模块、路径筛选模块、剪枝模块,其中,
[0141]
获取模块,用于获取目标信息抽取任务的待处理集;
[0142]
路径生成模块,用于使用预先训练的文本生成模型对待处理集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径,其中,文本生成模型是根据目标信息抽取任务,使用对应的训练集对预训练模型进行训练生成的;
[0143]
路径筛选模块,用于对所有可能路径按照概率进行筛选,获得候选路径;
[0144]
剪枝模块,用于根据目标信息抽取任务的类型,对候选路径进行剪枝得到目标信息。
[0145]
可选地,在本技术的一个实施例中,还包括文本生成模型训练模块,具体用于:
[0146]
构造增强数据集,其中,增强数据集包括正样本和负样本;
[0147]
使用增强数据集训练预训练模型,得到文本生成模型。
[0148]
可选地,在本技术的一个实施例中,构造增强数据集包括:
[0149]
获取目标任务对应的训练集;
[0150]
对待处理集合和训练集进行预处理,生成正样本,其中,训练集中的每段文本对应一个输出元组,正样本的数量与输出元组的数量相同;
[0151]
按照目标任务的类型,根据正样本的实体描述方式将每个输出元组转化为自然语言句子作为输出序列;
[0152]
使用训练集对预训练模型进行训练,生成样本生成模型;
[0153]
使用样本生成模型对训练集进行推理,应用波束搜索对推理结果进行解码,得到所有可能路径与预测结果,其中,预测结果为可能路径的结合;
[0154]
将预测结果中错误的部分作为第一负样本,使用第一负样本随机替换正样本中的不同元组的元素,生成第二负样本;
[0155]
根据正样本、第一负样本和第二负样本构建增强数据集。
[0156]
可选地,在本技术的一个实施例中,使用增强数据集训练预训练模型时,增强数据集中一条输入样本的损失函数为每条输出序列损失函数的平均。
[0157]
需要说明的是,前述对基于实体描述的文本生成方法实施例的解释说明也适用于该实施例的基于实体描述的文本生成装置,此处不再赘述。
[0158]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0159]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0160]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0161]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器
(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0162]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0163]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0164]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0165]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1