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

在该系列文章中,每一篇都将通过添加更多的功能来构建机器人。当完成教程中的全部内容后,你将成功的创建一个天气机器人(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. WireShark之抓telnet密码

    背景环境: 涉及到telnet和ssh知识的时候,必须要提的是telnet传输是明文的不安全的,传输的密码都会泄露,有兴趣来做个试验. 一:工具 ·①Windows 7 PC机:②GNS3:③Wire ...

  2. Windows进程间通讯(IPC)----管道

    管道的分类 管道其实际就是一段共享内存,只不过Windows规定需要使用I/O的形式类访问这块共享内存,管道可以分为匿名管道和命名管道. 匿名管道就是没有名字的管道,其支持单向传输数据,如果需要双向传 ...

  3. Python正则表达式的七个使用范例

    本文由 伯乐在线 - 左手的灵魂 翻译.未经许可,禁止转载!英文出处:thegeekstuff.欢迎加入翻译组.http://blog.jobbole.com/74844/ 作为一个概念而言,正则表达 ...

  4. 解决SSH自动断线,无响应的问题。

    解决SSH自动断线,无响应的问题. 3 Replies 在连接远程SSH服务的时候,经常会发生长时间后的断线,或者无响应(无法再键盘输入). 总体来说有两个方法: 1.依赖ssh客户端定时发送心跳. ...

  5. 012.Python的字典和集合的相关函数

    一 字典的相关函数 1.1 增函数 dictvar = {"a":1,"b":2} dictvar["c"] = 3 print(dictv ...

  6. Linux Socket编程-(转自吴秦(Tyler))

    "一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信 ...

  7. keil 中的incompatible错误

    http://blog.csdn.net/kobesdu/article/details/42268065

  8. 实操笔记:为 NSQ 配置监控服务的心路历程

    在 Go 语言实现的实时消息队列中, NSQ 的热度可以排第一. NSQ 这款消息中间件简单易用,其设计目标是为在分布式环境下运行,为去中心化服务提供一个强大的基础架构.它具有分布式.去中心化的拓扑结 ...

  9. redis 基本操作命令

    redis 基本操作 String 操作字符串 1 SET key value 设置指定 key 的值 ​ 2 GET key 获取指定 key 的值. ​ 3 GETRANGE key start ...

  10. Python爬虫-Scrapy框架的工作原理

    Scrapy框架工作原理 Scrapy框架架构图 Scrapy框架主要由六大组件组成,分别为: ​ 调度器(Scheduler),下载器(Downler),爬虫(Spiders),中间件(Middwa ...