IBM Watson - 会话响应条件

时间:2017-03-22 15:08:11

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

我对Watson Conversation和Watson来说很新,而且我在Watson Conversation应用程序中遇到过我想要处理的情况,但我无法弄明白。

基本上我想添加一个"高级"条件反应所以可以做例如:

条件:if @sys-number == Integer

响应:@sys-number是一个整数。

@ sys-number == Double

的条件

回复:@ sys-number是双倍的。

目前我已经陷入困境,因为我可以通过执行@ sys-number.numeric_value.class来获取@sys-number类,该类的计算结果为: "类java.lang.Integer",但我无法在条件字段中进行比较。

我试图做几件不同的事情,其中​​最明显的是

if(@ sys-number instanceof java.lang.Integer)

我知道这可以在应用程序端处理,但是如果可能的话,想要一个Conversation方面的解决方案。

2 个答案:

答案 0 :(得分:1)

本质上,'@ sys-number'实体是一个字符串,因为它属于用户的输入。 因此,如果您想测试用户输入识别的@sys-number实体可以转换为整数或浮点数,您必须尝试:

IF @sys-number AND input.text.find('\d+') 

IF @sys-number AND input.text.find('\d+[,\.]\d+')

当且仅当没有触发任何条件时,@ sys-number来自字母输入

答案 1 :(得分:0)

使用正则表达式,例如以下内容将查找整数。

/^[0-9]*$/