需将sharegpt多轮对话切分为单轮human语句,结合规则与零样本分类打主题标签,用依存分析+phi-3-mini校验打意图标签,构建复合标签;通过逆频率加权、上下文特征增强及双教师置信蒸馏缓解长尾与噪声问题。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望利用ShareGPT数据集构建一个能够自动识别对话主题(如医疗、法律、教育)与用户意图(如咨询、投诉、请求帮助)的分类模型,则需突破其原始多轮对话结构,将其转化为适配监督分类任务的单样本-单标签输入格式。以下是实现该目标的具体训练步骤:
一、对话样本切片与标签映射
ShareGPT原始数据为完整会话粒度,但对话分类任务通常以单轮用户提问或首轮交互为分类依据。需将每条多轮对话解耦为多个可独立标注的语义单元,并绑定确定性主题与意图标签。
1、遍历每条ShareGPT记录的conversations数组,提取所有from为"human"且content非空的轮次作为候选样本。
2、对每个human轮次,调用轻量级零样本分类器(如fasttext + XLM-R base)进行粗粒度主题预测,输出top-3候选类别及置信度。
3、基于预定义映射规则将原始文本归类:若内容含“血压”“糖尿病”“处方”等词,则强制标记为medical;若含“合同”“违约”“诉讼”,则标记为legal;若含“作业”“考试”“知识点”,则标记为education。
4、保留每条样本的原始text字段与新增label字段,删除gpt回复部分及后续轮次,确保输入仅含单一human utterance。
二、意图识别的双路径标注法
用户意图隐含于提问句式、动词焦点与上下文省略中,单一规则难以覆盖全部模式。本方法结合语法驱动解析与LLM辅助校验,提升意图标签的细粒度一致性与抗噪声能力。
1、使用spaCy加载en_core_web_sm模型,对每个human轮次执行依存分析,提取根动词及其支配宾语,例如“怎么退订会员”→根动词“退订”,宾语“会员”→意图标签为account_management。
2、对依存分析结果置信度低于0.7的样本,调用本地部署的Phi-3-mini模型,提示:“请从以下意图中选择最匹配的一项:[information_seeking, account_management, technical_support, complaint, feedback]。输入:{human_text}”。
3、将模型输出意图与规则结果比对,不一致时人工抽检并修正,形成最终意图标签列intent_label。
4、合并topic_label与intent_label,构造复合标签格式:"medical_account_management",用于多层级分类建模。
三、对抗长尾分布的数据重加权策略
ShareGPT中高频主题(如通用问答、编程)占据主导,而低资源主题(如农业技术、小语种学习)样本稀疏,直接训练将导致分类器严重偏向主流类别。需在损失函数层面引入动态权重补偿机制。
1、统计全部训练样本中各复合标签出现频次,计算逆频率权重:weight = log(total_samples / class_count)。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
2、在PyTorch DataLoader中启用weighted sampling,传入torch.utils.data.WeightedRandomSampler,确保每个batch内各类别样本占比趋于均衡。
3、在CrossEntropyLoss初始化时传入weight参数,将前述计算所得权重张量注入,使模型对低频类别错误分类施加更高惩罚。
4、监控每个epoch末各标签的F1-score,若某低频类F1持续低于0.3,则临时将其权重上调20%,直至连续两个epoch达标后恢复原值。
四、对话上下文感知的特征增强方法
单纯依赖单轮文本易忽略角色设定与历史约束对意图的影响。本方法通过注入system指令与前序轮次摘要,显式建模上下文敏感性,提升模型在真实部署场景中的鲁棒性。
1、对于含system字段的ShareGPT样本,在human轮次前拼接"[SYSTEM] {system_content} [SEP]",长度超限则截断system至64字符。
2、对无system但轮次≥3的样本,抽取前一轮human提问与gpt回复的首句,经BERT-base-chinese编码后取[CLS]向量,与当前human文本的RoBERTa编码拼接。
3、使用Sentence-BERT生成当前human文本的嵌入,并计算其与同一会话中前两轮human文本嵌入的余弦相似度,将该相似度值作为数值型特征加入分类器输入。
4、所有增强特征统一归一化至[0,1]区间,与文本编码拼接后送入两层MLP分类头,输出复合标签概率分布。
五、标签噪声过滤与置信度蒸馏流程
原始ShareGPT未提供人工标注,自动映射与LLM辅助生成的标签存在误标风险。需构建闭环验证机制,在训练过程中动态识别并降权高噪声样本。
1、初始化双教师模型:Teacher-A为RoBERTa-large微调版,Teacher-B为Qwen2-0.5B-textclf轻量版,二者独立训练至收敛。
2、对每个训练样本,获取两模型输出的top-1标签及对应概率,若标签不一致且任一模型置信度
3、将所有潜在噪声样本送入人工审核队列,由3名标注员独立判断,采纳至少2票一致的结果更新标签。
4、对未进入人工队列的样本,采用知识蒸馏方式融合两教师输出:将Teacher-A与Teacher-B的logits加权平均(权重比为3:1),作为软标签用于KL散度损失计算。










