基于LDA对电商商品评论进行情感分析

数据是人工爬取自京东网站上的评论数据,该项目主要以美的产品作为分析。下载连接:链接:https://pan.baidu.com/s/1uyzEa6VJBkBLHMzxLxwwMw提取码:bwfa1、项目背景:现在大众在进行网购之前都会先看下相关商品的评论,包括好评与差评,再综合衡量,最后才决定是否会购买相关的物品。甚至有的消费者已经不看商品的详情秒数页而是直接看评论,然后决定是否下单。商...
摘要由CSDN通过智能技术生成

数据是人工爬取自京东网站上的评论数据,该项目主要以美的产品作为分析。
下载连接:
链接:https://pan.baidu.com/s/1uyzEa6VJBkBLHMzxLxwwMw
提取码:bwfa

1、项目背景:
现在大众在进行网购之前都会先看下相关商品的评论,包括好评与差评,再综合衡量,最后才决定是否会购买相关的物品。甚至有的消费者已经不看商品的详情秒数页而是直接看评论,然后决定是否下单。商品评论已经是用户决策最为核心的考量因素了。
在本项目中要根据商品的好评与差评,提取出关键词,快速了解一件商品的好与不好的地方。

原始评论需要提炼:
商品虽然希望买家给好评,但是从数据挖掘的角度看,单纯的好拼价值不大,尤其是一些空洞的评价,并未能给未来潜在消费者提供有价值的参考信息。比如大部分消费者会这么说“质量不错”、“好评,下次买还是你家”等,但对于一个关心该产品安全性的消费者来说显然是没用的,当消费者没了解到他想了解的问题,很可能在头脑发热期过了之后就不会再考虑购买了。

2、项目需求:
对于一个指定的商品,生产商、卖家或消费者需要了解用户认同该商品的哪些优点,不认同该商品的哪些弱点或缺点。

3、项目输出:
(1)商品好评的若干个topic中,其关键词各是什么,以及每个关键词的权重。
(2)商品差评的若干个topic中,其关键词各是什么,以及每个关键词的权重。

4、需要安装的库:
snownlp – 用来处理情感分析
jieba – 分词
gensim – 使用主题模型

5、LDA主题模型:
如果一篇文章有一个中心思想或主题,那么一些特定词语会更频繁地出现。一篇文章通常可以包含多种主题,每个主题所占比例各不相同。对于不同主题的文章而言,其不同的主题实际上构成了一个分布。
一篇文章有主题,那么对于一个文档集,我们也可以分析其主题分布。借此甚至可以看出我的阅读爱好是什么。如果按每五年来分析,可以回顾下过去我的阅读兴趣的变化。当然现实中对主题分布进行分析,更多是出于商业目的。

本质上主题模型是一个词袋模型,不考虑词的顺序。
(1)已知条件:给定一个文档,可以看到的每篇文档都是由哪些词构成。
(2)假设条件:LDA模型假设每篇文档都是在讲述若干个主题,至于具体几个主题,可以认为预先设定k值。
(3)求解:通过LDA模型,可以求出这k个主题(latent)中,每个主题到底长什么样子。

Documents–Topics–Words(Tokens)

LDA能做什么:
(1)能做:求解出k个主题长什么样子。
(2)不能做:不能认为设定是什么主题,比如不能认为设定为财经、体育的主题。因为LDA是无监督算法,模型训练结束后,每个主题长什么样子就是什么样子,和整个语料中的每篇文档的内容有关系。无法人为强求某个主题表示财经,某个主题表示体育等。

LDA优点:
(1)无监督:不用对训练数据打标签
(2)预处理简单:分词,去除停用词
(3)参数少:一般只需要设定主题数k

6、代码实现:
(1)读取数据

import pandas as pd

inputfile = 'huizong.csv'
outputfile = 'meidi_jd.txt'
data = pd.read_csv(inputfile,encoding='utf8')
#只提取与美的品牌产品有关的评论
data = data[data['品牌']=='美的']['评论']

(2)数据预处理

#除去NAN
data = data.dropna()
import numpy as np

#去重,比如差不多的评论考虑其中一条就可以
l1 = len(data)
data = pd.DataFrame(data.unique())
l2 = len(data)
print(u'删除了%s条评论.'%(l1-l2))

'''
压缩词,也就是对句子内冗长的部分进行压缩
'''
def cutword(strs,reverse=False):
    s1 = []
    s2 = []
    s = []
    if reverse:
        strs = strs[::-1]
    s1.append(strs[
  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python数据分析与挖掘实战是一本介绍如何使用Python进行数据分析和挖掘的书籍。在电商产品评论数据中,LDA(Latent Dirichlet Allocation)是一种常用的机器学习算法。 LDA算法是一种基于概率图模型的无监督学习算法,它能够从文档集合中自动识别出潜在的主题,并将每个文档分配给一个或多个主题。在电商产品评论数据中,可以使用LDA算法来探索消费者对产品的评价和观点。 首先,需要将电商产品评论数据作为输入,可以使用Python的数据分析库(如pandas)进行导入和预处理。然后,使用自然语言处理库(如NLTK或spaCy)对评论进行分词和清洗,去除无用的标点符号和停用词。 接下来,在预处理后的评论数据上运行LDA算法。首先,需要将评论数据转化为词袋模型或TF-IDF向量表示形式。然后,使用LDA模型进行主题建模,通过训练模型来确定主题和主题词,并将每个评论分配给对应的主题。 最后,可以通过可视化工具(如pyLDAvis)将LDA模型的结果进行可视化,显示主题之间的关系以及每个主题的主题词。 使用LDA算法对电商产品评论数据进行分析和挖掘可以帮助企业了解消费者对产品的偏好和评价,从而改进产品设计和营销策略。此外,还可以帮助企业发现潜在的问题和改进方向,提高产品质量和消费者满意度。 总而言之,Python数据分析与挖掘实战可以帮助读者了解如何利用Python进行数据分析和挖掘,并且在电商产品评论数据中,LDA算法是一种有效的方法,可以帮助企业挖掘潜在的主题和消费者观点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值