Dialogflow正则校验0-130位字符串提示匹配过宽的无代码解决方法
Dialogflow 0-130位任意字符串长度校验无代码实现方案
该正则保存报错是Dialogflow平台的强制限制:自定义正则实体不允许使用.、[\s\S]这类无明确字符范围的全匹配元字符,所有能匹配任意字符的正则都会被判定为「匹配范围过宽」,不存在能绕开这个校验、同时满足全字符匹配+0-130长度限制的正则写法。
不需要写代码就能实现需求的操作步骤如下,可完整覆盖包含空格、数字、特殊字符的所有输入场景:
- 放弃用自定义正则实体做长度校验的思路,直接将对应参数的实体类型设置为系统实体
@sys.any,该实体原生支持匹配任意内容,不受字符类型限制 - 打开目标意图的参数配置栏,找到这个绑定了
@sys.any的参数,展开高级设置 - 找到参数自带的「长度限制」选项,设置最小长度为0、最大长度为130后保存配置即可
- 如果需要自定义长度不符合要求时的回复内容,直接在该参数的「无效输入提示」配置项中填写预设文案,后续用户输入超出长度范围时会自动触发该提示,不需要额外做开发
配置提示:
- 建议在训练语料阶段,把不同长度、带特殊字符/空格/数字的目标输入片段都标注到这个
@sys.any参数上,能有效提升参数匹配准确率,减少误识别 - 整个配置过程完全使用Dialogflow原生能力,不需要编写webhook、不需要部署额外服务,配置完成立即生效
内容的提问来源于stack exchange,提问作者Mattia Puntarello
相关产品推荐
相关产品推荐

