用Python对用户的评论数据进行情感倾向分析

用Python对用户的评论数据进行情感倾向分析,第1张

本文可以学习到以下内容:

数据及源码地址: https://gitee.com/myrensheng/data_analysis

小凡,用户对耐段耳机商品的评论信息,饥亩灶你有没有什么好的办法分析一下?经理来向小凡请教问题。

嗯,小凡想了一会儿......

我想到了两种分析方法:

经理听完,甚是欣慰,便让小凡着手分析用户的评论数据。

数据烂扮解释:

小凡使用百度飞浆(paddlepaddle)模型库中的情感分析模型,将评论数据(content)转化为情感类别【积极1,消极0】

一、window10+anaconda3的安装命令:

二、安装预训练模型应用工具 PaddleHub

可以看到,大约 60% 的用户给出好评

用户的评论内容多集中在配置、音质等主题上

这里使用百度飞浆的LAC分词模型

分析结束后,小凡总结出以下结论:

小凡将结论汇报给经理,和经理一起想出一个可行的方案解决目前存在的问题。

由于语料缺乏,前期若使用到情感分析,建议暂时粗颂游使用SnowNLP(此模块主要使用淘宝评论语料)做情感挖掘,但不仅仅为单纯调用,需要优化,下面是一些实践思考:

可在此基础上优化,比如文本需要特别处理,除了平常的去停用词外,还可以需要对输入的文本结合词性等进行处理。

下面是一些常识:

一)无情感的词语(如去停用词,去掉语气词,无词性标签的词语)

二)对于文本过长,则可以考虑提取关键词或抽取文本摘要后再提取关键词

对于后者实践结果差异明显

以"发布了头条文章: 《5分钟11亿!京东双11场景化产品消费增长明显》 5分钟11亿!京东双11场景化产品消费增长明显 "为例子, 显然该文本为“积极****”文本。

1)s = SnowNLP("发布了头条文章:《5分钟11亿!京东双11场景化产品消费增长明显》 5分钟11亿!京东双11场景化产品消费增长明显")

得分为0.5,明显不岩销符合

2)s = SnowNLP(“ ”.join(jieba.analyse.textrank("发布了头条文章:《5分钟11亿!京东双11场景化产品消费增长明显》 5分钟11亿!京东双11场景化产品消费增长明显")))

而对于文本特别长的,则可以先抽取摘要,再对摘要提取关键词。

这主要由于此SnowNLP主要用贝叶斯机器学习方法进行训练文本,机器学习在语料覆盖上不够,特征上工程处理不当会减分,也没考虑语义等。

为何要考虑语义层面:

以“ 苏宁易购,是谁给你们下架OV的勇气****” 中的“ 下架”其实才是中心词(为樱派表达愤怒的文本),但“ 勇气 ”为下架的宾语(其为积极的文本),此句应该结果小于0.5,但实际为0.88,去掉“苏宁易购”则为0.6>

Python 有良好的程序包可以进行情感分类,那就哪镇手是Python 自然语言处理包,Natural Language Toolkit ,简称NLTK 。NLTK 当然不只是处旅物理情感分李嫌析,NLTK 有着整套自然语言处理的工具,从分词到实体识别,从情感分类到句法分析,完整而丰富,功能强大。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12320653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存