zoukankan      html  css  js  c++  java
  • 用户评论文本挖掘初体验

    生活是美好的,布满每个角落,不要用良家妇女的心态去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词向量。

  • 相关阅读:
    MySQL 一般模糊查询的几种用法
    MySQL插入中文数据报错
    BeanUtils.populate 的作用
    分分钟搞定 JSP 技术
    margin-top相对谁的问题
    常用汉字的Unicode码表
    从InputStream到String_写成函数
    Http请求和响应应用
    发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容
    导出到excel
  • 原文地址:https://www.cnblogs.com/ilxx1988/p/4118225.html
Copyright © 2011-2022 走看看