1

我正在尝试使用实体从用户那里获取输入(比如性别 - 男性/女性)并将其存储在配置文件变量和下面的代码片段中。

<default>
  <output>
    <prompt selectionType="RANDOM">
      <item>I did not quite get that.</item>
    </prompt>
  </output>
</default>
<input id="input_2508594">
  <grammar>
    <item>$(Gender)={gender}</item>
    <item>I am a
    </item>
  </grammar>
  <action operator="SET_TO" varName="gender">{gender.value:main}</action>
  <output>
    <prompt selectionType="RANDOM">
      <item>Hi hello {gender}!</item>
    </prompt>
  </output>
</input>
<entities>
  <entity name="Gender">
    <value name="Male" value="Male"/><value name="Female" value="Female"/>
  </entity>
</entities>
<variables>
  <var_folder name="Home">
    <var description="friend" name="UserName" type="TEXT"/>
    <var description="one" name="gender" type="TEXT"/>
  </var_folder>
</variables>

现在,如果我说“I am a”,对话服务会以“Hi hello!”响应。但是,如果我输入“女性”,WDS 会响应默认输出“我不太明白。”。然后我尝试给$(Gender)={gender},它返回“Hi hello!”。因此,看起来对话框没有解析实体的输入,我无法将输入存储到配置文件变量中。

请问有什么建议吗?我是否遗漏了对话框 xml 文件中的任何内容?

4

1 回答 1

1

应在对话框配置文件中添加设置。

<settings>
     <setting name="ENTITIES_SCOPE">3</setting>
</settings>

https://developer.ibm.com/answers/questions/238673/dialog-entity-not-working-resolved.html

于 2015-11-13T16:34:57.290 回答