结合多注意力和条件变分自编码器的宋词生成模型
梁骁1, 黄文明1,2, 姚俊3, 温雅媛4, 邓珍荣1,2     
1. 桂林电子科技大学计算机与信息安全学院, 广西桂林 541004;
2. 广西图形图像与智能处理重点实验室, 广西桂林 541004;
3. 广西壮族自治区高级人民法院,广西南宁 530000;
4. 广西师范大学电子工程学院,广西桂林 541004
摘要: 现有的诗词生成方法忽略了风格的重要性。另外,由于宋词大部分词牌词句较多,逐句生成宋词的过程中容易产生上下文缺乏连贯性的现象,在上下文连贯性方面仍存在提升空间。针对这两个问题,在编码解码的文本生成框架基础上,引入自注意力机制的句子表示算法计算多注意力权重矩阵,用于提取词句的多种重要语义特征,让模型更多地关注上文的显著信息来提高上下文连贯性。引入条件变分自编码器(CVAE)将每条宋词数据转化为隐空间中不同风格特征的高维高斯分布,从各自的分布中采样隐变量来控制宋词的风格。由于自构建的宋词语料库缺少完整风格分类标签,使用具有风格标签的宋词微调BERT模型,将其作为风格分类器标注全部的宋词数据。在上述关键技术的基础上实现了宋词生成模型,生成上下文连贯的婉约词以及豪放词。通过与其他4种基准方法进行对比实验,结果表明引入自注意力机制的句子表示算法和条件变分自编码器,在上下文连贯性和风格控制方面有一定的提升。
关键词: 条件变分自编码器    宋词风格    宋词生成    Bi-GRU    自注意力机制    
Song Ci Generation Model Based on Multi-attention and Conditional Variational Auto-encoder
LIANG Xiao1, HUANG Wenming1,2, YAO Jun3, WEN Yayuan4, DENG Zhenrong1,2     
1. College of Computer Science & Information Security, Guilin University of Electronic Technology, Guilin, Guangxi, 541004, China;
2. Guangxi Key Laboratory of Image and Graphic, Intelligent Processing, Guilin, Guangxi, 541004, China;
3. Guangxi Zhuang Autonomous Region Higher People Court, Nanning, Guangxi, 530000, China;
4. College of Electronic Engineering, Guangxi Normal University, Guilin, Guangxi, 541004, China
Abstract: The existing poetry generation methods ignore the importance of style.In addition, since there are the large number of Cipai and phrases in most of Song Ci, it is easy to produce the phenomenon that the context lacks coherence in the process of generating Song Ci sentence by sentence, and there is still space for improvement in context coherence.To solve these two problems, based on the encoding and decoding text generation framework, a sentence representation algorithm based on self-attention mechanism is introduced to calculate multi-attention weight matrix, which is used to extract a variety of important semantic features of words and sentences, so that the model can pay more attention to the significant information above to improve context coherence.The conditional variational self-encoder is introduced to transform each Song Ci data into a high-dimensional Gaussian distribution with different style features in the hidden space, and the hidden variables are sampled from the respective distributions to control the style of Song Ci.Since the self-constructed corpus of Song Ci lacks a complete style classification label, a fine-tuning BERT model of Song Ci with style label is used as a style classifier to label all the data of Song Ci.Based on the above key technologies, the generation model of Song Ci is realized, which generates euphemistic poetry and bold poetry with coherent context.Compared with the other four benchmark methods, the results show that the sentence representation algorithm with self-attention mechanism and the conditional variation self-encoder have certain improvements in context coherence and style control.
Key words: conditional variational auto-encoder    Song Ci style    generation of Song Ci    Bi-GRU    self-attention mechanism    

词源于民间,兴于五代,盛于两宋。宋词是人们对文化生活强烈追求的产物,也是中国传统文化最重要的文学形式之一。宋词自动生成研究能帮助普罗大众学习和自动生成宋词,对进一步弘扬中华民族传统文化具有重要意义。近年来,神经生成模型在自然语言处理上得到广泛应用,其中的古诗词自动生成研究受到众多学者的青睐,引起了研究者们浓厚的兴趣。

将现有的古诗词自动生成研究分为传统方法和基于深度学习的方法。传统方法通过诗词领域的专家人为设计规则和约束来生成古诗词。其中基于模板的方法类似于完形填空,从诗歌中去除一些单词,再从单词库中选择合适的单词放入空白处形成新的诗歌。周昌乐等[1]提出基于遗传算法的宋词生成方法,从语料库中随机选择一句词句,用设计好的评估函数评价词句,并不断迭代直到生成整首宋词,但该方法缺乏语义连贯性。Yan等[2]将古诗生成看成给定写作意图的摘要生成问题,同时加入一些优化约束。He等[3]将诗歌生成看成统计机器翻译问题,人为加上平仄押韵等约束。Tosa等[4]和Wu等[5]采用短语搜索的方法生成日本诗。Netzer等[6]采用基于词联想的方法生成俳句。Oliveira等[7, 8]提出了一种基于语义和语法模板的西班牙诗生成方法。

随着深度学习技术的发展,国内外的古诗词生成研究进入新的阶段。国外基于深度学习的机器翻译和诗歌生成方法如下:Cho等[9]提出由两个递归神经网络RNN组成的编码解码器来实现机器翻译。Gulcehre等[10]采用内存寻址方案实现动态神经机器翻译。Hopkins等[11]集成了一个循环神经网络(RNN)和一个有限状态接受者(FSA)。它生成给定任意主题的英文4行诗。Ghazvininejad等[12]使用一个经过语音编码训练的神经语言模型来学习英语诗歌的形式和隐含表达的内容, 生成英文韵律诗。这种模式可以有效地学习常见的诗歌音律,如押韵、节奏等。但这些方法使用单向量不能保存上下文的全部信息,并且随着输入序列长度的增加会导致循环神经网络的性能下降。国内基于深度学习的方法如下:首先,基于循环神经网络[13]的古诗生成方法将每首古诗的诗句通过拼接的方式形成语料库,用于训练循环神经网络,最终得到一个输出单词字典大小的概率分布模型;然后,给定初始内容,不断从概率分布模型中采样出诗句中的词语,直到生成完整的古诗。基于循环神经网络模型[14]给定关键词逐行生成古诗,它由3个部分组成:用于获取句子的局部表示的卷积神经网络;获取已生成诗句的上下文向量的句子级别的循环神经网络;根据历史诗句上下文和该句已经生成的字符,输出下一个字符概率向量的字符级别循环神经网络。该模型捕获诗句的全局信息和局部信息,提高模型的特征提取能力。Wang等[15]基于注意力的编解码框架宋词生成模型(ICG),将已生成诗句拼接起来作为输入传递给编码器,由解码器输出下一个词句。该方法基于注意力机制配合长短期记忆神经网络,可以学习更长的诗歌,在一定程度上提高前后语义的连贯性。Wang等[16]先给每一句诗歌规划关键词大纲,让生成的诗句与关键词相关,提高了古诗的主题一致性。Yan17]基于编码解码框架,其中编码器是卷积神经网络,编码用户输入的意图关键词,解码器由句子级别和词级别两个循环神经网络组成。Ghazvininejad等[18]的主题诗生成模型(TPG)与规划模型相似,不同的是它先生成4个押韵的关键词,将其作为诗句的结尾,保证古诗的押韵。基于序列到序列的古诗生成模型(SPG)[19]在规划模型基础上增加了基于注意力机制的关键词扩展模型,用于匹配古诗生成模型,提高了古诗的主题一致性。Yi等[20]基于显著信息的古诗生成模型(SCG),通过注意力权重提取已生成诗句的显著语义特征,用于指导解码器生成上下文连贯的诗句。Liu等[21]通过引入条件变分自编码器(CVAE)生成具有比喻或拟人修辞手法的现代诗,首次在生成的诗歌中加入修辞元素,让诗歌变得更加生动形象。

风格作为宋词的重要元素,对提高意境起着重要作用。宋词的风格主要有两类:豪放与婉约。豪放词直抒胸臆,描述了广阔的视野,恢宏的气象; 婉约词词调蕴藉,婉约含蓄,侧重细节描写。现有的研究主要关注诗词的通顺性和主题一致性方面,对于宋词风格方面的研究较少,在很大程度上忽视了风格的重要性。另外,宋词属于长文本的体裁,词句较多,现有的生成方法在上下文连贯性上仍存在提升空间。

为此,本文在编码解码的文本生成框架基础上,引入多注意力组件和条件变分自编码器,提出结合多注意力和条件变分自编码器的风格宋词生成方法。在自制的语料库上进行实验,探讨本文方法对于提高上下文连贯性以及实现风格控制的效果。

1 概述 1.1 设计思想

在采用门控循环单元(GRU)的编码解码文本生成框架基础上,加入基于自注意力机制的句子表示算法的多注意力组件,用于提取词句中的显著信息,提高上下文连贯性。另外,引入条件变分自编码器,将每条宋词数据转化为隐空间中不同风格特征的高维高斯分布,从各自的分布中采样隐变量来控制宋词的风格。本文将从带有注意力机制的基础框架、多注意力组件和条件变分自编码器等方面介绍方法的具体实现。

1.2 宋词生成过程

借鉴规划模型的生成过程,用户输入n个关键词(k1, k2, k3, k4, …, kn)作为宋词的大纲,其中kn是第n行词句的关键词。输入关键词kn和第n-1行的词句,输出第n行的词句。

1.3 关键词提取

TextRank算法[22]是评估句子或段落中词语重要性的方法。可使用该算法提取出词句中最重要的词语作为关键词。首先将宋词数据集中所有词句都拼接起来,对每个词句分词。根据分词后的词句构造图,即句子中的每个词语与它自身左右一定范围内的词语连接构成一个无向图。将图中边的权重初始化为1,通过公式(1)进行迭代计算得分,直到收敛为止。最终得到所有关键词的重要性得分表。在训练阶段,根据关键词重要性得分表从现有的宋词数据集中构建出关键词数据集,即从每个词句中提取出最重要的关键词。在预测阶段,对用户输入文本进行分词,根据关键词得分表提取出关键词。

$ \begin{align} & \ \ \ \ \ \ \ S\left( {{V}_{i}} \right)=(1-d)+ \\ & d\sum\limits_{{{V}_{j}}\in E\left( {{V}_{i}} \right)}{\frac{{{\omega }_{ji}}}{\sum\limits_{{}}^{{{V}_{K}}\in E\left( {{V}_{j}} \right)}{{{\omega }_{jk}}}}}S\left( {{V}_{j}} \right), \\ \end{align} $ (1)

式中,ωji为词语Vj连接边的权值;E(Vi)为连接到词语Vj的边;d为阻尼因子,通常设置为0.8;S(Vi)为词语Vi的分数,初始分数设为1.0。

2 模型整体结构

模型的整体结构如图 1所示,其中橙色部分包括分别处理关键词、源序列的两个编码器和先验网络(Prior network);绿色部分是处理目标序列的编码器和后验网络(Recognition network),它们共同组成条件变分自编码器;黄色部分是多注意力组件;粉色部分是注意力机制;紫色部分是解码器。

图 1 模型整体结构 Fig. 1 Overall structure of the model

2.1 基础框架

本文将带有注意力机制的编码解码框架[14]作为基础。编码部分包括3个编码器,其中一个编码器将关键词转化成隐藏状态K={k1, k2, …, kn}。另一个编码器将目标序列文本Y={y1, y2, y3, …, yn}转化成隐藏状态序列T={t1, t2, t3, …, tn},计算公式如下:

$ t_{j}=\mathit{GRU}\left(e\left(y_{j}\right), t_{j-1}\right), $ (2)

式中,e(yj)表示目标序列文本Y中第j个词的词嵌入。

编码器将源序列文本X={x1, x2, x3, …, xn}转换成隐藏状态序列H={h1, h2, h3, …, hn}, 计算公式如下:

$ h_{j}=\mathit{GRU}\left(e\left(x_{j}\right), h_{j-1}\right), $ (3)

式中,e(xj)表示源序列文本X中第j个词语的词嵌入。

解码器将目标序列文本Yin={ys, y1, y2, y3, …, yn}转化为隐藏状态序列S={s1, s2, s3, …, sn}, 其中ys表示词牌指示向量[15]。计算公式如下:

$ s_{t}=\mathit{GRU}\left(e\left(y_{t-1}\right), v_{i-1}, c_{t}, s_{t-1}\right), $ (4)

式中,将隐藏状态hn、条件变分自编码器(2.3小节)提取到的隐变量z和风格标签r的拼接作为解码器的初始隐藏状态。vi-1是多注意力组件(2.2小节)提取的语义向量;ct是通过注意力机制计算的上下文向量,用于提供源序列和关键词的全局信息,计算公式如下:

$ c_{t}=\sum\nolimits_{j=0}^{T_{n}} a_{t j} h_{j}, $ (5)

式中,将关键词编码器的最后一个隐藏状态kn作为式中h0hjHj个隐藏状态;atj为该隐藏状态的注意力权重,计算公式如下:

$ a_{t j}=\frac{\exp \left(e_{t j}\right)}{\sum\nolimits_{k=1}^{T_{n}} \exp \left(e_{t k}\right)}, $ (6)

式中,etj的计算公式如下:

$ e_{t j}=V_{a}^{\mathrm{T}} \tanh \left(W_{a} s_{t-1}+U_{a} h_{j}\right) $ (7)

式中,VaWaUa都是需要训练的参数。

2.2 多注意力组件

常见的上下文处理方法是将词句通过编码器转换成单个向量,并通过后续生成的词句来更新该向量。单个向量不能存储宋词长文本的全部特征。无意义的词也会混入该向量中,如虚词、停用词等。为此,引入多注意力组件提取词句的多种语义特征,过滤非显著特征,从而提高上下文的连贯性。

多注意力组件基于自注意力机制的句子表示算法[23, 24],计算词句的多注意力权重矩阵,提取词句的3种重要语义特征并保存在指定的语义向量v中。多注意力权重矩阵的计算公式如下:

$ A=W_{s 2} \tanh \left(W_{s 1} H^{\mathrm{T}}\right), $ (8)

式中,Ws1是参数矩阵,维度为[da, 2u];da是超参数,2u表示隐藏状态的维度;Ws2是参数矩阵,维度为[r, da];r是超参数,设置为3;A=[a1, a2, a3],是多注意力权重矩阵,每行表示词句某种语义的权重向量。为避免A的每行权重向量相似度高,导致每个注意力权重向量提取同一语义特征的问题,在损失函数中引入一个惩罚项[20],迫使每个注意力权重向量都具有明显的差异。惩罚项公式如下:

$ P=\left\|A A^{\mathrm{T}}-I\right\|_{F}^{2}, $ (9)

将多注意力权重矩阵A按行加和并归一化得到向量a

$ a=\operatorname{softmax}\left(\sum\nolimits_{k=1}^{r} a_{k}\right), $ (10)

在得到a后,通过式(11)计算存储多种语义的句子表示:

$ M=a H $ (11)

M是包含多种语义的句子表示,根据新生成的M更新语义向量vi

$ v_{i}=\partial\left(v_{i-1}, M\right), v_{0}=0。$ (12)

多注意力权重矩阵A在词句“花色烘晴草色浮”上的表现如图 2所示。

图 2 多注意力权重 Fig. 2 Multi-attention weight

图 2的3个注意力权重主要用于提取“晴草花”的语义特征。a在词句上的表现如图 3所示。

