Watson Dialog Saving&访问实体的名称和值

时间:2016-03-22 21:26:43

标签: xml ibm-watson watson-dialog

我试图将实体值和名称保存为两个单独的变量(如果可能),但我无法轻易做到。我目前有一个与此相似的实体......

<entities>
    <entity name="Employee">
        <value name="chat test" value="84"/>
        <value name="Bill Bu" value="85"/>
        <value name="Tim Roberts" value="86"/>
     </entity>
 <entities>

我试图将值和名称保存为两个不同的变量,以便我这样做

 <input>
     <grammar>
         <item>Who is (Employee)={employeename}</item>
     </grammar>
     <action operator="SET_TO" varName="employeename">{employeename.value:name}</action>
     <action operator="SET_TO" varName="employeeid">{employeename.value:main}</action>
     <goto ref="employeeData_whois"/>
 </input>

这里是我设置变量....

    <variables>
        <var_folder name="Home">
            <var description="The current employee being inquired on" name="employeename" type="TEXT"/>
            <var description="The current ID of employee being inquired on" name="employeeid" type="NUMBER"/>
        </var_folder>
    </variables>

无论出于什么原因,当我尝试访问employeesename时,一切都很好但我似乎无法访问employeeid(我想引用外部系统ID)。有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

将变量类型设置为数字的要点是您可以添加的运算符:增量,大于等。 如果不对此进行太多调试,我认为最简单的解决方案是将employeeid类型设置为text,并且它应该正常工作。你可以在文本中输入一个数字。

如果我不得不猜测,我打赌它会从你的实体中查看数组并且无法设置它,然后当它试图仅从数组中获取数据时它会中断。

如果你想把它保存为数字,你可以尝试创建第三个变量,它是文本,最初将它设置为数组的数字元素,然后一旦设置为employeeid,但这似乎有点过头了