四种细粒度情绪分析方法:一、微调qwen模型进行多类情绪识别;二、零样本prompt engineering;三、词典增强校验;四、情感四元组联合抽取。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

一、使用预训练大模型微调进行细粒度情绪分类
该方法利用千问(Qwen)系列大语言模型的强语义理解能力,通过在特定领域标注数据上进行监督微调,使模型能区分“喜悦”“愤怒”“悲伤”“惊讶”“厌恶”“恐惧”等离散情绪类别。微调过程需重构输出空间,将原始情感极性分类任务升级为多类情绪识别任务。
1、准备标注数据集,每条样本包含原始文本与对应的情绪标签(如“失望”“欣慰”“焦灼”),标签体系需覆盖至少6种基础情绪及可扩展的复合情绪子类。
2、对原始文本添加任务提示模板,例如:“请判断以下评论表达的主要情绪类别,仅输出一个词:喜悦、愤怒、悲伤、惊讶、厌恶、恐惧、其他。”
3、使用LoRA或全参数微调方式,在Qwen-1.5B或Qwen-7B模型基础上训练,损失函数采用交叉熵,标签平滑系数设为0.1以缓解标注噪声。
4、推理时启用temperature=0.3与top_p=0.85,限制生成长度为单个情绪词,避免自由续写。
二、基于Prompt Engineering的零样本情绪识别
该方法不依赖标注数据与模型更新,完全依靠设计结构化提示词激活千问内置的情绪感知能力,适用于快速验证或冷启动场景。其有效性依赖于Qwen对情绪描述语义的深度对齐能力。
1、构造角色指令,例如:“你是一名专业情感分析师,请严格依据文本字面含义,从{喜悦, 愤怒, 悲伤, 惊讶, 厌恶, 恐惧}中选择唯一匹配的情绪类别。”
2、在输入前插入3条高质量示例,格式统一为“文本:…… → 情绪:……”,涵盖情绪歧义边界案例(如“这价格真敢标”→厌恶;“这价格真敢标!”→惊讶)。
3、对用户输入文本做轻量清洗,移除非语义符号(如连续感叹号、星号遮蔽词),保留语气副词与标点所承载的情绪线索。
4、调用Qwen-72B-Instruct API,设置max_new_tokens=8,response_format强制为JSON,字段名为“emotion”。
三、结合外部情绪词典增强推理一致性
该方法将千问的生成结果与权威情绪词典(如NRC Emotion Lexicon、Chinese Affective Word Bank)进行后验校验与加权融合,提升细粒度类别在低置信度样本上的稳定性,尤其适用于含隐喻或反语的文本。
1、提取输入文本中所有实词,查询词典获取各词对应的情绪得分向量(维度为8维:joy, sadness, anger, fear, disgust, surprise, trust, anticipation)。
2、将Qwen输出的情绪类别映射至同一8维空间,计算余弦相似度,若相似度低于0.62则触发重判流程。
3、重判时向Qwen追加约束指令:“请重新判断,参考以下词汇情绪倾向:[列出得分前三的情绪词及其强度]。”
4、最终输出取词典加权均值向量中最大分量对应的情绪类别,若最大分量与次大分量差值小于0.15,则标记为“混合情绪”。
四、面向方面的情感四元组联合抽取
该方法突破单句单情绪假设,利用Qwen的结构化生成能力同步识别“方面项(aspect)—观点词(opinion)—情绪类别(emotion)—强度(intensity)”四元组,实现真正意义上的细粒度解析。
1、定义输出Schema为JSON List,每个元素含字段:aspect(字符串)、opinion(字符串)、emotion(字符串)、intensity(浮点数,范围0.0–1.0)。
2、在Prompt中明确指令:“请逐项抽取所有显式或隐式提及的产品/服务方面,对每个方面给出最贴切的观点表达,并指定其对应的基础情绪类别与主观强度。”
3、输入文本末尾追加分隔符“【END】”,防止模型生成无关解释;启用stop_words=["【END】", "注:", "说明:"]。
4、对模型输出做正则清洗,提取符合{"aspect": "...", "opinion": "...", "emotion": "...", "intensity": ...}格式的JSON对象,丢弃格式错误片段。











