发布时间:2026/6/23 15:59:41
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格式正确率从百分之七十提升到百分之九十实现了推理依据从笼统到具体的转变。

相关新闻

光伏组件I-V特性建模与MPPT参数一键计算工具(Matlab/Simulink)
2026/6/23 14:59:40

光伏组件I-V特性建模与MPPT参数一键计算工具(Matlab/Simulink)

本文还有配套的精品资源,点击获取 简介:提供开箱即用的Simulink光伏面板模型(pv_panel.slx)和配套MATLAB参数计算脚本(calcul_valeurs.m),支持基于单二极管等效电路的电压-电流特性仿真。输入…

阅读更多
CNN-LSTM加注意力机制的RUL预测完整复现包:含双方案代码、数据与结果
2026/6/23 14:59:40

CNN-LSTM加注意力机制的RUL预测完整复现包:含双方案代码、数据与结果

本文还有配套的精品资源,点击获取 简介:直接可用的剩余使用寿命(RUL)预测资源包,内置两套完整实现方案:FIRST_code.py和SECOND_code.py分别对应不同结构配置,均融合CNN提取局部退化特征、LST…

阅读更多
从basic_pentesting_2靶机实战入门渗透测试:信息收集到权限提升全流程解析
2026/6/23 14:59:40

从basic_pentesting_2靶机实战入门渗透测试:信息收集到权限提升全流程解析

1. 项目概述:从basic_pentesting_2看渗透测试实战入门如果你刚开始接触渗透测试,面对五花八门的工具和概念感到无从下手,那么Vulnhub上的“basic_pentesting”系列靶机绝对是为你量身定做的。今天要拆解的,就是其中的第二台&#…

阅读更多
深度度量学习实战指南:BN-Inception模型的迁移学习与特征提取完整教程
2026/6/23 16:59:41

深度度量学习实战指南:BN-Inception模型的迁移学习与特征提取完整教程

深度度量学习实战指南:BN-Inception模型的迁移学习与特征提取完整教程 【免费下载链接】Deep_Metric Deep Metric Learning 项目地址: https://gitcode.com/gh_mirrors/de/Deep_Metric 深度度量学习是计算机视觉领域的核心技术之一,而Deep_Metri…

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

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

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

阅读更多
游戏开发教学革命:Unfinished-asteroids如何模拟真实工作环境加速学习
2026/6/23 16:59:41

游戏开发教学革命:Unfinished-asteroids如何模拟真实工作环境加速学习

游戏开发教学革命:Unfinished-asteroids如何模拟真实工作环境加速学习 【免费下载链接】unfinished-asteroids IT STARTS HERE ---> 项目地址: https://gitcode.com/gh_mirrors/un/unfinished-asteroids Unfinished-asteroids是一个创新的游戏开发教学项目…

阅读更多
Medium Editor Markdown快速入门:5分钟实现富文本到Markdown的实时转换
2026/6/23 16:59:41

Medium Editor Markdown快速入门:5分钟实现富文本到Markdown的实时转换

Medium Editor Markdown快速入门:5分钟实现富文本到Markdown的实时转换 【免费下载链接】medium-editor-markdown :pencil: A Medium Editor extension to add markdown support. 项目地址: https://gitcode.com/gh_mirrors/me/medium-editor-markdown 你是否…

阅读更多
DriveAGI性能优化技巧:大规模驾驶视频处理的7个最佳实践
2026/6/23 16:59:41

DriveAGI性能优化技巧:大规模驾驶视频处理的7个最佳实践

DriveAGI性能优化技巧:大规模驾驶视频处理的7个最佳实践 【免费下载链接】DriveAGI [CVPR 2024 Highlight] GenAD: Generalized Predictive Model for Autonomous Driving 项目地址: https://gitcode.com/gh_mirrors/dr/DriveAGI 想要高效处理1700小时的大规…

阅读更多
08 - 组织生命体:AI时代组织管理深度诊断试卷
2026/6/23 15:59:41

08 - 组织生命体:AI时代组织管理深度诊断试卷

你正坐在会议室里,CTO刚刚汇报完大模型部署的进展——效率提升了42%,成本下降了28%。董事会很满意。但你知道一个他们不知道的数字:核心工程师的主动离职率,在过去两个季度里翻了一倍。 离职面谈的最后一句话像一根刺扎在你心里:“公司越来越像一台完美的机器,而我越来越…

阅读更多
嵌入式语音编解码实战:G.726 ADPCM库集成与优化指南
2026/6/23 3:25:21

嵌入式语音编解码实战:G.726 ADPCM库集成与优化指南

1. 项目概述与G.726 ADPCM技术背景在嵌入式语音处理领域,带宽和存储资源往往是寸土寸金的。如果你做过对讲机、VoIP网关或者早期的数字录音设备,一定对如何在有限的比特率下保住语音可懂度这件事深有感触。我当年接手一个车载调度系统的项目,…

阅读更多
ITU656格式化器寄存器配置实战:VBI数据处理与VCR特技播放兼容性
2026/6/23 4:51:28

ITU656格式化器寄存器配置实战:VBI数据处理与VCR特技播放兼容性

1. 项目概述与核心挑战在数字视频处理领域,将原始的视频数据、同步时序以及各种辅助信息打包成一个标准、稳定的串行数据流,是确保设备间互联互通的基础。ITU-R BT.656标准(常简称为ITU656)正是为此而生的一套“交通规则”。它定义…

阅读更多
嵌入式GUI开发实战:emWin环境搭建、配置优化与性能调优指南
2026/6/23 0:40:11

嵌入式GUI开发实战:emWin环境搭建、配置优化与性能调优指南

1. 项目概述与emWin核心价值解析在嵌入式系统开发领域,人机交互(HMI)的设计正从简单的LED指示灯和按键,快速向全彩图形化界面演进。无论是智能家电上的触摸屏、工业PLC的操作面板,还是医疗设备的参数显示,一…

阅读更多
3分钟快速上手:Qwen3大语言模型本地部署完全指南
2026/6/23 0:59:31

3分钟快速上手:Qwen3大语言模型本地部署完全指南

3分钟快速上手:Qwen3大语言模型本地部署完全指南 【免费下载链接】Qwen1.5 Qwen3 is the large language model series developed by Qwen team, Alibaba Cloud. 项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen1.5 阿里巴巴Qwen3大语言模型系列以其…

阅读更多
微信聊天记录备份指南:使用WeChatExporter轻松保存您的珍贵回忆
2026/6/23 0:59:31

微信聊天记录备份指南:使用WeChatExporter轻松保存您的珍贵回忆

微信聊天记录备份指南:使用WeChatExporter轻松保存您的珍贵回忆 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 在数字时代,微信聊天记录承载着我…

阅读更多
Cortex-M指令集深度解析:饱和运算、位域操作与分支控制实战
2026/6/23 0:59:31

Cortex-M指令集深度解析:饱和运算、位域操作与分支控制实战

1. 从指令到效率:为什么Cortex-M指令集值得深挖如果你在嵌入式领域摸爬滚打了一段时间,尤其是跟ARM Cortex-M系列单片机打交道,那你肯定对“写寄存器”、“调库函数”这套流程熟得不能再熟了。但不知道你有没有过这样的感觉:项目代…

阅读更多
GIT修改用户名
2026/6/23 8:19:27

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/22 10:07:50

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/23 6:37:14

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多