1
對話服務是否支持表情符輸入?IBM Watson對話表情符輸入
我同時使用能夠輸出表情符號:HTML實體(十進制)HTML實體(十六進制)http://www.fileformat.info/info/unicode/char/1f37b/index.htm
但是,我不能讓對話服務,以瞭解的表情符號輸入。 Emojis in dialog conversation
對話服務是否支持表情符輸入?IBM Watson對話表情符輸入
我同時使用能夠輸出表情符號:HTML實體(十進制)HTML實體(十六進制)http://www.fileformat.info/info/unicode/char/1f37b/index.htm
但是,我不能讓對話服務,以瞭解的表情符號輸入。 Emojis in dialog conversation
你當然可以。這裏有一個例子:
<?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的完整示例。
獅子座是正確的。但是,爲什麼不在最終用戶應用程序和對話框API實例之間添加一個過濾器層,並使用簡單的字符串(如「happyface」或「beer」)來替換表情符號字符。 –
酷酷,好主意,我不確定要做到這一點,但我會研究它。謝謝! –
在GitHub上查看[pizza demo code](https://github.com/watson-developer-cloud/dialog-nodejs)。他們基本上做的是在node.js中構建一箇中間件,將對話端點暴露給用戶的瀏覽器,而不必通過服務憑證或端點URL等重要細節。您可以添加一個JavaScript函數,它可以在app.js之前的第55行之前調用req.body中的對話輸入,併爲每個有興趣捕獲的emojis執行一次string.replace(emoji,textreplacement)。然後將結果發佈到服務上,就像他們在 –