当 AI 邂逅艺术:机器写诗综述

本文涉及的产品
图片翻译,图片翻译 100张
文本翻译,文本翻译 100万字符
文档翻译,文档翻译 1千页
简介:

引言

什么是艺术?
机器的作品能否叫艺术?
机器能否取代艺术家?

这些问题,相信不同的人,会有不同的答案。很多人认为机器生成的作品只是简单的模仿人类,没有创造性可言,但是人类艺术家,不也是从模仿和学习开始的吗?本文是为 PaperWeekly 写的一篇机器诗歌生成的综述文章,希望能增进大家对这个领域的了解。

诗歌是人类文学皇冠上的明珠。我国自《诗经》以后,两千年来的诗篇灿若繁星。让机器自动生成诗歌,一直是人工智能领域一个有挑战性的工作。

基于传统方法的诗歌生成

机器诗歌生成的工作,始于 20 世纪 70 年代。传统的诗歌生成方法,主要有以下几种:

  • Word Salada(词语沙拉):是最早期的诗歌生成模型,被称作只是简单将词语进行随机组合和堆砌而不考虑语义语法要求。

  • 基于模板和模式的方法:基于模板的方法类似于完形填空,将一首现有诗歌挖去一些词,作为模板,再用一些其他词进行替换,产生新的诗歌。这种方法生成的诗歌在语法上有所提升,但是灵活性太差。因此后来出现了基于模式的方法,通过对每个位置词的词性,韵律平仄进行限制,来进行诗歌生成。

  • 基于遗传算法的方法:周昌乐等 [1] 提出并应用到宋词生成上。这里将诗歌生成看成状态空间搜索问题。先从随机诗句开始,然后借助人工定义的诗句评估函数,不断进行评估,进化的迭代,最终得到诗歌。这种方法在单句上有较好的结果,但是句子之间缺乏语义连贯性。

  • 基于摘要生成的方法:严睿等 [2] 将诗歌生成看成给定写作意图的摘要生成问题,同时加入了诗歌相关的一些优化约束。

  • 基于统计机器翻译的方法:MSRA 的何晶和周明 [3] 将诗歌生成看成一个机器翻译问题,将上一句看成源语言,下一句看成目标语言,用统计机器翻译模型进行翻译,并加上平仄押韵等约束,得到下一句。通过不断重复这个过程,得到一首完整的诗歌。

基于深度学习技术的诗歌生成

传统方法非常依赖于诗词领域的专业知识,需要专家设计大量的人工规则,对生成诗词的格律和质量进行约束。同时迁移能力也比较差,难以直接应用到其他文体(唐诗,宋词等)和语言(英文,日文等)。随着深度学习技术的发展,诗歌生成的研究进入了一个新的阶段。

RNNLM

基于 RNN 语言模型 [4] 的方法,将诗歌的整体内容,作为训练语料送给 RNN 语言模型进行训练。训练完成后,先给定一些初始内容,然后就可以按照语言模型输出的概率分布进行采样得到下一个词,不断重复这个过程就产生完整的诗歌。Karpathy 有一篇文章,非常详细的介绍这个:The Unreasonable Effectiveness of Recurrent Neural Networks

Chinese Poetry Generation with Recurrent Neural Networks

RNNPG 模型 [5],首先由用户给定的关键词生成第一句,然后由第一句话生成第二句话,由一,二句话生成第三句话,重复这个过程,直到诗歌生成完成。模型的模型由三部分组成:

  • Convolutional Sentence Model(CSM):CNN 模型,用于获取一句话的向量表示。

  • Recurrent Context Model (RCM):句子级别的 RNN,根据历史生成句子的向量,输出下一个要生成句子的 Context 向量。

  • Recurrent Generation Model (RGM):字符级别 RNN,根据 RCM 输出的 Context 向量和该句之前已经生成的字符,输出下一个字符的概率分布。解码的时候根据 RGM 模型输出的概率和语言模型概率加权以后,生成下一句诗歌,由人工规则保证押韵。

模型结构如下图:

当 AI 邂逅艺术:机器写诗综述

模型生成例子如下图:

当 AI 邂逅艺术:机器写诗综述

Chinese Song Iambics Generation with Neural Attention-based Model

模型 [6] 是基于 attention 的 encoder-decoder 框架,将历史已经生成的内容作为源语言,将下一句话作为目标语言进行翻译。需要用户提供第一句话,然后由第一句生成第二句,第一,二句生成第三句,并不断重复这个过程,直到生成完整诗歌。
基于 Attention 机制配合 LSTM,可以学习更长的诗歌,同时在一定程度上,可以保证前后语义的连贯性。

模型结构如下图:

当 AI 邂逅艺术:机器写诗综述

模型生成例子如下图:

