当前位置: 首页 > news >正文

情感识别实践(一):从零构建情感数据集,踩过的坑都在这里

在做离线转记系统的时候,我们往往会把重点放在 ASR(语音识别)的准确率上,但真正上线以后才发现,仅仅识别出文字远远不够。

用户真正关心的是:"他说这句话的时候,到底是在生气、开心、质疑还是抱怨?"

这就是情感识别(Sentiment Analysis)的价值所在。

最近在迭代**熙瑾会悟(离线转记)**项目时,我们新增了情感识别模块,希望能够在会议记录、访谈纪要以及业务沟通中,自动分析说话人的情绪状态,为后续的风险分析、重点事件提取、智能摘要等能力提供基础数据支撑。

然而真正开始训练模型以后,第一个难题并不是模型,而是数据集

网上公开的数据集很多,但真正能直接应用到离线转记场景的数据却非常少。很多数据要么过于口语化,要么都是微博评论、电商评价,与会议、访谈、业务交流等正式场景存在较大差异,模型训练出来的效果并不理想。

于是,我们最终决定:自己构建一套适用于离线转记场景的情感数据集。

一、为什么要自己构建情感数据集?

很多同学第一反应都会想到:

不是已经有很多公开数据集了吗?

例如:

数据集

应用场景

存在的问题

ChnSentiCorp

酒店评论

偏向评论语料

NLPCC

微博评论

网络语言较多

SMP

社交平台

与会议语境差异较大

CLUE Emotion

新闻文本

缺少真实对话

这些数据集用于论文实验完全没有问题,但是放到实际业务中,会发现很多问题。

举个例子:

"这个方案暂时先放一下。"

如果放在评论场景,它可能属于中性

但是在会议里面,这句话往往意味着:

不认可

暂停推进

否定方案

风险提示

情感实际上偏向消极

再比如:

这个问题后面我们再讨论。

很多公开模型会认为这是中性。

但结合上下文,很可能表达的是:

"目前我不认可你的方案。"

因此,仅依赖公开数据训练出来的模型,在会议场景中的准确率会明显下降。

经过几轮测试,我们发现:

模型的问题,80%其实来自数据。

所以,我们决定重新设计适合离线转记场景的数据集。

二、离线转记情感数据集整体构建流程

整个数据集构建过程并不是简单地收集文本,而是经历了数据采集、清洗、标注、增强、审核以及训练多个阶段。

下面是整个流程。

图1:离线转记情感数据集构建流程

整个流程中,我们主要采用了以下技术:

技术

作用

Whisper

离线语音转文字

Python

数据处理

Pandas

数据统计

jieba

中文分词

正则表达式

文本清洗

Label Studio

人工标注

BERT

文本情感分类

RoBERTa

深层语义建模

MacBERT

中文语义优化

PyTorch

模型训练

其中,真正耗费时间最多的,并不是训练模型,而是前面的数据准备阶段。

三、问题一:数据来源杂乱,语料质量参差不齐

这是我们遇到的第一个问题。

离线转记的数据来源非常复杂,例如:

会议录音

电话录音

培训视频

访谈节目

客服语音

政务会议

企业内部讨论

这些数据最大的特点就是:

非常真实,也非常"脏"。

例如:

嗯...

那个...

这个...

啊...

就是...

其实吧...

还有大量:

哈哈哈哈

(笑)

......

嗯嗯嗯

好的好的好的

甚至还有:

(敲门声)

(咳嗽)

(掌声)

(环境噪音)

如果直接用于训练模型,会导致模型大量学习这些没有意义的信息。

模型最终会认为:

"哈哈哈哈"

比真正的业务内容更重要。

这是典型的数据污染。

解决方案

我们的第一步就是建立统一的数据清洗流程。

主要包括:

✅ 去除 ASR 噪声

那个

就是

然后

全部过滤。

✅ 去除特殊字符

例如:

*****

。。。

!!!

???

……

统一规范。

✅ 去除重复文本

例如:

好的好的好的好的

统一处理成

好的

✅ 删除无意义停用词

例如:

就是

然后

其实

基本上

差不多

通过停用词词典进行过滤。

整个流程如下:

原始文本

ASR纠错

特殊字符清洗

停用词过滤

重复文本去重

标准化文本

经过这一轮处理后,我们的数据质量提升了很多。

