IBM Watson Assistant:Chatbot Entity Confusion over regular expression 2

IBM Watson Assistant: Chatbot Entity Confusion over regular expression 2

我创建了一个名为 @material_number 的实体,这个实体有 3 个值,下面提供了它们各自的模式:

num1 模式 (\d{3}\.){1}\d{3}

num2 模式 (\d{3}\.){2}\d{3}

num3 模式 (\d{3}\.){3}\d{3}

在对话节点中,如果机器人识别出 @material_number,它会将提供的用户输入存储在上下文变量 $materialnumber[=37 下=] 然后回复 "Oh, the material number is $materialnumber".

问题在于,当用户的输入属于 num2num3 的值时,bot 仅存储第一个提供 6 位数字。例如,当输入为 123.123.123.123123.123.123 时,机器人仅存储前六位数字(中间用点分隔)并提示返回 "Oh, the material number is 123.123"。

通过使用 JSON 编辑器,应该可以克服这种困惑。

类似于, you can nest ternary operators中建议的解决方案:

{
  "context": {
    "number1": "<? @number1:mat3 ? entities.number1[2].literal : @number1:mat2 ? entities.number1[1].literal : entities.number1[0].literal ?>"
  }
}