基于训练好的语言模型(使用gensim的word2vecAPI),编写了一个情感分类模型,包含一个循环神经网络模型(LSTM)和一个分类器(MLP)。首先,将一个句子中的每个单词对应的词向量输入循环神经网络,得到句子的向量表征。然后将句向量作为分类器的输入,输出二元分类预测,同样进行loss 计算和反向梯度传播训练,这里的 loss 使用交叉熵 loss。
对下载的IMDB数据集中的test和train分别进行预处理从而方便后续模型训练,代码为PreProcess.py。预处理主要包括:大小写转化、特殊字符处理、stopwords过滤、分词,最后将处理后的数据存储为CSV格式,以方便后续调试。借用了nltk的 stopwords 集,用来将像 i, you, is 之类的对分类效果基本没影响但出现频率比较高的词,从训练集中清除。