- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我与dialogflow进行了交谈,以选择最喜欢的饮料类型,然后根据饮料的类别,选择跟进问题(即跟进意图)。
在“意图”选项卡下,我具有以下意图:
最佳答案
通常,将Intents视为捕获用户可能在说什么。尽管Intent也有答复,但这不是其主要目的。
根据您要尝试执行的操作,有几种方法。所有这三个都需要执行代码,您可以使用内置编辑器执行该代码,或者(更好)在您的控制下使用Webhook
如果要使用Intent确定如何回复
这实际上不是最好的主意,但是有可能。在您的履行代码中,您将拥有一个针对用户选择的参数的switch语句。基于此,您将在实现中触发followup event。您的其他Intent的Event部分将填充可能的事件,并且系统将选择触发哪个事件并将其用于实现/响应。
可能是您想要的东西有点模糊。
更新以根据评论中的问题进行澄清。直接发送事件会触发另一个Intent。有时这是您想要的,但是有些例外。大多数时候,您想使用以下方法之一。特别是,您应该记住,意图主要是用来表示用户正在尝试做的事情(他们“打算”去做的事情),而意图主要是由他们在说什么。意图可以很好地捕捉人们说话的复杂方式,而不是迫使他们进行类似于电话树的“对话”。
如果您只是想以不同的方式答复每个可能的用户响应
您可以使用实现Webhook代码来确定应将什么响应发送给用户。您没有指明正在使用的库,但是通常您会编写代码,该代码将根据所选的饮料类型确定应向用户发送哪些消息,并将其作为语音和/或显示文字显示在response。
在这种情况下,您不会使用其他特定于饮料的Intent。不需要它们。除非...
您希望以不同的方式答复每个用户的响应,并且后续对话可能会有所不同
请记住-意图实际上最适合于指定您希望用户说的话。不是您希望回复的内容。因此,根据他们选择的是“咖啡”(您可能会问他们想要多少糖)还是“果汁”(您可能会问他们是否想要一根吸管),您可能会有不同的对话。
在这种情况下,您仍然会像上一个情况一样进行操作(使用您的成就在您的回复中包含定制的消息,可能会提示他们输入该信息),并在回复中包含一个Output Context,指示他们的选择。您应该将此操作作为响应的一部分,而不是在Intent中进行设置,因为您要为每种饮料类型命名不同的名称。
然后,您可以根据您今天希望用户的需求创建针对每种饮料类型的Intent。对于特定于Coffee的内容,您可以将Input Context设置为要求已设置coffee context。苏打水环境(如果指定了苏打水),依此类推。
更新,因为您在评论中指出这听起来像是您感兴趣的途径。
在这种情况下,您将按照描述进行操作(几乎):
drink
参数的值const drink = request.body.queryResult.parameters.drink;
switch( drink ){
case 'coffee':
context = 'order_coffee';
msg = 'Do you want sugar with that?';
break;
case 'soda':
context = 'order_soda';
msg = 'Do you want a bottle or can?';
break;
case 'juice':
context = 'order_juice';
msg = 'Would you like a straw?';
break;
}
// Format JSON setting the message and context
order_coffee
上下文处于活动状态,并且用户使用“否”或“仅黑色”或其他有效组合回答了您的问题,则将触发该上下文。
order_juice
上下文处于活动状态并且用户回答“否”,则您需要一个不同的上下文(例如,“juice.nostraw”)。
order_soda
上下文处于活动状态时用户说“否”,那根本就没有多大意义,因此您希望尝试将它们引导回手头的主题。
order_coffee
上下文有效的“coffee.sugar”意图,并回答他们说“是”。还有一个人可能会说“Just cream”。他们可能还会说很多其他话,但是对您的经纪人来说,重要的是他们给您的指示必须与订购咖啡有关。
关于dialogflow - 如何使用DialogFlow触发意图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49715353/
自从我将 Dialogflow 升级为使用 v2 API 后,出现以下错误: Dialogflow IntentHandler not found for intent: myIntent 由于某些原
PermissionDenied:拒绝了“projects/XXXX-live/agent”上的403 IAM权限“dialogflow.sessions.detectIntent”。 创建服务时,我
基本上,我的代理人是法国人,当我输入 10h(12 小时格式为上午 10 点)时,我的 DialogFlow 代理人理解 22h(晚上 10 点),但我希望他理解上午 10 点。 (我想要 24 小时
我和我的团队正在使用 Dialogflow 为 Facebook Messenger 构建一个机器人,但由于我们的用户不会说同一种语言(西类牙语是项目中的默认语言),我们想要实现我们项目的英文版本,但
我是新来的 DialogFlow ,我开始创建代理,从smaltalk从头开始。问题是如何将更多预构建代理(例如警报和应用程序管理,以及货币转换器)附加到新创建的代理中? 谢谢你的帮助。 最佳答案 您
在 Dialogflow 中,通过扩展设置为自动化的“训练实体”的最佳方法是什么。在训练短语中添加实体和在实体屏幕中简单地添加示例值之间有什么区别吗? Dialogflow 培训是否比另一个更重视?创
我正在尝试训练 Dialogflow 机器人来识别不同的旅行请求(航类预订、酒店预订等)。我发现如果没有将时间指定为 12 小时格式(使用 AM/PM),它就不能正确解析时间。 我需要周六 08:00
我正在使用 webhook 在 dialogflow 上制作一个机器人。我收到一个错误:DEADLINE_EXCEEDED。我的 webhook 需要 5 秒多一点的时间来返回响应。有没有办法允许超过
我正在使用 Dialogflow 为银行创建一个机器人。我想保留与客户代表交谈的选择权。如果客户想与客户代表交谈,机器人应该停止,客户代表开始与客户聊天。在 Dialogflow 中如何实现。 最佳答
每当我输入 6 月 37 日作为输入时,它都不会给出错误,而是将日期视为 6 月 30 日。我想要做的是在输入 6 月 37 日时创建一个错误提示。 我在一个非常简单的意图上使用@sys.date,它
有没有办法以编程方式获取 Dialogflow 代理的对话历史记录? 我使用 Dialogflow 制作了一个聊天机器人。现在我需要以编程方式获取代理的对话历史记录。 最佳答案 That featur
我正在研究 dialogflow 跟进意图。结构是这样的。 它为每个新意图创建新上下文。 例如在重复意图中看到 每当我创建任何新意图时,它都会为其创建新上下文。正如你在图片中看到的那样。当我尝试删除这
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this qu
例如,如果您有 IntentA 并添加了 2 个后续意图:IntentB、IntentC,它工作正常,它应该添加一个上下文,因为它还没有输出上下文。但这就是问题所在。有时如果你添加另一个,例如 Fal
我正在使用 dialogflow 开发语音助手,我对意图的生命周期有疑问。据我了解,生命周期值为我提供了此意图中可能的交互次数。它在每次交互时递减,当等于 0 时,该值不能被识别为意图的可能值。 生命
我创建了一个聊天机器人,它会通知用户我(大)家庭成员的姓名以及他们的生活地点。我用 MySQL 创建了一个小型数据库,其中存储了这些数据,并在适当的时候使用 PHP 脚本获取它们,具体取决于用户与聊天
我想使用 dialogflow 进行注册。例如:我想让机器人问以下问题: 你叫什么名字?你的邮箱是多少? 等等。 我尝试实现此功能,但无法正确管理意图。我应该怎么做才能实现这一目标?谢谢 最佳答案 首
我希望尽可能生成动态文本而不需要创建 webhook。我知道创建动态文本的唯一方法是根据参数创建不同的路由或通过 using inline system functions像文本实现中的 $sys.f
我使用 创建了一个聊天机器人对话流 并与 集成Telegram、Facebook Messenger 和 Web . Dialogflow 的响应是通过 创建的履行用 Python 编写。 在 Tel
我使用 Dialogflow 创建了多个代理,其中许多都在生产中。但是,Dialogflow 项目突然消失了,现在我只能看到创建新代理的选项。 但是,我看到生产代理运行良好。我通过我创建的连接到 Di
我是一名优秀的程序员,十分优秀!