AI_challenger_sentiment_analysis_2rd_基于N-BiSRU的分类方法

这篇文章整理自新闻纪实 | AI Challenger2018情感分析赛道亚军PPT分享,仅作个人笔记使用。
Dropwords和阈值调整。
在这里插入图片描述

1.问题建模

采用多任务学习主要是考虑了时间和空间上的效率;除此之外通过特征共享可以降低过拟合风险。分别训练20个分类模型可能能得到更好的模型,并且模型建立的过程会相对简洁一些。
在这里插入图片描述

2.模型基本架构

总体结构

共享层包含了词表示层和N-BiSRU;而独占层包含了特征抽取层和分类层。如果不使用多任务学习,则仅仅在词表示层共享了参数。
在这里插入图片描述

2.1词表示层

模型一共使用了4中词表示方法,包括词向量、字符级词表示、基于bert的词表示、伪朴素贝叶斯特征(词和类别的联合概率分布)。
在这里插入图片描述
下图主要说明了词向量和字符级词表示的关键参数。
训练词向量时仅仅使用了训练集并且词频阈值为5,维度为100维,训练过程中更新参数。除此之外,换成了腾讯开源词向量使得结果有小幅提升,但此时词向量为200维,很难说明是使用预训练词向量好还是自己训练好。
字符级词表示先使用训练集训练字向量,然后再使用BiSRU组成对应的词(每个词最长由3个字表示)。
在这里插入图片描述
BERT在此处的表现并不是很好,可能是由于BERT抽取的是高层特征,而我们却是从底层输入。除此之外,这个未选择BERT建立分类模型的原因写的很好。
在这里插入图片描述
值得一提的是,作者仅仅使用了训练集来训练词向量,这是考虑了真实的应用场景。而在比赛中,如果使用全部的语料来训练,是否会达到更好的效果?
在这里插入图片描述

2.2 上下文相关词表示

实验中采用的是多层(3-6层)双向SRU,并行性好,inference速度更快。
在这里插入图片描述
SRU(simple recurrent units)将运算量大的部分改为并行运算,仅仅将运算量小的部分进行串行运算。所谓计算量大的部分,其实就是门控单元计算过程中的矩阵相乘,而计算量小的部分则为门控单元计算过程中的矩阵点乘。我们知道在LSTM中,有
g t = σ ( W f x t + R f h t − 1 + b f ) g_t=\sigma (W_fx_t+R_fh_{t-1}+b_f) gt=σ(Wfxt+Rfht1+bf)
其中计算量最大的部分就是 R f h t − 1 R_fh_{t-1} Rfht1。而SRU的设计就是当前时间步的门控单元的计算仅仅取决于 x t x_t xt,而不依赖于 h t − 1 , c t − 1 h_{t-1}, c_{t-1} ht1,ct1
SRU的完整计算过程如下:
x ^ = W x t \hat x = Wx_t x^=Wxt
f t = σ ( W f x t + b f ) f_t=\sigma (W_fx_t+b_f) ft=σ(Wfxt+bf)
r t = σ ( W r x t + b r ) r_t=\sigma (W_rx_t+b_r) rt=σ(Wrxt+br)
c t = f t ⨀ c t − 1 + ( 1 − f t ) ⨀ x ^ t c_t=f_t \bigodot c_{t-1} + (1-f_t) \bigodot \hat x_t ct=ftct1+(1ft)x^t
h t = r t ⨀ g ( c t − 1 ) + ( 1 − r t ) ⨀ x ^ t h_t=r_t \bigodot g(c_{t-1})+(1-r_t)\bigodot \hat x_t ht=rtg(ct1)+(1rt)x^t
其中, c t c_t ct是内部状态, h t h_t ht是输出状态, g ( ) g() g()是激活函数。

2.3 特征提取层与分类层

这里的情感要素不必显示给出,在下面的注意力机制中 w j w^j wj可以随机初始化。
在这里插入图片描述
特征提取层尝试:

2.3.1 Attention及其变种
  1. Vanilla attention

最常规的注意力机制,随机初始化 w j w^j wj
在这里插入图片描述

  1. 加入更多独占参数

先把N-BiSRU得到的输出经过非线性层再进行注意力加权。
在这里插入图片描述

  1. Multi-head Attention
    利用多个不同的 w j w^j wj来进行注意力权重的计算,最后将每个结果concat到一起。
    在这里插入图片描述

  2. Hard Attention

在这里插入图片描述

2.3.2 N-BiSRU多层输出后接入Attention

下面这两种思路有点类似于ELMO。只取最上面一层用于后面的计算可能不是最优解。
在这里插入图片描述

在这里插入图片描述
除此之外,作者还对Attention进行了分析。当类标为1时,可以很好的定位到关键词。
在这里插入图片描述
在这里插入图片描述
但是当标签为-2时,Attention的权重比较分散,大都在标点符号上,可解释性较差。考虑句末加入[not mention]标签,控制Attention权重分布。 这样会不会导致预测的时候不会给出-2类的预测?
总的而言,Attention能够关注到细粒度分类所需要的信息;除-2标签外、Attention具有较好的可解释性。
在这里插入图片描述
对多层的分析从侧面说明了每一层的倾向于的功能不一样。
在这里插入图片描述

2.3.3 建模情感要素之间的相关性

对于 h ^ i \hat h^i h^i来说, h i h^i hi为query, h j , j ∈ [ 1 , 2 , . . . , 20 ] h^j,j \in [1, 2, ...,20] hjj[1,2,...,20]为key和value。
在这里插入图片描述

2.3.4 分类层

在这里插入图片描述

3.数据降噪与数据增强

3.1 数据降噪

3.1.1 降噪标准

人工检查验证集中分错的样本,观察是否出现标注错误。即使用预测类的概率值减去实际类的概率值,得到的值如果大于阈值,则认为标注错误;反之则认为标注无误。
在这里插入图片描述

3.1.2 降噪策略

标注错误的aspect的loss不参与训练,其他aspect的正常训练。
在这里插入图片描述

3.1.3 不平衡数据降噪策略

对小样本宽容一点,防止误删。因为本来召回率就很低。
在这里插入图片描述

3.1.4 数据降噪结果

实验证明,数据降噪后能够明显提升实验结果。此外,实验中采用了动态阈值,0-10epoch,阈值接近1;10-15epoch,阈值接近0.3;16-20epoch,阈值接近0.2;20-50epoch,阈值接近0.1。
在这里插入图片描述

3.2 数据增强

直觉上也是Drop words用处比较大;shuffle sentences可能要比shuffle words更合理。
在这里插入图片描述

4.模型集成

4.1 Base模型获取

每次训练的softmax输出概率都要保存下来,并且把验证集上的f1score值也保存下来用于最后的集成。
在这里插入图片描述

4.2 正则化的分类阈值调整

训练的过程中,模型力图正确预测每一个样本,其优化目标为准确率或 m i c r o − F 1 micro-F1 microF1。而如果采用准确率指标或者 m i c r o − F 1 micro-F1 microF1,可能会忽略掉小类别分类错误带来的影响。对于 m i c r o − F 1 micro-F1 microF1而言,也是只要大类别的 T P TP TP足够大就可以了,小类别的几乎被忽略掉。但是对于 m a c r o − F 1 macro-F1 macroF1而言,相当于对所有类别一视同仁,小类别也能得到足够关注。
调整分类阈值:找到使得 M a c r o − F 1 Macro-F1 MacroF1值最大的偏置 b b b。为防止过拟合,加入了正则项和 E n s e m b l e Ensemble Ensemble策略,前者通过加上一个正则项实现,后者通过多次对验证集随机采样得到多个偏置 b b b最后再进行平均。
在这里插入图片描述
这里我们简要回顾一下 F 1 s c o r e F1 score F1score m i c r o − F 1 micro-F1 microF1 m a c r o − F 1 macro-F1 macroF1.
F 1 = 2 ⋅ p r e c i s i o n ⋅ r e c a l l p r e c i s i o n + r e c a l l F_1=2 \cdot \frac {precision \cdot recall} {precision+recall} F1=2precision+recallprecisionrecall
此外还有 F 0.5 F0.5 F0.5 F 2 F2 F2分数,在 F 2 F2 F2分数中,召回率的权重高于精确率;而在 F 0.5 F0.5 F0.5分数中,精确率的权重高于召回率。计算方法如下:
F β = ( 1 + β 2 ) ⋅ p r e c i s i o n ⋅ r e c a l l ( β 2 ⋅ p r e c i s i o n ) + r e c a l l F_\beta=(1+\beta^2)\cdot \frac {precision\cdot recall}{(\beta^2\cdot precision)+recall} Fβ=(1+β2)(β2precision)+recallprecisionrecall
最后看 M i c r o − F 1 Micro-F1 MicroF1 M a c r o − F 1 Macro-F1 MacroF1,在多标签任务中,可以对每个类计算 F 1 F1 F1,显然我们需要把所有类的 F 1 F1 F1合并起来考虑。这就是代表了两种不同的合并方式。
M i c r o − F 1 Micro-F1 MicroF1(微平均):把所有类别的 T P TP TP F P FP FP F N FN FN加起来计算 F 1 F1 F1的值;
M a c r o − F 1 Macro-F1 MacroF1(宏平均):先分别计算每个类别的 F 1 F1 F1,最后将这些值平均起来。

4.3 模型选择

简单概率平均的方式比较常见,贪婪式模型选择以后也可以尝试一下。
在这里插入图片描述

5.总结与体会

5.1 模型改进策略

以后做比赛时每次提交都要记录下线上和线下得分的规律。
base:字向量+词向量+N-BiSRU+常规Attention,F1=0.710
在这里插入图片描述
集成模型提升较大。
在这里插入图片描述

5.2 展望

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: AI Challenger Sentiment Analysis 数据是由AI Challenger平台提供的一组情感分析数据集。该数据集旨在帮助研究者和开发者开展情感分析相关的研究和应用。 该数据集包含两个子数据集,分别是中文微博情感分析数据集和中文在线评论情感分析数据集。中文微博情感分析数据集包含了1.3万条来自微博的中文文本和对应的情感标签,情感标签包括积极、中性和消极。而中文在线评论情感分析数据集包含了40万条来自多个领域的中文在线评论文本和对应的情感标签,情感标签也是积极、中性和消极。 AI Challenger Sentiment Analysis 数据集的提供为开展情感分析相关研究提供了宝贵的资源。情感分析是一项研究人员和开发者在文本和语音处理中广泛应用的技术。通过将情感标签与文本相关联,可以训练机器学习模型来自动理解和分类文本的情感倾向。这样的技术在社交媒体舆情分析、产品评论分析、情感智能机器人等领域有着广泛的应用。 AI Challenger Sentiment Analysis 数据集的提供使得研究者和开发者可以进行更深入的情感分析研究和模型开发。通过对这些数据进行分析和训练模型,可以提高情感分析的准确性和效果,进一步推动相关领域的技术发展和应用。 ### 回答2: AI Challenger情感分析数据是一个用于训练和评估情感分析模型的数据集。该数据集包含了约20万条中文文本数据,分为训练集和测试集。每条数据都被标注为积极、消极或中性情感类别。 这些文本数据来自于社交媒体、新闻、评论等不同的来源。数据集中的文本非常多样化,包括了各种主题和领域的内容。这使得该数据集适用于多个情感分析任务,例如商品评论、舆情分析、社交媒体情感分析等。 为了方便使用,AI Challenger情感分析数据的格式非常标准化。每条数据都有一个ID和对应的文本内容,还有一个情感标签作为标注。可以通过读取数据集文件,得到所有训练和测试数据的文本和标签信息。 使用AI Challenger情感分析数据可以帮助研究人员和开发者训练和优化情感分析模型。通过建立和训练模型,我们可以对未知的文本进行情感分析,了解文本背后的情感倾向。这对于企业的舆情监测、情感化推荐以及用户情感分析等任务都非常有用。 总而言之,AI Challenger情感分析数据是一个丰富的中文文本数据集,可供研究人员和开发者用于训练和评估情感分析模型。它的多样性和标准化格式使得该数据集具有很高的实用性和应用性。 ### 回答3: AI Challenger情感分析数据是一个用于训练和测试情感分析模型的数据集合。该数据集合包含了各种类型的文本数据,例如新闻、评论、微博等,以及相应的情感标签,如正面、负面、中性。 这个数据集合的目的是为了促进情感分析技术的发展和应用。情感分析是一种将自然语言处理和机器学习相结合的技术,可以用来自动分析文本中的情感倾向。通过训练情感分析模型,我们可以快速、准确地识别文本中的情感表达,帮助企业和个人了解用户的情感需求,进而做出更好的决策。 AI Challenger情感分析数据集合包含了大量的有标签数据,这意味着我们可以使用已标注的数据来训练情感分析模型。训练好的模型可以应用于各种文本场景,识别和分析不同的情感倾向。除此之外,AI Challenger还提供了测试集,用于评估和比较不同模型的性能。通过参与AI Challenger情感分析竞赛,研究者和开发者可以共同探索情感分析算法的创新和应用。 总之,AI Challenger情感分析数据是一个丰富的数据资源,为研究者和开发者提供了训练和评估情感分析模型的机会。通过利用这些数据,我们可以推动情感分析技术的发展,并在实际应用中取得更好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值