BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

聊天机器人初学者指南

| 作者 Assaf Elovic 关注 1 他的粉丝 ,译者 薛命灯 关注 24 他的粉丝 发布于 2017年8月9日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

近年,聊天机器人开始再次崭露头角。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)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT