知识机器人

源节点: 837393

今年早些时候,我有一项任务是创造知识 BOT 用于企业级平台。 用户主要是组织的员工,其目的是使用知识 BOT 共享平台的产品和使用。

市场上有很多框架(每个都有各自的优缺点),因此根据您要创建的机器人的类型选择正确的框架非常重要。 如果创建知识机器人,通常的要求是–

1.知识的主要目的 BOT 是通过向导聊天提供有关产品的信息。 如果用户愿意,他应该能够退出引导式聊天并询问有关产品的特别问题,然后返回引导式聊天。

2.知识机器人应该能够执行一些简单的任务,例如预订产品演示。

3.知识机器人应在第一时间正确地提供有关所选域的正确信息(在本例中为平台产品),而不是在覆盖范围很广的范围内提供正确率约为70-80%的答案。

4.虽然它应该提供执行NLU并了解用户要求的能力,但是这些要求的总体重要性是有限的。 因此,对于知识机器人来说,通常不需要上下文聊天。

我开始根据成本,灵活性,易用性,易维护性,可扩展性,开发易性,未来可扩展性,集成,社区支持等参数评估市场上可用的聊天机器人框架,并在以下两个平台上进行了归零–

i)Rasa —“ Rasa是领先的对话式AI平台,可进行大规模的个性化对话。 使用Rasa,所有团队都可以大规模地与客户创建个性化的自动交互。 Rasa提供了构建最佳助手所必需的基础架构和工具-可以有效地改变客户与企业沟通方式的助手。” —来自Rasa的网站。

—主要功能包括—

  • 基于NLU的默认NLU引擎是开源的。
  • 随附开源(有限功能)和付费企业许可证(更多功能)。
  • 聊天机器人的创建更倾向于开发人员。
  • 支持高级功能,例如调用外部API,意图识别,插槽填充等。
  • 可以嵌入网站。 本地/云部署。 使用故事和培训数据(面向开发人员)创建聊天机器人不是通过基于Web的GUI框架。
  • 良好的社区支持。
  • 平台是围绕AI构建的,培训数据是提高性能的关键。 不是基于流的,所以有点黑匣子。

ii)Botpress-“ Botpress是一个开放源代码平台,供开发人员构建高质量的数字助理。 我们汇总了启动并运行聊天机器人所需的样板代码和基础结构。 我们为您提供一个完整的,开发友好的平台,其中包含在创纪录的时间内构建,部署和管理生产级聊天机器人所需的所有工具。” -来自Botpress网站。

-显着特征包括-

  • 基于NLU的默认NLU引擎是开源的。
  • 随附开源(有限功能)和付费企业许可证(更多功能)。
  • 基于GUI的聊天机器人的创建。
  • 支持高级功能,例如调用外部API,意图和实体标识,插槽填充等。
  • 可以嵌入网站。 本地/云部署,但提供Web界面。
  • 良好的社区支持。
  • 主要基于流,并支持NLU功能。 调试器支持和控制。

Rasa的主要优势在于其NLU引擎及其提供的上下文聊天体验。 通过上下文,我的意思是在进行中的对话的上下文中获取用户的每个输入,然后进行响应。 但是,训练机器人以使这些对话正确无误需要大量的精力,计算能力和技能,并且随着对话范围的增加,需要编写的故事总数呈指数增长。

另一方面,Botpress结合使用了AI和基于规则的引擎来为用户创建聊天体验。 它在上下文对话方面的功能不是很强,但是具有丰富的GUI产品可提供指导信息。

在担任高级数据科学家时,我最初的感觉是与Rasa一起使用(您知道上下文AI产品听起来确实很吸引人),但是一旦我评估了与手头任务相关的利弊之后,我发现Botpress更适合创建给定我们在IT项目中通常存在的时间和资源限制,结合了基于规则的导览和基于NLU的即席问题(Botpress的QnA功能)的知识机器人。

以下是Knowledge bot开发人员应在bot框架中查看的功能。 我还提到了Botpress如何实现这些目标。

1.《 Chatbot趋势报告2021》

2.训练Chatbot NLP模型的4个可做和3个不可做

3.礼宾机器人:从一个聊天屏幕处理多个聊天机器人

4.专家系统:对话式AI与聊天机器人

易于发展 —您能以多快的速度启动并运行知识机器人的基本版本。 它是否需要非常专业的技能或者甚至是公民数据科学家也可以使用? 对该机器人进行品牌更容易吗?

