咨询发布 发表于 2026-9-19 09:19:18

用Python脚本批量清洗训练语料,中文乱码一次搞定

前阵子帮朋友清洗一批论坛爬下来的中文语料准备做微调,四十多万条文本,乱码、繁简混杂、全半角混乱什么毛病都有,写了个脚本一次跑完,把关键处理记下来。

乱码的头号来源是编码不一致,文件里有 UTF-8 也有 GBK 也有 GB18030,我先用编码探测库逐个文件识别再按结果读入,读入后统一转 UTF-8 存新文件。第二类问题是全角标点和不可见字符,比如不换行空格、零宽字符,肉眼看不见但模型会当正常 token 学进去,用正则统一替换成对应半角并清掉控制字符。第三类是繁简混杂,用 opencc 全量转成简体,这步别省,混着训练出来的模型说话会突然蹦繁体字。

另外两条经验:去重不能只靠整条文本相等,长文本要抽句做指纹,不然爬虫带来的重复段落漏得一塌糊涂;清洗前一定先留一份原始备份,我的脚本第一版正则写猛了把正常内容也洗掉了,幸好有备份能重跑。整个流水线四十万条文本跑下来二十分钟,最终丢掉约一成脏数据,训练出来的模型明显比没清洗的版本稳。

https://www.metk.cn/img/posts/py_corpus_clean.jpg
页: [1]
查看完整版本: 用Python脚本批量清洗训练语料,中文乱码一次搞定