基于深度学习的诗歌生成方法、装置、设备及存储介质与流程

文档序号:18465727发布日期:2019-08-17 02:26阅读:251来源:国知局
基于深度学习的诗歌生成方法、装置、设备及存储介质与流程

本发明实施例涉及计算机技术领域,尤其涉及一种基于深度学习的诗歌生成方法、装置、设备及存储介质。



背景技术:

诗歌作为中华文化精髓的一部分,经过长时间的积累,产生了很多质量较高的古诗和现代诗等诗歌语料。随着深度学习技术的迅猛发展,基于深度学习的模型也被应用在诗歌创作上。深度学习模型通过学习现有的古诗或现代诗语料,学习它们的写作特征和方式,然后进行模仿、创作、再生成,从而实现自动生成诗歌的功能。

目前,基于深度学习的诗歌生成模型,采用逐句循环生成的方式生成诗歌,具体的,通过输入诗歌的主题信息或者诗歌的起始诗句,生成诗歌的下一句诗句,然后将生成的诗句作为下一次的输入,通过模型再次生成下一句,以此循环,直至得到完整的诗歌。通过这种逐句循环生成的方式生成的诗歌,诗歌中后一句诗句的产生仅仅依赖于前一句诗句的信息,一旦诗歌的句子数量较多时,后续生成的诗句会严重偏离主题信息,无法从整体上把握所生成诗歌的主题内容,生成诗歌的质量差。



技术实现要素:

本发明实施例提供一种基于深度学习的诗歌生成方法、装置、设备及存储介质,用以解决现有技术中通过这种逐句循环生成的方式生成的诗歌,诗歌中后一句诗句的产生仅仅依赖于前一句诗句的信息,一旦诗歌的句子数量较多时,后续生成的诗句会严重偏离主题信息,无法从整体上把握所生成诗歌的主题内容,生成诗歌的质量差的问题。

本发明实施例的一个方面是提供一种基于深度学习的诗歌生成方法,包括:

获取待生成诗歌的主题信息和诗歌类型;

将所述主题信息输入所述诗歌类型对应的诗歌生成模型中,生成包括多首诗歌的候选集,所述诗歌类型对应的诗歌生成模型是采用所述诗歌类型对应的训练语料对基于深度学习的transformer模型训练得到;

计算所述候选集中每首诗歌的质量系数;

根据所述质量系数,确定所述候选集中的至少一首诗歌。

本发明实施例的另一个方面是提供一种基于深度学习的诗歌生成装置,包括:

数据获取模块,用于获取待生成诗歌的主题信息和诗歌类型;

诗歌生成模块,用于将所述主题信息输入所述诗歌类型对应的诗歌生成模型中,生成包括多首诗歌的候选集,所述诗歌类型对应的诗歌生成模型是采用所述诗歌类型对应的训练语料对基于深度学习的transformer模型训练得到;

质量筛选模块,用于:计算所述候选集中每首诗歌的质量系数;根据所述质量系数,确定所述候选集中的至少一首诗歌。

本发明实施例的另一个方面是提供一种基于深度学习的诗歌生成设备,包括:

存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,

所述处理器运行所述计算机程序时实现上述所述的基于深度学习的诗歌生成方法。

本发明实施例的另一个方面是提供一种计算机可读存储介质,存储有计算机程序,

所述计算机程序被处理器执行时实现上述所述的基于深度学习的诗歌生成方法。

本发明实施例提供的基于深度学习的诗歌生成方法、装置、设备及存储介质,通过预先根据各诗歌类型对应的训练语料,对基于深度学习的transformer模型训练,得到各诗歌类型对应的诗歌生成模型;在使用时,获取待生成诗歌的主题信息和诗歌类型;将所述主题信息输入所述诗歌类型对应的诗歌生成模型中,诗歌生成模型用于根据主题信息直接生成完整的诗歌,得到包括多首诗歌的候选集,能够从整体上把握所生成诗歌的主题内容,提高生成诗歌的质量;进一步地,通过计算所述候选集中每首诗歌的质量系数;针对不同诗歌类型设定不同的筛选策略,根据所述质量系数从所述候选集中筛选出质量最高且与主题信息关联最强的至少一首诗歌,进一步提高了生成诗歌的质量。

附图说明

图1为本发明实施例一提供的基于深度学习的诗歌生成方法流程图;

图2为本发明实施例二提供的基于深度学习的诗歌生成方法流程图;

