通过 gensim 将词向量(Word2Vec)学习机运用于文本分类中,参考文献:Document Classification by Inversion of Distributed Language Representations(ACL 2015)。
1、数据准备
首先,我们需要到 kaggle 上的 Yelp recruiting contest 下载我们要用到的数据,可能需要注册并登陆自己的 kaggle 账号。
https://www.kaggle.com/c/yelp-recruiting/download/yelp_training_set.zip
https://www.kaggle.com/c/yelp-recruiting/download/yelp_test_set.zip
接着,解压数据,并从中获取本文需要的有关信息。
在本次分析中,我们将使用一个非常简单的语法解析规则,如下所示:
然后我们需要将上述规则嵌入一个能够产生带星级评论的评论生成器。
例如:
由于文件相对较小,我们可以将其中的所有内容都写入内存列表之中,这将花费一些时间。
229907 training reviews
最后,我们还需再写一个函数,以便于我们按语料库顺序找到那些拥有确定星级的评论,并获取其中的每一个句子。
2、词向量(Word2Vec)模型构建
首先,我们需要安装一个现成的 Word2Vec 包。
Word2Vec(vocab=0, size=100, alpha=0.025)
通过句子构建词库(我们也可以运用一个外生的无标注词库来对基础模型进行预训练)
接着,我们对每个基础的模型进行一次
深层复制(deep copy) ,以此来进行评论星级分类的训练。这一步的计算量比较大……
以上内容转自 数析学院,原文还包括模型反演以及测试集案例,有需要的同学可以直接查看原文