如何配置Action Console中自由文本类型为大小写不敏感的识别模式
Action Console 自由文本判定实现忽略大小写的可行配置方案
- 业务层文本归一化改造
这是兼容性最强的实现方式,不需要改动平台原生的实体配置逻辑:
拿到语音识别返回的原始结果后,在做答案判定前,对识别文本、预设标准答案同步做格式统一,全部转为全小写(或全大写)后再做等值对比。
参考调整后的判断逻辑:将原有的严格等值判断if (recognizedText === expectedAnswer),替换为归一化后的判断规则:if (recognizedText.toLowerCase().trim() === expectedAnswer.toLowerCase().trim())。这个逻辑顺带可以处理语音识别经常附带的前后多余空格、特殊标点导致的误判,适配性比纯平台配置更好。 - 利用实体正则匹配规则实现内置逻辑的大小写不敏感
如果你不想改动后端业务逻辑,可以直接修改承接自由文本答题内容的实体配置:
将实体默认的精确匹配模式切换为正则匹配模式,在对应匹配答案的正则表达式末尾添加大小写不敏感修饰符i。比如原本匹配标准答案Beautiful的正则规则^Beautiful$,调整为^Beautiful$i,平台在执行文本匹配的过程中就会自动忽略大小写差异,不管识别返回的是beautiful、BEAUTIFUL还是混合大小写的beAutiful,都可以正常判定为匹配通过。 - 避坑提示
- Action Console 原生的自由文本等值匹配本身就是严格大小写敏感的,没有提供全局一键关闭大小写校验的配置开关,所有忽略大小写的效果都需要通过自定义匹配逻辑、正则配置实现。
- 重点注意:不要在业务逻辑里直接传递原始识别文本和标准答案做硬判断,就算实体配置做了匹配规则调整,后端的原生等值判断依然会触发大小写不匹配的问题。
- 如果实体配置了多组同义词做匹配,记得给所有同义词条目统一做大小写归一,不要出现同一匹配规则下大小写不一致的条目,否则依然会出现匹配漏判。
内容的提问来源于stack exchange,提问作者Carlos Pinto
相关产品推荐
相关产品推荐

