数据集链接: https://pan.baidu.com/s/19EGElx2Ylb-DpQRrJ0F7og 提取码: tg7c
将原始数据的‘评论’一列抽取
抽取代码

#-*- coding: utf-8 -*-
import pandas as pdinputfile = 'D:\下载\data\input\huizong.csv' #评论汇总文件
outputfile = 'D:\下载\data\output\meidi_jd.txt' #评论提取后保存路径
data = pd.read_csv(inputfile, encoding = 'utf-8')
data = data[[u'评论']][data[u'品牌'] == u'美的']
data.to_csv(outputfile, index = False, header = False, encoding = 'utf-8')

原始数据去重

#-*- coding: utf-8 -*-
import pandas as pdinputfile = 'D:\下载\data\output\meidi_jd.txt' #评论文件
outputfile = 'D:\下载\data\output\meidi_jd_process_1.txt' #评论处理后保存路径
data = pd.read_csv(inputfile, encoding = 'utf-8', header = None)
l1 = len(data)
data = pd.DataFrame(data[0].unique())
l2 = len(data)
data.to_csv(outputfile, index = False, header = False, encoding = 'utf-8')
print(u'删除了%s条评论。' %(l1 - l2))

删除前缀评分代码

#-*- coding: utf-8 -*-
import pandas as pd#参数初始化
inputfile1 = 'D:\下载\data\output\meidi_jd_process_end_负面情感结果.txt'
inputfile2 = 'D:\下载\data\output\meidi_jd_process_end_正面情感结果.txt'
outputfile1 = 'D:\下载\data\output\meidi_jd_neg.txt'
outputfile2 = 'D:\下载\data\output\meidi_jd_pos.txt'data1 = pd.read_csv(inputfile1, encoding = 'utf-8', header = None) #读入数据
data2 = pd.read_csv(inputfile2, encoding = 'utf-8', header = None)data1 = pd.DataFrame(data1[0].str.replace('.*?\d+?\\t ', '')) #用正则表达式修改数据
data2 = pd.DataFrame(data2[0].str.replace('.*?\d+?\\t ', ''))data1.to_csv(outputfile1, index = False, header = False, encoding = 'utf-8') #保存结果
data2.to_csv(outputfile2, index = False, header = False, encoding = 'utf-8')

分词代码

#-*- coding: utf-8 -*-
import pandas as pd
import jieba #导入结巴分词,需要自行下载安装#参数初始化
inputfile1 = 'D:\下载\data\output\meidi_jd_neg.txt'
inputfile2 = 'D:\下载\data\output\meidi_jd_pos.txt'
outputfile1 = 'D:\下载\data\output\meidi_jd_neg_cut.txt'
outputfile2 = 'D:\下载\data\output\meidi_jd_pos_cut.txt'data1 = pd.read_csv(inputfile1, encoding = 'utf-8', header = None) #读入数据
data2 = pd.read_csv(inputfile2, encoding = 'utf-8', header = None)mycut = lambda s: ' '.join(jieba.cut(s)) #自定义简单分词函数
data1 = data1[0].apply(mycut) #通过“广播”形式分词,加快速度。
data2 = data2[0].apply(mycut)data1.to_csv(outputfile1, index = False, header = False, encoding = 'utf-8') #保存结果
data2.to_csv(outputfile2, index = False, header = False, encoding = 'utf-8')

构建LDA主题模型进行主题分析

#-*- coding: utf-8 -*-
import pandas as pd# 修改当前工作路径
import os
print(os.getcwd())  # 查看当前工作路径
os.chdir('D:/demo')  # 修改路径
print(os.getcwd())  # 查看当前工作路径# 修改默认编码
import sys
sys.getdefaultencoding()  # 查看当前编码格式
# 报错时(AttributeError: 'module' object has no attribute 'setdefaultencoding')
reload(sys)  # 报上面的错时,执行此命令
sys.setdefaultencoding('utf8')  # 修改编码格式#参数初始化
negfile = 'D:\下载\data\output\meidi_jd_neg_cut.txt'
posfile = 'D:\下载\data\output\meidi_jd_pos_cut.txt'
stoplist = 'D:\下载\data\output\stoplist.txt'neg = pd.read_csv(negfile, encoding = 'utf-8', header = None) #读入数据
pos = pd.read_csv(posfile, encoding = 'utf-8', header = None)
stop = pd.read_csv(stoplist, encoding = 'utf-8', header = None, sep = 'tipdm')
#sep设置分割词,由于csv默认以半角逗号为分割词,而该词恰好在停用词表中,因此会导致读取出错
#所以解决办法是手动设置一个不存在的分割词,如tipdm。
stop = [' ', ''] + list(stop[0]) #Pandas自动过滤了空格符,这里手动添加neg[1] = neg[0].apply(lambda s: s.split(' ')) #定义一个分割函数,然后用apply广播
neg[2] = neg[1].apply(lambda x: [i for i in x if i not in stop]) #逐词判断是否停用词,思路同上
pos[1] = pos[0].apply(lambda s: s.split(' '))
pos[2] = pos[1].apply(lambda x: [i for i in x if i not in stop])from gensim import corpora, models#负面主题分析
neg_dict = corpora.Dictionary(neg[2]) #建立词典
neg_corpus = [neg_dict.doc2bow(i) for i in neg[2]] #建立语料库
neg_lda = models.LdaModel(neg_corpus, num_topics = 3, id2word = neg_dict) #LDA模型训练
for i in range(3):neg_lda.show_topics()#展示主题#正面主题分析
pos_dict = corpora.Dictionary(pos[2])
pos_corpus = [pos_dict.doc2bow(i) for i in pos[2]]
pos_lda = models.LdaModel(pos_corpus, num_topics = 3, id2word = pos_dict)
for i in range(3):pos_lda.show_topics()#展示主题

