基于生产的数据生成评估Agent准确度的评测数据准备


你提到的这一步,其实是在描述 智能客服/对话系统数据工程中最基础的“数据预处理”阶段。我帮你拆解一下每个概念,让它更容易理解。


Step 1:从生产中捞数据

意思是

  • 从生产系统里把实际发生的对话事件、用户行为、系统回答等日志抽取出来。

  • 数据源可能包括:

    • 智能客服日志(query、answer、intent、confidence 等字段)
    • 用户操作日志(点击 CTA、下单)
    • Session 记录(session_id、user_id、时间戳)
  • 目标是拿到“原始事实数据”,作为后续分析、指标计算和模型训练的基础。

注意:这里只是“拿数据”,不做任何复杂计算。


数据清洗

生产数据往往脏、杂、不统一,直接用会有问题。

典型操作:

  1. 去噪(Noise Removal)

    • 去掉无效对话:

      • 系统测试/机器人自检记录
      • 用户连续空消息
      • 误埋点的事件
    • 去掉异常数据:

      • 时间戳错乱
      • 字段缺失严重
    • 去掉重复日志(系统重复写入)

  2. 标准化 / 归一化

    • 把回答类型统一为 clarification | final | handoff
    • 把 intent 名称统一
    • 字段格式统一(时间戳、用户 ID)

切分成「会话样本」

什么意思

  • 生产数据是一条条事件,智能体收到每条 query 都会产生日志。

  • 但我们分析或训练时,需要按“会话”为单位组织数据

  • 切分规则:

    • 同一个 session_id

    • 或者同一个 user_id,在固定时间间隔内连续对话

    • 每个会话包含:

      • 用户问题序列
      • 系统回答序列
      • 时间信息
      • 相关事件(点击、下单、升级人工)
  • 目的是得到“完整的对话轨迹”,方便:

    • 判断重复提问
    • 计算准确度
    • 做转化归因
    • 生成训练样本

举例

原始日志(顺序):

user_id session_id query answer timestamp
123 A 多少钱? 10元 t1
123 A 有折扣吗? 没有 t2
123 B 多少钱? 12元 t3

切分成会话样本:

  • 会话 A:

    queries: ["多少钱?", "有折扣吗?"]
    answers: ["10元", "没有"]
    
  • 会话 B:

    queries: ["多少钱?"]
    answers: ["12元"]
    

总结理解

这一步的核心目标:

  1. 从生产抓取原始事件 → 数据抽取
  2. 清理和去噪 → 删除无效或错误数据
  3. 按会话组织 → 得到“完整的对话样本”,为后续特征加工、重复提问判断、指标统计和训练样本生成做好准备

如果你愿意,我可以帮你画一张“原始日志 → 会话样本 → 重复提问计算”流程图,把整个加工链路直观展示出来。

你希望我画吗?

posted @ 2026-01-14 10:53  向着朝阳  阅读(12)  评论(0)    收藏  举报