当前位置:   article > 正文

数据分析与挖掘:电商产品评论数据情感分析_基于文本挖掘的电商评论情感分析代码

基于文本挖掘的电商评论情感分析代码

1. 背景与挖掘目标

  • 项目为《Python 数据分析与挖掘实战》第 15 章:电商产品评论数据情感分析。参考了书中的源代码,并补充了机械压缩去词实现。
  • 挖掘目标为评论文本数据中提取有价值的内容

2. 分析方法与过程

2.1 数据抽取

'''读取数据'''
import pandas as pd
import numpy as np

inputfile = 'chapter15/demo/data/huizong.csv'
data = pd.read_csv(inputfile, encoding='utf-8')
data.head()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Id 已采 已发 电商平台 品牌 评论 时间 型号 PageUrl
0 1 True False 京东 AO 挺好的 ,安装人员很负责 指的夸奖 2014/8/26 9:07 AO史密斯(A.O.Smith) ET300J-60 电热水器 60升 http://s.club.jd.com/productpage/p-1008025-s-0...
1 2 True False 京东 AO 自己安装的,感觉蛮好。后续追加。 2014/10/17 14:24 AO史密斯(A.O.Smith) ET300J-60 电热水器 60升 http://s.club.jd.com/productpage/p-1008025-s-0...
2 3 True False 京东 AO \n\nAO史密斯(A.O.Smith) ET300J-60 电热水器 60升 还没安装 2014/11/12 13:36 AO史密斯(A.O.Smith) ET300J-60 电热水器 60升 http://s.club.jd.com/productpage/p-1008025-s-0...
3 4 True False 京东 AO 还没装,等安装之后再来吧,为装修备的货。 2014/11/16 0:04 AO史密斯(A.O.Smith) ET300J-60 电热水器 60升 http://s.club.jd.com/productpage/p-1008025-s-0...
4 5 True False 京东 AO 大小刚刚好,安装收了140材料费,活接、弯头啥的。试机顺利,16度加热到30度用了6分钟左右... 2014/11/11 8:11 AO史密斯(A.O.Smith) ET300J-60 电热水器 60升 http://s.club.jd.com/productpage/p-1008025-s-0...
'''抽取美的的评论'''
outputfile = 'chapter15/demo/tmp2/meidi.txt'
data = data[['评论']][data['品牌'] == '美的']
data.to_csv(outputfile, index=False, header=False)
data.head()
  • 1
  • 2
  • 3
  • 4
评论
95898 京东商城信得过,买的放心,用的省心、安心、放心!
95899 给公司宿舍买的,上门安装很快,快递也送的及时,不错的。给五分吧
95900 美的值得信赖,质量不错
95901 不错不错的哦,第一次在京东买这些产品,感觉相当好
95902 很满意,水方一晚上都还是热的早上还能再洗,

2.2 评论预处理

1. 文本去重

'''文本去重'''
outputfile = 'chapter15/demo/tmp2/meidi_1.txt'
l1 = len(data)
data = pd.DataFrame(data['评论'].unique(), columns=data.columns)
l2 = len(data)
data.to_csv(outputfile, index=False, header=False, encoding='utf-8')
print('删除了%s条评论' % (l1 - l2))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
删除了2725条评论
  • 1
data.head()
    评论
    0 京东商城信得过,买的放心,用的省心、安心、放心!
    1 给公司宿舍买的,上门安装很快,快递也送的及时,不错的。给五分吧
    2 美的值得信赖,质量不错
    3 不错不错的哦,第一次在京东买这些产品,感觉相当好
    4 很满意,水方一晚上都还是热的早上还能再洗,

    2. 机械压缩去词,可以删除评论开头和结尾重复的词语,如“为什么为什么为什么安装费这么贵”压缩为“为什么安装费这么贵”,“真的挺好挺好挺好挺好”压缩为“真的挺好”

    '''定义机械压缩去词函数'''
    
    def compress(string):
        string = string.strip()    # 删除换行符
        str_list = list(string)    # 分隔字符为列表
        s1 = [str_list[0]]    # 初始化 s1 列表为第一个字符
        s2 = []
        del_idx 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/819307
    推荐阅读
    相关标签
      

    闽ICP备14008679号