【问题标题】:How to switch between skills on Watson Assistant?如何在 Watson Assistant 上切换技能?
【发布时间】:2019-05-05 23:57:02
【问题描述】:

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

【问题讨论】:

    标签: ibm-cloud ibm-watson watson-assistant


    【解决方案1】:

    未来的计划是让助手支持多种技能以及自定义技能。目前data_henrik 提到,您可以使用 V1 API 调用每个技能。

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

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

    喷洒和祈祷

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

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

    网关

    在此设置中,您拥有顶级技能。这试图理解每个问题应该被路由到哪里的意图。然后,您将它建议的第二个技能称为它返回的意图。

    如果您有大量意图但主题相似,但又不够相似而无法归类为单一技能,则此方法有效。

    路由器

    类似于网关,除非您确定了要路由到您的最终技能,然后才使用该技能。如果该技能不理解后面的问题,那么它会将其路由回顶级技能以找出它应该去哪里。

    如果您的客户有明确的去向路径,则此方法效果很好。因为他们倾向于在同一领域提出所有问题。

    图表

    类似于路由器,除了当一个子技能不理解这个人问什么,而不是回到顶层它试图找出与自己有共同关系的其他子技能时(如果它它不能回到顶部)。

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

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

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

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


    其他要点。

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

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

    • 如果您计划从一项技能到另一项技能的一次性调用,您可以使用云功能来实现这一点。它降低了复杂性,并将逻辑置于应用层之外。我用my language translation example 实现了这样的目标。

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

    【讨论】:

      【解决方案2】:

      在 UI 中,在 Assistants 下,您可以点击分配的 Skill 及其虚线菜单,然后选择 Swap Skill。因此,即使使用 Lite 计划,您也可以使用 Google 助理测试不同的技能。

      如果您有 Premium 或 Plus 帐户,您可以拥有对话技能和search skill

      拥有多种技能(工作空间)的另一种选择是使用V1 API 实现应用程序。它是一个无状态的 REST API,您将消息发送到由其工作区/技能 ID 标识的机器人。根据上下文和流程,您的应用程序将选择正确的工作区并相应地发送消息。这样就可以创建专门的机器人(工作区)或从一种语言切换到另一种语言。

      【讨论】:

      • V1 API 链接似乎已过时。它会将我重定向到 v2 链接。有更新的链接吗?谢谢
      猜你喜欢
      • 2022-11-08
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 2018-12-12
      • 2019-07-27
      • 1970-01-01
      相关资源
      最近更新 更多