本文做者:Sébastien Fourault数据库
原文地址:《The Ultimate Guide To Designing A Chatbot Tech Stack》微信
翻译:一熊翻译组 Mason网络
若是你正在在一家聊天机器人公司工做(咨询,开发,UX 设计……),这段对话可能听起来很熟悉:app
客户:「助力个人机器人最佳技术的是什么?」框架
我:「不只仅是一项技术,而是一系列的多种技术。每项技术均可以解决一个问题,因此这取决于你的项目。」机器学习
客户:「好吧,那你能给我什么建议吗?」ide
我:「你知道吗,要回答这个问题,我差很少须要问你将近 10 个聊天机器人问题!」工具
在这篇文章中,我会详细讲述我本身为客户设计高效聊天机器人的技术栈框架。学习
正如你所看到的,有太多做者在作太多的东西。因此,该为聊天机器人付多少钱算是一个合理的价格,对于客户来讲仍是很难去意识到的。测试
结果:在某些领域聊天机器人的项目价格在 5 千美金到 50 万美金之间。(关键是有时机器人的质量都是相同的。简直是什么鬼?!)
每个技术开发者都争着提出「聊天机器人解决方案」,即便对于技术人群来讲,也很难去区分平台、框架、NLP 技术、消息功能、免代码机器人……
创新的游戏规则
在设计一个机器人时,记住三个创新的核心维度:你的产品必须 desirable、viable、feasible。
这三个标准应该在你选择一项技术时做为引导你的基准:它是否对用户友好?它是否拥有你所有想要的功能?价格是多少?……
1.定义客户正确的使用场景与适用范围:某些状况下项目在技术上不可行、没什么用甚至太昂贵。从小作起,扩大规模,在这个想法上不要犹豫
2.设计对话流程(你可使用 RealtimeBoard 这样一款超棒的协做脑图工具,或者 BotMock 也能够)
3.选择最合适的技术栈
4.使用迭代、beta用户测试来敏捷开发方法论,提高机器人流程,知识库,机器人个性……
5.扩大规模,遵循分析结果/KPI 并与你想实现的目标进行比较
在第1、二步中,你应该聚集全部你须要的信息以选择最佳技术。
首先,确保你的用户能够理解选择正确技术的利益
而后,询问正确的问题来作最明智的决定
用户经过设备在消息平台上进行交互,她的的消息会经过 NLP 进行处理。
而后机器人能够启动一个过程,用来自数据库 / API 的实时信息来回应,或者转交人工。
接收的消息越多,机器人提高的也就越多:这也就是所谓的机器学习。某些状况下也须要人工来帮助机器人,也就是所谓的监督学习。
我所讲的都是很是基础的,可是能够颇有效地向非技术人员证实机器人背后的关键概念 / 技术:)
如下是我认为任何机器人建立者在选择技术方案强化他的机器人前都须要抓住的 10 个主题。
你专一于哪一个消息平台?你的用户们都在哪儿?你的服务是对任何人都适用仍是只对特定的一组用户群?他们会使用什么设备聊天?(智能手机、笔记本电脑、语音……)
FacebookMessenger、Kik、Telegram、Allo、Line、Viber…都适用于移动应用,而且在你想快速快速大量用户的状况下(12 亿的潜在用户)
微信,若是你定位于亚洲用户的话,微信是主要的平台
Slack、BearyChat 对初创公司与开发者来讲会是个不错的选择(尤为仍是 ChatOps 应用)
Skype 与 Microsoft Teams 更面向企业的应用:针对大公司雇员的聊天机器人,具备高度数据隐私问题
Whatsapp 目前不支持机器人,可是有流言说他们立刻就会在平台上邀请企业
Twilio 容许你发送短信,是针对于那些没有智能手机的用户,或者不肯定他们倾向于使用哪一个消息平台
iMessenger,若是你用户中的大多数有 iPhone
简单的网页小部件,若是你打算将你的机器人集成进网站
Twitter 基于 twitter 的社区直达消息/微博,或者公开分享性的会话
Amazon Echo、 Google Assistant 或者 MS Cortana,若是你想用语音替代消息(相对于聊天机器人我更缘由称它们为语音机器人)
包括编码与配置技术工具此类的进阶技术会更具效力。
免代码技术可使任何人经过拖拽与施放来修改机器人图标界面,少一些定制。这里值得说起的是Chatfuel、Converse.ai、Motion.ai、Smartly.ai、FlowXO、Octane.ai、Sequel、Gupshup ……
关键问题是:你是否须要非技术人群可以实时修改机器人内容?若是内容常常变化而且你想给业务人群自主权,那么就能够考虑使用图形界面的解决方案。
你的机器人只是一个基础的 QA 机器人仍是它运做起来像一个真人同样?(发送多个消息,提供选项……)
有不少解决方案是创建于问答基础之上,像是来自微软的 QNAmaker,由 Intercom 制造的 Operator……因此没有必要构建太复杂的东西。
若是你须要一个有互动性的 FAQ,那么只须要使用那些简单的工具,在几分钟以内就能够作好。
你的机器人只使用文本,仍是你但愿使用不一样类型的消息?(图片,按钮,快速回复,列表,模版……)
在某些特定的使用场景中,你只可以使用文本,尤为是你的目标是短信频道(老人、厌恶数据的部分人群、没有智能手机的发展中国家……)。或者,当你计划将机器人接入多个提供不一样模版结构的消息平台。
你真的须要 NLP 吗?!
我常常听人们谈起他们是如何须要他们的机器人变得超级智能,充满 AI,近乎于人类。
事实上,大多数使用场景根本就不须要 NLP,由于他们只是遵循一个简单流程图而已!
举个例子,聊天机器人可让你浏览产品目录,并最终告诉你商店的营业时间,这并不须要一个复杂的 NLP 解决方案,而彻底能够经过按钮、快捷回复以及一个好的菜单来实现。
不过若是你意向去创建一个真实的会话感觉,你是绝对须要 NLP 的!现现在共有 6 大 NLP 平台,分别由 Facebook、IBM、Google、NuanceGroup 以及 Miscrosoft 所拥有。我外加一个,Recast,一个法国的创业公司,能够提供 NLP 的协做方法。
作完基础安利后,我要说一下个人最爱,API.Ai。足够简单,可让你将回答放在平台上,并支持小的讨论功能,监督学习,多种语言……可是毕竟只是我我的的最爱,仅供参考:)
聊天机器人脱离了人类团队什么都不是。咱们要给聊天机器人提高会话流程,添加新的意图,丰富知识库……这就是所说的监督学习或者监督训练。监督学习能够在线上进行,也能够在在会话以后。咱们能够观察不一样的实践:
在线指导:当机器人不能足够确认信息或者不能识别任何意图时,这时候就须要人来帮助它规范正确意图。
平常训练:天天操做员会审视全部对话,并确认或否认机器人所认知的意图。
周常改进:每周,团队聚集能够添加的有趣的新功能。聆听并观察你的用户,他们会有你须要去适应的意外举动。
你能准备出真人来接管会话吗?(当机器人不理解时,或者当用户想要人工服务的时候)在不少场景中,这真的会让自动化聊天机器人变成顾客的惊奇体验。
再强调一遍,若是你计划将人工集成进这一循环,请确保使用了合适的技术解决方案。举个例子:
Facebook messenger 可让你看见在页面管理器中看见全部会话。他们最近宣布了为开发者的转化协议
Operator,来自 Intercom 的 Operator 彷佛被设计成可让人工插入会话
Chatfuel 提供按钮来看使「在线聊天会议」
Dashbot 有人工转接功能
若是你须要经过网络服务集成第三方,请确保你的技术栈能够支持它。举个例子,Chatfuel 可以让你关联到 Zappier,可是大多数 WYSIWYG 平台不能链接外部网络服务。最灵活的方法是本身编写机器人的逻辑以及使用 REST API。
根据于你的目标用户,语言标准会是决定性的因素。大多数平台都能很好地支持英语,然而它们并不都支持其余语言。有时语言虽然有支持,可是效果也没有预期那样好。为了作出选择,你能够在这篇文章中找到一张对比表。
固然,你须要考虑一下全部软件解决方案的价格以及估算你的用户增加。在这篇文章中你能够找到价格表。模式大多例如:
免费模式(有或者没有水印)
免费增值模式( X 条消息 / X 个用户前免费或为进阶功能付费)
为每条消息/每一个 API 请求付费
按平台上用户数付费
订阅
这个……这个问题才对嘛!你应该如今有能力去决定哪一个堆栈能够提供给你的客户,并在时间推移上有个价值上的估算了:)
目前我喜欢的堆栈是:
用 API.ai 作 NLP 与监督学习:很不错的讨论小功能,支持法语的最佳平台,漂亮的界面……
用 Dashbot 作分析以及人工转接:十分详细的统计,易于集成,报表功能……
用 Botpress 作 NodeJS 框架:能够迅速搭建而且十分灵活
用 FacebookMessenger 作消息接口:12 亿的用户,绝佳的聊天 UX
用 Airtable 作数据库:能够由非技术人群更新(有须要的话有时能够用 MongoDB)
还有其余一些取决于项目类型的 API(Spotify、Youtube、 Google Maps……)
若是你须要一些灵感,我这里有一个能够展现全部机器人堆栈的好网址:Chatbot Stacks(目前还在 BETA 中)
但愿本文能够帮助到大家一些人,感谢阅读:)
倍洽(BearyChat)做为国内率先将 ChatOps 理念落地的智能化工做平台,咱们一直前进在路上,积极引进、整合国际先进理念与服务,为企业和团队提供更高效的工做消息处理方式,但愿能够为更多的人提供更优质的服务与工做体验。
扫描文末二维码,体验聊天机器人为你工做带来的轻便和敏捷。