优化触发短语和自然语言理解
Copilot Studio 中的触发短语的定义
触发短语训练代理的自然语言理解(NLU)模型。
触发短语在主题级别进行配置,并向代理指示特定主题应被触发的典型用户话语。
触发短语通常捕获用户会以哪种方式提出问题。 例如,“除草坪杂草时出现问题”
提示
- 创建新主题时,制作者只需提供几个示例短语(最好提供 5 到 10 个)。 当使用代理时,AI 将解析用户所说的话,并触发含义最接近用户话语的主题。
- 有关有效触发短语的详细信息,请参阅 选择有效的触发短语。
触发上下文的重要性
Copilot Studio NLU 的行为根据对话状态会有所不同,有时会导致针对相同的用户言语给出不同的行为。
不同的对话状态如下:
- 对话开始:代理没有上下文,因此用户话语应该是:直接触发主题(意图识别);如果有多个匹配的主题,则在意图候选项中触发“您是指”(多个匹配话题)歧义消除问题,或者如果没有识别出意图,则转到回退主题。
- 触发“您的意思是”(已匹配多个主题)后:NLU 优化以匹配其中一个建议的主题,使用更高的阈值过滤掉所显示的选项。
- 退出当前主题:如果 NLU 尝试在主题中填充时隙,并且用户提供的用户查询可以触发另一个主题(主题切换)。
关于标点符号
NLU 模型与标点符号无关,包括问号。
创建新的触发短语
如果可能,请从实际生产数据开始,而不是创建您自己的触发短语。 最好的触发短语是那些类似于来自用户的实际数据的短语。 这些短语是用户询问已部署的代理的。
无需排除特定的字词:模型旨在减少非必要字词的权重,例如停止词(在处理自然语言数据之前过滤掉的字词,因为它们没有意义)。
优化触发短语
# | 提示 | 示例 |
---|---|---|
1 | 每个主题至少具有 5 到 10 个触发短语 向用户了解信息的过程中,迭代和添加更多触发短语。 |
查找最近的商店 检查商店位置 查找商店 帮我找到离您最近的位置 我附近的商店 |
2 | 不同的句子结构和关键词 模型会自动考虑这些短语的变体。 |
关闭时间 每日开放时间 |
3 | 使用简短的触发短语 少于 10 个字。 |
开放时间 |
4 | 避免使用单个字作为触发短语 这会增加特定字词在主题触发中的权重。 可能会导致在相似主题之间产生混乱。 |
Store |
5 | 使用完整短语 | 我能否和人工助手交谈 |
6 | 具有唯一的动词和名词或两者组合 | 我需要客户服务 我需要咨询顾问 |
7 | 避免使用相同的实体变体 不需要使用实体值中的所有示例。 NLU 会自动考虑所有变体。 |
我要一个汉堡 我要一个披萨 我要炸鸡块 |
平衡每个主题的触发短语的数量
尽可能平衡每个主题的触发短语的数量。
提示
这样一来,NLU 功能不会根据配置的触发短语而在不同的主题之间发生倾斜。
评估变更的影响
更新触发短语,或者合并或拆分主题时,有多种方法可以评估变更:
- 代理行为的即时变化,可以通过“测试代理”画布进行观察(例如,现在根据触发短语更新触发或不触发的主题)。
- 代理部署和面临流量后的变化,这转化为更高或更低的偏转(非升级)率。 您可以在 Copilot Studio 中的“分析”选项卡中查看此情况。
提示
您可以利用 Copilot Test Framework,测试话题触发以及您的 NLU 模型在批量测试数据中的表现。
尽管完全支持用于构建 Copilot Test Framework 的底层功能和组件(例如与 Direct Line API 交互),但 Copilot Test Framework 本身代表了这些功能的示例实现。
我们的客户和社区可以使用和调整 Copilot Test Framework 来实施批量测试。 如果您遇到 Copilot Test Framework 的问题,请在此处报告问题:https://aka.ms/PVASamples。 (Microsoft 支持部门不会帮助您解决与这些示例相关的问题,但它们将帮助您解决相关的基础平台和功能问题。)