欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人。

在该系列文章中,每一篇都将通过添加更多的功能来构建机器人。当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather Bot)。在本系列中将学会以下内容:

1)创建一个简单的对话天气机器人

2)在机器人中提出问题,并获取从HTTP API获取响应

3)在机器人中增加帮助提示和取消功能

4)使用语言生成功能(LG: Language Generation)

5)把机器人的回复转换为卡片

6)添加LUIS功能,理解自然语言

准备条件

为机器人对话流加入“帮助”和“取消”按钮功能,哪怕是一个简单的机器人,提供帮助功能也是最佳体验。同时,也需要在人机对话流程中随时“取消”功能。

安装Help and Cancel包

第一步:启动Bot Composer,从左边的导航条中进入“Package Manager”目录

第二步:与VS 2019的Package界面一样,在搜索框中输入“Help”,选中“Microsoft.Bot.Components.HelpAndCancel”包

第三步:点击右边的安装按钮,可根据需要选择版本

第四步:安装过程中,会弹出“安装须知”。在底部点击OK,进入安装等待。安装完成后,回到机器人编辑主区域,编辑器会自动为机器人添加两个对话组件“ Help ” 和“ Cancel ”。

设置“Cancel”和“Help”对话组件

第一步:在weather_bot的编辑区,点击“...”按钮并选择“+ Add new trigger”, 在新建窗口中输入如下值:

  • What is the name of this trigger (RegEx): cancel
  • Please input regEx pattern: cancel|stop|quit|取消 , 正则表达式将匹配所设置的这四个关键字,并触发cancel操作。

第二步:点击“Submit”后,在新建的cancel的触发器中,点击“+”按钮添加一个开始对话( Dialog Management --> Begin a new dialog)

第三步:在“Dialog name”的下拉列表中选择“CancelDialog”。即完成了Cancel功能的设置。

第四步:重复以上1,2,3步骤,为Help对话组件进行设置。在weather_bot的编辑区,点击“...”按钮并选择“+ Add new trigger”, 在新建窗口中输入如下值:

  • What is the name of this trigger (RegEx): help
  • Please input regEx pattern: help|support|advice|帮助 , 正则表达式将匹配所设置的这四个关键字,并触发help操作。

第五步:点击“Submit”后,在新建的help的触发器中,点击“+”按钮添加一个开始对话( Dialog Management --> Begin a new dialog)

第六步:在“Dialog name”的下拉列表中选择“HelpDialog”。即完成了Help功能的设置。

在机器人对话中启用打断功能

getWeather对话组件知道如何获取天气预报,但是它不知道如何在对话中响应帮助请求。所以为了让机器人能在进行正常对话的过程中对发出的“Help”请求进行处理,需要对getWeather启用允许打断功能(Interruption)。当帮助流程处理完后,它会自动回到天气预报对话中,无需再使用“天气”或“weather”关键字来进行唤醒。

第一步:再getWeather对话组件中,选择“BeginDialog”事件

第二步:选中第一个“Prompt for text”任务框,在它的右边属性窗口中,选中“Other”选项卡。

第三步:在“Prompt Configurations”中找到“Allow interruptions”并把值设置为 true

注:这一步的目的是告诉 Bot 咨询父对话框的识别器,允许 Bot 也可以在用户的提示下响应帮助。

请查看启用“Help and Cancel”的演示动画:

测试机器人

第一步:在编辑器的右上角点击 “Start Bot”按钮,启动机器人

第二步:启动后,会弹出一个“Local bot runtime manager”的窗口,选择“Open Web Chat”,打开一个页面聊天窗口

第三步:在对话框中输入“weather” 或者“天气”来触发机器人的对话

第四步:输入“help”,“support”,“advice” 或“帮助”,机器人将提供帮助响应

第五步:输入“cancel”,“stop”,“quit” 或“取消”,机器人将发送一个取消的响应,然后等待用户的Yes/No确认

在下一篇中将演示:使用语言生成功能(LG: Language Generation)

(以上内容均是参考微软官方的机器人文档进行的中文操作步骤,原文连接见参考资料)

参考资料

Tutorial: Add Help and Cancel to your bot using interruptions:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-add-help?tabs=v2x

