一种基于增量式片段预测的端到端词汇受限文本生成方法转让专利

申请号 : CN202210148591.1

文献号 : CN114282515B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨麟儿聂锦燃刘鑫孔存良杨尔弘黄轩成刘洋

申请人 : 北京语言大学

摘要 :

本发明公开了一种基于增量式片段预测的端到端词汇受限文本生成方法,所述方法包括:构建训练数据集,所述训练数据集中包含给定的单个或多个受限词汇和包含所述受限词汇的文本,所述受限词汇也称为关键词;构建词汇受限文本生成模型,用于对给定的关键词生成包含所述关键词的文本;使用所述训练数据集对所述词汇受限文本生成模型进行训练;将训练后的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本。本发明具有逻辑清晰、效率高、准确率高的优点,妥善解决了现有端到端词汇受限文本生成技术无法保证包含所有关键词的技术问题。

权利要求 :

1.一种基于增量式片段预测的端到端词汇受限文本生成方法,其特征在于,包括以下步骤:步骤S1:构建训练数据集,所述训练数据集中包含给定的单个或多个受限词汇和包含所述受限词汇的文本,所述受限词汇也称为关键词;

步骤S1中,构建训练数据集具体包括:

步骤S11:指定单语数据集,所述单语数据集中包含某一种语言的自然语言文本;

步骤S12:根据所述单语数据集构造平行的训练数据集;

步骤S12中,构造平行的训练数据集具体包括:

步骤S121:从所述单语数据集中提取关键词;

步骤S122:根据关键词的位置将所述单语数据集切分成不同的片段;

步骤S123:构造源端的输入数据,用两种不同的特殊标签[pred]和[blank]分别替换需要预测的片段和其他未知的片段;

步骤S124:构造目标端输出数据,将需要预测的片段作为目标端的输出数据;

步骤S125:将S123和S124中构造的数据作为平行的训练数据集;

步骤S2:构建词汇受限文本生成模型,用于对给定的关键词生成包含所述关键词的文本;

所述词汇受限文本生成模型采用端到端的Seq2Seq模型,包括基于循环神经网络或自注意力网络的编码器‑解码器模型;

步骤S2中,所述词汇受限文本生成模型的工作流程包括:步骤S21:接收构造的平行训练数据集的输入序列 ,并获取平行训练数据集的输入序列所在上下文 ,同时接收输出片段的序列  ;

步骤S22:使用词嵌入层,获得输入序列的分布式向量表示 ,输入序列所在上下文的分布式向量表示 ,以及输出片段序列的分布式向量表示步骤S23:使用编码器,对输入序列和输入序列所在上下文进行编码,输入序列和输入序列所在上下文编码结果为隐状态序列 ;

步骤S24:使用解码器构建语言模型,利用上述的隐状态序列,迭代生成输出片段中的每个词;

步骤S3:使用所述训练数据集对所述词汇受限文本生成模型进行训练;

步骤S3中,在训练阶段,所述词汇受限文本生成模型的数据流向如下:输入序列经过编码器,被编码为隐状态序列 ;

隐状态序列 输入解码器,生成对应的输出片段;

步骤S4中,在测试阶段,训练好的词汇受限文本生成模型接收利用关键词构建的输入序列,经过编码器编码为隐状态序列 ,所述隐状态序列 同时输入解码器,经解码器进行解码,分别迭代的生成对应片段,将生成的片段填入[pred]标签位置,作为下一个片段生成时模型的输入,依此类推直到生成完所有片段,从而得到包含所有关键词的完整句子;

步骤S4:将训练后的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本;

所述词汇受限文本生成过程使用增量式片段预测方法,所述增量式片段预测是从左到右或从右到左按顺序依次预测一个片段;所述片段是关键词之间的连续词汇;在预测每个片段时,所述词汇受限文本生成模型使用自回归的方式进行预测。

2.一种基于增量式片段预测的端到端词汇受限文本生成系统,其特征在于,包括:数据集构建模块,用于构建训练数据集,所述训练数据集中包含给定的单个或多个受限词汇和包含所述受限词汇的文本,所述受限词汇也称为关键词;

其中,构建训练数据集具体包括:

步骤S11:指定单语数据集,所述单语数据集中包含某一种语言的自然语言文本;

步骤S12:根据所述单语数据集构造平行的训练数据集;

