得出结论:基于与与BiLSTM模型的多情感分类方法研究

来源:名资汇网 2022-05-31 21:10:23
分享到:

1.摘要

以往的情感分类大多是基于粗粒度的,对七类情感语料的研究不多,最终的情感分类结果只包含一种情感,多情感共存现象研究较少,因此无法充分体现用户情感的丰富程度。

针对这些不足,本文提出了一种基于Attention和BiLSTM模型的多情感分类方法,通过BiLSTM模型构造了5个情感分类器来获取文本上下文,分别是1.anger; 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模型结构及核心代码

本文提出了一种基于注意力的 BiLSTM 模型。一种多情感分类模型及其在语音情感分类研究中的应用。 Attention 和 BiLSTM 模型如图所示。首先,Attention 机制增强了上下文语义信息,获得了更深层次的特征。最后通过Softmax进行回归,完成语音情感的预测。

视觉语音情感识别_语音情感识别系统_语音情感识别 matlab

模型核心代码如下:

   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) 愤怒;2) 无聊;3) 焦虑;4) 幸福;5) 悲伤;6) 厌恶;和 7) 中立.)

语音情感识别系统_视觉语音情感识别_语音情感识别 matlab

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 编写的网络微框架。 Flask主要依赖两个工具,一个是Web服务器网关接口(WSGI)工具集——Werkzeug,另一个是Jinja2模板引擎,不需要关心底层的请求和响应处理,可以编写Web程序更方便、更高效。

语音情感识别系统_语音情感识别 matlab_视觉语音情感识别

4.总结

本内容是关于基于深度学习的语音情感识别。作为情感识别的重要领域语音情感识别系统,语音情感识别将越来越受到工业界和学术界的关注。完善成熟的语音情感识别系统将为未来提供便捷的人机交互系统提供强有力的支持。

代码连接:

models文件下的结构如下:它包含三个模型和各种图表。

算法及应用全部代码下载链接:

基于Attention机制的BiLSTM语音情感识别研究及web系统实现-深度学习文档资源-CSDN下载