做出了一个聊天机器人需要多长时间? 2小时足够!

做出了一个聊天机器人需要多长时间? 2小时足够!


聊天机器人到底有没有商业价值?做起来到底麻不麻烦?本文作者Shival Gupta花费了一个月的时间去收集资料,去进行研究。最后,他花了不到两个小时做出了一个聊天机器人。并指出作为一名商人,这是一个值得下注的趋势;作为一名工程师,这是一项值得学习的技能。

根据Flurry的一项研究,我们每天在智能手机上要花费大约5个小时。这个数据不仅令人惊讶,而且大约65%的时间(3小时15分钟)都花在了与沟通相关的活动上,比如社交媒体、短信、电子邮件和电话。

这意味着,如果你去开发一个移动应用,去创业的话,就要与数百万的其他应用去争抢用户那35%的时间。而且,发现一个好的创意并且落地,也要耗费大量的成本。

那么,如果不打算开发一款应用,你会怎么做呢?大多数专家认为,移动应用的下一步将会是在应用中构建一个聊天机器人。它们能够扩展Facebook或Telegram等大型社交平台的功能。而且用户不需要在手机上安装额外的应用。这是一个双赢的举措。不过,我对这个发展趋势有些怀疑。主要有以下两点:

从商业角度来说,构建一个聊天机器人是毫无用处的。

从工程角度来看,构建一个聊天机器人是一件疯狂的事情。

为了搞清楚这个趋势背后的基本逻辑,我开始了一些研究。我花了大约一个月的时间查找资料,与专家交谈,摆弄工具包,到最后,用了大约2小时内用代码写了一个功能性的聊天机器人出来。这段旅程是我的探索之旅,我想知道我的怀疑是否是合理的,并从中获得一些乐趣。

旅程开始

人们普遍相信,灵感经常会在一个奇怪的时间敲开房门,所以应该要时刻保持清醒,邀请它进来。

当我开始写这篇文章时,我对聊天机器人一无所知。我对人工智能的也非常肤浅。比如监督学习是如何起作用的,去哦都搞不清楚。甚至对于我来说,NLP只是自然语言处理(Natural Language Processing)的缩写。我研究聊天机器人,有一半的原因是为了增加我对这个趋势的了解。有句老话说得很好:

抑制自己的无知是一种生活的乐趣,只有最不安分的人才会珍惜。

我现在想要解决的是我对聊天机器人行业提出的第一个质疑——它们没有任何商业价值。经过一番搜寻之后,我终于找到了一个不错工具——Botlist,一个第三方数据库,罗列了许多当前在各平台用到的聊天机器人,包括电子邮件、网页、短消息服务、Slack、移动、应用等。当我带着疑问去观察聊天机器人时,我一直在猜测和思考开发者为什么会决定在自己的应用平台上开发聊天机器人,这解决了他们的什么问题?他们如何让机器人变得更有商业价值?

我发现了Mitsuku,跟它聊天很有趣。Dr AI似乎也能很好地解决问题。Rightclick.io也不错,但我很难Get到它的点。通过浏览大量的聊天机器人,从Hangman到TVakis等等,他们的做法看起来似乎很实用。但它仍处于发展的初级阶段,这个趋势还没有完全成型。不过,好的一点是,我获取到了足够的灵感,从而能自己搭建一个聊天机器人,看看它们能尝试解决什么问题。

在某种程度上,我感觉自己就像一个在卢浮宫漫步的艺术生,在寻找灵感。然而,有一个问题一直在困扰着我。

杀手级应用在哪?

现在,聊天机器人行业还处于起步阶段,从业者都在朝着一个方向去努力,去竞争——寻找下一个让聊天机器人成为主流的杀手级应用。到目前为止,在聊天机器人领域还没有哪家企业能够占据绝对的领先地位。整个行业的竞争环境非常公平。

我和很多人谈过。专家们达成的共识是,在大约2~5年的时间里,我们会看到聊天机器人领域会出现真正的杀手级应用。技术还在发展,可以肯定地说,即使是现在最好的聊天机器人,也会因为人工智能和NLP等相关技术的发展而变得过时。

这意味着,如果有正确的想法,任何人都可以开发出潜在的杀手级应用。这一发现非常激励人心。就目前而言,我体验过的聊天机器人做的事情似乎很简单,但从本质上讲,它们只是图形用户界面(GUI)的替代品。我特别注意到的两件事是:

如果在用户完成任务需要超过2个步骤,那么聊天机器人就能提供更好的体验。

如果用户只是简单的搜索和点击,聊天机器人似乎是多余的。

总而言之:

不管你是做一个用户界面(UI)出来还是做个聊天机器人,这都不重要。只有节省了时间,用户才会用其来解决问题。

从这个角度来看,做聊天机器人确实具有商业价值。它比原来的用户界面更节省时间。我的下一段旅程是要亲自做一个聊天机器人出来,看看水到底有多深。

做一个聊天机器人

构建一个聊天机器人和玩拼图游戏差不多。我只需要找到合适的部件和工具来建造它。最关键的在于,要从哪里入手去做。所以,我在开始之前给定了两个目标:

机器人应该像人一样说话:也就是它应该理解自然语言。

机器人应该能在较麻烦的场景中发挥作用:这意味着它应该做一些,用户在原来的UI上操作超过两步才能完成的事情。

有了这些限制,我在脑海中形成了一个可信度,即做一个聊天机器人出来是否困难。由于我在自然语言处理方面也是新手,可以想象我们大多数人的学习曲线是一样的。

最后,我选择去做一个能够准确计算出日期的聊天机器人。例如,它会接受这样的输入,比如“从现在开始过6天,是什么时间?”“在明年9月之后再过5周,是什么时间?”

简单来说,它的架构是这样的:机器人

根据一篇教程(点击),我花了不到2个小时,使用基本的NLP技术和一个基于softmax的神经网络(包括在我的Windows机器上安装Tensorflow),做出了一个意图分类器系统。在确定意图分类之后,将对字符串进行解析,以便输入我想要的日期。我宁愿用NLP模块对输入的日期进行解析,并反馈给我,但它现在只是用于概念验证。机器人

机器人结果。这个聊天机器人并不非常健谈。

老实说,这并没有那么难。有了Facebook的Messenger平台和Telegram的聊天机器人平台,以及api.ai、wit.ai,、以及recast.ai等公司提供的功能,我们当中的一些人可能花更少的时间,就能做一个聊天机器人了。

结语

为个人的使用制作了一个聊天机器人,让我进入了一个充满各种可能性的世界。人们正在解决许多问题,比如预订旅游票、酒店、电影票、订餐等等。通过引入聊天机器人,用户体验可以通实现跨越式的改进。说实话,聊天机器人的新特性让我很兴奋。或许,新的Facebook和WhatsApp正出现在黑暗中。

我相信在不远的将来,一切都可以通过像电影《Her》中的对话机器人来完成。它比你在智能手机屏幕上轻敲一下有效率多了。不过,我不会建议你爱上你的聊天机器人。

抛开玩笑,聊天机器人无疑是一个新兴的趋势。每个人都在讨论它是否会持续下去。但能否持续下去并不是由聊天机器人本身来决定。而是那些制造它们的人。

我相信,炒作是一种将冷门技术变得普遍化的工具。业界正在研究这一相对较新的技术能够做什么。作为一名商人,这是一个值得下注的趋势;作为一名工程师,这是一项值得学习的技能。

毕竟,最好的聊天机器人还没有被制造出来。

原文链接:http://www.eeboard.com/news/robot-45/