图 3 加和并归一化的注意力权重 Fig. 3 Attention weight added and normalized

2.3 条件变分自编码器

受Zhao等[25]和Sohn等[26]的多样性文本生成模型的启发,为了控制生成的文本风格,在基础框架上引入条件变分自编码器,将每条宋词数据转化成隐空间的风格特征分布。在训练阶段,输入源序列、关键词、目标序列和风格标签。通过误差反向传播,降低KL散度(KL divergence)损失,让先验分布接近后验分布,从后验分布中采样隐变量z。在预测阶段,输入源序列、关键词和风格标签,从先验分布中采样隐变量z

2.3.1 先验网络和后验网络

构建先验网络和后验网络,分别计算先验分布和后验分布的均值和方差,如式(13)和(14)所示:

$ \left[\mu, \sigma^{2}\right]=M L P\left(t_{n}, h_{n}\right), $ (13)
$ \left[\mu^{\prime}, \sigma^{\prime 2}\right]=M L P\left(h_{n}\right), $ (14)

式中,μ, σ2分别是后验分布的均值和方差;μ′, σ2分别是先验分布的均值和方差。最后通过KL散度估计两个高维高斯分布的信息损失。

为解决采样过程不可导的问题,采用了重参数技巧[27],从均值u和偏差σ2的高纬高斯分布中采样隐变量z等价于从标准正态分布中采样一个β,再对其进行线性变换, 如式(15)所示:

$ z=\mu+\beta * \sigma, $ (15)

式中,从βz只涉及线性变换,β是固定的。

2.3.2 变分下界

通过KL散度公式衡量先验分布和后验分布的相似度来判断生成质量。但这两个分布的KL散度的计算涉及数据的真实分布,难以直接计算。为此,通过最大化变分下界(ELBO),替代直接计算两个分布的KL散度。变分下界如下式所示:

$ \begin{aligned} &\ \ \ \ \ \operatorname{ELBO}=E_{q_{\varphi}\left(z \mid y, h_{n}\right)}\left[\log p_{\theta}\left(y \mid z, h_{n}, r\right)\right]- \\ &\left.\operatorname{KL}\left(q_{\varphi}\left(z \mid y, h_{n}\right) \| p_{\theta}\left(z \mid h_{n}\right)\right)\right], \end{aligned} $ (16)

式中,φ是后验网络的参数,θ是先验网络的参数。z是隐变量,y是目标序列,r是风格标签的词嵌入。qφ(z|y, hn)是后验分布,pθ(z|hn)是先验分布。公式右边的第一项是重构的似然估计,目的是让生成的词句和真实的词句尽可能地接近。第二项是后验分布和先验分布的KL散度,用于衡量后验分布相比先验分布的信息损失。

2.3.3 弱化解码器

GRU解码器因解码能力强容易忽略隐变量z,无法控制文本风格。为此,在训练阶段,用未知词语(UNK)替换解码器的部分输入单词,迫使解码器无法仅通过先前生成的单词来预测下一个单词,需要更多地依赖隐变量z

2.4 目标函数和损失函数 2.4.1 目标函数

解码器生成目标序列Yout={y1, y2, y3, …, yn, ye}, 其中ye表示结束字符。目标函数如下式所示:

$ y_{t}=\mathit{argmax} _{y} P\left(y \mid s_{t}\right), $ (17)

式中,st为在t时刻的隐藏状态,yt-1为上一时刻的输出,最终生成t时刻最可能的字符yt

2.4.2 损失函数

损失函数在重构损失的基础上,加入多注意力的惩罚项和KL散度损失。损失函数如下式所示:

$ \mathit { loss }=l_{\mathit {decoder }}-l_{k l}+l_{p} \text {, } $ (18)

式中,ldecoder是重构损失,采用交叉熵损失函数,保证了数据压损的质量;lkl是KL散度损失正则项;lp是多注意力的惩罚项。

3 验证实验 3.1 数据处理

