首页
您所在的位置:首页 > 学习 > 学堂知识 > 正文

对联-原来AI是这么写诗与对联的

作者:网络 来源:网络 日期:2023/3/10 11:24:16 人气:10 加入收藏 标签:生成 对联 序列 模型 诗歌

?作者 | 罗应峰 谈修泽

学校 | 东北大学

研究方向 | 自然语言处理

古诗和对联是中国的两种文体裁,他们共同的特点是文辞优美、对仗工整、格律严谨、内涵丰富,深受文人墨客的喜爱,相应地写出一首好诗或者对出一个好的上下联并不容易。当今人工智能发展迅速,机器写诗,续写对联不再是难题,本文将对古诗和对联生成的基础技术进行介绍,同时介绍一些在线写诗、对对联系统。

早期的诗歌生成主要基于规则、统计的方法实现,这种方法需要人工设计规则,生成诗句流于形式,表达含义浅显、流畅性和可读性较差。近年来,随着深度学习取得的长足进步,基于神经网络的诗歌生成已经取得了很好的效果,语言模型和序列到序列框架这两种技术被广泛应用于当今的诗歌和对联的生成系统中,下面进行简单介绍。

语言模型(Language Model,LM)描述了一个单词串的生成过程,是一种被广泛用于建模文本序列生成任务的方法。语言模型可以被定义为计算一个句子 的概率问题,即求 ,根据链式法则进行分解,有:

在上式中 可以看成句子中的每个字,语言模型在生成每个字时都需要依赖于上文,即第二个字在预测时需要参考第一个字,第三个字参考前两个字,以此类推,这样实现了文本生成的过程。传统实现上述公式的方法是基于统计的方法,即在语料库中通过概率统计的方法来学习模型参数,这种方法面临参数量大,数据稀疏性等问题。目前主流的基于神经网络的语言模型通过人工设计的复杂神经网络来拟合数据的分布,可以很好的解决上述问题。具体在模型结构层面,可以使用如RNN、LSTM、Transformer等神经网络模型。

将语言模型应用于对联生成的一种简单做法如图1所示[1],首先将上下联拼接后看作一段文本,让模型在所有对联数据中训练,这样可以使模型学习到概率信息,如“天”字后常出现“高、地、下”等字。在推断时给出上联作为上文,由模型对下联进行预测生成。由于对联上下联一般字数相等,在图1中在上下联中添加分隔符(如逗号)有助于模型学习上下联间的字数关系,不至于使模型无限制的生成下去。

图1 利用语言模型生成对联

诗歌生成与对联类似,比如可以把四句古诗(绝句诗)拼接成一个长句子后训练一个语言模型,在推断时给定第一句作为上文,让模型续写后三句。或者可以将诗歌的体裁类型、关键词/标题、诗句几部分内容进行拼接,如图2所示,之后训练一个语言模型,最后推断时提供代表诗歌体裁、主旨的关键词或诗歌标题作为上文,模型就可以逐字生成诗句内容。

图2利用语言模型训练古诗的一个例子

自然语言处理中的许多问题都可以看作序列到序列的转化问题,比如机器翻译、文本摘要、对话等,对于这类问题我们通常会用条件语言模型来进行刻画,过程与上述的无条件语言模型类似,不同之处在于条件语言模型的求解目标是求 ,其中 为源语, 为目标语。对于这类问题,通常使用序列到序列(sequence-to-sequence,Seq2Seq)框架来实现。序列到序列框架主要由一个编码器和一个解码器组成,编码器负责将输入序列编码成语义向量Context,之后解码器负责根据语义向量逐字词生成目标序列。

对联由上联和下联组成,可以将上联看作源语,下联看作目标语,因此可以把对联生成看作序列到序列的转化问题,利用序列到序列框架进行对联生成的过程如图3所示。图3描述了一个对联的生成过程,首先由用户给出上联“海阔凭鱼跃”作为编码器的输入,编码器将上联信息编码成语义向量,该向量包含了上联的全部信息,解码器首先根据语义向量以及起始符推测出第一个字“天”,然后利用信息“天”和语义向量继续推测出第二个字“高”,再根据“天高”和语义向量推测出第三个字“任”,依次类推,直到预测出终止符,从而完成下联的预测过程。

图3序列到序列框架对联生成过程

诗歌生成也可以通过序列到序列技术实现,只是相对于对联的生成过程略复杂一些,以绝句诗为例,它包含了四句话,而对联只有两句,对联的序列到序列转化的特征体现的更加明显。对于诗歌文学体裁,生成诗句关系可以看成如图4所示(以绝句诗为例)。利用序列到序列框架的一种简单生成古诗的方法是,首先得到诗歌的第一句,第一句可以根据用户输入的关键词利用语言模型、模板或检索等方式来得到;生成诗歌的第二句可以视为与对联生成过程一样的序列到序列生成过程,借助第一句的文字信息,逐字生成第二句话;之后利用第一句和第二句的信息,进行序列到序列的生成,得到诗歌的第三句话;最后根据前三句话,进行序列到序列的生成,生成出第四句话,这样就得到了一首完整的古诗。

图4 诗句生成关系