借助Botpress,您可以在几周内使用其GUI完全无需编写代码的基础上启动并运行基本知识机器人。 通过更改样式表,它还提供了一种简单的方法来为机器人打上烙印。 它提供了小部件,例如卡片和轮播,以GUI丰富的方式共享信息。

集成 —僵尸程序始终需要与主门户网站集成在一起,并且还必须支持其他渠道(例如Microsoft团队)。 在选择bot框架时,我们应该查看这些集成是否是本机提供的,并且可以以最小的努力完成。

在Botpress中,与主站点的集成非常简单,只需一个脚本即可在iframe中打开漫游器。 它还提供与其他渠道(例如Facebook,Telegram,Microsoft Teams和Slack)的集成。

未来的可扩展性 —尽管最初的知识机器人可能从有限的范围开始,但事实是,一旦管理层意识到自己的利益,范围就会不断扩大。 僵尸程序可能不再局限于提供信息,而是有望完成更简单的任务,例如预订演示等。因此,重要的是,所选的僵尸程序框架必须支持这些功能。

Botpress提供了扩展,可以编写自定义代码来调用后端API来执行复杂的任务。 Intent,Entity和slot等功能用于通过识别正确的Entity来捕获用户执行特定任务的意图,使用slot捕获所需的值,然后让您的自定义代码调用后端API来执行任务。 这些任务的范围可能从发送电子邮件到预订会议室或机票或订购披萨。

可扩展性 —通常,您需要构建用于互联网流量的知识机器人,因此,可以缩放您选择的机器人框架非常重要。

Botpress具有基于集群的水平可扩展架构。 可以利用负载平衡器在机器人之间分配流量。

可维护性 —与所有IT项目一样,它绝不是一个部署后遗忘的场景。 我们生活在DevOps的世界中,在该世界中不断地将应用程序部署到生产环境中。 因此,至关重要的是,bot框架确实具有处理规模和复杂性的模型,尤其是当您正在寻找基于GUI的开发时。

在Botpress中,开发是通过创建流程图来进行的,其结构是模块化的。 它具有创建带有为子流定义的入口和出口点的子流的功能。 这样,我们可以使用许多更简单,更小的流程而不是一个大流程来创建知​​识机器人。

全国土地联盟 —尽管引导流程可以很好地提供信息,但仅凭这一点还不够。 提供机器人的主要目的是使用户能够像在机器人后面坐着个人一样聊天。 这意味着机器人应该能够理解语言的细微差别并提供适当的响应。

在Botpress中,有一个QnA模块,可让您解决用户可能会询问的有关产品的随机问题。 您可以针对一个答案提供多个问题,并训练Botpress NLU引擎来中和针对语义和语法的问题。 尽管NLU引擎不如Rasa强大,但我发现它很符合目的。 我们针对大约110个问题进行了大约1100个答案的培训。 经过培训后,我发现NLU引擎做得不错,并在97%的时间内为我们提供了正确的答案。 Botpress NLU引擎可利用2种服务–

a)小鸭—用于提取系统实体,使其在执行基于实体和插槽的任务时更加健壮(例如,订购比萨饼或预订机票)。

b)语言服务器-这提供了单词嵌入功能,并支持多种语言。

上下文切换 —在询问临时问题和采取指导性行动之间的过渡应该是无缝的。 流程不应太长,请向用户提供一个可以询问问题的断点,然后在需要时返回流程。

通过使用Botpress中提供的“宽范围转换”功能,可以轻松实现导览和随机问题之间的上下文切换。 同样,Botpress从问题和答案部分提供了返回到导览游一部分的节点的功能,从而使用户回到了导览游。

Botpress的其他功能还包括多语言能力,Docker化,使用第三方NLU进行人为循环,SSO集成,集群,监控和变更,强大的社区支持,这些都可以使整体体验变得更加强大。

总结 —下次您想在短时间内构建知识机器人时,请考虑同时利用基于规则和NLU驱动引擎的机器人框架。 Botpress是这方面的有力竞争者,尤其是在成本和ROI是决策因素的情况下。

阿比纳夫·阿杰梅拉(Abhinav Ajmera)

Atos高级数据科学家

作者的观点是个人的,作者与Botpress毫无关系。

Source: https://chatbotslife.com/knowledge-bots-5536c16b8d32?source=rss—-a49517e4c30b—4

时间戳记:

更多来自 聊天机器人生活-中