采用Request库和BeautifulSoup库,从古诗文网和Github上公开的中文诗歌库中爬取20 000首宋词,对其进行数据清洗,剔除存在乱码的词句,最终形成包含15 200首宋词的语料库。将其中的1 000首作为验证集,1 000首作为测试集,剩余的作为训练集。由于语料库的宋词数量较少,首先使用60 000首古诗作为预训练模型。

语料库仅存在少部分具有风格标签的宋词,其中婉约词452首,豪放词105首。从中随机选择50首婉约诗词和50首豪放诗词作为测试集,剩余的宋词作为训练集微调中文BERT模型,在测试集上的准确率为0.81。通过微调后的BERT模型对所有宋词数据做风格标注。

3.2 实验设计

本实验的目的是验证本文方法能否生成婉约或豪放的宋词,以及是否在上下文连贯性上有所提高。实验环境如下:硬件环境采用IntelXeon Bronze 3104 CPU 1.7 GHz处理器;内存32 GB;NvidiaQuadro P2000显卡,显存8 GB。软件环境主要采用python, cuda, tensorlfow深度学习框架和jieba分词。

鉴于宋词数据较小,模型参数设置过大会导致过拟合,所以模型设置的词嵌入、隐藏状态、隐变量、语义向量、上下文向量的维度分别为300, 256, 256, 128, 128。优化器采用小批量(64)随机梯度下降算法,并采用Adadelta算法[28]调整学习速率。预测阶段采用集束搜索算法,集束宽度为10。

宋词包含多种格式的词牌。为此,需要定义指示矩阵,矩阵的每一行向量分别表示不同的词牌指示向量,作为解码器的初始输入,告知解码器正在生成何种词牌的宋词。

3.3 实验结果评估和对比

由于诗歌生成任务与机器翻译任务相似,因此使用BLEU算法[29]自动评估生成的宋词。计算基准方法和本文方法的BLEU-1, BLEU-2, BLEU-3, BLEU-4的分数,然后取平均值作为最终的BLEU分数。

借鉴文献[1-3]的人工评估方法,从意境、语句流畅性、上下文连贯性和意义等方面判断古诗的质量。每方面满分5分,分数越高表示宋词在该评估方面的质量越高。让系统生成50首宋词,邀请10位硕士及以上的学者为生成的宋词打分,最后取平均值作为最终得分。

本文方法(MACVAE)与4个基准方法ICG[15],TPG[18],SPG[19],SCG[20]的自动评估和人工评估结果见表 1。3个基准方法TPG, SPG, SCG都在规划模型基础上改进。首先规划在语义上相互关联的关键词作为主题大纲,依据大纲生成宋词ICG未加入主题大纲,通过一个词句生成整首宋词。从表 1可观察到,这3个方法比ICG方法的上下文连贯性高,表明加入关键词主题大纲的生成方法对一致性具有重要影响。

表 1 BLEU评估和人工评估结果 Table 1 BLEU evaluation and artificial evaluation results
方法
Approach
BLEU 人工评估Artificial evaluation
意境
Artistic
流畅性
Fluency
连贯性
Coherence
意义
Meaning
ICG 0.105 2.78 2.65 2.81 2.74
TPG 0.323 3.26 3.05 3.19 3.20
SPG 0.328 3.18 3.16 3.21 3.34
SCG 0.351 3.56 3.23 3.45 3.42
MACVAE 0.363 3.62 3.40 3.66 3.52

TPG先根据用户输入的关键词得到每句话的最后一个词语,这些词语都押韵且与用户输入相关,旨在提高押韵性。SPG在规划模型的基础上,另外训练了基于注意力机制的关键词扩展模型来匹配生成模型。SPG在上下文连贯性上较TPG有了进一步提高,表明增加的关键词扩展模型对提高上下文连贯性有一定帮助。

SCG通过注意力机制的权重提取输入序列的显著信息,用于指导生成的下文与上文连贯。SCG相比于SPG在连贯性上的评分有所提升,表明提取上文词句中的重要词语用于指导下文的生成,对提高上下文连贯性具有重要帮助。

