CN111221958A - 一种训练藏字诗生成模型的方法、藏字诗生成方法及装置 - Google Patents
一种训练藏字诗生成模型的方法、藏字诗生成方法及装置 Download PDFInfo
- Publication number
- CN111221958A CN111221958A CN202010016847.4A CN202010016847A CN111221958A CN 111221958 A CN111221958 A CN 111221958A CN 202010016847 A CN202010016847 A CN 202010016847A CN 111221958 A CN111221958 A CN 111221958A
- Authority
- CN
- China
- Prior art keywords
- word
- tibetan
- sentence
- output
- poetry
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012549 training Methods 0.000 title claims abstract description 62
- 238000013528 artificial neural network Methods 0.000 claims abstract description 79
- 239000013598 vector Substances 0.000 claims description 178
- 238000009826 distribution Methods 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 36
- 230000007246 mechanism Effects 0.000 claims description 34
- 238000005070 sampling Methods 0.000 claims description 21
- 238000010801 machine learning Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000012512 characterization method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本文公开了一种训练藏字诗生成模型的方法、藏字诗生成方法及装置,训练方法包括:使用样本集合中的样本藏字诗对藏头诗生成模型进行多轮如下训练直至藏字诗生成模型收敛:将样本藏字诗首句中的字依次输入神经网络,得到样本藏字诗首句的输出;并将样本藏字诗中非首句中的字依次输入神经网络,并基于神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到藏字诗非首句的输出;基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对神经网络的参数进行调整,以便在下轮训练中使用调整后的参数。本文引入了关联方式,使非首句与非首句之前诗句产生关联,提高整首诗的关联性。
Description
技术领域
本文涉及自然语言处理技术领域,尤其涉及一种训练藏字诗生成模型的方法、藏字诗生成方法及装置。
背景技术
随着2014年seq2seq模型在机器翻译中的成功应用,使文本生成技术获得了很大的发展,诗词自动生成便是其中的一种常见应用。在诗词自动生成应用中,通过用户指定固定数量的字,将这些字藏入到诗的句首或者句尾,自动生成诗词,为用户带来了更多的有趣体验。
在相关技术中,设置主题词及藏头字,根据主题词及藏头字,使用预先构建的自动作诗模型生成诗。在首句生成的时候,利用主题词和首句藏头字生成首句;在进行非首句生成的时候,利用主题词、当前非首句的藏头字以及上一句的句向量生成当前非首句。使用此方法在生成每个非首句的时候,一般利用此非首句的藏头字、主题词向量以及前一句的句向量共同作为初始向量输入循环神经网络(Recurrent Neural Network,RNN)解码器,但由于RNN具有梯度消逝的现象,所以句向量信息在传递到后面时刻的时候就会减弱,甚至句尾无法学习到韵脚信息,导致句子与句子之间的关联效果和对仗效果较差。
发明内容
为克服相关技术中存在的问题,本文提供一种训练藏字诗生成模型的方法、藏字诗生成方法及装置。
根据本文实施例的第一方面,提供了一种训练藏字诗生成模型的方法,包括:
确定用于生成藏字诗生成模型的机器学习神经网络;
使用样本集合中的样本藏字诗对藏头诗生成模型进行多轮如下训练直至所述藏字诗生成模型收敛:
将样本藏字诗首句中的字依次输入所述神经网络,得到所述样本藏字诗首句的输出;并
将所述样本藏字诗中非首句中的字依次输入所述神经网络,并基于所述神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到所述藏字诗非首句的输出;
基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数。
在一种实施方式中,所述藏字诗所藏字在所在诗句的头部或者尾部;
将样本藏字诗首句中的字依次输入所述神经网络,得到所述藏字诗首句的输出,包括:
基于样本藏字诗所藏字生成初始输入变量;
将所述初始输入变量和该样本藏字诗首句所藏字对应的字向量输入神经网络,得到第一输出;
将该所藏字的紧邻字作为当前字,将所述第一输出作为当前字上一个字的输出,循环执行如下第一输入步骤:
将上一个字的输出,与当前字的字向量输入所述神经网络,得到第二输出;若当前字不是该首句的最后一个字,则将与当前字紧邻的下一个字作为新的当前字,将第二输出作为新的当前字上一个字的输出,执行所述第一输入步骤;得到所述藏字诗首句的输出。
在一种实施方式中,基于该样本藏字诗所藏字生成初始输入变量,包括:
生成该样本藏字诗所藏字对应的字向量,以及所藏字在该样本藏字诗中位置对应的位置向量;
将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
将得到的隐向量进行加权平均,得到藏头向量;
基于所述藏头向量对高斯模型分布进行表征;并
从所表征的高斯模型中采样,得到初始输入变量。
在一种实施方式中,将所述样本藏字诗中非首句中的字依次输入所述神经网络,并基于所述神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到所述藏字诗非首句的输出,包括:
将该样本藏字诗中非首句中所藏字对应的字向量输入所述神经网络,得到第三输出;
将所述第三输出与该非首句之前诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第四输出;
将该所藏字的紧邻字作为当前字,将所述第四输出作为当前字上一个字的输出,循环执行如下第二输入步骤:
将上一个字的输出与当前字的字向量输入所述神经网络,得到第五输出;将所述第五输出与该非首句的之前诗句中的每个字对应的字向量分别通过注意力机制进行关联处理,得到第六输出;若当前字不是该非首句的最后一个字,则将与当前字紧邻的下一个字作为新的当前字,将第六输出作为新的当前字上一个字的输出,执行所述第二输入步骤;得到所述藏字诗非首句的输出。
在一种实施方式中,基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数,包括:
确定首句和非首句中每个字的输出与所述样本藏字诗对应字的交叉熵的平均,得到第一损失;以及
确定所述藏头向量表征的高斯分布与标准高斯分布的KL散度;并
根据所述KL散度确定第二损失;
根据所述第一损失和所述第二损失对所述神经网络的参数进行调整。
根据本文实施例的第二方面,提供了一种藏字诗生成方法,包括:
获取已训练成功的藏字诗生成模型;
将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句;
将非首句用藏字输入至所述藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句。
在一种实施方式中,将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句,包括:
基于设定藏字生成初始输入变量;
将所述初始输入变量和首句用藏字对应的字向量输入藏字诗生成模型,得到首句用藏字的紧邻字;
将所述首句用藏字的紧邻字作为当前字,循环执行如下第三输入步骤:
将当前字输入所述藏字诗生成模型,得到当前字的紧临字,将当前字的紧临字作为当前字;直至当前字是该藏字诗首句的最后一个字,得到藏字诗首句。
在一种实施方式中,基于设定藏字生成初始输入变量,包括:
生成设定藏字对应的字向量,以及设定藏字在待生成藏字诗中位置对应的位置向量;
将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
将得到的隐向量进行加权平均,得到藏头向量;
基于所述藏头向量对高斯模型分布进行表征;并
从所表征的高斯模型中采样,得到初始输入变量。
在一种实施方式中,将非首句用藏字输入至所述藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句,包括:
将非首句用藏字输入至所述藏字诗生成模型,得到所述非首句用藏字的紧邻字;
将所述非首句用藏字的紧邻字与当前非首句的之前已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第七输出;
将所述非首句藏字的紧邻字作为当前字,将所述第七输出作为当前字上一字的输出,循环执行如下第四输入步骤:
将当前字上一字的输出与当前字的字向量输入所述藏字诗生成模型,得到当前字的紧邻字,将当前字的紧邻字与当前非首句的上一已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第八输出;若当前字的紧邻字不是该非首句的最后一个字,将当前字的紧邻字作为新的当前字,将第八输出作为新的当前字上一个字的输出,执行所述第四输入步骤;得到藏字诗非首句。
根据本文实施例的第三方面,提供了一种训练藏字诗生成模型的装置,包括:
确定模块,用于确定用于生成藏字诗生成模型的机器学习神经网络;
训练模块,用于使用样本集合中的样本藏字诗对藏头诗生成模型进行多轮训练直至所述藏字诗生成模型收敛:
所述训练模块包括:
第一运算模块,用于将样本藏字诗首句中的字依次输入所述神经网络,得到所述样本藏字诗首句的输出;
第二运算模块,用于第二将所述样本藏字诗中非首句中的字依次输入所述神经网络,并基于所述神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到所述藏字诗非首句的输出;
第一调整模块,用于基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数。
在一种实施方式中,所述藏字诗所藏字在所在诗句的头部或者尾部;
所述第一运算模块,包括:
第一生成模块,用于基于样本藏字诗所藏字生成初始输入变量;
第三运算模块,用于将所述初始输入变量和该样本藏字诗首句所藏字对应的字向量输入神经网络,得到第一输出;
第一设置模块,用于将该所藏字的紧邻字作为当前字,将所述第一输出作为当前字上一个字的输出;
第一执行模块,用于循环执行如下第一输入步骤:将上一个字的输出,与当前字的字向量输入所述神经网络,得到第二输出;若当前字不是该首句的最后一个字时,则将与当前字紧邻的下一个字作为新的当前字,将第二输出作为新的当前字上一个字的输出,执行所述第一输入步骤;得到所述藏字诗首句的输出。
在一种实施方式中,所述第一生成模块,包括:
第二生成模块,用于生成该样本藏字诗所藏字对应的字向量,以及所藏字在该样本藏字诗中位置对应的位置向量;
第一处理模块,用于将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
第二处理模块,用于将得到的隐向量进行加权平均,得到藏头向量;
表征模块,用于基于所述藏头向量对高斯模型分布进行表征;
采样模块,用于从所表征的高斯模型中采样,得到初始输入变量。
在一种实施方式中,所述第二运算模块,包括:
第四运算模块,用于将所述样本藏字诗中非首句中所藏字对应的字向量输入所述神经网络,得到第三输出;
第一关联模块,用于将所述第三输出与该非首句之前诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第四输出;
第二设置模块,用于将该所藏字的紧邻字作为当前字,将所述第四输出作为当前字上一个字的输出;
第二执行模块,用于执行如下第二输入步骤:将上一个字的输出与当前字的字向量输入所述神经网络,得到第五输出;将所述第五输出与该非首句的之前诗句中的每个字对应的字向量分别通过注意力机制进行关联处理,得到第六输出;若当前字不是该非首句的最后一个字时,则将与当前字紧邻的下一个字作为新的当前字,将第六输出作为新的当前字上一个字的输出,执行所述第二输入步骤;得到所述藏字诗非首句的输出。
在一种实施方式中,所述第一调整模块,包括
第一计算模块,用于确定首句和非首句中每个字的输出与原样本藏字诗对应字的交叉熵的平均,得到第一损失;
第二计算模块,用于确定所述藏头向量表征的高斯分布与标准高斯分布的KL散度;
第三计算模块,用于根据所述KL散度确定第二损失;
第二调整模块,用于根据所述第一损失和所述第二损失对所述神经网络的参数进行调整。
根据本文实施例的第四方面,提供了一种藏字诗生成装置,包括:
第一获取模块,用于获取已训练成功的藏字诗生成模型;
第五运算模块,用于将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句;
第六运算模块,用于将非首句用藏字输入至所述藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句。
在一种实施方式中,第五运算模块,包括:
第三生成模块,用于基于设定藏字生成初始输入变量;
第六运算模块,用于将所述初始输入变量和首句用藏字对应的字向量输入藏字诗生成模型,得到首句用藏字的紧邻字;
第三设置模块,用于将所述首句用藏字的紧邻字作为当前字;
第三执行模块,用于循环执行如下第三输入步骤:将当前字输入所述藏字诗生成模型,得到当前字的紧临字,将当前字的紧临字作为当前字;直至当前字是该藏字诗首句的最后一个字,得到藏字诗首句。
在一种实施方式中,第三生成模块,包括:
第二生成模块,用于生成设定藏字对应的字向量,以及设定藏字在待生成藏字诗中位置对应的位置向量;
第一处理模块,用于将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
第二处理模块,用于将得到的隐向量进行加权平均,得到藏头向量;
表征模块,基于所述藏头向量对高斯模型分布进行表征;
采样模块,从所表征的高斯模型中采样,得到初始输入变量。
在一种实施方式中,第六运算模块,包括:
第七运算模块,用于将非首句用藏字输入至所述藏字诗生成模型,得到所述非首句用藏字的紧邻字;
第二关联模块,用于将所述非首句用藏字的紧邻字与当前非首句的之前已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第七输出;
第四设置模块,用于将所述非首句藏字的紧邻字作为当前字,将所述第七输出作为当前字上一字的输出;
第四执行模块,用于循环执行如下第四输入步骤:将当前字上一字的输出与当前字的字向量输入所述藏字诗生成模型,得到当前字的紧邻字,将当前字的紧邻字与当前非首句的上一已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第八输出;若当前字的紧邻字不是该非首句的最后一个字,将当前字的紧邻字作为新的当前字,将第八输出作为新的当前字上一个字的输出,执行所述第四输入步骤;得到藏字诗非首句。
本文的实施例提供的技术方案可以包括以下有益效果:
本文在非首句的训练和生成过程中,引入了关联机制,使非首句与非首句之前诗句产生关联,提高整首诗的关联性,使生成的诗逻辑更合理,意境更一致,同时提高对杖效果。
本文还在首句训练过程中,通过变分自编码器(VariationalAuto-Encoder,VAE)引入隐变量来对数据分布进行模拟,在预测生成藏字诗时通过正态分布采样不同的隐变量使生成诗更具多样性,满足用户不同的需求,提高用户使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本文的实施例,并与说明书一起用于解释本文的原理。
图1是根据一示例性实施例示出的一种训练藏字诗生成模型的方法的流程图;
图2是根据一示例性实施例示出的图1所示的步骤S121的流程图;
图3是根据一示例性实施例示出的图1所示的步骤S122的流程图;
图4是根据一示例性实施例示出的图2所示的步骤S201的流程图;
图5是根据一示例性实施例示出的图1所示的步骤S123的流程图;
图6是根据一示例性实施例示出的一种藏字诗生成方法的流程图;
图7是根据一示例性实施例示出的图6中步骤S602的流程图;
图8是根据一示例性实施例示出的图6中步骤S603的流程图;
图9是根据一示例性实施例示出的一种训练藏字诗生成模型的装置的结构图;
图10是根据一示例性实施例示出的图9所示的第一运算模块9021的结构图;
图11是根据一示例性实施例示出的图10所示的第一生成模块1001的结构图;
图12是根据一示例性实施例示出的图9所示的第一生成模块9022的结构图;
图13是根据一示例性实施例示出的图9所示的第一调整模块9023的结构图;
图14是根据一示例性实施例示出的一种藏字诗生成装置的结构图;
图15是根据一示例性实施例示出的图14所示的第五运算模块1402的结构图;
图16是根据一示例性实施例示出的图14所示的第六运算模块1403的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本文相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本文的一些方面相一致的装置和方法的例子。
本文中涉及的藏字诗是指藏头诗或藏尾诗,并且藏字诗的每一句包含的字数均相同。
本文实施例提供了一种训练藏字诗生成模型的方法。参照图1,图1是根据一示例性实施例示出的一种训练藏字诗生成模型的方法的流程图;如图1所示,此方法包括:
步骤S11,确定用于生成藏字诗生成模型的机器学习神经网络。
步骤S12,使用样本集合中的样本藏字诗对藏头诗生成模型进行多轮如下训练直至藏字诗生成模型收敛:
步骤S121,将样本藏字诗首句中的字依次输入神经网络,得到样本藏字诗首句的输出。
步骤S122,将样本藏字诗中非首句中的字依次输入神经网络,并基于神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到藏字诗非首句的输出。
步骤S123,基于首句的输出以及非首句的输出分别与样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数。
其中步骤S122中计算关联程度的方式有多种,例如使用注意力机制(Attention),注意力机制的原理是计算当前输入序列与输出向量的匹配程度,匹配度越高则注意力集中点其相对的得分越高。注意力机制包括基于空间注意力的机制和基于时间注意力的机制,本实施例中使用基于时间注意力的机制,并且计算得到的匹配度权重只限于当前序列对,不同于网络模型权重的整体权重。
步骤S122中还包括计算神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,具体包括:计算神经网络的输出和非首句中每个字与该字所在诗句之前诗句中每个字对应的字向量的关联程度。例如:在使用注意力机制时,根据注意力机制计算神经网络的输出和非首句中每个字与该字所在诗句之前诗句中每个字对应的字向量的关联程度。
本方法中,在非首句的训练过程中,引入了关联机制,使非首句与该非首句之前诗句产生关联,提高整首诗的关联性,使生成的诗逻辑更合理,意境更一致,同时提高对杖效果。
在另一实施例中,步骤S11中,用于生成藏字诗生成模型的机器学习神经网络包括编码器和解码器。编码器和解码器是基于一层以上的(例如两层或四层等)长短期记忆网络(Long Short-Term Memory,LSTM)或者门控循环单元(Gated Recurrent Unit,GRU)。LSTM是一种特殊的循环神经网络(Recurrent Neural Network,RNN),LSTM有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。GRU作为LSTM的一种变体,将忘记门和输入门合成了一个单一的更新门,同样还混合了细胞状态和隐藏状态,加诸其他一些改动,最终的模型比标准的LSTM模型更简洁。编码器和解码器的层数相同或者不同。优选的方式是,编码器和解码器的层数相同。藏头诗生成模型的解码器还可以是RNN解码器、卷积神经网络(Convolutional Neural Networks,CNN)解码器、转换器(transformer)解码器。
在另一实施例中,待生成的藏字诗的句数为N、句单位字数为M;N和M均为正整数。步骤S12中样本集合中的样本藏字诗的句数也为N,句单位字数也为M。待生成的藏字诗和样本藏字诗的类型可以是古诗类型,例如:绝句和律诗。五言绝句的句数N为4,句单位字数M为5;七言绝句的句数N为4,句单位字数M为7;五言律诗的句数N为8,句单位字数M为5;七言律诗的句数N为8,句单位字数M为7。除此以外,藏字诗的类型还可以是每一句包含的字数均相同的现代诗类型,N和M还可以根据使用需要设置为其它数值。
样本集合中的样本藏字诗的种类包括以下中的一种或多种:公开出版物上记载的著名诗人的作品诗、个人诗集中的作品诗、网络上公开的个人作品诗。样本集合中样本诗的数量和种类越多,训练出的藏头诗生成模型的性能越好。一般情况下,样本集合中的样本诗的数量是万数量级。‘
本文实施例还提供了一种训练藏字诗生成模型的方法。此方法在图1所示方法的基础上得到的,参照图2,图2是图1所示步骤S121的流程图,如图2所示,图1所示的步骤S121包括:
步骤S201,基于样本藏字诗所藏字生成初始输入变量;
步骤S202,将初始输入变量和样本藏字诗首句所藏字对应的字向量输入神经网络,得到第一输出;
步骤S203,将所藏字的紧邻字作为当前字,将第一输出作为当前字上一个字的输出;
步骤S204,执行如下第一输入步骤:将上一个字的输出,与当前字的字向量输入所述神经网络,得到第二输出;
步骤S205,判断当前字是否是该首句的最后一个字;
步骤S206,当前字不是该首句的最后一个字,则将与当前字紧邻的下一个字作为新的当前字,将第二输出作为新的当前字上一个字的输出,转至步骤S204;
步骤S207,当前字是该首句最后一个字,得到所述藏字诗首句的输出。
其中,步骤S204、步骤S205、步骤S206会循环执行多次,循环执行的次数与样本藏字诗中每句的句单位字数M相关,具体为:循环执行的次数是M-1次。
本实施例的方法适用于藏头诗,也适用于藏尾诗。对于藏尾诗,输入一诗句的字时,按倒序的方式输入。对于藏头诗,所藏字的紧邻字是所藏字所在诗句中的第二个字,当前字紧邻的下一个字是指当前字所在诗句中当前字的后一个字。对于藏尾诗,所藏字的紧邻字是所藏字所在诗句中的倒数第二个字,当前字紧邻的下一个字是指当前字所在诗句中当前字的前一个字。
本文实施例还提供了一种训练藏字诗生成模型的方法。此方法在图2所示方法的基础上得到的,参照图3,图3是在图1所示步骤S122的流程图,如图3所示,图1所示步骤S122包括:
步骤S301,将样本藏字诗中非首句中所藏字对应的字向量输入神经网络,得到第三输出;
步骤S302,将第三输出与该非首句之前诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第四输出;
步骤S303,将所藏字的紧邻字作为当前字,将第四输出作为当前字上一个字的输出;
步骤S304,执行如下第二输入步骤:将上一个字的输出与当前字的字向量输入神经网络,得到第五输出;将第五输出与该非首句的之前诗句中的每个字对应的字向量分别通过注意力机制进行关联处理,得到第六输出;
步骤S305,判断当前字是否是该非首句的最后一个字;
步骤S306,当前字不是该非首句的最后一个字时,将与当前字紧邻的下一个字作为新的当前字,将第六输出作为新的当前字上一个字的输出,跳转至步骤S304。
步骤S307,当前字是该非首句的最后一个字时,得到藏字诗非首句的输出。
其中,步骤S304、步骤S305、步骤S306会循环执行多次,循环执行的次数与样本藏字诗中每句的句单位字数M相关,具体为:循环执行的次数是M-1次。
本文实施例还提供了一种训练藏字诗生成模型的方法。此方法在图2所示方法的基础上得到的,参照图4,图4是图2所示步骤S201的流程图,如图4所示,图2所示的S201基于样本藏字诗所藏字生成初始输入变量包括:
步骤S401,生成该样本藏字诗所藏字对应的字向量,以及所藏字在该样本藏字诗中位置对应的位置向量。
字向量是用于表示具有唯一性的单字的向量,此向量的维度是大于10且小于1000之间的值。位置向量是用于表示所藏字在该样本藏字诗中位置的向量,即表示所藏字是整首诗的第几句的第几个字。
步骤S402,将字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量。
步骤S403,将得到的隐向量进行加权平均,得到藏头向量。
步骤S404,基于藏头向量对高斯模型分布进行表征。
步骤S405,从所表征的高斯模型中采样,得到初始输入变量。
本文实施例还提供了一种训练藏字诗生成模型的方法。此方法在图4所示方法的基础上得到的。参照图5,图5是图1所示步骤S123的流程图,如图5所示,图1所示的S123基于首句的输出以及非首句的输出分别与样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数,包括:
步骤S501,确定首句和非首句中每个字的输出与样本藏字诗对应字的交叉熵的平均,得到第一损失。
步骤S502,确定藏头向量表征的高斯分布与标准高斯分布的KL散度;其中,标准高斯分布的维度与藏头向量表征的高斯分布的维度相同。
步骤S503,根据KL散度确定第二损失。
步骤S504,根据第一损失和第二损失对所述机器模型的参数进行调整。
在另一实施例中,结合图4和图5,步骤S404中基于藏头向量根据变分自编码器(Variational Auto-Encoder,VAE)对高斯模型分布进行表征。变分自动编码器VAE是一种深度生成模型(Deep Generative Model),是一种无监督学习算法。它的主要作用是能够学习一个函数(模型),使得输出数据的分布尽可能地逼近原始数据分布。
步骤S404中基于藏头向量根据变分自编码器VAE对高斯模型分布进行表征相当于构建了一个隐变量集合的分布,此隐变量集合是遵循高维高斯分布的,每一个具体的隐变量是代表一种生成结果的可能性。构建过程中的训练过程使用后验证网络,并通过KL散度来保证后验网络模拟出的高斯分布尽量和预先设定的标准正态分布接近,这样保证两个分布具有空间一致性。从高维高斯分布采样获得隐变量时可以从高维高斯分布中进行随机采样获取一隐变量。因为两个分布具有空间一致性,那么预测过程中从预先设定的标准正态分布中随机采样一个隐变量可以很好地模拟出样本数据中的一种可能的样例。高维高斯分布的维数越高,相应的藏头诗生成模型的多样性越好,高维高斯分布的维数是大于100的数。
上述在首句训练过程中通过引入变分自编码器VAE来对数据分布进行模拟,在便于在预测生成藏字诗时通过正态分布采样不同的隐变量使生成诗更具多样性,同样的4个藏头字或者藏尾字可以有不同的生成结果,在于用户交互的过程中,给用户带来更丰富的选择。
本文实施例还提供了一种藏字诗生成方法。参照图6,图6是根据一示例性实施例示出的一种藏字诗生成方法的流程图。如图6所示,此方法包括:
步骤S601,获取已训练成功的藏字诗生成模型。
步骤S602,将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句。
步骤S603,将非首句用藏字输入至藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句。
其中步骤S601中已训练成功的藏字诗生成模型是根据上述训练藏字诗生成模型的方法训练成功的藏字诗生成模型,此藏字诗生成模型是一种机器学习神经网络。
本文实施例还提供了一种藏字诗生成方法。此方法是在图6的基础上得到的。参照图7,图7是根据一示例性实施例示出的图6中步骤S602的流程图,如图7所示,图6中步骤S602包括:
步骤701,基于设定藏字生成初始输入变量;
步骤702,将所述初始输入变量和首句用藏字对应的字向量输入所述藏字诗生成模型,得到首句用藏字的紧邻字;
步骤703,将所述首句用藏字的紧邻字作为当前字;执行如下第三输入步骤:将当前字输入所述藏字诗生成模型,得到当前字的紧临字,将当前字的紧临字作为当前字;直至当前字是该藏字诗首句的最后一个字,得到藏字诗首句。
其中步骤701中基于设定藏字生成初始输入变量的方法与训练过程中基于样本藏字诗所藏字生成初始输入变量的方法同理,具体包括:
生成设定藏字对应的字向量,以及设定藏字在待生成藏字诗中位置对应的位置向量;
将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
将得到的隐向量进行加权平均,得到藏头向量;
基于所述藏头向量对高斯模型分布进行表征;
从所表征的高斯模型中采样,得到初始输入变量。
本文实施例还提供了一种藏字诗生成方法。此方法是在图7的基础上得到的。参照图8,图8是根据一示例性实施例示出的图6中步骤S603的流程图,如图8所示,图6中步骤S603包括:
步骤S801,将非首句用藏字输入至藏字诗生成模型,得到非首句用藏字的紧邻字;
步骤S802,将非首句用藏字的紧邻字与当前非首句的之前已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第七输出;
步骤S803,将非首句藏字的紧邻字作为当前字,将第七输出作为当前字上一字的输出;
步骤S804,执行如下第四输入步骤:将当前字上一字的输出与当前字的字向量输入藏字诗生成模型,得到当前字的紧邻字,将当前字的紧邻字与当前非首句的之前已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第八输出;
步骤S805,判断当前字的紧邻字是否是该非首句的最后一个字;
步骤S806,当前字的紧邻字不是该非首句的最后一个字,将当前字的紧邻字作为新的当前字,将第八输出作为新的当前字上一个字的输出,跳转至步骤S804;
步骤S807,当前字的紧邻字是该非首句的最后一个字,得到藏字诗非首句。
本文实施例还提供了一种训练藏字诗生成模型的装置。参照图9,图9是根据一示例性实施例示出的训练藏字诗生成模型的装置的结构图。如图9所示,此装置包括:
确定模块901,用于确定用于生成藏字诗生成模型的机器学习神经网络;
训练模块902,用于使用样本集合中的样本藏字诗对藏头诗生成模型进行多轮训练直至所述藏字诗生成模型收敛:
所述训练模块902包括:
第一运算模块9021,用于将样本藏字诗首句中的字依次输入所述神经网络,得到所述样本藏字诗首句的输出;
第二运算模块9022,用于第二将所述样本藏字诗中非首句中的字依次输入所述神经网络,并基于所述神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到所述藏字诗非首句的输出;
第一调整模块9033,用于基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数。
本文实施例还提供了一种训练藏字诗生成模型的装置。此装置中处理的藏字诗中所藏字在所在诗句的头部或者尾部。参照图10,图10是根据一示例性实施例示出的图9所示的第一运算模块9021的结构图。如图10所示,图9所示的第一运算模块9021,包括:
第一生成模块1001,用于基于样本藏字诗所藏字生成初始输入变量;
第三运算模块1002,用于将所述初始输入变量和该样本藏字诗首句所藏字对应的字向量输入神经网络,得到第一输出;
第一设置模块1003,用于将该所藏字的紧邻字作为当前字,将所述第一输出作为当前字上一个字的输出;
第一执行模块1004,用于循环执行如下第一输入步骤:将上一个字的输出,与当前字的字向量输入所述神经网络,得到第二输出;若当前字不是该首句的最后一个字时,则将与当前字紧邻的下一个字作为新的当前字,将第二输出作为新的当前字上一个字的输出,执行所述第一输入步骤;得到所述藏字诗首句的输出。
本文实施例还提供了一种训练藏字诗生成模型的装置。此装置中处理的藏字诗中所藏字在所在诗句的头部或者尾部。参照图11,图11是根据一示例性实施例示出的图10所示的第一生成模块1001的结构图。如图11所示,图10所示的第一生成模块1001,包括:
第二生成模块1111,用于生成该样本藏字诗所藏字对应的字向量,以及所藏字在该样本藏字诗中位置对应的位置向量;
第一处理模块1112,用于将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
第二处理模块1113,用于将得到的隐向量进行加权平均,得到藏头向量;
表征模块1114,用于基于所述藏头向量对高斯模型分布进行表征;
采样模块1115,用于从所表征的高斯模型中采样,得到初始输入变量。
本文实施例还提供了一种训练藏字诗生成模型的装置。此装置中处理的藏字诗中所藏字在所在诗句的头部或者尾部。参照图12,图12是根据一示例性实施例示出的图9所示的第二运算模块9022的结构图。如图12所示,图9所示的第二运算模块9022,包括:
第四运算模块1201,用于将所述样本藏字诗中非首句中所藏字对应的字向量输入所述神经网络,得到第三输出;
第一关联模块1202,用于将所述第三输出与该非首句之前诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第四输出;
第二设置模块1203,用于将该所藏字的紧邻字作为当前字,将所述第四输出作为当前字上一个字的输出;
第二执行模块1204,用于执行如下第二输入步骤:将上一个字的输出与当前字的字向量输入所述神经网络,得到第五输出;将所述第五输出与该非首句的之前诗句中的每个字对应的字向量分别通过注意力机制进行关联处理,得到第六输出;若当前字不是该非首句的最后一个字时,则将与当前字紧邻的下一个字作为新的当前字,将第六输出作为新的当前字上一个字的输出,执行所述第二输入步骤;得到所述藏字诗非首句的输出。
本文实施例还提供了一种训练藏字诗生成模型的装置。此装置中处理的藏字诗中所藏字在所在诗句的头部或者尾部。参照图13,图13是根据一示例性实施例示出的图9所示的第一调整模块9023的结构图。如图13所示,图9所示的第一调整模块9023,包括:
第一计算模块1301,用于确定首句和非首句中每个字的输出与原样本藏字诗对应字的交叉熵的平均,得到第一损失;
第二计算模块1302,用于确定所述藏头向量表征的高斯分布与标准高斯分布的KL散度;
第三计算模块1303,用于根据所述KL散度确定第二损失;
第二调整模块1304,用于根据所述第一损失和所述第二损失对所述神经网络的参数进行调整。
本文实施例还提供了一种藏字诗生成装置。参照图14,图14是根据一示例性实施例示出的一种藏字诗生成装置的结构图。如图14所示,此装置包括:
第一获取模块1401,用于获取已训练成功的藏字诗生成模型;
第五运算模块1402,用于将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句;
第六运算模块1403,用于将非首句用藏字输入至所述藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句。
本文实施例还提供了一种藏字诗生成装置。此装置是在图14的基础上得到的一装置。参照图15,图15是根据一示例性实施例示出的图14所示的第五运算模块1402的结构图。如图15所示,图14所示的第五运算模块1402,包括:
第三生成模块1501,用于基于设定藏字生成初始输入变量;
第七运算模块1502,用于将所述初始输入变量和首句用藏字对应的字向量输入藏字诗生成模型,得到首句用藏字的紧邻字;
第三设置模块1503,用于将所述首句用藏字的紧邻字作为当前字;
第三执行模块1504,用于循环执行如下第三输入步骤:将当前字输入所述藏字诗生成模型,得到当前字的紧临字,将当前字的紧临字作为当前字;直至当前字是该藏字诗首句的最后一个字,得到藏字诗首句。
本文实施例还提供了一种藏字诗生成装置。此装置是在图15的基础上得到的一装置。图15所示的第三生成模块1501的生成原理与图10所示的第一生成模块的生成原理相同。此第三生成模块1501包括:
第四生成模块,用于生成设定藏字对应的字向量,以及设定藏字在待生成藏字诗中位置对应的位置向量;
第一处理模块,用于将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
第二处理模块,用于将得到的隐向量进行加权平均,得到藏头向量;
表征模块,基于所述藏头向量对高斯模型分布进行表征;
采样模块,从所表征的高斯模型中采样,得到初始输入变量。
本文实施例还提供了一种藏字诗生成装置。此装置是在图14的基础上得到的一装置。参照图16,图16是根据一示例性实施例示出的图14所示的第六运算模块1403的结构图。如图16所示,图14所示的第六运算模块1403,包括:
第八运算模块1601,用于将非首句用藏字输入至所述藏字诗生成模型,得到所述非首句用藏字的紧邻字;
第二关联模块1602,用于将所述非首句用藏字的紧邻字与当前非首句的之前已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第七输出;
第四设置模块1603,用于将所述非首句藏字的紧邻字作为当前字,将所述第七输出作为当前字上一字的输出;
第四执行模块1604,用于循环执行如下第四输入步骤:将当前字上一字的输出与当前字的字向量输入所述藏字诗生成模型,得到当前字的紧邻字,将当前字的紧邻字与当前非首句的上一已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第八输出;若当前字的紧邻字不是该非首句的最后一个字,将当前字的紧邻字作为新的当前字,将第八输出作为新的当前字上一个字的输出,执行所述第四输入步骤;得到藏字诗非首句。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本文的其它实施方案。本申请旨在涵盖本文的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本文的一般性原理并包括本文未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本文的真正范围和精神由下面的权利要求指出。
应当理解的是,本文并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本文的范围仅由所附的权利要求来限制。
Claims (18)
1.一种训练藏字诗生成模型的方法,其特征在于,包括:
确定用于生成藏字诗生成模型的机器学习神经网络;
使用样本集合中的样本藏字诗对藏头诗生成模型进行多轮如下训练直至所述藏字诗生成模型收敛:
将样本藏字诗首句中的字依次输入所述神经网络,得到所述样本藏字诗首句的输出;并
将所述样本藏字诗中非首句中的字依次输入所述神经网络,并基于所述神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到所述藏字诗非首句的输出;
基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数。
2.如权利要求1所述的训练藏字诗生成模型的方法,其特征在于,所述藏字诗所藏字在所在诗句的头部或者尾部;
将样本藏字诗首句中的字依次输入所述神经网络,得到所述藏字诗首句的输出,包括:
基于样本藏字诗所藏字生成初始输入变量;
将所述初始输入变量和该样本藏字诗首句所藏字对应的字向量输入神经网络,得到第一输出;
将该所藏字的紧邻字作为当前字,将所述第一输出作为当前字上一个字的输出,循环执行如下第一输入步骤:
将上一个字的输出,与当前字的字向量输入所述神经网络,得到第二输出;若当前字不是该首句的最后一个字,则将与当前字紧邻的下一个字作为新的当前字,将第二输出作为新的当前字上一个字的输出,执行所述第一输入步骤;得到所述藏字诗首句的输出。
3.如权利要求2所述的训练藏字诗生成模型的方法,其特征在于,基于该样本藏字诗所藏字生成初始输入变量,包括:
生成该样本藏字诗所藏字对应的字向量,以及所藏字在该样本藏字诗中位置对应的位置向量;
将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
将得到的隐向量进行加权平均,得到藏头向量;
基于所述藏头向量对高斯模型分布进行表征;并
从所表征的高斯模型中采样,得到初始输入变量。
4.如权利要求2所述的训练藏字诗生成模型的方法,其特征在于,将所述样本藏字诗中非首句中的字依次输入所述神经网络,并基于所述神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到所述藏字诗非首句的输出,包括:
将该样本藏字诗中非首句中所藏字对应的字向量输入所述神经网络,得到第三输出;
将所述第三输出与该非首句之前诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第四输出;
将该所藏字的紧邻字作为当前字,将所述第四输出作为当前字上一个字的输出,循环执行如下第二输入步骤:
将上一个字的输出与当前字的字向量输入所述神经网络,得到第五输出;将所述第五输出与该非首句的之前诗句中的每个字对应的字向量分别通过注意力机制进行关联处理,得到第六输出;若当前字不是该非首句的最后一个字,则将与当前字紧邻的下一个字作为新的当前字,将第六输出作为新的当前字上一个字的输出,执行所述第二输入步骤;得到所述藏字诗非首句的输出。
5.如权利要求3所述的训练藏字诗生成模型的方法,其特征在于,基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数,包括:
确定首句和非首句中每个字的输出与所述样本藏字诗对应字的交叉熵的平均,得到第一损失;以及
确定所述藏头向量表征的高斯分布与标准高斯分布的KL散度;并
根据所述KL散度确定第二损失;
根据所述第一损失和所述第二损失对所述神经网络的参数进行调整。
6.一种藏字诗生成方法,其特征在于,包括:
获取已训练成功的藏字诗生成模型;
将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句;
将非首句用藏字输入至所述藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句。
7.如权利要求6所述的藏字诗生成方法,其特征在于,将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句,包括:
基于设定藏字生成初始输入变量;
将所述初始输入变量和首句用藏字对应的字向量输入藏字诗生成模型,得到首句用藏字的紧邻字;
将所述首句用藏字的紧邻字作为当前字,循环执行如下第三输入步骤:
将当前字输入所述藏字诗生成模型,得到当前字的紧临字,将当前字的紧临字作为当前字;直至当前字是该藏字诗首句的最后一个字,得到藏字诗首句。
8.如权利要求7所述的藏字诗生成方法,其特征在于,基于设定藏字生成初始输入变量,包括:
生成设定藏字对应的字向量,以及设定藏字在待生成藏字诗中位置对应的位置向量;
将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
将得到的隐向量进行加权平均,得到藏头向量;
基于所述藏头向量对高斯模型分布进行表征;并
从所表征的高斯模型中采样,得到初始输入变量。
9.如权利要求7所述的藏字诗生成方法,其特征在于,将非首句用藏字输入至所述藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句,包括:
将非首句用藏字输入至所述藏字诗生成模型,得到所述非首句用藏字的紧邻字;
将所述非首句用藏字的紧邻字与当前非首句的之前已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第七输出;
将所述非首句藏字的紧邻字作为当前字,将所述第七输出作为当前字上一字的输出,循环执行如下第四输入步骤:
将当前字上一字的输出与当前字的字向量输入所述藏字诗生成模型,得到当前字的紧邻字,将当前字的紧邻字与当前非首句的上一已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第八输出;若当前字的紧邻字不是该非首句的最后一个字,将当前字的紧邻字作为新的当前字,将第八输出作为新的当前字上一个字的输出,执行所述第四输入步骤;得到藏字诗非首句。
10.一种训练藏字诗生成模型的装置,其特征在于,包括:
确定模块,用于确定用于生成藏字诗生成模型的机器学习神经网络;
训练模块,用于使用样本集合中的样本藏字诗对藏头诗生成模型进行多轮训练直至所述藏字诗生成模型收敛:
所述训练模块包括:
第一运算模块,用于将样本藏字诗首句中的字依次输入所述神经网络,得到所述样本藏字诗首句的输出;
第二运算模块,用于第二将所述样本藏字诗中非首句中的字依次输入所述神经网络,并基于所述神经网络的输出和非首句中每个字与该字所在诗句之前诗句的关联程度,得到所述藏字诗非首句的输出;
第一调整模块,用于基于首句的输出以及非首句的输出分别与所述样本藏字诗中对应首句和非首句之间的差异对所述神经网络的参数进行调整,以便在下轮训练中使用调整后的参数。
11.如权利要求10所述的训练藏字诗生成模型的装置,其特征在于,所述藏字诗所藏字在所在诗句的头部或者尾部;
所述第一运算模块,包括:
第一生成模块,用于基于样本藏字诗所藏字生成初始输入变量;
第三运算模块,用于将所述初始输入变量和该样本藏字诗首句所藏字对应的字向量输入神经网络,得到第一输出;
第一设置模块,用于将该所藏字的紧邻字作为当前字,将所述第一输出作为当前字上一个字的输出;
第一执行模块,用于循环执行如下第一输入步骤:将上一个字的输出,与当前字的字向量输入所述神经网络,得到第二输出;若当前字不是该首句的最后一个字时,则将与当前字紧邻的下一个字作为新的当前字,将第二输出作为新的当前字上一个字的输出,执行所述第一输入步骤;得到所述藏字诗首句的输出。
12.如权利要求11所述的训练藏字诗生成模型的装置,其特征在于,
所述第一生成模块,包括:
第二生成模块,用于生成该样本藏字诗所藏字对应的字向量,以及所藏字在该样本藏字诗中位置对应的位置向量;
第一处理模块,用于将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
第二处理模块,用于将得到的隐向量进行加权平均,得到藏头向量;
表征模块,用于基于所述藏头向量对高斯模型分布进行表征;
采样模块,用于从所表征的高斯模型中采样,得到初始输入变量。
13.如权利要求12所述的训练藏字诗生成模型的方法,其特征在于,
所述第二运算模块,包括:
第四运算模块,用于将所述样本藏字诗中非首句中所藏字对应的字向量输入所述神经网络,得到第三输出;
第一关联模块,用于将所述第三输出与该非首句之前诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第四输出;
第二设置模块,用于将该所藏字的紧邻字作为当前字,将所述第四输出作为当前字上一个字的输出;
第二执行模块,用于执行如下第二输入步骤:将上一个字的输出与当前字的字向量输入所述神经网络,得到第五输出;将所述第五输出与该非首句的之前诗句中的每个字对应的字向量分别通过注意力机制进行关联处理,得到第六输出;若当前字不是该非首句的最后一个字时,则将与当前字紧邻的下一个字作为新的当前字,将第六输出作为新的当前字上一个字的输出,执行所述第二输入步骤;得到所述藏字诗非首句的输出。
14.如权利要求12所述的训练藏字诗生成模型的装置,其特征在于,
所述第一调整模块,包括
第一计算模块,用于确定首句和非首句中每个字的输出与原样本藏字诗对应字的交叉熵的平均,得到第一损失;
第二计算模块,用于确定所述藏头向量表征的高斯分布与标准高斯分布的KL散度;
第三计算模块,用于根据所述KL散度确定第二损失;
第二调整模块,用于根据所述第一损失和所述第二损失对所述神经网络的参数进行调整。
15.一种藏字诗生成装置,其特征在于,包括:
第一获取模块,用于获取已训练成功的藏字诗生成模型;
第五运算模块,用于将首句用藏字输入至所述藏字诗生成模型,得到藏字诗首句;
第六运算模块,用于将非首句用藏字输入至所述藏字诗生成模型,并基于所述藏字诗生成模型的生成字和所述生成字与当前非首句之前诗句的关联程度,得到藏字诗非首句。
16.如权利要求15所述的藏字诗生成装置,其特征在于,
第五运算模块,包括:
第三生成模块,用于基于设定藏字生成初始输入变量;
第六运算模块,用于将所述初始输入变量和首句用藏字对应的字向量输入藏字诗生成模型,得到首句用藏字的紧邻字;
第三设置模块,用于将所述首句用藏字的紧邻字作为当前字;
第三执行模块,用于循环执行如下第三输入步骤:将当前字输入所述藏字诗生成模型,得到当前字的紧临字,将当前字的紧临字作为当前字;直至当前字是该藏字诗首句的最后一个字,得到藏字诗首句。
17.如权利要求16所述的藏字诗生成装置,其特征在于,
第三生成模块,包括:
第二生成模块,用于生成设定藏字对应的字向量,以及设定藏字在待生成藏字诗中位置对应的位置向量;
第一处理模块,用于将所述字向量和对应位置向量分别进行叠加,得到每个所藏字对应的隐向量;
第二处理模块,用于将得到的隐向量进行加权平均,得到藏头向量;
表征模块,基于所述藏头向量对高斯模型分布进行表征;
采样模块,从所表征的高斯模型中采样,得到初始输入变量。
18.如权利要求16所述的藏字诗生成装置,其特征在于,
第六运算模块,包括:
第七运算模块,用于将非首句用藏字输入至所述藏字诗生成模型,得到所述非首句用藏字的紧邻字;
第二关联模块,用于将所述非首句用藏字的紧邻字与当前非首句的之前已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第七输出;
第四设置模块,用于将所述非首句藏字的紧邻字作为当前字,将所述第七输出作为当前字上一字的输出;
第四执行模块,用于循环执行如下第四输入步骤:将当前字上一字的输出与当前字的字向量输入所述藏字诗生成模型,得到当前字的紧邻字,将当前字的紧邻字与当前非首句的上一已生成诗句中的每个字对应的字向量分别通过注意力机制进行关联度处理,得到第八输出;若当前字的紧邻字不是该非首句的最后一个字,将当前字的紧邻字作为新的当前字,将第八输出作为新的当前字上一个字的输出,执行所述第四输入步骤;得到藏字诗非首句。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010016847.4A CN111221958B (zh) | 2020-01-08 | 2020-01-08 | 一种训练藏字诗生成模型的方法、藏字诗生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010016847.4A CN111221958B (zh) | 2020-01-08 | 2020-01-08 | 一种训练藏字诗生成模型的方法、藏字诗生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221958A true CN111221958A (zh) | 2020-06-02 |
CN111221958B CN111221958B (zh) | 2024-03-15 |
Family
ID=70808924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010016847.4A Active CN111221958B (zh) | 2020-01-08 | 2020-01-08 | 一种训练藏字诗生成模型的方法、藏字诗生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221958B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984783A (zh) * | 2020-08-28 | 2020-11-24 | 达闼机器人有限公司 | 文本生成模型的训练方法、文本生成方法及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955964A (zh) * | 2016-06-13 | 2016-09-21 | 北京百度网讯科技有限公司 | 一种自动生成诗歌的方法和装置 |
CN106776517A (zh) * | 2016-12-20 | 2017-05-31 | 科大讯飞股份有限公司 | 自动作诗方法和装置及系统 |
US20170372696A1 (en) * | 2016-06-28 | 2017-12-28 | Samsung Electronics Co., Ltd. | Language processing method and apparatus |
CN108563622A (zh) * | 2018-05-04 | 2018-09-21 | 清华大学 | 一种具有风格多样性的绝句生成方法及装置 |
US20180300400A1 (en) * | 2017-04-14 | 2018-10-18 | Salesforce.Com, Inc. | Deep Reinforced Model for Abstractive Summarization |
CN109582952A (zh) * | 2018-10-31 | 2019-04-05 | 腾讯科技(深圳)有限公司 | 诗歌生成方法、装置、计算机设备和介质 |
US20190122145A1 (en) * | 2017-10-23 | 2019-04-25 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, apparatus and device for extracting information |
CN109977382A (zh) * | 2019-03-05 | 2019-07-05 | 安徽省泰岳祥升软件有限公司 | 诗句生成模型的训练方法、自动写诗方法及装置 |
-
2020
- 2020-01-08 CN CN202010016847.4A patent/CN111221958B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955964A (zh) * | 2016-06-13 | 2016-09-21 | 北京百度网讯科技有限公司 | 一种自动生成诗歌的方法和装置 |
US20170372696A1 (en) * | 2016-06-28 | 2017-12-28 | Samsung Electronics Co., Ltd. | Language processing method and apparatus |
CN106776517A (zh) * | 2016-12-20 | 2017-05-31 | 科大讯飞股份有限公司 | 自动作诗方法和装置及系统 |
US20180300400A1 (en) * | 2017-04-14 | 2018-10-18 | Salesforce.Com, Inc. | Deep Reinforced Model for Abstractive Summarization |
US20190122145A1 (en) * | 2017-10-23 | 2019-04-25 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, apparatus and device for extracting information |
CN108563622A (zh) * | 2018-05-04 | 2018-09-21 | 清华大学 | 一种具有风格多样性的绝句生成方法及装置 |
CN109582952A (zh) * | 2018-10-31 | 2019-04-05 | 腾讯科技(深圳)有限公司 | 诗歌生成方法、装置、计算机设备和介质 |
CN109977382A (zh) * | 2019-03-05 | 2019-07-05 | 安徽省泰岳祥升软件有限公司 | 诗句生成模型的训练方法、自动写诗方法及装置 |
Non-Patent Citations (2)
Title |
---|
何晶;周明;蒋龙;: "基于统计的汉语格律诗生成研究" * |
姜力;詹国华;李志华;: "基于递归神经网络的散文诗自动生成方法" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984783A (zh) * | 2020-08-28 | 2020-11-24 | 达闼机器人有限公司 | 文本生成模型的训练方法、文本生成方法及相关设备 |
CN111984783B (zh) * | 2020-08-28 | 2024-04-02 | 达闼机器人股份有限公司 | 文本生成模型的训练方法、文本生成方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111221958B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Structure-aware abstractive conversation summarization via discourse and action graphs | |
US11423282B2 (en) | Autoencoder-based generative adversarial networks for text generation | |
US20190197109A1 (en) | System and methods for performing nlp related tasks using contextualized word representations | |
US11663483B2 (en) | Latent space and text-based generative adversarial networks (LATEXT-GANs) for text generation | |
CN109242090B (zh) | 一种基于gan网络的视频描述及描述一致性判别方法 | |
Yang et al. | An end-to-end generative architecture for paraphrase generation | |
CN111699497A (zh) | 使用离散潜变量的序列模型的快速解码 | |
CN110069611B (zh) | 一种主题增强的聊天机器人回复生成方法及装置 | |
Phang et al. | Hypertuning: Toward adapting large language models without back-propagation | |
Li et al. | EASE: extractive-abstractive summarization end-to-end using the information bottleneck principle | |
CN111221958A (zh) | 一种训练藏字诗生成模型的方法、藏字诗生成方法及装置 | |
Huang et al. | Personalized dialogue generation with persona-adaptive attention | |
Testoni et al. | Looking for confirmations: An effective and human-like visual dialogue strategy | |
CN113761148A (zh) | 对话信息获取方法、装置、设备及存储介质 | |
KR20220071791A (ko) | 응답과 질의 토큰의 관계에 기초하여 상기 질의에 대한 답변을 제공하는 방법 및 전자 장치 | |
Li et al. | Ease: Extractive-abstractive summarization with explanations | |
CN111339274A (zh) | 对话生成模型训练方法、对话生成方法及装置 | |
Yang et al. | Diversity and consistency: Exploring visual question-answer pair generation | |
Ashfaque et al. | Design and Implementation: Deep Learning-based Intelligent Chatbot | |
CN113535911B (zh) | 奖励模型处理方法、电子设备、介质和计算机程序产品 | |
Chadha et al. | BERTQA--Attention on Steroids | |
Eloff et al. | Toward collaborative reinforcement learning agents that communicate through text-based natural language | |
Hosseini et al. | Large language models implicitly learn to straighten neural sentence trajectories to construct a predictive representation of natural language. | |
Sun et al. | Towards diverse, relevant and coherent open-domain dialogue generation via hybrid latent variables | |
Thoma et al. | Cogmemlm: Human-like memory mechanisms improve performance and cognitive plausibility of LLMs |
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 | ||
CB02 | Change of applicant information |
Address after: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing Applicant after: Beijing Xiaomi pinecone Electronic Co.,Ltd. Address before: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing Applicant before: BEIJING PINECONE ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |