Google DialogFlow --> Number-Sequence 实体只匹配特定长度的字符
Google DialogFlow --> Number-Sequence entity only matches SPECIFIC length of characters
我有一个类型为 @sys.number-sequence
的实体,它匹配 4 个数字长的代码,例如:(口语)“1 2 3 4”或“1234”。
在 Intent 中,如果用户说出的代码长度为 1、2、3、5 或 6 个字符,而不仅仅是 4 个字符,则此模式不匹配。所以在 "User Says:" 部分,我必须添加以下所有内容:
1个
12
123
1234
12345
123456
(并将每一个映射到我的数字序列实体)
... 处理 1 到 6 长数字序列的所有排列。
这显然是一个非常笨拙和丑陋的解决方案。
有没有一种方法可以定义一个数字序列类型来匹配任何长度的数字序列,以便我可以更灵活地在短语结构中使用它?
换句话说:我只想定义占位符匹配一次,而不必为每个长度变化重新定义它...
我在对话流类型的文档中没有看到任何与 "number sequence length" 有关的内容:
https://dialogflow.com/docs/reference/system-entities
像 @sys.number-sequence
这样的 built-in 实体将帮助您仅按顺序查找数字。在 api.ai 中,您不能指定您想要的 4 位或 6 位数字的长度。此外,任何数字的所有排列的训练代理不是一个通用的解决方案。
你可以做的是编写一个 webhook,在你的代码中获取这个参数 @sys.number-sequence
并在那里进行验证。如果不是你想要的位数,你可以回复说Please enter 6 digit number
或者说you have entered a correct code
.
我有一个类型为 @sys.number-sequence
的实体,它匹配 4 个数字长的代码,例如:(口语)“1 2 3 4”或“1234”。
在 Intent 中,如果用户说出的代码长度为 1、2、3、5 或 6 个字符,而不仅仅是 4 个字符,则此模式不匹配。所以在 "User Says:" 部分,我必须添加以下所有内容: 1个 12 123 1234 12345 123456 (并将每一个映射到我的数字序列实体)
... 处理 1 到 6 长数字序列的所有排列。
这显然是一个非常笨拙和丑陋的解决方案。
有没有一种方法可以定义一个数字序列类型来匹配任何长度的数字序列,以便我可以更灵活地在短语结构中使用它?
换句话说:我只想定义占位符匹配一次,而不必为每个长度变化重新定义它...
我在对话流类型的文档中没有看到任何与 "number sequence length" 有关的内容: https://dialogflow.com/docs/reference/system-entities
像 @sys.number-sequence
这样的 built-in 实体将帮助您仅按顺序查找数字。在 api.ai 中,您不能指定您想要的 4 位或 6 位数字的长度。此外,任何数字的所有排列的训练代理不是一个通用的解决方案。
你可以做的是编写一个 webhook,在你的代码中获取这个参数 @sys.number-sequence
并在那里进行验证。如果不是你想要的位数,你可以回复说Please enter 6 digit number
或者说you have entered a correct code
.