如果你正在为一个客户设计一个聊天机器人(咨询,开发,原型设计……),这段对话可能听起来很熟悉:
客户:「实现我的机器人最佳技术的是什么?」
我:「不仅仅是一项技术,而是一系列的多种技术。每项技术都可以解决一个问题,所以这取决于你的项目。」
客户:「好吧,那你能给我什么建议吗?」
我:「你知道吗,要回答这个问题,我差不多需要问你将近 10 个聊天机器人问题!」
在这篇文章中,我会详细讲述如何为客户设计高效聊天机器人的技术栈框架。
正如你所看到的,聊天机器人各种各样的都有。
所以,该为聊天机器人付多少钱算是一个合理的价格,对于客户来说还是很难去意识到的。
在某些领域聊天机器人的项目价格在 4w 人名币到 350w人民币之间。(关键是有时机器人的质量都是相同的。这价格就很魔幻了!!)
每一个技术开发者都争着提出「聊天机器人解决方案」,即使对于技术人群来说,也很难去区分平台、框架、NLP 技术、消息功能、免代码机器人……
在设计一个机器人时,记住三个创新的核心维度:你的产品必须 desirable、viable、feasible。也就是
这三个标准应该在你选择一项技术时作为引导你的基准:
它是否有可行性
?
它是否满足客户需求
?
它是否是可估价
?
Xmind
这样一款超棒的脑图工具,或者在线并且支持协作的ProcessOn
也可以)在第一、二步中,你应该汇集所有你需要的信息以选择最佳技术。
- 首先,确保你的用户可以理解选择正确技术的利益
- 然后,询问正确的问题来做最明智的决定
我所讲的都是非常基础的,但是可以很有效地向非技术人员证明机器人背后的关键概念 / 技术:)
以下是我认为任何机器人创建者在选择技术方案强化他的机器人前都需要抓住的 10 个主题。
你专注于哪个消息平台?你的用户们都在哪儿?你的服务是对任何人都适用还是只对特定的一组用户群?他们会使用什么设备聊天?(智能手机、笔记本电脑、语音……)
腾讯旗下面向即时通讯的 微信 QQ
阿里巴巴旗下的面向购物的 淘宝 面向支付的 支付宝
京东的主要业务 京东商城
简单的网页小部件或者插件,如果你打算将你的机器人集成进网站(我的网站也即将集成一个机器人)
Skype 与 Microsoft Teams 更面向企业的应用:针对大公司雇员的聊天机器人,具有高度数据隐私问题
iMessenger,如果你用户中的大多数有 iPhone
Twitter 基于 twitter 的社区直达消息/微博,或者公开分享性的会话
关键问题是:你是否需要非技术人群能够实时修改机器人内容?如果内容经常变化并且你想给业务人群自主权,那么就可以考虑使用图形界面的解决方案。
你的机器人只是一个基础的 QA 机器人还是它运作起来像一个真人一样?(发送多个消息,提供选项……)
有很多解决方案是建立于问答基础之上,像是来自微软的 QNAmaker,由 Intercom 制造的 Operator……所以没有必要构建太复杂的东西。
如果你需要一个有互动性的 FAQ,那么只需要使用那些简单的工具,在几分钟之内就可以做好。
你的机器人只使用文本,还是你希望使用不同类型的消息?(图片,按钮,快速回复,列表,模版……)
在某些特定的使用场景中,你只能够使用文本,尤其是你的目标是短信频道(老人、厌恶数据的部分人群、没有智能手机的一些个别国家)。
或者,当你计划将机器人接入多个提供不同模版结构的消息平台。
你真的需要 NLP 吗?!
我经常听人们谈起他们是如何需要他们的机器人变得超级智能,充满 AI,近乎于人类。
事实上,大多数使用场景根本就不需要 NLP,因为他们只是遵循一个简单流程图而已!
举个例子,聊天机器人可以让你浏览产品目录,并最终告诉你商店的营业时间,这并不需要一个复杂的 NLP 解决方案,而完全可以通过按钮、快捷回复以及一个好的菜单来实现。
不过如果你意向去建立一个真实的会话感受,你是绝对需要 NLP 的!
现如今共有 6 大 NLP 平台,分别由 Facebook、IBM、Google、NuanceGroup 以及 Miscrosoft 所拥有。我外加一个,Recast,一个法国的创业公司,可以提供 NLP 的协作方法。
做完基础安利后,我要说一下我的最爱,API.Ai。足够简单,可以让你将回答放在平台上,并支持小的讨论功能,监督学习,多种语言……但是毕竟只是我个人的最爱,仅供参考:)
聊天机器人脱离了人类团队什么都不是。我们要给聊天机器人提升会话流程,添加新的意图,丰富知识库……
这就是所说的监督学习或者监督训练。监督学习可以在线上进行,也可以在在会话之后。我们可以观察不同的实践:
你能准备出真人来接管会话吗?(当机器人不理解时,或者当用户想要人工服务的时候)在很多场景中,这真的会让自动化聊天机器人变成顾客的惊奇体验。
再强调一遍,如果你计划将人工集成进这一循环,请确保使用了合适的技术解决方案。举个例子:
如果你需要通过网络服务集成第三方,请确保你的技术栈可以支持它。举个例子,Chatfuel 能够让你关联到 Zappier,但是大多数 WYSIWYG 平台不能连接外部网络服务。最灵活的方法是自己编写机器人的逻辑以及使用 REST API。
根据于你的目标用户,语言标准会是决定性的因素。大多数平台都能很好地支持英语,然而它们并不都支持其他语言。有时语言虽然有支持,但是效果也没有预期那样好
当然,你需要考虑一下所有软件解决方案的价格以及估算你的用户增长。
你应该现在有能力去决定哪个技术栈可以提供给你的客户,并在时间推移上,有个价值上的估算了:)
目前我喜欢的Flow是:
希望本文可以帮助到你们一些人,感谢阅读:)