当 AI 邂逅艺术:机器写诗综述

Chinese Poetry Generation with Planning based Neural Network

模型 [8] 不需要专家知识,是一个端到端的模型。它试图模仿人类开始写作前,先规划一个写作大纲的过程。整个诗歌生成框架由两部分组成:规划模型和生成模型。

规划模型:将代表用户写作意图的 Query 作为输入,生成一个写作大纲。写作大纲是一个由主题词组成的序列,第 i 个主题词代表第 i 句的主题。

生成模型:基于 encoder-decoder 框架。有两个 encoder, 其中一个 encoder 将主题词作为输入,另外一个 encoder 将历史生成的句子拼在一起作为输入,由 decoder 生成下一句话。decoder 生成的时候,利用 Attention 机制,对主题词和历史生成内容的向量一起做打分,由模型来决定生成的过程中各部分的重要性。

前面介绍的几个模型,用户的写作意图,基本只能反映在第一句,随着生成过程往后进行,后面句子和用户写作意图的关系越来越弱,就有可能发生主题漂移问题。而规划模型可以使用户的写作意图直接影响整首诗的生成,因此在一定程度上,避免了主题漂移问题,使整首诗的逻辑语义更为连贯。

总体框架图如下:

当 AI 邂逅艺术:机器写诗综述

生成模型框架图如下:

当 AI 邂逅艺术:机器写诗综述

诗歌图灵测试:给定一个题目,让机器和人分别做一首诗 ,由人来区分哪首诗是人写的。实验结果也很有意思,对普通人来说,已经无法区分诗是由机器生成的还是人生成的,下面是一组测试的例子:

当 AI 邂逅艺术:机器写诗综述

现代概念诗歌生成例子:

当 AI 邂逅艺术:机器写诗综述

i, Poet: Automatic Poetry Composition through Recurrent Neural Networks with Iterative Polishing Schema

模型 [7] 基于 encoder-decoder 框架。encoder 阶段,用户提供一个 Query 作为自己的写作意图, 由 CNN 模型获取 Query 的向量表示。decoder 阶段,使用了 hierarchical 的 RNN 生成框架,由句子级别和词级别两个 RNN 组成。

句子级别 RNN:输入句子向量表示,输出下一个句子的 Context 向量。

字符级别 RNN:输入 Context 向量和历史生成字符,输出下一个字符的概率分布。当一句生成结束的时候,字符级别 RNN 的最后一个向量,作为表示这个句子的向量,送给句子级别 RNN。

这篇文章一个比较有意思的地方,是想模拟人类写诗反复修改的过程,加入了打磨机制。反复迭代来提高诗歌生成质量。

总体框架图如下:

当 AI 邂逅艺术:机器写诗综述

Generating Topical Poetry

模型 [9] 基于 encoder-decoder 框架,分为两步。先根据用户输入的关键词得到每句话的最后一个词,这些词都押韵且与用户输入相关。再将这些押韵词作为一个序列,送给 encoder, 由 decoder 生成整个诗歌。这种机制一方面保证了押韵,另外一方面,和之前提到的规划模型类似,在一定程度上避免了主题漂移问题。

模型框架图如下:

当 AI 邂逅艺术:机器写诗综述

生成例子如下:

当 AI 邂逅艺术:机器写诗综述

SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient

模型 [10] 将图像中的对抗生成网络,用到文本生成上。生成网络是一个 RNN,直接生成整首诗歌。而判别网络是一个 CNN。用于判断这首诗歌是人写的,还是机器生成的,并通过强化学习的方式,将梯度回传给生成网络。
模型框架图如下:

当 AI 邂逅艺术:机器写诗综述

总结

从传统方法到深度学习,诗歌生成技术有了很大发展,甚至在一定程度上,已经可以产生普通人真假难辨的诗歌。但是目前诗歌生成技术,学习到的仍然只是知识的概率分布,即诗句内,诗句间的搭配规律。而没有学到诗歌蕴含思想感情。因此尽管生成的诗歌看起来有模有样,但是仍然感觉只是徒有其表,缺乏一丝人的灵性。
另外一方面,诗歌不像机器翻译有 BLEU 作为评价指标,目前仍然依赖人工的主观评价,缺乏可靠的自动评估方法,因此模型优化的目标函数和主观的诗歌评价指标之间,存在较大的 gap,也影响了诗歌生成质量的提高。在围棋博弈上,以 AlphaGo 为代表的机器已经超过了人类顶尖选手,但是在诗歌生成上,离人类顶尖诗人水平,尚有很长的路要走。

参考文献

