Watson 对话框保存和访问实体的名称和值



我试图将实体值和名称保存到两个单独的变量中(如果可能的话),但我无法轻松做到这一点。我目前有一个类似的实体。。。

<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>

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

谢谢!

将变量类型设置为数字的主要目的是为其添加运算符:递增、大于等。在不进行过多调试的情况下,我认为对您来说,最简单的解决方案就是简单地将employeeid类型设置为文本,它应该可以正常工作。你可以在文本中输入一个数字。

如果非要我猜测,我敢打赌,它从你的实体中查看数组,但无法设置它,那么当它试图只从数组中获取数字时,它就会中断。

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

最新更新