2016-09-17 66 views
0

我需要用户输入其航班号才能为其提供详细信息。
有没有办法检测并存储他输入的航班号(3-4位+字)?
我知道我可以创建一个实体来存储用户输入的某些部分,但似乎我必须对我想要检索的值进行硬编码,这是不实际的。
那么,是否有任何选项可以让watson自动检测用户输入的一部分(不限于数字)。在IBM Watson对话中检测实体中的号码

回答

1

在您的条件部分,您可以输入以下内容。

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) ?>"