聊天机器人初学者指南

  • Assaf Elovic
  • 薛命灯

2017 年 8 月 8 日

话题:语言 & 开发架构

近年,聊天机器人开始再次崭露头角。Assaf Elovic在博客上分享了初学者应该注意的一些问题。以下内容翻译自作者的博文。

如果你在 Google 上搜索聊天机器人,你可能会看到很多介绍什么是聊天机器人以及如何创建一个聊天机器人的网页。请不要为此感到惊讶,因为今年是 2017 年,也是聊天机器人领域发生重要变革的一年。

我已经向很多圈外人士介绍过聊天机器人,他们非常感兴趣,也很想进入到这个领域。他们有的是软件开发人员,有的是企业家,有的只是存粹的技术爱好者。在短短的几个月时间里,这个领域的迅速发展让初次进入该领域的人感到压力倍增,特别是在 Facebook 发布了 Messenger API 之后。鉴于这个原因,我决定以简单的方式介绍如何进入该领域。

什么是聊天机器人?

我们先举个例子来看看什么是聊天机器人:

上面是发生在一个用户和一个聊天机器人之间的对话,这个应用是基于 Facebook 的 Messenger 平台构建的。

那么什么是聊天机器人?聊天机器人就是一个应用软件,用于完成某项指定的任务。更准确地说,聊天机器人实质上是一个基于会话模式的用户界面,通过 API 与后端的数据源进行连接,这样它就可以根据需要传送信息或服务,例如天气预报或头条新闻。

为什么是现在?

聊天机器人实际上已经存在了几十年,那么为什么突然之间变得这么火?原因有很多,如果你要问我这个问题,我认为主要有以下两个方面的原因:

  1. 消息已经成为最为流行的沟通工具。
  2. 人工智能(AI)和神经网络语言处理(NLP)技术得到了空前的发展,这意味着与机器人交谈越来越接近于与真人发生交谈。现如今,开发人员可以很容易地找到各种提供了 AI 和 NLP 服务的 API,他们甚至不需要了解 AI 和 NLP 的工作原理。部分提供这类服务的网站如下:Crunchable.ioChatbots.ioLuis.aiAPI.aiWit.ai。我想指出的是,既然我们基本上都需要消息平台,那为什么不把其他服务也都带到消息平台上?实际上,Facebook 的 Messenger 就在做这样的事情。

    Facebook Messenger 不仅仅是一个消息应用,它实际上是成千上万款应用的仓库,这些应用与我们的日常对话紧密集成。

    Facebook 在 2016 年 4 月就发布了聊天机器人平台,从那个时候起,开发人员已经通过 Messenger API 添加了超过 10 万个机器人。

聊天机器人都在哪里?

我在 WhatsApp 上开发了我的第一个聊天机器人。之所以选择 WahtsApp,是因为我所有的朋友都把它作为主要的消息通信平台。不过 WhatsApp 并没有提供官方的 API,也就是说,WhatsApp 并不允许在它的平台上创建聊天机器人(这一点也不奇怪,毕竟 WhatsApp 是 Facebook 的公司,而 Facebook 本身已经提供了一套强大的 API)。不过这也并非意味着就没有其他的可选途径,如果你跟我一样顽固,可以看看yowsup这个项目,你只需要一个注册过的手机号码。

以下是提供了官方 API 的平台:

  1. Facebook Messenger
  2. Slack
  3. Telegram
  4. Kik

当然还有其他部署渠道,比如 Android 和 iOS(通过短消息)、Skype,甚至是邮件。不过我只专注在上述的几个平台上。

这里可以找到更多聊天机器人,这要感谢来自 Botlist.co 的朋友们。

如何开发一个聊天机器人?

这不是三五句话能够说清楚的,我将在后续的博客中说明这个问题,我会介绍如何使用 Node.js 和 MongoDB 来创建聊天机器人。

如果你不是一个开发人员,或者你想使用简单的方式(不需要编程)来创建机器人,这里有一些方案:

  1. Chatfuel——这是我的第一选择,完全不需要写代码,增加和编辑内容都很简单,所见即所得。
  2. Botsify——无需写代码就可以创建一个 Facebook Messenger 聊天机器人。
  3. Meya.ai——Meya 可以帮你处理创建机器人的繁琐细节,你可以把精力放在其他有趣的事情上。

当然,使用现成的服务也有不好的地方,它们会限制你的创造力,你只能完成很有限的一部分功能。另外,使用第三方的服务意味着会被绑定到这些平台上。不过它们确实非常适合作为入门的途径,完全不需要编程知识。

总结

关于机器人在未来能够成功存在很多争议,我们必须分清“愚蠢”的机器人和“聪明”的机器人。“愚蠢”的机器人接受结构化的输入,而“聪明”的机器人会处理自然语言,并提供更加人性化的体验。

“愚蠢”机器人的主要问题在于,当人类改变聊天思路,回顾之前聊过的内容时,机器人就无法正常工作。所以,只要机器人无法进行自然的对话,无法理解人类的聊天意图,它们的作用就会很有限。

在我看来,聊天机器人要成功并不一定要十分聪明。在很多情况下,“愚蠢”的机器人也可以带来很好的用户体验以及提升商业效率。比如预订披萨,用户根据一些问题和选项输入他们的选择,而你也可以要求用户给出你预期的输入,这样就不需要 NLP 或 AI 了。我个人会倾向于使用“愚蠢”的机器人来预订披萨,而不是通过手机或网站。

下图展示了聊天机器人的生态系统。 

查看英文原文Chatbots — The Beginners Guide


感谢杜小芳对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

语言 & 开发架构