2

Dialog 服务是否支持表情符号输入?

我能够同时使用以下两种方式输出表情符号:HTML 实体(十进制) HTML 实体(十六进制) http://www.fileformat.info/info/unicode/char/1f37b/index.htm

但是,我无法让对话服务理解表情符号输入。 对话中的表情符号

4

1 回答 1

1

你当然可以。这是一个例子:

<?xml version="1.0" encoding="UTF-8" ?>
<dialog xsi:noNamespaceSchemaLocation="WatsonDialogDocument_1.0.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<flow>
<folder label="Main">

输出初始提示:

  <output>
    <prompt>
      <item>Write something and I’ll echo it back to you.</item>
    </prompt>
  </output>

获取输入:

  <getUserInput>
    <input>
      <grammar>
        <item>(ANYTHING)={anything}</item>
      </grammar>
      <action varName="anything" operator="SET_TO">{anything.source}</action>
      <output>
        <prompt>
          <item>{anything}</item>
        </prompt>
      </output>
    </input>
  </getUserInput>

</folder>
</flow>

现在,我猜您已经尝试像 IBM 在其所有示例中那样捕获输入。但是这种方法会默默地丢弃许多非 ASCII 字符。这不是您想要捕获输入的方式。(有关它丢弃的一些字符的列表,请参阅此 SO 答案。)

这是我的做法:

<entities>
  <entity name="ANYTHING">
    <value>
      <grammar>
        <item>!.*</item>
      </grammar>
    </value>
  </entity>
</entities>

感叹号表示我们正在使用正则表达式。(之后的所有!内容都是正则表达式。)此方法不会丢弃那么多字符,但会丢弃<>。可能是其他人。您可以使用相同的脚本来找出哪些字符是安全的。

最后,我们需要捕获变量。

<variables>
  <var_folder name="Home">
    <var name="anything" type="TEXT" />
  </var_folder>
</variables>

</dialog>

有关完整示例,请参阅此要点

于 2016-05-28T08:58:14.680 回答