文本生成方法、装置和计算机可读存储介质制造方法及图纸

技术编号:25915765 阅读:13 留言:0更新日期:2020-10-13 10:34
本发明专利技术公开了一种文本生成方法、装置和计算机可读存储介质,涉及自然语言处理领域。文本生成方法包括:将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出而确定的隐藏状态序列;将隐藏状态序列输入到文本生成模型的解码器中,获得待生成的当前文本中的每个位置所对应的词语概率分布;基于待生成的当前文本中的每个位置所对应的词语概率分布生成当前文本;根据隐藏状态序列和预设的关键词矩阵,确定用于生成下一个文本的关键词;采用用于生成下一个文本的关键词和生成的当前文本更新参考序列,其中,更新后的参考序列用于生成下一个文本;将更新后的参考序列输入到文本生成模型中。

【技术实现步骤摘要】
文本生成方法、装置和计算机可读存储介质
本专利技术涉及自然语言处理领域,特别涉及一种文本生成方法、装置和计算机可读存储介质。
技术介绍
随着人工智能技术的发展,基于文本生成(NaturalLanguageGeneration)的项目越来越多,从而节省了很多人力资源成本和经济成本。相关技术采用机器学习的方法生成文本。传统的基于机器学习的模型主要包括基于概率统计的机器翻译模型,其本质是在已知源语言的条件下,用概率统计的方式,计算出与源语言的共现概率最高的目标语言的组合。深度学习的方法则是通过模拟人脑的神经元,设计和使用深度神经网络(NeuralNetwork)来建立不同复杂程度和深度的非线性学习模型。通过使用大量训练数据,模型能够学习到自然语言中的语义信息。通过分析源语言的特点以及源语言与目标语言的关系,模型能够对特定题材或者主题的文本进行预测。
技术实现思路
专利技术人对相关技术进行分析后发现,相关技术生成的文本存在文本结构不合理、内容单一的问题,从而导致生成的文本可读性很差。本专利技术实施例所要解决的一个技术问题是:如何提高自动生成的文本的可读性。根据本专利技术一些实施例的第一个方面,提供一种文本生成方法,包括:将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出而确定的隐藏状态序列;将隐藏状态序列输入到文本生成模型的解码器中,获得待生成的当前文本中的每个位置所对应的词语概率分布;基于待生成的当前文本中的每个位置所对应的词语概率分布生成当前文本;根据隐藏状态序列和预设的关键词矩阵,确定用于生成下一个文本的关键词;采用用于生成下一个文本的关键词和生成的当前文本更新参考序列,其中,更新后的参考序列用于生成下一个文本;将更新后的参考序列输入到文本生成模型中。在一些实施例中,文本生成方法还包括:获取用于生成当前文本的输入文本;将输入文本进行反向处理,以生成反向输入文本;以及,生成输入文本对应的正向序列、以及反向输入文本对应的反向序列,作为用于生成当前文本的参考序列;将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出确定的隐藏状态序列包括:将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得正向隐藏状态序列和反向隐藏状态序列;以及,将正向隐藏状态序列和反向隐藏状态序列中位于相同位置的隐藏状态进行拼接,获得隐藏状态序列。在一些实施例中,根据隐藏状态序列和预设的关键词矩阵,确定用于生成下一个文本的关键词包括:将隐藏状态序列中的最后一个隐藏状态和预先获取的关键词矩阵的乘积与预设的偏置向量之和输入到激活函数中,获得词库中每个词对应的概率值,其中,关键词矩阵包括词库中每个词对应的预设的向量;将概率值最大的预设数量个词确定为用于生成下一个文本的关键词。在一些实施例中,基于待生成的当前文本中的每个位置所对应的词语概率分布生成当前文本包括:获取待生成的当前文本的第i个位置对应的、预设数量个不同的候选序列,其中,每个候选序列中包括待生成的当前文本的前i-1个位置中每个位置所对应的词语,每个词语具有在相应的位置上出现的概率值,其中,i为大于1的整数;根据待生成的当前文本的第i个位置对应的词语概率分布,确定词库中的词语在第i个位置出现的概率值;将词库中的词语与第i个位置对应的所有候选序列进行组合,并根据每种组合中的词语的概率值,确定每个组合的备选值;采用备选值最大的预设数量个组合更新候选序列,获得待生成的当前文本的第i+1个位置对应的、预设数量个不同的候选序列,以便采用待生成的当前文本的最后一个位置对应的、备选值最大的候选序列生成当前文本。在一些实施例中,根据每种组合中的词语的概率值,确定每个组合的备选值包括:将组合中的每个词对应的概率值的对数值的总和与组合中词的数量的比值,确定为组合的备选值。在一些实施例中,文本生成方法还包括:获取用户输入的文本、音频、图像中的至少一种,作为用户输入信息;将用户输入信息映射为包括一个或多个向量的序列,作为用于生成首个文本的参考序列。在一些实施例中,在用户输入信息为文本的情况下,在将用户输入信息映射为包括多个向量的序列之前,文本生成方法还包括:在用户输入信息中的词语数量大于预设值的情况下,将用户输入信息截取为预设的长度;在用户输入信息中的词语数量小于预设值的情况下,将用户输入信息填充为预设的长度。在一些实施例中,文本生成模型的编码器和解码器为循环神经网络或者卷积神经网络。在一些实施例中,文本生成方法还包括:获取训练文本,其中,训练文本中的关键词被预先进行标记;将用于训练的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出而确定的、训练文本的隐藏状态序列;将训练文本的隐藏状态序列输入到文本生成模型的解码器中,获得训练文本中的每个位置所对应的词语概率分布;基于训练文本中的每个位置所对应的词语概率分布生成预测文本;根据训练文本的隐藏状态序列和关键词矩阵,确定下一个文本对应的预测关键词;根据预测文本与训练文本的差距、以及预测关键词与训练文本的下一个文本的关键词的差距,对文本生成模型和关键词矩阵的参数进行调整,直到预测文本与训练文本的差距、以及预测关键词与训练文本的下一个文本的关键词的差距小于预设值。根据本专利技术一些实施例的第二个方面,提供一种文本生成装置,包括:隐藏状态序列确定模块,被配置为将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出而确定的隐藏状态序列;词语概率分布确定模块,被配置为将隐藏状态序列输入到文本生成模型的解码器中,获得待生成的当前文本中的每个位置所对应的词语概率分布;文本生成模块,被配置为基于待生成的当前文本中的每个位置所对应的词语概率分布生成当前文本;关键词确定模块,被配置为根据隐藏状态序列和预设的关键词矩阵,确定用于生成下一个文本的关键词;参考信息更新模块,被配置为采用用于生成下一个文本的关键词和生成的当前文本更新参考序列,其中,更新后的参考序列用于生成下一个文本;输入模块,被配置为将更新后的参考序列输入到隐藏状态序列确定模块。根据本专利技术一些实施例的第三个方面,提供一种文本生成装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种文本生成方法。根据本专利技术一些实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种文本生成方法。上述专利技术中的一些实施例具有如下优点或有益效果:本专利技术的实施例能够通过编码器的隐藏状态序列并行地预测当前的文本和下一个文本的关键词,并且在生成下一个文本时利用这些信息进行预测。这种将源语言的规划和文本的生成过程同时进行的方式,能够使得生成的多个连续文本具有连贯的信息。从而,提高了自动生成的文本的可读性,提高了文本生成的效率。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案本文档来自技高网...