电商产品评论数据情感分析相关推荐

  1. 数据挖掘实战—电商产品评论数据情感分析

    文章目录 引言 一.评论预处理 1.评论去重 2.数据清洗 二.评论分词 1.分词.词性标注.去除停用词 2.提取含名词的评论 3.绘制词云查看分词效果 三.构建模型 1.评论数据情感倾向分析 1.1 ...

  2. 基于电商产品评论数据情感分析

    #!/usr/bin/env python # coding: utf-8# # -- 基于电商产品评论数据情感分析 --# ### 1.案例简介 # # 1.利用文本挖掘技术,对碎片化.非结构化的电 ...

  3. 数据分析与挖掘实战-电商产品评论数据情感分析

    电商产品评论数据情感分析 背景 随着网上购物越来越流行,人们对于网上购物的需求越来越高,这让京东.淘宝等电商平台得到了很大的发展机遇.但是,这种需求也推动了更多的电商平台的崛起,引发了激烈的竞争.在这 ...

  4. 毕业设计之 - 大数据分析:电商产品评论数据情感分析

    文章目录 1 简介 数据分析目的 数据预处理 评论去重 数据清洗 分词.词性标注.去除停用词 提取含名词的评论 绘制词云¶ 词典匹配 评论数据情感倾向分析 修正情感倾向 LinearSVC模型预测情感 ...

  5. 数据挖掘作业学习学习笔记-电商产品评论数据情感分析

    使用的教材:<电商产品评论数据情感分析> 作业&学习笔记:数据挖掘第14周 说明:书本内容详实.此篇用于自己期末回顾知识的重点内容,故做出的学习笔记缺省了书本原本的其他精粹. 随着 ...

  6. 【项目实战】Python实现基于LDA主题模型进行电商产品评论数据情感分析

    说明:这是一个机器学习.数据挖掘实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 视频: Python实现基于LDA模型进行电商产品评论数据情感分析 ...

  7. 《Python数据分析与挖掘实战》第15章 ——电商产品评论数据情感分析(LED)

    文章目录 1.挖掘背景与目标 2.2 数据探索与预处理 2.1 数据筛选 2.2 数据去重 2.3 删除前缀评分 2.4 jieba分词 3 基于LDA 模型的主题分析 4.权重 5.如何在主题空间比 ...

  8. 数据分析与挖掘:电商产品评论数据情感分析

    电商产品评论数据情感分析 1. 背景与挖掘目标 2. 分析方法与过程 2.1 数据抽取 2.2 评论预处理 2.3 LDA 主题分析 1. 背景与挖掘目标 项目为<Python 数据分析与挖掘实 ...

  9. Python文本挖掘练习(五)// 电商产品评论数据情感分析

    第一部分 案例简介 本案例首先利用Python文本挖掘技术,对碎片化.非结构化的电商网站评论数据进行清洗与处理,转化为结构化数据.然后对文本数据进一步挖掘与分析,采用决策树算法构建情感分类模型,探索用 ...

  10. R语言实验---电商产品评论数据情感分析

    文章目录 前言 一.案例背景 二.代码 1.数据爬取 2.数据预处理 3.数据分析(情感倾向) 4.使用LDA模型进行主题分析 总结 前言 开篇碎碎念:R语言老师出的实验题,在原本代码的基础上进行修改 ...

最新文章

  1. c语言int t格式,如何在C中打印int64_t类型
  2. 莫言:不要在不喜欢你的人那丢掉快乐
  3. Linux 文件与目录结构
  4. Git最最常用的命令
  5. 计算机组成要素六:编译器 语法分析器
  6. 秋叶一键重装系统连接服务器失败,如何解决远程桌面无法连接
  7. php批量添加excel数据库表,php 把excel批量导入到数据库代码
  8. 电脑进不了系统怎么重装系统win11
  9. 如何在Windows环境下使用PyCharm开发PySpark
  10. python组态软件开源_freescada开源wpf组态软件
  11. windows10没有nfs服务_3GB+极度精简+不更新,被誉为最纯净Windows10,老爷机总算有救了...
  12. paypal如何支付欧元_paypal海外支付流程是什么?paypal中国可以用吗?
  13. 在idea中部署Tomcat
  14. Pareto最优解 Pareto分布
  15. 探索性因子分析法问答
  16. 极光推送第一次进入APP无法获取RegistrationID
  17. EF搜索数据自动将表名变复数问题
  18. Jmeter Netty TCP压测EOL设置
  19. java中小学排课表算法_排课表算法及代码实现!写成功啦,与大家一同分享,绝密(其它地方...
  20. 电信家用宽带作为商用的问题

热门文章

  1. Android Jetpack简介
  2. 达梦数据库,给用户赋予系统权限 Any 时报“授权者没有此授权权限”
  3. linux inode目录,Linux目录与inode 深入理解
  4. 2023年网络与信息安全国际会议(NISecurity 2023)
  5. Zabbix 报错:Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refus
  6. Qt5 封装toast提示框
  7. 产品外观设计一一素描
  8. Vue中两个让你幸福感爆棚的组件导入小技巧之require.context
  9. 成都榆熙:电商流量效果如何检验?
  10. 树莓派4B烧录Ubuntu mate20.04并配置ROS