最佳日常交易
最佳日常交易

关于Androidbob体育提现bob哪个彩靠谱权威的链接可能会使我们赢得佣金。学到更多。

为Google Assistant建立自己的行动

Google拥有一个致力于帮助您扩展Google Assistant功能的整个平台。这是建立自己的Google Assistant Actions的方法!
经过
2018年6月22日
Google Home Mini

如果您曾经与Google助理演讲者,您可能知道告诉“对不起,我还不知道该如何帮助”是多么令人沮丧。”幸运的是,您不必等待某人实施缺少的功能 - 您可以自己做!Google拥有一个致力于帮助您扩展功能的整个平台Google助手通过定义自定义操作。

有关的:Google助理例程

在开始之前,您需要查看Google Assistant动作目录,由于有人很有可能已经满足您的需求。您可能仍然具有更好或不同的实现,这是有道理的。

让我们看一下如何建立完整的Google助手行动。到本文结尾,您将创建一项动作,询问用户各种问题,解析他们的答复,然后提取特定的信息,然后将其用于个性化对话并将其推向前进。

我们要建造什么

我们将建立一个坏笑话发生者的动作,以了解用户的名字,并发现他们是否想听听关于狗或猫的俗气的笑话。

在设计动作时,最好绘制对话可以采取的所有不同路线,因此我们将要构建的内容:

创建一个动作项目和对话流代理

每个动作都需要以下操作:

  • 一个行动项目 -在这里,您将管理,测试和发布您的操作,并执行管理任务,例如通过出版过程指导您的操作。
  • 对话流代理 -这是一项基于Web的服务,您将用于将您的操作与Google Assistant集成。您将使用此代理来定义用户如何与操作,参数对话流程应提取以及对话应如何进行。

创建这些组件:

  • 前往在Google开发人员控制台上的操作并使用您的Google帐户登录。如果这是您的第一次访问,请按照说明在Google帐户上创建操作。
  • 提示时,选择添加/导入项目
  • 给项目一个名字;我正在使用“ badjokegenerator”。
  • 点击创建项目
  • 而不是选择类别,而是选择跳过
  • 在控制台的左手菜单中,选择动作
  • 选择添加您的第一个动作
  • 选择您的语言动作目录应该显示列表。点击更新
  • 选择自定义意图, 其次是建造
  • 对话流控制台将在新选项卡中启动。查看此信息,如果您乐于继续,请单击来创建对话流代理创造

欢迎用户采取行动

每次对话都必须从某个地方开始!每当您创建对话流代理时,欢迎意图是自动生成的,这代表了您的操作中的入口点。

您可以通过DialogFlow意见来定义操作如何响应用户输入。它可以通过两种方式做出回应:

  • 静止的。如果您的动作始终以相同的方式做出响应,则可以提供罐装响应作为纯文本。
  • 动态的。您可以使用Webhook(也称为履行)来找出相关响应,并将其发送回Google Assistant,并最终将其发送给用户。

您的响应应指导用户接下来要说的话,因此我将欢迎用户进入我们的应用程序,然后索要他们的名字。由于这是一个静态响应,我们可以作为纯文本提供:

  • 选择意图从控制台的左手菜单中。
  • 将光标放在默认欢迎Intent文本,然后单击。这启动了DialogFlow的意图编辑器。
  • 滚动到编辑的回复部分。
  • 通过悬停在每个响应上,然后单击垃圾图标。
  • 点击添加响应按钮,然后选择文本响应
  • 输入此消息:“嗨,欢迎来到Bad Joke Generator。你叫什么名字?”
  • 点击节省

语言培训:定义对话的语法

接下来,我们需要确保我们的DialogFlow代理可以识别用户响应的哪一部分是所需的名称参数。这意味着提供某人提供名称的所有不同方式的示例。

在理解和处理语言方面,DialogFlow的自然学习理解(NLU)引擎会做很多繁重的工作,因此您不必列出所有潜在的响应。但是,您提供的培训短语越多,成功匹配的机会就越大,因此请尽可能彻底。

培训您的代理:

  • 在控制台的左手菜单中,选择小+出现在旁边意图
  • 在屏幕的顶部,给出这个标题的意图create_name
  • 单击以展开动作和参数部分。
  • 在里面参数名称部分,输入“名称”。
  • 接下来,我们需要定义一个实体,该实体将负责从用户输入中提取参数值。DialogFlow具有可以使用的预定义的“名称”实体,因此开始键入@sys.given-name,然后在出现时从后续下拉列表中选择它。
  • 确保对话不进行,直到DialogFlow通过选择来了解用户的名称必需的
  • 点击定义提示并提供一些后续短语,供助手重复,直到获得必要的信息为止,例如“对不起,我没有完全抓住您的名字!你能重复吗?”如果用户在任何时候给出意外响应,我们的操作将循环通过这些提示,直到设法提取正确的参数为止。
  • 当您对输入的短语满意时,请单击关闭
  • 单击以展开培训短语部分。
  • 在里面添加用户表达式字段,输入“我的名字是约翰”,然后按Enter键。

默认情况下,DialogFlow应识别“ John”为必需的参数,并将其分配给@sys.given-name实体。

重复此过程,以进行此短语的变化,例如“ John是我的名字”,“我叫John”和“ John Smith”。

如果DialogFlow无法分配@sys.given-name对于“约翰”,您可以手动创建此任务:

  • 突出显示“约翰”一词。
  • 选择@sys.given名称:名称从下拉列表。

创建和部署您的Webhook

现在,我们的代理可以识别名称参数,让我们充分利用此信息!您可以通过创建DialogFlow Webhook来通过名称来解决用户:

  • 仍在意图编辑中,单击以展开履行部分。
  • 选择启用履行
  • 拖动启用Webhook要求此意图滑动到位置。
  • 通过滚动到屏幕顶部,然后单击来保存更改节省

接下来,使用DialogFlow的Inline编辑器创建Webhook:

  • 选择履行从控制台的左手菜单中。
  • 内联编辑器滑动到位置。
  • 确保index.js选择选项卡,然后复制/粘贴以下:
代码
“使用严格”;//从Google客户端库上的操作中导入对话流模块// const {dialogflow} = require('action-on-on-google');//导入firebase-functions软件包// const functions = require('Firebase-Functions');//实例化对话流客户端// const app = dialogflow({debug:true});//处理create_name intent // app.intent('create_name',(conv,{name})=> {//构造对话响应// cons.ask('noce coles of you y you' + name +'将会。您喜欢听一个玩笑吗?');});//设置DialogFlowApp对象以处理HTTPS POST请求// exports.dialogflowfirebasefurefillment = functions.https.onrequest(app);
  • 通过单击部署按钮。DialogFlow现在将在托管环境上提供和部署您的Webhook代码,火库的云功能。这可能需要几分钟,具体取决于您的互联网连接速度。

在上面的代码中,“名称”是指我们在意图编辑器中定义的参数。

测试您的动作

您可以使用动作模拟器将项目投入测试:

  • 确保您通过前往活动控制页面并检查网络和应用活动,,,,设备信息语音和音频活动滑块都设置为
  • 回到对话流控制台, 选择集成从左侧菜单。
  • 找出Google助手卡,选择集成设置
  • 如果您遇到检查自动浏览设置对话,离开自动浏览更改已启用。
  • 选择测试。DialogFlow现在将上传您的代理,并在新选项卡中启动操作模拟器。在里面建议的输入字段,键入“与我的测试应用程序交谈”,然后按键盘上的Enter键。
  • 输入您的名字,然后按Enter。DialogFlow现在应该按名称解决您!

保持对话的随访意图

由于我们提出了一个问题,因此我们需要能够处理答案!让我们创建两个后续意图来处理“是”和“否”响应:

  • 选择意图从左侧菜单。
  • 悬停在create_name文字,然后选择添加后续意图当它出现时。
  • 从下拉菜单中选择“是”。
  • 重复上述步骤,但是这次选择。

您现在可以编辑这些意图。让我们从“否”开始:

  • 选择create_name - 否意图。
  • 单击以展开回应部分。
  • 输入以下静态响应:“好吧,下次见!”
  • 既然我们说了再见,请找到将此意图设置为对话的结束滑块,然后将其拖到位置。
  • 滚动到屏幕顶部,然后单击节省

现在我们需要编辑“是”意图:

  • 选择意图从左侧菜单。
  • 选择create_name - 是的意图。
  • 扩展回应部分。
  • 输入以下回应:“您想听听关于猫或狗的坏笑话吗?”
  • 点击节省

创建自定义实体

到目前为止,我们一直坚持DialogFlow的现成系统实体,例如@sys.given-name,但您也可以创建自己的实体。由于目前没有@sys.cat或者@sys.dog实体,我们需要将它们定义为自定义实体:

  • 选择实体从左侧菜单。
  • 点击创建实体按钮。
  • 命名此实体catordog
  • 选择单击此处添加实体
  • 在下面输入参考值,键入“猫”。
  • 与培训短语类似,您需要输入一些同义词,代表用户可能表明的不同方式,他们想听听关于猫的笑话。键入每个同义词后,按Enter。
  • 选择后续单击此处编辑条目场地。
  • 输入“狗”作为参考值,然后添加一些同义词。
  • 点击节省

使用您的自定义实体

您以与系统定义的实体完全相同的方式将这些自定义实体应用于您的意图:

  • 在左侧菜单中,选择意图
  • 点击创建意图
  • 命名这个意图“狗或猫的笑话”。
  • 在下面培训短语,输入“狗”和“猫”。对话流应识别这些值,并将其映射到您的catordog实体。
  • 点击节省

释放您最好的坏笑话!

我们的最终任务是开始向用户发出不好的笑话:

  • 选择意图从左侧菜单。
  • 单击以展开create_name意图。
  • 悬停在create_name - 是的后续意图,然后选择添加后续意图
  • 选择风俗从下拉列表。
  • 选择您的意图,该意图启动了意图编辑器。
  • 自动生成的意图名称很长,所以让我们将其更改为“狗”。
  • 在下面参数名称,输入“狗”。
  • 实体,开始键入“ catordog”,然后在出现时从下拉菜单中选择它。
  • 在下面价值,输入“狗”。
  • 输入诸如“我想听狗玩笑”,“告诉我关于狗的坏笑话”或“狗”之类的训练短语。
  • 在里面文本响应部分,键入您最危险的犬笑话。我正在使用“您称之为冥想的大狗?意识到狼。”
  • 在这么可怕的笑话之后,没有人愿意继续与我们的行动交谈,所以启用将此意图设置为对话的结束滑块。
  • 点击节省

重复上述步骤,以创建您的猫意图,仅此而已!

剩下的唯一要做的就是启动动作模拟器,看看动作如何处理各种响应。

包起来

此操作可能很简单,但是它演示了您在创建自己的动作时一遍又一遍地执行的许多任务。您可以采用这些技术来学习用户的名称,提取参数,提供静态和动态响应,并训练对话流代理,并将它们应用于几乎所有动作项目。

如果您决定制定Google Assistant行动,这些行动不仅仅是发出几个不好的笑话,请与他人分享您的工作,并提交您的诉讼供批准

您会为操作目录开发吗?在下面的评论中让我们知道!