0
我需要用户输入其航班号才能为其提供详细信息。
有没有办法检测并存储他输入的航班号(3-4位+字)?
我知道我可以创建一个实体来存储用户输入的某些部分,但似乎我必须对我想要检索的值进行硬编码,这是不实际的。
那么,是否有任何选项可以让watson自动检测用户输入的一部分(不限于数字)。在IBM Watson对话中检测实体中的号码
我需要用户输入其航班号才能为其提供详细信息。
有没有办法检测并存储他输入的航班号(3-4位+字)?
我知道我可以创建一个实体来存储用户输入的某些部分,但似乎我必须对我想要检索的值进行硬编码,这是不实际的。
那么,是否有任何选项可以让watson自动检测用户输入的一部分(不限于数字)。在IBM Watson对话中检测实体中的号码
在您的条件部分,您可以输入以下内容。
input.text.matches('.*?[0-9]{3,4}.*?')
对于您的输出区域,请转到高级模式并执行以下操作。
{
"output": {
"text": "You typed a 3-4 digit number. I stored it in Context variable 'found'"
},
"context": {
"found": "<? input.text ?>"
}
}
然后,您可以查询上下文变量found
在你的代码做就可以了更复杂的动作。
对话已被更新自此答案。您现在可以使用input.text.extract()
而不仅仅是input.text
。
像这样:
"found": "<? input.text.extract('.*?([0-9]{3,4}).*?',1) ?>"