SemEval2019Task3_ERC | (3) Using Deep Sentiment Analysis Models and Transfer Learning for ERC

原文下载 提取码:n5ge

目录

1. 比赛介绍

2. 模型描述


1. 比赛介绍

SemEval2019Task3_ERC是2019年Semantic Evaluation的第三个任务,对话情感识别。

使用的数据集是EmoContext,该对话数据集为纯文本数据集,来自社交平台。分为训练集、验证集和测试集。其中训练集、验证集、测试集各包含30,160、2755和5509个对话,每个对话都包含三轮(2人对话数据集(Person1,Person2,Person1)),因此训练集、验证集、测试集各包含90,480、8265和16,527个子句(utterances)。

这个数据集存在严重的类别不均衡现象,和其他数据不均衡现象有所区别,它在训练集比较均衡,但在验证集和测试集中每一个情感类别数据大约占总体的<4%(符合实际情况,实际对话中大部分子句是不包含任何情感的),具体统计情况如下:

与一般的判断给定文本/句子情感的任务不同,该任务的的目标是,给定一个对话(3轮),判断最后一轮/最后一个子句说话者所表达的情感,建模时需要利用对话的上下文(context)来判断最后一个子句的情感。

数据集的每个对话中,只有最后一个子句有情感标签,该数据集的情感标签分为三类:Happiness、Sadness、Anger还有一个附加的标签(others)。其中有5740个对话标签为Happiness,6816个对话标签为Sadness,6533个对话标签为Anger,剩余对话标签全为others。

比赛采用的评估指标为:micro F1-score(只在三个情感类别Happiness、Sadness、Anger上计算micro F1-score,不包括others。本文所采用模型的最好结果是 0.7451)

数据集样例如下图所示:

虽然这只是一个包含3轮对话且只有最后一轮对话有情感标签的数据集,但是可以把基于该数据集训练的模型,应用到更广泛的场景,如判断一个对话中任意一个子句的情感。假设该对话包含N个子句/N轮,若要判断第i个子句的情感,只需要把第i个子句连同第i-1,i-2个子句一同喂给训练好的模型,就可以判断第i个子句的情感了。其中i=1,...,N ,对话中每一个子句的情感就可以确定了(对 对话中前两个子句判断情感时,可以通过填充实现)。

 

2. 模型描述

  • 输入

把对话中的三个子句拼接在一起,整体作为输入。在输入之前进行一些数据预处理操作,包括次词干提取、拼写检查、小写化、去除噪声、分词等。将对话中的每个词通过Embedding层,转换为词向量。Embedding层的词嵌入矩阵使用datastories embedding初始化(在330M的推特数据上预训练,300维,funetuning)。

  • 多深度学习模型

本文采用了6个深度学习模型,包括LSTM、GRU_1(2层,128个单元)、GRU_2(3层,100个单元)、双向LSTM(B_LSTM)、双向GRU(B_GRU)、CNN(TextCNN)以及TL。

TL是Transfer Learning Model,这是一个双向LSTM模型,预先在一个相似的情感分类任务上进行训练,然后去掉输出层,只保留encoder部分,把encoder部分迁移到本任务上,接一个新的输出层,在本任务数据集上进行funtuning。

6个模型分别在对话数据集上进行训练。

  • 预测

把训练好的6个模型在测试集上进行评估,计算他们在Happiness、Sadness、Anger这三个类别上的micro f1-score,对于每个类别选择micro f1-score最高的几个模型。

原文对Sadness选择的模型是:B_GRU、B_LSTM、LSTM、GRU_1;对Anger选择的模型是:B_GRU、GRU_2、TL(BLSTM)、LSTM;对Happiness选择的模型是:CNN、GRU_1

对于一个新样本,分别在Happiness、Sadness、Anger选择的模型上,计算其置信度。比如Happiness选择的模型是CNN和GRU_1,CNN的预测输出[0.7,0.1,0.2,0.0],GRU_1的预测输出[0.6,0.2,0.0,0.2](分别对应Happiness、Sadness、Anger、others),使用soft voting combination,即把Happiness对应的置信度求平均(0.7+0.6)/2= 0.65

为每个情感类别设置一个阈值,Sadness、Anger是0.75,Happiness是0.67,当Happiness、Sadness、Anger在选择的模型上计算的置信度大于对应的阈值时,则分类为相应的情感标签,否则为others。阈值(通过验证集得到)比较高,是为了避免和others混淆,本质上是数据分布不均衡导致的。

集成模型结果:

使用多个不同的模型可以使结果多样化,最大化soft voting的效果。

 

 

发布了405 篇原创文章 · 获赞 765 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/sdu_hao/article/details/104277454