2026山东大学软件学院项目实训-宠物情绪识别(七)
一、本周工作概述本周在完成情绪识别 API 调通的基础上重点对大模型提示词策略进行了系统性研究和优化。核心工作包括尝试了5种不同的提示词策略、从多维度进行量化评估对比、选择最优方案并完成代码实现、增加后处理验证和降级策略提升系统鲁棒性。二、提示词策略探索策略一零样本直接提问这是最基础的方案直接告诉模型任务目标和输出格式要求让模型自由发挥。本周之前提问策略一直是这个本周考虑优化提问策略。prompt 你是专业的宠物情绪分析师。根据以下音频特征判断宠物情绪并给出养护建议。 规则情绪从兴奋焦虑痛苦平静中选择返回JSON格式 策略二少样本示例针对零样本策略格式不稳定的问题在提示词中加入覆盖四种情绪的示例让模型学习输入到输出的映射模式。prompt 参考以下示例 示例1 特征 频率3200到5800Hz 输出 情绪焦虑 示例2 特征 频率80到1200Hz 输出 情绪平静 现在分析 特征 加入示例后格式正确率与准确率均有提升。但也带来了新问题Token消耗增加约三倍而且示例选择对效果影响很大模型有时会死记硬背示例对新的特征组合泛化能力变弱。策略三思维链推理为了提升可解释性引导模型分步骤推理强制展示思考过程后再给出结论。prompt 步骤一 解析特征 频率范围反映了什么 音高统计说明什么 步骤二 综合判断 结合多个特征推断情绪状态 步骤三 输出JSON 这个方案的可解释性大幅提升准确率也进一步提高。但响应Token增加了五到八倍接口延迟从两秒变为八到十秒成本显著上升而且推理链有时会偏离正确方向。策略四结构化特征映射基于动物行为学知识构建特征到情绪映射表覆盖频率范围、音高特征、时长特征、过零率特征四个维度让模型按查表加推理的方式进行判断。self.emotion_mapping { 兴奋: { freq_range: 中高频1500到4000Hz pitch: 变化大波动明显 duration: 短促小于0.3秒 zero_cross: 较高大于0.08 }, 焦虑: { freq_range: 中频1000到3500Hz pitch: 不稳定间歇波动 duration: 中等0.2到0.5秒 zero_cross: 中等0.05到0.10 }, 痛苦: { freq_range: 高频大于3000Hz pitch: 尖锐单调升高 duration: 短促小于0.2秒 zero_cross: 较低小于0.05 }, 平静: { freq_range: 低频小于1500Hz pitch: 稳定波动小 duration: 较长大于0.5秒 zero_cross: 低小于0.04 } }这个方案效果显著准确率较零样本推理有了大幅提升格式正确率达到百分之九十五以上推理依据也变得具体明确Token消耗适中约为思维链方案的百分之六十。策略五自适应多轮对话准确率最高的方案是两轮对话第一轮做初步判断第二轮进行验证修正。也就是第一轮基于特征给出初步判断第二轮基于初步判断请确认或修正。这个方案准确率虽然显著提高且能自我修正错误但代价是两轮API调用导致成本翻倍延迟增加至十二到十五秒实现也相对复杂。三、策略选择与落地1.最终选择综合比较后选择结构化特征映射加少样本示例混合策略。选择理由结构化特征映射的准确率已满足业务需求格式稳定性最好Token消耗仅比零样本增加约百分之五十响应时间控制在三秒内适合实时分析而且映射表本身就是领域知识的积累可以持续优化。2.核心代码实现首先在初始化时定义映射表和少样本示例这部分代码与策略四分析的部分重合度较高不再展示接着构建格式化映射表和示例def _build_mapping_table(self): lines [情绪 频率范围 音高特征 时长特征 过零率特征] lines.append(------ --------- --------- --------- -----------) for emotion, features in self.emotion_mapping.items(): lines.append( emotion features[freq_range] features[pitch] features[duration] features[zero_cross] ) return 换行符连接lines def _build_few_shot_examples(self): examples [] for i, example in enumerate(self.few_shot_examples, 1): output example[output] example_text ( 示例 str(i) 特征 example[features] 输出 情绪 output[emotion] 置信度 str(output[confidence]) 分析 output[analysis] 建议 output[suggestion] ) examples.append(example_text) return 换行符连接examples优化提示词模板使其同时包含映射表和示例self.prompt_template 你是专业的宠物情绪分析师专门从事宠物音频信号分析 特征情绪映射参考表 emotion_mapping_table 参考示例 few_shot_examples 分析任务 根据以下音频特征参考上述映射表和示例判断宠物的情绪状态 音频特征 features 分析要求 严格参考映射表进行特征匹配 综合判断后从兴奋焦虑痛苦平静中选择最匹配的情绪 置信度必须为0到1之间的数值反映判断的确定程度 分析依据需具体说明匹配了哪些特征 养护建议需针对该情绪给出1到2条可执行操作 调用时设置较低的temperature值保证输出稳定性payload { model: self.model messages: [ {role: system content: 你是一个专业的宠物情绪分析专家请严格按照要求输出JSON格式结果} {role: user content: prompt} ] temperature: 0.1 top_p: 0.9 }后处理验证确保返回结果有效valid_emotions [兴奋 焦虑 痛苦 平静] emotion result.get(emotion 平静) if emotion not in valid_emotions: for valid in valid_emotions: if valid in emotion or emotion in valid: emotion valid break else: emotion 平静 confidence min(1.0 max(0.0 float(result.get(confidence 0.5))))降级策略确保系统鲁棒性def _fallback_analysis(self, audio_features, raw_content): if 焦虑 in raw_content or 焦虑 in audio_features: return {emotion: 焦虑 confidence: 0.7 analysis: 基于特征与关键词匹配 suggestion: 建议进行二次确认} elif 痛苦 in raw_content or 痛苦 in audio_features: return {emotion: 痛苦 confidence: 0.7 analysis: 基于特征与关键词匹配 suggestion: 建议进行二次确认} elif 兴奋 in raw_content or 兴奋 in audio_features: return {emotion: 兴奋 confidence: 0.6 analysis: 基于特征与关键词匹配 suggestion: 建议进行二次确认} else: return {emotion: 平静 confidence: 0.8 analysis: 未检测到明显异常情绪 suggestion: 保持正常照顾观察宠物状态}四、遇到的问题与解决问题一 JSON解析失败问题描述模型返回的内容有时包含markdown代码块标记导致json解析报错解决方案在解析前先清理反引号和json标记提取纯净的JSON字符串问题二 情绪值不在预定义范围问题描述模型偶尔返回紧张害怕等不在预定义列表中的情绪值解决方案实现模糊匹配逻辑将紧张匹配到焦虑害怕匹配到痛苦若无匹配则使用平静作为默认值问题三 置信度超出边界问题描述模型有时返回负数或大于一的置信度解决方案使用min和max将置信度约束在0到1范围内五、优化效果经过策略优化后各指标变化如下在所选取两百个示例上1.准确率从百分之五十左右提升到百分之七十左右2.JSON格式正确率从百分之七十左右提升到百分之九十左右3.推理依据从原本笼统的音频特征显示异常变为具体的频率范围特征符合某种情绪这种推理使可解释性显著增强4.响应时间从2.1秒变为3.6秒5.Token消耗增加了约百分之七十五整体在可接受范围内六、本周工作总结本周完成了大模型提示词策略的系统性探索和优化尝试了零样本直接提问、少样本示例、思维链推理、结构化特征映射、自适应多轮对话共五种策略。从准确率、格式稳定性、Token消耗、响应延迟、可解释性、实现复杂度六个维度进行了对比评估最终选择了结构化特征映射加少样本示例混合策略并完成代码实现。增加了JSON格式清理、情绪值模糊匹配、置信度边界约束、降级分析四层防护机制。规范了输入输出格式输入采用统一的特征描述格式输出严格遵循JSON结构包含情绪、置信度、分析依据、养护建议四个字段。将情绪识别准确率从百分之五十左右提升到百分之七十左右将JSON格式正确率从百分之七十提升到百分之九十实现了推理依据从笼统到具体的转变。

