基于Attention机制的BiLSTM语音情感识别研究与系统实现
1.摘要
以往的情感分类大多是基于粗粒度进行的,针对七分类情感语料进行的研究不多,且最终的情感分类结果只包含一种情感,很少对多情感共存现象进行研究,因此不能完全体现用户情感的丰富性。
针对这些不足,本文提出一种基于Attention与BiLSTM模型的多情感分类方法,通过BiLSTM模型构建五个情感分类器来获取文本上下文关系,分别是1.愤怒;2.无聊;3.焦虑;4.幸福;5.悲伤;6.厌恶;7. 中立(如Happiness、Anger、Sadness、Fear、Surprise等)情感分类器,引入Attention机制来表示不同特征的重要性,增强上下文语义信息,并获取更深层次特征,最后通过Softmax进行回归,完成所属情感的预测。通过对基于Attention与BiLSTM模型的实验结果进行分析得出结论:基于Attention与BiLSTM模型的多情感分类方法研究可以更为准确的判别文本的多种情感,取得了更好地分类效果,验证了模型的有效性。
基于研究结果建立语音检测平台。设计由服务器计算支持,编程完成语音检测平台网页搭建。用Flask搭建网页框架,用html编写网页前端,采用HTTPS协议实现服务器和浏览器间的内容传输。在该检测平台完成情绪检测。经实验验证论文完成的算法是有效的。
2. Attention-BiLSTM模型的设计与实验
2.1 Attention-BiLSTM模型结构及核心代码
本文提出一种基于Attention与BiLSTM的多情感分类模型,并将其应用在语音情感分类研究中。Attention与BiLSTM模型如图所示,首先Attention机制增强上下文语义信息,并获取更深层次特征,最后通过Softmax进行回归,完成所属语音情感的预测。
模型核心代码如下:
input = keras.Input(shape=(pre_proc.N_FRAMES, pre_proc.N_FEATURES))states, forward_h, _, backward_h, _ = layers.Bidirectional(layers.LSTM(units, return_sequences=True, return_state=True))(input)last_state = layers.Concatenate()([forward_h, backward_h])hidden = layers.Dense(units, activation="tanh", use_bias=False,kernel_initializer=keras.initializers.RandomNormal(mean=0., stddev=1.))(states)out = layers.Dense(1, activation='linear', use_bias=False,kernel_initializer=keras.initializers.RandomNormal(mean=0., stddev=1.))(hidden)flat = layers.Flatten()(out)energy = layers.Lambda(lambda x:x/np.sqrt(units))(flat)normalize = layers.Softmax(name="alpha")alpha = normalize(energy)context_vector = layers.Dot(axes=1)([states, alpha])context_vector = layers.Concatenate()([context_vector, last_state])pred = layers.Dense(pre_proc.N_EMOTIONS, activation="softmax")(context_vector)model = keras.Model(inputs=[input], outputs=[pred])
2.2 数据集介绍
EMODB 数据库是免费提供的德国情感数据库。该数据库由德国柏林工业大学通信科学研究所创建。十名专业演讲者(五男五女)参与了数据记录。该数据库总共包含 535 个话语。EMODB 数据库包含七种情绪:1)愤怒;2)无聊;3)焦虑;4)幸福;5)悲伤;6)厌恶;7) 中立。数据以 48 kHz 的采样率记录,然后下采样至 16 kHz。。该数据库由德国柏林工业大学通信科学研究所创建。十名专业演讲者(五男五女)参与了数据记录。该数据库总共包含 535 个话语。EMODB 数据库包含七种情绪:1)愤怒;2)无聊;3)焦虑;4)幸福;5)悲伤;6)厌恶;7) 中立。( 1) anger; 2) boredom; 3) anxiety; 4) happiness; 5) sadness; 6) disgust; and 7) neutral.)
2.3 实验结果分析
本文提出的Attention与BiLSTM模型的F1值为0.57,证明本文提出的Attention与BiLSTM模型很好的考虑文本情感之间的关联,解决情感语义信息丢失问题,通过多情感分类器预测帖子可能存在的所有情感,更加符合人类的情感丰富性。同时根据多情感共存的情况在情感分类任务中占有较大的比重这一现象及实验结果来看,Attention与BiLSTM模型的多分类器是提高了模型Marco-F1值的关键因素之一。
其实验结果图如下:
3. 语音识别系统实现
3.1 环境搭建
对于提到的语音情感识别方法平台为基于Windows操作系统的个人主机,深度学习框架采用的是tensorflow和Keras,其中TensorFlow作为Keras的后端。具体配置如下:
python3.6.5、tensorflow=1.12、Keras=2.2.4、flask==1.0.2 、librosa等
3.2 系统实现与展示
Flask是使用Python编写的Web微框架。Flask主要依赖两种工具,一个是Web服务器网关接口(Web ServerGateway Interface WSGI)工具集—Werkzeug,另一个是Jinja2模板引擎,不需要关心底层的请求响应处理,能更方便、高效地编写Web程序。
4.总结
本内容为基于深度学习的语音情感识别,作为情感识别的一个重要领域,语音情感识别将受到工业界和学术界的越发重视,完善成熟的语音情感识别系统,将会为日后便捷的人机交互系统提供有力支撑。
代码连接:
models文件下的结构如下:包含三个模型和各种图。
算法、应用全部代码下载连接:
基于Attention机制的BiLSTM语音情感识别研究与web系统实现-深度学习文档类资源-CSDN下载
基于Attention机制的BiLSTM语音情感识别研究与系统实现相关推荐
- 一种基于敏感度可调的语音情感识别方法及系统
一种基于敏感度可调的语音情感识别方法及系统 技术领域 本发明属于语音识别领域,尤其涉及一种基于敏感度可调的语音情感识别方法及系统. 背景技术 情感是人类交流手段的一种常见的表达方式,在人机交互中起着重 ...
- 语音情感识别研究进展综述
人类之所以能够通过聆听语音捕捉对方情感状态的变化,是因为人脑具备了感知和理解语音信号中的能够反映说话人情感状态的信息(如特殊的语气词.语调的变化等)的能力.自动语音情感识别则是计算机对人类上述情感感知 ...
- 语音情感识别研究现状
语音情感识别研究现状 情感是什么 语音情感识别是什么 为什么要研究语音情感识别 语音情感识别方法 语音情感识别未来趋势 情感是什么 情感是什么:按照当前心理学研究表示为情绪,或者是感觉的体现.这些都是 ...
- 计算机网络信息中心韩文静,语音情感识别研究进展综述_韩文静
软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@http://www.wendangwang.com Journal of Software,2014,25( ...
- 复盘:基于attention的多任务多模态情绪情感识别,基于BERT实现文本情感分类(pytorch实战)
复盘:基于attention机制的多任务多模态情绪情感识别(pytorch实战),基于BERT实现文本情感分类 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对 ...
- [深度学习] 自然语言处理 --- 基于Attention机制的Bi-LSTM文本分类
Peng Zhou等发表在ACL2016的一篇论文<Attention-Based Bidirectional Long Short-Term Memory Networks for Relat ...
- matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...
一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...
- 【情感识别】基于matlab BP神经网络语音情感识别【含Matlab源码 349期】
一.BP神经网络语音情感识别简介 0 引言 随着科技的迅速发展, 人机交互显得尤为重要.语音是语言的载体, 是人与人之间交流的重要媒介.相较于其它交流方式而言, 语音交流更加直接.便捷.近年来, 随着 ...
- 语音情感识别--理论篇
这是之前看的一些论文,然后提炼一下可能经常想看到的东西吧. 语音情感识别主要包括语音语料库的采集,语音信号预处理,语音情感特征提取,语音情感分类.以上为语音情感识别主要步骤. 语音情感特征提取(1): ...
最新文章
- Codeigniter 4.0-dev 版源码学习笔记之四——详细路由过程
- windows 串口编程 c语言,windows下C语言版串口发送程序(基于VS2017)
- 关于API和SDK的理解
- 华为telnet的两种连接方式
- Windows Server入门系列之三 硬盘分区
- ubuntu linux 系统搭建我的世界基岩版 私服我的世界服务器
- 在哪可以听到施一公教授的课程_为何81%的清华留学生不愿回国?施一公:中国学生有一“通病”...
- vue 请求嵌套_vue和jQuery嵌套实现异步ajax通信
- vray渲染里服务器信息,VRay分布式渲染详细介绍
- MATLAB 2017 b 安装+下载+破解(win10,linux,mac)
- 重磅!Windows XP源代码泄露
- 减治法应用--假币问题实验
- oracle用户 expire,Oracle用户expired
- 2022谷粒商城学习笔记(二十三)分布式事务
- Windows 7系统中的彩蛋“God Mode”
- PPT学习资源和实用技巧
- 品达物流TMS项目_第11章 TMS司机端、快递员端开发
- Window_MySQL初始化(重置)数据库
- 计算机安全在医学中的重要性,试议计算机技术在医学中的意义
- maven profile指定配置文件打包适用多环境