[1] 一种宋词自动生成的遗传算法及其机器实现
[2] i,Poet: Automatic Chinese Poetry Composition through a Generative Summarization Framework under Constrained Optimization
[3] Generating Chinese Classical Poems with Statistical Machine Translation Models
[4] Recurrent neural network based language model
[5] Chinese Poetry Generation with Recurrent Neural Networks
[6] Chinese Song Iambics Generation with Neural Attention-based Model
[7] i, Poet: Automatic Poetry Composition through Recurrent Neural Networks with Iterative Polishing Schema
[8] Chinese Poetry Generation with Planning based Neural Network
[9] Generating Topical Poetry
[10] SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient




====================================分割线================================

本文作者:AI研习社
本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI与艺术创作:机器的艺术天赋
【10月更文挑战第31天】本文探讨了AI在艺术创作中的应用及其独特“艺术天赋”。从绘画、音乐、文学到设计,AI通过计算机视觉、自然语言处理和生成对抗网络等技术,逐渐展现出强大的创作能力。尽管面临原创性、审美标准和法律伦理等挑战,AI艺术创作仍为艺术界带来了新的视角和灵感,未来有望与人类艺术家共同推动艺术的创新与发展。
|
4月前
|
机器学习/深度学习 人工智能 算法
AI伦理边界:当机器决策超越人类认知
【9月更文挑战第5天】AI伦理边界的探索是一个复杂而艰巨的任务,需要政府、企业、学术界和社会各界的共同努力。随着AI技术的不断发展,我们有理由相信,通过不断的探索和实践,我们一定能够找到一条既符合伦理道德又能够充分发挥AI技术潜力的道路。在未来的日子里,让我们携手并进,共同迎接AI技术带来的机遇与挑战。
|
6月前
|
机器学习/深度学习 人工智能 算法
AI与创意写作:机器如何学习讲故事
【7月更文挑战第8天】在数字时代的浪潮中,人工智能已经从实验室走向了文学创作的领域。本文将探讨AI在创意写作中的应用,揭示它如何通过算法模仿人类的思维模式,生成引人入胜的故事。我们将一同穿梭于代码与文字之间,见证一个由数据驱动的叙事新纪元的诞生。
|
6月前
|
机器学习/深度学习 人工智能 数据可视化
东哥教你如何用Orange Ai pro为家里做一个垃圾分类检测机器
## 摘要 本文由东哥原创,介绍了使用Orange AI Pro开发板进行AI项目开发的体验。这款开发板主打强大的AI算力,搭载昇腾AI芯片,提供8-12TOPS的性能,媲美英伟达RTX3080显卡。它支持外接eMMC和4K显示器,适合实时视频流模型部署。作者详细阐述了从购买、烧录镜像到环境配置的过程,包括安装ACLLite库、模型转换工具ATC的使用,以及YOLOv5模型的转换和部署。文章还展示了如何建立一个垃圾检测项目,利用计算机视觉进行实时垃圾分类,并分享了性能体验,认为开发板在散热和噪音控制上表现良好,适合AI爱好者和开发者进行DIY项目。
|
8月前
|
人工智能
AI信任危机之后,揭秘预训练如何塑造机器的可信灵魂
【5月更文挑战第10天】研究人员探讨了预训练如何影响大型语言模型的可信度,以解决AI信任危机。论文通过线性探测和相互信息估计分析预训练过程中的可信度变化,发现模型在预训练早期就能区分可信度概念。提出使用引导向量增强预训练阶段的可信度,但该方法仍需进一步研究验证。研究表明预训练有“拟合和压缩”两阶段,为理解模型可信度提供新视角。[论文链接](https://arxiv.org/abs/2402.19465)
69 3
|
人工智能 前端开发 API
手把手带你用Python和文心一言搭建《AI看图写诗》网页项目
手把手带你用Python和文心一言搭建《AI看图写诗》网页项目
582 1
手把手带你用Python和文心一言搭建《AI看图写诗》网页项目
|
机器学习/深度学习 人工智能 算法
专栏介绍《机器智造:AI与实战学习》
专栏介绍《机器智造:AI与实战学习》
67 0
|
存储 机器学习/深度学习 人工智能
LangChain + Streamlit + Llama:将对话式AI引入本地机器
在过去的几个月里,大型语言模型(LLM)获得了极大的关注,引起了全球开发人员的兴趣。这些模型创造了令人兴奋的前景,特别是对于从事聊天机器人、个人助理和内容创作的开发人员而言。LLM带来的可能性引发了开发人员的热情 |人工智能 |NLP社区。
638 0
|
机器学习/深度学习 人工智能 自然语言处理
像GPT-4一样能看懂图文,李飞飞等人的具身AI给机器人造了个多模态对话框
像GPT-4一样能看懂图文,李飞飞等人的具身AI给机器人造了个多模态对话框
211 0
|
数据采集 机器学习/深度学习 人工智能
AI机器狗情绪识别
机器如何识别人的情绪
250 3