奇番Kaggle关于IMDB情感分类


来自:奇番网     发表于:2019-01-22 21:40:00     浏览:100次 关键词:Kaggle关于IMDB情感分类

过去了17天,按照学习计划来说,已经严重超时了。 主要的问题是在数据预处理部分。 Kaggle的IMDB情感分析任务其实很简单,train文件用于训练,test文件用于测试。

步骤

  1. 整合train和test(就是说所有语料库)生成词袋或词向量模型。也可以下载已有的word2vec或是glove词向量模型。

  2. 生成的词向量模型就是将每一个词向量化,方便后面的计算。依据生成的词向量模型对train和test语料进行向量化。

  3. 把向量化的train数据和标签输入分类模型中进行预测,完成模型训练。

  4. 评估模型,并对test进行预测。

具体实现

1. 数据集

数据集是tsv格式数据,说白了是分成了5类:

0 - negative
1 - somewhat negative
2 - neutral
3 - somewhat positive
4 - positive

我们先读取一下看看。TSV文件和CSV的文件的区别是:前者使用\t作为分隔符,后者使用,作为分隔符。

可以看到总共156060条记录,其中打2分的数据最多,说明大家都还是很中庸啊。

以上是数据的描述性统计结果,当然,还可以做一下可视化,这些参考kaggle的泰坦尼克号任务操作。

2. 构建word2vec

接下来是要对语料库向量化,这其实就是一种对文本特征的抽取。
文中提到了两种方式:BOW(词袋)和Word2Vec,相比而言,Word2Vec所包含的信息更多,而且gensim库已经打包好了,在这里使用word2vec。

在2017年新的特征抽取算法transformer将会横扫一切……

在完成词向量抽取后,将进行分类器的训练。 在这里,我们将train和test数据集进行合并,构造出一个维度为200的词向量模型,使用gensim库进行构建。

# 合并test和train的数据,用于训练词向量模型
newDf = pd.concat(, "sentiment":result} )
output.to_csv( "Word2Vec_AverageVectors.csv", index=False, quoting=3 )

到这里大致就完成了,但是,我们希望使用RNN来处理,接下来就是构建LSTM作为分类器。



上一篇:大海的粉色月亮III|我有个情感障碍:总是等着对方迈出那一步
下一篇: