dialogflow-es - Dialogflow - Google Assistant:@sys.any 实体未捕获数字序列
问题描述
我创建了一个 Intent,它输出具有给定参数名称的上下文,比如说$myParam
. 这个 Intent 的目标是捕获一长串数字。我知道有一个@sys.number-sequence
实体,但是我使用的是意大利语并且这种实体不可用。只有@sys.number
,但我对用户的期望超出了它的范围。
在这些限制下,我@sys.any
为我的参数选择了实体$myParam
。
问题
当用户输入数字时,在真实设备中,Assistant 可能会在它们之间添加一些空格(当用户说出它们时)。
当 Assistant 获得 sequence111 222
时,Intent 被触发,一切正常。
但是,当助手获取序列时111222
(注意缺少空白),它就不起作用了。
我期待该@sys.any
实体捕获所有输入,但它看起来不像那样。
你知道如何处理这种情况吗?
我的目标是即使在助手捕捉到数字序列之间、之前或之后没有空格的情况下也能触发意图。
图片:
解决方案
最近几天我遇到了这个问题,这真的很烦人。突然间,不知什么原因,助手的@sys.any
实体不再用于捕捉数字。
我的用例和你的差不多,我有一个父意图,我要求用户输入一个代码(10-15 位数字),并且我创建了一个后续意图来处理用户的输入。我使用的语言不同于英语,系统提供的唯一用于捕获长数字的实体是@sys.any
.
但它停止工作了!我想办法以某种方式强制助手输入特定意图,因为现在不仅不会触发后续意图,而且后备意图也不会触发。助理只是坚持父母的意图并崩溃。
在我花了几个小时发现没有任何用处之后,我尝试了这个对我有用的技巧。创建意图时,默认情况下它具有正常优先级。将后续意图的优先级(我希望使用@sys.any
持有用户输入的实体类型的参数触发)更改为“高”解决了我的问题。现在它像以前一样正常工作。
推荐阅读
- python - 导出 anaconda 环境的最佳方法,但还包括定制包?
- javascript - PHP Cookies(如果有的话)
- python - 如何按多列分组以在熊猫数据框中列出
- sql-server - 将 SQL 查询转换为红移
- database - 为什么像 Snowflake 和 Redshift 这样的列式数据库不能更改列顺序?
- scala - 如何将地图中一个元素的内容移动到Scala中的另一个元素
- git - 拉同一分支时没有看到同事 git 更改?
- c# - 实体框架中的外键问题一对多
- javascript - Adminlte div 切换以隐藏水平
- javascript - 使用 axios create 发送请求正文时出现问题