优化触发短语和自然语言理解

Copilot Studio 中的触发短语的定义

  • 触发短语训练您的助手的自然语言理解 (NLU) 模型。

  • 触发短语在主题级别进行配置,并向助手指示特定主题应被触发的典型用户话语。

  • 触发短语通常捕获最终用户会以哪种方式提出问题。 例如,“除草坪杂草时出现问题”

提示

创建新主题时,制作者只需提供几个示例短语(最好提供 5 到 10 个)。 使用助手时,人工智能将解析用户所说的内容,并触发与用户话语意义最接近的话题。

触发上下文的重要性

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 支持部门不会帮助您解决与这些示例相关的问题,但它们将帮助您解决相关的基础平台和功能问题。)