语音情感分析技术解析:声学与词汇信息融合
人类语音通过词汇内容及说话方式传递情感信息。在语音助手等语音计算系统及呼叫中心等人际交互场景中,自动理解语音情感对提升用户体验至关重要。
某中心Chime SDK团队近期发布的语音情感分析模型,采用机器学习从语音信号中估计情感。该模型采用深度神经网络(DNN)架构,同步提取并分析词汇/语言信息与声学/音调信息。推理过程在短语音片段上实时运行,返回片段表达积极、中性或消极情感的概率集合。
DNN架构与两阶段训练
传统语音情感分析方法通常包含两个步骤:估计预定义的信号特征(如音高和频谱能量波动),并基于这些特征分类情感。这类方法对短情感语句有效,但对自然对话语音的性能较差。
自然对话中,词汇特征对情感传递起关键作用。除声学特征方法外,部分情感分析方法仅通过语音转录文本分析词汇特征。
某中心的语音情感分析采用混合方法:首先使用具有编码器-解码器架构的自动语音识别(ASR)模型,确保模型同时包含声学特征和语言信息。训练模型识别情感和语音后,冻结其编码器作为情感分类模型的前端。
两阶段训练流程:
- 训练ASR模型同时识别情感和语音
- 冻结ASR编码器作为情感分类模型前端
模型的ASR分支和分类分支均由深度学习前端馈送,该前端通过自监督预训练提取有意义的语音信号特征(而非传统预定义声学特征)。ASR分支的编码器对应声学模型,将声学信号特征映射到词块或音素的抽象表示;解码器对应语言模型,将这些块组合成有意义的词汇。
ASR训练中,前端保持固定,使用带情感标签的转录文本(如"Positive I am so happy")训练编码器和解码器参数。损失函数评估模型将输入特征映射到情感标签和转录文本的效果,使编码器同时学习音调信息和词汇信息。
完成ASR训练后,使用预训练前端和训练后的ASR编码器构建分类器分支。编码器输出连接到轻量分类器,前端和ASR编码器参数均被冻结。随后使用带情感标签的语音输入训练分类器,输出积极、中性和消极情感的概率,并检测语音存在(即输入是否包含语音)。
训练第二分类分支的目的是聚焦于ASR编码器中与情感估计和语音存在相关的输出,弱化与输入语句实际转录对应的输出。
使用异构数据集训练
传统语音情感分析模型通常使用小规模短语句数据集训练,这对自然对话分析效果有限。本研究组合使用多个数据集。
多任务学习方法要求所有训练数据集包含转录文本和情感标签。但现有数据集未必同时具备两者。对于有转录文本无情感标签的数据集,使用某中心Comprehend从转录文本估计基于文本的情感;对于有情感标签无转录文本的数据集,使用某中心Transcribe估计转录文本;对于既无转录文本也无情感标签的语音数据集,同时使用Transcribe和Comprehend估计两者。
通过伪标签技术组合异构数据集进行训练:
- 含转录无标签 → 文本情感估计
- 含标签无转录 → 语音转录生成
- 无转录无标签 → 双重估计
采用数据增强确保输入信号条件的鲁棒性。增强堆栈包括频谱增强、语速变化(95%、100%、105%)、混响和加性噪声(0dB至15dB信噪比)。除使用多样化数据集训练外,还使用多样化数据测试,评估模型在不同人口群体数据截面上的性能以确保公平性。
测试表明,混合模型性能优于仅依赖文本或声学数据的传统方法。
情感标签的偏差减少
由于训练数据集中情感标签频率不均匀,采用多种偏差减少技术:
- ASR训练阶段:对数据进行采样使情感标签分布均匀
- 分类器训练阶段:对每个情感类别的损失函数组件加权,使其与相应情感标签频率成反比
数据集中性情感通常比积极或消极情感更普遍。采样和损失函数加权技术可减少中性、积极和消极类别检测率的偏差,提高模型准确性。
实时推理
语音情感分析的推理模型包含预训练前端、训练后的ASR编码器和训练后的分类器。分类器的计算成本远低于ASR解码器,意味着语音情感分析系统可以以更低成本运行推理。
该语音情感分析模型已作为语音分析功能部署于某中心Chime SDK呼叫分析中。在生产配置中,每2.5秒对5秒语音片段运行一次,提供语音存在和情感的实时概率估计。模型配置使用短期情感概率计算过去30秒活动语音及整个语音信号持续时间的情感估计。