如何在 Watson Assistant 上切换技能?

2024-06-25

目前,在 IBM Watson Assistant 中,您只能向助理分配一项技能。如何以编程方式交换助手的主要技能?


未来的计划是让 Assistant 支持多种技能以及自定义技能。暂时作为数据_henrik https://stackoverflow.com/a/55999573/1167890提到,您可以使用V1 API来调用每个技能。

但拥有多种技能仍然存在挑战,这可能会给您一些见解。

这些是您可以采取的一些方法(在某些情况下名称是虚构的:)。

喷洒并祈祷

在这种方法中,您将用户话语发送到所有工作区,并选择得分最高的一个。

如果您有大量意图 (>1,000) 并且这些意图之间存在明显差异,则需要此选项。这也是通话费用最高的。

Gateway

在此设置中,您拥有顶级技能。这试图了解每个问题应发送到何处的意图。然后,您将其建议的第二项技能称为其返回的意图。

如果您有大量意图但主题相似,但不够相似而无法分组到单个技能,则此方法有效。

Router

与网关类似,除非您确定了要路由给您的最终技能,然后只转到该技能。如果该技能不理解后面的问题,则会将其路由回顶级技能以找出它应该去的地方。

如果您的客户有明确的目的地路径,那么这种方法很有效。因为他们倾向于在同一领域提出所有问题。

Graph

与路由器类似,除了当子技能不理解该人询问的内容时,它不会返回到顶层,而是尝试找出哪些其他子技能与自身有共同的关系(如果它不能)它返回到顶部)。

这有助于多种技能可能具有相似的意图,但在已经提出的其他问题的背景下,您会选择一种技能而不是另一种技能。

Chain

在链设置中,您尝试回答第一项技能中的用户问题。如果你不能,那么你就转向你的第二个技能,然后依此类推。

在这种情况下,您的意图按照已知频率的顺序映射。

如果您的意图非常相似,但您知道人们提出的最常见问题,则此方法很有效。但它是最难实施和维护的之一。


其他要点。

  • 首先,每项技能都需要一个上下文对象。您无法跨技能共享上下文对象的系统部分。如果您使用的是 Premium 或 Watson Assistant Plus,那么这将在技能本身内进行处理(因此您只需存储对话 ID)。

  • “网关”、“喷雾和祈祷”和“链”失去了在没有认真工作的情况下进行复杂对话流的能力。

  • 如果您计划从一项技能到另一项技能的一次性调用,您可以使用云函数来实现这一点。它降低了复杂性,并将逻辑置于应用程序层之外。我实现了这样的事情我的语言翻译示例 https://sodoherty.ai/2019/03/30/multi-lingual-chat-bot-with-cloud-functions/.

  • 通过使用技能而不是助手,您将失去进行基于版本控制的部署的能力。您可以创建多个助手来解决这个问题,但这会让事情变得更加混乱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Watson Assistant 上切换技能? 的相关文章

  • 如何获取正在执行的jade脚本的文件名

    是否存在可以从具有各种参数的玉模板中访问的全局对象 是否有一个全局变量包含当前正在执行的jade文件的路径 5 html head title Test body I want to be able to know what the cur

