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

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

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

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

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

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

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

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

准备条件

开发机器人面临的主要问题之一:就是如何让机器人理解用户在对话和整个上下文中的意思,然后用有效信息进行回复?为了能够实现这些复杂任务,Bot Composer集成了Lanaguage Generation库。它可以更好地控制机器人如何处理用户输入并提供有意义的响应。本文展示了如何在机器人中使用LG(语言生成)。

Language generation 语言生产

让我们从修改单调的“Welcome Message”入手。

第一步:启动Bot编辑器,打开 weather_bot 项目

第二步:在“Geeting问候语”触发器组件中,选中True分支下的“Send a response”任务

第三步:在任务的右边属性栏中,依次点击“Add alternative”,在新出现的文本框中依次加入下面的问候语(Welcome Message)

Hi! I'm a friendly bot that can help with the weather. Try saying WEATHER.

Hello! I am Weather Bot! Say WEATHER to get the current conditions.

Howdy! Weather bot is my name and weather is my game. Try saying WEATHER.

兄台,请说“天气”! 敬天爱人从知天始。

注:机器人在回复用户时,随机选择以上的语句进行问候。设置完成后,效果图如下:

添加LG: Language Generation

当前,机器人报告天气的方式还是非常机械化的。我们可以通过利用LG功能改进机器人的回复内容。

第一步:在Bot编辑器左边导航目录中选择“机器人响应 Bot responses”。(你会注意到之前添加的所有消息都将出现在这里。同理,在这里进行修改也会同步到机器人中)

第二步:选中“GetWeather”,然后点击右边栏中的“显示代码”按钮,以文件格式的方式来添加新的语言片段。并在文末中增加新的LG。

# DescribeWeather(weather)
- It is "${dialog.weather}" in ${user.postalcode} and the temperature is ${dialog.fahrenheit}°F or ${dialog.celsius}°C. Have a nice day.

注:新的LG模板名为DescribeWeather。这里会根据weather这个对象的内容填充模板,生成有好的回复。

第三步:回到Bot的编辑区域,选择“getWeather”的BeginDialog组件,并选中“Send a response”任务块。

第四步:把原来的回复内容用LG模板替换掉

  • 删除旧的回复消息
  • 输入“ ${DescribeWeather(dialog.weather)} ”。这种语法允许将 DescribeWeather 模板嵌套在另一个模板中,可以通过这种组合 LG 模板方式以创建更复杂的模板。

好了,LG模板的创建以及使用步骤完成。请查看演示动画:

测试机器人

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

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

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

第四步:输入“98052”观察Bot的返回内容

在下一篇中将演示:把机器人的回复转换为卡片

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

参考资料

Tutorial: Add language generation to your bot:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-language-generation?tabs=v2x

Language generation: https://docs.microsoft.com/en-us/composer/concept-language-generation?tabs=v2x

[完]

【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. 通过Azure bot framework composer 设计一个AI对话机器人bot(查询天气)

    本文介绍通过机器人框架设计器 (Bot framework composer)接近拖拉拽的方式设计一个聊天机器人,该聊天机器人的主要功能是发起http请求查询天气.当然,稍微变通下,可以用来查询几乎任 ...

  7. (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介

    网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...

  8. 免费电子书:微软Azure基础之Azure Automation

    (此文章同时发表在本人微信公众号"dotNET每日精华文章") Azure Automation是Azure内置的一项自动化运维基础功能,微软为了让大家更快上手使用这项功能,特意推 ...

  9. Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化

    在上一篇中,我们介绍了消息的顺序收发保证: Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证 在本文中我们主要介绍下复杂对象消息是否需要支持序列 ...

随机推荐

  1. Day002 编译型和解释型语言

    编译型和解释型语言 原文链接 编译型(Compile) 用编译型语言写的程序执行之前,需要一个专门的编译过程,针对特定的平台,使用专门的编译器,把高级语言翻译成机器语言,以后直接运行而不需要再编译了, ...

  2. idea 2018.3.3版本激活到

        新装的,还是试用版本,下面就是进行激活操作: 先下载 链接: https://pan.baidu.com/s/1o44bsO7tx3WGuO5GgT0ytw 提取码: gbmw 第一步:将bi ...

  3. Consul 服务的注册和发现

    Consul 是Hashicorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.Consul是分布式的,高可用的,可横向扩展的. Consul 的主要特点有:    Service Disc ...

  4. JVM虚拟机-垃圾回收机制与垃圾收集器概述

    目录 前言 什么是垃圾回收 垃圾回收的区域 垃圾回收机制 流程 怎么判断对象已经死亡 引用计数法 可达性分析算法 不可达的对象并非一定会回收 关于引用 强引用(StrongReference) 软引用 ...

  5. KMP板子(其实还没完全懂...)

    KMP模板 1.next数组的实际含义 next数组从-1开始,主串a,子串b,next[j]=k,满足b[0,k-1]==b[j-k,j-1],k同时也为b子串前缀的下标,j为b子串后缀的下标 ge ...

  6. 关于Java的 long,float 类型

    发现了这么一个坑: 1.2f+3.4f=4.60000014305114751.2d+3.4d=4.6

  7. 真正的原生JS数据双向绑定(实时同步)

    真正的原生JS数据双向绑定(实时同步) 接触过vue之后我感觉数据双向绑定实在是太好用了,然后就想着到底是什么原理,今天在简书上看到了一位老师的文章 js实现数据双向绑定 然后写出了我自己的代码 wi ...

  8. 华为鲲鹏处理器实现商用,Arm服务器又添砝码

    华为鲲鹏处理器实现商用,Arm服务器又添砝码 鲲鹏920就是华为海思1620 鲲鹏920面向 服务器CPU就是 华为海思162064core 武汉华为PC不是海思1620是另一个cpu 深圳华为PC的 ...

  9. rpm命令的简介(2)-(转自 青春乐园 )

    青春乐园 怎样查看rpm安装包的安装路径 rpm -qpl xxxxxx.rpm 1.如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成.执行下面的命令 rpm -i your-pack ...

  10. 大数据学习之路—环境配置——IP设置(虚拟机修改Ip的内在原因及实现)

    一.IP原理 关于IP我的理解, (1)主要去理解IP地址的作用,IP地址包括网络相关部分和主机的相关部分.即:用一段特殊的数据,来标识网络特征和主机的特征. 至于具体的技术实现,日后可以慢慢体会和了 ...