Dialog服务是否支持表情符号输入?
我能够使用两者输出表情符号:HTML实体(十进制)HTML实体(十六进制)http://www.fileformat.info/info/unicode/char/1f37b/index.htm
但是,我无法获得对话服务来理解表情符号输入。 Emojis in dialog conversation
答案 0 :(得分: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字符。这不是你想要捕获输入的方式。 (请参阅this SO answer以获取它删除的某些字符的列表。)
我是这样做的:
<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>
有关完整示例,请参阅this gist。