注册 登录
  • 动态
  • 推荐
  • 游戏
  • 分享链接 new
  • 回答问题
  • 发现
  • 野蔷薇
  • 视频

OwenTsai 游戏设计,Web开发

回答了问题 更新于 2017-10-16 00:18:24

Event[0]是怎么做到和NPC流畅对话?

我就喜欢这种讨论技术的问题2333

首先为了避免有人不知道这款游戏——这是一款打着步行模拟tag的游戏,科幻壳子,和人工智能Kaizen对话,探索整个宇宙飞船。在游戏中你需要直接和人工智能通过打字的方式交流。AI会根据之前的聊天上文,以及你们的对话做出合适的回答——虽然有可能不是很合适。

《Event[0]》看起来可能拥有最先进的AI,可以无障碍与人沟通。但事实并非如此。任何一个游戏程序员都会告诉你,游戏中的AI是一系列规则的状态机或者行为树,不可能可以和玩家真正沟通。Event [0] 也是如此,所谓的AI不过是一个创造出来的假象。那么这种技术是如何实现的呢?

通过开发者访谈,我们可以看到Kaizen的运作机制。

第一步,程序会纠正你拼错的单词。当然如果你错的太离谱,程序是不可能纠正的。

第二步,程序会浏览你的输入字符串,提取关键词,并和数据库中的tag进行比较。比如I me my mine等词可以匹配的tag是Player,passenger crew others等词匹配的是crew, place location position等词可以匹配where,经过这样的匹配和重新组合,你的语句就能被程序翻译和解读。比如你输入Where are the rest of passengers? 和 Where's my crew?,匹配到的tag组合是一样的,你也就可以得到类似的答复。

第三步,在回答数据库里根据你输入的语句标签搜寻可能的回答,并进行非关键词适当的替换,甚至还需要结合情感状态才能进行最后的输出。

同时,系统也会记录上下文。比如你在之前提到了passengers,那么你下一句话的they就会被辨识为指代了船员。在整个游戏里有1W个以上的单词和数千个标签组成的数据库。

由于游戏中的Kaizen只是一个飞船上的AI,聊天内容仅限于飞船上,所以这个数据库容量不需要多大。但是如果你想要一个能真正和人对话的人工智能,恐怕就非常难了。

著作权归作者所有。商业转载请联系作者获得授权,非商业转载务必附上原作者名称,注明来自「奶牛关」并给出原文链接。不得以任何形式演绎或修改。

{{answer_voters_count}}人赞同

...

{{question_follower_count}} 个玩家关注

...

相关游戏

目录

    评论 0

    登录奶牛关账号即可参与讨论
    登录 / 注册

    OwenTsai 的更多回答

    查看所有回答

    该问题的其他回答