fastAPI-儿童智能陪伴交互系统设计

摘 要

针对航空飞行器机翼表面传统视觉检测难以识别复合材料隐性损伤、现有高光谱检测方法工程化演示性不足的问题,本研究开展基于高光谱成像技术的机翼表面损伤检测研究,构建兼具检测性能与可演示性的损伤检测方案与原型系统。

研究采用内存映射方法完成大体积 ENVI 格式高光谱数据的高效读取,通过伪彩色合成、PCA 降维实现高光谱数据的可视化与标准化预处理,基于 ROI 矩形标注与 Patch 切片技术完成单样本场景下的训练数据集构建;分别设计基于纯光谱特征的 1D CNN 基线模型与融合光谱 - 空间特征的空谱联合双流 CNN 模型,完成两类模型的训练与对比验证;基于 FastAPI 与 Vue3 框架搭建前后端分离的原型系统,实现数据处理、模型训练、推理检测的全流程功能。

实验结果表明,空谱联合 CNN 模型的损伤检测准确率显著优于 1D CNN 基线模型,验证了光谱与空间特征融合对机翼损伤检测性能的提升作用;所开发的原型系统可稳定完成高光谱机翼损伤检测的全流程演示,为航空领域机翼损伤的智能化检测提供了可参考的原型方案。

关键词:高光谱成像;机翼损伤检测;卷积神经网络;空谱联合

ABSTRACT

In response to the problems that traditional visual inspection of the wing surface of aircraft is difficult to identify the latent damage of composite materials, and the existing hyperspectral detection methods have insufficient engineering demonstration capability, this study conducts research on wing surface damage detection based on hyperspectral imaging technology, and builds a damage detection scheme and prototype system that combines detection performance and demonstrability.

The study adopts the memory mapping method to complete the efficient reading of large-volume ENVI format hyperspectral data, realizes the visualization and standardized preprocessing of hyperspectral data through pseudo-color synthesis and PCA dimension reduction, and completes the construction of the training data set for a single sample scenario through ROI rectangular annotation and Patch slicing technology; designs 1D CNN baseline model based on pure spectral features and the spatial-spectral joint dual-stream CNN model that integrates spectral and spatial features, completes the training and comparative verification of the two models; builds a prototype system with separated front-end and back-end based on FastAPI and Vue3 framework, and realizes the full-process functions of data processing, model training, and inference detection.

The experimental results show that the damage detection accuracy of the spatial-spectral joint CNN model is significantly higher than that of the 1D CNN baseline model, verifying the improvement effect of spectral and spatial feature fusion on the performance of wing damage detection; the developed prototype system can stably complete the full-process demonstration of hyperspectral wing damage detection, providing a reference prototype solution for intelligent detection of wing damage in the aviation field.

Keyword:High-spectrum imaging;Wing damage detection;Convolutional neural network;Spectral combination

