在该系列文章中,每一篇都将通过添加更多的功能来构建机器人。当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather Bot)。在本系列中将学会以下内容:
1)创建一个简单的对话天气机器人
2)在机器人中提出问题,并获取从HTTP API获取响应
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)
(必须)一个LUIS账号。此处以中国区的LUIS作为演示(LUIS (Language Understanding) - Cognitive Services - Microsoft (azure.cn)),LUIS中为Weather_bot所创建的应用如下图(当在Bot Composer中配置好endpoint和key后,Composer会自动同步机器人中的语意,实体等内容)
Bot Composer使用的默认识别器就是LUIS。它使用语言理解 (LUIS) 服务,该服务允许机器人理解用户的响应并确定在对话流中下一步要做什么。语言理解 (LUIS) 是 中的一项服务,可将自然语言处理应用于对话文本以预测含义并提取相关信息。
本文将展示如何训练LUIS识别器来捕获消息中所包含的用户意图。然后将消息传递给触发器,触发器定义机器人将如何响应。主要包含的内容有:
将LUIS识别器添加到机器人
确定用户意图和实体以生成正确的响应
修改识别器的类型(Update the recognizer type)
第一步:启动编辑器并打开weather_bot项目
第二步:在左侧导航栏中选中weather_bot对话组件
第三步:在右侧的属性栏中,从“ 识别器类型 ”中选择“ 默认识别器 ”。默认识别器即使用LUIS
添加LUIS的数据和条件(Add language understanding data and conditions)
本节中,将创建三个语意(cancel, help, weather),用于替换在系列3[https://www.cnblogs.com/lulight/p/14902267.html]中使用正则表达式来检测用户所输入的指令。
第一步:选中“Cancel”触发器,在属性的触发语句表达式中填入以下语句:
- cancel - please cancel - stop that - 取消对话 - 退出吧