随机推荐

  • Friendly_id 和真实ID

    有什么办法可以得到真正的id使用Friendly id 修改的模型中的列 出于性能原因 我不想对其进行另一个数据库查询 广义上来说Friendly id修改to param and find方法 接下来应该可以工作 affiche Affi
  • OpenCV argc 和 argv 混淆

    我正在检查一些 OpenCV 教程 并在开头找到了这一行 这是链接 代码位于 CalcHist 部分下http opencv willowgarage com documentation c histograms html http ope
  • beautifulsoup find_all 错误?

    现在我正在使用 beautiful soup 来解析 html 页面 但有时我通过find all得到的结果小于页数 例如这个页面有 18 个标题跨度 但是当我使用以下代码时 它只有两个 谁能告诉我为什么 先感谢您 soup Beautif
  • 如何使用 vue-google-charts 创建组织结构图

    按照使用 vue google charts 插件的说明进行操作 https www npmjs com package vue google charts https www npmjs com package vue google ch
  • com.jcraft.jsch.JSchException:算法协商失败

    我正在尝试从客户端计算机连接 sftp 服务器 但是 com jcraft jsch JSchException 算法协商失败 我收到这种错误 com jcraft jsch JSchException Algorithm negotiat
  • jQuery.closest() 实现的 DOM / 纯 JavaScript 解决方案?

    这是我试图查询的标记 因此给出标记 table class non unique identifier table tr td div div td tr table 我正在查询 unique identifier var myDiv do
  • GCC 4.7/4.8 作为 Xcode 的 C/C++ 编译器

    我现在正在开发一个 C 项目 我希望使用 C 11 功能 在这个项目中 我正在使用该库NTL用于数论的东西 由于 Xcode 具有舒适自动完成功能 我使用 Xcode 编写代码 并且 NTL 库与标志 lntl 静态链接 现在 我希望使用一
  • Javascript 日期转 xs:dateTime

    有没有一种简单的方法将标准 Javascript 日期格式转换为 xs dateTime 所以我有一个日期值 new Date 我需要以下格式 2015 01 16T20 26 53 974 03 00 so 2015 年 1 月 16 日
  • 当给定部分限定类型名称时,Type.GetType 如何工作?

    在很多地方我都遇到过以下形式的部分限定类型名称FullTypeName AssemblyName 即像Type AssemblyQualifiedName仅没有版本 区域性和 publicKeyToken 限定符 我的问题是如何将其转换为相
  • 有效地选择与 Pandas DataFrame 中的多个值之一匹配的行[重复]

    这个问题在这里已经有答案了 Problem 给定 Pandas DataFrame 中的数据 如下所示 Name Amount Alice 100 Bob 50 Charlie 200 Alice 30 Charlie 10 我想选择所有行
  • MS SQL 2005 备份能否恢复到 MS SQL 2008 实例上?

    是否可以将 SQL Server 2005 数据库的备份恢复到 SQL Server 2008 的实例上 我需要重建一台服务器 因为它变得相当糟糕 所以我计划借此机会升级到 SQL 2008 并想知道我是否能够正常恢复我的备份 从 2005
  • 如何在命令提示符中仅显示具有备用数据流的文件

    我知道要在命令提示符中显示所有文件 如果有 的备用数据流 这是命令dir R 但是 如果我只想显示具有备用数据流的文件 该怎么办 dir s r findstr e DATA or dir r findstr e DATA 第一个将在所有子
  • 使 django 中的内联表单集成为必需

    我是 django 的新手 到目前为止 我使用的是 symfony PHP 框架 我的问题是这样的 我有一个模型事件和模型日期 日期有一个事件的外键 因此事件可以 或应该 有一个或多个日期 现在我想要一个表单来创建事件 并且该表单应包含一个
  • 将 Linq 表达式转换为 SQL Server 查询

    我正在使用一些 crm 框架 该框架没有任何内部 orm 并且不使用实体框架 仅使用纯 sql 查询 我在数据库中的每个表都有实体 所以我有例如 public class Customer public string FirstName g
  • 分支和文件夹的 gitolite 权限

    在 gitolite 我想要 developers能够推送到除以下之外的任何分支master I want user1能够推送到任何分支 包括master 除了不是某个目录master 我该怎么做呢 这应该解决以下两个问题 repo are
  • 为什么Java中没有多重继承,但允许实现多个接口?

    Java 不允许多重继承 但它允许实现多个接口 为什么 因为接口只指定what班级正在做 而不是how它正在这样做 多重继承的问题是两个类可能定义不同的方式做同样的事情 并且子类无法选择选择哪一个
  • C++ 类型特征

    我知道它们对有关您实例化它们的类型的信息进行编码 但是它们是如何工作的 比如说 类型特征std is class 它是如何工作的 所有的实现看起来都像是空的结构 我必须承认我正在摸不着头脑 这些名字看起来足够具有描述性 所以我能理解它们的意
  • 将textView和图像对齐在同一行JAVA [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我创建了Food使用下面的代码选项卡 JTabbedPane tabbedPane new JTabbedPane JT
  • 为什么带有 unsigned long long 参数的 std::bitset 构造函数未标记为显式?

    标准库类模板std bitset
  • 如何在 Watson Assistant 上切换技能?

    目前 在 IBM Watson Assistant 中 您只能向助理分配一项技能 如何以编程方式交换助手的主要技能 未来的计划是让 Assistant 支持多种技能以及自定义技能 暂时作为数据 henrik https stackoverf