缺省意图

应用背景

在自定义技能中,当DuerOS接收到用户的请求后,会解析用户的意图并将意图发送给技能,请求技能进行处理。如果DuerOS解析出的意图不是技能所订阅或者定义的,不会请求技能;DuerOS会使用reprompt功能向用户询问,若经过多次询问仍然没有解析出用户意图时,DuerOS会结束会话。

由于某些技能支持业务的特殊性,希望DuerOS解析出的意图虽然不是技能所关注的,还能将请求发送给技能,由技能本身决定是否响应用户的请求。针对这种应用场景,DuerOS提供了缺省意图配置,类似编程语言中的switch case default。

缺省意图

技能引用缺省意图后,当DuerOS接收到用户请求时,首先解析用户的意图。如果意图不是技能所订阅或者定义的,则将缺省意图和此次用户的请求一起发送给技能,由技能进行分析处理。

如何引用缺省意图

命名

缺省意图是一种系统意图,名称是ai.dueros.common.default_intent,遵循系统意图的命令规范。

引用缺省意图

首先进入意图界面,然后点击引用系统意图。

图片

点击缺省意图。

图片

进入缺省意图后,点击引用。

图片

引用成功后,可以在意图界面查看引用结果。

图片

缺省意图代码示例

{
    "version": "v2.0",
    "session": {
        "new": true,
        "sessionId": "c214213e-5695-414f-bad0-4472db52d40c",
        "attributes": {
        }
    },
    "context": {
        "System": {
            "user": {
                "userId": "E60A0298D473929BA4538CBD40471C95|111121"
            },
            "application": {
                "applicationId": "applicationId"
            }
        }
    },
    "request": {
        "query": {
            "type": "TEXT",
            "original": "你好,这是DuerOS发送的缺省意图",
            "rewritten": "你好,这是DuerOS发送的缺省意图"
        },
        "dialogState": "STARTED",
        "determined": false,
        "intents": [
            {
                "name": "ai.dueros.common.default_intent",
                "score": 100,
                "confirmationStatus": "NONE",
                "slots": {                 
                }
            }
        ],
        "type": "IntentRequest",
        "requestId": "f186d176-61d2-42ec-9f4c-263f949bd748",
        "timestamp": "1508517684"
    }
}