当用户输入错误的nunber时,无法让用户保持同一提示?

时间:2017-03-31 03:52:00

标签: watson-conversation watson

当我们输入错误的号码时,我们想让用户保持相同的提示,我们已经尝试过anything_else,并且“true”,“跳转到”,但它搞砸了,请看看附件再现它,谢谢

  1. 请输入“多少”
  2. 如果输入6,它将锁定提示(我将1到5分配给不同的标识),这种行为是正确的。
  3. 然后输入2,我们会搞砸了......
  4. 请导入这个json重现它,谢谢 https://drive.google.com/file/d/0B1YdUMoS4l7ub1BZdUg1c1dQeG8/view?usp=sharing

1 个答案:

答案 0 :(得分:0)

更好的形式是使用IBM预定义的权限@sys-number从用户输入中获取数字。您可以使用条件并使用上下文变量来获取数字,请查看JSON示例:

{
  "context": {
    "number": "<? @sys-number ?>"
  },
  "output": {
    "text": {
      "values": [
        "Now is $hora. Sector please?"
      ],
      "selection_policy": "sequential"
    }
  }
}

如果用户键入2或2,则权利识别!

您可以使用regex表达式来获取您预先定义的数字!

如何激活: - &gt;实体 - &gt;系统实体 - &gt; sys-number = ON:

enter image description here

Obs。:在您激活此权利后等待Watson TRAINNING。

示例,在您的节点条件中添加sys-number:

@sys-number:1

检查图片 enter image description here

如果用户输入正确的数字:

enter image description here

如果用户未使用 true 条件输入正确的数字,请检查对话框:

enter image description here

我做了这个例子,你明白我为此做了什么:

  • 下载JSON以验证如何使用REGEX here
  • 执行此操作
  • 下载JSON以验证如何使用SYS-NUMBER here执行此操作。

修改

参考你的问题 在这种情况下,您可以使用正则表达式,并将上下文变量用于其他节点中的make条件。我的工作区与正则表达式可以帮助您数字。并且,您可以在下一个节点中使用变量$ number来验证用户是否正确输入了该号码。

另一种情况是在对话中使用跳转。如果用户不再正确输入数字,请使用true

检查我的图片:

enter image description here

下载新工作区here

详细了解条件here