使用API.ai的预编译包,您可以轻松地获取长长的意图列表。目前我正在尝试使用他们的smalltalk包,它有大约100个意图,并对每个意图进行响应。
我正在利用api-ai-recognizer包来监听意图。这可以很好地工作,但现在我必须匹配这些意图,以便我可以定义对话框(这只不过是使用fulfillment)。这就是我遇到麻烦的地方。
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.
有什么建议吗?
https://stackoverflow.com/questions/44580128
复制相似问题