图3为本发明实施例二提供的主题词提取的规则示意图;

图4为本发明实施例二提供的各诗歌类型的格式限制示意图;

图5为本发明实施例三提供的基于深度学习的诗歌生成装置的结构示意图;

图6为本发明实施例四提供的基于深度学习的诗歌生成装置的结构示意图;

图7为本发明实施例五提供的基于深度学习的诗歌生成设备的结构示意图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。

首先对本发明实施例所涉及的名词进行解释:

序列到序列(sequencetosequence,seq2seq)的编码解码框架:由一个编码器(encoder)和一个解码器(decoder)组成,输入经过编码器被编码为可以代表输入信息的一个向量,随后该向量被送入到解码器,在不同时刻结合已经解码出的序列预测下一个词。其中encoder和decoder的形式可以由循环神经网络(recurrentneuralnetwork,rnn),卷积神经网络(convolutionneuralnetwork,cnn),transformer等来实现。自从序列到序列(sequencetosequence,seq2seq)的编码解码框架提出后,在自然语言处理(naturallanguageprocess,nlp)的各个任务上都得到了广泛的应用,如机器翻译、对话系统、问答系统、摘要生成等经典任务。

transformer模型:是于2017年6月发布在arxiv.org上的一篇文章《attentionisallyouneed》中提出的解决sequencetosequence问题的模型。

不等概率抽样:是指在抽取样本之前给总体的每一个单元赋予一定的被抽中概率。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

实施例一

图1为本发明实施例一提供的基于深度学习的诗歌生成方法流程图。本发明实施例针对现有技术中通过这种逐句循环生成的方式生成的诗歌,诗歌中后一句诗句的产生仅仅依赖于前一句诗句的信息,一旦诗歌的句子数量较多时,后续生成的诗句会严重偏离主题信息,无法从整体上把握所生成诗歌的主题内容,生成诗歌的质量差的问题,提供了基于深度学习的诗歌生成方法。

本发明实施例提供的基于深度学习的诗歌生成方法应用于基于深度学习的诗歌生成设备,该设备可以是智能手机、平板电脑、智能机器人、智能音箱等终端设备,在其他实施例中,该方法还可应用于其他设备,本实施例以终端设备为例进行示意性说明。

如图1所示,该方法具体步骤如下:

步骤s101、获取待生成诗歌的主题信息和诗歌类型。

其中,待生成诗歌的主题信息包括至少一个主题词,诗歌类型至少包括:五言绝句、七言绝句、五言藏头诗、七言藏头诗、宋词、现代文艺诗和儿童诗,诗歌类型还可以包括已有的任意一种诗歌的类型,本实施例此处不再一一列举。

本实施例中,待生成诗歌的主题信息通常由用户指定,终端设备通过接收用户输入的主题信息来得到待生成诗歌的主题信息。

本实施例的一种实施方式中,用户还可以指定待生成诗歌的诗歌类型。终端设备通过接收用户输入的诗歌类型来得到待生成诗歌的诗歌类型。

本实施例的另一实施方式中,用户未指定待生成诗歌的诗歌类型,终端设备可以根据待生成诗歌的主题信息的特性,智能地选择一种诗歌类型,作为待生成诗歌的诗歌类型。

具体的,该步骤可以采用如下方式实现:

接收用户输入的主题信息;获取各诗歌类型的预设抽样概率;根据主题信息所包含的主题词,调整各诗歌类型的抽样概率;根据各诗歌类型的抽样概率,抽样确定待生成诗歌的诗歌类型。

其中,预设抽样概率是预先为各个诗歌类型设定的初始的抽样概率。不同诗歌类型的预设抽样概率可以相等也可以不相等。

可选的,可以设定各个诗歌类型的预设抽样概率均相等,也就是说,在未跟进主题信息所包含的主题词调整各诗歌类型的抽样概率之前,各诗歌类型的抽样概率均相等。

进一步地,根据主题信息所包含的主题词,调整各诗歌类型的抽样概率,至少包括:

若确定主题信息所包含的主题词均为现代汉语词汇,则增加现代诗和儿童诗的抽样概率,同时减少其他诗歌类型的抽样概率。若确定主题信息所包含的主题词为预设数量的一元词,则增加总句数为预设数量的藏头诗的抽样概率,同时减少其他诗歌类型的抽样概率。

