数据标准


完全正确。在电商客服这种多轮对话场景下,有些意图 不能单凭当前用户一句话就判断,必须结合历史聊天记录。比如:

  • 用户:“那我要换 X9 的颜色。”

    • 单独看这句话可能无法明确是 EXCHANGE_PROCESS,但结合之前的对话:“我收到的 X9 屏幕有问题” → 就明确是换货意图。
  • 用户:“还有优惠吗?”

    • 上下文中提到具体商品型号或活动,才能判断是 PRICE_QUERY

1. 标注时如何处理上下文

方法一:直接在样本中包含历史对话

  • 将历史对话与当前用户输入拼接成一个文本块进行标注:
{
  "context": [
    {"role": "user", "text": "我收到 X9 有点问题"},
    {"role": "agent", "text": "请问您是想退货还是换货?"}
  ],
  "text": "那我要换 X9 的颜色",
  "labels": ["EXCHANGE_PROCESS"]
}
  • 优点:模型微调时可以学习上下文依赖
  • 缺点:数据量增加,训练成本稍高

方法二:将上下文信息提取为结构化特征

  • 在标注时,只标注当前文本 + 上下文摘要或关键实体:
{
  "context_summary": "用户收到 X9 屏幕有问题",
  "text": "那我要换 X9 的颜色",
  "labels": ["EXCHANGE_PROCESS"]
}
  • 优点:样本轻量,微调成本低
  • 缺点:模型可能依赖摘要质量,泛化能力稍弱

2. 数据准备建议

  1. 多轮对话采样

    • 从历史客服记录抽取真实多轮对话,保证上下文信息完整。
  2. 标注格式统一

    • 保持 context + text + labels 结构,便于微调 LoRA 模型。
  3. 覆盖不同长度上下文

    • 有些意图只需前一句上下文,有些可能需要前两轮或三轮。
  4. 可选:分步标注

    • 对多轮对话,每轮单独标注意图,同时保留上下文信息,便于训练模型做多轮理解。

✅ 总结

  • 对于上下文敏感的意图,样本中最好包含历史聊天记录
  • LoRA 微调时,可以让模型学会“结合上下文判断意图”,提升多轮对话准确率。
  • 历史上下文可以直接拼接文本,也可以做摘要或提取关键信息,看训练成本和数据量权衡。

如果你愿意,我可以帮你 设计一份带上下文的意图识别标注模板,可直接用于多轮对话微调。

你希望我帮你做吗?

posted @ 2025-12-29 21:18  向着朝阳  阅读(0)  评论(0)    收藏  举报