"alexa, ask NiuNiu open the light." 如果你这样说,但是技能不知道你要开哪个灯,这时候技能就应该提示用户“Which light do you open?”, 接着执行下面的动作,这就是多轮对话。
    首先,你需要登录到alexa skill 控制台,创建一个custom skill。
在控制台里面设置你的对话模型。对话模型设置完之后,需要接入endpoint,可以是你自己的服务器,也可以是lambda函数,在这里本人使用lambda函数。
设置对话模型里面几个重要参数:
1、技能调用名,即通过这个名字才能调用到这个技能,就像上面"NiuNiu"就是一个技能调用名。
2、意图,“open”就是一个意图,怎么才能让技能知道你的意图呢?就需要样本话语了。
3、槽位,就是想设置一些关键字,通过这句话能不能获取到相应的关键字;
4、槽位类型,关键字可以看成是一个变量,变量就有很多类型,如int, char等。
    如果你想支持多轮对话,必须要使能槽位填充,即,当技能发现你的对话里面没有包含相应的槽位值时,会提示用户该怎么做?以上步骤网上资料很多就不详细写出来了,最好阅读alexa官方文档。
    其次,前面说了对话模型设置完之后,需要接入endpoint,本人使用lambda函数,这个函数是技能的主要部分,对话模型相当于一个界面,lambda函数才是处理后台逻辑的关键部分。在这里关键讨论多轮对话的实现方式,具体技能是用来干什么的由开发者自己定义。开始以为对话模型设置好了,使能槽位填充就能实现多轮对话了,后来测试发现不是这么回事。通过对官方文档的理解,多轮对话是需要lambda函数进行处理的。多轮对话有三种方式:
1、托管(提示语句由控制台设置);
2、自己控制(提示语句由用户自己设置);
3、托管+自己控制(两种方式结合);
想要简单实现,使用方式1最好。
"alexa, ask NiuNiu open the light.", 这句被alexa云端处理之后,会产生相应的消息传入到lambda函数,lambda函数需要根据传过来的对话状态返回Delegate Directive,如果槽位填满了状态值就是COMPLETED。
代码示例如下:
通过 this.emit(':delegate') 返回delegate directive.
const handlers = {
    'LedOpen': function () {
        if (this.event.request.dialogState === 'STARTED') {
            let updatedIntent = this.event.request.intent;
            // Pre-fill slots: update the intent object with slot values for which
            // you have defaults, then emit :delegate with this updated intent.
            updatedIntent.slots.SlotName.value = 'DefaultValue';
            this.emit(':delegate', updatedIntent);
        } else if (this.event.request.dialogState !== 'COMPLETED'){
            this.emit(':delegate');
        } else {
            // All the slots are filled (And confirmed if you choose to confirm slot/intent)
            handlePlanMyTripIntent();
        }
    }
};
这段代码是node.js写的,可以参考https://www.npmjs.com/package/alexa-sdk#dialog-interface

