应采用五步法筛选高质量中文对话数据:一、语言检测硬过滤;二、字符分布规则清洗;三、语义连贯性多轮评分;四、关键词与敏感词领域适配;五、长度与轮次格式合规校验。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在使用ShareGPT数据集为中文大模型进行监督微调,但发现原始数据中混杂大量英文、低质或非中文对话样本,则可能导致模型在中文任务上泛化能力下降。以下是筛选高质量中文对话数据以支撑模型微调的具体方法:
一、基于语言检测的硬过滤
该方法通过自动识别每条对话消息的语言类别,剔除非中文主导的样本,确保数据集语言一致性。其核心依赖于轻量级语言检测工具对conversations字段中每轮content的逐条判定。
1、安装fasttext或langdetect库:执行pip install langdetect命令完成依赖安装。
2、遍历ShareGPT JSON文件中的每个样本,在conversations列表中提取所有role为"user"和"assistant"的content字段值。
3、对每条content文本调用langdetect.detect()函数,若返回结果不为"zh",则标记该轮为非中文;若单一样本中超过50%的content被判定为非中文,则整条对话样本被剔除。
4、保留所有content均被判定为"zh"或仅含极少量(≤1轮)非中文但语义可对齐的样本,并写入新JSONL文件。
二、基于字符分布的规则清洗
该方法利用中文文本在Unicode字符集中高度集中的特性,通过统计UTF-8编码下汉字、标点及常用符号的占比,排除以拉丁字母、数字或乱码为主的内容。适用于无语言模型支持的轻量级预处理场景。
1、定义中文字符范围:匹配Unicode区间\u4e00-\u9fff(基本汉字)、\u3400-\u4dbf(扩展A)、\u3000-\u303f(中文标点)、\uf900-\ufaff(兼容汉字)。
2、对每轮content计算中文字符数占总字符数的比例,公式为:中文字符数 / (中文字符数 + 英文字母数 + 数字数 + 其他符号数)。
3、设定阈值为0.65,若任意一轮content低于该阈值,且该轮非系统提示(即非system字段),则整条对话被排除。
4、过滤后保留的样本需满足:所有user与assistant轮次均≥0.65,且至少包含两轮有效交互。
三、基于语义连贯性的多轮质量评分
该方法针对ShareGPT中多轮对话结构,引入轻量级中文BERT模型(如bert-base-chinese)计算相邻轮次间的余弦相似度,识别上下文断裂、话题突变或回复空洞的低质样本,提升对话逻辑性。
1、加载预训练的bert-base-chinese模型与tokenizer,对每轮content生成[CLS]向量作为句向量表示。
2、对conversations中相邻两轮(如user→assistant、assistant→user),计算其句向量余弦相似度,记录所有相邻对的平均相似度值。
3、剔除平均相似度低于0.28的样本,该阈值经实测在ShareGPT-90k中文子集上能有效区分连贯对话与随机拼接片段。
4、对剩余样本按平均相似度降序排列,截取前85%作为高置信度训练子集。
四、基于关键词与敏感词的领域适配过滤
该方法面向垂直领域微调需求,通过构建领域正向词表与通用负向词表,对对话内容进行双轨匹配,实现任务导向的数据定向筛选,避免通用对话稀释专业能力。
1、准备两个TXT词表:正向词表(如“代码”“函数”“报错”“调试”)用于技术领域;负向词表(如“Instagram”“TikTok”“NFL”“Biden”)用于排除无关国际话题。
2、对每条conversations中所有content执行jieba分词,并转换为小写后去停用词。
3、若某样本中正向词出现频次≥3且负向词出现频次=0,则标记为高相关样本;若负向词频次≥2且正向词频次=0,则直接丢弃。
4、导出满足正向匹配条件的样本至独立JSON文件,供后续Qwen3-VL或LLaMA-Factory专用训练流程加载。
五、基于长度与轮次结构的格式合规校验
该方法依据主流微调框架(如Unsloth、LLaMA-Factory)对ShareGPT格式的解析要求,强制校验每条样本的字段完整性、轮次顺序合法性及内容长度合理性,防止因格式错误导致训练中断或梯度异常。
1、检查每个样本是否包含conversations字段,且该字段为list类型,长度≥2(至少一问一答)。
2、验证conversations中每轮字典是否同时具备role与content键,role值必须为"user"或"assistant",且首轮role必须为"user"。
3、计算每轮content的字符长度,剔除content为空字符串、纯空白符或长度>2048的极端长文本样本。
4、对通过校验的样本统一重排role顺序,确保严格遵循"user"→"assistant"→"user"→...的交替结构,并写入标准化ShareGPT格式JSON文件。


