【技术保护点】
1.一种文本生成方法,包括:/n将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出而确定的隐藏状态序列;/n将所述隐藏状态序列输入到文本生成模型的解码器中,获得待生成的当前文本中的每个位置所对应的词语概率分布;/n基于所述待生成的当前文本中的每个位置所对应的词语概率分布生成当前文本;/n根据所述隐藏状态序列和预设的关键词矩阵,确定用于生成下一个文本的关键词;/n采用用于生成下一个文本的关键词和生成的当前文本更新参考序列,其中,更新后的参考序列用于生成下一个文本;/n将更新后的参考序列输入到文本生成模型中。/n

【技术特征摘要】
1.一种文本生成方法,包括:
将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出而确定的隐藏状态序列;
将所述隐藏状态序列输入到文本生成模型的解码器中,获得待生成的当前文本中的每个位置所对应的词语概率分布;
基于所述待生成的当前文本中的每个位置所对应的词语概率分布生成当前文本;
根据所述隐藏状态序列和预设的关键词矩阵,确定用于生成下一个文本的关键词;
采用用于生成下一个文本的关键词和生成的当前文本更新参考序列,其中,更新后的参考序列用于生成下一个文本;
将更新后的参考序列输入到文本生成模型中。


2.根据权利要求1所述的文本生成方法,
还包括:
获取用于生成当前文本的输入文本;
将所述输入文本进行反向处理,以生成反向输入文本;以及,
生成输入文本对应的正向序列、以及反向输入文本对应的反向序列,作为用于生成当前文本的参考序列;
所述将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得基于编码器的输出确定的隐藏状态序列包括:
将用于生成当前文本的参考序列输入到文本生成模型的编码器中,获得正向隐藏状态序列和反向隐藏状态序列;以及,
将正向隐藏状态序列和反向隐藏状态序列中位于相同位置的隐藏状态进行拼接,获得隐藏状态序列。


3.根据权利要求1或2所述的文本生成方法,其中,所述根据所述隐藏状态序列和预设的关键词矩阵,确定用于生成下一个文本的关键词包括:
将隐藏状态序列中的最后一个隐藏状态和预先获取的关键词矩阵的乘积与预设的偏置向量之和输入到激活函数中,获得词库中每个词对应的概率值,其中,关键词矩阵包括词库中每个词对应的预设的向量;
将概率值最大的预设数量个词确定为用于生成下一个文本的关键词。


4.根据权利要求1所述的文本生成方法,其中,所述基于所述待生成的当前文本中的每个位置所对应的词语概率分布生成当前文本包括:
获取待生成的当前文本的第i个位置对应的、预设数量个不同的候选序列,其中,每个候选序列中包括待生成的当前文本的前i-1个位置中每个位置所对应的词语,每个词语具有在相应的位置上出现的概率值,其中,i为大于1的整数;
根据待生成的当前文本的第i个位置对应的词语概率分布,确定词库中的词语在第i个位置出现的概率值;
将词库中的词语与第i个位置对应的所有候选序列进行组合,并根据每种组合中的词语的概率值,确定每个组合的备选值;
采用备选值最大的预设数量个组合更新候选序列,获得待生成的当前文本的第i+1个位置对应的、预设数量个不同的候选序列,以便采用待生成的当前文本的最后一个位置对应的、备选值最大的候选序列生成当前文本。


5.根据权利要求4所述的文本生成方法,所述根据每种组合中的词语的概率值,确定每个组合的备选值包括:
将组合中的每个词对应的概率值的对数值的总和与所述组合中词的数量的比值,确...

【专利技术属性】
技术研发人员:刘瑞雪陈佩佩陈蒙刘晓华
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1