步骤S12中,构造平行的训练数据集具体包括:

步骤S121:从所述单语数据集中提取关键词;

步骤S122:根据关键词的位置将所述单语数据集切分成不同的片段;

步骤S123:构造源端的输入数据,用两种不同的特殊标签[pred]和[blank]分别替换需要预测的片段和其他未知的片段;

步骤S124:构造目标端输出数据,将需要预测的片段作为目标端的输出数据;

步骤S125:将S123和S124中构造的数据作为平行的训练数据集;

模型构建模块,用于构建词汇受限文本生成模型,对给定的关键词生成包含所述关键词的文本;

所述词汇受限文本生成模型采用端到端的Seq2Seq模型,包括基于循环神经网络或自注意力网络的编码器‑解码器模型;

其中,所述词汇受限文本生成模型的工作流程包括:

步骤S21:接收构造的平行训练数据集的输入序列 ,并获取平行训练数据集的输入序列所在上下文 ,同时接收输出片段的序列 ;

步骤S22:使用词嵌入层,获得输入序列的分布式向量表示 ,输入序列所在上下文的分布式向量表示 ,以及输出片段序列的分布式向量表示 ;

步骤S23:使用编码器,对输入序列和输入序列所在上下文进行编码,输入序列和输入序列所在上下文编码结果为隐状态序列 ;

步骤S24:使用解码器构建语言模型,利用上述的隐状态序列,迭代生成输出片段中的每个词;

训练模块,用于使用所述训练数据集对所述词汇受限文本生成模型进行训练;

其中,在训练阶段,所述词汇受限文本生成模型的数据流向如下:输入序列经过编码器,被编码为隐状态序列 ;

隐状态序列 输入解码器,生成对应的输出片段;

步骤S4中,在测试阶段,训练好的词汇受限文本生成模型接收利用关键词构建的输入序列,经过编码器编码为隐状态序列 ,所述隐状态序列 同时输入解码器,经解码器进行解码,分别迭代的生成对应片段,将生成的片段填入[pred]标签位置,作为下一个片段生成时模型的输入,依此类推直到生成完所有片段,从而得到包含所有关键词的完整句子;

文本生成模块,用于将训练后的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本;

所述词汇受限文本生成过程使用增量式片段预测方法,所述增量式片段预测是从左到右或从右到左按顺序依次预测一个片段;所述片段是关键词之间的连续词汇;在预测每个片段时,所述词汇受限文本生成模型使用自回归的方式进行预测。

说明书 :

一种基于增量式片段预测的端到端词汇受限文本生成方法

技术领域

[0001] 本发明涉及自然语言处理技术领域,特别涉及一种基于增量式片段预测的端到端词汇受限文本生成方法。

背景技术

[0002] 词汇受限文本生成可以为给定的关键词生成一句包含所有关键词的自然语言,在语言学习、广告生成、故事生成等方面具有重大的理论力量和实践意义。
[0003] 由于词汇受限文本生成要求生成的文本必须包含所有的关键词,而端到端的深度学习模型是基于概率建模,无法保证所有关键词都包含在生成的文本中。
[0004] 现有的词汇受限文本生成技术基于随机搜索或改进的柱搜索来保证所有关键词都出现在生成的文本中。这两类方法都不是端到端方式生成,其生成速度非常慢,难以应用在实际场景中。

发明内容

[0005] 针对上述问题,本发明的目的在于提供一种基于增量式片段预测的端到端词汇受限文本生成方法及系统,在生成过程中依次生成关键词之间的片段来保证所有关键词包含在生成的文本中。本发明创造性地提出增量式片段预测的端到端方法进行词汇受限文本生成,不仅保证了所有关键词包含在生成的文本中,而且具有高效的生成效率,方便应用于实际场景中。
[0006] 为解决上述技术问题,本发明的实施例提供如下方案:
[0007] 一方面,提供了一种基于增量式片段预测的端到端词汇受限文本生成方法,包括以下步骤:
[0008] 步骤S1:构建训练数据集,所述训练数据集中包含给定的单个或多个受限词汇和包含所述受限词汇的文本,所述受限词汇也称为关键词;
[0009] 步骤S2:构建词汇受限文本生成模型,用于对给定的关键词生成包含所述关键词的文本;
[0010] 步骤S3:使用所述训练数据集对所述词汇受限文本生成模型进行训练;
[0011] 步骤S4:将训练后的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本。
[0012] 优选地,步骤S1中,构建训练数据集具体包括:
[0013] 步骤S11:指定单语数据集,所述单语数据集中包含某一种语言的自然语言文本;
[0014] 步骤S12:根据所述单语数据集构造平行的训练数据集。
[0015] 优选地,步骤S12中,构造平行的训练数据集具体包括:
[0016] 步骤S121:从所述单语数据集中提取关键词;
[0017] 步骤S122:根据关键词的位置将所述单语数据集切分成不同的片段;
[0018] 步骤S123:构造源端的输入数据,用两种不同的特殊标签[pred]和[blank]分别替换需要预测的片段和其他未知的片段;
[0019] 步骤S124:构造目标端输出数据,将需要预测的片段作为目标端的输出数据;
[0020] 步骤S125:将S123和S124中构造的数据作为平行的训练数据集。
[0021] 优选地,所述词汇受限文本生成过程使用增量式片段预测方法,所述增量式片段预测是从左到右或从右到左按顺序依次预测一个片段。
[0022] 优选地,所述片段是关键词之间的连续词汇。
[0023] 优选地,在预测每个片段时,所述词汇受限文本生成模型使用自回归的方式进行预测。
[0024] 优选地,所述词汇受限文本生成模型采用端到端的Seq2Seq模型,包括基于循环神经网络或自注意力网络的编码器‑解码器模型。
[0025] 优选地,步骤S2中,所述词汇受限文本生成模型的工作流程包括:
[0026] 步骤S21:接收构造的平行训练数据集的输入序列 ,并获取平行训练数据集的输入序列所在上下文 ,同时接收输出片段的序列 ;
[0027] 步骤S22:使用词嵌入层,获得输入序列的的分布式向量表示 ,输入序列所在上下文的分布式向量表示  ,以及输出片段序列的分布式向量表示 ;
[0028] 步骤S23:使用编码器,对输入序列和输入序列所在上下文进行编码,输入序列和输入序列所在上下文编码结果为隐状态序列 ;
[0029] 步骤S24:使用解码器构建语言模型,利用上述的隐状态序列,迭代生成输出片段中的每个词。
[0030] 优选地,步骤S3中,在训练阶段,所述词汇受限文本生成模型的数据流向如下:
[0031] 输入序列经过编码器,被编码为隐状态序列 ;
[0032] 隐状态序列  输入解码器,生成对应的输出片段;
[0033] 步骤S4中,在测试阶段,训练好的词汇受限文本生成模型接收利用关键词构建的输入序列,经过编码器编码为隐状态序列 ,所述隐状态序列 同时输入解码器,经解码器进行解码,分别迭代的生成对应片段,将生成的片段填入[pred]标签位置,作为下一个片段生成时模型的输入,依此类推直到生成完所有片段,从而得到包含所有关键词的完整句子。
[0034] 一方面,提供了一种基于增量式片段预测的端到端词汇受限文本生成系统,包括:
[0035] 数据集构建模块,用于构建训练数据集,所述训练数据集中包含给定的单个或多个受限词汇和包含所述受限词汇的文本,所述受限词汇也称为关键词;
[0036] 模型构建模块,用于构建词汇受限文本生成模型,对给定的关键词生成包含所述关键词的文本;
[0037] 训练模块,用于使用所述训练数据集对所述词汇受限文本生成模型进行训练;
[0038] 文本生成模块,用于将训练后的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本。
[0039] 本发明实施例提供的技术方案带来的有益效果至少包括:
[0040] 本发明实施例中,通过构建训练数据集和词汇受限文本生成模型,并使用训练数据集对词汇受限文本生成模型进行训练,之后将训练好的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本。所述词汇受限文本生成模型为基于循环神经网络或自注意力网络的编码器‑解码器模型,所述训练数据是利用不同的特殊标签表征当前需要预测的片段和其他未知的片段来构造的成对有监督数据,用于训练模型增量式的进行片段预测。本发明具有逻辑清晰、效率高、准确率高的优点,妥善解决了现有端到端词汇受限文本生成技术无法保证包含所有关键词的技术问题。

附图说明

