用Python做数据商品情感分析(商品评论数据情感分析)

用Python做数据商品情感分析(商品评论数据情感分析)

现在,我们得到了一些关于XX商品的评论信息的数据,我们需要对这些评论信息的数据进行情感分析;

分析步骤

  • 机械压缩去词
  • 短句过滤
  • 情感分析
  • 分词处理(jieba分词)
  • 去除停用词
  • LDA主题分析

具体过程

环境:Python3.6 + pandas0.24.2

以下文档中使用的文件可在网盘中下载:

comment.csv 链接:https://pan.baidu.com/s/1Q0kBcHRZEzHvYaZvzepYAQ 提取码:cbgh;

stoplist.txt 链接:https://pan.baidu.com/s/1RDs1B7fOJzKWRjB0FBBCxQ 提取码:e3f5;

首先读取数据

我的数据文件是在同级目录中

import pandas as pd

data_path = './comment.csv'	
df = pd.read_csv(data_path, encoding='gbk')

之后,会获得一个变量名为df的DataFrame(Pandas中的一种数据结构);

现在,我们可以先打印一下原始数据信息

print('原始数据信息:')
print(len(df))  # 长度
print(type(df))    # 数据类型
原始数据信息:
721
<class 'pandas.core.frame.DataFrame'>
------------------

清除缺失数据

因为我们的数据中可能存在一些缺失值,我们需要清除一下这些缺失值;

运行以下代码:

df = df.dropna()  # 消除缺失数据 NaN为缺失数据
print('清除缺失数据后:')
print(len(df))
print(type(df))
print('------------------')
清除缺失数据后:
721
<class 'pandas.core.frame.DataFrame'>
------------------

数据去重

数据中可能存在一些重复的数据,我们需要去除重复数据;

运行以下代码:

df = pd.DataFrame(df.iloc[:, 0].unique())  # 去掉第一列的重复数据;iloc[:, 0]表示索引每一行的第一列;
print('去重数据后:')
print(len(df))
print('------------------')
去重数据后:
537
------------------

我们发现数据集中有多条重复数据已经被我们清除掉;

现在,我们已经得到一些有效数据;

定义机械压缩去词函数

评论信息中,有一些评论是这样的:“我喜欢喜欢喜欢喜欢喜欢喜欢喜欢这个手机!”;

我们需要对这样的内容进行去除重复字符,我们定义这样一个函数;

def str_unique(raw_str, reverse=False):
    """
    比如:我喜欢喜欢喜欢喜欢喜欢喜欢该商品;去掉重复的“喜欢”
    :param raw_str:
    :param reverse: 是否转置
    :return:
    """
    if reverse:
        raw_str = raw_str[::-1]
    res_str = ''
    for i in raw_str:
        if i not in res_str:
            res_str += i
    if reverse:
        res_str = res_str[::
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值