相关新闻

pikachu详细通关教程

pikachu详细通关教程

less-1--基于表单的暴力破解先不用登录,用BP抓包丢到Intruder模块并将包中自带参数删除点击password,然后点击Payloads,添加爆破字典点击start attack开始爆破登录成功和失败返回的响应不同,找到不同的长度。2.

2026/6/23 15:59:57阅读更多 →
LLM运行机制

LLM运行机制

以下知识整理来自网络。一、自回归生成(Autoregressive Generation)LLM基于用户提供的上下文,每次只“补”一个 Token(文本碎片),然后把这个碎片加进上下文,再预测下一个,如此循环&a…

2026/6/23 15:54:57阅读更多 →
毕业设计 深度学习yolo藻类细胞检测识别(科研辅助系统)(源码+论文)

毕业设计 深度学习yolo藻类细胞检测识别(科研辅助系统)(源码+论文)

文章目录0 前言1 项目运行效果2 课题背景2.1 水环境监测的重要性2.2 传统检测方法的局限性2.3 技术发展趋势2.4 项目研究价值2.5 国内外研究现状2.5.1 国际进展2.5.2 国内现状2.6 技术挑战3 设计框架3.1 整体架构图3.2 技术栈组成3.3 模型训练模块3.3.1 数据处理流程3.3.2 训练…