alexa 技能多轮对话的设置相关推荐

  1. alexa技能个数_如何改善Alexa技能的对话流程

    alexa技能个数 by Garrett Vargas 通过Garrett Vargas 如何改善Alexa技能的对话流程 (How to improve the conversation flow ...

  2. 百度UNIT 机器人多轮对话技能创建以及API调用

    百度UNIT 机器人多轮对话技能创建以及API调用 基于百度UNIT2.0 版本,实现简单的多轮人机对话功能 创建机器人必备条件 确定有哪些技能 例如:查询天气.订票.讲故事等,以畅越冰激凌套餐营销话 ...

  3. 亚马逊训练alexa的方法_Alexa对话是AI驱动的对话界面新方法

    亚马逊训练alexa的方法 介绍 (Introduction) Looking at the chatbot development tools and environments currently ...

  4. 入选最受关注AI公司的Kitt.AI:多轮对话聊天机器人开发也可以很简单

    移动互联网发展之初,很多习惯了开放.自由的PC网民是充满绝望的,他们把手机上各个App之间无法跳转.内容封闭的情况称为"信息孤岛".这可能是聊天机器人,即chatbot随着人工智能 ...

  5. The third day:天猫精灵玩法之多轮对话,新增查询空气质量

    The first day:解锁天猫精灵新玩法_Aug_Spark的博客-CSDN博客 The second day :天猫精灵玩法之创建意图,实现对话功能_Aug_Spark的博客-CSDN博客 前 ...

  6. alexa技能个数_如何在您的技能中使用Alexa演示语言

    alexa技能个数 by Garrett Vargas 通过Garrett Vargas 如何在您的技能中使用Alexa演示语言 (How to use Alexa Presentation Lang ...

  7. swift建立桥接_在Swift中建立Alexa技能

    swift建立桥接 by Claus Höfele 通过克劳斯·霍费尔 在Swift中建立Alexa技能 (Building Alexa Skills in Swift) 如何使用Swift开发Ama ...

  8. 【工大SCIR】AAAI20 基于Goal(话题)的开放域多轮对话规划

    论文名称:Knowledge Graph Grounded Goal Planning for Open-Domain Conversation Generation 论文作者:徐俊,王海峰,牛正雨, ...

  9. au回声_回声按钮如何将Amazon Alexa技能提升到新水平

    au回声 by Terren Peterson 由Terren Peterson 回声按钮如何将Amazon Alexa技能提升到新水平 (How Echo Buttons take Amazon A ...

  10. 亚马逊echo中国使用_我如何编程我的第一个Amazon Alexa技能并赢得了免费的Echo Dot...

    亚马逊echo中国使用 by Lorrie Pearson 洛里·皮尔森(Lorrie Pearson) 我如何编程我的第一个Amazon Alexa技能并赢得了免费的Echo Dot (How I ...

最新文章

  1. cpc无法获取系统office信息_智能云信息发布系统解锁信息获取新方式
  2. 清华发布《人工智能AI芯片研究报告》,一文读懂人才技术趋势
  3. css中hideFocus的用法
  4. Spark(四) -- Spark工作机制
  5. php数据库访问辅助类,php+MySQL实战案例【二】php数据库辅助类
  6. 线程同步之关键代码段
  7. ios 扫码枪外设 键盘模式_多平台连接:雷柏XK100蓝牙键盘评测
  8. 软件构建设计图_游戏设计如何帮助您构建更好的软件
  9. sql server 转发_SQL Server中的转发记录性能问题
  10. 《计算机网络》学习笔记 ·006【应用层】
  11. Python 异常(Exception)
  12. 四种以太网数据包详解
  13. 微服务 前台调用后台的慢的原因_也只有阿里P8出身的他能把SpringCloud微服务架构商城项目整的这么干了...
  14. Linux高可用集群方案之heartbeat基础原理及逻辑架构
  15. 微信公众号查题搜题平台 功能齐全
  16. android netd firewall 分析,第2章 深入理解Netd
  17. 网络编程:使用tcp协议实现服务器与客户端交互
  18. iOS 扫描二维码/条形码
  19. 网众无盘常见问题解决方案(转)
  20. 公司子系统整合统一登录的架构

热门文章

  1. 初中级PHP面试基础汇总
  2. 亲测:华为ENSP路由器出现41错误解决方法
  3. Zotero如何编辑工程规范[S]
  4. 加快数据分析的速度,我建议你掌握这12个最频繁使用的 Python 函数
  5. three.js中聚光灯及其属性介绍
  6. 2021年度全国勘察设计注册工程师执业资格考试成绩合格人员公示和资格核查的通知汇总(截至3月19日已更新完毕)
  7. 天气预报显示服务器拒绝访问,关于天气预报的问题和解决办法
  8. 2013华为招聘上机--- 字符串处理转换
  9. 2023/4/4 研究生第二课内容和感想
  10. 企业微信redirect_uri需使用应用可信域名