用户评论文本挖掘初体验

生活是美好的,布满每个角落,不要用良家妇女的心态去club,拜托!还是回家洗衣服去吧。

目的:评论自动分类

美护好评作为基础数据,总共9万6千条,数据越多训练的模型越准确。

1. 首先对用户的评论进行标点符号去除,然后分词,最后去掉停用词。保存到一个文件中,一行是一条评论,每个词之间用空格分开。

2. 使用word2vec训练,得到词向量,训练的步骤:
1)sh train.sh <第1步的分词结果文件> <模型输出文件:词向量文件>
2)这里要注意,word2vec默认是生成二进制的模型,如果要生成文本的文件,就要把binary参数设置为0.
3)还有两个参数,可以调整,进行测试的:a)window,表示窗口大小:默认就是5,一般不用调整。b)向量大小size,默认是200,一般不用调整。
3. 第2步生成的词向量文件,得到每一个词的向量表示,则可以对词进行聚类。这里有两个好处:
1)词向量包含语义信息
2)用向量来表示一个词,就可以进行计算,比如consine相似度等等。
根据上面的分析,使用weka的kmeans聚类算法,可以到词的聚类,具体是得到,每一个词,属于哪一个类别。比如"质量"->5这个类别,很可能5这个类别,都是讲质量的。 @attribute '0' real real代表实数
4. 根据3里面得到的,词的聚类,我们可以对新的评论进行分类。比如下面的例子:
某一条评论,分词之后的结果是:应该 是 正品 吧 感觉 包装 什么 都 很 完整 稍微 试用 了 下 感觉 很 滋润 保湿
判断每一个词的分类,可能的结果如下:
应该 1
正品 1
感觉 2
包装 4
完整 4
稍微 2
试用 1
感觉 2
滋润 2
保湿 2
后面的数字的含义是表示前面的词所属的类别。
在这里,我们认为,如果一条评论里面出现的某个类别的词越多,那么这条评论属于这个类别的概率越大。统计各个类别的数量。
2 0.5
1 0.3
4 0.2
我们认为评论的类别,主要是第2类,同时,第1和第4也有一点。

如果有新的词,就需要重新训练word2vec词向量。

posted @ 2014-11-24 11:15  ilxx1988  阅读(655)  评论(0编辑  收藏  举报