前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI改写《权游》结局,和编剧比谁更烂?

AI改写《权游》结局,和编剧比谁更烂?

作者头像
AI科技大本营
发布2019-06-14 17:05:21
5170
发布2019-06-14 17:05:21
举报

作者 | Chintan Trivedi 译者 | 刘畅 责编 | Jane

出品 | AI科技大本营

前言

《权力的游戏》结局烂尾?

《权力的游戏》第八季崩盘,在一片“烂尾结局”的评价声中落下了帷幕。采访身边很多剧迷的观后感,一位同事给的评价只有一句话:“书是一本好书”。

近日,国外,Medium 平台一位作者也分享了他的感受:

“权力的游戏”第8季的故事情节,因为其匆忙而不尽如人意的结局,让数百万名粉丝(包括作者)十分失望。大部分人都在呼吁重写该剧的最后一季,而其他人为了让自己舒心,则想出他们自己版本的结局。大家都在等待GRRM完成他的书,希望他能塑造一个更令人难以置信的角色,但这可能需要很多年。

作为一名技术人,任何问题都会忍不住想一下:技术能不能搞一下?

如果让 AI 学习 GRRM 的写作风格,然后写一个结局如何?

AI 能写得更好吗?

随后,作者便用年初 OpenAI 提出的 GPT-2 文本生成模型实践操作了一波。模型学习的是《冰与火之歌》(A Song of Ice and Fire)原著,输出三大反派人物(the Night King, Cersei Lannister and Daenerys Targaryen)的结局。

接下来的内容,我们会先简单一下 GPT-2,详细的介绍可以参考我们以前给大家推送的文章;然后介绍一下作者训练模型的方法;最后根据模型生成结果进行总结与反思。文章没有涉及非常详细的技术细节,而是从方法上帮助大家整体把握,后续无论是增加数据集,还是结合自己需求做调整,思路都可以借鉴,对技术细节没有进行详细说明。

GPT-2(生成预训练的迁移模型)

在现有的 AI 语言模型中,GPT-2 是一种达到了 SOTA 效果的文本生成模型。他能生成类似人类语言的连贯性语句,并且可以长期关注某个主题。 相比于其他语言模型,GPT-2 两个较大改进在于:

大量数据:研究人员抓取了 800 万个网页,制作了一个 40GB 的文本语料库,用于进行无监督的训练。它涵盖了各种各样的主题,这就是为什么预先训练的模型非常适合迁移到特定领域,比如这次我们用到的原著 GoT。

大量计算:Transformer 模型结构中使用了 15 亿个参数。不过,出于安全考虑,他们发布了仅包含 3.45 亿个参数的较小版本。这次的模型也是使用这个版本。

迁移模型

GPT-2 使用的是 Transformer 网络架构,而不是序列建模传统模型 RNN、LSTM 等网络。不同之处在于 Transformer 使用基于注意力机制的解码/编码器,而不是拥有'memory'门和时间步长的循环单元。

编码器利用字节对和位置嵌入处理输入,其中位置嵌入描述的是输入句子中“嵌入的单词”和“在何处嵌入”。相同的编码器将字节和位置嵌入转换为矢量编码,然后将该矢量编码输入解码器,解码器的任务是将编码转换为目标文本序列。 该输出和来自前一步骤的编码被馈送到下一个编码- 解码步骤,并且重复多次,以产生更好的文本序列。

下面的链接文章详细的解释了这个模型架构: https://blog.floydhub.com/the-transformer-in-pytorch/

而 GPT-2 就可以经过训练,预测给定输入句子中的下一个单词。如果模型可以相当准确地预测下一个单词,那么模型可能具备理解输入单词上下文含义的能力。如果不理解文本,语言模型只能预测符合语法规则的单词,而生成的文本可能不会符合语义规则。不同于机器翻译任务中的 seq2seq 模型,GPT-2 仅使用预训练模型 Transformer 中的解码器来生成后续文本,在文本生成期间并不需要编码器。

训练模型

数据:作者从《冰与火之歌》的 5 本书中摘录,组合文本数据用于训练。

模型:预训练 GPT-2 模型包含 345M 参数。

时间:该模型在 Google Colab 的 K80 GPU 上训练了大约12个小时。

在训练过程中,作者意外发现,预训练模型很擅长撰写《权利的游戏》里的角色特征,可能与在初始训练期已经接触过这些内容有关。想让模型撰写的内容更贴近 GRRM 的风格,需要继续利用 GoT 数据集。

结果与分析

先在原剧结局中,找出一些令大家感到失望的情节,然后再尝试用训练好的 GPT-2 模型生成结果,详细结果大家可以看下面的视频介绍,后面会对一些文本输出做部分介绍。

以下是视频格式的输出,后面是相同的文本输出。 https://youtu.be/_vSov4sldsQ

下面分析一下选取的 3 个场景

失望场景 1:重写 Night King 虎头蛇尾的结局

根据 GPT-2,Hodor还活着并赶来救营 Bran,这真是一个转折点! 或者可能是 Hodor的灵魂进入了 Bran 的身体。不过之后,也不知道这个模型想说些什么。。。

Lightbringer 是杀死 Night King的剑。如果 Night King 的冰剑原来是 Lightbringer 并且最终会杀死他,那会有多酷?!

就算编剧忘了,不过 GPT-2 还记得关于 Azor Ahai 的预言,还围绕 Lightbringer 做了不少展开。

这里有个地方很有意思,不是因为故事写得精彩,而是因为模型居然知道 the dragon 实际上是“Other”(也就是书中的 White Walker)。将所有这些细节正确地放在一个段落中,真的太奇妙了。神奇的是,这个模型已经完全了解有关人物的这些细节!

失望场景 2:Cersei Lannister 在没有任何计划或适当的战斗的情况下倒下

嗯,好吧,这个生成的剧本完全是垃圾。 但作者还是保留了它,然后再试了一次!

这次稍微好一些! 虽然模型输出的某些细节错了,特别是关于 Mad King,但”Jaime试图在那一刻给予 Cersei 力量的想法“还挺不错的。 也许在这个时候使用某种野路子会给她的故事情节带来一些正义感。 两个疯狂的女王,激烈战斗,毁坏城市的剩余部分。 这也不失为一个更好的结局,表明为什么 Iron Throne 的战争是不好的。

失望场景 3:Daenerys 急速转弯的结局

总是吃喝的好时光?我听说 King's Landing 有一家很好的咖啡店,Dany 可以尝试(如果它还没有被烧掉)

这段真是挺垃圾的,让我们再试一次。

这段也没有多大意义。两次下来,似乎模型坚持 Dany 想要将 King's Landing 的人们从暴君手中解放出来。

总结

虽然尝试为这些故事情节生成更多的样本,但没有哪个能在故事背景下讲得通。尽管生成的故事文本不够好,不过也能看出来模型清晰地描述了角色特征和技能。,并且在模型输出结果中也体现了彼此之间的关联。此外,作者认为 OpenAI 提出的 GPT-2 研究工作,也体现了近来 NLP 领域取得的一些进展。

同时,我们和作者一样,都很好奇在最大的 GPT-2 模型上训练会取得怎样的结果?毕竟模型训练数据也不是十分充分,感兴趣的小伙伴们可以把原著所有的文本数据加入到最大的 GPT-2 模型训练中,看看是有更多惊喜还是惊吓?

而无论是编剧的结局,还是 AI 改写的结局,其实大家心目中的 Perfect Ending 还是要等 GRRM 赶快写完他的书。

(*本文为 AI科技大本营编译文章)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档