-
DuerOS开放平台
-
技能开放平台
-
自定义技能
- 自定义技能简介
- 自定义技能创建
-
有屏技能
-
技能交互模型
-
自定义技能协议
- 处理DuerOS发送的请求
-
技能部署
-
技能开发样例
- 账户关联
-
技能测试
-
技能发布
-
技能付费
-
个性化服务
-
内容播报技能
-
小技能
-
平台能力扩展
-
SDK
-
预览版功能
- 全双工(Preview)
-
APP技能(Preview)
-
-
智能家居开放平台
- 品牌使用规范
-
开发者服务条款
多轮对话可以分为两种:一种是填槽型的多轮,这种对话都是以向用户收集更多的信息来完成一项具体的任务,比如:打车、订票等。对用户的询问发起,都是由技能来触发,按照事先设计好的顺序来询问用户。这种也称为"线性"多轮,按步骤,一步步的引导用户回答问题,进而完成意图和槽位的识别,对话的主导权在技能。
还一种是自由对话的多轮,也可以称为"非线性"多轮。这种对话的发起由用户来主导,比如:查天气、听音乐。以查询天气为例,用户提供一些查询的属性,比如用户说“查询北京明天的天气”,技能需要根据北京和明天来查询天气;然后,用户还可能说“那后天的呢”,这句话是在一个上文的基础上发出的,因此隐含的是说查询北京后天的天气,单独说"后天呢"没有任何意义。DuerOS支持这种由用户发起的多轮。
上下文(context),指用户说话的语境。这里语境是指综合对话中上下文关键信息(如槽位值),是关键信息的传递。语境就像一个连接点,把上文(前一个意图)和下文(后一个意图)连接起来。 任何一个意图都是一种语境,DuerOS通过定义这样的"语境",并且将"语境"作为另外一个意图的"输入语境"的方式完成"非线性"多轮技能的开发。
任何自定义意图,都可以定义一个或者多个"输出语境"。不同输出语境标识名不同,并且还可以规定每个语境的生效轮数(生效轮数功能即将面世,敬请期待)。
每个意图都可以引用当前技能里定义的任意一个"输出语境",作为本意图的"输入语境"。如果意图订阅了“输入语境”,那么这个意图的生效必须满足上文语境与订阅的相符,如果不相符,即使用户的请求与该意图的用户表达一致也不会触发。 意图可以订阅多个输入语境,这些语境是或的关系,只要满足其中一个语境即可。
如果意图有输入语境,在配置完输入语境后,需要配置输入语境中意图的槽位信息。这种槽位称为继承槽位。在满足当前意图的情况下,DuerOS可以将输入语境的一些槽位与当前意图的槽位一起发送给技能。
继承槽位配置时,需要先新增一个槽位,然后在"值"这列点击,选中输入语境的名字,二级菜单选择需要的槽位。然后在槽位类型中选择对应的槽位类型。另外,注意槽位的名字请不要与本意图的槽位名重复。