数据标准
完全正确。在电商客服这种多轮对话场景下,有些意图 不能单凭当前用户一句话就判断,必须结合历史聊天记录。比如:
-
用户:“那我要换 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. 数据准备建议
-
多轮对话采样
- 从历史客服记录抽取真实多轮对话,保证上下文信息完整。
-
标注格式统一
- 保持
context+text+labels结构,便于微调 LoRA 模型。
- 保持
-
覆盖不同长度上下文
- 有些意图只需前一句上下文,有些可能需要前两轮或三轮。
-
可选:分步标注
- 对多轮对话,每轮单独标注意图,同时保留上下文信息,便于训练模型做多轮理解。
✅ 总结
- 对于上下文敏感的意图,样本中最好包含历史聊天记录。
- LoRA 微调时,可以让模型学会“结合上下文判断意图”,提升多轮对话准确率。
- 历史上下文可以直接拼接文本,也可以做摘要或提取关键信息,看训练成本和数据量权衡。
如果你愿意,我可以帮你 设计一份带上下文的意图识别标注模板,可直接用于多轮对话微调。
你希望我帮你做吗?

浙公网安备 33010602011771号