上面介绍了诗歌和对联生成的基础技术,但是想要获得质量较好的结果还远远不够,还需要针对诗歌的文学特性进行优化。以诗歌举例,句间主题的一致性是影响一首诗的主要因素,光生成辞藻华丽的诗歌是不够的,如果诗句之间描述着不相关的内容,会让读者产生不知所云的感觉,因此也有一些针对诗歌内容的一致性和连贯性的解决方法[2,3]。此外诗歌也是一种具有高度多样性的文学形式,比如同样是对梅的描写,有的诗人就能写出豪放赞美之情,有的诗人就会借此抒发自己遭遇不顺后的悲惨心情,因此也有许多向模型中添加风格化因素以使得模型可以生成更具多样性的诗歌的工作[4,5]。除了内容方面的考虑外,模型生成的诗歌也需要满足诗歌文学独特具有的格律,诗歌中格律的存在共同构成诗歌整体的节奏美、和谐美,同时也加强了诗歌的感染力和表达效果,也有许多针对诗歌的格律问题的解决工作[6,7],更加具体的做法可以参考相关论文。

1.小牛对联:

小牛对联是由小牛翻译推出的对联生成平台,填写一个四字横批即可自动生成一副内容相关的对联,本平台还为生成的对联搭配了画面优美的背景图片,方便用户保存和分享。

2.小牛写诗:

小牛写诗是由小牛翻译推出的自动写诗平台,该平台侧重于藏头诗的生成,用户可根据需要选择五言与七言的体裁,输入藏头关键词即可生成一首藏头诗,搭配了优美的图片,方便用户进行分享与保存。

3.诗三百平台:

该系统由个人完成开发,实现了生成古诗、对联,还有藏头诗的功能,诗的体裁包括五言绝句、五言律诗、七言绝句、七言律诗。对联中用户的输入表示上联,由系统给出下联。

4.九歌系统[8]:

九歌是由清华大学自然语言处理与社会人文计算实验室团队研发的中文诗歌自动生成系统,该系统实现了生成诗、词,还有藏头诗和集句诗的功能,诗的体裁包括五言绝句、五言律诗、七言绝句、七言律诗。

5.小冰系统[9]:

小冰是由微软(亚洲)的小冰团队开发,实现了现代诗生成,要求用户提供图片,然后该系统从图片中提取出意境,同时用户可以输入描述文字作为补充,从而创作出相关的现代诗,且可根据需要生成不同长度的现代诗。

6.王斌对联系统:

该系统由个人完成开发,实现了对对联功能,用户给定上联,系统可生成下联。

7.乐府小程序[10]:微信小程序搜索“EI体验空间”

乐府是由华为诺亚方舟实验室开发的古诗对联生成系统,支持的体裁包括五言绝句、五言律诗、七言绝句、七言律诗,其中用户的输入表示诗的主旨,该写诗系统支持藏头诗、看图写诗功能。乐府对联的输入是用户给定的对联主旨,由系统生成上联与下联。

8.AINLP公众号·自动作诗机&藏头诗生成器

该系统由个人开发,通过对训练数据进行定制来使得单个模型可以同时支持绝句、律诗、藏头诗和对联生成,比较方便。

9. AI智能对联系统:

该系统由个人开发,实现了自动对对联功能,用户输入上联,由系统给出下联

10.智能创作平台:

该平台由百度自然语言处理团队开发,提供自动创作和辅助创作的能力,自动创作中包括智能春联、智能写诗等功能,通过API调用的方式进行使用。

参考文献

[1]Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks[C]//Advances in neural information processing systems. 2014: 3104-3112.

[2]Wang Z , He W , Wu H , et al. Chinese Poetry Generation with Planning based Neural Network[J]. 2016.

[3]Li J , Song Y , Zhang H , et al. Generating Classical Chinese Poems via Conditional Variational Autoencoder and Adversarial Training[C]// Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018.

[4]Chen H , Yi X , Sun M , et al. Sentiment-Controllable Chinese Poetry Generation[C]// Twenty-Eighth International Joint Conference on Artificial Intelligence{IJCAI-19. 2019.

[5]Yi X , Li R , Yang C , et al. MixPoet: Diverse Poetry Generation via Learning Controllable Mixed Latent Space[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2020, 34(5):9450-9457.

[6]Li P , Zhang H , Liu X , et al. Rigid Formats Controlled Text Generation[J]. 2020.

[7]Luo Y F, Li C L, Huang C A, et al. Chinese Poetry Generation with Metrical Constraints. NLPCC (1)?2021: 377-388

[8]Guo Z , Yi X , Sun M , et al. Jiuge: A Human-Machine Collaborative Chinese Classical Poetry Generation System[C]// Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics: System Demonstrations. 2019.

[9]Cheng W F , Wu C C , Song R , et al. Image Inspired Poetry Generation in XiaoIce[J]. 2018.

[10]Liao Y , Wang Y , Liu Q , et al. GPT-based Generation for Classical Chinese Poetry[J]. 2019.

本文网址:http://dongdeshenghuo.com/xuetangzhishi/37819.html
读完这篇文章后,您心情如何?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0