系列: 创建 Genesys Agent Copilot
构建和测试自然语言理解的最佳实践
构建自然语言理解 (NLU) 的技巧
为了实现 NLU 系统的最佳性能和可靠性,请在设计和测试意图分类时遵循这些最佳实践。
在不同意图之间保持平衡的训练数据
每个意图的训练示例数量不成比例可能会给你的模型带来偏差。如果一个意图比其他意图具有多得多的训练示例,则模型在不确定时可能会倾向于该意图。
确保训练短语在所有意图中的分布相对均匀。如果您有意要优先考虑某个意图,请有意识地这样做并记录其理由。
理解词向量相似度
NLU 系统使用向量表示(嵌入)来根据上下文理解词义。具有相似含义或上下文的词语(例如现金返还和退款)可能会在模型的向量空间中紧密映射。如果您不能根据上下文清楚地区分它们所属的意图,则可能会导致错误分类。
为每个意图使用多样化、有代表性的训练示例,强调区分一个意图与另一个意图的独特上下文线索。
NLU 是一个分类问题
NLU 模型通过为每个意图分配概率来对输入文本进行分类。对于 N 个意图,模型返回所有 N 个意图的概率分布。只要满足置信度阈值,就会选择概率最高的意图。
在解决错误分类问题时,要审查完整的概率分布,而不仅仅是得分最高的意图。
了解置信度阈值和意图回退
系统通常需要最低置信度分数来将输入分类为特定意图。NLU 模型需要至少 40% (0.4) 的置信度才能分配意图。如果顶级意图低于此阈值,系统将返回回退或None意图。
除非您有特殊原因需要调整阈值,否则请将阈值保留为默认值。将其提高得太高可能会导致过多的回退响应;降低它可能会增加不正确的意图匹配。
利用人工智能生成意图和表达的技巧
定义清晰、不重叠的意图
为了避免歧义,请确保每个意图都有不同的用途。重叠的意图定义会导致训练期间的混乱并降低分类准确性。
在意图之间建立明确的界限。如果两个意图太相似,请考虑合并它们或改进它们的定义。
从一组核心意图开始
在扩展之前,先从一组小的、高优先级的意图开始。集中的集合可以帮助您更快地迭代并建立坚实的基础。
开发具有基本意图的概念验证模型。只有在核心体验可靠运行后才能扩展。
使用一致的命名模式
标准化整个项目中意图的命名方式。一致性提高了可维护性并帮助团队立即了解意图目的。
测试 NLU 的技巧
测试期间避免输入单词
单词输入通常过于模糊,缺乏准确意图分类所需的必要上下文。NLU 模型依赖于模式和上下文——如果没有周围的词语,模型必须根据有限的信息进行猜测,并且可能默认采用最常见或最密切相关的意图。
使用反映真实用户行为的自然、完整的句子查询。
准备高质量的训练数据
使用以下技巧:
- 开发可行的训练集:每个意图开始时有 10-20 个不同的例子。
- 改变措辞:包括同义词、不同的句法结构和常见的拼写错误。
- 避免重叠:为了减少混淆,请确保话语能够清楚地区分意图。
- 测试覆盖率:手动从所有意图中抽取样本话语来检查 NLU 预测。
使用意图挖掘器的技巧
使用 Intent Miner 构建适合您的客户措辞方式的意图和话语,以便在意图检测中获得更好的结果。
意图挖掘器搜索指定日期范围内代理和客户之间的历史对话聊天和语音记录。接下来,它会提取最重要的意图集以及围绕这些意图的分析。最后,它返回系统与该意图相关联的意图话语列表。
您可以将 Architect 中挖掘的意图导入 Genesys Dialog Engine Bot Flow 或 Genesys Digital Bot Flow 进行意图配置。有关详细信息,请参阅将挖掘出的意图导入 Genesys Dialog Engine Bot Flow 或 Genesys Digital Bot Flow 。