[完]

【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (The Bot Framework Composer tutorials)的更多相关文章

  1. 【Azure 机器人】微软Azure Bot 编辑器系列(5) : 机器人的卡片式回复 (The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  2. 【Azure 机器人】微软Azure Bot 编辑器系列(2) : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  3. 【Azure 机器人】微软Azure Bot 编辑器系列(6) : 添加LUIS,理解自然语言 (The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  4. 【Azure 机器人】微软Azure Bot 编辑器系列(1) : 创建一个天气对话机器人(The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  5. 【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  6. 微软BI 之SSRS 系列 - 如何在 MDX 查询中获取有效的 MEMBER 成员属性作为参数传递

    这篇小文章的来源是 天善问答,比如在报表中要根据点击某一个成员名称然后作为参数传递给自身报表或者下一张报表,这个在普通的 SQL 查询中没有任何问题.但是在 MDX 中查询是有区别的,比如在 MDX ...

  7. 微软BI 之SSIS 系列 - 在 SQL 和 SSIS 中实现行转列的 PIVOT 透视操作

    开篇介绍 记得笔者在 2006年左右刚开始学习 SQL Server 2000 的时候,遇到一个面试题就是行转列,列转行的操作,当时写了很长时间的 SQL 语句最终还是以失败而告终.后来即使能写出来, ...

  8. 微软BI 之SSIS 系列 - 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念

    开篇介绍 在 SSIS Dataflow 数据流中的组件可以分为 Synchronous 同步和 Asynchronous 异步这两种类型. 同步与异步 Synchronous and Asynchr ...

  9. 微软BI 之SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表

    基于数据仓库上的 SSRS 报表展示,一般可以直接通过 SQL 查询,存储过程,视图或者表等多种方式将数据加载并呈现在报表中.但是如果是基于 Cube 多维数据集的数据查询,就不能再使用 SQL 的语 ...

随机推荐

  1. [BUUCTF-Pwn]刷题记录1

    [BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希 ...

  2. 【python】Leetcode每日一题-132模式

    [python]Leetcode每日一题-132模式 [题目描述] 给定一个整数序列:a1, a2, ..., an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j &l ...

  3. GDI编程基础

    窗口和视口 视口是基于设备的采用的是设备坐标(单位:像素),窗口是基于程序的采用的是逻辑坐标(单位:像素/毫米/厘米等). 在默认的映射模式下,视口是与窗口等同的.但是如果改变其映射模式,则其对应的单 ...

  4. [DB] 数据库概述

    基本概念 关系模型:包括关系数据结构.关系操作集合.关系完整性约束三部分 关系型数据库:建立在关系模型基础上的数据库.由多张能互相联接的二维行列表格组成. 非关系型数据库(Nosql(Not Only ...

  5. 使用 MegaCLI 检测磁盘状态并更换磁盘

    专栏首页阿dai_linux使用 MegaCLI 检测磁盘状态并更换磁盘 原 10

  6. [Python] 条件 & 循环

    条件语句 不加 () 结尾加 : elif else 和 if 成对使用 省略判断条件 String:空字符串为False,其余为True int:0为False,其余为True Bool:True为 ...

  7. Linux_rpm包管理

    一.rpm包命令规范 1.包的组成 主包:bind-9.7.1-1.el5.i586.rpm 子包:bind-libs-9.7.1-1.el5.i586.rpm bind-utils-9.7.1-1. ...

  8. IIC通信时遇到问题的解决

    如果遇到问题,反复查不到 就DEBUG  下单点运行,执行每一个SCK 和SDA的拉高拉低 看看是否能正常的拉高拉低 先解决掉底层的GPIO的控制问题, 有的时候可能数据引脚为特殊功能引脚

  9. 5.1-5 uname、hostname、dmesg、stat、du

    5.1 uname:显示系统信息     uname命令用于显示系统相关信息,比如内核版本号.硬件架构等. -a    显示系统所有相关信息 -v    显示内核版本 -m    显示计算机硬件架构 ...

  10. python 中 list 的append与extend区别

    append 添加的是一个对象 extend 添加的是序列与原序列合并