Microsoft Bot Composer子对话框添加意图触发器及识别问题咨询
核心结论
Microsoft Bot Composer 中的意图并非只能添加到主对话框,子对话框完全支持配置独立意图,你遇到的识别失效问题是触发时机不符合子对话框意图的生效规则导致的。
子对话框意图生效规则
子对话框配置的意图仅在子对话框被激活、处于对话栈的活动层级时才会被LUIS/正则识别器纳入匹配范围:
- 对话初始状态下只有主对话框处于活动状态,识别器只会匹配主对话框下配置的所有意图
- 当业务逻辑调用打开子对话框后,子对话框会被压入对话栈,此时识别器才会加载子对话框的意图配置,和主对话框意图同时参与匹配
你测试时子对话框的custom意图无法识别,是因为测试阶段子对话框还未被激活,识别器没有匹配子对话框的意图配置,才会出现匹配到主对话框test2意图或者返回无法理解的情况,属于框架的正常设计逻辑。
intent recognized触发器的作用 该触发器用于响应当前活动对话框匹配到对应意图的事件,核心作用是实现上下文相关的意图响应:
你可以为不同业务场景的子对话框配置仅在该场景下生效的意图,避免全局意图过多导致误匹配。比如在「酒店预订」子对话框中配置修改入住人数的意图,只有用户进入酒店预订流程后触发该意图才会执行对应修改逻辑,其他场景下用户说类似短语不会被误触发。
配置建议
- 全局通用类意图(如
退出、帮助、返回上一级)建议配置在主对话框,所有对话场景下都能正常触发 - 仅在特定业务流程中生效的场景化意图,建议配置在对应子对话框中,降低意图冲突概率,逻辑隔离更清晰
内容的提问来源于stack exchange,提问作者yulGM
相关产品推荐
相关产品推荐

