Google 助手接管我的动作指令

Google Assistant taking over the commands given to my action

从几天前开始,我的操作就出现了触发问题。本应由我的操作处理的查询被路由到 Google 助理主流。 Android Phone 和 Google 主页都会发生这种情况。

重现步骤:

我希望 Google 助理继续参与 Tinker Doodle 对话,并为我的操作提供输入。

这使得 Tinker Doodle 几乎无法使用。你能帮忙吗?

我配置了 NO_MATCH 系统意图来调用我的 webhook,因为我使用自己的 NLP。

这在 Android Phone 和 Google 主页上运行良好,直到几天前。在 Action Builder 上的模拟器中没有问题运行。

这是主要场景的屏幕截图和来自 Action Builder 的 NO_MATCH 意图。

而不是使用 no_match,您可以使用 custom-nlu sample 使用的设计:

有一个 'Main' 场景试图匹配 user_utterance 意图:

然后 user_utterance 匹配所有使用 any 数据类型的东西:

当您转到模拟器时,任何查询都应明确符合您的意图,然后作为示例的一部分,它会回显您的响应:

不清楚,但这听起来可能与最近的公告有关,在某些情况下,与特定 Intent 不匹配的短语可能会导致您的 Action 关闭,以便 Google 助理可以处理该短语相反。

除此之外,使用 NO_MATCH 处理事情通常是不可取的,因为在强行关闭 Action 之前,这种情况只会连续发生三次。

相反,您应该创建一个可以处理“任何”输入的 Intent,并使用此方法将该输入路由到您的处理程序。这涉及:

  1. 创建一个接受自由格式文本的新类型(我通常称之为“任何”)

  1. 创建一个 Intent(我将其命名为“matchAny”),通过其训练短语(或者甚至只是一个接受此类值的短语)接受这种类型的值

  1. 在您的场景中,将其添加为可以匹配的 Intent,然后在匹配时为您的 webhook 设置处理程序。