欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人。
在该系列文章中,每一篇都将通过添加更多的功能来构建机器人。当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather Bot)。在本系列中将学会以下内容:
3)在机器人中增加帮助提示和取消功能
4)使用语言生成功能(LG: Language Generation)
5)把机器人的回复转换为卡片
6)添加LUIS功能,理解自然语言
准备条件
- 完成系列(1,2)中的简单对话机器人创建(https://www.cnblogs.com/lulight/p/14891002.html)与 发送HTTP请求(https://www.cnblogs.com/lulight/p/14897260.html)
为机器人对话流加入“帮助”和“取消”按钮功能,哪怕是一个简单的机器人,提供帮助功能也是最佳体验。同时,也需要在人机对话流程中随时“取消”功能。
安装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
[完]