2026/6/23 15:54:57阅读更多 →
PowerCLI-Example-Scripts最佳实践:社区脚本的质量控制与维护

PowerCLI-Example-Scripts最佳实践:社区脚本的质量控制与维护

PowerCLI-Example-Scripts最佳实践:社区脚本的质量控制与维护 【免费下载链接】PowerCLI-Example-Scripts 项目地址: https://gitcode.com/gh_mirrors/po/PowerCLI-Example-Scripts PowerCLI-Example-Scripts是VMware PowerCLI的社区脚本集合,提…

2026/6/23 17:05:10阅读更多 →
TextureLab入门教程:10分钟创建你的第一个程序化材质

TextureLab入门教程:10分钟创建你的第一个程序化材质

TextureLab入门教程:10分钟创建你的第一个程序化材质 【免费下载链接】texturelab Free, Cross-Platform, GPU-Accelerated Procedural Texture Generator 项目地址: https://gitcode.com/gh_mirrors/te/texturelab 🎨 TextureLab 是一款免费、跨…

2026/6/23 17:05:10阅读更多 →
CS2303 (原CS356) - 操作系统课程设计

CS2303 (原CS356) - 操作系统课程设计

CS2303 (原CS356) - 操作系统课程设计 【免费下载链接】awesome-cs 👨‍💻 ❤️ 💻 上海交通大学计算机系本科作业参考 项目地址: https://gitcode.com/gh_mirrors/awe/awesome-cs Project 1 - 进程管理 skyzh, 2020 SpringBugenZhao, …

2026/6/23 17:05:10阅读更多 →
如何快速上手MCP-Security-Checklist:初学者完整教程与实战演练

如何快速上手MCP-Security-Checklist:初学者完整教程与实战演练

如何快速上手MCP-Security-Checklist:初学者完整教程与实战演练 【免费下载链接】MCP-Security-Checklist A comprehensive security checklist for MCP-based AI tools. Built by SlowMist to safeguard LLM plugin ecosystems. 项目地址: https://gitcode.com/g…

2026/6/23 17:05:10阅读更多 →
DawnLauncher自定义主题完全指南:打造个性化Windows桌面

DawnLauncher自定义主题完全指南:打造个性化Windows桌面

DawnLauncher自定义主题完全指南:打造个性化Windows桌面 【免费下载链接】DawnLauncher Windows快捷启动工具,帮助您整理杂乱无章的桌面,分门别类管理您的桌面快捷方式,让您的桌面保持干净整洁。 项目地址: https://gitcode.com…

2026/6/23 17:05:10阅读更多 →
为什么选择UnrealEngineSkyAtmosphere?对比主流天空渲染方案的优势分析

为什么选择UnrealEngineSkyAtmosphere?对比主流天空渲染方案的优势分析

为什么选择UnrealEngineSkyAtmosphere?对比主流天空渲染方案的优势分析 【免费下载链接】UnrealEngineSkyAtmosphere Unreal Engine Sky Atmosphere Rendering Technique 项目地址: https://gitcode.com/gh_mirrors/un/UnrealEngineSkyAtmosphere UnrealEngi…

2026/6/23 17:00:09阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/23 7:04:52阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/23 1:55:32阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/23 5:55:37阅读更多 →
2026年京东云 618 活动 Hermes Agent/OpenClaw配置Token Plan新手必看指南

2026年京东云 618 活动 Hermes Agent/OpenClaw配置Token Plan新手必看指南

2026年京东云 618 活动 Hermes Agent/OpenClaw配置Token Plan新手必看指南。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流…

2026/6/23 0:00:38阅读更多 →
2026年北京电子沙盘制作公司深度评测:从技术选型到落地效果,谁在真正定义“数字+实体”的融合边界?

2026年北京电子沙盘制作公司深度评测:从技术选型到落地效果,谁在真正定义“数字+实体”的融合边界?

模块一:行业背景——百亿赛道爆发,北京市场的特殊性与选型困局2026年,电子沙盘行业已走过“要不要做”的讨论,进入“找谁做、怎么做”的深水区。据行业研究机构数据,2025年国内电子沙盘市场规模已突破85亿元&#xff0…

2026/6/23 0:00:38阅读更多 →
音视频场景下的 Java 开发者面试:技术与挑战

音视频场景下的 Java 开发者面试:技术与挑战

面试互联网大厂:从音视频场景看 Java 开发者的技能与挑战 在互联网大厂求职的面试中,Java 开发者往往需要面对严苛的技术问题。今天,我们将通过一位名叫燕双非的搞笑程序员与严肃的面试官之间的对话,看看在音视频场景下&#xff0…

2026/6/23 0:00:38阅读更多 →