其中,现代汉语词汇是指只出现在现代汉语词典中的词汇。预设数量是指藏头诗的总句数要求。

例如,假设主题信息包含的主题词为“妈妈”,“太阳”,这些主题词只出现在现代汉语词典中,均是现代汉语词汇,依据这些主题词更适合生成现代诗和儿童诗,因此,终端设备在确定待生成诗歌的诗歌类型之前,增加现代诗和儿童诗的抽样概率,同时减少其他诗歌类型的抽样概率,从而使得抽样得到现代诗和儿童诗的概率增大。

再如,对于总句数为4的藏头诗的来说,只有主题词是四个一元词(单个字构成的词)才适合生成藏头诗,因此,终端设备可以增加总句数为4的藏头诗的抽样概率,同时减少其他诗歌类型的抽样概率,从而使得抽样得到总句数为4的藏头诗的概率增大。

本实施例通过根据待生成诗歌的主题信息的特性,智能地选择一种诗歌类型,作为待生成诗歌的诗歌类型,使得诗歌的生成更有灵活性和趣味性。

步骤s102、将主题信息输入诗歌类型对应的诗歌生成模型中,生成包括多首诗歌的候选集,诗歌类型对应的诗歌生成模型是采用诗歌类型对应的训练语料对基于深度学习的transformer模型训练得到。

本实施例中,终端设备预先训练得到各个诗歌类型对应的诗歌生成模型。在确定待生成诗歌的诗歌类型后,终端设备选取待生成诗歌的诗歌类型对应的诗歌生成模型,将主题信息输入该诗歌生成模型,通过该诗歌生成模型生成包括多首诗歌的候选集,候选集中的诗歌为根据主题信息生成完整的诗歌。

某一诗歌类型对应的诗歌生成模型是采用该诗歌类型对应的训练语料对基于深度学习的transformer模型训练得到。不同是诗歌类型对应的诗歌生成模型,在进行模型训练时采用的训练语料不同。

终端设备首先获取各个诗歌类型对应的训练语料,然后采用任意一种诗歌类型对应的训练语料对transformer模型训练得到该诗歌类型对应的诗歌生成模型。

其中,基于深度学习的transformer模型是基于seq2seq框架的transformer模型,模型的输入为包含至少一个主题词的主题信息,输出为完整的诗歌。该transformer模型的编码器和解码器均为6层,每个self-attention都有8个头,输入词向量和输出词向量均为512维,feedforward层的向量为2048维,并且引入了基于位置的编码。

步骤s103、计算候选集中每首诗歌的质量系数。

通过诗歌类型对应的诗歌生成模型生成候选集后,计算候选集中每首诗歌的质量系数,以便于后续根据质量系数从候选集中筛选出质量较优的诗歌,作为最终生成的诗歌。

本实施例中,诗歌的质量系数至少包括:诗歌与主题信息的关联系数、和诗歌的字重复度。

其中,关联系数为该诗歌中出现的主题信息包含主题词的数量占主题信息包含的主题词的总数的比例。关联系数能够很好地体现诗歌与主题信息的关联程度,关联系数越高,说明诗歌与主题信息的关联程度越高。

诗歌的字重复度=该诗歌中出现的不同的字的个数/该诗歌的总字数。诗歌的字重复度能够体现诗歌的质量好坏,诗歌的字重复度越低,说明诗歌的质量越好。

另外,诗歌的质量系数还可以包括:诗歌的总句数、总长度、句长等等,诗歌的质量系数还可以包括其他能够体现诗歌质量的信息,本实施例此处不做具体限定。

步骤s104、根据质量系数,确定候选集中的至少一首诗歌。

该步骤中,根据候选集中每首诗歌的与主题信息的关联系数和字重复度,确定候选集中的至少一首诗歌。

示例性地,可以针对各诗歌类型预先设定对应的总句数范围、总长度范围和句长范围。该步骤中,根据待生成诗歌的诗歌类型对应的总句数范围、总长度范围和句长范围,以及候选集中每首诗歌的总句数、总长度、句长,对候选集中的诗歌进行筛选,将总句数不在对应的总句数范围内,总长度不在对应的总长度范围内,以及句长不在对应的句长范围内的诗歌从候选集中去除;然后,根据候选集中每首诗歌的与主题信息的关联系数和字重复度,确定候选集中的至少一首诗歌。

示例性地,根据候选集中每首诗歌的与主题信息的关联系数和字重复度,确定候选集中的至少一首诗歌,可以采用如下方式实现:

可以针对各诗歌类型预先设定对应的关联系数阈值,根据候选集中每首诗歌的与主题信息的关联系数,从候选集中去掉与主题信息的关联系数小于对应的关联系数阈值的诗歌;然后对候选集中剩余诗歌根据字重复度进行排序,确定字重复度最高的至少一首诗歌作为最终生成的诗歌。

示例性地,根据候选集中每首诗歌的与主题信息的关联系数和字重复度,确定候选集中的至少一首诗歌,还可以采用如下方式实现:

对候选集中的诗歌根据与主题信息的关联系数进行排序,对候选集进行筛选,保留与主题信息的关联系数最高的第一数量的诗歌;然后对候选集中剩余诗歌根据字重复度进行排序,确定字重复度最高的第二数量的诗歌作为最终生成的诗歌。其中,第二数量小于第一数量,第一数量和第二数量的值可以由技术人员根据实际需要进行设定,本实施例此处不做具体限定。

本实施例中,综合候选集中每首诗歌的质量系数,采用预设的筛选策略,确定候选集中的至少一首诗歌,预设的筛选策略可以由技术人员根据实际应用场景和经验进行设定,本实施例此处不做具体限定。

本发明实施例通过预先根据各诗歌类型对应的训练语料,对基于深度学习的transformer模型训练,得到各诗歌类型对应的诗歌生成模型;在使用时,获取待生成诗歌的主题信息和诗歌类型;将主题信息输入诗歌类型对应的诗歌生成模型中,诗歌生成模型用于根据主题信息直接生成完整的诗歌,得到包括多首诗歌的候选集,能够从整体上把握所生成诗歌的主题内容,提高生成诗歌的质量;进一步地,通过计算候选集中每首诗歌的质量系数;针对不同诗歌类型设定不同的筛选策略,根据质量系数从候选集中筛选出质量最高且与主题信息关联最强的至少一首诗歌,进一步提高了生成诗歌的质量。

实施例二

图2为本发明实施例二提供的基于深度学习的诗歌生成方法流程图;图3为本发明实施例二提供的主题词提取的规则示意图;图4为本发明实施例二提供的各诗歌类型的格式限制示意图。在上述实施例一的基础上,本实施例中,将主题信息输入诗歌类型对应的诗歌生成模型中,生成包括多首诗歌的候选集之前,还包括:获取各诗歌类型对应的第一训练语料;采用任意一种诗歌类型对应的第一训练语料,对基于深度学习的transformer模型进行模型训练,得到该诗歌类型对应的诗歌生成模型。如图2所示,该方法具体步骤如下:

步骤s201、获取各诗歌类型对应的第一训练语料。

本实施例中,某一诗歌类型对应的第一训练语料包括该诗歌类型对应的诗歌作品的训练语料。

具体的,获取各诗歌类型对应的第一训练语料,具体可以采用如下方式实现:

针对任意一种诗歌类型,获取该诗歌类型对应的诗歌作品作为原始语料;提取原始语料中每个诗歌作品的主题词;根据原始语料中每个诗歌作品的主题词,生成每个诗歌作品的训练语料,每一条训练语料包括一个诗歌作品和该诗歌作品的主题信息,该诗歌作品的主题信息包括该诗歌作品的至少一个主题词;该诗歌类型对应的第一训练语料包括该诗歌类型对应的诗歌作品的训练语料。

其中,在提取原始语料中每个诗歌作品的主题词时,针对不同的诗歌类型,可以采用不同的主题词提取方法。另外,各个诗歌类型对应的主题词提取方法可以由技术人员根据实际应用场景和经验进行设定,本实施例此处不做具体限定。

具体的,如图3所示,对于藏头诗(包括五言藏头诗,七言藏头诗,等等),直接提取每句诗的第一个字作为主题词。对于除藏头诗外的其他古诗词(包括五言绝句,七言绝句,宋词,等等),则可以获取诗歌作品中所有的一元词和二元词,去除其中的生僻字和繁体字,统计剩余的一元词和二元词出现的频数,根据一元词和二元词的词性和预设的意象词汇库,提取出所有的一元词和二元词中频数较高的意象词、名词和形容词,作为主题词。对于现代诗和儿童诗,采用分词工具对诗歌作品进行分词,通统计各个词在诗歌作品中出现的频数,筛选出频数较高的名词、形容词和动词,作为主题词。

