背景
这篇文章讲的是多标签的情感分析, 这篇文章是考虑多模态的情感分析, 因为是多标签 所以需要考虑不同标签的依赖性,以及每个标签对不同模态的依赖性
任务的具体例子是:
给定一个视频,包括三个模态信息 (视觉, 文本, 声音)然后给出情感倾向(可以是多个)
文章指出 多标签分类比单标签分类要更加难, 以主要挑战是如何去对标签之间的依赖性进行建模, 正如上图所说, 一个Sad 很有可能 和Disgust 是同时出现的, 但是有很小可能会出现 happy 和 sad。
论文内容
特征初步提取
- Text : word embedding 用的是GLoVe, 没有句子的概念, 文本 表示为 单词数 ×单词维度
- Visual : Facet 提取视觉特征, 包括 面部动作单元,面部标志,头部姿势,凝视追踪, 一共34维, 一个视频提取多个帧
- Audio : COVAREP 提取声音特征 包括: 12 Mel-frequency cepstral coefficients
(MFCCs), pitch, voiced/unvoiced segmenting features
问题描述
(好像EMNLP都有这个部分)
这里主要是介绍一下符号, 可以在后面模型结构中再进行解释, 但是有一点注意其优化目标
因为是一个多标签问题, 其优化目标就是, 找到一个最优 label序列
就是要最大化 其条件概率
优化目标如下
模型结构
模型总体结构如上图。
Multi-modal Sequences Encoding
每一个模态的信息过一个 Transformer 的encoder 得到隐层
Multi-Head Modality Attention
前面得到的encoder 隐层 输入到 decoder 中
decoder 得到的隐层Hd,把上一层的隐层 ,先进行mulit-head self-attention, 得到结果Cd , 和上一步的 encoder隐层 进行Attention, 得到从解码器到编码器的三个上下文序列
然后再进行mulit-head Attention
我们对前面mulit-head attention 后的Ct , 每个模态的Ct 进行拼接, 然后再做一次 Transform 的结构 即 Add & Norm, feed-forward network
得到三个模态融合后的 特征向量 Hd 用于 进行预测
Emotion Prediction
预测的话非常简单
直接将向量和一个可训练的权重矩阵相乘, 加上前面的 Mask Vector (transformer的结构 需要自己细看)
其训练过程如下, 多标签使用 beam search 来进行label选择, 选择好的标签 计算其概率, 然后进行模型参数更新
实验结果
结果依然不错的
总结
在模型结构方面
- 大部分是使用transformer 的结构, 但是 mulit-modal attention 好像没用到, 融合的方法就是把前面得到的 三个模态的特征向量进行融合,然后过一个attention
- 模型新任务: 多标签的情感分析, 然后引入多模态来做, 加入多个模态信息明显会提升效果
- transformer 要看一下 了解一下
来源:oschina
链接:https://my.oschina.net/u/4287823/blog/4871907