相较于基准方法,本文方法在序列到序列模型的基础上,引入多注意力组件提取词句中的重要语义,在上下文连贯性上有一定的提升;引入CVAE控制文本风格,基本实现了婉约类和豪放类宋词的生成,提高了宋词的意境。

3.4 生成样例

生成的婉约词示例如图 4所示。整首宋词侧重于细节描写且上下文连贯。但第4句“留我青山作暮眠”和最后一句“海岸江海与苏烟”描绘广阔的场景,属于豪放词句,原因是风格标注的不完全准确性。

图 4 生成示例1 Fig. 4 Generated example 1

生成的豪放词示例如图 5所示。整首宋词描绘了广阔的场景,整体上下文连贯,符合豪放风格的宋词。

图 5 生成示例2 Fig. 5 Generated example 2

4 结束语

为提高宋词的上下文连贯性及实现风格控制,引入多注意力组件提取词句的多种重要语义,突出词句中的重要词语。另外,引入CVAE控制生成宋词风格。在自制的语料库上进行基准方法和本文方法的对比实验,本文的方法在上下文连贯性上有一定提升。实现了宋词风格的控制,在意境上有所提升。通过分类器标注的风格分类标签并非完全准确,后续期望通过大量的语料库和人工标注方式,进一步提高风格宋词的生成质量。

