本文介绍了Google操作显示调用错误,而不是触发回退意图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

场景:

我有一个Google操作,用于进行语音调查.它由dialogflow ES控制,并且有两个主要目的.欢迎意图和后备意图.欢迎意图用于检测用户想要打开的调查的名称,并将其存储在称为" surveyname "的参数中." 姓氏"然后将其传递到我们的网络挂钩,在此处打开调查,欢迎用户使用,并询问初始问题.所有其他后续互动均会通过后备意图进行选择,该后备意图调用了我们的网络挂钩,该网络挂钩可控制调查流程并向google操作提供后续问题.随后的互动可以包括任何短语,因为我可以进行调查以询问关于任何主题的任何问题.

I have a google action that is used to deliver voice surveys. It is controlled by dialogflow ES and has two main intents. A welcome intent and a fallback intent. The welcome intent is used to detect the name of the survey that user would like to open and this is stored in a parameter called "surveyname". "Surveyname" is then passed to our webhook where the survey is opened, the user is welcomed, and initial question is asked. All other subsequent interactions are picked up by the fallback intent, which calls our webhook which controls the flow of the survey and provides the google action with the subsequent questions. The subsequent interactions could include any phrase as I could have a survey asking any question on any topic.

问题:

直到最近,我的Google操作都运行良好.但是我遇到了一个问题,即Google Assistant应用有时会强行退出操作并退出对话.例如,用户可以输入瑜伽",并且谷歌助手将离开对话并在谷歌上搜索瑜伽.当我在" Test "中测试该词组时,操作控制台的页面上,我看不到任何请求或响应正文,只有"调用错误".伴随着消息"",您不能在模拟器中使用标准的Google Assistant功能.如果您想尝试使用它们,请在手机或其他兼容设备上使用Google助手."当我在"立即尝试"中进行测试时,在Dialogflow ES本身的对话框中,我可以看到正确的后备意图,webhook请求和响应.但是我看不到Google Assistant应用中"历史"Dialogflow ES的选项卡;看起来它从未做到那么远.这向我表明问题出在Google Assistant或操作本身,而不是Dialogflow.

Up until extremely recently, my google action worked perfectly fine. But I have encountered a problem where the Google Assistant App will on occasion forcefully leave the action and exit the conversation. For example a user may input "yoga", and Google Assistant will leave the conversation and do a google search for yoga. When I test this phrase in the "Test" page of the action console I can see no request or response body, only "Invocation Error". Along with the message "You cannot use standard Google Assistant features in the Simulator. If you want to try them, use Google Assistant on your phone or other compatible devices." When I test in the "Try it now" box in Dialogflow ES itself, I can see the correct fallback intent, webhook request, and response. But I cannot see the phrase that was said in the Google Assistant app in the "History" tab of Dialogflow ES; it looks like it never made it that far. This suggests to me the problem is with either Google Assistant or the action itself, rather than Dialogflow.

调用错误

当前(不太理想)的解决方法:

我了解,回退意图的优先级低于常规意图.我认为,回退意图与Google的隐式调用之间会发生内部冲突.我当前的临时解决方案是创建一个名为ActiveSurvey的新意图,并使用此自定义意图希望捕获回退意图遗漏的一些输入短语.这似乎有些奏效,但是我永远都不希望以这种方式捕获所有输入,因为用户可以说出绝对的话.考虑到它曾经起作用,在我看来这不是必须的.

I understand that fallback intents have a lower priority that regular intents. I believe there is an internal tussle going on between the fallback intent and Google's implicit invocation. My current temporary solution is to create a new intent called ActiveSurvey, and with this custom intent hope to capture some of the input phrases that are being missed by the fallback intent. This appears to work somewhat, but I can't ever hope to capture all input this way, as the user could quite literally say absolutely anything. Considering it used to work, in my mind this shouldn't be necessary.

问题:

为什么现在发生这种情况?

Why has this happened now?

是否缺少一些导致这种情况发生的设置?

Is there some setting I'm missing that has caused this to happen?

还是动作的设计不正确?

Or is the design of the action incorrect?

任何帮助都非常感谢.

推荐答案

从2020年10月开始,到2021年1月进一步扩展,Google开始实施称为不匹配产生,尽管直到2021年2月才在文档中列出.

Starting in October 2020, and expanding further in January 2021, Google began implementing a feature called no-match yielding, although this was not listed in the documentation until February 2021.

在不匹配的情况下,如果同时满足以下两个条件,则Google将关闭该Action并自行处理:

Under no-match yielding, Google will close the Action and handle it itself if both of these conditions are true:

  • 您正在通过Dialogflow中的后备意图或通过Action Builder中的不匹配意图来处理它
  • 该短语是助手可以处理的短语

在Dialogflow下解决此问题的方法是让一个Intent包含一个短语,该短语的参数与 @ sys.any 系统实体类型,并使用此Intent(和参数)进行处理,而不是Fallback Intent.

The workaround for this under Dialogflow is to have an Intent with a single phrase with a parameter that matches the @sys.any System Entity type and to use this Intent (and the parameter) for your processing instead of a Fallback Intent.

仅在无法例行处理用户输入的情况下(即-您想说您听不懂,或者这是一个错误),才应使用回退意图.

Fallback Intents should only be used in cases where the user input cannot be routinely handled (ie - you want to say that you didn't understand, or it is an error).

这篇关于Google操作显示调用错误,而不是触发回退意图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-07 09:15