去重处理
数据去重是提高训练效率和模型质量的重要步骤,重复数据会导致模型过拟合和资源浪费。
去重的必要性
- 训练效率:重复数据浪费计算资源
- 模型性能:过度重复可能导致模型记忆而非学习
- 评估偏差:测试集中出现训练数据会导致评估不准确
精确去重
哈希去重
计算文本的哈希值(如MD5、SHA256),完全相同的文本会产生相同的哈希值。这种方法速度快,但只能检测完全相同的内容。
实现方式
使用哈希表存储已见过的文本哈希值,新文本只需检查哈希值是否已存在。适合处理大规模数据集。
模糊去重
MinHash算法
MinHash是一种局部敏感哈希算法,可以高效地检测近似重复的文档。通过将文档表示为特征集合,计算Jaccard相似度的估计值。
SimHash算法
SimHash是另一种局部敏感哈希方法,通过将文档映射为固定长度的指纹,快速找出相似文档。
其他方法
- n-gram重合度:计算文档间n-gram的重叠比例
- 编辑距离:计算字符串间的编辑距离
- 嵌入相似度:使用文本嵌入向量计算语义相似度
去重策略
推荐策略
- 先精确去重,再模糊去重
- 设置合理的相似度阈值(通常0.7-0.9)
- 保留高质量版本,删除低质量重复
- 记录去重统计信息用于质量分析