实现文本生成的方法、装置、设备和介质与流程

文档序号:23718052发布日期:2021-01-24 06:25阅读:131来源:国知局
实现文本生成的方法、装置、设备和介质与流程

[0001]
本公开总体上涉及人工智能领域,尤其涉及自然语言处理技术。


背景技术:

[0002]
自动的文本生成是自然语言处理领域的一个重要研究方向。文本生成是指借助模型,在给定输入文本的情况下产生期望的输出文本。文本生成的一个示例应用包括机器翻译,其可以将一种语言的文本翻译成另一种语言的文本。其他文本生成任务的应用还包括自动对话、摘要生成等。虽然已经在文本生成算法的研发上取得显著的进展,但文本生成仍然面临一些挑战,包括对训练语料依赖性高以及模型通用性差等问题。因此,期望进一步改进文本生成过程。


技术实现要素:

[0003]
根据本公开的实施例,提供了用于实现文本生成的方法、装置、设备以及存储介质。
[0004]
根据本公开的第一方面,提供了一种实现文本生成的方法。该方法包括:从通用文本生成模型支持的多个任务类型中确定目标文本生成任务的目标任务类型,通用文本生成模型被预训练;基于目标文本生成任务对目标输出文本的要求,从通用文本生成模型支持的多个输出文本属性中确定针对目标文本生成任务的至少一个第一目标输出文本属性;以及通过将对目标任务类型的任务指示信息和对至少一个第一目标输出文本属性的第一属性指示信息作为通用文本生成模型的输入的至少一部分,基于与目标文本生成任务相关联的目标训练数据集来调整通用文本生成模型,以获得针对目标文本生成任务的任务特定文本生成模型。
[0005]
根据本公开的第二方面,提供了一种用于实现文本生成的装置。该装置包括任务类型确定模块,被配置为从通用文本生成模型支持的多个任务类型中确定目标文本生成任务的目标任务类型,所述通用文本生成模型被预训练;第一属性确定模块,被配置为基于所述目标文本生成任务对目标输出文本的要求,从所述通用文本生成模型支持的多个输出文本属性中确定针对所述目标文本生成任务的至少一个第一目标输出文本属性;以及模型调整模块,被配置为通过将对所述目标任务类型的任务指示信息和对所述至少一个第一目标输出文本属性的第一属性指示信息作为所述通用文本生成模型的输入的至少一部分,基于与所述目标文本生成任务相关联的目标训练数据集来调整所述通用文本生成模型,以获得针对所述目标文本生成任务的任务特定文本生成模型。
[0006]
根据本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面的方法。
[0007]
根据本公开的第四方面,提供了一种存储有计算机指令的计算机可读存储介质。计算机指令用于使计算机执行第一方面的方法。
[0008]
根据本公开的第五方面,提供了一种计算机程序产品。计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现第一方面的方法。
[0009]
根据本公开的实施例,通过提供支持多个任务类型和多个输出文本顺序的预训练通用文本生成模型,显著降低了在各种文本生成任务中对训练语料数量的依赖,可以满足不同文本生成任务的特定需求。
[0010]
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0011]
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素。
[0012]
图1示出了本公开的多个实施例能够在其中应用的环境的示意图。
[0013]
图2示出了根据本公开的一些实施例的通用文本生成模型和基于此生成的任务特定文本生成模型的结构框图。
[0014]
图3示出了根据本公开的另一些实施例的通用文本生成模型和基于此生成的任务特定文本生成模型的结构框图。
[0015]
图4示出了根据本公开的又一些实施例的通用文本生成模型和基于此生成的任务特定文本生成模型的结构框图。
[0016]
图5示出了根据本公开的一些实施例的用于实现文本生成的方法的流程图。
[0017]
图6示出了根据本公开的一些实施例的用于实现文本生成的装置的框图。
[0018]
图7示出了能够实施本公开的多个实施例的电子设备的框图。
具体实施方式
[0019]
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0020]
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0021]
如本文中所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的关联,从而在训练完成后可以针对给定的输入,生成对应的输出。模型的生成可以基于机器学习技术。深度学习(dl)是一种机器学习算法,通过使用多层处理单元来处理输入和提供相应输出。神经网络(nn)模型是基于深度学习的模型的一个示例。在本文中,“模型”也可以被称为“机器学习模型”、“学习模型”、“机器学习网络”或“学习网络”,这些术语在本文中可互换地使用。
[0022]
通常,机器学习或深度学习大致可以包括三个阶段,即训练阶段、测试阶段和使用阶段(也称为推理阶段)。在训练阶段,给定的模型可以使用大量的训练数据进行训练,不断
迭代,直到模型能够从训练数据中获取一致的、与人类智慧所能够做出的推理类似的推理。通过训练,模型可以被认为能够从训练数据中学习从输入到输出之间的关联(也称为输入到输出的映射)。经训练的模型的参数值被确定。在测试阶段,将测试输入应用到训练后的模型,测试模型是否能够提供正确的输出,从而确定模型的性能。在使用阶段,模型可以被用于基于训练得到的参数值,对实际的输入进行处理,确定对应的输出。
[0023]
如以上提及的,在当前文本生成领域中仍然面临着对训练语料依赖性高以及模型通用性差等问题。通常,在自动文本生成的应用中,会利用训练语料来训练文本生成模型。文本生成模型的性能取决于模型所受的约束,这些约束是通过训练过程从训练语料中学习到的。
[0024]
一方面,当前的文本生成模型依赖于大规模的训练语料(也称为“平行语料”),以使模型能够学习到足够的约束。例如,机器翻译任务要求两种语言下的大量对应语句,自动对话任务要求对话场景下的多轮对话文本,摘要生成任务要求大量文章和文章的摘要。
[0025]
然而,在很多实际应用中获得合适的大规模语料是不现实的,特别是如果文本生成任务具有一些特殊要求的话。例如,对于摘要任务,如果文本生成任务的需求是“对自媒体图文文章,生成一份长度50字内的、情绪积极向上且具有吸引力的摘要”,那么可能现实中难以找到大量的“自媒体图文文章”和对应的“长度50字内的、情绪积极向上的摘要”作为训练语料来训练模型。训练语料不足可能使得模型训练失败或者不足以将模型约束到能够生成符合要求的结果。
[0026]
另一方面,在针对特定任务训练文本生成模型后,模型不具有通用性。在面对要求不同的另一文本生成任务时需要重新构建模型和训练。例如,“对自媒体图文文章,生成一份长度50字内的、情绪积极向上且具有吸引力的摘要”的新任务,由于“具有吸引力”这一新要求的引入,需要重新筛选训练语料并构建模型,这个过程的效果较低,效果也可能因为语料规模的下降而受影响。
[0027]
传统文本生成模型的训练方案提出针对特定文本生成任务进行特定控制,例如对于文章生成摘要的任务,控制摘要的风格(例如幽默、吸引点击、浪漫)。另一些方案提出控制文本生成模型的输出文本的属性。例如,对话生成任务,通过控制输出文本的句式(例如疑问句)可以提高对话生成任务在人工评估中的效果。然而,这些方案依然无法解决训练语料不足和模型通用性差的问题。
[0028]
本公开的实施例提出了一种改进的文本生成方案。该方案通过预训练的方式提供通用文本生成模型,该通用文本生成模型被预训练为支持多个任务类型和多个输出文本属性。通用文本生成模型能够针对不同的目标文本生成任务进一步调整。通过多个任务类型和多个输出文本属性的多种组合来满足不同的目标文本生成任务对任务类型和输出文本的相应要求。对特定的目标文本生成任务,在确定从多个任务类型和多个输出文本属性中分别确定目标文本生成任务的目标任务类型和所要求的一个或多个目标输出文本属性后,继续利用与目标文本生成任务相关联的训练数据集来调整(fine tune)通用文本生成模型。对目标任务类型和目标输出文本属性的指示信息被提供作为通用文本生成模型的输入的至少一部分。
[0029]
通过在预训练的基础上再利用任务相关的训练数据集进行调整,通用文本生成模型能够执行目标文本生成任务。由于通用文本生成模型已经预训练,能够至少满足对目标
任务类型和目标输出文本属性的约束,因此在调整阶段只需要少量训练数据就能使通用文本生成模型被训练为能够执行特定目标文本生成任务的任务特定文本生成模型。这显著降低了在各种文本生成任务中对训练语料数量的依赖,可以满足不同文本生成任务的特定需求。
[0030]
以下将参考附图来详细描述本公开的一些示例实施例。
[0031]
图1示出了本公开的多个实施例能够在其中应用的环境100的示意图。如图1所示,示例环境100包括电子设备110,其被配置为预训练通用文本生成模型120。通用文本生成模型120被配置为一种自动文本生成模型,该模型针对输入文本121来生成输出文本122。预训练的通用文本生成模型120被提供到给电子设备130。
[0032]
电子设备130被配置为针对特定目标文本生成任务,对通用文本生成模型120进行调整,以任务特定文本生成模型140。经过调整,任务特定文本生成模型140能够执行目标文本生成任务。具体地,任务特定文本生成模型140能够处理针对目标文本生成任务的目标输入文本141,并且生成符合目标文本生成任务要求的目标输出文本142。
[0033]
图1中的电子设备110和/或130可以是具有计算能力的各种设备。例如,电子设备110和/或130可以是服务端设备或终端设备。服务端设备例如可以是集中式服务器、分布式服务器、大型机、边缘计算设备、云,等等。终端设备例如可以是各种便携式或固定终端,诸如智能手机、平板电脑、台式计算机、笔记本计算机、车载设备、导航设备、多媒体播放器设备、智能音箱、智能可穿戴设备,等等。注意,虽然在图1中被示出为是分离的,但在一些情况下,电子设备110和/或130的功能可以由单个物理设备/系统来实现。也就是说,单个物理设备/系统可以被配置执行模型的预训练、训练和使用。本公开的实施例在此方面不受限制。
[0034]
在本公开的实施例中,为降低在实现文本生成任务的建模过程中对训练语料数量的依赖并且提高模型的通用性,提出了预训练的通用文本生成模型的架构。在该预训练架构基础上,通过控制模型的输入和执行调整过程,可以生成满足不同文本生成需求的文本生成模型用于使用。下文将参考图2至图4来详细讨论本公开的示例实施例的通用文本生成模型的架构及其调整后的模型。
[0035]
图2示出了根据本公开的一些实施例的通用文本生成模型120和基于此生成的任务特定文本生成模型140的结构框图。通用文本生成模型120可以被配置成能够实现自动文本生成的任何模型结构。图2示出了示例的编码器-解码器结构,其中通用文本生成模型120包括编码器210和解码器220。编码器210被配置为接收模型输入,例如输入文本121,并且处理模型输入以生成中间特征表示。中间特征表示被提供给解码器220。解码器220基于中间特征表示来生成模型输出,例如输出文本122。除编码器-解码器结构之外,通用文本生成模型120还可以被配置成能够实现自动文本生成的其他模型结构,本公开的实施例在此方面不受限制。
[0036]
在本公开的实施例中,通用文本生成模型120在预训练阶段被预训练为支持可控文本任务类型集230中的多个(例如n个)文本任务类型,包括任务类型232-1、任务类型232-2
……
任务类型232-n等等。为便于后文讨论,这些任务类型统称为或单独称为任务类型232。通用文本生成模型120在预训练阶段被预训练为支持可控输出文本属性集240中的多个(例如m个)输出文本属性,包括输出文本属性242-1、输出文本属性242-2
……
输出文本属性242-m等等。因此,通用文本生成模型120也称为通用可控文本生成模型。
[0037]
多个文本任务类型232指示不同类型的文本生成任务。所谓的“文本生成任务”指示对于输入文本要执行何种处理来给出输出文本。文本任务类型的示例包括但不限于:摘要生成任务,其要求从输入文本提取重要信息作为输出文本;文本改写任务,其要求在不改变输入文本语义的情况下输出字面不同的文本;文本续写任务,其要求生成通顺且与输入文本在逻辑上的输出文本;自动对话任务,其要求根据输出文本生成交互式内容作为输出文本。其他文本任务类型也是可行的。通用文本生成模型120所支持的多个文本任务类型232可以是预定的,并通过预训练过程来学习到如何执行这些类型的文本生成任务。预训练过程将在下文详细描述。
[0038]
多个输出文本属性242指的是通用文本生成模型120的输出文本要满足的不同方面的属性。输出文本属性242可以通过对大量文本生成应用中期望输出文本满足的不同要求来预先确定。输出文本属性242的示例包括但不限于:输出文本的长度、句式、风格属性、情感倾向等等。每个输出文本属性242可以具有一个或多个属性值。例如,对于“长度”属性,其可以规定输出文本的不同长度选项;对于“句式”,其可以规定陈述句、疑问句、反问句、感叹句等句式结构;对于“风格属性”,其可以规定输出文本的不同语言风格,例如夸张、吸引人、平实、正式等等;对于“情感倾向”,其可以包括输出文本的正向情感倾向和负向情感倾向。
[0039]
多个任务类型232和多个输出文本属性242的可控能力可以通过自监督学习的方式,利用预训练数据对通用文本生成模型120执行预训练来实现。预训练的目标是使通用文本生成模型120能够学习到如何对输入文本执行多个任务类型232对应的文本生成任务,同时区别每个输出文本属性242的不同属性值,从而使输出文本能够满足这些属性。
[0040]
为了学习到执行多个任务类型232的目标,通用文本生成模型120的预训练数据包括多个预训练数据集,每个预训练数据集包括与一个任务类型232相关联的训练输入文本和训练输出文本。例如,对于指示“摘要生成任务”的任务类型232,其预训练数据集包括多篇文章或段落等作为训练输入文本,并且还包括多篇文章或段落各自的摘要作为训练输出文本。类似,对于其他任务类型232,均可以提供符合该任务类型的训练输入文本和训练输出文本作为预训练数据集。
[0041]
在预训练阶段,利用不同的预训练数据集分别对通用文本生成模型120执行训练。在预训练阶段,在将与某个任务类型232相关联的预训练数据集中的训练输入文本提供到通用文本生成模型120(例如,提供到编码器210)时,还将指示该任务类型232的任务指示信息同时作为输入提供到编码器210。该任务指示信息可以有助于通用文本生成模型120分辨当前正在针对哪个任务类型进行学习。任务指示信息可以是能够标注多个任务类型232中的特定任务类型的任何信息。例如,如果存在n个任务类型,任务指示信息可以被确定为n维的二进制序列,其中不同任务类型对应于二进制序列中的相应标志位。
[0042]
在利用与每个任务类型232相关联的预训练数据集来训练通用文本生成模型120时,通用文本生成模型120的训练目标是要基于输入文本来生成满足任务要求的输出文本。通过与多个任务类型232相关联的预训练数据集以及他们各自的任务指示信息,通用文本生成模型120能够学习到多任务处理的能力。
[0043]
对于多个输出文本属性242,也可以利用类型的方式,通过包括输入文本以及具有不同输出文本属性242的输出文本的一个或多个预训练数据集来对通用文本生成模型120
进行预训练。不同于多任务类型的学习需要彼此独立执行,可以使通用文本生成模型120同时学习两个或更多输出文本属性242。例如,预训练数据集中的训练输出文本可以同时被标注为具有两个或更多输出文本属性242,从而基于该预训练数据集的预训练可以使通用文本生成模型120能够同时学习到如何输出满足这些输出文本属性242的输出文本。这可以加速预训练过程。
[0044]
与对多个任务类型232进行预训练类似,在将与一个或多个输出文本属性242相关联的预训练数据集中的训练输入文本提供到通用文本生成模型120(例如,提供到编码器210)时,还将指示输出文本属性242的属性指示信息同时作为输入提供到编码器210,以帮助通用文本生成模型120分辨当前正在针对哪个或哪几个输出文本属性242进行学习。属性指示信息可以是能够标注多个输出文本属性242中的特定输出文本属性的任何信息。例如,如果存在m个输出文本属性,属性指示信息可以被确定为m维的二进制序列,其中不同输出文本属性242对应于二进制序列中的相应标志位。通过与多个输出文本属性242相关联的预训练数据集以及他们各自的属性指示信息,通用文本生成模型120能够学习到输出具有一个或多个输出文本属性的能力。
[0045]
在利用与一个或多个输出文本属性242相关联的预训练数据集来训练通用文本生成模型120时,通用文本生成模型120的训练目标是要基于输入文本来生成满足一个或多个输出文本属性242的期望属性值的输出文本。通过与多个输出文本属性242相关联的预训练数据集以及他们各自的属性指示信息,通用文本生成模型120能够学习到多任务处理的能力。
[0046]
在一些实施例中,为了进一步加速预训练,在训练通用文本生成模型120执行一个或多个任务类型232对应的文本生成任务时,还可以增加对一个或多个输出文本属性242的约束。在这情况下,对于一个任务类型232相关联的预训练数据集,其中的训练输出文本可以被标注有一个或多个输出文本属性242的不同属性值。例如,对于摘要生成任务的预训练数据集,每个训练输出文本(即,摘要)的长度、句式和风格属性等可以被具体标注。这些训练输出文本(即,摘要)被选择为具有要学习的长度、句式和风格属性等这些属性的各个属性值。在利用这样的预训练数据集来训练通用文本生成模型120时,通用文本生成模型120的训练目标是要生成输入文本的摘要,并且所输出的摘要应具有期望的长度、句式和风格属性。
[0047]
利用这样的预训练数据集来训练通用文本生成模型120后,该通用文本生成模型120不仅能够学习到如何生成摘要,而且还能学习到将摘要生成为具有期望的长度、句式和风格属性。对于其他任务类型232和输出文本属性242,均可以通过利用相关联的预训练数据集来执行类似的预训练。
[0048]
通过预训练,通用文本生成模型120能够支持不同的任务类型和不同的输出文本属性。这样的通用文本生成模型120可以针对特定文本生成任务进一步调整,从而能够执行对应的文本生成任务。如参考图1所描述的,通用文本生成模型120的预训练可以由电子设备110来执行,并且预训练的通用文本生成模型120可以被提供给电子设备130,以针对特定文本生成任务来进行调整。
[0049]
在执行调整时,用户可能期望获得能够执行目标文本生成任务的文本生成模型。通过控制通用文本生成模型120的任务类型和输出文本属性并且基于此来调整模型,可以
生成任务特定文本生成模型140。
[0050]
具体地,在目标文本生成任务给定的情况下,确定目标文本生成任务的任务类型是否被包括在通用文本生成模型120支持的多个任务类型232中,并且还确定目标文本生成任务对输出文本的要求是否能够由多个输出文本属性242所满足。如果能够从多个任务类型232中确定目标文本生成任务的目标任务类型250,并且从多个输出文本属性242中确定一个或多个目标输出文本属性260能够满足目标文本生成任务对输出文本的要求,那么将选择相应的目标任务类型250和一个或多个目标输出文本属性260,并执行后续模型调整。
[0051]
例如,如果目标文本生成任务是“对输入的文章,生成长度小于50字且具有吸引力的摘要”,那么该目标文本生成任务的任务类型对应于“摘要生成任务”,并且对输出文本的“长度”(例如,小于50字)和“风格属性”(例如,具有吸引力的)均有要求。这些任务类型和输出文本属性是预训练的通用文本生成模型120所满足的。
[0052]
在选定目标任务类型250和一个或多个目标输出文本属性260后,利用与目标文本生成任务相关联的目标训练数据集来调整通用文本生成模型120。在调整过程中,对目标任务类型250的任务指示信息252和对一个或多个目标输出文本属性260的属性指示信息262(有时也称为第一属性指示信息)将作为通用文本生成模型120模型的输入的一部分。也就是说,在将目标训练数据集中的训练输入文本输入到通用文本生成模型120(例如,输入到编码器210)的同时,任务指示信息252和属性指示信息262也同时被输入。这样,通用文本生成模型120能够区分当前要学习对应的任务类型和输出文本属性。
[0053]
与目标文本生成任务相关联的目标训练数据集包括目标文本生成任务所要求的训练输入文本和训练输出文本。例如,对于目标文本生成任务“对输入的文章,生成长度小于50字且具有吸引力的摘要”,训练输入文本是文章,训练输出文本是该文章对应的“长度小于50字且具有吸引力的摘要”。由于通用文本生成模型120在“摘要生成任务”以及“长度”和“风格属性”等属性方面已经经过一定程度的训练(即,预训练阶段),因此在调整时,与目标文本生成任务相关联的目标训练数据集不需要提供大量的训练输入文本和训练输出文本,就能够让通用文本生成模型120快速收敛到能够很好地执行目标文本生成任务。
[0054]
经过调整,通用文本生成模型120可以被训练为任务特定文本生成模型140。如图2所示,经过针对目标文本生成任务的调整,任务特定文本生成模型140的任务类型(即,目标任务类型250)和输出文本属性(即,目标输出文本属性260)被固定,相应的任务指示信息252和属性指示信息262作为模型输入的一部分被提供到编码器210。
[0055]
在执行目标文本生成任务时,获得与目标文本生成任务相关联的目标输入文本141,该目标输入文本141与任务指示信息252和属性指示信息262一起被应用为任务特定文本生成模型140的输入,例如输入到编码器210。通过执行该任务特定文本生成模型140,可以由该任务特定文本生成模型140处理输入,并由例如解码器220提供输出。该输出是目标文本生成任务的目标输出文本142。目标文本生成任务的执行可以由任何电子设备,包括终端设备或服务端设备来实现。例如,目标文本生成任务的执行可以由电子设备130来实现,也可以由电子设备130之外的其他设备来实现。
[0056]
由于通用文本生成模型120的通用性,还可以针对更多目标文本生成任务来生成不同的任务特定文本生成模型。在各个任务特定文本生成模型的调整过程均类似于上文所述。由于通用文本生成模型120支持的多个任务类型232和多个输出文本属性242均是可控
的,这些任务类型和输出文本属性的各种组合可以用于满足不同文本生成任务的特定需求。
[0057]
图2示出的通用文本生成模型120对可控任务类型232和输出文本属性242的支持是通过预训练数据集,构建模型的总体目标函数来实现的。在一些化生寺李中,通用文本生成模型120还可以支持一个或多个输出文本属性,这些输出文本属性的支持是通过改造通用文本生成模型120的解码器220来实现的。图3示出了这样的示例实施例。
[0058]
在图3中,通用文本生成模型120还包括解码器220,用于使通用文本生成模型120支持另一可控输出文本属性集320,其包括一个或多个输出文本属性,例如输出文本属性322-1、输出文本属性322-2
……
输出文本属性322-p等等。为便于讨论,这些输出文本属性统称为或单独称为输出文本属性322。虽然图中被示出为多个,但输出文本属性322可以是单个。
[0059]
输出文本属性322用于控制通用文本生成模型120的输出文本中的局部内容的存在或不存在。在一些实施例中,输出文本属性322要求输出文本中要包括指定词语、短语和/或符号。在一些实施例中,输出文本属性322要求输出文本中不要包括指定词语、短语和/或符号。这样的输出文本属性322的具体属性值(例如,包括或不包括的词语、短语和/或符号)通常可以由用户指定。
[0060]
在预训练通用文本生成模型120时,除以上描述的针对多个任务类型232和多个输出文本属性322的预训练之外,还针对输出文本属性322执行预训练。对特定输出文本属性322的属性指示信息被提供作为编码器310的输入。编码器310处理特定输出文本属性322的属性指示信息,并将中间输出提供到解码器220,以促使解码器220生成符合输出文本属性322的输出文本。编码器310的中间输出可以影响解码器220的解码结果。例如,如果解码器220基于束搜索(beam search)来确定输出文本中的各个字符时,编码器310的中间输出可以用于控制解码器220在束搜索中选择的字符,从而控制输出文本能够满足输出文本属性322。在另一个示例中,编码器310的中间输出还可以控制解码器220的解码顺序,以从由输出文本属性322指定的词语、短语和/或符号开始执行解码,从而确保输出文本包括或不包括所知指定的词语、短语和/或符号。
[0061]
输出文本属性322对于通用文本生成模型120的输出文本具有更强的控制能力,适合部署需要严格满足的输出文本属性。在针对目标文本生成任务来调整通用文本生成模型120时,假设目标文本生成任务要求的目标输出文本属性被包括在可控输出文本属性集320中。在调整过程中,从可控输出文本属性集320确定目标文本生成任务所要求的一个或多个输出文本属性322。对一个或多个目标输出文本属性322的属性指示信息被应用为编码器310的输入。属性指示信息可以包括对输出文本属性322指定的内容的嵌入表示或向量化表示,例如特定词或语句被转换后的向量化表示。
[0062]
作为一个示例,假设目标文本生成任务是“对输入的文章,生成包含文章标题中的人名,并且长度小于50字且具有吸引力的摘要”。这个目标文本生成任务中,“包含文章标题中的人名”是对于输出文本中特定内容的指示,要求生成的摘要中必须要包括特定人名。因此,在调整通用文本生成模型120的过程中,指定输出文本要包括特定词的输出文本属性322,并且对输出文本属性322的属性指示信息也作为通用文本生成模型120的输入,被应用到编码器310。
[0063]
例如,针对“包含文章标题中的人名”的输出文本属性,在调整时要确定目标训练数据集的训练输入文本(例如,文章)的标题中的人名,并将人名转换为向量化表示以作为属性指示信息。在利用某个文章来训练通用文本生成模型120时,指示该文章的标题中的人名的向量化表示同时被输入到编码器310。通过训练数据集的训练,通用文本生成模型120能够学习到使输出文本满足由编码器310接收到的输入所指定的属性。
[0064]
在调整后,获得任务特定文本生成模型140。任务特定文本生成模型140的输入与在调整阶段通用文本生成模型120的输入相同。如图3所示,指示目标输出文本属性330的属性指示信息332(有时也称为第二属性指示信息)与任务指示信息252和属性指示信息262一起被输入到任务特定文本生成模型140,其中属性指示信息332被输入给编码器310,任务指示信息252和属性指示信息262被输入给编码器210。在任务特定文本生成模型140的应用中,属性指示信息332基于对目标输出文本属性330规定的具体内容(例如,具体指定的词、短语和/或符号)来确定。
[0065]
在上文讨论的示例实施例中,通用文本生成模型120支持的任务类型232、输出文本属性242和输出文本属性322均是在预训练阶段预先指定的。然而,在实际应用中对于文本生成任务的需求是多样化的,有些需求可能无法由预先指定的任务类型232、输出文本属性242和输出文本属性322来覆盖。在一些实施例中,还提出了在调整阶段对于通用文本生成模型120的扩展。图4示出了这样的示例实现。注意,图4中示出了基于图3的实施例的任务特定文本生成模型140。在其他实施例中,还可以在图2示出的任务特定文本生成模型140基础上实现扩展。
[0066]
如图4所示,在调整阶段,可以通过增加可扩展的目标输出文本属性410来生成任务特定文本生成模型140。目标输出文本属性410可以是特定目标文本生成任务要求输出文本满足的属性,但这个属性未被包括在通用文本生成模型120所支持的输出文本属性242和322中。在这种情况下,可以在通用文本生成模型120的结构中引入属性控制模型420。
[0067]
在一些实施例中,在属性控制模型420引入后,基于目标文本生成任务相关联的目标训练数据集,联合调整属性控制模型420和通用文本生成模型120来确定任务特定文本生成模型140。
[0068]
属性控制模型420被配置为控制解码器220能够输出具有目标输出文本属性410的输出文本,从而满足当前的目标文本生成任务对目标输出文本的要求。例如,假设目标文本生成任务是“对输入的文章,生成包含文章标题中的人名,并且长度小于50字、具有吸引力且情绪积极向上的摘要”,其中对输出摘要的情感倾向(即,“情绪积极向上”)的要求无法由图3所示的可控输出文本属性集240或320满足。在这种情况下,期望引入属性控制模型420,其能够满足输出文本在情感倾向方面的属性。
[0069]
属性控制模型420可以被预训练为能够引导输出具有目标输出文本属性410的文本生成任务。属性控制模型420的输入可以是编码器210的中间输出。属性控制模型420可以处理来自编码器210的中间输出,并基于处理结果来控制解码器220的解码过程,从而输出满足目标输出文本属性410的目标输出文本142。
[0070]
在一些实施例中,属性控制模型420可以被配置为属性分类器,其能够基于编码器210(在一些实施例中还包括编码器310)的中间输出来确定引导信息用于引导解码器220生成具有目标输出文本属性410的目标输出文本142。引导信息是一种分类信息,其指示目标
输出文本属性410的不同属性值。引导信息能够由解码器220在解码输出文本时使用,从而使得目标输出文本142满足特定目标输出文本属性410。例如,引导信息可以用于引导解码器220对于目标输出文本142中词语的选择,从而使得目标输出文本142具有“积极向上”的情感倾向。
[0071]
在一些实施例中,属性控制模型420可以被配置为与目标输出文本属性410对应的语言模型。由于解码器220本质上也是一种语言模型,属性控制模型420可以与解码器联合解码编码器的中间输出,以生成有目标输出文本属性410的目标输出文本142。例如,属性控制模型420的参数可以和解码器220的参数融合,基于融合后的参数来对编码器210(以及编码器310)的中间输出进行解码。
[0072]
在一些实施例中,根据目标文本生成任务的要求,可以引入通用文本生成模型120不支持的多个目标输出文本属性对应的属性控制模型。图4所提供的属性扩展使得通用文本生成模型120能够适应更多的文本生成任务需求。
[0073]
根据本公开的示例性实现方式,提供了一种实现文本生成的方法和一种用于文本生成的装置。
[0074]
图5示出了根据本公开的一些实施例的实现文本生成的方法500的流程图。方法500可以由图1的电子设备130实现。
[0075]
在框510,电子设备130从通用文本生成模型支持的多个任务类型中确定目标文本生成任务的目标任务类型。通用文本生成模型被预训练。
[0076]
在框520,电子设备130基于目标文本生成任务对目标输出文本的要求,从通用文本生成模型支持的多个输出文本属性中确定针对目标文本生成任务的至少一个第一目标输出文本属性。
[0077]
在框530,电子设备130通过将对目标任务类型的任务指示信息和对至少一个第一目标输出文本属性的第一属性指示信息作为通用文本生成模型的输入的至少一部分,基于与目标文本生成任务相关联的目标训练数据集来调整通用文本生成模型,以获得针对目标文本生成任务的任务特定文本生成模型。
[0078]
在一些实施例中,通用文本生成模型基于多个预训练数据集被预训练,多个预训练数据集分别包括与多个任务类型中的相应任务类型相关联的训练输入文本和训练输出文本。
[0079]
在一些实施例中,多个预训练数据集中的至少一个预训练数据集中的训练输出文本被标注有多个输出文本属性中的至少一个输出文本属性的不同属性值。
[0080]
在一些实施例中,通用文本生成模型至少包括接收输入文本的第一编码器和生成输出文本的解码器,任务指示信息和第一属性指示信息被输入到第一编码器。在一些实施例中,调整通用文本生成模型还包括:确定第二属性指示信息,第二属性指示信息指示针对目标文本生成任务的第二目标输出文本属性;以及还通过将第二属性指示信息应用为通用文本生成模型中的第二编码器的输入,基于目标训练数据集来调整通用文本生成模型。
[0081]
在一些实施例中,通用文本生成模型至少包括接收输入文本的第一编码器和基于第一编码器的中间输出来生成输出文本的解码器,任务指示信息和第一属性指示信息被输入到第一编码器。在一些实施例中,调整通用文本生成模型还包括:获得属性控制模型,属性控制模型被配置为基于第一编码器的中间输出来控制解码器输出具有第三目标输出文
本属性的目标输出文本,第三目标输出文本属性未被包括在多个输出文本属性中;以及联合地调整属性控制模型和通用文本生成模型。
[0082]
在一些实施例中,属性控制模型包括以下至少一项:属性分类模型,被配置为基于第一编码器的中间输出来确定引导信息用于引导解码器生成具有第三目标输出文本属性的目标输出文本,引导信息指示第三目标输出文本属性的不同属性值;以及语言模型,被配置为与解码器联合解码第一编码器的中间输出,以生成具有第三目标输出文本属性的目标输出文本。
[0083]
在一些实施例中,目标文本生成任务为第一目标文本生成任务,方法还包括:从多个任务类型中确定第二目标文本生成任务的第二目标任务类型;基于第二目标文本生成任务对目标输出文本的要求,从多个输出文本属性中确定针对第二目标文本生成任务的另一目标输出文本属性;以及通过将对第二目标任务类型的第二任务指示信息和对另一目标输出文本属性的另一属性指示信息作为通用文本生成模型的输入的至少一部分,基于与第二目标文本生成任务相关联的第二目标训练数据集来调整通用文本生成模型,以获得针对第二目标文本生成任务的另一任务特定文本生成模型。
[0084]
在一些实施例中,方法500还包括:获得针对目标文本生成任务的目标输入文本;将目标输入文本、任务指示信息和第一属性指示信息应用作为任务特定文本生成模型的输入;以及执行任务特定文本生成模型,以获得任务特定文本生成模型的输出作为目标文本生成任务的目标输出文本。
[0085]
图6示出了根据本公开的一些实施例的用于实现文本生成的装置600的示意性框图。装置600可以被包括在或者被实现为图1的电子设备130。
[0086]
如图6所示,装置600包括任务类型确定模块610,被配置为从通用文本生成模型支持的多个任务类型中确定目标文本生成任务的目标任务类型,通用文本生成模型被预训练。装置600还包括第一属性确定模块620,被配置为基于目标文本生成任务对目标输出文本的要求,从通用文本生成模型支持的多个输出文本属性中确定针对目标文本生成任务的至少一个第一目标输出文本属性。装置600还包括模型调整模块630,被配置为通过将对目标任务类型的任务指示信息和对至少一个第一目标输出文本属性的第一属性指示信息作为通用文本生成模型的输入的至少一部分,基于与目标文本生成任务相关联的目标训练数据集来调整通用文本生成模型,以获得针对目标文本生成任务的任务特定文本生成模型。
[0087]
在一些实施例中,通用文本生成模型基于多个预训练数据集被预训练,多个预训练数据集分别包括与多个任务类型中的相应任务类型相关联的训练输入文本和训练输出文本。
[0088]
在一些实施例中,多个预训练数据集中的至少一个预训练数据集中的训练输出文本被标注有多个输出文本属性中的至少一个输出文本属性的不同属性值。
[0089]
在一些实施例中,通用文本生成模型至少包括接收输入文本的第一编码器和生成输出文本的解码器,任务指示信息和第一属性指示信息被输入到第一编码器。装置600包括:第二属性确定模块,被配置为确定第二属性指示信息,第二属性指示信息指示针对目标文本生成任务的第二目标输出文本属性。模型调整模块630包括进一步调整模块,被配置为还通过将第二属性指示信息应用为通用文本生成模型中的第二编码器的输入,基于目标训练数据集来调整通用文本生成模型。
[0090]
在一些实施例中,通用文本生成模型至少包括接收输入文本的第一编码器和基于第一编码器的中间输出来生成输出文本的解码器,任务指示信息和第一属性指示信息被输入到第一编码器。在一些实施例中,模型调整模块630包括:扩展属性控制模块,被配置为获得属性控制模型,属性控制模型被配置为基于第一编码器的中间输出来控制解码器输出具有第三目标输出文本属性的目标输出文本,第三目标输出文本属性未被包括在多个输出文本属性中;以及联合调整模块,被配置为联合地调整属性控制模型和通用文本生成模型。
[0091]
在一些实施例中,属性控制模型包括以下至少一项:属性分类模型,被配置为基于第一编码器的中间输出来确定引导信息用于引导解码器生成具有第三目标输出文本属性的目标输出文本,引导信息指示第三目标输出文本属性的不同属性值;以及语言模型,被配置为与解码器联合解码第一编码器的中间输出,以生成具有第三目标输出文本属性的目标输出文本。
[0092]
在一些实施例中,目标文本生成任务为第一目标文本生成任务。装置600还包括:另外的任务类型确定模块,被配置为从多个任务类型中确定第二目标文本生成任务的第二目标任务类型;另外的属性确定模块,被配置为基于第二目标文本生成任务对目标输出文本的要求,从多个输出文本属性中确定针对第二目标文本生成任务的另一目标输出文本属性;以及另外的模型调整模块,被配置为通过将对第二目标任务类型的第二任务指示信息和对另一目标输出文本属性的另一属性指示信息作为通用文本生成模型的输入的至少一部分,基于与第二目标文本生成任务相关联的第二目标训练数据集来调整通用文本生成模型,以获得针对第二目标文本生成任务的另一任务特定文本生成模型。
[0093]
在一些实施例中,装置600还包括:文本获得模块,被配置为获得针对目标文本生成任务的目标输入文本;输入应用模块,被配置为将目标输入文本、任务指示信息和第一属性指示信息应用作为任务特定文本生成模型的输入;以及模型执行模块,被配置为执行任务特定文本生成模型,以获得任务特定文本生成模型的输出作为目标文本生成任务的目标输出文本。
[0094]
根据本公开的示例性实现方式,还提供了一种电子设备和一种可读存储介质。
[0095]
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备700可以用于实现或者被包括在图1的电子设备110或电子设备130中。
[0096]
如图所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序指令,来执行各种适当的动作和处理。在ram 703中,还可存储电子设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。应当理解,除总线外,电子设备700的各个部件还可以通过其他方式连接。
[0097]
电子设备700中的多个部件连接至i/o接口705。这些部件包括:输入单元706,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置等;输出单元707,例如各种类型的显示器设备(例如可以是触摸屏)、扬声器、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0098]
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如方法500。例如,在一些实施例中,方法500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到电子设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的方法500的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法500。
[0099]
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,包括计算机程序/计算机可执行指令,计算机程序/计算机可执行指令被处理器执行以实现上文描述的方法。在一些实现中,计算机程序产品可以被有形地存储在非瞬态计算机可读介质上。
[0100]
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0101]
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“计算机可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的计算机可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0102]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0103]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0104]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
[0105]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0106]
在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是机器可读信号介质或机器可读储存介质。计算机可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0107]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0108]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1