一种文本生成方法及装置与流程

文档序号:16263336发布日期:2018-12-14 21:45阅读:130来源:国知局
本发明实施例涉及自然语言处理领域,尤其涉及一种文本生成方法及装置。
背景技术
:使用计算机来自动生成文本如生成诗词、歌词、对话等的技术,属于自然语言处理领域,主要是以计算机语言学、人工智能、深度学习等技术为基础,来研究和模拟人类生成自然语言文本的过程和方法。诗歌是人类语言的结晶,具有格律、对仗、押韵等特点,而藏头诗是诗歌中一种特殊形式的诗体,它以每句诗的头一个字嵌入你要表达的内容中的一个字,藏头诗涵义深、品位高、价值重。随着计算机语言学、人工智能以及深度学习的快速发展,目前常使用神经网络(neuralnetworks,nn)作为编码器(encoder)和解码器(decoder)的seq2seq(sequencetosequence,序列到序列)模型来生成文本。由于seq2seq模型是基于概率分布来生成文本中的每一句文字序列的,所以必然存在的一个问题就是往往通过该seq2seq模型直接生成的文本都是不押韵的,这极大影响了生成的文本的美感。可见,现有的生成文本的方法不够合理,生成效果不好。技术实现要素:有鉴于此,本发明实施例提供一种文本生成方法及装置,本发明实施例的一个目的在于通过将文本生成模型和预设的押韵规则相结合,来生成预设的韵母对应的押韵的文本。为达到上述目的,本发明实施例主要提供如下技术方案:第一方面,本发明实施例提供一种文本生成方法,包括:获得关键词和待生成的目标文本所对应的题目,其中,所述关键词为所述待生成的目标文本中的每一句文字序列的首字所组成的文字序列中的一部分;基于所述关键词和所述题目,通过预先训练的文本生成模型,生成所述待生成的目标文本中的第一句文字序列;至少基于所述第一句文字序列和预设的韵母,通过所述文本生成模型,按照预设的押韵规则,生成所述待生成的目标文本中除所述第一句文字序列以外的其它文字序列;按照生成所述第一句文字序列和所述其它文字序列的先后顺序,将所述第一句文字序列和所述其它文字序列进行组合,获得押韵的目标文本。第二方面,本发明实施例提供一种文本生成装置,包括:第一获得单元、第一生成单元、第二生成单元以及第二获得单元,其中,所述第一获得单元,用于获得关键词和待生成的目标文本所对应的题目,其中,所述关键词为所述待生成的目标文本中的每一句文字序列的首字所组成的文字序列中的一部分;所述第一生成单元,用于基于所述关键词和所述题目,通过预先训练的文本生成模型,生成所述待生成的目标文本中的第一句文字序列;所述第二生成单元,用于至少基于所述第一句文字序列和预设的韵母,通过所述文本生成模型,按照预设的押韵规则,生成所述待生成的目标文本中除所述第一句文字序列以外的其它文字序列;所述第二获得单元,用于按照生成所述第一句文字序列和所述其它文字序列的先后顺序,将所述第一句文字序列和所述其它文字序列进行组合,获得押韵的目标文本。第三方面,本发明实施例提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述文本生成方法。第四方面,本发明实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述文本生成方法。本发明实施例提供的一种文本生成方法及装置,在获得关键词和待生成的目标文本所对应的题目后,其中,关键词为待生成的目标文本中的每一句文字序列的首字所组成的文字序列中的一部分,首先会基于关键词和题目,通过预先训练的文本生成模型,生成待生成的目标文本中的第一句文字序列。然后会至少基于第一句文字序列和预设的韵母,通过文本生成模型,按照预设的押韵规则,生成待生成的目标文本中除第一句文字序列以外的其它文字序列;最后,按照生成第一句文字序列和其它文字序列的先后顺序,将第一句文字序列和其它文字序列进行组合,就可以获得所需的押韵的目标文本。这样,由于所获得的待生成的目标文本中除第一句文字序列以外的其它文字序列,是根据预设的韵母按照预设的押韵规则来押韵生成的,从而,该其它文字序列是以预设的韵母押韵的,那么,通过第一句文字序列和该其它文字序列所生成的目标文本就是押韵的。如此,改善了生成文本的效果,提高了用户体验。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本发明实施例一中的文本生成方法的流程示意图;图2为本发明实施例二中的文本生成系统的示意图;图3为本发明实施例二中的文本生成方法的流程示意图;图4为本发明实施例三中的文本生成装置的结构示意图;图5为本发明实施例四中的电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。实施例一本发明实施例提供一种文本生成方法,该文本生成方法可以应用于各种需要进行生成押韵的文本的场合,如生成押韵的藏头诗、生成押韵的歌词、生成押韵的演讲稿等。图1为本发明实施例一中的文本生成方法的流程示意图,参见图1所示,该文本生成方法包括:s101:获得关键词和待生成的目标文本所对应的题目;其中,关键词为待生成的目标文本中的每一句文字序列的首字所组成的文字序列中的一部分,题目为待生成的目标文本的名称。在实施过程中,该关键词可以是用户在用户界面中直接输入的文字信息,如“小花真美”,也可以是从某一张图片中提取的文字信息,当然,还可以通过其他方式来获得该关键词,如根据用户的语音信息提取的文字信息,这里,本发明实施例不做具体限定。在实际应用中,该关键词的字数可以根据待生成的目标文本的文本类型所对应的句数来确定。这里,待生成的目标文本的文本类型可以预先设定,也可以由用户操作来确定。其中,待生成的目标文本的文本类型可以为五言绝句、五言律诗、七言绝句、卜算子、如梦令、浣溪沙等。示例性地,当待生成的目标文本的文本类型为五言绝句时,该关键词的字数小于或者等于4;当待生成的目标文本的文本类型为七言律诗时,该关键词的字数小于或者等于8;当待生成的目标文本的文本类型为词牌名是浣溪沙的词时,该该关键词的字数小于或者等于6。当然,该关键词的字数也可以是由用户根据需要来设定。在实际应用中,该题目可以是在预先设置的题目库中,随机自动选择的一个题目,如“卜算子·咏梅”、“登鹳雀楼”等,也可以是用户输入的文字信息,如“某一天”、“初次相遇”等,当然,还可以通过其他方式来获得该题目,如从预先存储的题目库中,根据该关键字的字数匹配一个题目,这里,本发明实施例不做具体限定。示例性地,当用户想要生成一个押韵的目标文本,如押韵的藏头诗时,用户可以直接输入需要藏在目标文本中的关键词,然后生成文本的服务器收到用户输入的关键词后,服务器可以从题目库中选择一个题目作为该目标文本的名称,这样,就可以获得该关键词和题目。以便根据该关键词和题目生成对应的押韵的目标文本。在本发明另一实施例中,当目标文本的类型为诗歌时,可以将古诗作为语料来训练seq2seq模型,以获得能够生成押韵的藏头诗的文本生成模型,那么,在上述s101之前,上述文本生成方法还包括:从预先存储的古诗库中,获取古诗;利用古诗的题目、古诗中的第一句以及第一句中的第一个字作为语料,训练得到第一seq2seq模型;利用古诗中的每一句及其对应的第一个字作为语料,训练得到第二seq2seq模型;利用古诗中的每一句作为语料,训练得到第三seq2seq模型;将第一seq2seq模型、第二seq2seq模型和第三seq2seq模型,确定为文本生成模型。在具体实施过程中,首先,可以使用古诗的题目、古诗中的第一句以及第一句中的第一个字作为语料,训练出第一seq2seq模型,这样,就可以将所获得的关键词中的第一个字和题目输入到该第一seq2seq模型中来生成第一句诗;然后,使用古诗中的每一句及其对应的第一个字作为语料,训练出第二seq2seq模型,这样,当所获得的关键词中存在第k个字,而需要生成第k句诗时,就可以将所获得的关键词中的第k个字和第k-1句诗输入到第二seq2seq模型中来生成第k句诗,其中,k为大于或者等于2的正整数;最后,使用古诗中的每一句作为语料,训练出第三seq2seq模型,这样,在所获得的关键词中不存在第g个字,而需要生成第g句诗时,就可以仅将第g-1句诗输入到第三seq2seq模型中来生成第g句诗,其中,g为大于k的正整数。当然,在实际应用中,使用不同的类型的预料,如文章、歌词、情诗、对话等,就可以训练出用于生成不同类型文本的文本生成模型。例如,可以将现有的情诗作为预料来训练seq2seq模型,以创建出能够生成押韵的藏头情诗的文本生成模型。这里,本发明实施例不做具体限定。s102:基于关键词和题目,通过预先训练的文本生成模型,生成待生成的目标文本中的第一句文字序列;具体地,在执行s101获得了关键词和题目后,为了生成待生成的目标文本中的第一句文字序列,可以将关键词中的第一个字和题目输入到该文本生成模型中来生成该第一句文字序列。s103:至少基于第一句文字序列和预设的韵母,通过文本生成模型,按照预设的押韵规则,生成待生成的目标文本中除第一句文字序列以外的其它文字序列;具体地,为了使得所生成的目标文本是押韵的,在通过s102生成了待生成的目标文本中的第一句文字序列后,如果关键词中除了第一个字外还有其它字,就可以根据该第一句文字序列、关键词中的其它字和预设的韵母,通过文本生成模型,来生成满足预设押韵规则的待生成的目标文本中除第一句文字序列以外的其它文字序列;如果关键词中除了第一个字外没有其它字,就可以根据该第一句文字序列和预设的韵母,通过文本生成模型,来生成满足预设押韵规则的待生成的目标文本中除第一句文字序列以外的其它文字序列。这样,由于所获得的待生成的目标文本中除第一句文字序列以外的其它文字序列是根据预设的韵母生成的,且满足预设的押韵规则,从而,根据第一句文字序列和该其它文字序列所生成的目标文本就是押韵的。在实际应用中,根据待生成的目标文本的文本类型的不同,生成该目标文本时所对应使用的押韵规则是不同的,示例性地,当文本类型为律诗和绝句时,所对应的押韵规则可以为“偶数句押韵”;当文本类型为词牌名为浣溪沙的词时,所对应的押韵规则为“一韵到底”。那么,根据押韵规则的不同,生成待生成的目标文本中除第一句文字序列以外的其它文字序列的方法可以包括且不限于以下三种情况:第一种情况,当押韵规则为“偶数句押韵”时,待生成的目标文本中偶数句的文字序列是押韵的。在具体实施过程中,上述s103可以包括以下步骤:步骤1031a:当i为2时,至少根据第一句文字序列,通过文本生成模型,生成第二句文字序列;步骤1031b:当i为2n-1时,至少根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列,其中,n为大于或者等于2的正整数,i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数;步骤1031c:当i为2n时,将第二句文字序列中的最后一个字的第一韵母确定为预设的韵母;至少根据第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第二句文字序列相押韵的第i句文字序列。在实际应用中,待生成的目标文本中包含的文字序列的总句数n的大小可以由用户根据需要自行设定,如当用户需要生成28句的歌词时,n为28。总句数n的大小也可以根据用户选择的文本类型所对应的句数来决定,其中,文本类型可以为五言绝句、五言律诗、七言绝句、卜算子、如梦令、浣溪沙等。示例性地,当用户想要根据关键词和题目生成一首五言绝句时,n就等于4;当用户想要根据关键词和题目生成一首七言律诗时,n就等于8;当用户想要根据关键词和题目生成一首词牌名为浣溪沙的词时,n就等于6。当然,总句数n的大小也可以由系统自动设定,本发明实施例不做具体限定。下面以待生成的目标文本的文本序列的总句数n等于4为例,来说明如何生成满足偶数句押韵的规则的四句文字序列的具体过程。首先,可以根据关键词和题目,通过该文本生成模型来生成第一句文字序列,其次,可以至少根据该第一句文字序列,通过该文本生成模型来生成第二句文字序列;然后,可以至少根据该第二句文字序列,通过该文本生成模型来生成第三句文字序列;最后,为了使得第四句文字序列与第二句文字序列相押韵,可以至少根据该第三句文字序列和该第二句文字序列中的最后一个字的第一韵母,通过该文本生成模型来生成与第二句文字序列相押韵的第四句文字序列。示例性地,假设上述第二句文字序列中最后一个字为“汉”,上述第四句文字序列中最后一个字为“先”。在实际应用中,汉字的读音是由声母和韵母两部分组成的(少数汉字只有韵母)。对于“汉”而言,它的声母是h,韵母是an,合起来读han,对于“先”而言,它的声母是x,韵母是ian,合起来读xian。进一步地,表1中给出了一部分韵母韵部的映射关系,根据表1中所示的内容可知,可知“汉”和“先”所属的韵部(也可称为韵辙)是相同的,因此,第四句文字序列与第二句文字序列是押韵的。表1第二种情况,当押韵规则为“首句押韵+偶数句押韵”时,待生成的目标文本(包含n句文字序列)中,除了偶数句的文字序列是押韵的外,第一句文字序列也是押韵的。在具体实施过程中,上述s103可以包括以下步骤:步骤1032a:当i为2m时,将第一句文字序列中的最后一个字的第二韵母确定为预设的韵母;至少根据第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列,其中,m为大于或者等于1的正整数,i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数;步骤1032b:当i为2m+1时,至少根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列。示例性地,仍然以待生成的目标文本的文本序列的总句数n等于4为例,当押韵规则为“首句押韵+偶数句押韵”时,首先,在获得了第一句文字序列以后,为了使得首句押韵和偶数句押韵同时满足,可以至少根据该第一句文字序列和第一句文字序列中的最后一个字的第二韵母,通过该文本生成模型来生成与第一句文字序列押韵的第二句文字序列;然后,可以至少根据该第二句文字序列,通过该文本生成模型来生成第三句文字序列;最后,为了使得第四句文字序列与第一句文字序列相押韵,可以至少根据该第三句文字序列和该第一句文字序列中的最后一个字的第二韵母,通过该文本生成模型来生成与第一句文字序列相押韵的第四句文字序列。第三种情况,当押韵规则为“句句押韵”时,待生成的目标文本(包含n句文字序列)中,每一句文本序列中的最后一个字的韵母所属的韵部是相同的。在具体实施过程中,上述s103可以包括以下步骤:步骤1033:将第一句文字序列中的最后一个字的第三韵母确定为预设的韵母;至少基于第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列,其中,i为大于或者等于2的正整数,且i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数。示例性地,仍然以待生成的目标文本的文本序列的总句数n等于4为例,当押韵规则为“句句押韵”时,在获得了第一句文字序列后,就可以将第一句文字序列的最后一个字作为韵脚,通过该最后一个字的第二韵母,来生成与该第一句文字序列押韵的其它三句文字序列。当然,上述押韵规则还可以为其它类型,如“相互交替押韵”即奇数句和偶数句各自押韵,本发明实施例不做具体限定。此外,在本发明其它实施例中,为了将关键词藏于待生成的目标文本中的文字序列中,生成待生成的目标文本中除第一句文字序列以外的其它文字序列时,根据关键词中是否还存在关键字,上述步骤1031b或者上述步骤1032b可以包括:如果关键词中存在第i个字,根据第i-1句文字序列和关键词中的第i个字,通过文本生成模型,生成第i句文字序列,以使第i句文字序列中的第一个字为关键词中的第i个字;否则,根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列。具体地,在生成目标文本中的第i句文字序列时,如果关键词中存在第i个字,此时,就需要将关键词中的第i个字作为即将生成的第i句文字序列中的首字,因此,可以将第i-1句文字序列和关键词中的第i个字,输入到文本生成模型中,以生成将该关键词中的第i个字作为首句的第i句文字序列。而在关键词中不存在第i个字时,就可以直接将第i句文字序列的前一句文字序列,即第i-1个文字序列,输入到文本生成模型中来生成第i句文字序列。同理,在本发明其它实施例中,为了将关键词藏于待生成的目标文本中的文字序列中,生成待生成的目标文本中需要押韵的文本序列,如与第一句文字序列相押韵的第i句文字序列时,根据关键词中是否还存在关键字,在上述步骤1032a或者上述步骤1033中“至少基于第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列”的步骤,可以包括:如果关键词中存在第i个字,根据第i-1句文字序列、关键词中的第i个字和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列;否则,根据第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列。在本发明另一实施例中,如果目标文本的文本类型为诗歌,可以采用上述第一seq2seq模型、第二seq2seq模型和第三seq2seq模型来实现上述文本生成模型,此时,上述s102可以包括:将关键词中的第一个字和题目输入到第一seq2seq模型中,生成第一句文字序列;在本发明其它实施例中,如果目标文本的文本类型为诗歌,可以采用上述第一seq2seq模型、第二seq2seq模型和第三seq2seq模型来实现上述文本生成模型,在生成目标文本中的第i句文字序列的时候,如果关键词中存在第i个字,上述步骤1031b或者上述步骤1032b可以包括:将第i-1句文字序列和关键词中的第i个字输入到第二seq2seq模型中,生成第i句文字序列;在生成目标文本中的第i句文字序列的时候,如果关键词中不存在第i个字,上述步骤1031b或者上述步骤1032b可以包括:将第i-1句文字序列输入到第三seq2seq模型中,生成第i句文字序列。同理,在本发明其它实施例中,如果目标文本的文本类型为诗歌,可以采用上述第一seq2seq模型、第二seq2seq模型和第三seq2seq模型来实现上述文本生成模型,为了将关键词藏于待生成的目标文本中的文字序列中,生成待生成的目标文本中需要押韵的文本序列,如与第一句文字序列相押韵的第i句文字序列时,根据关键词中是否还存在关键字,在上述步骤1032a或者上述步骤1033中“至少基于第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列”的步骤,可以包括:如果关键词中存在第i个字,根据第i-1句文字序列、关键词中的第i个字和预设的韵母,通过第二seq2seq模型,生成与第一句文字序列相押韵的第i句文字序列;否则,根据第i-1句文字序列和预设的韵母,通过第三seq2seq模型,生成与第一句文字序列相押韵的第i句文字序列。s104:按照生成第一句文字序列和其它文字序列的先后顺序,将第一句文字序列和其它文字序列进行组合,获得押韵的目标文本。示例性地,假设执行s102所获得的第一句文字序列为“刘来麋鹿或相随”,执行s103所获得的其它文字序列依次包括“德别人间别有时”、“落花流水向东西”、“帅郁飘飘不可知”这三句文字序列,那么,根据生成第一句文字序列和其它文字序列的先后顺序,将第一句文字序列和其它文字序列进行组合,获得押韵的目标文本如下所示:刘来麋鹿或相随,德别人间别有时。落花流水向东西,帅郁飘飘不可知。至此,便完成了生成押韵的文本的过程。由上述内容可知,本发明实施例所提供的文本生成方法,在获得关键词和待生成的目标文本所对应的题目后,其中,关键词为待生成的目标文本中的每一句文字序列的首字所组成的文字序列中的一部分,首先会基于关键词和题目,通过预先训练的文本生成模型,生成待生成的目标文本中的第一句文字序列。然后会至少基于第一句文字序列和预设的韵母,通过文本生成模型,按照预设的押韵规则,生成待生成的目标文本中除第一句文字序列以外的其它文字序列;最后,按照生成第一句文字序列和其它文字序列的先后顺序,将第一句文字序列和其它文字序列进行组合,就可以获得所需的押韵的目标文本。这样,由于所获得的待生成的目标文本中除第一句文字序列以外的其它文字序列,是根据预设的韵母并按照预设的押韵规则来押韵生成的,从而,该其它文字序列是以预设的韵母押韵的,那么,通过第一句文字序列和该其它文字序列所生成的目标文本就是押韵的。如此,在生成文本时,就能够改善生成文本的效果,提高用户体验。实施例二基于前述实施例,本实施例提供一种文本生成方法,应用于以下场景:待生成的目标文本的文本类型为诗歌,待生成的目标文本的总句数n为4,题目是从预设的题目库中随机选取的,目标文本所对应的押韵规则为“偶数句押韵”。本发明实施例提供一种文本生成系统,参见图2所示,该系统包括:题目库201、第一seq2seq模型202、第二seq2seq模型203和第三seq2seq模型204;其中,题目库101是用于在获得关键词后随机选择目标题目的;第一seq2seq模型202是用古诗的题目、古诗中的第一句诗以及第一句诗的第一个字作为语料训练出的,用于根据输入的关键字和题目生成第一句诗;第二seq2seq模型203是用古诗的每一句诗和每一句诗对应的第一个字作为语料训练的,用于根据输入的关键字和上一句诗生成下一句诗;第三seq2seq模型204是用古诗的每一句诗作为语料训练的,用于根据上一句诗生成下一句诗,可在关键词中的关键字的总数小于总句数n时来补全缺少的诗句。在实际应用中,seq2seq模型,如第一seq2seq模型、所述第二seq2seq模型和所述第三seq2seq模型等,包括:编码器(encoder)和解码器(decoder),在给seq2seq模型中输入文字序列a后,编码器通过学习输入的文字序列a,将输入的文字序列a编码成一个状态向量s,然后,将该状态向量s传递给解码器,解码器通过学习该状态向量s,使用搜索算法如beam搜索(beamsearch)、贪婪搜索(greedysearch)等,输出另一个文字序列b。在实施过程中,为了生成押韵的文字序列b,即文字序列b中的最后一个字的韵母与预设的韵母属于相同的韵部,如果解码器在解码状态向量s时使用beam搜索,可以依概率排序获得多个文字序列b,然后再以预设的韵母作为限制条件,搜索末尾字韵母和与预设的韵母属于相同的韵部的文字序列b作为生成结果。当然,如果解码器在解码状态向量s时使用贪婪搜索,可以在解码状态向量s时以预设的韵母来修正解码策略,以生成押韵的文字序列b。图3为本发明实施例二中的文本生成方法的流程示意图,参见图3所示,该方法包括:s301:获得关键词;s302:从预设的题目库中,随机确定出一目标题目;s303:将关键词中的第一个字和目标题目输入到第一seq2seq模型中,生成第一句诗;s304:确定关键词中是否存在第二个字;如果确定关键词中不存在第二个字,执行s305a,来生成第二句诗;否则,执行s305b,来生成第二句诗。s305a:将第一句诗输入到第三seq2seq模型中,生成第二句诗;在执行s305a获得了第二句诗后,执行s306至s307,来获得第三句诗和与第二句诗相押韵的第四句诗。s306:将第二句诗输入到第三seq2seq模型中,生成第三句诗;s307:将第三句诗和第二句诗中最后一个字的韵母输入到第三seq2seq模型中,生成与第二句诗相押韵的第四句诗;在实际应用中,在将第三句诗和第二句诗中最后一个字的韵母输入到第三seq2seq模型中后,首先,第三seq2seq模型可以根据第三句诗,依概率生成多个第四句诗,然后,第三seq2seq模型会以第二句诗中最后一个字的韵母作为筛选条件,来过滤出与第二句诗相押韵的第四句诗。s305b:将第一句诗和关键词中的第二个字输入到第二seq2seq模型中,生成第二句诗;在执行s305b获得了第二句诗后,执行s308。s308:确定关键词中是否存在第三个字;如果确定关键词中不存在第三个字,执行s306至s307,来获得第三句诗和与第二句诗相押韵的第四句诗;否则,执行s309,来生成第三句诗。s309:将第二句诗和关键词中的第三个字输入到第二seq2seq模型中,生成第三句诗;在执行s309获得了第三句诗后,执行s310。s310:确定关键词中是否存在第四个字;如果确定关键词中不存在第四个字,执行s307,来与第二句诗相押韵的第四句诗;否则,执行s311,来生成与第二句诗相押韵的第四句诗。s311:将第三句诗、关键词中的第四个字和第二句诗中最后一个字的韵母输入到第二seq2seq模型中,生成与第二句诗相押韵的第四句诗。在实际应用中,在将第三句诗、关键词中的第四个字和第二句诗中最后一个字的韵母输入到第二seq2seq模型中后,首先,第二seq2seq模型可以根据第三句诗和关键词中的第四个字,依概率生成多个首字为该第四个字的第四句诗,然后,第三seq2seq模型会以第二句诗中最后一个字的韵母作为筛选条件,来过滤出与第二句诗相押韵的且首字为该第四个字的第四句诗。s312:将第一句诗至第四句诗按生成的先后顺序进行排列,获得押韵的目标文本。最后,在获得第一句诗、第二句诗、第三句诗和第四句诗后,就可以将第一句诗至第四句诗按生成的先后顺序进行排列,来获得押韵的目标文本。由上述内容可知,在发明实施例中所提供的文本生成方法中,由于在获得了第一句诗、第二句诗、第三句诗后,是根据第二句诗中最后一个字的韵母生成的与第二句诗相押韵的第四句诗的,那么,通过第一句诗至第四句诗所生成的目标文本就是押韵的。如此,在生成文本时,就能够改善所生成的文本的效果,提高用户体验。实施例三基于同一发明构思,作为对上述方法的实现,本发明实施例提供了一种文本生成装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。图4为本发明实施例三中的文本生成装置的结构示意图,参见图4所示,该装置40包括:第一获得单元401、第一生成单元402、第二生成单元403以及第二获得单元404,其中,第一获得单元401,用于获得关键词和待生成的目标文本所对应的题目,其中,关键词为待生成的目标文本中的每一句文字序列的首字所组成的文字序列中的一部分;第一生成单元402,用于基于关键词和题目,通过预先训练的文本生成模型,生成待生成的目标文本中的第一句文字序列;第二生成单元403,用于至少基于第一句文字序列和预设的韵母,通过文本生成模型,按照预设的押韵规则,生成待生成的目标文本中除第一句文字序列以外的其它文字序列;第二获得单元404,用于按照生成第一句文字序列和其它文字序列的先后顺序,将第一句文字序列和其它文字序列进行组合,获得押韵的目标文本。在本发明实施例中,第二生成单元,用于当i为2时,至少根据第一句文字序列,通过文本生成模型,生成第二句文字序列;当i为2n-1时,至少根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列,其中,n为大于或者等于2的正整数,i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数;当i为2n时,将第二句文字序列中的最后一个字的第一韵母确定为预设的韵母;至少根据第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第二句文字序列相押韵的第i句文字序列。在本发明实施例中,第二生成单元,用于当i为2m时,将第一句文字序列中的最后一个字的第二韵母确定为预设的韵母;至少根据第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列,其中,m为大于或者等于1的正整数,i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数;当i为2m+1时,至少根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列。在本发明实施例中,第二生成单元,用于如果关键词中存在第i个字,根据第i-1句文字序列和关键词中的第i个字,通过文本生成模型,生成第i句文字序列,以使第i句文字序列中的第一个字为关键词中的第i个字;否则,根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列。在本发明其它实施例中,该装置还包括:获取单元、第一训练单元、第二训练单元、第三训练单元和确定单元,其中,获取单元,用于从预先存储的古诗库中,获取古诗;第一训练单元,用于利用古诗的题目、古诗中的第一句以及第一句中的第一个字作为语料,训练得到第一seq2seq模型;第二训练单元,用于利用古诗中的每一句及其对应的第一个字作为语料,训练得到第二seq2seq模型;第三训练单元,用于利用古诗中的每一句作为语料,训练得到第三seq2seq模型;确定单元,用于将第一seq2seq模型、第二seq2seq模型和第三seq2seq模型,确定为文本生成模型。在本发明实施例中,第一生成单元,用于将关键词中的第一个字和题目输入到第一seq2seq模型中,生成第一句文字序列;第二生成单元,用于如果关键词中存在第i个字,将第i-1句文字序列和关键词中的第i个字输入到第二seq2seq模型中,生成第i句文字序列;还用于如果关键词中不存在第i个字,将第i-1句文字序列输入到第三seq2seq模型中,生成第i句文字序列。在本发明实施例中,第二生成单元,用于将第一句文字序列中的最后一个字的第三韵母确定为预设的韵母;至少基于第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列,其中,i为大于或者等于2的正整数,且i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数。上述文本生成装置包括处理器和存储器,上述第一获得单元、第一生成单元、第二生成单元、第二获得单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述处理器可由中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)、或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。存储器可能包括计算机可读介质中的非永久性存储器,随机存储器(randomaccessmemory,ram)和/或非易失性内存等形式,如只读存储器(readonlymemory,rom)或闪存(flashram),存储器包括至少一个存储芯片。基于同一发明构思,本发明实施例提供一种存储介质,其上存储有程序,该程序被处理器执行时实现上述文本生成方法。基于同一发明构思,本发明实施例提供一种处理器,处理器用于运行程序,其中,程序运行时执行上述文本生成方法。由于本实施例所介绍的文本生成装置为可以执行本发明实施例中的文本生成方法的装置,故而基于本发明实施例中所介绍的文本生成方法,本领域所属技术人员能够了解本实施例的文本生成装置的具体实施方式以及其各种变化形式,所以在此对于该文本生成装置如何实现本发明实施例中的文本生成方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中文本生成方法所采用的装置,都属于本申请所欲保护的范围。在实际应用中,该文本生成装置可应用于电子设备中。电子设备可以以各种形式来实施。例如,本发明实施例中描述的电子设备可以包括诸如智能音箱、手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如智能电视、台式计算机、服务器等固定终端。实施例四基于同一发明构思,本发明实施例提供一种电子设备。图5为本发明实施例四中的电子设备的结构示意图,参见图5所示,该电子设备50包括:至少一个处理器51;以及与所述处理器51连接的至少一个存储器52、总线53;其中,所述处理器51、存储器52通过所述总线53完成相互间的通信;所述处理器51用于调用所述存储器52中的程序指令,以执行以下步骤:获得关键词和待生成的目标文本所对应的题目,其中,关键词为待生成的目标文本中的每一句文字序列的首字所组成的文字序列中的一部分;基于关键词和题目,通过预先训练的文本生成模型,生成待生成的目标文本中的第一句文字序列;至少基于第一句文字序列和预设的韵母,通过文本生成模型,按照预设的押韵规则,生成待生成的目标文本中除第一句文字序列以外的其它文字序列;按照生成第一句文字序列和其它文字序列的先后顺序,将第一句文字序列和其它文字序列进行组合,获得押韵的目标文本。在本发明实施例中,上述处理器调用程序指令时还可执行以下步骤:当i为2时,至少根据第一句文字序列,通过文本生成模型,生成第二句文字序列;当i为2n-1时,至少根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列,其中,n为大于或者等于2的正整数,i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数;当i为2n时,将第二句文字序列中的最后一个字的第一韵母确定为预设的韵母;至少根据第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第二句文字序列相押韵的第i句文字序列。在本发明实施例中,上述处理器调用程序指令时还可执行以下步骤:当i为2m时,将第一句文字序列中的最后一个字的第二韵母确定为预设的韵母;至少根据第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列,其中,m为大于或者等于1的正整数,i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数;当i为2m+1时,至少根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列。在本发明实施例中,上述处理器调用程序指令时还可执行以下步骤:如果关键词中存在第i个字,根据第i-1句文字序列和关键词中的第i个字,通过文本生成模型,生成第i句文字序列,以使第i句文字序列中的第一个字为关键词中的第i个字;否则,根据第i-1句文字序列,通过文本生成模型,生成第i句文字序列。在本发明实施例中,上述处理器调用程序指令时还可执行以下步骤:从预先存储的古诗库中,获取古诗;利用古诗的题目、古诗中的第一句以及第一句中的第一个字作为语料,训练得到第一seq2seq模型;利用古诗中的每一句及其对应的第一个字作为语料,训练得到第二seq2seq模型;利用古诗中的每一句作为语料,训练得到第三seq2seq模型;将第一seq2seq模型、第二seq2seq模型和第三seq2seq模型,确定为文本生成模型。在本发明实施例中,上述处理器调用程序指令时还可执行以下步骤:将关键词中的第一个字和题目输入到第一seq2seq模型中,生成第一句文字序列;如果关键词中存在第i个字,将第i-1句文字序列和关键词中的第i个字输入到第二seq2seq模型中,生成第i句文字序列;如果关键词中不存在第i个字,将第i-1句文字序列输入到第三seq2seq模型中,生成第i句文字序列。在本发明实施例中,上述处理器调用程序指令时还可执行以下步骤:将第一句文字序列中的最后一个字的第三韵母确定为预设的韵母;至少基于第i-1句文字序列和预设的韵母,通过文本生成模型,生成与第一句文字序列相押韵的第i句文字序列,其中,i为大于或者等于2的正整数,且i为小于或者等于n的正整数,n为待生成的目标文本中包含的文字序列的总句数。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘(compactdiscread-onlymemory,cd-rom)、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,ram和/或非易失性内存等形式,如rom或flashram。存储器是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质可以是rom、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性随机存取存储器(ferromagneticrandomaccessmemory,fram)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(compactdiscread-onlymemory,cd-rom)等存储器;也可以是快闪记忆体或其他内存技术、cd-rom、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息;还可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1