其中,意象词是指预设的意象词汇库中所包含的词。

示例性地,在获取诗歌类型对应的诗歌作品时,对于五言绝句、七言绝句、五言藏头诗、七言藏头诗、宋词等古诗词类型,可以从现有的古诗词库中获取对应诗歌类型的诗歌作品。对于现代诗、儿童诗等,则可以从现代诗、或者儿童诗的文学网站等上爬取网络数据。本实施例中对于获取该诗歌类型对应的原始语料的方式不做具体限定。

本实施例中,每一条训练语料包括一个诗歌作品和该诗歌作品的主题信息,该诗歌作品的主题信息包括该诗歌作品的至少一个主题词。

某一诗歌类型的诗歌可能对应多个主题词,本实施例中引入数据增强方法,针对一首诗歌构建多个训练语料,增强每个主题词与诗歌的联系。例如,对于“床前明月光,疑是地上霜。举头望明月,低头思故乡。”假设这首诗提取出的主题词包括“明月”,“霜”,“故乡”这3个主题词;那么,生成的训练语料可以包括由这些主题词的任意一种排列组合得到的主题信息与该诗歌组成的训练语料。

步骤s202、采用任意一种诗歌类型对应的第一训练语料,对基于深度学习的transformer模型进行模型训练,得到该诗歌类型对应的诗歌生成模型。

本实施例中,针对任意一种诗歌类型,可以采用该诗歌类型对应的第一训练语料,对基于深度学习的transformer模型进行模型训练,得到该诗歌类型对应的诗歌生成模型。

其中,基于深度学习的transformer模型是基于seq2seq框架的transformer模型,模型的输入为包含至少一个主题词的主题信息,输出为完整的诗歌。该transformer模型的编码器和解码器均为6层,每个self-attention都有8个头,输入词向量和输出词向量均为512维,feedforward层的向量为2048维,并且引入了基于位置的编码。

本实施例的另一实施方式中,若某一诗歌类型对应的诗歌作品很少,也就是该诗歌类型对应的原始语料很少时,为了提高训练得到的该诗歌类型对应的诗歌生成模型的质量,引入模型迁移的方法,首先获取该诗歌类型对应的第二训练语料,第二训练语料包括该诗歌类型对应的除诗歌作品外的其他文学作品的训练语料;采用该诗歌类型对应的第二训练语料,对基于深度学习的transformer模型进行预训练,得到该诗歌类型对应的初始模型;然后,采用该诗歌类型对应的第一训练语料,对初始模型进行模型训练,得到该诗歌类型对应的诗歌生成模型。

示例性地,对于儿童诗,儿童诗的诗歌作品很少,可以从儿童文学网站等爬取小学生作文等除儿童诗之外的儿童文学作品;提取每个文学作品的主题词;根据每个文学作品的主题词,生成每个文学作品的训练语料,每一条训练语料包括一个文学作品和该文学作品的主题信息,该文学作品的主题信息包括该文学作品的至少一个主题词;儿童诗对应的第二训练语料包括儿童诗对应的除儿童诗之外的文学作品的训练语料。

本实施方式通过引入迁移学习技术来进行缺乏训练语料的儿童诗对应的诗歌生成模型的训练,防止过拟合,通过在大量的儿童作文上进行预训练并在少量的儿童诗上训练来获得较好的儿童诗创作效果。

步骤s203、获取待生成诗歌的主题信息和诗歌类型。

该步骤与上述步骤s101一致,本实施例此处不再赘述。

步骤s204、将主题信息输入诗歌类型对应的诗歌生成模型中,生成包括多首诗歌的候选集,诗歌类型对应的诗歌生成模型是采用诗歌类型对应的训练语料对基于深度学习的transformer模型训练得到。

该步骤与上述步骤s102一致,本实施例此处不再赘述。

本实施例中,由于不同的诗歌类型对应不同的格式限制,如图4所示,图4中仅以五言藏头诗和七言藏头诗均包括4个诗句为例,对藏头诗的格式要求进行举例说明,本实施例中五言藏头诗和七言藏头诗还可以包括8个诗句等等,本实施例中对于藏头诗的总句数不做具体限定。

对于平仄韵律,以及不同词牌名对应的格式(不同的词牌名可能有不同的句数,每句话的字数也有要求),以及藏头诗的藏头字等特殊格式的要求,通过模型训练无法准确学习到这些格式规则。

为了使得生成的诗歌能够准确地符合对应诗歌类型的格式规则,作为一种优选地实施方式,该步骤中,将主题信息输入诗歌类型对应的诗歌生成模型中之后,在进行每一步解码之前,根据诗歌类型的格式要求,修改诗歌生成模型的解码器,以使解码得到诗歌符合诗歌类型的格式要求。

具体的,修改transformer的解码器,在每一步解码时只在符合格式的字表里进行采样生成,从而保证格式的要求。

例如,对宋词的词牌名“浣溪沙”,假设其格式要求为,共6句,每句7个字,即必须在解码的第24和第48个位置时,必须是标点符号“。”,因此我们可以在这些位置解码时,只给符号“。”以概率,其他字符的概率都为0,这样就能保证生成的诗歌符合该词牌名要求的格式。同理,该方法也可用于平仄韵律的格式要求,在要求平声的对应位置只赋予平声的那些字概率,其他仄声的字概率为0;在要求仄声的对应位置只赋予仄声的那些字概率,其他平声的字概率为0。

另外,为了保证生成的诗歌的多样性,在进行每一步解码时按概率采样输出。

步骤s205、计算候选集中每首诗歌的质量系数。

该步骤与上述步骤s104一致,本实施例此处不再赘述。

步骤s206、根据质量系数,确定候选集中的至少一首诗歌。

该步骤与上述步骤s105一致,本实施例此处不再赘述。

本发明实施例通过预先根据各诗歌类型对应的训练语料,对基于深度学习的transformer模型训练,得到各诗歌类型对应的诗歌生成模型;在使用时,获取待生成诗歌的主题信息和诗歌类型;将主题信息输入诗歌类型对应的诗歌生成模型中,诗歌生成模型用于根据主题信息直接生成完整的诗歌,得到包括多首诗歌的候选集,能够从整体上把握所生成诗歌的主题内容,提高生成诗歌的质量;进一步地,通过将主题信息输入诗歌类型对应的诗歌生成模型中之后,在进行每一步解码之前,根据诗歌类型的格式要求,修改诗歌生成模型的解码器,以使解码得到诗歌符合诗歌类型的格式要求,进一步提高了生成诗歌的质量。

实施例三

图5为本发明实施例三提供的基于深度学习的诗歌生成装置的结构示意图。本发明实施例提供的基于深度学习的诗歌生成装置可以执行基于深度学习的诗歌生成方法实施例提供的处理流程。如图5所示,该基于深度学习的诗歌生成装置30包括:数据获取模块301,诗歌生成模块302和质量筛选模块303。

具体地,数据获取模块301用于获取待生成诗歌的主题信息和诗歌类型。

诗歌生成模块302用于将主题信息输入诗歌类型对应的诗歌生成模型中,生成包括多首诗歌的候选集,诗歌类型对应的诗歌生成模型是采用诗歌类型对应的训练语料对基于深度学习的transformer模型训练得到。

质量筛选模块303用于:计算候选集中每首诗歌的质量系数;根据质量系数,确定候选集中的至少一首诗歌。

本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过预先根据各诗歌类型对应的训练语料,对基于深度学习的transformer模型训练,得到各诗歌类型对应的诗歌生成模型;在使用时,获取待生成诗歌的主题信息和诗歌类型;将主题信息输入诗歌类型对应的诗歌生成模型中,诗歌生成模型用于根据主题信息直接生成完整的诗歌,得到包括多首诗歌的候选集,能够从整体上把握所生成诗歌的主题内容,提高生成诗歌的质量;进一步地,通过计算候选集中每首诗歌的质量系数;针对不同诗歌类型设定不同的筛选策略,根据质量系数从候选集中筛选出质量最高且与主题信息关联最强的至少一首诗歌,进一步提高了生成诗歌的质量。

实施例四

图6为本发明实施例四提供的基于深度学习的诗歌生成装置的结构示意图。在上述实施例三的基础上,本实施例中,如图6所示,该基于深度学习的诗歌生成装置30还包括:模型训练模块304。

模型训练模块304用于:

获取各诗歌类型对应的第一训练语料;采用任意一种诗歌类型对应的第一训练语料,对基于深度学习的transformer模型进行模型训练,得到该诗歌类型对应的诗歌生成模型。

可选的,诗歌生成模块302还用于:

将主题信息输入诗歌类型对应的诗歌生成模型中之后,在进行每一步解码之前,根据诗歌类型的格式要求,修改诗歌生成模型的解码器,以使解码得到诗歌符合诗歌类型的格式要求。

可选的,模型训练模块304还用于:

针对任意一种诗歌类型,获取该诗歌类型对应的诗歌作品作为原始语料;提取原始语料中每个诗歌作品的主题词;根据原始语料中每个诗歌作品的主题词,生成每个诗歌作品的训练语料,每一条训练语料包括一个诗歌作品和该诗歌作品的主题信息,该诗歌作品的主题信息包括该诗歌作品的至少一个主题词;该诗歌类型对应的第一训练语料包括该诗歌类型对应的诗歌作品的训练语料。

可选的,模型训练模块304还用于:

获取该诗歌类型对应的第二训练语料,第二训练语料包括该诗歌类型对应的除诗歌作品外的其他文学作品的训练语料;采用该诗歌类型对应的第二训练语料,对基于深度学习的transformer模型进行预训练,得到该诗歌类型对应的初始模型;采用该诗歌类型对应的第一训练语料,对初始模型进行模型训练,得到该诗歌类型对应的诗歌生成模型。

可选的,质量筛选模块303还用于:

对于任意一首诗歌,根据主题信息所包含的主题词,计算该诗歌与主题信息的关联系数,关联系数为该诗歌中出现的主题信息包含主题词的数量占主题信息包含的主题词的总数的比例;计算该诗歌的字重复度,字重复度=该诗歌中出现的不同的字的个数/该诗歌的总字数。

可选的,质量筛选模块303还用于:

根据候选集中每首诗歌的与主题信息的关联系数和字重复度,确定候选集中的至少一首诗歌。

可选的,数据获取模块301还用于:

接收用户输入的主题信息和诗歌类型;

或者,

接收用户输入的主题信息;获取各诗歌类型的预设抽样概率;根据主题信息所包含的主题词,调整各诗歌类型的抽样概率;根据各诗歌类型的抽样概率,抽样确定待生成诗歌的诗歌类型。

可选的,数据获取模块301还用于:

若确定主题信息所包含的主题词均为现代汉语词汇,则增加现代诗和儿童诗的抽样概率,同时减少其他诗歌类型的抽样概率;若确定主题信息所包含的主题词为预设数量的一元词,则增加总句数为预设数量的藏头诗的抽样概率,同时减少其他诗歌类型的抽样概率。

本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过预先根据各诗歌类型对应的训练语料,对基于深度学习的transformer模型训练,得到各诗歌类型对应的诗歌生成模型;在使用时,获取待生成诗歌的主题信息和诗歌类型;将主题信息输入诗歌类型对应的诗歌生成模型中,诗歌生成模型用于根据主题信息直接生成完整的诗歌,得到包括多首诗歌的候选集,能够从整体上把握所生成诗歌的主题内容,提高生成诗歌的质量;进一步地,通过将主题信息输入诗歌类型对应的诗歌生成模型中之后,在进行每一步解码之前,根据诗歌类型的格式要求,修改诗歌生成模型的解码器,以使解码得到诗歌符合诗歌类型的格式要求,进一步提高了生成诗歌的质量。

实施例五

图7为本发明实施例五提供的基于深度学习的诗歌生成设备的结构示意图。如图7所示,该设备70包括:处理器701,存储器702,以及存储在存储器702上并可由处理器701执行的计算机程序。

处理器701在执行存储在存储器702上的计算机程序时实现上述任一方法实施例提供的基于深度学习的诗歌生成方法。

本发明实施例通过预先根据各诗歌类型对应的训练语料,对基于深度学习的transformer模型训练,得到各诗歌类型对应的诗歌生成模型;在使用时,获取待生成诗歌的主题信息和诗歌类型;将主题信息输入诗歌类型对应的诗歌生成模型中,诗歌生成模型用于根据主题信息直接生成完整的诗歌,得到包括多首诗歌的候选集,能够从整体上把握所生成诗歌的主题内容,提高生成诗歌的质量;进一步地,通过计算候选集中每首诗歌的质量系数;针对不同诗歌类型设定不同的筛选策略,根据质量系数从候选集中筛选出质量最高且与主题信息关联最强的至少一首诗歌,进一步提高了生成诗歌的质量。

另外,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例提供的基于深度学习的诗歌生成方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1