参考文献
[1]
周昌乐, 游维, 丁晓君. 一种宋词自动生成的遗传算法及其机器实现[J]. 软件学报, 2010, 21(3): 427-437.
[2]
YAN R, JIANG H, LAPATA M, et al. I, poet: Automatic Chinese poetry composition through a generative summarization framework under constrained optimization [C]//ROSSI F. Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence, Beijing: AAAI Press, 2013: 2197-2203.
[3]
HE J, ZHOU M, JIANG L. Generating Chinese classical poems with statistical machine translation models [C]//HOFFMANN J, SELMAN B. Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, Toronto: AAAI Press, 2012: 1650-1656.
[4]
TOSA N, OBARA H, MINOH M. Hitch haiku: An interactive supporting system for composing haiku poem [C]//STEVENS S M, SALDAMARCO S J. Entertainment Computing - ICEC 2008, 7th International Conference, Pittsburgh: ICEC, 2008: 209-216.
[5]
WU X F, TOSA N, NAKATSU R. New Hitch Haiku: An interactive Renku poem composition supporting tool applied for sightseeing navigation system [C]//NATKIN S, DUPIRE J. Entertainment Computing - ICEC 2009, 8th International Conference, Paris: ICEC, 2009: 191-196.
[6]
NETZER Y, GABAY D, GOLDBERG Y, et al. Gaiku: Generating Haiku with word associations norms [C]//FELDMAN A, LÖNNEKER-RODMAN B. Proceedings of the Workshop on Computational Approaches to Linguistic Creativity, Stroudsburg: CALC, 2009: 32-39.
[7]
OLIVEIRA H G. PoeTryMe: A versatile platform for poetry generation [C]//ECAI 2012 Workshop on Computational Creativity, Concept Invention, and General Intelligence (C3GI), Montpellier, France: 2012, 1: 21.
[8]
OLIVEIRA H G, CARDOSO A. Poetry generation with PoeTryMe[M]. Paris: Atlantis Press, 2015.
[9]
CHO K, MERRIËNBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder–decoder for statistical machine translation [C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha, Qatar: Association for Computational Linguistics, 2014: 1724-1734.
[10]
GULCEHRE C, CHANDAR S, CHO K, et al. Dynamic neural turing machine with continuous and discrete addressing schemes[J]. Neural Computor, 2018, 30(4): 857-884. DOI:10.1162/neco_a_01060
[11]
HOPKINS J, KIELA D. Automatically generating rhy- thmic verse with neural networks [C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Vancouver, Canada: Association for Computational Linguistics, 2017: 168-178.
[12]
GHAZVININEJAD M, SHI X, PRIYADARSHI J, et al. Hafez: An interactive poetry generation system [C]//Proceedings of ACL 2017, System Demonstrations ACL. Vancouver, Canada: Association for Computational Linguistics, 2017: 43-48.
[13]
MIKOLOV T, KARAFIÁT M, BURGET L, et al. Recurrent neural network based language model [C]//INTERSPEECH 2010, 11th Annual Conference of the International Speech Communication Association, Makuhari, Chiba, Japan, 2010: 26-30.
[14]
ZHANG X X, LAPATA M. Chinese poetry generation with recurrent neural networks [C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha, Qatar: Association for Computational Linguistics, 2014: 670-680.
[15]
WANG Q X, LUO T Y, WANG D, et al. Chinese song iambics generation with neural attention-based model [C]//BREWKA G. Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (IJCAI-16). New York, NY, United States: AAAI Press, 2016: 2943-2949.
[16]
WANG Z, HE W, WU H, et al. Chinese poetry generation with planning based neural network [C]//Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers. Osaka, Japan: The COLING 2016 Organizing Committee, 2016: 1051-1060.
[17]
YAN R. I, poet: Automatic poetry composition through recurrent neural networks with iterative polishing schema [C]//BREWKA G. Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence. New York, NY, United States: AAAI Press, 2016: 2238-2244.
[18]
GHAZVININEJAD M, SHI X, CHOI Y, et al. Generating topical poetry [C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Austin, TX, United States: Association for Computational Linguistics, 2016: 1183-1191.
[19]
黄文明, 卫万成, 邓珍荣. 基于序列到序列神经网络模型的古诗自动生成方法[J]. 计算机应用研究, 2019, 36(12): 3539-3543.
[20]
YI X Y, LI R Y, SUN M S. Chinese poetry generation with a salient-clue mechanism [C]//Proceedings of the 22nd Conference on Computational Natural Language Learning. Brussels, Belgium: Association for Computational Linguistics, 2018: 241-250.
[21]
LIU Z Q, FU Z H, CAO J, et al. Rhetorically controlled encoder-decoder for modern Chinese poetry generation [C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Florence, Italy: Association for Computational Linguistics, 2019: 1992-2001.
[22]
MIHALCEA R, TARAU P. TextRank: Bringing order into text[J]. Barcelona, Spain: Association for Computational Linguistics, 2013, 404-411.
[23]
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. Red Hook, NY, United States: Curran Associates Inc, 2017: 6000-6010.
[24]
LIN Z H, FENG M W, SANTOS C N, et al. A structured self-attentive sentence embedding [C]//5th International Conference on Learning Representations (ICLR). Toulon, France: 2017: 24-26.
[25]
ZHAO T C, ZHAO R, ESKENAZI M. Learning discourse-level diversity for neural dialog models using conditional variational autoencoders [C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Vancouver, BC, Canada: Association for Computational Linguistics, 2017: 654-664.
[26]
SOHN K, LEE H, YAN X C. Learning structured output representation using deep conditional generative models [C]//CORTES C, LEE D D, SUGIYAMA M. Proceedings of the 28th International Conference on Neural Information Processing Systems - Volume 2. Cambridge, MA, United States: MIT Press, 2015: 3483-3491.
[27]
KINGMA D P, WELLING M. Auto-encoding varia- tional bayes [C]//International Conference on Learning Representations. Banff, AB, Canada: 2014: 14-16.
[28]
ZEILER M D. ADADELTA: An adaptive learning rate method[J]. Neural Computing and Applications, 2019, 31(10): 6685-6698. DOI:10.1007/s00521-018-3495-0
[29]
PAPINENI K, ROUKOS S, WARD T, et al. BLEU: A method for automatic evaluation of machine translation [C]//Proceedings of the 40th Annual Meeting on Association for Computational Linguistics. Philadelphia, PA, United States: Association for Computational Linguistics, 2002: 311-318.