Datawhale九月组队学习--情感分析--Task04
Posted 深度不学习-_-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Datawhale九月组队学习--情感分析--Task04相关的知识,希望对你有一定的参考价值。
Datawhale九月组队学习:情感分析
往期指路:
前言
本篇主要是将卷积神经网络应用到了情感分类任务当中,本篇所用的模型来自论文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 的最终输出。
实现细节
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的主要内容,如果未能解决你的问题,请参考以下文章