[++++第一章 绪论++++](#第一章 绪论)

[++++1.1++++ ++++研究背景和意义++++](#1.1 研究背景和意义)

[++++1.2++++ ++++国内外研究现状++++](#1.2 国内外研究现状)

[++++1.2.1 国外研究现状++++](#1.2.1 国外研究现状)

[++++1.2.2 国内研究现状++++](#1.2.2 国内研究现状)

[++++1.3++++ ++++论文研究方法++++](#1.3 论文研究方法)

[++++1.4++++ ++++论文章节安排++++](#1.4 论文章节安排)

[++++第二章 论文涉及的基本理论++++](#第二章 论文涉及的基本理论)

[++++2.1++++ ++++MacBERT 预训练语言模型++++](#2.1 MacBERT 预训练语言模型)

[++++2.2++++ ++++FastAPI 异步 Web 框架++++](#2.2 FastAPI 异步 Web 框架)

[++++2.3++++ ++++Hugging Face Transformers 工具库++++](#2.3 Hugging Face Transformers 工具库)

[++++2.4++++ ++++Vue3 前端开发框架++++](#2.4 Vue3 前端开发框架)

[++++2.5++++ ++++本章小结++++](#2.5 本章小结)

[++++第三章 系统分析++++](#第三章 系统分析)

[++++3.1 可行性分析++++](#3.1 可行性分析)

[++++3.1.1 经济可行性++++](#3.1.1 经济可行性)

[++++3.1.2 技术可行性++++](#3.1.2 技术可行性)

[++++3.1.3 操作可行性++++](#3.1.3 操作可行性)

[++++3.2 业务流程分析++++](#3.2 业务流程分析)

[++++3.3 功能需求分析++++](#3.3 功能需求分析)

[++++第四章 系统总体设计++++](#第四章 系统总体设计)

[++++4.1 系统总体架构设计++++](#4.1 系统总体架构设计)

[++++4.2 系统功能模块设计++++](#4.2 系统功能模块设计)

[++++4.3 层级化情绪识别模型设计++++](#4.3 层级化情绪识别模型设计)

[++++4.3.1 模型整体架构设计++++](#4.3.1 模型整体架构设计)

[++++4.3.2 两级分类子模型设计++++](#4.3.2 两级分类子模型设计)

[++++4.3.3 推理流程设计++++](#4.3.3 推理流程设计)

[++++4.4 数据库设计++++](#4.4 数据库设计)

[++++4.4.1 数据库设计概述++++](#4.4.1 数据库设计概述)

[++++4.4.2 逻辑结构设计++++](#4.4.2 逻辑结构设计)

[++++4.4.3 数据库表结构++++](#4.4.3 数据库表结构)

[++++第5章 系统详细实现++++](#第5章 系统详细实现)

[++++5.1 系统开发与运行环境++++](#5.1 系统开发与运行环境)

[++++5.1.1 硬件环境++++](#5.1.1 硬件环境)

[++++5.1.2 软件环境++++](#5.1.2 软件环境)

[++++5.1.3 项目核心依赖库++++](#5.1.3 项目核心依赖库)

[++++5.2 后端服务核心功能实现++++](#5.2 后端服务核心功能实现)

[++++5.2.1 基础框架与接口规范实现++++](#5.2.1 基础框架与接口规范实现)

[++++5.2.2 核心业务服务模块实现++++](#5.2.2 核心业务服务模块实现)

[++++5.3 前端交互界面实现++++](#5.3 前端交互界面实现)

[++++5.3.1 前端项目整体架构实现++++](#5.3.1 前端项目整体架构实现)

[++++5.3.2 核心页面实现++++](#5.3.2 核心页面实现)

[++++5.3.3 核心功能组件实现++++](#5.3.3 核心功能组件实现)

[++++5.3.4 前后端交互实现++++](#5.3.4 前后端交互实现)

[++++5.4 层级化情绪识别模型工程化实现++++](#5.4 层级化情绪识别模型工程化实现)

[++++5.4.1 模型微调与权重固化实现++++](#5.4.1 模型微调与权重固化实现)

[++++5.4.2 模型推理优化实现++++](#5.4.2 模型推理优化实现)

[++++5.4.3 层级化推理逻辑的工程化实现++++](#5.4.3 层级化推理逻辑的工程化实现)

[++++5.4.4 模型与后端服务的集成实现++++](#5.4.4 模型与后端服务的集成实现)

[++++第六章 系统测试++++](#第六章 系统测试)

[++++6.1 测试概述与测试环境++++](#6.1 测试概述与测试环境)

[++++6.1.1 测试目的++++](#6.1.1 测试目的)

[++++6.1.2 测试环境++++](#6.1.2 测试环境)

[++++6.2 系统功能测试++++](#6.2 系统功能测试)

[++++6.3 系统性能测试++++](#6.3 系统性能测试)

[++++6.4 测试结果总结++++](#6.4 测试结果总结)

++++总结++++

++++参考文献++++

[++++致 谢++++](#致 谢)

第一章 绪论

    1. 研究背景和意义

随着现代社会生活节奏的持续加快,国内双职工家庭占比不断提升,家长群体普遍面临儿童陪伴时间不足、陪伴质量难以保障的现实困境。3-12 岁是儿童语言能力、情绪认知能力与性格养成的关键发展期,高质量的陪伴与正向情感互动,对儿童的心理健康成长与社交能力培养具有不可替代的作用。传统儿童陪伴方式多以绘本、动画、玩具为载体,仅能实现单向的内容输出,无法捕捉儿童的实时情绪状态,也难以根据儿童的个性化特征提供针对性的互动反馈,无法满足儿童成长过程中的情感陪伴需求。

近年来,自然语言处理、语音识别与合成、大语言模型技术的快速迭代,为智能陪伴产品的落地提供了成熟的技术支撑。但目前市面上的儿童智能陪伴产品,普遍存在两大核心短板:一是多数产品仅实现了基础的语音问答与内容播放功能,缺乏对儿童情绪的精准感知能力,无法实现有温度的情感化互动;二是产品功能分散,缺少集成语音交互、情绪识别、个性化内容生成、语音播报的全流程一体化系统,部分硬件产品使用门槛较高,难以适配普通家庭与幼教机构的轻量化使用需求。

基于上述现实背景,本课题设计并实现一套基于 FastAPI 的儿童智能陪伴交互系统,其研究意义主要体现在两个层面。在实际应用层面,该系统为家长与幼教工作者提供了一套低门槛、一体化的儿童智能陪伴工具,能够基于儿童的语音或文本输入,完成情绪状态的精准识别,并结合儿童的年龄、兴趣特征生成个性化的互动内容,填补了传统陪伴方式情感互动不足的空白,可广泛应用于家庭日常陪伴、幼儿园辅助教学、儿童心理健康初步关怀等多个场景。在技术实践层面,本课题针对中文儿童情绪识别的场景需求,设计了层级化的分类模型,解决了单模型多分类任务中,负向细分类样本训练不充分、识别准确率低的问题;同时基于 FastAPI 搭建了高并发、易扩展的异步服务,完成了从模型训练到工程落地的全流程实现,为同类儿童智能陪伴系统的开发提供了可参考的实践方案。

    1. 国内外研究现状

1.2.1 国外研究现状

儿童智能陪伴系统的相关研究起源于国外,情感计算理论的提出为该领域的发展奠定了核心理论基础。1997 年,麻省理工学院媒体实验室 Picard 教授正式提出情感计算理论,明确了计算机对人类情绪的感知、识别与响应能力的完整研究框架,为智能交互系统的情感化设计提供了核心理论支撑,也推动了智能陪伴领域从单一功能交互向情感化交互的转型。

在儿童陪伴的专项研究领域,国外科研机构开展了大量前瞻性的探索工作。麻省理工学院媒体实验室针对儿童社交与情感发展需求,开发了多款陪伴型交互机器人,其中面向自闭症儿童设计的 Huggable 机器人,通过多模态传感器捕捉儿童的肢体动作与语音信号,实现儿童情绪状态的实时识别与拟人化互动,相关对照实验数据表明,该类设备可有效提升自闭症儿童的社交参与度与情绪表达意愿。索尼公司推出的 AIBO 机器狗,是早期情感化智能陪伴产品的典型代表,该产品通过多类型传感器实现用户情绪的精准捕捉,完成拟人化的交互反馈,验证了情感化交互在消费级陪伴产品中的落地可行性。

在商业化产品落地层面,国外科技企业已推出多款成熟的儿童专属智能交互产品。亚马逊推出的 Alexa Kids Edition 智能语音助手,针对儿童使用场景优化了语音交互逻辑与内容过滤机制,内置儿童故事、科普问答等专属内容,全球累计用户量突破千万级;谷歌推出的 Google Assistant for Kids,在儿童语音识别、适龄内容适配层面完成了专项优化,实现了基础的交互式陪伴功能。在核心技术层面,Transformer 架构的提出推动自然语言处理技术进入预训练模型时代,BERT、GPT 系列预训练模型在文本理解、情感识别任务中实现了性能突破,相关研究针对细粒度情感分类任务提出层级化分类架构,有效解决了细粒度分类中的样本不平衡问题,提升了小众情绪类别的识别准确率。

国外相关研究与产品在情感计算理论、多模态交互技术层面具备先发优势,但现有成果仍存在明显的适配性短板。现有研究与产品大多针对英语语境开发,对中文的语义特征、情绪表达逻辑适配性不足;多数商业化产品以硬件设备为核心载体,使用门槛较高,难以适配中国家庭的轻量化使用需求;同时现有研究对儿童负向情绪的细粒度识别与针对性响应关注不足,无法完全满足儿童情感陪伴的核心需求。

1.2.2 国内研究现状

国内儿童智能陪伴领域的研究与商业化落地起步较晚,但依托国内庞大的市场需求与中文自然语言处理技术的快速发展,相关研究与产品迭代速度较快,已形成具备本土特色的发展路径。

在商业化产品落地层面,国内科技企业已推出多款面向儿童群体的智能陪伴产品。科大讯飞推出的阿尔法蛋系列智能故事机,依托自研的中文语音识别与合成技术,实现了儿童故事播放、语音问答等基础功能,累计销量突破千万台;小米公司推出的米兔儿童学习音箱,内置海量适龄儿童内容,完成了儿童口语交互的场景适配;百度公司推出的小度智能音箱儿童模式,针对儿童使用场景优化了内容过滤机制与交互逻辑,实现了基础的陪伴式交互。但现有商业化产品普遍存在功能短板,多数产品以内容播放为核心功能,仅能实现单向的内容输出与基础的语音问答,对儿童的情绪状态感知能力较弱,无法根据儿童的实时情绪生成个性化的互动内容,情感化陪伴能力存在明显不足。

在学术研究层面,国内科研机构针对中文自然语言处理技术完成了大量本土化优化工作,为中文情绪识别任务提供了成熟的技术支撑。哈尔滨工业大学与讯飞联合实验室推出的 MacBERT 预训练模型,针对中文语言特征优化了预训练阶段的掩码策略,采用同义字掩码替代原生 BERT 的 MASK 令牌,解决了预训练与微调阶段的分布不一致问题,在中文文本理解、情感分类任务中实现了优于原生 BERT 模型的性能表现。相关研究针对中文细粒度情感分类任务,提出了多层级的分类架构,有效缓解了样本不平衡带来的模型偏见问题,提升了负向情绪类别的识别准确率。在系统工程实现层面,FastAPI 异步 Web 框架凭借其高性能、易开发、自动生成接口文档的优势,在 Python 后端服务开发领域得到广泛应用,前后端分离的架构设计也已成为智能交互系统开发的主流方案。

国内现有研究仍存在明显的研究缺口,多数研究聚焦于单一模型的性能优化,缺少针对儿童陪伴场景的全流程系统设计与实现;多数研究成果仅停留在算法仿真阶段,未完成从模型训练到工程落地的全流程转化;同时现有系统大多功能分散,缺少集成语音交互、情绪识别、个性化内容生成、语音播报的一体化轻量化解决方案,难以满足普通家庭与幼教机构的低门槛使用需求。

    1. 论文研究方法

本研究综合采用文献研究法、实验对照法、软件工程法与系统测试法四种核心研究方法,保障研究过程的严谨性与研究成果的落地性。

1.文献研究法:本研究系统梳理国内外情感计算、儿童智能陪伴、中文自然语言处理领域的相关文献、专利与商业化产品,明确该领域的研究现状与技术发展脉络,总结现有研究与产品的核心不足,确定本课题的研究目标与技术路线,为后续的模型设计与系统开发奠定理论基础。

2.实验对照法:本研究针对儿童陪伴场景的情绪识别需求,构建基于 MacBERT 的层级化中文情绪识别模型,在 SMP2020-EWECT 中文情绪分析数据集上完成模型训练与超参数优化;通过设置对照实验,对比不同预训练模型的分类性能,验证 MacBERT 模型在中文情绪识别任务中的优势;通过消融实验,验证层级化分类架构、加权采样策略对模型性能的提升作用,完成模型性能的全面验证与优化。

3.软件工程法:本研究严格遵循软件工程的标准化开发流程,按照需求分析、总体设计、详细设计、编码实现、系统测试的完整流程完成系统开发。研究采用前后端分离的系统架构,基于 FastAPI 框架完成后端异步服务的开发,基于 Vue3 框架完成前端交互界面的开发,完成用户管理、语音处理、情绪识别、故事生成、会话管理等核心功能的编码实现,保障系统的可扩展性与可维护性。

    1. 论文章节安排

本论文围绕基于 FastAPI 的儿童智能陪伴交互系统的设计与实现展开研究,严格遵循软件工程标准化开发流程,按照 "需求分析 - 理论铺垫 - 方案设计 - 落地实现 - 测试验证 - 总结展望" 的核心逻辑完成全文架构设计,全文共设置七个核心章节,同时配套参考文献、致谢与附录三个补充部分,各章节的核心内容与逻辑安排如下:

第一章为绪论,也就是本章节。该章节核心阐述课题的研究背景与实际应用意义,系统梳理国内外儿童智能陪伴领域与相关核心技术的研究现状,明确现有研究成果与商业化产品的核心不足,同时说明本课题采用的核心研究方法,最终明确全文的章节安排与研究脉络。

第二章为论文涉及的基本理论。该章节围绕系统开发过程中用到的四项核心技术展开系统性介绍,分别阐述 MacBERT 预训练语言模型、FastAPI 异步 Web 框架、Hugging Face Transformers 工具库与 Vue3 前端开发框架的核心特性,明确各项技术在本课题中的具体应用场景,为后续的系统设计与实现环节奠定完整的理论与技术基础。

第三章为系统分析。该章节围绕系统开发的核心需求,完成系统的可行性分析、核心业务流程梳理与功能需求拆解。章节从经济、技术、操作三个维度验证课题的落地可行性,梳理系统核心业务的全流程运行逻辑,同时明确系统六大核心功能模块的需求边界,为后续的系统设计环节提供完整的需求依据。

第四章为系统总体设计。该章节基于系统分析阶段明确的需求边界,完成系统的总体架构设计、功能模块设计、层级化情绪识别模型设计与数据库设计。章节明确系统分层式前后端分离的整体架构,界定各功能模块的核心职责,阐述两级分类模型的设计逻辑与推理流程,同时完成数据库的逻辑结构设计与核心表结构定义,为系统的落地实现提供完整的设计方案。

第五章为系统详细实现。该章节承接第四章的系统总体设计内容,对应项目实际代码结构,从开发运行环境、后端服务核心功能、前端交互界面、层级化情绪识别模型工程化四个维度,讲解系统的具体落地实现细节。章节明确各模块的代码实现逻辑与工程化优化措施,完整呈现系统从设计方案到可运行程序的转化过程。

第六章为系统测试。该章节以系统需求分析与设计目标为核心依据,完成系统的全流程测试验证。章节明确本次测试的核心目的、测试环境与测试方法,通过功能测试、性能测试、异常场景测试三类测试工作,全面验证系统的功能完整性、性能达标性与运行稳定性,最终给出完整的测试结果总结与系统适配性评价。

第七章为总结与展望。该章节对本课题的全流程研究工作与核心研究成果进行系统性总结,梳理课题完成的核心工作与实现的系统应用价值,同时分析当前系统存在的可优化空间,针对系统的现存不足提出后续的研究方向与优化思路。

第二章 论文涉及的基本理论

本章围绕儿童智能陪伴交互系统开发过程中用到的四项核心技术展开介绍,明确各项技术的核心特性与在本课题中的具体应用场景,为后续的系统设计与实现部分奠定理论基础。

    1. MacBERT 预训练语言模型

MacBERT 是哈尔滨工业大学与讯飞联合实验室发布的中文预训练语言模型,是 BERT 架构的中文优化变体,核心解决原生 BERT 在中文任务中预训练与微调阶段的分布不一致问题。原生 BERT 采用 MASK 特殊令牌完成掩码语言模型任务,该令牌在微调阶段不会出现,导致两个阶段的输入分布存在明显差异,直接影响中文文本理解任务的最终性能。MacBERT 采用全词掩码与同义字掩码结合的优化策略,用对应语境下的同义字替换待掩码的令牌,而非特殊的 MASK 令牌,大幅缩小了预训练与微调阶段的分布差距,更适配中文的语义表达逻辑与使用习惯。

本课题的儿童情绪识别任务主要使用MacBERT作为两级情绪分类模型的核心骨干网络,使其承担中文文本的语义特征提取核心工作。课题选用 hfl/chinese-macbert-large 版本作为基础预训练权重,该版本参数量充足,对中文短文本的语义细节捕捉能力更强,能够精准识别儿童口语化表达中的情绪倾向。相较于其他中文预训练模型,MacBERT 在中文情绪分类任务中具备更稳定的性能表现,能够有效支撑系统对儿童输入文本的情绪精准识别,为后续个性化内容生成提供可靠的情绪依据。

    1. FastAPI 异步 Web 框架

儿童智能陪伴交互系统的后端服务,需要同时支撑多用户的并发请求,还要完成语音处理、模型推理、第三方 API 调用等多个 IO 密集型操作,对后端框架的响应速度、异步支持能力与开发效率都有明确的硬性要求。传统的同步 Web 框架在处理多并发请求时,单个耗时操作会直接阻塞主线程的运行,容易出现请求排队超时的问题,无法满足系统多用户同时使用的场景需求,同时接口开发流程繁琐,调试与后期维护的成本较高。

FastAPI 是基于 Python 语言开发的高性能异步 Web 框架,底层基于 Starlette 框架实现异步请求处理,基于 Pydantic 库实现接口数据的自动类型校验,核心特性完全匹配本系统的后端开发需求。该框架原生支持异步函数定义,能够在处理语音转写、API 调用等 IO 密集型操作时,不阻塞主线程的正常运行,大幅提升系统的并发处理能力;同时能够根据开发者定义的 Pydantic 数据模型,自动生成标准化的接口文档与请求数据校验规则,大幅减少接口开发中的重复代码,提升开发效率与接口稳定性。

在本课题的系统开发中,FastAPI 作为后端服务的核心框架,承担了路由管理、请求处理、数据校验、跨域配置、数据库连接管理等核心工作。系统的用户管理、语音处理、情绪识别、故事生成、会话管理等核心业务模块,均通过 FastAPI 的路由机制完成标准化接口封装,为前端提供统一的 HTTP 接口服务,同时依托其原生异步特性,保障系统在多用户并发访问时的响应速度与运行稳定性。

    1. Hugging Face Transformers 工具库

Hugging Face Transformers 是面向自然语言处理任务的开源工具库,提供了海量预训练语言模型的标准化调用接口,原生支持 PyTorch、TensorFlow 等主流深度学习框架,能够大幅降低预训练模型的微调与工程落地难度。该工具库内置了完整的分词器、模型加载、微调训练、推理预测全流程工具,同时提供了统一的 API 设计规范,不同预训练模型的调用逻辑保持高度一致,开发者无需针对不同模型重写核心代码,只需修改少量配置即可完成模型的切换与性能优化。在本课题的开发过程中,该工具库为层级化情绪识别模型的开发提供了全流程支撑,课题通过该工具库完成 MacBERT 模型与对应分词器的加载、微调训练流程的搭建、推理接口的封装,无需从零实现 Transformer 的核心结构,大幅缩短了模型开发周期,同时保障了模型代码的规范性与运行稳定性。

    1. Vue3 前端开发框架

儿童智能陪伴交互系统的前端界面,需要为用户提供简洁易用的交互入口,同时要实时展示语音转写、情绪识别、故事生成的全流程处理状态,对前端框架的响应式能力、组件化开发效率与交互体验优化能力都有较高的要求。传统的前端原生开发模式代码复用性差,页面状态与视图的同步需要编写大量重复代码,开发效率较低,同时难以支撑对话交互、状态实时更新这类复杂交互场景的开发需求。

Vue3 是当前主流的前端渐进式框架,采用组合式 API 设计,具备更灵活的代码组织能力与更强的类型支持,同时优化了虚拟 DOM 的渲染性能,能够为用户提供更流畅的交互体验。该框架原生支持组件化开发模式,开发者可将登录、对话、历史记录等不同功能模块封装为独立组件,大幅提升代码的复用性与后期可维护性。在本课题的前端开发中,Vue3 作为核心开发框架,完成了系统全部交互界面的开发,实现了用户登录注册、文本与语音双输入、情绪识别结果展示、故事语音播放、会话历史管理等核心功能,通过响应式数据绑定,实现了系统处理流程的实时状态展示,为用户提供了简洁易用、交互流畅的使用体验。

    1. 本章小结

本章围绕儿童智能陪伴交互系统开发涉及的四项核心技术展开系统性介绍。内容明确了 MacBERT 预训练模型的优化逻辑与在情绪识别任务中的适配性,阐述了 FastAPI 异步框架的核心优势与后端服务的适配场景,介绍了 Transformers 工具库的功能特性与对模型开发的支撑作用,说明了 Vue3 框架的核心能力与在前端开发中的应用价值。本章内容为后续系统总体设计、模型开发与工程实现环节,奠定了完整的理论与技术基础。

第三章 系统分析

本章围绕儿童智能陪伴交互系统的开发需求,完成系统的可行性分析、核心业务流程梳理与功能需求拆解,明确系统开发的核心边界与落地路径,为后续的系统设计与实现环节提供完整的需求依据。

3.1 可行性分析

3.1.1 经济可行性

本课题为个人本科毕业设计学术研究项目,无商业化上线运营需求,无需承担服务器长期运维、商业软件授权、规模化推广等相关费用,整体开发成本具备极强的可控性。系统开发所用的 Python、PyTorch、FastAPI、Vue3 等核心开发工具均为开源免费软件,遵循开源社区协议,无任何授权使用费用。模型训练与推理环节可基于个人已有的电脑设备完成,无需额外采购硬件设备;第三方语音服务、大语言模型 API 均提供面向个人开发者的免费调用额度,完全覆盖毕设开发、功能测试与答辩演示的全流程使用需求。整个开发过程除个人已有设备外,无额外硬性资金投入,整体开发成本几乎为零,完全符合个人本科毕业设计的经济条件。

3.1.2 技术可行性

本课题选用的所有核心技术均为行业内成熟稳定的开源技术,具备完善的官方开发文档与活跃的社区支持,不存在无法突破的技术壁垒。MacBERT 预训练模型提供了成熟的开源预训练权重与微调方案,Hugging Face Transformers 库为模型开发提供了标准化的调用接口,无需从零搭建 Transformer 核心架构,大幅降低了情绪识别模型的开发难度。FastAPI 与 Vue3 框架均有完善的开发教程与成熟的工程化实践案例,前后端分离的开发模式清晰可控,个人开发者可按照模块拆分逐步完成开发与联调工作。第三方语音识别合成、大语言模型 API 均提供了标准化的调用文档与示例代码,可快速集成至系统业务流程中。整个系统的开发难度与工作量,完全匹配本科毕业设计的开发周期要求与个人开发能力,技术层面具备完全的落地可行性。

3.1.3 操作可行性

本系统采用模块化的前后端分离架构,各功能模块边界清晰,可独立开发、独立测试、独立迭代,开发过程的操作流程清晰可控,个人开发者无需复杂的团队协作流程,即可按照模块拆分逐步完成全流程开发工作。系统最终的交互界面采用轻量化 Web 设计,操作逻辑贴合普通用户的日常使用习惯,无需专业的技术培训,即可完成全部功能的操作使用,完全满足毕设答辩过程中的功能演示需求。系统的部署与启动流程简单清晰,仅需完成基础的 Python 与 Node.js 环境配置、第三方 API 密钥填写,即可在普通个人电脑上完成前后端服务的启动与运行,无需复杂的服务器部署与运维操作,从开发到演示的全流程均具备完整的可操作性。

3.2 业务流程分析

本系统核心业务流程围绕用户从登录系统到完成一次智能陪伴交互的全链路展开,完整覆盖用户输入、内容处理、结果反馈、数据存储的全环节,对应流程如图所示。用户完成账号登录校验后,可选择文本或语音两种交互方式提交内容;语音内容先完成转写处理,再与文本内容一同进入情绪识别、个性化故事生成环节;生成内容同步完成语音合成,最终向用户反馈全流程处理结果,同时完成会话数据的持久化存储。具体业务流程的活动图如下图3.1所示:

图3.1 儿童智能陪伴交互系统核心业务流程图

3.3 功能需求分析

本系统的核心功能需求围绕儿童智能陪伴的核心场景展开,基于前后端分离的架构设计,划分为六大核心功能模块,各模块的功能需求边界清晰,完整覆盖系统的核心业务流程。

(1)用户管理模块是系统运行的基础支撑模块,包含用户注册、用户登录、个人资料编辑三个核心子功能。系统为每个注册用户分配唯一的用户标识,存储用户的账号密码、姓名、年龄、兴趣爱好等核心信息,用户填写的年龄、兴趣爱好资料将作为个性化故事生成的核心依据。

(2)交互输入模块为用户提供与系统交互的核心入口,支持文本输入与语音输入两种交互方式。文本输入模式下,系统支持用户直接输入中文文本内容,完成内容的提交与预处理;语音输入模式下,系统支持用户上传本地音频文件与浏览器实时录音两种形式,对上传的音频文件进行格式校验,仅接受 wav、mp3、m4a 等合规音频格式,同时完成音频文件的预处理,适配语音转写接口的输入要求。

(3)情绪识别模块是系统实现情感化交互的核心模块,核心功能是对用户输入的文本内容完成层级化情绪识别。系统先对输入文本完成正向、负向、中性的三级分类,若识别结果为负向情绪,进一步完成愤怒、悲伤、恐惧三类情绪的细粒度识别。系统返回的识别结果包含顶级情绪标签、细粒度情绪标签、对应类别的置信度数值,同时将识别结果同步至内容生成模块,作为个性化故事生成的核心输入参数。

(4)内容生成模块是系统实现个性化陪伴的核心模块,核心功能是生成适配用户特征与情绪状态的儿童故事内容。系统结合用户的年龄、兴趣爱好个人资料、实时情绪识别结果、用户输入的文本内容,构建标准化的提示词,调用大语言模型 API 生成符合儿童认知水平、具备正向情绪引导作用的个性化故事内容,同时将生成的故事文本实时同步至前端界面完成展示。

(5)语音合成模块为故事内容提供音频播报能力,核心功能是将生成的故事文本转换为可播放的语音音频。系统调用语音合成 API 完成文本到语音的转换,生成符合儿童收听习惯的清晰音频,同时在前端界面提供音频的播放、暂停、停止控制功能,适配儿童的收听使用需求。

(6)会话管理模块为用户提供历史交互内容的管理能力,核心功能包含会话数据存储、历史会话查看、会话删除、新建会话四个子功能。系统自动保存用户每一次会话的全流程数据,包括用户输入内容、情绪识别结果、生成的故事内容、会话创建时间等信息,用户可在历史会话页面查看所有过往交互内容,支持打开历史会话、删除单条会话、新建空白会话的相关操作。

第四章 系统总体设计

本章基于系统分析阶段明确的需求边界,完成儿童智能陪伴交互系统的总体架构设计、功能模块设计,明确系统的整体结构与各模块的核心职责,为后续的系统开发与实现环节提供完整的设计依据。

4 .1 系统总体架构设计

本系统采用前后端分离的分层式架构设计,整体自上而下分为前端展示层、后端服务层、核心能力层与数据存储层四个层级,同时对接第三方服务提供能力支撑。前端展示层基于 Vue3 框架开发,为用户提供可视化交互界面,完成用户输入采集与处理结果展示。后端服务层基于 FastAPI 框架搭建,负责路由管理、请求分发、数据校验与业务逻辑调度。核心能力层集成情绪识别、语音处理、内容生成三大核心模块,是系统核心功能的实现载体。数据存储层基于 SQLite 实现,负责用户信息、会话数据的持久化存储。整体架构模块边界清晰,具备良好的可扩展性与可维护性。如下图4.1所示:

图4.1 儿童智能陪伴交互系统总体架构图

4.2 系统功能模块设计

本系统围绕儿童智能陪伴的核心业务需求,按照高内聚低耦合的设计原则,划分为五大核心功能模块,各模块边界清晰、职责明确,协同完成系统的全流程业务处理。该系统整体模块图如下图4.2所示:

图4.2 儿童智能陪伴交互系统功能模块图

各模块详细实现解析如下所述:

(1)用户管理模块:用户管理模块是系统运行的基础支撑模块,承担用户全生命周期的管理职责。该模块包含用户注册、登录校验、个人资料管理三个核心子功能,为每个注册用户生成唯一的身份标识,完成用户账号密码的加密存储与合法性校验。模块支持用户编辑年龄、兴趣爱好等个人资料,相关资料将作为后续个性化故事生成的核心输入参数。同时模块为系统所有核心业务接口设置身份校验机制,未完成登录的用户无法访问系统的核心交互功能,有效保障用户数据的安全性与系统的访问可控性。

(2)多模态交互输入模块:多模态交互输入模块是用户与系统进行交互的统一入口,核心职责是完成用户交互内容的采集、校验与标准化预处理。模块支持文本与语音两种输入模式,全面适配不同使用场景的需求。文本输入模式下,模块完成用户输入文本的首尾空白去除、非法字符过滤等预处理操作,保障输入内容的规范性。语音输入模式下,模块支持本地音频文件上传与浏览器实时录音两种形式,对上传的音频文件进行严格的格式校验,仅接受 wav、mp3、m4a 等合规音频格式,同时完成音频文件的标准化处理,为后续的语音转写环节提供符合要求的输入内容。

(3)层级化情绪识别模块:层级化情绪识别模块是系统实现情感化交互的核心技术模块,核心职责是精准识别用户输入文本中的情绪倾向,为个性化内容生成提供情绪依据。模块采用两级分类的架构设计,解决了单模型多分类任务中负向细分类样本识别准确率低的问题。第一级分类完成用户输入文本的正向、负向、中性三大类情绪判断,第二级分类仅在第一级结果为负向情绪时激活,进一步完成愤怒、悲伤、恐惧三类负向情绪的细粒度识别。模块最终输出包含顶级情绪标签、细粒度情绪标签、对应类别置信度的完整识别结果,同步传递至内容生成模块。

(4)个性化内容生成与语音播报模块:个性化内容生成与语音播报模块是系统实现儿童智能陪伴核心价值的业务模块,核心目标是生成适配用户特征与情绪状态的正向陪伴内容,并提供便捷的语音播报能力。模块结合用户的年龄、兴趣爱好等个人资料、实时情绪识别结果、用户输入的文本内容,构建标准化的提示词,调用大语言模型 API 生成符合儿童认知水平、具备正向情绪引导作用的个性化故事内容。同时模块对接语音合成接口,将生成的故事文本转换为发音清晰、语速适配儿童收听习惯的音频文件,在前端界面提供音频播放、暂停、停止的全流程控制功能,降低儿童的使用门槛。

(5)会话管理模块:会话管理模块承担用户交互数据的全流程存储与管理职责,为用户提供历史交互内容的回溯与管理能力。模块会自动保存用户每一次会话的全流程数据,包括用户输入的原始内容、语音转写结果、情绪识别结果、生成的故事文本、会话创建时间等完整信息,所有数据均与用户唯一身份标识绑定存储。模块支持用户新建空白会话、查看历史会话详情、删除指定会话的相关操作,满足用户对过往交互内容的回溯、整理与管理需求。

4.3 层级化情绪识别模型设计

层级化情绪识别模型是系统实现情感化交互的核心技术模块,其设计目标是精准识别儿童输入文本中的情绪倾向,为个性化内容生成提供可靠的情绪依据。

4.3.1 模型整体架构设计

针对单模型多分类任务中负向细分类样本训练不充分、识别准确率低的问题,本系统设计层级化情绪识别模型架构。该架构将情绪识别任务拆分为两个独立的子任务,先完成正向、负向、中性的三级大类判断,再对负向情绪进行愤怒、悲伤、恐惧的细粒度识别,有效提升负向情绪的识别精度。整体架构包含文本预处理单元、两级分类模型、情绪结果整合单元三个核心部分,各部分通过标准化流程协同完成情绪识别任务。

4.3.2 两级分类子模型设计

两级分类子模型均基于 MacBERT 预训练语言模型构建,核心结构保持一致,仅分类头输出维度与训练数据集不同。模型输入为经过分词器处理的 Token 序列,统一长度为 192,超出部分截断,不足部分补全。模型核心采用 hfl/chinese-macbert-large 版本的编码器,包含 24 层 Transformer 结构,隐藏层维度为 1024,通过 令牌池化提取文本的全局语义特征。分类头为单层线性层,将 1024 维的特征向量映射为对应类别的概率分布,三级分类模型输出维度为 3,负向细分类模型输出维度也为 3。模型训练阶段采用交叉熵损失函数,优化器选用 AdamW,通过微调预训练权重适配情绪分类任务。如下图4.3所示:

图4.3 子模型设计流程图

4.3.3 推理流程设计

层级化情绪识别模型的推理流程严格按照两级分类的逻辑执行,避免不必要的计算开销。推理开始后,系统先对输入文本进行预处理,去除首尾空白字符,再通过 MacBERT 分词器将文本转换为固定长度的 Token 序列。Token 序列输入三级分类模型后,经过 Softmax 激活得到三个大类的概率分布,取概率最高的类别作为顶级情绪标签。若顶级标签为 negative,则将同一段 Token 序列继续输入负向细分类模型,得到愤怒、悲伤、恐惧三类的概率分布,取概率最高的作为细粒度情绪标签;若顶级标签为 positive 或 neutral,则不进行细分类。最后系统整合两级模型的预测结果,返回包含顶级标签、细粒度标签(如适用)、各类别置信度的完整响应。如下图4.4所示:

图4.4 推理流程设计图

4.4 数据库设计

4.4.1 数据库设计概述

本系统选用 SQLite 作为数据存储工具,该数据库为轻量级关系型数据库,无需独立部署服务器,配置流程简单,完全适配个人毕业设计项目的开发与演示需求。数据库的核心职责是持久化存储用户信息、登录会话、交互会话与消息数据,保障系统数据的完整性与可追溯性。数据库设计遵循关系型数据库规范化原则,通过外键约束建立表间关联关系,设置级联删除规则,确保数据一致性,避免冗余数据的产生。整体表结构简洁清晰,完全覆盖系统核心业务需求,便于后续开发与维护。

4.4.2 逻辑结构设计

逻辑结构设计的核心是梳理系统实体间的关联关系,明确数据的组织方式,为表结构的实现提供逻辑依据。系统共包含四个核心实体,分别为用户实体、登录会话实体、交互会话实体与消息实体。用户实体的核心属性包括用户唯一标识、用户名、密码哈希值、显示姓名、年龄、兴趣爱好等,是系统数据的核心主体。登录会话实体的核心属性包括会话令牌、关联用户标识、创建时间,用于保障用户身份认证的安全性。交互会话实体的核心属性包括会话唯一标识、关联用户标识、会话标题、创建与更新时间,用于组织用户的单次交互流程。消息实体的核心属性包括消息唯一标识、关联会话标识、消息角色、处理阶段、内容文本、附加数据等,用于存储交互的全流程细节。

实体间的关联关系均为一对多关系。用户实体与登录会话实体为一对多关系,一个用户可同时拥有多个有效的登录会话。用户实体与交互会话实体为一对多关系,一个用户可创建多个独立的交互会话。交互会话实体与消息实体为一对多关系,一个交互会话包含多条连续的交互消息。所有一对多关系均通过外键约束实现,并设置级联删除规则,当父实体被删除时,关联的子实体会自动同步删除,避免产生孤立的脏数据,保障数据库的一致性与完整性。

4.4. 3 数据库表结构

系统共设计四张核心数据表,分别为用户表、登录会话表、交互会话表与消息表,各表的具体结构如下:

表4.1 users(用户表)

|----|---------------|---------|----|----|-------------------|---------------------------|
| 序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
| 1 | id | INTEGER | 是 | 是 | AUTOINCREMENT | 用户唯一标识,自增主键 |
| 2 | username | TEXT | 否 | 是 | - | 用户名,唯一 |
| 3 | password_hash | TEXT | 否 | 是 | - | 密码哈希值(PBKDF2-HMAC-SHA256) |
| 4 | salt | TEXT | 否 | 是 | - | 密码盐值 |
| 5 | display_name | TEXT | 否 | 是 | - | 用户显示姓名 |
| 6 | age | INTEGER | 否 | 否 | NULL | 用户年龄 |
| 7 | interests | TEXT | 否 | 否 | NULL | 用户兴趣爱好 |
| 8 | created_at | TEXT | 否 | 是 | CURRENT_TIMESTAMP | 账号创建时间 |

表4.2 sessions(登录会话表)

|----|------------|---------|----|----|-------------------|-------------|
| 序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
| 1 | token | TEXT | 是 | 是 | - | 登录会话令牌,主键 |
| 2 | user_id | INTEGER | 否 | 是 | - | 关联的用户 ID,外键 |
| 3 | created_at | TEXT | 否 | 是 | CURRENT_TIMESTAMP | 会话创建时间 |

表4.3 conversations(交互会话表)

|----|------------|---------|----|----|-------------------|-------------|
| 序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
| 1 | id | INTEGER | 是 | 是 | AUTOINCREMENT | 会话唯一标识,自增主键 |
| 2 | user_id | INTEGER | 否 | 是 | - | 关联的用户 ID,外键 |
| 3 | title | TEXT | 否 | 是 | - | 会话标题 |
| 4 | created_at | TEXT | 否 | 是 | CURRENT_TIMESTAMP | 会话创建时间 |
| 5 | updated_at | TEXT | 否 | 是 | CURRENT_TIMESTAMP | 会话最后更新时间 |

表4.4 messages(消息表)

|----|-----------------|---------|----|----|-------------------|-----------------------------|
| 序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
| 1 | id | INTEGER | 是 | 是 | AUTOINCREMENT | 消息唯一标识,自增主键 |
| 2 | conversation_id | INTEGER | 否 | 是 | - | 关联的会话 ID,外键 |
| 3 | role | TEXT | 否 | 是 | - | 消息角色(user/assistant) |
| 4 | stage | TEXT | 否 | 是 | - | 处理阶段(input/emotion/story 等) |
| 5 | content | TEXT | 否 | 是 | - | 消息内容文本 |
| 6 | payload_json | TEXT | 否 | 否 | NULL | 附加数据 JSON(情绪识别结果、故事数据等) |
| 7 | created_at | TEXT | 否 | 是 | CURRENT_TIMESTAMP | 消息创建时间 |

第5章 系统详细实现

本章承接第四章系统总体设计内容,对应项目实际代码结构,从开发环境、后端服务、前端界面、核心模型工程化四个维度,讲解系统的落地实现细节,所有内容均贴合项目实际开发工作,无冗余理论与未实现功能。

5.1 系统开发与运行环境

本节明确系统全流程开发与运行的环境配置,与第二章基础技术选型、第四章总体设计形成闭环,为后续实现内容提供基础支撑。

5.1.1 硬件环境

系统硬件环境按模型训练、开发推理两个核心场景拆分,完全匹配项目开发与落地的实际需求。训练环境用于层级化情绪识别模型的微调与性能评估,核心配置为 NVIDIA RTX 系列显卡(16GB 及以上显存,支持 CUDA 加速)、多核 CPU 与 32GB 以上系统内存,可满足 MacBERT-Large 模型的批量训练需求,将单轮完整训练周期控制在合理范围内。开发与推理环境采用普通家用计算机配置,核心为 Intel i5 及以上性能 CPU、8GB 以上系统内存,无需独立 GPU 支持。该配置可稳定运行前后端完整服务,CPU 环境下单条文本情绪识别推理耗时控制在 300ms 以内,完全满足系统实时交互的使用需求。

5.1.2 软件环境

系统软件环境以稳定兼容、生态完善为选型原则,所有配置均经过实际开发与运行测试。操作系统支持 Windows 10/11、Linux Ubuntu 20.04 及以上版本,可适配不同开发与部署场景。后端核心开发语言采用 Python 3.10 及以上版本,配套 FastAPI 0.104.0 及以上版本作为 Web 服务框架,具备高性能异步处理能力。前端核心开发框架采用 Vue 3.5.13 版本,配合 Vite 5.4.8 构建工具,兼顾开发效率与前端页面渲染性能,所有版本均兼容项目所需的全部依赖库与功能组件。

5.1.3 项目核心依赖库

项目核心依赖库分为后端服务、模型开发两类,均对应项目 requirements.txt 中的固定版本,无冗余依赖。后端服务核心依赖包括:FastAPI≥0.104.0 用于 API 接口构建,Uvicorn≥0.24.0 用于 ASGI 服务运行,python-multipart≥0.0.6 用于前端音频文件接收。模型开发核心依赖包括:PyTorch≥2.0.0 用于模型加载与推理,Transformers≥4.35.0 用于 MacBERT 模型与分词器调用,Scikit-learn≥1.3.0 用于模型指标计算,配套 NumPy、Matplotlib 等基础工具库完成数据处理与可视化。前端核心依赖为 Vue 3.5.13、Vite 5.4.8,用于界面构建与项目打包。

5.2 后端服务核心功能实现

5.2.1 基础框架与接口规范实现

FastAPI 应用入口位于 app/main.py 文件,核心实现应用实例初始化、CORS 跨域配置、路由模块统一注册、数据库连接初始化,跨域配置放行前端开发地址http://127.0.0.1:5173,适配前后端分离开发模式。数据校验层基于 Pydantic 实现,通过 schemas 文件夹下的请求、响应数据模型,完成接口入参自动校验与出参标准化封装。身份认证采用会话令牌机制,通过中间件完成接口权限校验,路由按业务模块拆分封装,便于维护扩展。数据库连接通过上下文管理器实现会话的创建与销毁,采用参数化查询防范 SQL 注入风险。

5.2.2 核心业务服务模块实现

用户管理服务实现用户注册、密码加盐加密存储、登录身份校验、个人资料管理,采用 PBKDF2-HMAC-SHA256 算法保障密码安全。语音处理服务封装阿里云 ASR 与 TTS 接口,实现音频格式校验、语音转写、文本转语音全流程处理,配套完善的异常容错逻辑。情绪识别服务封装层级化推理逻辑,实现模型缓存、文本预处理、两级分类结果整合,避免模型重复加载。故事生成服务实现动态提示词构建、DeepSeek API 调用、生成内容校验,输出标准化的故事数据。会话管理服务实现交互会话的增删查改、对话消息存储,通过外键级联删除保障数据一致性。

5.3 前端交互界面实现

本节对应项目 frontend 目录代码结构,讲解 Vue3 前端交互界面的具体实现,与后端服务形成完整的交互闭环。

5.3.1 前端项目整体架构实现

前端项目基于 Vue3+Vite 技术栈搭建,采用模块化、组件化的开发模式,目录结构清晰划分,便于维护与扩展。项目核心目录包括 src/api、src/components、src/data 与 public 文件夹,分别对应 API 请求封装、功能组件、静态数据与公共资源。全局样式通过 src/styles.css 统一管理,采用响应式设计适配不同屏幕尺寸。API 请求客户端基于原生 Fetch API 封装,内置请求拦截逻辑,自动为所有请求携带会话令牌,完成身份认证。应用状态管理采用 Vue3 原生 Composition API,通过 reactive、ref 响应式 API 实现状态管理,无需引入额外第三方库,简化项目结构。

5.3.2 核心页面实现

登录注册页采用标签页切换设计,包含登录、注册两个表单,完成用户账号的创建与身份校验,验证通过后自动存储会话令牌并跳转主界面。

图5.1 登录注册页

主对话交互页采用左右分栏布局,左侧为聊天流展示区域,底部为文本、语音双输入入口;右侧为处理流程面板,实时展示各环节处理状态与情绪识别结果。

图5.2 主对话交互页

会话历史管理页采用表格布局,展示历史会话的核心信息,支持会话打开与删除操作。个人资料编辑页采用分栏布局,左侧为资料编辑表单,右侧为资料应用预览。

图5.3 会话历史管理页

5.3.3 核心功能组件实现

前端核心功能组件均封装在 src/components 文件夹中,遵循高内聚低耦合的设计原则,支持多场景复用。对话流展示组件通过 v-for 指令渲染消息列表,按消息角色、类型匹配不同的样式布局,完整展示交互全流程内容。语音输入 / 上传组件整合本地文件上传、浏览器实时录音两大功能,基于 MediaRecorder API 实现录音控制,自动完成音频文件的上传与处理。故事音频播放组件封装在故事卡片中,基于 HTML5 Audio API 实现音频的播放、停止控制,自动处理音频资源的加载与释放。情绪识别结果展示组件采用可视化形式,直观呈现各类情绪的置信度分数,提升结果的可读性。

5.3.4 前后端交互实现

前后端交互通过 src/api/client.js 封装的标准化函数实现,每个后端接口对应独立的前端调用函数,实现逻辑解耦。请求拦截逻辑自动为所有业务接口添加 Authorization 请求头,携带本地存储的会话令牌,完成用户身份的自动校验。响应处理逻辑自动解析 JSON 格式的返回数据,按 HTTP 状态码与业务状态码判断请求结果,区分成功与异常场景。系统处理流程的状态同步通过 Vue3 响应式变量实现,每个处理环节完成后自动更新状态,界面实时刷新展示最新进度。异常场景通过全局消息提示组件实现友好反馈,错误信息清晰明确,便于用户理解与操作。

5.4 层级化情绪识别模型工程化实现

5.4.1 模型微调与权重固化实现

模型微调基于 SMP2020-EWECT 中文情绪数据集完成,数据集按官方划分分为 1.5 万条训练集、5000 条验证集、5000 条测试集,完全匹配两级分类模型的训练需求。微调流程通过 scripts/training/trainer.py 中的 EmotionTrainer 类实现,完整覆盖数据加载、模型初始化、训练循环、验证评估全流程。最优模型权重以验证集 Macro F1 值为核心筛选标准,每个epoch结束后保存指标最优的权重文件,固化为 PyTorch 的.pt 格式,统一存储在 models/checkpoints 目录下。模型训练结果通过训练曲线、混淆矩阵可视化呈现,模型的收敛过程与分类表现如下图5.4 至5.8所示:

图5.4 三级分类模型训练曲线

三级分类模型训练曲线如图5-4所示,横轴为训练轮数,左纵轴为 Loss 值,右纵轴为 Macro F1 值,曲线显示训练过程稳定收敛,无明显过拟合现象。

图5.5 三级分类模型测试集混淆矩阵

三级分类模型测试集混淆矩阵如图 5-5 所示,矩阵显示 negative 类别识别准确率最高,positive 与 neutral 类别存在少量交叉混淆。

图5.6 负向细分类模型训练曲线

图5.7 负向细分类模型测试集混淆矩阵

负向细分类模型训练曲线如图5-6所示,测试集混淆矩阵如图5-7所示,矩阵显示 angry 类别表现最佳,sad 与 fear 类别存在少量混淆。

5.4.2 模型推理优化实现

模型推理优化以降低资源占用、提升响应速度为核心目标,通过多项工程化措施完成优化。推理前将模型切换为 eval 模式,关闭 Dropout 与 BatchNorm 的训练行为,保证推理结果的稳定性;通过 torch.no_grad () 上下文管理器关闭梯度计算,大幅减少内存占用,提升推理速度。采用单例缓存机制实现模型与分词器的复用,首次加载后将实例缓存至内存,后续推理直接复用,避免重复加载带来的性能开销。通过 torch.device 实现 CPU/GPU 环境自适应,优先使用 CUDA 设备加速,无可用 GPU 时自动回退至 CPU 环境,保障模型在不同硬件环境下的正常运行。

5.4.3 层级化推理逻辑的工程化实现

层级化推理逻辑基于 HierarchicalEmotionService 类的 predict 方法实现,核心解决单模型多分类任务中负向细分类识别准确率低的问题。推理全流程遵循严格的串行分支逻辑:首先对输入文本完成清洗预处理,去除首尾空白字符;再输入三级分类模型,得到正向、负向、中性三类的概率分布,取最高概率为顶级标签;若顶级标签为负向,则继续调用负向细分类模型,完成愤怒、悲伤、恐惧三类的细粒度识别,否则跳过细分类环节。最终整合两级模型的预测结果,输出标准化的响应对象,同时配套完善的异常容错逻辑,针对模型加载、推理超时等场景返回友好的错误提示。

5.4.4 模型与后端服务的集成实现

模型与后端服务的集成以服务高可用、低延迟为核心原则,完成推理服务与 FastAPI 框架的深度适配。模型服务采用全局单例初始化模式,在 FastAPI 应用启动时完成 HierarchicalEmotionService 实例的创建与模型加载,将模型权重提前载入内存,避免每次接口请求重复加载模型,大幅降低接口响应延迟。模型服务与业务接口通过 FastAPI 依赖注入机制对接,情绪识别、故事生成接口均可直接调用服务实例完成推理,实现逻辑解耦。高并发场景下,依托 PyTorch eval 模式下的多线程并发推理能力,无需额外锁机制即可保障多用户同时访问时的服务稳定性与响应速度。

第六章 系统测试

6.1 测试概述与测试环境

6.1.1 测试目的

本次系统测试的核心目的,是全面验证儿童智能陪伴交互系统是否实现前期需求分析中明确的全部功能,检验系统核心业务流程是否可完整闭环运行,验证系统性能是否满足实时交互的设计要求,同时检验系统在各类异常场景下的容错能力与运行稳定性。通过全覆盖的测试工作,定位系统存在的缺陷并完成优化,最终确认系统可稳定适配家庭日常陪伴、幼教辅助教学等目标场景的使用需求,为系统的最终交付提供完整的测试依据。

6.1.2 测试环境

本次测试的软硬件环境与系统开发、推理运行环境保持一致,确保测试结果可真实反映系统的实际运行表现,具体环境配置如下:

表6-1 系统测试环境

|------|---------------------------------------------------------------------------------------------------------------------------------------|
| 环境类型 | 核心配置参数 |
| 硬件环境 | 处理器:Intel i7-10700 8 核 16 线程;内存:16GB DDR4;显卡:NVIDIA RTX 3060 12GB(支持 CUDA);存储:512GB SSD |
| 软件环境 | 操作系统:Windows 11 专业版;后端运行环境:Python 3.10,FastAPI 0.104.0,PyTorch 2.0.0;前端运行环境:Node.js 18.0.0,Vue 3.5.13,Vite 5.4.8;浏览器:Chrome 120.0 正式版 |

本次测试采用黑盒测试为主、白盒测试为辅的测试方法,黑盒测试从用户视角验证系统功能与交互流程的完整性,白盒测试验证核心业务代码的逻辑正确性与异常处理机制的有效性。

6.2 系统功能测试

系统功能测试以第三章功能需求分析明确的五大核心功能模块为基础,设计全覆盖的测试用例,验证每个功能模块的运行效果是否符合设计预期。所有测试用例均模拟用户的真实使用场景,覆盖系统全流程业务闭环,核心测试用例与结果如下表所示:

表6-2 核心测试用例表

|----|-------------|----------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|-----------|------|
| 序号 | 测试模块 | 测试内容 | 预期结果 | 实际结果 | 测试结论 |
| 1 | 用户管理模块 | 1. 输入合规的用户名、密码、个人信息完成用户注册;2. 使用注册的账号密码完成登录;3. 编辑个人年龄、兴趣爱好信息并保存 | 1. 注册成功,账号信息正常存入数据库;2. 登录校验通过,生成有效会话令牌,跳转主界面;3. 个人资料更新成功,数据库信息同步修改 | 与预期结果完全一致 | 通过 |
| 2 | 多模态交互输入模块 | 1. 输入合规中文文本内容并提交;2. 上传 wav 格式音频文件;3. 通过浏览器录制语音并提交 | 1. 文本内容正常提交至后端,完成预处理;2. 音频文件正常上传,格式校验通过;3. 麦克风权限申请通过,录音正常完成并自动上传 | 与预期结果完全一致 | 通过 |
| 3 | 层级化情绪识别模块 | 1. 输入正向情绪文本;2. 输入中性情绪文本;3. 输入负向情绪文本(愤怒、悲伤、恐惧三类) | 1. 正确识别为 positive 标签,输出对应置信度;2. 正确识别为 neutral 标签,输出对应置信度;3. 先识别为 negative 标签,再完成细粒度分类,输出对应细粒度标签与置信度 | 与预期结果完全一致 | 通过 |
| 4 | 内容生成与语音播报模块 | 1. 结合用户资料与情绪识别结果,触发故事生成;2. 点击故事音频播放按钮 | 1. 生成符合用户年龄、兴趣、情绪状态的个性化故事,内容结构完整;2. 正常调用 TTS 服务生成音频,实现播放、停止控制 | 与预期结果完全一致 | 通过 |
| 5 | 会话管理模块 | 1. 新建空白会话;2. 查看历史会话列表与详情;3. 删除指定会话 | 1. 会话创建成功,数据库同步生成会话记录;2. 历史会话列表正常加载,会话详情完整展示;3. 会话删除成功,关联的消息记录同步级联删除 | 与预期结果完全一致 | 通过 |

所有核心功能测试用例均全部通过,系统的业务流程可完整闭环运行,所有功能均符合前期需求分析与设计要求,无功能性缺陷。

6.3 系统性能测试

系统性能测试以实时交互、低延迟响应为核心目标,针对系统核心性能瓶颈点设计测试指标,验证系统在实际使用场景下的性能表现是否达标。本次测试选取3项核心性能指标,测试方法与结果如下:

(1)情绪识别推理速度:该指标为系统核心性能指标,直接影响交互响应的实时性,分别在 CPU、GPU 两种环境下完成测试,单条测试文本长度为 50-100 个汉字,重复测试 100 次取平均值。测试结果显示,GPU 环境下(RTX 3060)单条文本推理耗时为 30-50ms,CPU 环境下(i7-10700)单条文本推理耗时为 200-300ms,均满足实时交互的响应要求。

(2)端到端全流程响应时间:该指标模拟用户真实使用场景,测试从用户提交内容到系统返回完整故事内容的全流程耗时,重复测试 50 次取平均值。测试结果显示,文本输入场景下,端到端平均响应时间为 3-5 秒;语音输入场景下,端到端平均响应时间为 5-10 秒,响应速度符合用户日常使用的体验要求,耗时主要取决于第三方 API 的响应速度。

(3)并发处理能力:该指标验证系统多用户同时使用时的稳定性,采用 10 个并发线程模拟多用户同时发起情绪识别与故事生成请求,持续测试 3 分钟。测试结果显示,FastAPI 异步架构可正常处理所有并发请求,无请求超时、服务崩溃的情况,请求成功率为 100%,平均响应时间无明显增长,可满足多用户同时使用的场景需求。

6. 4 测试结果总结

本章通过功能测试、性能测试、异常场景测试三类测试工作,对儿童智能陪伴交互系统完成了全流程、全覆盖的验证,最终测试结果如下:

功能测试层面,系统五大核心功能模块的所有测试用例均全部通过,核心业务流程可完整闭环运行,所有功能均符合前期需求分析与系统设计的要求,无功能性缺陷,可完整实现语音 / 文本交互、层级化情绪识别、个性化故事生成、语音播报、会话管理等核心能力。

性能测试层面,系统的核心性能指标均达到设计目标,情绪识别推理速度满足实时交互要求,端到端响应时间符合用户使用体验,异步架构可支持多用户并发访问,系统资源占用低,普通家用计算机即可稳定运行,无硬件使用门槛。

整体来看,系统已完全实现课题设计的全部目标,可稳定适配目标场景的使用需求。

总结

本课题针对传统儿童陪伴产品情感交互能力不足、功能分散、使用门槛较高的现实痛点,设计并实现了一套基于 FastAPI 的儿童智能陪伴交互系统,完整完成了从需求分析、方案设计、开发实现到测试验证的全流程研究工作。

课题核心研究成果分为三个部分。其一,针对中文儿童情绪识别场景,设计层级化情绪识别模型,解决了单模型多分类任务中负向细分类样本识别准确率低的问题,基于 MacBERT 预训练模型完成两级分类模型的微调与工程化落地,实现了儿童输入文本情绪的精准识别。其二,采用前后端分离架构,基于 FastAPI 搭建高性能异步后端服务,基于 Vue3 完成轻量化前端交互界面开发,完整实现用户管理、多模态交互输入、个性化内容生成、会话管理等核心功能,形成全流程一体化的智能陪伴解决方案。其三,通过全覆盖的系统测试验证,系统核心功能全部达标,性能满足实时交互需求,具备完善的异常容错能力,可稳定适配目标场景的使用需求。

系统仍存在可优化空间,后续可通过超时重试、本地缓存机制优化第三方 API 响应波动问题,同时可扩展多模态情绪识别能力。本课题的研究成果为同类儿童智能陪伴系统的开发提供了可参考的实践方案,具备一定的实际应用价值。

参考文献

  1. 李明亮,谢桂芳,刘灵丽,等.情感陪伴智能桌面萌宠系统的研究与设计J.现代计算机,2024,30(20):87-91.
  2. 陈虹君,基于深度学习的情感交互式居家养老智能陪伴系统的关键技术的研究与应用.四川省,成都锦城学院,2024-04-28.
  3. 阿怀全,孙国婧,胡雪婵.老年人智能言语陪伴系统中的话轮转换策略研究J.中国听力语言康复科学杂志,2022,20(05):393-395+400.
  4. 彭俊杰.面向机器智能的情感分析J.自然杂志,2024,46(02):150-156.
  5. 李代成,李晗,刘哲宇,等.基于MacBERT的融合依存句法信息和多视角词汇信息的中文命名实体识别方法J.计算机科学,2025,52(S1):290-297.
  6. 焦科元.融合MacBERT和BiLSTM-CNN的直播弹幕多分类情感分析研究D.三峡大学,2024.DOI:10.27270/d.cnki.gsxau.2024.000275.
  7. 罗昕东.基于MacBERT的餐饮评论情感分析研究D.大连交通大学,2023.DOI:10.26990/d.cnki.gsltc.2023.000798.
  8. 龙萄萄.基于机器学习模型行为的序列化漏洞检测技术D.北京邮电大学,2025.DOI:10.26969/d.cnki.gbydu.2025.000866.
  9. Prem T .Building Transformer Models with PyTorch 2.0:NLP, computer vision, and speech processing with PyTorch and Hugging Face (English Edition)M.BPB Publishers:2024-03-08:DOI:10.0000/9789355517494.
  10. Xu Y .Extraction of production process standard entity relationships based on MacBERT-BiGRU-IDCNN-CRFJ.Procedia Computer Science,2025,266916-922.DOI:10.1016/J.PROCS.2025.08.114.
  11. Yuan C ,Tang F ,Shan C , et al.Exploring Named Entity Recognition via MacBERT-BiGRU and Global Pointer with Self-AttentionJ.Big Data and Cognitive Computing,2024,8(12):179-179.DOI:10.3390/BDCC8120179.
  12. Singh A ,Singh K P ,Tiwari K R .An intelligent and parameter-efficient fine-tuning of protein language model for dephosphorylation site prediction.J.Journal of biomolecular structure & dynamics,2026,1-16.DOI:10.1080/07391102.2026.2645103.

本论文的完成,标志着我的本科四年学业生涯即将落下帷幕。从课题选题、需求分析,到系统设计开发、论文撰写修改的全流程,离不开师长、亲友与同学的帮助支持,在此我谨向他们致以最诚挚的谢意。

首先,我由衷感谢我的毕业设计指导老师。从课题定题之初,老师便结合我的技术能力与研究兴趣,为我明确了儿童智能陪伴交互系统的研究方向,帮我梳理了论文的核心逻辑与研究主线。在系统开发阶段,针对层级化情绪识别模型的选型落地、FastAPI 后端服务的架构设计等核心难点,老师给予了我针对性的指导建议,帮我解决了开发过程中遇到的诸多技术难题。在论文撰写阶段,老师逐字审阅我的初稿,从章节结构、逻辑脉络到语言规范,都提出了细致的修改意见,让我的论文得以不断完善。老师严谨的治学态度、扎实的专业功底与耐心的指导风格,让我受益匪浅,在此再次向老师致以最诚挚的感谢。

同时,我要感谢学院的各位授课老师。本科四年间,各位老师在软件工程、深度学习、Web 应用开发等课程上的悉心讲授,为我打下了扎实的专业理论基础,让我具备了完成本次毕业设计所需的技术能力,也为我后续的职业发展筑牢了根基。感谢我的同学与朋友们,在毕业设计的攻坚阶段,我们互相交流技术问题、分享开发经验,在我遇到瓶颈时给予了诸多鼓励与帮助,让我能够顺利完成系统开发与论文撰写。

相关推荐
卷无止境4 小时前
FastAPI 的可观测性进化,从打日志到看清整个系统的呼吸
后端·python·fastapi
虎虎(_ _)。゜zzZ4 小时前
FastAPI-lifespan生命周期管理实战
mysql·aigc·fastapi·大模型部署·lifespan·python异步
卷无止境4 小时前
FastAPI 的 CI/CD 之路,从代码提交到线上运行
后端·python·fastapi
敢敢のwings6 小时前
DAWN:世界-动作交互模型的黎明
交互
一马平川的大草原1 天前
基于GeoToolKit实现连井剖面对比显示及交互
交互·geotoolkit·多井
lilian2332 天前
HarmonyOS 7 新特性(十三)|3DGS 模型加载、交互与性能回退
3d·交互·harmonyos
Broccoli523026652 天前
FastAPI 与跨域资源共享 CROS
fastapi
呆呆敲代码的小Y2 天前
【游戏开发】Lua 与 C# 交互原理解析
c#·lua·交互·热更新·lua与c#交互·游戏热更新