概述

本教程将向您展示如何构建一个简单的Dialogflow聊天机器人,引导您完成Dialogflow的最重要功能。您将学习如何:

  • 创建Dialogflow帐户和第一个Dialogflow聊天机器人,它允许您定义自然语言理解模型。

  • 使用实体提取参数,您可以使用这些参数定义如何从用户话语中提取数据。实体允许您对用户话语的重要部分进行分类。这使您可以提取与类别而不是特定话语匹配的数据,从而为您提供更大的灵活性。

  • 使用上下文管理状态,这使您可以在多轮中保持对话状态。

  • 与Google智能助理集成,可让您将Dialogflow聊天机器人部署为用户可通过智能调用的操作。

创建Dialogflow帐户

本页介绍如何创建和登录Dialogflow帐户。

Dialogflow需要Google帐户才能登录。如果您已有帐户,请跳至下一部分。如果您没有Google帐户,可以使用当前的电子邮件在此处获取一个帐户,也可以使用Gmail注册Google帐户和电子邮件。

创建Dialogflow帐户

现在您已登录自己的Google帐户,可以按照以下步骤登录Dialogflow:

https://console.dialogflow.com/api-client/#/login

点击Google登录按钮:

setup-001.png

如果您在浏览器中登录了多个Google帐户,请选择要登录的Google帐户。

允许Dialogflow访问您的Google帐户。Dialogflow使用以下权限:

  • 通过Google Cloud Platform服务查看和管理您的数据:此权限允许Dialogflow代表您为Firebase部署云功能,以(可选)为您的聊天机器人提供支持。有关详细信息,请参阅Fulfillment。

  • 查看和管理您的Google智能助理语音命令,对话框和语法:此权限允许您在Google智能助理上测试您的Dialogflow聊天机器人。有关详情,请参阅Google智能助理集成。

  • 查看和管理您在Google上的操作:此权限允许您将Dialogflow代理部署到Google智能助理和Google操作系统作为对话操作。

    最后,您将了解Dialogflow的服务条款,您需要接受这些条款才能使用Dialogflow。

setup-003.png

创建和查询聊天机器人

本页介绍如何创建和试用您的第一个Dialogflow聊天机器人。

创建您的第一个Dialogflow聊天机器人

要创建Dialogflow聊天机器人:

打开浏览器并登录Dialogflow。

单击左侧菜单中的“创建聊天机器人”。

输入聊天机器人的名称,默认语言和默认时区,然后单击“创建”按钮。

creating-002.png

Dialogflow控制台

您现在应该看到左侧的Dialogflow控制台和菜单面板。如果您正在使用较小的屏幕并且菜单已隐藏,请单击左上角的菜单菜单按钮。设置设置按钮将您带到当前代理的设置。

页面中间将显示代理的意图列表。默认情况下,Dialogflow 聊天机器人以两个意图开头。当您的聊天机器人不了解您的用户所说的内容时,您的聊天机器人会与默认后备意图相匹配。默认欢迎意图向您的用户致意。可以更改这些以定制体验。

Dialogflow模拟器位于页面的右侧。模拟器允许您通过说出或键入消息来试用聊天机器人。

creating-console-ui.png

查询聊天机器人

creating-006.png

聊天机器人最好被描述为NLU(自然语言理解)模块。这些可以包含在您的应用,产品或服务中,并将自然用户请求转换为可操作的数据。

是时候尝试你的聊天机器人了!在右侧的Dialogflow模拟器中,单击“立即尝试”,输入任何内容的文本字段,然后按Enter键。

您刚刚与Dialogflow聊天机器人代理商交谈过!您可能会注意到您的聊天机器人不了解您。由于您的输入与任何意图都不匹配,因此匹配默认回退意图,并且您在该意图内收到一个默认回复。

默认回退意图回复提示用户以可匹配的方式重新构建其查询。您可以更改Default Fallback Intent中的响应以提供示例查询,并指导用户发出可以与intent相匹配的请求。

创建你的第一意图

Dialogflow使用意图来分类用户的意图。意图有训练短语,这是用户可能对您的聊天机器人说的内容的示例。例如,想要知道代理人姓名的人可能会问:“你的名字是什么?”,“你有名字吗?”,或者只是说“名字”。所有这些查询都是唯一的,但具有相同的意图:获取聊天机器人的名称。

要覆盖此查询,请按照以下步骤创建意图:

  • 单击左侧菜单中Intents旁边的加号。

  • 将名称“name”添加到Intent name文本字段中。

  • 在Training Phrases部分中,单击文本字段并输入以下内容,在每个条目后按Enter键:

你叫什么名字?

你有名字吗?

名称

  • 在“响应”部分中,单击文本字段并输入以下响应:

我的名字是Dialogflow!

  • 单击“保存”按钮。

creating-008.png

现在尝试询问聊天机器人的名称。在右侧的模拟器中,输入“你叫什么名字?” 然后按Enter键。

即使您的查询与训练短语(“您的名字是什么?”与“您的名字是什么?”)略有不同,您的聊天机器人也会正确回复查询。它能够通过使用机器学习来解决这个问题。

Dialogflow使用训练短语作为机器学习模型的示例,以将用户的查询与正确的意图相匹配。机器学习模型根据聊天机器人中的每个意图检查查询,为每个意图提供分数,并匹配得分最高的意图。如果得分最高的意图得分非常低,则回退意图匹配。

后续还有下篇,内容抽取和上下文状态管理。

英文原文:https://dialogflow.com/docs/getting-started

欢迎关注磐创博客资源汇总站:

http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:

http://pytorch.panchuang.net/

构建一个简单的 Google Dialogflow 聊天机器人【上】的更多相关文章

  1. 通过python 构建一个简单的聊天服务器

    构建一个 Python 聊天服务器 一个简单的聊天服务器 现在您已经了解了 Python 中基本的网络 API:接下来可以在一个简单的应用程序中应用这些知识了.在本节中,将构建一个简单的聊天服务器.使 ...

  2. 【Android Developers Training】 3. 构建一个简单UI

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. gRPC初探——概念介绍以及如何构建一个简单的gRPC服务

    目录 引言 1. gRPC简介 2. 使用Protocol Buffers进行服务定义 2.1 定义消息 2.2 定义服务接口 3.构建简单的gRPC服务 3.1 编写proto文件,定义消息和接口 ...

  4. struts1:(Struts重构)构建一个简单的基于MVC模式的JavaWeb

    在构建一个简单的基于MVC模式的JavaWeb 中,我们使用了JSP+Servlet+JavaBean构建了一个基于MVC模式的简单登录系统,但在其小结中已经指出,这种模式下的Controller 和 ...

  5. 构建一个简单的Linux系统 MenuOs —— start_kernel到init进程(20135304刘世鹏)

    构建一个简单的Linux系统 MenuOs —— start_kernel到init进程 作者:刘世鹏20135304 <Linux内核分析>MOOC课程http://mooc.study ...

  6. 第三周——构建一个简单的Linux系统MenuOS

    [洪韶武 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ] 第三周  构建一个 ...

  7. 构建一个简单的基于MVC模式的JavaWeb

    零晨三点半了,刚刚几个兄弟一起出去吼歌,才回来,这应该是我大学第二次去K歌,第一次是大一吧,之后每次兄弟喊我,我都不想去,因为我还是很害怕去KTV,或许是因为那里是我伤心的地方,也或许是因为我在那里失 ...

  8. 手把手教你用vue-cli构建一个简单的路由应用

    上一章说道:十分钟上手-搭建vue开发环境(新手教程)https://www.jianshu.com/p/0c6678671635 开发环境搭建好之后,那么开始新添加一些页面,构建最基本的vue项目, ...

  9. Ant—使用Ant构建一个简单的Java工程(两)

    博客<Ant-使用Ant构建一个简单的Java项目(一)>演示了使用Ant工具构建简单的Java项目,接着这个样例来进一步学习Ant: 上面样例须要运行多条ant命令才干运行Test类中的 ...

随机推荐

  1. C++走向远洋——29(长方柱类)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:长方柱类.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  2. 微信小程序采坑之scroll-view

    当设置了scroll-y为true之后,纵向是没有问题的,会出现滚动条. Android上一切都是那么的祥和, ios上你会发现如果你scroll-view里面的东西超过横向的宽度时,就会隐藏了. 也 ...

  3. 使用Properties配置文件进行配置读取

    #使用Properties配置文件进行配置读取: 例如:有一个配置文件的内容如下: # setting.properties last_open_file=/data/hello.txt auto_s ...

  4. Docker实战之Zookeeper集群

    1. 概述 这里是 Docker 实战系列第四篇.主要介绍分布式系统中的元老级组件 Zookeeper. ZooKeeper 是一个开源的分布式协调服务,是 Hadoop,HBase 和其他分布式框架 ...

  5. 如何在windows server上安装 Windows评估和部署工具包

    此文是<.NET内存宝典>一书的售后服务系列文章之一. 在<.NET内存宝典>一书(目前我还在翻译本书,预计年底出版)的第3章 “内存测量”里的“Windows性能工具包”一节 ...

  6. SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  7. git上传命令步骤

    1.登陆github后,进入Github首页,点击New repository新建一个项目 2. 填写相应信息后点击create repository即可 Repository name: 仓库名称( ...

  8. Centos +Docker 安装及仓库使用概述

    ​1. Linux 系统学习Docker安装篇 这里我使用的Centos系统 安装Docker yum命令说明 即Yellowdog Update Modifier,是一种基于rpm的包管理工具 yu ...

  9. windows下tensorflow/objectdetection API环境搭建(基于tensorflow1.14和python3.6)

    此前就听闻室友说tensorflow在windows下坑很多,这次终于亲身领会到了.以下是参考网上大佬的教程以及自己的踩坑史总结出的有效步骤(亲测有效) 1.下载objectdetection所在的m ...

  10. es6中的属性名表达式

    代码如下: 问题: 为什么我可以这样给obj1对象添加动态属性? 为什么我最终的结果是只添加了right属性? 解答: 1. 第一个问题解答如下: 我们知道在es5中给对象添加属性有两种方法,一种是通 ...