概述

本教程将向您展示如何构建一个简单的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. Python——4Dict和Set类型

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

  2. unittest实战(三):用例编写

    # coding:utf-8import unittestfrom selenium import webdriverimport timefrom ddt import ddt, data, unp ...

  3. python 软件目录规范

      软件目录结构规范 软件开发规范 一.为什么要设计好目录结构? 1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快 ...

  4. Tomcat8优化

    一.Tomcat8优化 Tomcat服务器在JavaEE项目中使用率非常高,所以在生产环境对Tomcat的优化也变得非常重要了. 对于Tomcat的优化,主要是从2个方面入手,一是,Tomcat自身的 ...

  5. 解决Hexo博客模板hexo-theme-next的翻页按钮不正常显示问题

    用Hexo搭了个Gitpage的博客,兴冲冲的发了11篇博文后发现翻页按钮不正常显示,显示为<i class="fa fa-angle-right"></i> ...

  6. disruptor 入门 一

    一.disruptor基本概念 https://www.cnblogs.com/haiq/p/4112689.html 二.disruptor入门程序 导入disruptor包 <depende ...

  7. Layabox UI 笔记

    1.UI List  官方文档是 https://ldc2.layabox.com/doc/?language=zh&nav=zh-js-3-3-7 通常用List的时候会出现滚动条按钮比例拉 ...

  8. java.lang.reflect.UndeclaredThrowableException: null Caused by: org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for

    java.lang.reflect.UndeclaredThrowableException: null    at org.springframework.util.ReflectionUtils. ...

  9. GitHub 热点速览 Vol.11:回暖的 GitHub 迎来上千星的图片流项目

    作者:HelloGitHub-小鱼干 摘要:连着两周成绩平平的 GitHub Trending 榜,终于和三月的天气一样进入全面变暖的模式,无论是本周刚开源搭乘 ocr 热点并获得 1,500+ st ...

  10. Posix线程编程指南(4)

    Posix线程编程指南(4) 杨沙洲 原文地址:http://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part4/ 线程终 ...