科技巨头诸如 Facebook 和微软已经大规模发布了 Bot 框架,旨在量产聊天机器人。在 Facebook Messenger 上开发了超过 11,000 个聊天机器人,并且有近 23,000 个开发人员注册了 Facebook 机器人引擎。此外,大量初创公司拥有自属开发框架和功能性产品。较小的交流平台,如 Telegram 和 Slack,也推出了「机器人商店」(「Bot Stores」),并成立基金吸引开发人员。
什么是 Bot 框架?
简单地解释,Bot 框架用来制造机器人并定义其行为。作为聊天机器人开发者,开发和定向如此之多的交流平台与聊天机器人开发 SDKs 常会感到无所适从。Bot 开发框架是这样一种软件框架,它能对聊天机器人开发过程中的人工内容做抽象化处理。
然而,尽管很多 Bot 开发框架宣称「代码一旦写好可部署到任何地方」,你还是很可能为你的每一个目标交流平台开发一个单独的聊天机器人。Bot 开发框架包括机器人制造者 SDK(Bot Builder SDK)、机器人连接器(Bot Connector)、开发者入口(Developer Portal)、机器人目录(Bot Directory)以及一个用来测试已开发机器人的模拟器。此外,Bot 框架并不适合初学者用来学习聊天机器人开发。
机器人框架与机器人平台的差别?
Bot 框架(Bot Framework)有时错误地与 Bot 平台(「Bot Platform」)通用。在开发应用程序时,Bot 平台的作用是提供部署和运行应用程序的,Bot 框架的作用是开发和绑定各种组件到应用程序。Bot 平台是在线生态系统,其中聊天机器人可以被部署并与用户进行交互,代表用户执行操作,包括与其他平台交互。
Bot 开发框架是一组预定义函数和开发人员用来加快开发的类,一组可以使你更快更好编码的工具。简单来说,初学者或非技术用户可以用 Bot 平台来开发不需要写代码的机器人,而 Bot 开发框架则被开发人员和码农借助编程语言从头开始构建机器人。
例如 Bot 平台 Motion.ai 可使用户无需编码便能快速创建强大的机器人。原因在于 Motion.ai 提供了一个能创建聊天机器人的工具包,使得机器人可与 APIs 相连并部署到任何一个可用的交流平台。
一些著名的 Bot 框架
Facebook bot 引擎
2016 年 4 月,Facebook 实现了基于 Wit.ai 技术的 Facebook Bot 引擎。Wit.ai 在自己的云服务器运行,Bot 引擎是一个包装器,用于在 Facebook Messenger 平台上部署机器人。Facebook 作为社交巨头的力量在于海量用户,因此他们不需要任何其他的 Bot 开发平台,并且聊天机器人将仅限于 Facebook Messenger(其本身即是一个巨大的空间)。
Facebook 正在为 Facebook Bot 引擎采用一种新策略。如果开发人员获得框架,Facebook Messenger 用户将享有各种专业聊天机器人
Facebook Bot 引擎依赖于机器学习。提供 Bot 框架示例对话之后,它可以处理同一问题的很多不同变体。随着开发人员不断完善聊天机器人,它们的潜力也会越来越巨大。
Wit.ai 提供一些选项:
1.它能提取出一些预定义的实体,比如时间、日期等等。
2.提取用户的意图。
3. 提取情绪。
4. 它可进行自我定义和提取。
微软 Bot 框架
微软几乎与 Facebook 同时宣布了其 Bot 框架。尽管微软的哲学和方法有点不同。就像 Facebook 的产品一样,微软的 SDK 可以被看作是 2 个彼此独立的组件。
1. Bot 连接器,集成框架
2. LUIS.ai,自然语言理解组件
微软 Bot 框架的集成组件适用于 Slack、Facebook Messenger、Telegram、Webchat、GroupMe、SMS、电子邮件和 Skype,令人印象深刻。此外,Azure 上有一个 PaaS 选项,就是用于 Bots。
微软 Bot 框架是一个全面的产品,用于构建和部署高质量的聊天机器人供用户享受最喜欢的对话体验。机器人开发人员都面临着同样的问题:机器人需要基本的输入和输出;它们必须具备语言和会话能力;机器人必须具有高性能,响应性和可扩展性;并且它们必须能够向用户提供理想的对话体验。微软 Bot 框架提供了我们构建,连接,管理和发布智能聊天机器人所需要的一切,无论是通过文字/SMS,还是其他平台诸如 Slack、Skype、 Facebook Messenger、Kik 等,聊天机器人都可以和用户自然地交流。微软 Bot 框架由许多组件组成,包括 Bot 创建者 SDK(Bot Builder SDK)、开发人员门户(Developer Portal)和 Bot 目录(Bot Directory)。
在此我向大家推荐一个大数据技术交流圈: 658558542 突破技术瓶颈,提升思维能力 (☛点击即可加入群聊)
API.ai
API.ai 是另一个基于 Web 的 bot 开发框架。API.ai 似乎已经发现了让用户通过输入多个话语来定义实体和意图的缺陷,并因此提供了一个巨大的领域集(a huge set of domains)。API.ai 为 bot 开发提供的一些 SDK 和库,包括 Android、iOS、Webkit HTML5、JavaScript、Node.js、Python 等。
API.ai 建立在如下几个概念上:
1.代理器:代理器对应于应用。一旦我们训练并测试一个代理器,我们就可以把它集成到我们的 app 或设备中去。
2.实体:实体表示那些通常专用于某一领域的概念,作为将 NLP(自然语言处理)短语映射到捕获其含义的批准短语的方式。
3.意图:意图表示用户说什么和软件需要采取什么动作之间的映射。
4.动作:动作对应于您的应用在用户的输入触发特定的意图时所采取的步骤。
5.上下文:上下文是表示用户表达的当前上下文的字符串。这对于区分可能是不明确的并且因取决于前面的话而具有不同含义的短语是有用的。
API.ai 能被集成在很多流行的交流平台、物联网和虚拟个人助理平台。它们中的一些包括 Actions on Google、Slack、Facebook Messenger、Skype、Kik、Line、Telegram、Amazon Alexa、Twilio SMS 和 Twitter 等。
Aspect CXP 和 Aspect NLU
Aspect 客户体验平台(CXP)是设计,实施和部署多渠道客户服务应用程序的平台。Aspect NLU 是一个给出人类语言感觉的组件,其采用的方法与 Wit.ai、API.ai 和微软 Bot 框架完全不同,并能为 Facebook Messenger 上的自助服务对话带来人性化的交谈口吻。这使它能够通过自动化以聊天机器人特有的方式进行扩展。Aspect CXP 使得设计、实现和在多种交流渠道(诸如文本、语音、移动网、社交网络)部署聊天机器人变得容易起来。这很适合那些需要复杂聊天机器人、客服应用和企业软件的地方;不太适合对简单机器人、嵌入式应用和物联网应用的需求。
这些是市场上可用的、开发人员构建机器人的 Bot 框架。如果你的组织要花费大量的金钱和时间与客户交流,你可以尝试建立一个机器人来处理这种情况。对话用户界面的时代(The era of Conversational User Interfaces)已经到来,成为掌握趋势的先行者之一吧。
结语
感谢您的观看,如有不足之处,欢迎批评指正。
在此我向大家推荐一个大数据开发交流圈:
658558542 (☛点击即可加入群聊)
里面整理了一大份学习资料,全都是些干货,包括大数据技术入门,大数据离线处理、数据实时处理、Hadoop 、Spark、Flink、推荐系统算法以及源码解析等,送给每一位大数据小伙伴,让自学更轻松。这里不止是小白聚集地,还有大牛在线解答!欢迎初学和进阶中的小伙伴一起进群学习交流,共同进步!
最后祝福所有遇到瓶颈的大数据程序员们突破自己,祝福大家在往后的工作与面试中一切顺利。