CN110263150B - 文本生成方法、装置、计算机设备及存储介质 - Google Patents
文本生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110263150B CN110263150B CN201910164828.3A CN201910164828A CN110263150B CN 110263150 B CN110263150 B CN 110263150B CN 201910164828 A CN201910164828 A CN 201910164828A CN 110263150 B CN110263150 B CN 110263150B
- Authority
- CN
- China
- Prior art keywords
- text sequence
- vector
- generated
- sequence
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 129
- 239000013598 vector Substances 0.000 claims abstract description 434
- 230000008439 repair process Effects 0.000 claims abstract description 60
- 230000006870 function Effects 0.000 claims description 78
- 238000009826 distribution Methods 0.000 claims description 48
- 238000012549 training Methods 0.000 claims description 47
- 238000013145 classification model Methods 0.000 claims description 35
- 238000012937 correction Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 21
- 238000010801 machine learning Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 210000003029 clitoris Anatomy 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 238000007796 conventional method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001481760 Erethizon dorsatum Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 239000003205 fragrance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请涉及一种文本生成方法、装置、计算机设备及存储介质,该方法包括:获取当前文本序列;将所述当前文本序列编码为语义向量;获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。本申请的方案,能够提高生成的文本序列的信息量。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种文本生成方法、装置、计算机设备及存储介质。
背景技术
随着科学技术的飞速发展,大量先进技术不断涌现,自然语言处理技术即为其中一个非常重要的技术。在自然语言处理技术的广泛应用中,机器自动生成文本成为一个研究的热点问题。
传统方法中,机器自动生成文本时,仅从实质意义出发,并未考虑情感表达,所以生成的文本比较局限,缺乏多样化,因此,传统方法生成的缺乏多样化的文本能够传达的信息量比较低。
发明内容
基于此,有必要针对传统文本生成方法传达的信息量比较低的问题,提供一种文本生成方法、装置、计算机设备及存储介质。
一种文本生成方法,所述方法包括:
获取当前文本序列;
将所述当前文本序列编码为语义向量;
获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;
根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。
一种文本生成装置,所述装置包括:
获取模块,用于获取当前文本序列;
编码模块,用于将所述当前文本序列编码为语义向量;获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;
解码模块,用于根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取当前文本序列;
将所述当前文本序列编码为语义向量;
获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;
根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取当前文本序列;
将所述当前文本序列编码为语义向量;
获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;
根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。
一种文本生成方法,所述方法包括:
获取当前文本序列;
发送所述当前文本序列至服务器;所述当前文本序列,用于指示所述服务器获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列;
获取所述服务器返回的生成的所述后一文本序列。
一种文本生成装置,所述装置包括:
获取模块,用于获取当前文本序列;
发送模块,用于发送所述当前文本序列至服务器;所述当前文本序列,用于指示所述服务器获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列;
获取模块还用于获取所述服务器返回的生成的所述后一文本序列。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取当前文本序列;
发送所述当前文本序列至服务器;所述当前文本序列,用于指示所述服务器获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列;
获取所述服务器返回的生成的所述后一文本序列。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取当前文本序列;
发送所述当前文本序列至服务器;所述当前文本序列,用于指示所述服务器获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列;
获取所述服务器返回的生成的所述后一文本序列。
上述文本生成方法、装置、计算机设备及存储介质,将所述当前文本序列编码为语义向量;获取所述当前文本序列的待生成的后一文本序列的修辞类型向量。进而,根据所述语义向量和修辞类型向量进行解码,生成当前文本序列的所述后一文本序列。由于修辞类型向量表征了一定的修辞类型特征,所以,解码时相当于考虑了修辞类型这一控制条件,那么,解码生成的后一文本序列则具有修辞手法,使得生成文本更加多样,更加准确,从而提高了生成文本的信息量。
附图说明
图1为一个实施例中文本生成方法的应用场景图;
图2为一个实施例中文本生成方法的流程示意图;
图3为一个实施例中文本生成方法的效果示意图;
图4为一个实施例中文本生成模型框架的示意图;
图5为另一个实施例中文本生成模型框架的示意图;
图6为一个实施例中传统方法的文本生成示意图;
图7为另一个实施例中传统方法的文本生成示意图;
图8为另一个实施例中文本生成方法的流程示意图;
图9为一个实施例中文本生成处理的流程简示图;
图10为一个实施例中文本生成装置的框图;
图11为另一个实施例中文本生成装置的框图;
图12为一个实施例中计算机设备的框图;
图13为另一个实施例中计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中文本生成方法的应用场景图。参照图1,该应用场景中包括终端110和服务器120。终端可以是智能电视机、智能音箱、台式计算机或移动终端,移动终端可以包括手机、平板电脑、笔记本电脑、个人数字助理和穿戴式设备等中的至少一种。服务器可以用独立的服务器或者是多个物理服务器组成的服务器集群来实现。
终端110可以发送当前文本序列至服务器120。服务器120可以获取当前文本序列;将所述当前文本序列编码为语义向量;获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。服务器120可以将生成的后一文本序列返回至终端110。终端110可以将接收的后一文本序列进行输出。可以理解,这里的输出可以是语音输出也可以是显示输出,对输出的具体方式不做限定。
需要说明的是,服务器120还可以在生成一个后一文本序列后,不将其返回至终端110,而是将生成的后一文本序列当作当前文本序列,返回将所述当前文本序列编码为语义向量的步骤继续执行,直至输出的后一文本序列为结束文本序列。服务器可以将生成的后一文本序列统一返回至终端110。具体根据实际场景来确定,这里对此不做限定。
图2为一个实施例中文本生成方法的流程示意图。本实施例主要以该文本生成方法应用于计算机设备为例进行举例说明,该计算机设备可以为图1中的服务器120。参照图2,该方法具体包括如下步骤:
S202,获取当前文本序列。
其中,文本序列,是文本形式的序列。当前文本序列,是指在生成后一个未知文本序列时作为参照的已知文本序列。比如,已知文本序列为“初雪无暇”,需要参照“初雪无暇”生成下一个文本序列。那么,“初雪无暇”即为当前文本序列。
可以理解,文本序列可以为句子、词语和段落等中的至少一种。这里并不限定文本序列的长度。
在一个实施例中,当前文本序列可以是待生成的文学作品中的语句。其中,文学作品,是指以语言文字为工具,形象化地反映客观现实或表现作家心灵世界的艺术作品。文学作品可以包括诗歌、散文、小说、剧本、寓言和童话等中的至少一种。
需要说明的是,待生成的文学作品,是指包括当前文本序列的、且尚未完全生成的文学作品。本申请各实施例中的文本生成方法就用于创作生成该待生成的文学作品中的文本序列,以实现对该文学作品的创作。而并非是已知一个既有的文学作品的前一句,以其查找该既有的文学作品中的后一句。
在另一个实施例中,当前文本序列还可以是对话交流中的语句。
S204,将当前文本序列编码为语义向量。
其中,语义向量,是指表征当前文本序列的语义的向量。可以理解,语义向量是对当前文本序列的低维表达,涵盖了该整个文本序列的特征信息。该语义向量为句向量,即,一个语义向量中可以包括多个词向量。
具体地,计算机设备可以对文本序列中的每个词进行编码处理,根据每个词的信息对该文本序列进行语义表示,得到该文本序列的语义向量。
S206,获取当前文本序列的待生成的后一文本序列的修辞类型向量。
需要说明的是,在执行步骤S206时,当前文本序列的后一文本序列尚未生成,而是要经过步骤S208的处理才会生成。
其中,修辞类型,是指修辞方法的类型。修辞类型向量,是对修辞类型采用情况的向量化表示。
需要说明的是,修辞类型向量可以包括表示具体修辞类型的向量。修辞类型向量还可以包括表示不采用修辞类型的向量。即,修辞类型向量可以表示无修辞类型的含义,而不限定于仅表示具体修辞类型,因为当前文本序列的后一文本序列可能不采用修辞类型。
在一个实施例中,修辞类型可以包括比喻,拟人,反复、排比和顶真等中的至少一种。现结合具体的修辞类型来举例说明修辞类型向量的实质形式,比如,表示比喻的修辞类型向量则可以为[0,1,0,0],表示拟人的修辞类型向量则可以为[0,0,1,0]。
在一个实施例中,计算机设备可以自动对当前文本序列的语义向量进行分析,得到当前文本序列的待生成的后一文本序列的修辞类型向量。即,参考当前文本序列的语义向量,分析后一个文本序列的修辞类型。
具体地,计算机设备可以将语义向量输入预先训练得到的修辞分类模型中,输出所述当前文本序列的待生成的后一文本序列的修辞类型向量。
其中,修辞分类模型,是用于根据前一文本序列的语义向量判别出后一文本序列的修辞类型的机器学习模型。
在一个实施例中,修辞分类模型的生成步骤包括:获取多组样本数据;同组样本数据中包括相邻的前一样本文本序列和后一样本文本序列,以及后一样本文本序列的修辞类型标签;在每轮次的机器学习训练时,将对同组样本数据中的前一样本文本序列编码所得到的语义向量输入当前轮次训练的修辞分类模型中,预测出与前一样本文本序列同组的后一样本文本序列的修辞类型向量;根据预测出的修辞类型向量所表征的修辞类型和后一样本文本序列的修辞类型标签所表征的修辞类型之间的差异情况,调整当次训练的修辞分类模型的模型参数,并迭代地进行下一轮次的机器学习训练,直至达到迭代停止条件时,得到最终的修辞分类模型。
其中,修辞类型标签,用于标识出修辞类型。
具体地,计算机设备可以将样本数据迭代地输入修辞分类模型中,以进行多伦次的迭代地机器学习训练。在每轮次的机器学习训练时,计算机设备可以将对同组样本数据中的前一样本文本序列编码所得到的语义向量输入当前轮次训练的修辞分类模型中,预测出与前一样本文本序列同组的后一样本文本序列的修辞类型向量。计算机设备可以根据预测出的修辞类型向量所表征的修辞类型和后一样本文本序列的修辞类型标签所表征的修辞类型之间的差异情况,调整当次训练的修辞分类模型的模型参数,以寻找表示该差异情况的损失函数的最小值。在完成一轮次的机器学习训练之后,计算机设备可以根据样本数据迭代地进行下一轮次的机器学习训练,直至达到迭代停止条件时,得到最终的修辞分类模型。
在一个实施例中,迭代停止条件,可以包括迭代次数达到预设次数阈值。在另一个实施例中,迭代停止条件还可以包括表示预测出的修辞类型向量所表征的修辞类型和后一样本文本序列的修辞类型标签所表征的修辞类型之间的差异情况的损失函数的大小变化在预设范围内。
在一个实施例中,计算机设备也可以获取针对当前文本序列的待生成的后一文本序列自定义的修辞类型向量。具体地,用户可以基于终端针对当前文本序列的待生成的后一文本序列,自定义指定对应的修辞类型,终端可以将所指定的修辞类型反馈至计算机设备。计算机设备可以获取与所指定的修辞类型对应的修辞类型向量。比如,用户可以指定后一句为“拟人”的修辞类型,那么,计算机设备则可以获取与“拟人”对应的修辞类型向量。
S208,根据修辞类型向量和语义向量进行解码,生成当前文本序列的后一文本序列。
具体地,计算机设备可以将修辞类型向量和语义向量组合为一个向量,根据组合后得到的向量进行解码,生成当前文本序列的后一文本序列。需要说明的是,这里并不限定组合的具体方式。
在一个实施例中,计算机设备可以直接以拼接组合的方式,将修辞类型向量和语义向量进行拼接。可以理解,计算机设备可以不限定修辞类型向量和语义向量之间拼接的前后顺序,可以是修辞类型向量在前语义向量在后进行拼接,也可以是修辞类型向量在后语义向量在前进行拼接。比如,修辞类型向量为[0,1,0,0],语义向量为[1,1,1,0,0,1,0],那么拼接组合修辞类型向量和语义向量,得到向量为[0,1,0,0,1,1,1,0,0,1,0]。
在另一个实施例中,计算机设备也可以采取向量元素重组的方式,对语义向量和修辞类型向量进行融合,得到组合后的向量。比如,修辞类型向量为[0,1,0,0],语义向量为[1,1,1,0,0,1,0],那么,以向量元素重组的方式进行组合,可以得到组合后的向量为[1,1,1,0,0,1,0,1,0,0,0]。可以理解,将语义向量和修辞类型向量进行合理的融合,能够让修辞手法更加恰当地进行体现,提高了准确性。
需要说明的是,这里并不限定只组合修辞类型向量和语义向量,只要满足将修辞类型向量和语义向量组合即可。所以,可以包括只组合修辞类型向量和语义向量的情况,还可以包括除了组合修辞类型向量和语义向量以外,再将其他的向量一并组合的情况。
在一个实施例中,计算机设备可以将修辞类型向量和语义向量输入解码器中,通过解码器将修辞类型向量和语义向量进行组合,并对组合后得到的向量进行解码,根据解码结果输出当前文本序列的后一文本序列。
在其他实施例中,计算机设备也可以不将修辞类型向量和语义向量组合,而是基于这两个独立的向量进行解码,生成当前文本序列的后一文本序列。这种情况下,计算机设备则可以将修辞类型向量和语义向量输入解码器中进行解码,根据解码结果输出当前文本序列的后一文本序列。
上述文本生成方法,将所述当前文本序列编码为语义向量;获取所述当前文本序列的待生成的后一文本序列的修辞类型向量。进而,根据所述语义向量和修辞类型向量进行解码,生成当前文本序列的所述后一文本序列。由于修辞类型向量表征了一定的修辞类型特征,所以,解码时相当于考虑了修辞类型这一控制条件,那么,解码生成的后一文本序列则具有修辞手法,使得生成文本更加多样,更加准确,从而提高了生成文本的信息量。
此外,当修辞类型向量是根据当前文本序列的语义向量分析得到时,由于修辞类型向量可以表示无修辞类型的含义,而不限定于仅表示具体修辞类型,相当于可以结合当前文本序列自身的特征,考虑上下文的关系,自动灵活地确定后一文本序列是否采用修辞类型(即能够准确地确定何时进行修辞控制),而不限定于固定的、必须使用修辞手法。相当于不仅解决了如何修辞同时还能够在恰当的时刻运用合适的修辞,从而实现了能够控制何时采用修辞手法、以及能够实现具体采用何种合适的修辞手法的准确控制,相当于将修辞的判断与生成控制进行结合,大大提高了文本生成的灵活性和准确性。
在一个实施例中,该方法还包括:以修辞类型向量为条件向量,对语义向量编码得到隐变量向量。本实施例中,步骤S208包括:根据修辞类型向量、语义向量和隐变量向量进行解码,生成当前文本序列的后一文本序列。
其中,隐变量,是一个不可见的、且服从正态分布的中间态变量。隐变量向量,是对隐变量的值的向量化表示。
具体地,计算机设备可以将修辞类型向量和语义向量输入预先训练的生成模型中,以修辞类型向量为条件向量,通过生成模型对语义向量编码得到隐变量向量。
其中,生成模型,是用于评估在已知前一文本序列的语义向量和前一文本序列的后一文本序列的修辞类型向量的条件下隐变量向量的概率分布的机器学习模型。
同样地,计算机设备可以将修辞类型向量、语义向量和隐变量向量进行组合,并对组合后得到的向量进行解码,生成当前文本序列的后一文本序列。计算机设备也可以基于独立的修辞类型向量、语义向量和隐变量向量进行解码,生成当前文本序列的后一文本序列。
上述实施例中,计算机设备以修辞类型向量为条件向量,相当于用修辞类型向量表示条件标签,以在生成隐变量向量时进行控制,使得隐变量向量具备一定的修辞类型特征。这样一来,后续在基于由修辞类型向量、语义向量和隐变量向量进行解码时,能够使得解码时考虑一定的修辞类型特征,从而使得解码生成的后一文本序列具有修辞手法,进而使得生成文本更加多样,更加准确,从而提高了生成文本的信息量。此外,在解码时,考虑了以修辞类型向量为条件向量对语义向量编码得到的隐变量向量,进一步地增强了修辞类型特征,使得解码生成的后一文本序列的修辞手法更加的准确,从而使得生成的后一文本序列更加的准确。
在一个实施例中,当前文本序列为待生成的文学作品中的语句;后一文本序列是当前文本序列在文学作品中的待生成的后一语句。该方法还包括:将生成的后一文本序列作为当前文本序列,返回将当前文本序列编码为语义向量的步骤进行迭代处理,直至生成的后一文本序列为文学作品中的结束语句时停止迭代。
其中,待生成的文学作品,是指包括当前文本序列的、且尚未完全生成的文学作品。结束语句,是指文学作品中最后一个语句。
具体地,在完成一轮文本生成方法后,计算机设备可以将生成的后一文本序列作为下一轮的当前文本序列,返回步骤S204~208进行迭代处理,直至生成的后一文本序列为文学作品中的结束语句时停止迭代。可以理解,此时,相当于创作生成了包括多个文本序列的文学作品。
在一个实施例中,步骤S202获取当前文本序列包括:当当前文本序列为文学作品的首句时,获取输入的主题线索词;检索与主题线索词匹配的语句;通过自动编码改写检索得到的语句,生成作为文学作品中首句的当前文本序列。
可以理解,在其他实施例中,在获取文学作品的首句时,可以直接获取用户输入的句子。即,用户可以基于终端直接输入文学作品的首句,终端将用户输入的首句发送至服务器。服务器在参照该首句来生成第二句时,该首句则就为当前文本序列。
然而,需要用户想完整的首句难度还是比较大的,所以,本实施例中,提出了一种更加简便、高效的方法来获取首句,即获取当前文本序列。
本实施例中,用户可以不用输入完整的首句,而仅用基于终端输入主题线索词。其中,主题线索词,是用于表征创作主题的关键词。终端可以反馈该主题线索词至服务器。服务器可以从网络和/或本地数据库中检索与该主题线索词匹配的语句。
需要说明的是,与主题线索词匹配的语句,可以是包括该主题线索词的语句,也可以是与该主题线索词所表征的主题相符的语句。可以理解,与主题相符的语句,不一定包括了主题线索词。比如,主题线索词为“春天”,那么,“鸟语花香”或“万物复苏的季节”等可以是与该主题线索词匹配的语句,但其中并不包括主题线索词“春天”。
可以理解,当与主题线索词匹配的语句为多个(即,至少两个)时,计算机设备可以从中筛选出最终的语句。
在一个实施例中,计算机设备可以从检索得到的语句中,筛选出与主题线索词的匹配程度最高的语句。在另一实施例中,计算机设备也可以根据检索得到的各语句的热度值,筛选热度值最高的语句。其中,热度值,可以根据该语句在网络上的使用或关注频率来确定。在其他实施例中,计算机设备还可以将筛选出的语句反馈至终端进行输出,用户可以基于终端从反馈的语句中指定语句。
在其他实施例中,计算机设备还可以获取风格线索次,基于主题线索词和风格线索词从网络和/或本地数据库中进行检索,从而检索出与主题线索词和风格线索词这两个因素匹配的语句。其中,风格线索词,是用于表征语言风格的线索词。比如,“婉约”、“豪放”和“隽永”等都可以称为风格线索词。
计算机设备可以对检索得到的语句进行自动编码,通过自动编码对该语句进行改写,生成一个新的语句。然后,将该改写得到的新的语句作为文学作品中首句,即作为当前文本序列。通过指定主题线索词既能够保证按照用户的意愿进行创作,又自动生成首句,从而降低创作难度。
图3为一个实施例中文本生成方法的效果示意图。参照图3,示出了依照本申请实施例中的文本生成方法生成的2首现代诗歌。这里主要以“初雪”为主题线索词检索语句(示例一)进行举例说明。计算机设备可以从网络和/或本地数据库中检索与“初雪”这一主题线索词匹配的语句,并编码该语句以对其进行改写,从而生成了首句“初雪无瑕”。编码该首句“初雪无瑕”的语义向量,以及获取待生成的第二句的修辞类型向量,其中,第二句的修辞类型向量用于表征不采用修辞类型。进而,以修辞类型向量为条件向量对语义向量编码,得到的隐变量向量也就带有不使用修辞手法的特征。那么,基于表征不采用修辞类型的修辞类型向量、首句的语义向量以及隐变量向量解码,生成的第二句“一个人的爱情”则不带有修辞手法。这样就执行完了了一轮文本生成方法。接着,将第二句“一个人的爱情”作为当前文本序列,执行下一轮的文本生成方法。对第二句编码语义向量,确定待生成的第三句的修辞类型向量表征“拟人”,因而生成的第三句“宛如圣洁的战士”就满足了拟人的修辞手法。以此类推,直至输出第5句“我的心在飞”即达到了该首诗歌的结束语句,那么,就可以不再迭代执行下一轮,而可以将整首诗歌输出至终端,从而得到图3中“示例一”所示的,以“初雪”为主题的包括5句的现代诗歌。同样地,在图3中示出的另一个诗歌(示例二),也是以“兜风”为主题线索词检索语句,然后对检索的语句进行编码改编,生成首句“一生一世的不同”,进而基于每个前一语句按照本申请实施例中的文本生成方法生成后一语句,在此不再赘述。
上述实施例中,相较于传统方法仅能够生成单一、简短的文本序列而言,能够创作比较复杂的文学作品,而且,创作的文学作品并非简单地文字堆砌吗,而是考虑了修辞手法,并且能够基于上一句的特征,确定何时采用修辞手法以及采用何种修辞手法的准确控制,大大提高了文学作品的创作效果。
在一个实施例中,根据修辞类型向量、语义向量和隐变量向量进行解码,生成当前文本序列的后一文本序列包括:组合修辞类型向量、语义向量和隐变量向量;对组合后得到的向量进行循环解码,确定候选词语集合中各词语在每次解码时的输出概率;选取每次解码时输出概率最大的词语进行输出;按照输出的先后顺序,将各输出的词语组合生成当前文本序列的后一文本序列。
可以理解,对组合后得到的向量进行循环解码,则该组合后得到的向量会经历多次解码处理。候选词语集合,是计算机设备所存储的词库中包含的词语的结合。
具体地,计算机设备在对组合后得到的向量进行循环解码时,会在每次解码时输出一个解码向量,计算机设备根据该解码向量能够确定候选词语集合中各词语在该次解码时的输出概率。其中,解码向量,是对组合后得到的向量进行解码处理所输出的隐藏状态的向量。在一个实施例中,对于第一次解码而言,解码向量可以是对组合后得到的向量进行非线性转换地解码处理而输出的向量。对于非第一次解码而言,解码向量是对组合后得到的向量和前一次解码得到的解码向量一起进行非线性转换地解码处理而输出的向量。
计算机设备可以选取每次解码时输出概率最大的词语进行输出;按照输出的先后顺序,将各输出的词语组合生成当前文本序列的后一文本序列。
以图3中的“示例一”为例,基于首句“初雪无瑕”生成第二句时,可以循环解码,依次解码输出“一个”、“人”、“的”和“爱情”这些词语,然后组合生成“一个人的爱情”这句。
上述实施例中,通过对组合后得到的向量进行循环解码,选取每次解码时输出概率最大的词语进行输出;按照输出的先后顺序,将各输出的词语组合生成当前文本序列的后一文本序列。使得解码生成的后一文本序列更加的准确。
在一个实施例中,对组合后得到的向量进行循环解码,确定候选词语集合中各词语在每次解码时的输出概率包括:在每次解码时,确定在已知语义向量和修辞类型向量的条件下隐变量向量发生的第一概率,以及在已知语义向量、修辞类型向量和隐变量向量的条件下,候选词语集合中各词语发生的第二概率;针对候选词语集合中的每个词语,根据第一概率和词语发生的第二概率,确定词语的输出概率。
可以理解,本实施例中,组合后得到的向量,是由对修辞类型向量、语义向量和隐变量向量进行组合得到的向量。
具体地,计算机设备可以获取预先训练好参数的条件概率公式。该条件概率公式中包括在已知语义向量和修辞类型向量的条件下隐变量向量的第一概率分布以及在已知语义向量、修辞类型向量和隐变量向量的条件下,候选词语集合中词语输出的第二概率分布。
在每次解码时,计算机设备可以将当前文本序列的语义向量、当前文本序列的待生成的后一文本序列的修辞类型向量以及由该语义向量编码生成的隐变量向量代入第一概率分布中,得到在已知语义向量和修辞类型向量的条件下隐变量向量发生的第一概率。计算机设备还可以将前文本序列的语义向量、当前文本序列的待生成的后一文本序列的修辞类型向量以及由该语义向量编码生成的隐变量向量代入第二概率分布中,得到候选词语集合中各词语发生的第二概率。
进一步地,针对候选词语集合中的每个词语,计算机设备可以根据第一概率和该词语发生的第二概率,确定该词语在解码时的输出概率。
在一个实施例中,条件概率公式中还可以包括在已知语义向量的条件下修辞类型向量的第三概率分布。在每次解码时,计算机设备还可以将当前文本序列的语义向量和当前文本序列的待生成的后一文本序列的修辞类型向量,代入该第三概率分布中,得到在已知当前文本序列的语义向量的条件下修辞类型向量发生的第三概率。那么,在每次解码时,针对候选词语集合中的每个词语,计算机设备可以根据第一概率、第三概率和该词语发生的第二概率,确定该词语在解码时的输出概率。
在一个实施例中,条件概率公式为:
p(Y|c)=∫∫p(Y|z,c,r)p(z|r,c)p(r|c)drdz; (公式1)
c=[X];
其中,X为当前文本序列;c=[X]表示c是对当前文本序列编码得到的语义向量;Y为待生成的后一文本序列;p(Y|c)表示在已知c的条件下Y的概率分布;z为隐变量向量;r是修辞类型向量;p(Y|z,c,r)是在z,c和r的条件下Y的第二概率分布;p(z|r,c)是在r,c的条件下z的第一概率分布;p(r|c)为在c的条件下r的第三概率分布;∫∫为二重积分符号;d为微分符号。
可以理解,p(Y|c)是用于概括性表述c对Y发生的影响,实际上,在每次解码时,是针对候选词语集合中的每个词计算输出概率,相当于在每次解码时,p(Y|c)表示在已知c的条件下候选词语集合中词语的概率分布。所以,在计算每个词语的输出概率时,上述条件概率公式中的Y就相当于每次解码时候选词语集合中的各个词语,将当前文本序列的语义向量、当前文本序列的待生成的后一文本序列的修辞类型向量以及对语义向量编码得到的隐变量向量代入上述(公式1)中,针对候选词语集合中的各词语,即可以输出相应的输出概率。
上述实施例中,在每次解码时,并不是简单粗暴地根据单一的概率来确定候选词语集合中每个词语的输出概率,而是综合考虑多方面的概率,使得所确定出的每个词语的输出概率更加地准确,进而使得解码生成的后一文本序列更加的准确。
在一个实施例中,隐变量向量通过生成模型生成;后一文本序列通过解码器生成。该方法还包括模型训练步骤,具体包括以下步骤:获取多组样本数据;同组样本数据中包括前后相邻的样本文本序列;获取总损失函数;总损失函数包括第一损失函数和第二损失函数;在模型训练过程中,迭代地输入各组样本数据,通过调整生成模型、判别模型以及解码器中的模型参数,以寻找总损失函数的最小值,直至满足迭代停止条件,得到最终的生成模型和解码器。
其中,第一损失函数用于衡量生成模型生成的隐变量向量的近似概率分布和判别模型生成的隐变量向量的真实概率分布之间的拟合程度。第二损失函数,用于衡量解码器解码生成的预测文本序列和真实文本序列之间的差异。
生成模型,即为概率生成模型,用于评估在已知前一文本序列的语义向量和前一文本序列的后一文本序列的修辞类型向量的条件下隐变量向量的概率分布。可以理解,生成模型,为先验网络模型。其中,判别模型即为后验概率模型,用于评估在已知前一文本序列的语义向量、前一文本序列的后一文本序列的修辞类型向量以及真实的后一文本序列的条件下隐变量向量的概率分布。
可以理解,生成模型是要预测隐变量向量的概率分布,进而从中选取隐变量向量来预测文本序列,所以,生成模型所评估的隐变量向量的概率分布,属于近似概率分布。那么,隐变量向量的近似概率分布,为生成模型在已知前一文本序列的语义向量和前一文本序列的后一文本序列的修辞类型向量的条件下生成的隐变量向量的概率分布。
然而,由于判别模型所考虑的条件中包括真实的后一文本序列,即基于真实值生成隐变量向量的概率分布,所以判别模型生成的隐变量向量的概率分布为真实概率分布。因此,隐变量向量的真实概率分布,是判别模型在已知前一文本序列的语义向量、前一文本序列的后一文本序列的修辞类型向量以及真实的后一文本序列的条件下生成的隐变量向量的概率分布。
解码器,是用于解码输出预测文本序列的机器学习模型。具体地,解码器用于评估在已知前一文本序列的语义向量、修辞类型向量和隐变量向量的条件下后一预测文本序列的概率分布,进而从中选择最终输出的后一预测文本序列。其中,后一预测文本序列,是待预测生成的后一文本序列。
可以理解,在模型训练过程中,解码器解码输出的后一预测文本序列为预测值,所以,第二损失函数,用于衡量解码器解码生成的预测文本序列和真实文本序列之间的差异,通过迭代地机器学习训练,减少预测值(预测文本序列)和真实值(真实文本序列)之间的差异,从而提高解码器的准确性。
计算机设备可以根据第一损失函数和第二损失函数生成总损失函数。可以理解,总损失函数的值越小,模型就越准确,因此,模型训练的过程相当于寻找总损失函数的最小值的过程。总损失函数相当于最终的优化目标,而第一损失函数和第二损失函数相当于两个子优化目标。
那么,计算机设备在模型训练过程中,可以迭代地输入各组样本数据至生成模型和解码器中,通过调整生成模型、判别模型以及解码器中的模型参数,以寻找总损失函数的最小值,直至满足迭代停止条件。
可以理解,同组样本数据包括的前后相邻的样本文本序列,可以分别表示为第一样本文本序列和第二样本文本序列,第一样本文本序列位于第二样本文本序列之前。那么,在将样本数据输入进行迭代训练时,对于解码器的训练,同组样本数据包括的前后相邻的样本文本序列中,第一样本文本序列即为前一文本序列,基于第一样本文本序列预测出的文本序列,即为预测文本序列,而第二样本文本序列即为真实文本序列。对于生成模型和判别模型的训练,第一样本文本序列即为前一文本序列,第二样本文本序列,即为真实的后一文本序列。
生成模型以及解码器在满足迭代停止条件时的所具有的模型参数,即为其最终的模型参数。那么,在满足迭代停止条件时的生成模型以及解码器即为最终用于生成文本的生成模型以及解码器。
在一个实施例中,迭代停止条件,可以包括迭代次数达到预设次数阈值。在另一个实施例中,迭代停止条件还可以包括总损失函数的大小变化在预设范围内。
上述实施例中,综合考虑能够对模型准确性进行衡量的多个子优化目标,并对多个子优化目标进行综合优化,相当于在模型训练过程中,从多方面来评估模型的准确性,从而提高了模型的准确性。
在一个实施例中,修辞类型向量通过修辞分类模型确定。样本数据中还包括后一样本文本序列的修辞类型标签;总损失函数中还包括修辞分类模型的第三损失函数;第三损失函数,用于表示修辞分类模型判别的前一文本序列的后一文本序列的修辞类型向量所表征的修辞类型与修辞类型标签之间的差异。
其中,修辞分类模型,是用于在已知前一文本序列的语义向量的条件下判别预测该前一文本序列的后一文本序列的修辞类型向量的机器学习模型。可以理解,修辞分类模型所判别预测出的修辞类型向量表征的修辞类型为预测结果,修辞类型标签为真实结果。可以理解,第三损失函数所表示的该差异能够衡量修辞分类模型的准确性。
计算机设备可以根据第一损失函数、第二损失函数和第三损失函数,生成总损失函数。
在一个实施例中,第一损失函数可以为信息量距离损失函数、第二损失函数可以交叉熵损失函数,以及第三损失函数可以为修辞分类模型的交叉熵损失函数。
在一个实施例中,总损失函数的简化示意公式为:
其中,为第一损失函数,KL(Kullback-Leibler)表示信息量距离;/>为第二损失函数,decoder表示解码器,CE(Cross-Entropy)表示交叉熵;为第三损失函数,其中,classifier表示修辞分类模型;CE(Cross-Entropy)表示交叉熵。
在一个实施例中,总损失函数的具体计算公式如下:
(公式3):
-L(θD;θP;θR;θC;Y,c)=KL(qR(z|Y,c,r)||pP(z|c,r))
其中,-L(θD;θP;θR;θC;Y,c)为总损失函数,其中L是Lost的缩写,θD;θP;θR;θC依次表示解码器的模型参数、生成模型的模型参数、判别模型的模型参数以及修辞分类模型的模型参数,D、P、R和C分别表示解码器、生成模型、判别模型和修辞分类模型,c是对前一文本序列编码得到的语义向量,Y为待生成的后一文本序列。
(公式3)中的z为隐变量向量;r是修辞类型向量;qR(z|Y,c,r)表示在Y、c和r的条件下隐变量向量z的真实概率分布,pP(z|c,r)表示在Yc和r的条件下隐变量向量z的近似概率分布,所以,KL(qR(z|Y,c,r)||pP(z|c,r))为信息量距离损失函数(即为第一损失函数),用于表示隐变量向量z的近似概率分布和真实概率分布之间的拟合程度。可以理解,KL(qR(z|Y,c,r)||pP(z|c,r))相当于公式(2)中的的具体形式。
(公式3)中的表示对在Y、c和r的条件下隐变量向量z的真实概率分布qR(z|Y,c,r)的期望;pD(Y|z,c,r)表示解码器在z,c和r的条件下生成Y的概率分布;log()表示对数函数;/>为解码器的交叉熵损失函数(即为第二损失函数)。可以理解,/>相当于公式(2)中的/>的具体形式。
(公式3)中的pC(r|c)表示修辞分类模型在c的条件下生成r的概率分布;为修辞分类模型的交叉熵损失函数(即为第三损失函数)。可以理解,/>相当于公式(2)中的/>的具体形式。
需要说明的是,第二损失函数能够衡量解码器解码生成的预测文本序列和真实文本序列之间的差异。第三损失函数/>能够衡量修辞分类模型判别预测的前一文本序列的后一文本序列的修辞类型向量所表征的修辞类型与修辞类型标签之间的差异(即,能够衡量预测的修辞类型与真实的修辞类型之间的差异)。
本实施例中,计算机设备在模型训练过程中,可以迭代地输入各组样本数据至生成模型、判别模型、解码器以及修辞分类模型中,通过调整各个模型的模型参数,以寻找总损失函数的最小值,直至满足迭代停止条件。
可以理解,同组样本数据包括的前后相邻的样本文本序列,可以分别表示为第一样本文本序列和第二样本文本序列,第一样本文本序列位于第二样本文本序列之前。因此,在将样本数据输入进行迭代训练时,对于修辞分类模型的训练,同组样本数据包括的前后相邻的样本文本序列中,第一样本文本序列即为前一文本序列。
生成模型、解码器以及修辞分类模型,在满足迭代停止条件时的所具有的模型参数,即为其最终的模型参数。那么,在满足迭代停止条件时的生成模型、解码器以及修辞分类模型即为最终用于生成文本的生成模型、解码器以及修辞分类模型。
上述实施例中,综合考虑能够对模型准确性进行衡量的多个子优化目标,并对多个子优化目标进行综合优化,相当于在模型训练过程中,从多方面来评估模型的准确性,从而提高了模型的准确性。
需要说明的是,上述模型训练过程仅是从原理层面概括表述模型生成的过程。现结合图4中的文本生成模型框架详细介绍模型训练的过程。实际上,在模型训练的每次迭代过程中,输入一组样本数据,同组样本数据中包括前后相邻的第一样本文本序列和第二样本文本序列。图4中的当前句子即为一组样本数据中的位于前面的第一样本文本序列,真实的后一句子即为一组样本数据中在第一样本文本序列之后相邻的第二样本文本序列。将当前句子输入编码器encoder中生成语义向量c,将生成的语义向量c输入修辞分类模型中输出修辞类型向量r。这里可以样本数据中可以包括第二样本文本序列的修辞类型标签。可以理解,第二样本文本序列的修辞类型标签,即为后一真实句子的真实修辞类型,所以可以根据修辞类型向量r所表征的修辞类型与修辞类型标签之间的差异得到第三损失函数,以衡量修辞分类模型的准确性。接着,再将c和r一并输入至生成模型(可以理解,这里的生成模型相当于先验网络模型),可以得到隐变量向量z'的近似概率分布。将后一真实句子进行编码,生成向量Y,可以理解,向量Y属于对所输入的后一真实句子的向量化表示。将Y、c和r一并输入到判别模型中(可以理解,这里的判别模型相当于后验网络模型),由于Y是相邻于当前句子的已知的真实的句子,所以可以生成隐变量向量z的真实概率分布。可以根据隐变量向量z’的近似概率分布和隐变量向量z的真实概率分布之间的拟合程度得到第一损失函数,以衡量生成模型的准确性。由于解码器也是需要训练的,所以,可以根据隐变量向量z的真实概率分布中,选取一个隐变量向量z输入至解码器decoder,并将c和r一并输入至decoder中,将z、c和r进行组合,对组合后得到的向量进行解码,decoder可以解码输出预测文本序列Y'。参照图4,在对当前句子编码后还可以通过注意力机制(attention)提取对当前句子的后一句预测更加关键的特征信息输入至解码器decoder中,解码器decoder可以根据c、r、z和通过注意力机制提取的特征信息进行解码,输出预测文本序列Y'。可以通过根据预测文本序列和真实文本序列之间的差异得到第二损失函数,以衡量解码器的准确性。可以根据第一损失函数、第二损失函数和第三损失函数确定总损失函数,在模型的迭代训练过程中,通过不断地调整生成模型的第一模型参数、解码器的第二模型参数以及修辞分类模型的第三模型参数,以寻找总损失函数的最小值,直至达到迭代停止条件,那么,在迭代停止条件时的第一模型参数即为生成模型最终的模型参数、在迭代停止条件时的第二模型参数即为解码器最终的模型参数以及在迭代停止条件时的第三模型参数即为修辞分类模型最终的模型参数。
图5为另一个实施例中文本生成模型框架的示意图。参照图5,相较于图4中的模型框架,去掉了修辞分类模型。基于图5的框架,用户可以自定义所要预测的后一预测句子的修辞类型,而不需要通过修辞分类模型对当前句子的语义向量进行分析,来预测后一预测句子的修辞类型。
需要说明的是,图4和图5中的模型框架,示意出的是模型训练过程中的框架,在使用训练完毕的模型时,使用的则是图4和图5中虚线框范围内的模型来生成后一文本序列(即,不需要使用判别模型来生成后一文本序列)。对于图4来说,在使用训练完毕的模型执行文本生成方法时,将当前文本序列输入至编码器进行编码,得到语义向量c,将语义向量输入至修辞分类模型(rhetoric classifer),输出修辞类型向量r,将c和r输入至生成模型中,使得生成模型以修辞类型向量r为条件向量,对语义向量c进行编码得到隐变量向量z'(隐变量向量z'服从正态分布),然后将隐变量向量z'、c和r输入至解码器,进行组合,对组合后的向量进行解码,输出当前文本序列的后一文本序列Y'。此外,还可以在对当前文本序列编码后,通过注意力机制(attention)从中提取对当前文本序列的待生成的后一文本序列预测更加关键的特征信息输入至解码器中,最终解码输出当前文本序列的后一文本序列Y'。对于图5来说,在使用训练完毕的模型执行文本生成方法时,可以直接将用户针对待生成的后一文本序列自定义的修辞类型所对应的修辞类型向量r和c输入至生成模型中,而不需要通过修辞分类模型对当前文本序列的语义向量进行分析,来预测待生成的后一文本序列的修辞类型。
从图4和图5可知,该文本生成方法所使用的整体模型结构,是结合seq2seq(全称Sequence to sequence)模型和CVAE(条件变分自编码,Condition VariationalAutoencoder)模型,进行改进生成的模型。相当于将人类创作中的修辞特点运用在CVAE的条件控制中,结合CVAE的生成特点,生成具有修辞手法的文本。通过将seq2seq模型和CVAE模型所组成的整体模型结构进行优化,能够更加准确地、有效地将修辞特征进行提取和应用,从而能够生成更加准确的带有修辞手法的文本。
该方法使用过程的硬件环境支持较为简单,提供普通的服务器环境即可训练以及部署上线。具体可以参照表1.
表1软硬件环境简单说明
操作系统 | 内存 | 语言环境 |
Linux | >16G | Python/c++ |
在一个实施例中,当前文本序列,是指接收的由智能音箱发送的当前文本序列。该方法还包括:将生成的后一文本序列返回至智能音箱;后一文本序列,用于指示智能音箱将后一文本序列进行语音输出。
其中,智能音箱,是指具有计算机处理功能的音箱。
具体地,用户可以基于智能音箱向计算机设备发送当前文本序列。那么,计算机设备可以在生成后一文本序列后,将生成的后一文本序列返回至智能音箱。智能音箱在接收到返回的后一文本序列后,可以将该后一文本序列进行语音输出。比如,用户通过智能音箱向计算机设备发送一句诗,计算机设备通过本申请各实施例中的文本生成方法生成后一句诗,并将生成的这个诗句返回至智能音箱进行输出,用户就可以通过智能音箱来对诗。
需要说明的是,智能音箱输出后一文本序列的方式不限定于语音输出,如果智能音箱具有显示设备,还可以在显示设备上展示该后一文本序列。当当前文本序列为待生成的文学作品中的语句时,计算机设备可以在结束对待生成的文学作品的文本生成处理后,再将生成的各后一文本序列统一返回至智能音箱,以指示智能音箱对其输出,从而实现对完整文学作品的整体输出效果。比如,用户想要作诗,计算机设备可以基于首句诗,创作出整首诗后,将整首诗句返回至智能音箱进行输出。
上述实施例中,实现了结合智能音箱完成文本序列的创作生成,甚至是文学作品的创作生成,大大丰富了智能音箱的功能,以及提高了智能音箱的智能性。
图6和图7中简单示出了传统方法的文本生成示意图。图6中u'和σ'分别表示先验网络计算的方差和标准差,u和σ分别表示判别网络计算的方差和标准差,z为隐变量,KL表示KL距离(即相对熵),q和p分别表示两个概率分布,KL(q||p)表示求取概率分布q和p之间的KL距离。<SOS>解码器端的句子起始标识符,<PAD>主要用来进行字符补全,<EOS>是解码器端的句子结束标识符。图7中,x表示词向量,cos表示余弦处理,h表示隐藏层,a是attention的缩写,表示注意力机制确定的隐藏层的影响权重,m表示记忆存储的风格,mi(s)表示源记忆网络存储的第i个风格,mi(g)表示目标记忆网络存储的第i个风格,E表示求和,S是sentence的缩写。图6中的传统方法中,在生成诗歌的时候,并未考虑相关的艺术手法,因而诗歌生成局限,仅适用于古诗体的生成,缺乏灵活的控制,故不能满足现代诗或者剧本等其他文学作品或者对话的多样性需求,仅适用于古诗体的生成。图7中是固定的基于记忆网络存储的已有风格来输出句子,而并不能进行自主地学习判断,从而缺少对生成诗歌的灵活控制。从图6和图7可知,传统方法皆无法对诗歌生成的艺术手法进行灵活控制。
如图8所示,在一个实施例中,提供了一种文本生成方法,本实施例主要以该文本生成方法应用于计算机设备为例进行举例说明,该计算机设备可以为图1中的终端110。该方法包括以下步骤:
S802,获取当前文本序列。
具体地,用户可以基于计算机设备进行当前文本序列的输入相关操作,计算机设备基于用户进行的输入相关操作,获取当前文本序列。
其中,输入相关操作,是指与当前文本序列的输入相关的操作。可以理解,输入相关操作,可以包括直接输入当前文本序列的操作。输入相关操作,也可以包括由用户输入一个为了生成当前文本序列的主题线索词的间接操作。这种情况下,计算机设备可以基于主题线索词,获取当前文本序列。
在一个实施例中,计算机设备可以包括智能音箱。在其他实施例中,终端还可以包括智能电视机、台式计算机或移动终端,移动终端可以包括手机、平板电脑、笔记本电脑、个人数字助理和穿戴式设备等中的至少一种。这里并不作限定。
S804,发送当前文本序列至服务器;当前文本序列,用于指示服务器获取当前文本序列的待生成的后一文本序列的修辞类型向量;根据修辞类型向量和语义向量进行解码,生成当前文本序列的后一文本序列。
具体地,计算机设备可以将当前文本序列发送至服务器。服务器可以将当前文本序列编码为语义向量,并获取当前文本序列的待生成的后一文本序列的修辞类型向量。服务器可以对根据修辞类型向量和语义向量进行解码,生成当前文本序列的后一文本序列。
在一个实施例中,当前文本序列还用于指示服务器以修辞类型向量为条件向量,对语义向量编码得到隐变量向量;根据语义向量、隐变量向量和修辞类型向量进行解码,生成当前文本序列的后一文本序列。
S806,获取服务器返回的生成的后一文本序列。
具体地,服务器可以将根据语义向量和修辞类型向量进行解码生成的后一文本序列返回至计算机设备。计算机设备可以将获取的后一文本序列进行输出。比如,可以语音输出和/或显示输出等。这里并不限定对后一文本序列进行输出的方式。
在一个实施例中,当当前文本序列为待生成的文学作品中的语句时,当前文本序列还用于指示服务器将生成的后一文本序列作为当前文本序列,并返回将当前文本序列编码为语义向量的步骤进行迭代处理,直至生成的后一文本序列为文学作品中的结束语句时停止迭代,然后将所生成的所有后一文本序列一并返回至计算机设备。所以,这种情况下,步骤S806中所获取的后一文本序列即为服务器在停止迭代后统一返回的后一文本序列,而并非是一次文本生成处理过程中生成的单一的后一文本序列,从而实现对完整文学作品的整体输出效果。
上述文本生成方法,由修辞类型向量表征一定的修辞类型特征,进而对修辞类型向量和语义向量进行解码,相当于解码时考虑了修辞类型这一控制条件,进而,解码生成的后一文本序列也具有修辞手法,使得生成文本更加多样,更加准确,从而提高了生成文本的信息量。也使得当前文本序列和后一文本序列之间的关联性以及合理性更强。
在一个实施例中,当前文本序列为待生成的文学作品中的语句。步骤S602获取当前文本序列包括:获取输入的主题线索词;检索与主题线索词匹配的语句;通过自动编码改写检索得到的语句,生成作为文学作品中首句的当前文本序列。
具体地,用户可以基于计算机设备输入主题线索词以进行检索操作。计算机设备可以从本地检索与主题线索词匹配的语句。计算机设备也可以基于该主题线索词发送检索请求至服务器。服务器可以响应于检索请求检索的与主题线索词匹配的语句,并返回所检索到的语句。进而,计算机设备可以自动编码改写检索得到的语句,生成作为文学作品中首句的当前文本序列。
在其他实施例中,用户还可以基于计算机设备输入风格线索词,基于主题线索词和风格线索词一并检索匹配的语句。
图9为一个实施例中文本生成处理的流程简示图。参照图9,是以创作诗歌为应用场景进行的举例说明。用户可以基于计算机设备输入主题及风格线索词,通过检索服务检索得到首句,通过自动编码改写,生成诗歌的首句,然后将首句输入处于后端的服务器中已经训练完毕的模型中,最终输出整首诗歌,然后将整首诗歌返回至处于前端的计算机设备,在前端输出生成的整首诗歌。用户则可以基于处于前端的计算机设备了解到所生成的整首诗歌。
上述实施例中,用户仅需要输入主题线索词,就可以检索与主题线索词匹配的语句,并通过自动编码改写检索得到的语句,生成作为文学作品中首句的当前文本序列,大大降低了文学作品创作的难度。
需要说明的是,本申请各实施例中所提出的文本生成方法,并不限定于使用智能音箱进行对话或者创作文学作品这一个应用场景。
在一个实施例中,该文本生成方法还可以应用于公众账号的对话使用场景。
其中,公众账号,是基于社交平台开通的公众账号。
社交平台,是实现线上社交功能的平台。社交平台包括即内容分享平台和即时通信平台等中的至少一种。内容分享平台,是对内容进行分享的平台。内容包括文本内容、音频、视频以及短视频内容等中的至少一种。即时通信,是指能够即时交流互联网消息的业务。比如,公众账号可以是微信(WeChat,是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的应用程序)平台中的公众号。
具体地,用户可以在终端中展示的公众账号的界面中输入当前文本序列(比如,在界面对话框中输入当前文本序列),终端可以基于该公众账号发送当前文本序列至服务器。服务器可以执行本申请各实施例中的文本生成方法,生成该当前文本序列的后一文本序列,并返回至终端。终端可以将该后一文本序列在该公众账号的界面输出该后一文本序列。同样地,当当前文本序列为待生成的文学作品中的语句时,当前文本序列还用于指示服务器将生成的后一文本序列作为当前文本序列,并返回将当前文本序列编码为语义向量的步骤进行迭代处理,直至生成的后一文本序列为文学作品中的结束语句时停止迭代,然后将所生成的所有后一文本序列一并返回至终端。终端则可以在公众账号的界面中输出所生成的全部后一文本序列,从而实现对完整文学作品的整体输出效果。可以理解,本实施例中,可以实现基于公众账号进行考虑修辞因素的自动对话(比如自动对诗)或者,自动创作文学作品(比如,自动写诗)的功能。
上述实施例中,公众号能够实现自动对话或创作的功能,相对于专门的创作应用程序,节省了成本。而且,生成的后一文本序列考虑到了修辞类型,提高了准确性。
在一个实施例中,该文本生成方法还可以应用于创作应用程序中。其中,创作应用程序,是用于进行文学作品创作的应用程序。该创作应用程序运行于终端中。用户可以在终端中运行该创作应用程序,并基于该创作应用程序的界面,输入当前文本序列,终端可以将该当前文本序列发送至服务器。服务器可以执行本申请各实施例中的文本生成方法,生成该当前文本序列的后一文本序列,并返回至终端。终端可以在该创作应用程序的界面输出该后一文本序列。该实施例中,为创作提供了便利性,减少了创作成本,提高了创作效率。
在其他实施例中,该文本生成方法还可以应用于社交应用程序中。其中,社交应用程序,是进行线上交流的应用程序。比如,社交应用程序的聊天界面中设置有一个创作入口,用户可以对该创作入口进行触发操作,社交应用程序可以跳转至创作界面,基于该界面,用户可以输入当前文本序列,社交应用程序可以将该当前文本序列发送至服务器。服务器可以执行本申请各实施例中的文本生成方法,生成该当前文本序列的后一文本序列,并返回至终端。终端可以在该创作界面展示该后一文本序列。
同样地,当当前文本序列为待生成的文学作品中的语句时,当前文本序列还用于指示服务器将生成的后一文本序列作为当前文本序列,并返回将当前文本序列编码为语义向量的步骤进行迭代处理,直至生成的后一文本序列为文学作品中的结束语句时停止迭代,然后将所生成的所有后一文本序列一并返回至终端。终端则可以在创作界面中输出所生成的全部后一文本序列,从而实现对完整文学作品的整体输出效果。
用户可以确认是否保留该后一文本序列,当终端接收到确认保留的操作指令后,可以触发社交应用程序基于该前一文本序列和后一文本序列生成表情包。社交应用程序可以从创作界面跳转至聊天界面。用户可以基于聊天界面选择所生成的包括前一文本序列和后一文本序列的表情包,终端可以将该表情包发送至当前的聊天界面中。
上述实施例中,将该文本生成方法应用于线上聊天的表情包的生成当中,能够丰富表情包的类型。而且,能够非常便捷地生成文字表情包,而且生成的文字表情包考虑到了修辞类型,提高了文字表情包的准确性。
如图10所示,在一个实施例中,提供了一种文本生成装置1000,该装置1000包括:获取模块1002、编码模块1004以及解码模块1006,其中:
获取模块1002,用于获取当前文本序列。
编码模块1004,用于将当前文本序列编码为语义向量;获取当前文本序列的待生成的后一文本序列的修辞类型向量。
解码模块1006,用于根据语义向量和修辞类型向量进行解码,生成当前文本序列的后一文本序列。
在一个实施例中,当前文本序列为待生成的文学作品中的语句;后一文本序列是当前文本序列在文学作品中的待生成的后一语句。解码模块1006还用于将生成的后一文本序列作为当前文本序列,通知编码模块1004返回将当前文本序列编码为语义向量的步骤进行迭代处理,直至生成的后一文本序列为文学作品中的结束语句时停止迭代。
在一个实施例中,获取模块1002还用于当当前文本序列为文学作品的首句时,获取输入的主题线索词;检索与主题线索词匹配的语句;通过自动编码改写检索得到的语句,生成作为文学作品中首句的当前文本序列。
在一个实施例中,编码模块1004还用于将语义向量输入预先训练得到的修辞分类模型中,输出当前文本序列的待生成的后一文本序列的修辞类型向量;或者,获取针对当前文本序列的待生成的后一文本序列自定义的修辞类型向量。
在一个实施例中,该装置1000还包括:
模型训练模块(图中未示出),用于获取多组样本数据;同组样本数据中包括相邻的前一样本文本序列和后一样本文本序列,以及所述后一样本文本序列的修辞类型标签;在每轮次的机器学习训练时,将对同组样本数据中的前一样本文本序列编码所得到的语义向量输入当前轮次训练的修辞分类模型中,预测出与所述前一样本文本序列同组的后一样本文本序列的修辞类型向量;根据预测出的修辞类型向量所表征的修辞类型和所述后一样本文本序列的修辞类型标签所表征的修辞类型之间的差异情况,调整当次训练的修辞分类模型的模型参数,并迭代地进行下一轮次的机器学习训练,直至达到迭代停止条件时,得到最终的修辞分类模型。
在一个实施例中,编码模块1004还用于以所述修辞类型向量为条件向量,对所述语义向量编码得到隐变量向量。解码模块1006还用于根据所述修辞类型向量、所述语义向量和所述隐变量向量进行解码,生成所述当前文本序列的所述后一文本序列。
在一个实施例中,解码模块1006还用于组合所述修辞类型向量、所述语义向量和所述隐变量向量;对组合后得到的向量进行循环解码,确定候选词语集合中各词语在每次解码时的输出概率;选取每次解码时输出概率最大的词语进行输出;按照输出的先后顺序,将各输出的词语组合生成当前文本序列的后一文本序列。
在一个实施例中,解码模块1006还用于在每次解码时,确定在已知语义向量和修辞类型向量的条件下隐变量向量发生的第一概率,以及在已知语义向量、修辞类型向量和隐变量向量的条件下,候选词语集合中各词语发生的第二概率;针对候选词语集合中的每个词语,根据第一概率和词语发生的第二概率,确定词语的输出概率。
在一个实施例中,隐变量向量通过生成模型生成;后一文本序列通过解码器生成。模型训练模块(图中未示出)还用于获取多组样本数据;同组样本数据中包括前后相邻的样本文本序列;获取总损失函数;总损失函数包括第一损失函数和第二损失函数;第一损失函数用于衡量生成模型生成的隐变量向量的近似概率分布和判别模型生成的隐变量向量的真实概率分布之间的拟合程度;第二损失函数,用于衡量解码器解码生成的预测文本序列和真实文本序列之间的差异;在模型训练过程中,迭代地输入各组样本数据,通过调整生成模型、判别模型以及解码器中的模型参数,以寻找总损失函数的最小值,直至满足迭代停止条件,得到最终的生成模型和解码器。
在一个实施例中,修辞类型向量通过修辞分类模型确定;样本数据中还包括后一样本文本序列的修辞类型标签;总损失函数中还包括修辞分类模型的第三损失函数;第三损失函数,用于表示修辞分类模型所判别预测的前一文本序列的后一文本序列的修辞类型向量所表征的修辞类型与修辞类型标签之间的差异;模型训练模块(图中未示出)还用于通过调整生成模型、判别模型、解码器以及修辞分类模型的模型参数,以寻找总损失函数的最小值,直至满足迭代停止条件,得到最终的生成模型、解码器和修辞分类模型。
在一个实施例中,当前文本序列,是指接收的由智能音箱发送的当前文本序列。该装置1000还包括:
输出模块(图中未示出),用于将生成的后一文本序列返回至智能音箱;后一文本序列,用于指示智能音箱将后一文本序列进行语音输出。
如图11所示,在一个实施例中,提供了一种文本生成装置1100,该装置1100包括:获取模块1102和发送模块1104,其中:
获取模块1102,用于获取当前文本序列。
发送模块1104,用于发送当前文本序列至服务器;当前文本序列,用于指示服务器获取当前文本序列的待生成的后一文本序列的修辞类型向量;根据修辞类型向量和语义向量进行解码,生成当前文本序列的后一文本序列。
获取模块1102还用于获取服务器返回的生成的后一文本序列。
在一个实施例中,获取模块1102还用于获取输入的主题线索词;检索与主题线索词匹配的语句;通过自动编码改写检索得到的语句,生成作为文学作品中首句的当前文本序列。
图12为一个实施例中计算机设备的内部结构示意图。参照图12,该计算机设备可以是图1中终端110或服务器120。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种文本生成方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种文本生成方法。计算机设备的网络接口用于进行网络通信。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的文本生成装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该文本生成装置的各个程序模块,比如,图10所示的获取模块1002、编码模块1004以及解码模块1006。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的文本生成方法中的步骤,例如,计算机设备可以通过如图10所示的文本生成装置1000中的获取模块1002获取当前文本序列。计算机设备可以通过编码模块1004将当前文本序列编码为语义向量;获取当前文本序列的待生成的后一文本序列的修辞类型向量。计算机设备可以通过解码模块1006根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。
图13为一个实施例中计算机设备的内部结构示意图。参照图13,该计算机设备可以是图1中的终端110。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种文本生成方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种文本生成方法。计算机设备的网络接口用于进行网络通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏等。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该计算机设备可以是个人计算机、智能音箱、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的文本生成装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该文本生成装置的各个程序模块,比如,图11所示的获取模块1102和发送模块1104。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的文本生成方法中的步骤,例如,计算机设备可以通过如图11所示的文本生成装置1100中的获取模块1102获取当前文本序列。计算机设备可以通过发送模块1104发送当前文本序列至服务器;当前文本序列,指示所述服务器获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;根据所述修辞类型向量和所述语义向量进行解码,生成所述当前文本序列的所述后一文本序列。计算机设备可以通过获取模块1102获取服务器返回的生成的后一文本序列。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述文本生成方法的步骤。此处文本生成方法的步骤可以是上述各个实施例的文本生成方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述文本生成方法的步骤。此处文本生成方法的步骤可以是上述各个实施例的文本生成方法中的步骤。
需要说明的是,本申请各实施例中的“第一”、“第二”和“第三”等仅用作区分,而并不用于大小、先后、从属等方面的限定。
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种文本生成方法,所述方法包括:
获取当前文本序列;
将所述当前文本序列编码为语义向量;
获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;
以所述修辞类型向量为条件向量,对所述语义向量编码得到隐变量向量;
根据所述修辞类型向量、所述语义向量和所述隐变量向量进行解码,生成所述当前文本序列的所述后一文本序列。
2.根据权利要求1所述的方法,其特征在于,所述当前文本序列为待生成的文学作品中的语句;所述后一文本序列是所述当前文本序列在所述文学作品中的待生成的后一语句;
所述方法还包括:
将生成的所述后一文本序列作为当前文本序列,返回所述将所述当前文本序列编码为语义向量的步骤进行迭代处理,直至生成的后一文本序列为所述文学作品中的结束语句时停止迭代。
3.根据权利要求2所述的方法,其特征在于,所述获取当前文本序列包括:
当所述当前文本序列为所述文学作品的首句时,获取输入的主题线索词;
检索与所述主题线索词匹配的语句;
通过自动编码改写所述检索得到的语句,生成作为所述文学作品中首句的当前文本序列。
4.根据权利要求1所述的方法,其特征在于,所述获取所述当前文本序列的待生成的后一文本序列的修辞类型向量包括:
将所述语义向量输入预先训练得到的修辞分类模型中,输出所述当前文本序列的待生成的后一文本序列的修辞类型向量;或者,
获取针对所述当前文本序列的待生成的后一文本序列自定义的修辞类型向量。
5.根据权利要求4所述的方法,其特征在于,所述修辞分类模型的生成步骤包括:
获取多组样本数据;同组样本数据中包括相邻的前一样本文本序列和后一样本文本序列,以及所述后一样本文本序列的修辞类型标签;
在每轮次的机器学习训练时,将对同组样本数据中的前一样本文本序列编码所得到的语义向量输入当前轮次训练的修辞分类模型中,预测出与所述前一样本文本序列同组的后一样本文本序列的修辞类型向量;
根据预测出的修辞类型向量所表征的修辞类型和所述后一样本文本序列的修辞类型标签所表征的修辞类型之间的差异情况,调整当前轮次训练的修辞分类模型的模型参数,并迭代地进行下一轮次的机器学习训练,直至达到迭代停止条件时,得到最终的修辞分类模型。
6.根据权利要求1所述的方法,其特征在于,所述根据所述修辞类型向量、所述语义向量和所述隐变量向量进行解码,生成所述当前文本序列的所述后一文本序列包括:
组合所述修辞类型向量、所述语义向量和所述隐变量向量;
对组合后得到的向量进行循环解码,确定候选词语集合中各词语在每次解码时的输出概率;
选取每次解码时输出概率最大的词语进行输出;
按照输出的先后顺序,将各输出的词语组合生成所述当前文本序列的后一文本序列。
7.根据权利要求6所述的方法,其特征在于,所述对组合后得到的向量进行循环解码,确定候选词语集合中各词语在每次解码时的输出概率包括:
在每次解码时,确定在已知所述语义向量和所述修辞类型向量的条件下所述隐变量向量发生的第一概率,以及在已知所述语义向量、所述修辞类型向量和所述隐变量向量的条件下,候选词语集合中各词语发生的第二概率;
针对候选词语集合中的每个词语,根据所述第一概率和所述词语发生的第二概率,确定所述词语的输出概率。
8.根据权利要求1所述的方法,其特征在于,所述隐变量向量通过生成模型生成;所述后一文本序列通过解码器生成;
所述方法还包括:
获取多组样本数据;同组样本数据中包括前后相邻的样本文本序列;
获取总损失函数;所述总损失函数包括第一损失函数和第二损失函数;所述第一损失函数用于衡量生成模型生成的隐变量向量的近似概率分布和判别模型生成的隐变量向量的真实概率分布之间的拟合程度;所述第二损失函数,用于衡量解码器预测生成的预测文本序列和真实文本序列之间的差异;
在模型训练过程中,迭代地输入各组样本数据,通过调整所述生成模型、所述判别模型以及所述解码器中的模型参数,以寻找所述总损失函数的最小值,直至满足迭代停止条件,得到最终的生成模型和解码器。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述当前文本序列,是指接收的由智能音箱发送的当前文本序列;
所述方法还包括:
将生成的所述后一文本序列返回至所述智能音箱;所述后一文本序列,用于指示所述智能音箱将所述后一文本序列进行语音输出。
10.一种文本生成方法,所述方法包括:
获取当前文本序列;
发送所述当前文本序列至服务器;所述当前文本序列,用于指示所述服务器获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;以所述修辞类型向量为条件向量,对所述当前文本序列的语义向量编码得到隐变量向量;根据所述修辞类型向量、所述语义向量和所述隐变量向量进行解码,生成所述当前文本序列的所述后一文本序列;
获取所述服务器返回的生成的所述后一文本序列。
11.一种文本生成装置,其特征在于,所述装置包括:
获取模块,用于获取当前文本序列;
编码模块,用于将所述当前文本序列编码为语义向量;获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;以所述修辞类型向量为条件向量,对所述语义向量编码得到隐变量向量;
解码模块,用于根据所述修辞类型向量、所述语义向量和所述隐变量向量进行解码,生成所述当前文本序列的所述后一文本序列。
12.一种文本生成装置,其特征在于,所述装置包括:
获取模块,用于获取当前文本序列;
发送模块,用于发送所述当前文本序列至服务器;所述当前文本序列,用于指示所述服务器获取所述当前文本序列的待生成的后一文本序列的修辞类型向量;以所述修辞类型向量为条件向量,对所述当前文本序列的语义向量编码得到隐变量向量;根据所述修辞类型向量、所述语义向量和所述隐变量向量进行解码,生成所述当前文本序列的所述后一文本序列;
获取模块还用于获取所述服务器返回的生成的所述后一文本序列。
13.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至10中任一项所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164828.3A CN110263150B (zh) | 2019-03-05 | 2019-03-05 | 文本生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164828.3A CN110263150B (zh) | 2019-03-05 | 2019-03-05 | 文本生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110263150A CN110263150A (zh) | 2019-09-20 |
CN110263150B true CN110263150B (zh) | 2023-10-31 |
Family
ID=67911899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910164828.3A Active CN110263150B (zh) | 2019-03-05 | 2019-03-05 | 文本生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263150B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560398B (zh) * | 2019-09-26 | 2023-07-04 | 百度在线网络技术(北京)有限公司 | 一种文本生成方法及装置 |
CN111046648A (zh) * | 2019-10-29 | 2020-04-21 | 平安科技(深圳)有限公司 | 韵律控制的诗词生成方法、装置、设备及存储介质 |
CN110807333B (zh) * | 2019-10-30 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 一种语义理解模型的语义处理方法、装置及存储介质 |
CN111368514B (zh) * | 2019-12-10 | 2024-04-19 | 爱驰汽车有限公司 | 模型训练及古诗生成方法、古诗生成装置、设备和介质 |
CN111414733B (zh) * | 2020-03-18 | 2022-08-19 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN112115347B (zh) * | 2020-07-17 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 搜索结果的获取方法和装置及存储介质 |
CN111914568B (zh) * | 2020-07-31 | 2024-02-06 | 平安科技(深圳)有限公司 | 文本修辞句的生成方法、装置、设备及可读存储介质 |
CN111914544A (zh) * | 2020-08-18 | 2020-11-10 | 科大讯飞股份有限公司 | 一种比喻句识别方法、装置、设备及存储介质 |
CN112749558B (zh) * | 2020-09-03 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 一种目标内容获取方法、装置、计算机设备和存储介质 |
CN112000777A (zh) * | 2020-09-03 | 2020-11-27 | 上海然慧信息科技有限公司 | 一种文本生成方法、装置、计算机设备和存储介质 |
CN112036155A (zh) * | 2020-09-25 | 2020-12-04 | 北京小米松果电子有限公司 | 文本生成方法、文本生成装置及计算机可读存储介质 |
US20220147668A1 (en) * | 2020-11-10 | 2022-05-12 | Advanced Micro Devices, Inc. | Reducing burn-in for monte-carlo simulations via machine learning |
CN112487141A (zh) * | 2020-11-26 | 2021-03-12 | 北京三快在线科技有限公司 | 推荐文案的生成方法、装置、设备及存储介质 |
CN112860889A (zh) * | 2021-01-29 | 2021-05-28 | 太原理工大学 | 一种基于bert的多标签分类方法 |
CN113254604B (zh) * | 2021-07-15 | 2021-10-01 | 山东大学 | 一种基于参考规范的专业文本生成方法及装置 |
CN114416948A (zh) * | 2022-01-18 | 2022-04-29 | 重庆邮电大学 | 一种基于语义感知的一对多对话生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598921A (zh) * | 2016-12-12 | 2017-04-26 | 清华大学 | 基于lstm模型的现代文到古诗的转换方法及装置 |
CN108415893A (zh) * | 2018-03-15 | 2018-08-17 | 平安科技(深圳)有限公司 | 诗歌自动生成方法、装置、计算机设备及存储介质 |
CN109086408A (zh) * | 2018-08-02 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 文本生成方法、装置、电子设备及计算机可读介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722829A (zh) * | 2022-03-03 | 2022-07-08 | 沈阳雅译网络技术有限公司 | 一种基于语言模型的修辞古诗自动生成方法 |
-
2019
- 2019-03-05 CN CN201910164828.3A patent/CN110263150B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598921A (zh) * | 2016-12-12 | 2017-04-26 | 清华大学 | 基于lstm模型的现代文到古诗的转换方法及装置 |
CN108415893A (zh) * | 2018-03-15 | 2018-08-17 | 平安科技(深圳)有限公司 | 诗歌自动生成方法、装置、计算机设备及存储介质 |
CN109086408A (zh) * | 2018-08-02 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 文本生成方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110263150A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263150B (zh) | 文本生成方法、装置、计算机设备及存储介质 | |
CN110232183B (zh) | 关键词提取模型训练方法、关键词提取方法、装置及存储介质 | |
CN111859960B (zh) | 基于知识蒸馏的语义匹配方法、装置、计算机设备和介质 | |
CN107481720B (zh) | 一种显式声纹识别方法及装置 | |
CN112533051B (zh) | 弹幕信息显示方法、装置、计算机设备和存储介质 | |
US9154629B2 (en) | System and method for generating personalized tag recommendations for tagging audio content | |
CN112214585B (zh) | 回复消息生成方法、系统、计算机设备及存储介质 | |
CN111985243B (zh) | 情感模型的训练方法、情感分析方法、装置及存储介质 | |
CN111859940B (zh) | 一种关键词提取方法、装置、电子设备及存储介质 | |
US20210004602A1 (en) | Method and apparatus for determining (raw) video materials for news | |
CN112100375A (zh) | 文本信息生成方法、装置、存储介质及设备 | |
CN113449489B (zh) | 标点符号标注方法、装置、计算机设备和存储介质 | |
CN112632244A (zh) | 一种人机通话的优化方法、装置、计算机设备及存储介质 | |
CN112632258A (zh) | 文本数据处理方法、装置、计算机设备和存储介质 | |
JP2021096847A (ja) | ユーザの発言に基づくマルチメディア推奨 | |
CN110727764A (zh) | 一种话术生成方法、装置及话术生成设备 | |
CN112784573B (zh) | 文本情感内容分析方法、装置、设备及存储介质 | |
CN114281948A (zh) | 一种纪要确定方法及其相关设备 | |
US10984193B1 (en) | Unsupervised text segmentation by topic | |
CN116127003A (zh) | 文本处理方法、装置、电子设备及存储介质 | |
CN109344388A (zh) | 一种垃圾评论识别方法、装置及计算机可读存储介质 | |
CN113990286A (zh) | 语音合成方法、装置、设备及存储介质 | |
CN113919358A (zh) | 一种基于主动学习的命名实体识别方法和系统 | |
CN113297367A (zh) | 用户对话衔接语生成的方法及相关设备 | |
CN112233648A (zh) | 结合rpa及ai的数据的处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |