把《人面鱼》的经验用于AI开发

以语音输入取代键盘输入的时代就这样猝不及防地到来了,人们对日语聊天引擎的需求越发高涨。游戏《人面鱼》系列的开发者加藤由多加也于2015年成立了人面鱼人工智能研究所,加入到开发聊天软件的大军当中。

“我年纪也不小了,之前也一直在考虑引退的事。不过,《人面鱼》问世至今,也差不多18个年头了,做了那么多版本,也积累了些经验。做日语聊天引擎的人也只有我了。”

《人面鱼》是游戏行业利用语音识别技术的先驱。这个养成游戏需要在水缸里养育人脸鱼身的人面鱼,当玩家发起对话后,人面鱼会进行回答,做出各种回应。不过当时语音识别的精度有限,很难准确识别玩家的语音内容。无奈之下,只能在无法识别的时候让人面鱼留下“小子,你连话都说不利索”之类的抱怨之言,然后愤然离去。由此成功地遮掩了缺点,人面鱼“傲慢”的人设也成了该游戏的特色。这是创意的胜利。

人面鱼 ©1998-2017 OPeNBooK Inc

靠着这个妙计,就可以让人面鱼在说话时“似乎是在进行自然的对话”。预设好台词,如果玩家这么说,人面鱼就这么回答,以此为基础将若干种模式都进行录音,然后就可以配合玩家的聊天内容,选取适合的台词让人面鱼说出来。游戏预设了海量台词,相当于20本电话黄页的量,配音全部是斋藤亲自上阵。这就是斋藤所说的“经验”。

“Amazon Echo是一问一答,我觉得现在市面上销售的同类产品,跟我当时做人面鱼是类似的路数,并不是真正的‘人工智能’。能够真正理解眼前的对方想说什么的聊天引擎,看似有了,其实还没有。现在市面上的AI都只能应付例如‘帮我买张票’之类的要求或询问,而我们想开发的AI则是真正能够接茬搭话的AI,比如我跟它说‘我考试得了100分’,它就会跟我说‘厉害了!这是第二次了吧’这样的。”

摧毁日语语法

为此,斋藤走出的第一步是“否定并重新定义现在的日语语法”。例如下一段动词“食べる(吃)”按照传统日语语法有这些活用形态:“食べない(未然形)”“食べます(连用形)”“食べる(终止形)”“食べるとき(连体形)”“食べれば(假定形)”“食べろ(命令形)”等。然而日本并不能像英语那样,单词和单词之间存在明确的分界线。于是斋藤就把单词扩大成活用形来进行定义。比如“食べる”否定命令的现在形是“食べるな”,然后按照否定命令语气的由弱到强进行了如下排序。

〈食べるなよ(不许吃啊)〉
〈食べるなって言ってんだろ(都说了不许吃了)〉
〈食べたらぶっ殺す(敢吃就削你)〉

斋藤认为,“日语一般省略主语,不过这是因为即便省略主语,也知道说的是谁。比如‘絶対、食べてやる(我就吃给你看)’主语是第一人称,‘絶対、食べてやると思ってますよね(你脑子里在想‘就吃给你看’吧)’主语是第二人称,如果是‘食べたがっている(他看起来很想吃的样子)’‘ 食べたらしい(他好像吃了)’的主语就只能是第三人称了。从动词的活用形就能看到主语的痕迹。”

对于名词,也用活用形来定义。例如“智能手机“这个名词,活用形如下所示。

过去形〈スマホだった(曾是智能手机)〉
愿望形〈スマホであってほしい(希望是智能手机)〉
愿望的否定形〈スマホであってはならない(千万别是智能手机)〉