[0041] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042] 图1是本发明实施例提供的基于增量式片段预测的端到端词汇受限文本生成方法的流程图;
[0043] 图2是本发明实施例所述方法的具体流程示意图;
[0044] 图3是本发明实施例中词汇受限文本生成模型的示意图。

具体实施方式

[0045] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0046] 本发明的实施例首先提供了一种基于增量式片段预测的端到端词汇受限文本生成方法,如图1所示,所述方法包括以下步骤:
[0047] 步骤S1:构建训练数据集,所述训练数据集中包含给定的单个或多个受限词汇和包含所述受限词汇的文本,所述受限词汇也称为关键词;
[0048] 步骤S2:构建词汇受限文本生成模型,用于对给定的关键词生成包含所述关键词的文本;
[0049] 步骤S3:使用所述训练数据集对所述词汇受限文本生成模型进行训练;
[0050] 步骤S4:将训练后的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本。
[0051] 进一步地,如图2所示,步骤S1中,构建训练数据集具体包括:
[0052] 步骤S11:指定单语数据集,所述单语数据集中包含某一种语言的自然语言文本;
[0053] 步骤S12:根据所述单语数据集构造平行的训练数据集。
[0054] 之后,利用平行的训练数据集进行后续的模型训练。
[0055] 具体地,步骤S12中,构造平行的训练数据集具体包括:
[0056] 步骤S121:从所述单语数据集中提取关键词;
[0057] 步骤S122:根据关键词的位置将所述单语数据集切分成不同的片段;
[0058] 步骤S123:构造源端的输入数据,用两种不同的特殊标签[pred]和[blank]分别替换需要预测的片段和其他未知的片段;
[0059] 步骤S124:构造目标端输出数据,将需要预测的片段作为目标端的输出数据;
[0060] 步骤S125:将S123和S124中构造的数据作为平行的训练数据集。
[0061] 其中,所述片段是关键词之间的连续词汇。
[0062] 所述词汇受限文本生成过程使用增量式片段预测方法,所述增量式片段预测是从左到右或从右到左按顺序依次预测一个片段。例如,将关键词前后的片段按从左到右的顺序进行预测,最终生成完整的句子包含所有关键词。在预测每个片段时,所述词汇受限文本生成模型使用自回归的方式进行预测。
[0063] 本发明实施例中,构建的所述词汇受限文本生成模型采用端到端的Seq2Seq模型,包括基于循环神经网络(RNN)或自注意力网络(Self‑Attention)的编码器‑解码器模型。
[0064] 以基于自注意力网络的编码器‑解码器模型为例,以所述平行的训练数据集中包含特殊标签[pred]和[blank]的序列作为输入,并迭代地生成输出片段的序列中的每个词。
[0065] 如图3所示,步骤S2中,所述词汇受限文本生成模型的工作流程包括:
[0066] 步骤S21:接收构造的平行训练数据集的输入序列 ,并获取平行训练数据集的输入序列所在上下文 ,同时接收输出片段的序列 ;
[0067] 步骤S22:使用词嵌入层,获得输入序列的的分布式向量表示  ,输入序列所在上下文的分布式向量表示 ,以及输出片段序列的分布式向量表示;
[0068] 步骤S23:使用编码器,对输入序列和输入序列所在上下文进行编码,输入序列和输入序列所在上下文编码结果为隐状态序列 ;
[0069] 步骤S24:使用解码器构建语言模型,利用上述的隐状态序列,迭代生成输出片段中的每个词。
[0070] 进一步的,所述,步骤S23所述编码器被配置为多头自注意力(Multi‑Head Self‑Attention)网络。在获取到所述输入序列的分布式向量后,编码器使用多头自注意力机制进行编码,编码过程可用如下公式表示:
[0071]
[0072] 其中, ,所述参数矩阵 , ,, ; 为 的维数, 为 的维数, 为模型
所使用的词向量维数,所述 为多头自注意力机制的头数,且 。
[0073] 这样,编码器就将原始的输入序列,编码成了长度为 的隐状态序列 。
[0074] 步骤S24所述语言模型通过输出片段中的前 个词,预测第 个词。
[0075] 步骤S24所述解码器在迭代地生成每个词时,还包括以下步骤:
[0076] 步骤S241:接收上一时刻输出的词 ,将其分布式向量表示 作为当前时刻的输入;
[0077] 步骤S242:获得当前语言模型的输出向量 ,作为语言模型向量;
[0078] 步骤S243:使用自适应自注意力机制对所述隐状态序列进行筛选,并将筛选后所获得的向量 作为知识信息向量;
[0079] 步骤S244:使用自适应自注意力机制对所述知识信息向量和所述语言模型向量进行整合,获得上下文向量 ;
[0080] 步骤S245:依据 ,上一时刻的隐状态输出 和上下文向量 ,获得当前时刻的隐状态 ;
[0081] 步骤S246:利用隐状态 ,计算当前所预测词在词表范围内的概率分布,并取概率最大的词作为当前时刻的输出。
[0082] 在本发明实施例中,解码器被配置为自适应自注意力模型。接下来,对解码器分步骤进行详细说明。
[0083] 在时刻 ,步骤S242所述“获得当前语言模型的输出向量 ,作为语言模型向量”,指的是通过以下公式进行运算:
[0084]
[0085] 其中, 为第 层的语言模型向量, 为所述解码器中第 层、第 个时间步的隐状态; 为所述解码器中第 层、前 个时间步的隐状态;为多头自注意力函数。
[0086] 步骤S243所述“使用自适应自注意力机制对所述隐状态序列进行筛选,并将筛选后所获得的向量 作为知识信息向量”,指的是使用以下公式进行计算:
[0087]
[0088] 其中, 为第 层的知识信息向量。
[0089] 步骤S244所述“使用自适应自注意力机制对所述知识信息向量和所述语言模型向量进行整合,获得上下文向量 ”,指的是通过以下公式进行运算:
[0090]
[0091] 其中, 是第 层,第 个时刻的权重,可以通过如下公式获得:
[0092]
[0093]  步骤245所述“依据 ,上一时刻的隐状态输出 和上下文向量 ,获得当前时刻的隐状态 ”,指的是通过以下公式进行运算:
[0094]
[0095] 其中, 为最后一层的上下文向量, 为最后一层的隐状态, 为长短期记忆循环函数。
[0096] 步骤246所述“利用所述隐状态 ,计算当前所预测词在词表范围内的概率分布”,指的是通过以下公式进行计算:
[0097]
[0098] 其中,所得的概率即为 QUOTE 在词表中的概率分布。
[0099] 进一步地,步骤S3中,在训练阶段,所述词汇受限文本生成模型的数据流向如下:
[0100] 输入序列经过编码器,被编码为隐状态序列 ;
[0101] 隐状态序列 输入解码器,生成对应的输出片段。
[0102] 进一步地,步骤S4中,在测试阶段,训练好的词汇受限文本生成模型接收利用关键词构建的输入序列,经过编码器编码为隐状态序列 ,所述隐状态序列 同时输入解码器,经解码器进行解码,分别迭代的生成对应片段,将生成的片段填入[pred]标签位置,作为下一个片段生成时模型的输入,依此类推直到生成完所有片段,从而得到包含所有关键词的完整句子。
[0103] 相应地,本发明的实施例还提供了一种基于增量式片段预测的端到端词汇受限文本生成系统,包括:
[0104] 数据集构建模块,用于构建训练数据集,所述训练数据集中包含给定的单个或多个受限词汇和包含所述受限词汇的文本,所述受限词汇也称为关键词;
[0105] 模型构建模块,用于构建词汇受限文本生成模型,对给定的关键词生成包含所述关键词的文本;
[0106] 训练模块,用于使用所述训练数据集对所述词汇受限文本生成模型进行训练;
[0107] 文本生成模块,用于将训练后的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本。
[0108] 本实施例的系统,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0109] 综上所述,本发明通过构建训练数据集和词汇受限文本生成模型,并使用训练数据集对词汇受限文本生成模型进行训练,之后将训练好的词汇受限文本生成模型应用于给定的任意关键词,生成包含所有给定的任意关键词的文本。所述词汇受限文本生成模型为基于循环神经网络或自注意力网络的编码器‑解码器模型,所述训练数据是利用不同的特殊标签表征当前需要预测的片段和其他未知的片段来构造的成对有监督数据,用于训练模型增量式的进行片段预测。本发明具有逻辑清晰、效率高、准确率高的优点,妥善解决了现有端到端词汇受限文本生成技术无法保证包含所有关键词的技术问题。
[0110] 本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0111] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。