首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watson助手中对话节点和意图的问题

Watson助手中对话节点和意图的问题
EN

Stack Overflow用户
提问于 2018-12-29 02:02:07
回答 1查看 440关注 0票数 1

我正在使用IBM助手创建一个聊天机器人。我使用的是带有意图、实体和对话框流的树的web接口(我不知道它是如何被调用的,我只是称它为web接口)。我有四个问题,希望有人能帮忙。

  1. 我创造了两个内涵:#how_are_you和一个例子“你好吗?”和意图#feeling_good的例子“我很好”。当然,对于这两个意图,我有更多的例子。在对话框中,现在有一个父节点在寻找#feeling_good,一个子节点在寻找#how_are_you (跳过用户输入之间)。当用户现在输入“我很好,你好吗?”然后只触发#feeling_good,而不触发#how_are_you。如何只使用一个用户输入就触发两个意图?
  2. 我希望在对话框中有一个节点,它等待,比如说,100,然后发送另一条消息给用户。等待没有问题(使用暂停),但是如果用户在等待期间没有发送另一条消息,那么如何才能在1000之后发送消息?这意味着当用户发送消息时,等待节点应该被取消。
  3. 我有一个节点来检查一个特定的意图。当意图不匹配时,我将跳回父节点。问题是每次都会重复来自父节点的文本。当我跳回来的时候,我怎样才能防止这种重复呢?
  4. 最后一个问题也许更棘手一些。我想定义一个数字1,2,3,4,5的数组。然后一个节点应该在不替换该数组的情况下采样一个随机数(例如2),即剩余的数组是1,3,4,5。过了一段时间,另一个节点应该从数组中随机选择另一个数(例如4)。诸若此类。如何实施呢?我知道变量(例如$var),但我不知道如何表示数组和样本随机数。

非常感谢你提前给出的答案。祝大家新年快乐。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 11:22:49

1)在“沃森助手”中,总是首先使用自信最高的意图。因此,处理由一个句子触发的多个意图是很棘手的。“最佳”解决方案是使用复合意图- #HELLO_HOW_ARE_YOU。或者,您也可以创建条件,检查返回的前两个意图是否为#HELLO和#HOW_ARE_YOU的组合。

2)在界面上实现聊天控制台的客户端应该最理想地处理由于不活动引起的等待和发送消息。WA不太适合这些类型的操作,虽然有一些支持,但是处理这些操作的更好方法是让您的客户端应用程序--当检测到不活动时--发送将映射到#INACTIVITY_INTENT的东西,WA将响应您的消息,并结合该意图。

3)不要跳到节点,而是跳到该节点的第一个子节点,并使用wait for user input

4)这是可能的。WA表达式语言支持获取随机数、获取数组的大小和从数组中删除元素。例如<? $array.remove(new Random().nextInt(3))?>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53966112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档