2017-06-16 45 views
1

API.ai的預生成軟件包允許您輕鬆獲得長長的意向列表。目前我正在嘗試使用它們的smalltalk包,它有大約100個意圖,並對每個包進行響應。在botbuilder中使用api.ai的意圖

我正在使用api-ai-recognizer包來監聽意圖。這很好,但現在我必須匹配這些意圖,以便我可以定義對話框(這不過是使用履行)。這是我遇到麻煩的地方。

intents = IntentDialog({recognizers: [apiairecognizer(CLIENT_TOKEN)]}) 
intents.matches('smalltalk', smalltalk_handler) // No luck 
intents.matches(/smalltalk/, smalltalk_handler) // No luck 
intents.onDefault(default_handler) 

在default_handler我捕捉args

{"score":1, 
"intent":"smalltalk.greetings.how_are_you", 
"entities": [ 
    { 
    "entity":"Lovely, thanks.", 
    "type":"fulfillment", 
    "startIndex":-1, 
    "endIndex":-1, 
    "score":1 
    }, 
    { 
    "entity":false, 
    "type":"actionIncomplete", 
    "startIndex":-1, 
    "endIndex":-1, 
    "score":1 
    } 
]} 

這根據如何matches作品的文檔是有道理的。 但是,這並不意味着我不知道如何實際使用意圖的完整列表,沒有明確地複製每一個意圖

只是爲了澄清,如果我使用的確切意圖:

intents.matches('smalltalk.greetings.how_are_you', smalltalk_handler) 

我收到了很好的迴應:Lovely, thanks.

有什麼建議嗎?

回答

0

到目前爲止,我唯一想到的就是修改api-ai-recognizer,以便只要遇到它的一個版本,它就會只返回smalltalk。這種方式意向對話只需要識別一個意圖。因爲它們的處理方式相同,所以此時並不重要。