编个程序,也许就成了小说家
三年前,美国公司 Narrative Science 推出可以代替记者撰写新闻报道的软件时,公司开发者说,他的“机器人记者”有可能在 5 年内赢得普利策新闻奖”;去年,文艺青年、软件开发者 Darius Kazemi 发起了 NaNoGenMo 项目,希望人们能开发出可以自动写出 5 万字小说的软件。所以是不是可以预测说不定哪一天“机器人小说家”有可能获诺贝尔文学奖?
NaNoGenMo 是 Darius Kazemi 在美国“全国小说写作月” (National Novel Writing Month:NaNoWriMo)的基础上延伸出的一个项目。NaNoWriMo 是一个小说写作大赛,参赛者需要在一个月内写出一部 5 万字的小说。为了赢得比赛大家都很拼,于是 Darius Kazemi 想到了“开发一个程序,让程序自动生成文字以完成小说写作”的办法。
后来,机智的 Darius Kazemi 干脆自己发起了一项比赛:NaNoGenMo,参赛者需要在一个月内开发出一个能自动“写出” 5 万字小说的程序。他还在 Github 上开了一个代码库,方便参赛者上传分享自己的代码。如今,NaNoGenMo 的第二届比赛已经开始,Github 上的 NaNoGenMo 2014 页面写到:
参赛者需要将软件生成的小说和软件的源代码都上传上来。
根据 The Verge 的介绍,Darius Kazemi 今年打算以“小说写作指南”为基础进行编程设计,让程序按照“拟定日程——展示人物角色——想好各个角色想要什么——让他们开始追寻想要的”的步骤,生成一部小说。Darius Kazemi 说他这种方式生产的小说虽然读起来废话连篇,但基本上叙事逻辑还是不错的。
而去年 Darius Kazemi 是用另外一种方式编程写出了小说”Teens Wander Around a House” 。他先是拟定了几个虚拟角色,假定他们在房子里随机移动,之后又设定当两个角色相遇时,就抓取 Twitter 上的对话作为小说中的人物对话。这种方式写出的小说中,虽然人物对话是围绕着同一个话题,但是基本上是没什么意义的对话。
目前来看,比较突出的一部软件生成小说是 MIT 的数字媒体教授 Nick Montfort 用代码生成的 World Clock。去年,Nick Montfort 用 165 行 Python 代码安排了小说中的角色一天里动作、地理位置等的变化,完成了 5 万字小说的“撰写”。
不过文章措辞方面仍然是“代码小说”无法解决的问题,Darius Kazemi 说,阅读自动生成的小说需要些耐心,不能用拿阅读作家写小说的标准去评判软件生成的小说语句是否通顺,措辞是否合适等。
讲故事是人工智能的一大挑战,许多公司和研究者也都在在探索这个问题,文章开头提到的’机器人记者’也只是在报道体育、财经、突发新闻时,能迅速地生成含有重要数字信息的新闻,而可读性更强的深度报道和能“引人入胜”的小说,目前电脑程序还做不来。