liangyi_LLaMA_Factory / data /preprocess_data /data_balance_report.md
Mickey25's picture
Upload folder using huggingface_hub
46b244e verified

数据平衡总结报告

📊 问题分析

原始数据分布问题

基于你的模型评估结果,resource_names 字段准确率只有 **65.52%**,主要原因是训练数据存在严重的不平衡问题:

极低频资源(< 3次)

  • 新叶古村-新叶古村门票: 1次 → 模型几乎无法识别
  • 灵栖洞-灵栖洞西游魔毯: 1次 → 模型几乎无法识别
  • 大慈岩-大慈岩索道: 2次 → 识别能力很差

高频资源(> 15次)

  • 灵栖洞-灵栖洞门票: 29次
  • 灵栖洞-灵栖洞手划船: 29次
  • 七里扬帆-七里扬帆游船: 17次

模型偏向问题

从错误样例分析可以看出:

  1. 过度预测高频资源:模型倾向于预测训练中常见的七里扬帆系列资源
  2. 新场景识别失败:对江清月近人新叶古村等场景识别错误
  3. 资源组合错误:漏识别或错误组合资源

🎯 平衡策略

数据增强方案

针对以下低频资源进行重点增强:

  1. 新叶古村-新叶古村门票: 1 → 5 (+4个样本)
  2. 大慈岩-大慈岩索道: 2 → 5 (+3个样本)
  3. 宿江公司-江清月近人实景演艺门票: 增强多场景样本

增强技术

  • 文本变换:修改日期、人数、联系人等非关键信息
  • 场景多样化:创建不同旅行社、不同表述方式的样本
  • 资源组合:生成复杂的多资源组合样本

✅ 实施结果

平衡前后对比

资源名称 原始数量 平衡后数量 改进
新叶古村-新叶古村门票 1 5 +400%
大慈岩-大慈岩索道 2 5 +150%
大慈岩-大慈岩门票 6 9 +50%
宿江公司-江清月近人实景演艺门票 12 16 +33%
新安江-新安江游船 15 17 +13%

数据集统计

  • 原始样本数: 1020
  • 平衡后样本数: 1030
  • 新增样本数: 10
  • 目标资源覆盖: 所有关键低频资源已达到最低5个样本的目标

🔍 生成样本示例

新叶古村样本

{
  "input": "浙江吉程,7月26日,25人,新叶古村,\n导游:李 13958298707",
  "output": "{\"resource_names\": [\"新叶古村-新叶古村门票\"]}"
}

大慈岩索道样本

{
  "input": "杭州天翼,日期:7月22日 大慈岩(含上下索道),\n导游:陈 13868126262 人数28人",
  "output": "{\"resource_names\": [\"大慈岩-大慈岩索道\", \"大慈岩-大慈岩门票\"]}"
}

江清月近人增强样本

{
  "input": "建德光大,7月25日,18人,江清月近人+新安江游船,导游:王 18806210530",
  "output": "{\"resource_names\": [\"宿江公司-江清月近人实景演艺门票\", \"新安江-新安江游船\"]}"
}

📈 预期改进效果

模型性能预期

  1. 低频资源识别新叶古村大慈岩索道识别准确率显著提升
  2. 场景泛化能力:对新的表述方式和组合有更好的理解
  3. 整体准确率resource_names字段准确率预期从65.52%提升到75%+

特别关注的案例类型

  • 江清月近人相关:应该能正确识别而不是预测为七里扬帆系列
  • 大慈岩索道组合:能正确识别包含索道的订单
  • 新叶古村单独:不再被忽略或错误预测

🚀 后续建议

重新训练步骤

# 1. 使用平衡后的数据集
cp balanced_training_data.json ocr_text_orders_08_14_test_v5.json

# 2. 更新训练配置中的数据文件路径

# 3. 重新训练模型

# 4. 在相同的验证集上评估性能

验证重点

  1. 特别关注低频资源的召回率
  2. 验证不会因为增强数据影响高频资源的识别
  3. 测试新的资源组合场景

进一步优化

如果效果仍不理想,可以考虑:

  1. 权重平衡:在损失函数中为低频资源增加权重
  2. 更多增强:继续增加低频资源样本到10个以上
  3. 难例挖掘:分析剩余错误案例,针对性增强

💡 关键成功指标:重新训练后,在验证集上新叶古村-新叶古村门票大慈岩-大慈岩索道的识别准确率应显著提升。