检测IBM Watson Conversation中的实体中的数字

时间:2016-09-17 22:42:11

标签: ibm-cloud ibm-watson watson-conversation

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

1 个答案:

答案 0 :(得分: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) ?>"