模型训练时 Loss 曲线明显更加平滑,收敛速度也提升了不少。

四、问题二:情感标签定义混乱,人工标注一致性低

第二个问题,其实比数据清洗更棘手。

最开始,我们让不同的同事对同一批文本进行情感标注。

结果发现,同一句话,不同的人给出的标签完全不同。

例如:

这个方案可以,不过风险还是比较大。

有人标记:

积极

有人认为:

中性

还有人直接标记:

消极

后来分析原因才发现,并不是大家理解能力不同,而是没有统一的标注标准

如果数据标签本身就是混乱的,再好的模型也学不到正确的规律。

解决方案

针对这一问题,我们重新设计了适用于离线转记业务的情感标签体系,不再简单划分为"积极、消极、中性",而是结合会议场景增加业务语义。例如:

一级标签

二级标签

示例

积极

认可、支持、满意

"这个方案可以继续推进。"

中性

描述、陈述、说明

"项目计划下周上线。"

消极

否定、质疑、抱怨

"目前风险还是比较大。"

风险

警告、异常、延期

"这个节点可能无法按时完成。"

同时,我们制定了统一的标注规范:

每条数据至少由2 名标注人员独立标注;

标签不一致时进入复审流程

对存在争议的样本建立案例库,持续优化标注规则;

定期统计标注一致率(如 Cohen's Kappa),评估数据质量。

经过几轮迭代,标注一致率显著提升,模型训练得到的数据基础也更加稳定。

数据集构建总体架构(中文版)

图2:熙瑾会悟离线转记情感数据集构建整体架构(中文版)

http://www.jsqmd.com/news/1138726/

相关文章:

  • Weblogic T3协议漏洞CVE-2018-2628:3种临时缓解方案与官方补丁修复对比
  • 餐桌上的“隐形抗生素”:阿奇霉素残留,你了解多少?
  • 荨麻疹应该用什么
  • 如何一键录制猫耳FM音频直播:2024终极多平台直播录制工具全攻略
  • YOLO目标检测实战:从数据标注到模型部署完整指南
  • [英文] 连读规则(六级听力常用)
  • 前端封神、推理拉胯:Gemini 3.5 Pro 真能干翻 Fable 5 吗?
  • 日志系统统一:跨平台日志收集与输出(109)
  • 云手机和模拟器差别在哪?从底层架构讲清性能差距根源
  • 基于零代码平台的自媒体运营分析-数据清洗与预处理
  • 基于MP8859与PIC18F的智能DC-DC降压电源设计
  • PCB差分对布线避坑指南:3种拓扑结构对比与5%长度匹配实测
  • 8G显存本地部署AI漫剧生成:角色一致性、分镜与视频全流程测试
  • 企业级Agent平台技术解析:从语言理解到任务闭环的工程实现
  • 广告花得不算少,转化却被竞品压着打?这条 Amazon 宠物防滑袜 Listing 输在“没把双面防滑讲透”
  • uni-app + Spring Boot 实现 WiFi/蓝牙双因子考勤:设备配置、距离校验和打卡证据链
  • 开发板选型复盘:为什么我先用 ESP32-S3-LCD-1.47 做原型
  • GeoTools 实战(二):空间数据格式转换全解析——Shp ↔ GeoJSON ↔ WKT(GeoTools 29.3 + JTS 1.19.0 实战版)
  • 知识的符合程度或者匹配程度度量方法
  • 旅行Agent开发者的机会:中国AI酒店预订爆发式增长
  • 拆解Qwen编程榜单:为什么登顶不等于真实可用
  • 线程池 / I/O复用 / 协程 简要备忘录
  • 地陪APP平台系统开发公司,为什么复购客户才是真正的利润来源
  • 选私域直播系统?你一定要看清楚这几个点!
  • 写论文的神助攻!好用的一键生成论文工具,秒出初稿不费力
  • 本地部署AI生图与视频生成:完整解决方案与实战指南
  • 免费本地AI部署指南:开源工具实战与性能优化
  • 资源权限与钱包流水在即时通讯源码后端架构中的设计
  • NCP1015 反激变换器 PCB 布局 10 条黄金法则:从原理图到 6.5W 双路输出实战
  • AI第四次范式转移:从Prompt到Loop,普通人如何落地循环机制