Datawhale九月组队学习--情感分析--Task04

Posted 深度不学习-_-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Datawhale九月组队学习--情感分析--Task04相关的知识,希望对你有一定的参考价值。

Datawhale九月组队学习:情感分析

往期指路:

   Task01情感分析BaseLine

   Task02情感分析Upgrade

   Task03情感分析Faster


前言

  本篇主要是将卷积神经网络应用到了情感分类任务当中,本篇所用的模型来自论文Convolutional Neural Networks for Sentence Classification,了解细节的小伙伴们可以查看原文。
  在上一个教程中,我们研究了FastText模型,该模型通过将bi-gram显式添加到文本末尾来使用bi-gram,在这个CNN模型中,我们将使用多个不同大小的filter,这些filter将查看文本中的bi-grams(a 1x2 filter)、tri-grams(a 1x3 filter)and/or n-grams(a 1x n n n filter)


笔记要点

一、 模型搭建流程

  1、数据预处理
  2、构建模型
  3、训练模型
  4、模型验证

二、 数据预处理要点记录

  与 task3 使用FastText模型的方法不同,本节不再需要刻意地创建bi-gram将它们附加到句子末尾。

这里的处理方法依然是:

  • 加载IMDB数据集
  • 构建词典,加载预训练词向量
  • 创建迭代器

三、 模型搭建要点记录

问题:如何将CNN用于文本处理?

  1、图像一般是二维的,而文本是一维的。所以我们可以将一段文本中的每个单词沿着一个轴展开,向量中的元素沿着另一个维度展开。

  2、然后我们可以使用一个 [n x emb_dim] 的filter。这将完全覆盖 n n n 个words,因为它们的宽度为emb_dim 尺寸。这里有4个词和5维嵌入,创建了一个[4x5] “image” 张量。一次覆盖两个词(即bi-grams))的filter 将是 [2x5] filter,filter 的每个元素都有一个与之相关的 weight。此filter 的输出将是一个实数,它是filter覆盖的所有元素的加权和。

  3、filter “down” 移动图像(或穿过句子)以覆盖下一个bi-gram,并计算另一个输出(weighted sum)。

  4、最后,filter 再次向下移动,并计算此 filter 的最终输出。

注意:CNN处理文本图文细节点这里

实现细节

  1、in_channels参数是图像中进入卷积层的“通道”数,但是当使用文本时,我们只有一个通道,即文本本身。
  2、out_channels是 filters 的数量,kernel_size是 filters 的大小。我们的每个“卷积核大小”都将是 [n x emb_dim] 其中 n n n 是n-grams的大小。

注:如果句子的长度小于实验设置的最大filter,那么必须将句子填充到最大filter的长度。

四、模型训练要点记录

  训练和前面task一样,我们初始化优化器、损失函数(标准),并将模型和标准放置在GPU上。


总结

   以上就是Task04的全部内容了,接下来的学习继续坚持呀~。

以上是关于Datawhale九月组队学习--情感分析--Task04的主要内容,如果未能解决你的问题,请参考以下文章

九月组队学习来了!

九月组队学习计划!

Datawhale7月组队学习task1数据加载及探索性数据分析

二预训练模型预测(Datawhale组队学习)

一导论——可解释性机器学习(DataWhale组队学习)

六月组队学习!