Skip to content

ixNeo/Emotional-Polarity-Analysis

Repository files navigation

用户评论情感极性分析(三分类)

数据总览 & 预处理

  • 训练数据

    数据类型 列号范围 行数
    食品餐饮 (1,13655) 13655
    旅游住宿 (13656,32590) 18935
    金融服务 (32591,46934) 14344
    医疗服务 (46935,67246) 20312
    物流快递 (67247,82025) 14779
  • 测试数据

    数据类型 列号范围 行数
    食品餐饮 (1,5853) 5853
    旅游住宿 (5854,13968) 8115
    金融服务 (13969,20116) 6148
    医疗服务 (20117,28822) 8706
    物流快递 (28823,35157) 6335
  • 评判标准 综合准确率和召回率,得到得分

模型搭建 & 优化 & 得分结果

  1. 数据分类(预处理)

    分类与否 得分
    有分类 0.8703
    无分类 0.64
  2. jieba分词

    • 三种分词模式:精确模式、全模式、搜索引擎模式。选择精确模式
    • 默认启用HMM模型
  3. 停用词表的选择

  • 中科院计算机所的停用词表
  1. word2vec:字符串词向量 ==> 数值化词向量

    word2vec的size(词向量的维度) 得分
    100 0.8703
    200 0.8747
    300 0.8768
    400 0.8724
  2. SVM(支持向量机)分类器,生成分类器模型

  3. 核函数的选择

    • rbf,gaussian为未知情况的选择
    • 线性、多项式为大概有图景时的选择
    • softmax用于后续神经网络的搭建
  4. 惩罚系数

    惩罚系数 得分
    0.1 0.8636
    1 0.8780
    100 0.8815
    500 0.8851
    1000 待测
    • 以上为word2vec的size为300时的具体情况:
    • 惩罚系数: 越高越好,越费时,过拟合的风险越大
    • 用时:5个类别,每个类别两个svm模型,共十个模型。c=500时,每个模型10-20min

心得体会

  1. 数据分析的根本目的是描述或者预测,具体的应用方法和分析手段并不重要,重要的是那个结果,即输出。中间可以掺杂多种分析手段,可以混合机器和人工
  2. 例如,可以混合使用wps查看excel和用python批量处理数据

运行环境

python3.6

库:genism, pandas, jieba, word2vec

详情见requirements.txt

文件目录结构

  1. 源文件:
  • main.py # 通过选取test.py中相应的函数,运行文件
  • const_data.py # 存储常量
  • readfile.py # 读取训练数据
  • build_vec_model.py # 构建数值化词向量模型
  • build_svm_model.py # 构建svm模型
  • test.py # 读取测试数据,使用模型,输出结果
  • mess.py # 垃圾存储(忽略)
  1. 文件夹
  • data # 初始数据:训练数据以及测试数据
  • result # 预测结果的csv文件
  • vec-value-model # 经过word2vec处理得到的词向量模型
  • svm-model # 训练得到的svm模型。三分类,所以使用两个模型。每个类别(食品/旅游)使用两个svm模型

About

百度点石杯-文本情感极性分析

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages