首页 > 解决方案 > Dialogflow - Google Assistant:@sys.any 实体未捕获数字序列

问题描述

我创建了一个 Intent,它输出具有给定参数名称的上下文,比如说$myParam. 这个 Intent 的目标是捕获一长串数字。我知道有一个@sys.number-sequence实体,但是我使用的是意大利语并且这种实体不可用。只有@sys.number,但我对用户的期望超出了它的范围。

在这些限制下,我@sys.any为我的参数选择了实体$myParam

问题

当用户输入数字时,在真实设备中,Assistant 可能会在它们之间添加一些空格(当用户说出它们时)。

当 Assistant 获得 sequence111 222时,Intent 被触发,一切正常。

但是,当助手获取序列时111222(注意缺少空白),它就不起作用了。

我期待该@sys.any实体捕获所有输入,但它看起来不像那样。

你知道如何处理这种情况吗?

我的目标是即使在助手捕捉到数字序列之间、之前或之后没有空格的情况下也能触发意图。

图片:

https://ibb.co/ngBzGtx

标签: dialogflow-esactions-on-google

解决方案


最近几天我遇到了这个问题,这真的很烦人。突然间,不知什么原因,助手的@sys.any实体不再用于捕捉数字。

我的用例和你的差不多,我有一个父意图,我要求用户输入一个代码(10-15 位数字),并且我创建了一个后续意图来处理用户的输入。我使用的语言不同于英语,系统提供的唯一用于捕获长数字的实体是@sys.any.

但它停止工作了!我想办法以某种方式强制助手输入特定意图,因为现在不仅不会触发后续意图,而且后备意图也不会触发。助理只是坚持父母的意图并崩溃。

在我花了几个小时发现没有任何用处之后,我尝试了这个对我有用的技巧。创建意图时,默认情况下它具有正常优先级。将后续意图的优先级(我希望使用@sys.any持有用户输入的实体类型的参数触发)更改为“”解决了我的问题。现在它像以前一样正常工作。

在此处输入图像描述


推荐阅读