数据清洗
数据清洗是构建高质量训练数据的关键步骤,直接影响模型的学习效果和最终性能。
01文本清洗
文本清洗是数据预处理的第一步,包括HTML标签清理、特殊字符处理、编码统一等基础操作。
HTML清洗
网页文本提取
从网页源码中提取纯文本内容,需要处理HTML标签、JavaScript代码、CSS样式、广告内容等。常用的工具包括:
- trafilatura:专门用于网页正文提取
- BeautifulSoup:HTML解析和内容提取
- Readability:Firefox阅读模式的提取算法
保留结构信息
在清洗过程中,适当保留标题、段落、列表等结构信息,有助于模型学习文档结构。
特殊字符处理
Unicode规范化
统一不同编码形式的Unicode字符,如全角/半角转换、繁简转换等。
控制字符清理
移除不可见的控制字符、零宽字符等,这些字符可能影响模型处理。
Emoji和表情符号
根据应用场景决定是否保留Emoji,社交媒体数据通常需要保留,而正式文档数据可能需要移除。
编码统一
编码问题处理
不同来源的数据可能使用不同编码(UTF-8、GBK、ISO-8859-1等),需要统一转换为UTF-8编码,并处理乱码问题。
清洗流程
1. 解码与编码检测
自动检测原始数据的编码格式并正确解码。
2. HTML/XML解析
解析标记语言,提取有意义的文本内容。
3. 字符规范化
统一字符表示形式,处理特殊字符。
4. 格式标准化
统一文本格式,如段落分隔、空白处理。
02去重处理
数据去重是提高训练效率和模型质量的重要步骤,重复数据会导致模型过拟合和资源浪费。
去重的必要性
- 训练效率:重复数据浪费计算资源
- 模型性能:过度重复可能导致模型记忆而非学习
- 评估偏差:测试集中出现训练数据会导致评估不准确
精确去重
哈希去重
计算文本的哈希值(如MD5、SHA256),完全相同的文本会产生相同的哈希值。这种方法速度快,但只能检测完全相同的内容。
实现方式
使用哈希表存储已见过的文本哈希值,新文本只需检查哈希值是否已存在。适合处理大规模数据集。
模糊去重
MinHash算法
MinHash是一种局部敏感哈希算法,可以高效地检测近似重复的文档。通过将文档表示为特征集合,计算Jaccard相似度的估计值。
SimHash算法
SimHash是另一种局部敏感哈希方法,通过将文档映射为固定长度的指纹,快速找出相似文档。
其他方法
- n-gram重合度:计算文档间n-gram的重叠比例
- 编辑距离:计算字符串间的编辑距离
- 嵌入相似度:使用文本嵌入向量计算语义相似度
去重策略
推荐策略
- 先精确去重,再模糊去重
- 设置合理的相似度阈值(通常0.7-0.9)
- 保留高质量版本,删除低质量重复
- 记录去重统计信息用于质量分析
03噪声过滤
噪声过滤识别并移除低质量、有害或不相关的数据,确保训练数据的整体质量。
低质量过滤
启发式规则
基于统计特征的过滤规则:
- 文本长度过短或过长
- 特殊字符比例过高
- 重复词或短语比例过高
- 句子结构异常
语言模型评分
使用小型语言模型评估文本的流畅度和可读性,低分文本可能质量较差。
有害内容过滤
内容安全检测
识别并过滤以下类型的有害内容:
- 暴力和仇恨言论
- 成人内容
- 非法活动描述
- 歧视性内容
过滤工具
使用专门的内容安全API或开源工具进行检测,如Perspective API、内容安全分类器等。
PII过滤
个人信息识别
识别并处理个人身份信息(PII):
- 姓名、地址、电话号码
- 电子邮件地址
- 身份证号、信用卡号
- 医疗健康信息
处理方式
常见处理方法
替换为占位符(如[PHONE])、脱敏处理(部分遮挡)、或完全移除包含PII的文档。
过滤流水线
建立多阶段过滤流水线,从粗到细逐步过滤:
- 快速启发式过滤(去除明显噪声)
- 语言检测(保留目标语言)
- 质量评分(评估文本质量)
- 安全检测(过滤有害内容)
- PII处理(保护隐私信息)
04数据标准化
数据标准化将不同来源的数据转换为统一的格式和规范,便于后续处理和模型训练。
格式标准化
数据格式统一
将不同来源的数据转换为统一的存储格式,常用的格式包括:
- JSONL:每行一个JSON对象,便于流式处理
- Parquet:列式存储,压缩率高,查询快
- TFRecord:TensorFlow原生格式
字段规范化
统一字段名称和类型,如text/content、title/headline等,确保数据一致性。
语言识别
语言检测工具
使用fastText、langdetect等工具识别文本语言:
- 单语言训练:只保留目标语言的文本
- 多语言训练:按语言分类存储
文本规范化
空白处理
统一处理空格、制表符、换行符等空白字符,移除多余空白。
大小写处理
根据任务需求决定是否统一大小写,一般保留原始大小写以学习正确的用法。
标点符号
统一标点符号形式,如将中文标点转换为半角,或保留原始形式。
质量评估指标
常用指标
- 困惑度(Perplexity):文本的可预测性
- 词汇多样性:独特词汇的比例
- 信息密度:单位长度的信息量
- 可读性分数:文本的阅读难度