如何在Watson Assistant的技能之间切换?

时间:2019-05-05 23:57:03

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

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

2 个答案:

答案 0 :(得分:1)

将来的计划是让Assistant支持多种技能以及自定义技能。就data_henrik而言,您可以使用V1 API调用每种技能。

但是拥有多种技能仍然面临挑战,这可能会给您一些见识。

这些是您可以采用的一些方法(在某些情况下,名称是组成的:)。

喷雾祈祷

通过这种方法,您可以将用户的话语发送到所有工作空间,并获得最高的得分。

如果您有大量的意图(> 1,000),并且这些意图之间有明显的区别,则需要此选项。这也是通话中最昂贵的。

网关

在此设置中,您具有高级技能。这试图了解将每个问题路由到何处的意图。然后,您将其暗示的第二项技能称为返回的意图。

如果您的意图很多但主题相似,但又不足以组合为一项技能,则此方法有效。

路由器

类似于网关,除非一旦您确定了路由到您的最终技能,然后就只能使用该技能。如果该技能无法理解后面的问题,则将其路由回顶级技能,以找出应该去的地方。

如果您的客户有明确的路线要走,那么此方法就很好用。因为他们倾向于在同一地区提出所有问题。

类似于路由器,除了当子技能不了解对方要求的内容时,而是返回顶层,尝试找出其他子技能与其自身有共同关系(如果有)不能回到顶部)。

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

链条

在链设置中,您尝试以第一技巧回答用户问题。如果不能,那么您将学习第二种技能,依此类推。

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

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


其他要点。

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

  • “网关”,“祈祷与祈祷”和“连锁”失去了进行复杂对话的能力,而无需进行认真的工作。

  • 如果您计划一次从一项技能到另一项技能的通话,则可以使用云功能来实现。它降低了复杂性,并将逻辑带到了应用程序层之外。我用my language translation example实现了类似的效果。

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

答案 1 :(得分:0)

在用户界面的助手下,您可以单击分配的技能及其虚线菜单,然后选择交换技能。因此,即使使用精简版计划,您也可以使用助手测试不同的技能。

如果您具有Premium或Plus帐户,则可以具有对话技巧和search skill

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