基于循环神经网络的对联生成模型研究
发布时间:2020-07-14 21:26
【摘要】:对联,又叫做对子或者楹联,是中国的传统文化之一。对联讲究平仄要协调,对仗要工整,上下联字数相同,结构也保持一致,是中华语言的一种独特的艺术形式,具有非常浓厚的美感,受到了人们的广泛喜爱。可以说,中国的对联文化是中国传统文化的完美结晶,也是中国语言的瑰宝。为了让爱好者和初学者更加方便的学习对联知识,也更加进一步弘扬和传承中华民族文化,对联的自动生成问题近年来受到关注。序列生成问题就是根据一个给定的输入序列,生成输出序列。序列生成问题有很多应用,比如文档摘要、机器翻译、问答系统等。而对联生成问题很也属于一种典型的序列生成问题。针对对联生成问题,人们提出了编码-解码模型。编码,就是用一个固定长度的向量将你输入序列表示出来,而解码是将编码时生成的固定长度向量转化为输出序列。编码器和解码器的使用是不固定的,可以根据个人喜好和实验效果自由组合,一般可选循环神经网络(recurrent neural network,简称RNN)、卷积神经网络(convolutional neural network,简称CNN)、双向循环神经网络(bi-directional current neural network,简称BiRNN)以及循环神经网络的变种——门控循环单元(gate recurrent unit,简称GRU)和长期短期记忆神经网络(long short term memory network,简称LSTM)等。本文设计和实现了基于深度学习的中国对联编码-解码生成模型,该模型使用双向GRU进行编码,使用GRU进行解码,选择词向量方法进行对联的表示。本文的主要创新之处有两点。首先针对对联生成问题相对于其他自然语言理解问题的特殊性,在训练词向量的时候,不仅考虑序列中前后字的上下文关系,同时考虑了上下联之间对应字的相关性,构建了针对对联生成问题的字向量,并应用于模型的表示。其次,本文在模型中引入了两种注意力机制(attention mechanism,简称AM),第一种是常规做法,即将上联中的不同位置的字进行加权作为生成下联中的不同位置字的注意力输入,因为更“注意”对应位置字的影响而使得效果好。为了进一步增强上下联之间的整体语境的连贯性,本文针对对联生成问题,引入了第二种注意力机制,即把通过doc2vec训练好的对应的句向量信息加入到解码模型的注意力输入中。实验结果则证明,考虑对应关系之后的模型效果有所提升,在加入上联句向量信息之后效果又有所提升。总结起来,本文的主要工作包括:首先收集数据并进行数据预处理,包含对联数据和经过筛选的古诗文上下句,构建了对联本地数据库;其次使用word2vec训练了两个版本的字向量,一个是只考虑了前后上下文关系的字向量,另一个是我们提出的加入了上下联对应位置关系的对联字向量,并将其应用于模型初始化;之后训练了上联对应的句向量,并将其应用于解码阶段;然后设计和实现了基于深度学习的中国对联编码-解码生成模型,并利用训练好的模型对测试集生成下联;最后使用自动评价以及人工评测的方法对生成的结果进行效果测评。自动对联生成模型的建立能够帮助对联爱好者生成参考对联,是初学者能更好地学习对联,体会中华语言艺术的魅力,从而进一步热爱中华民族的经典文化。
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:I207.6;TP183
【图文】:
第 1 章 绪论,当时还不叫神经网络这个名字,而是叫做感知机(perception),最早提出知机结构简单,只有输入层、隐藏层和输出层三层,叫做单层感知机。输入特征向量的输入,输入层的特征向量经过隐藏层的变换到达输出层后,在输得到分类的结果。单层感知机的结构非常简单,但是使用范围也很有限,对于稍微复杂一点函无能为力了,连异或操作都不能完成,后来在上个世纪的八十年代由elhart、Hinton、Lecun 和 Williams 等人提出了多层感知机,从而才克服了这题。多层感知机就是在单层感知机的基础上多加了几层隐藏层,如图 1.1 所示。
神经语言模型总体架构
图 2.2 CBOW 模型的网络结构示意图输 入 层 包 含 context(w) 中 2n 个 词 语 的 词 向 量 V(context(w)1) ,V(context(w)2),...,V(context(w)2n)∈Rm,这里 m 的含义同上表示词向量的维度。投影层的操作是将输入层的 2n 个向量做求和累加,如式 2.12 所示。 = ( ( ) ) …………………(2.12)输出层是一棵二叉树,它的叶子节点是在语料中出现过的词语,这棵树是按照词语在语料中出现的次数当做权值构造出来的,是一棵哈夫曼树,这棵树中的叶子节点共有N=|D|个,分别对应着词典D中的词语,非叶子节点一共有N-1个,也就是图 2.2 中阴影的那些点。这个例子中,将 6 个词向量作为输入,输出是所有词的 softmax 概率,当然,这里希望训练样本中给定的中心词的概率最大,对应的 CBOW 神经网络输入层有 6 个神经元,输出层的神经元个数就是词汇表大小,隐藏层的个数可以由研究
本文编号:2755506
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:I207.6;TP183
【图文】:
第 1 章 绪论,当时还不叫神经网络这个名字,而是叫做感知机(perception),最早提出知机结构简单,只有输入层、隐藏层和输出层三层,叫做单层感知机。输入特征向量的输入,输入层的特征向量经过隐藏层的变换到达输出层后,在输得到分类的结果。单层感知机的结构非常简单,但是使用范围也很有限,对于稍微复杂一点函无能为力了,连异或操作都不能完成,后来在上个世纪的八十年代由elhart、Hinton、Lecun 和 Williams 等人提出了多层感知机,从而才克服了这题。多层感知机就是在单层感知机的基础上多加了几层隐藏层,如图 1.1 所示。
神经语言模型总体架构
图 2.2 CBOW 模型的网络结构示意图输 入 层 包 含 context(w) 中 2n 个 词 语 的 词 向 量 V(context(w)1) ,V(context(w)2),...,V(context(w)2n)∈Rm,这里 m 的含义同上表示词向量的维度。投影层的操作是将输入层的 2n 个向量做求和累加,如式 2.12 所示。 = ( ( ) ) …………………(2.12)输出层是一棵二叉树,它的叶子节点是在语料中出现过的词语,这棵树是按照词语在语料中出现的次数当做权值构造出来的,是一棵哈夫曼树,这棵树中的叶子节点共有N=|D|个,分别对应着词典D中的词语,非叶子节点一共有N-1个,也就是图 2.2 中阴影的那些点。这个例子中,将 6 个词向量作为输入,输出是所有词的 softmax 概率,当然,这里希望训练样本中给定的中心词的概率最大,对应的 CBOW 神经网络输入层有 6 个神经元,输出层的神经元个数就是词汇表大小,隐藏层的个数可以由研究
【参考文献】
相关期刊论文 前1条
1 周昌乐;游维;丁晓君;;一种宋词自动生成的遗传算法及其机器实现[J];软件学报;2010年03期
本文编号:2755506
本文链接:https://www.wllwen.com/gudaiwenxuelunwen/2755506.html