网站首页 > 开源技术 正文
前言
Python以开发效率高而著称,其中一个重要原因是Python有许多好用的第三方库,今天我们就借助一个中文情感分析库 SnowNLP ,来对某个商品的评价做情感分析,得出每条评价到底是好评还是差评。SnowNLP 库的一个特点就是内置了中文词库,使用这个库就可以直接处理中文,也无需我们去做分词的操作,此外,他还可以做简单的关键字提取以及关键句提取等。
安装snownlp
pip install snownlp
执行上面的命令,即可自动安装,安装完成后就可以开始我们的评论情感分析了。
数据准备
为了避免太多其他功能代码干扰本文的重点内容,因此我提前在某宝的一个商品上把评论复制下来放入文件 taobao评论.txt 中,内容大致如下:
良心话,淘宝买衣服最满意的一次,质量也没让我失望,物有所值,非常合身,非常满意,收到就洗了,穿上心情美美的,值得推荐,请大家放心购买 衣服收到了质量挺好哦,价格实惠物美价廉,款式简单大方比较百搭,是雪纺的面料不会很透明,穿着还算合身,喜欢的宝宝可以入手 宝贝己收到,迫不及待的试了一下,感觉还不错,与图片相符合,没有色差,穿起很合身,布料柔软,是我购物最满意的一次,准备再买一件其它颜色,想买的朋友赶紧下手吧,赞赞赞 真心不错。比我想象的还要好。送给朋友的妈妈穿,穿着显年轻。喜欢的赶紧下单。真的不错 袖子太短了,颜色也不好看。 看起来很土啊,穿起来像个大妈款 这个价位太贵了,款式也太旧了。
实现代码
#%% 导入 import snownlp as slp import collections as clt #1 Comment=clt.namedtuple('Comment','content,result') #%% 方法定义 def get_contents(file_path): with open(file_path,'r',encoding='utf8') as f: return [n.strip() for n in f.readlines()] def analyse_to_comment(content): #2 s=slp.SnowNLP(content) #3 return Comment(display_long(content),pst_to_result(s.sentiments)) def display_long(content): if len(content)>10: return f'{content[0:5]}……{content[-5:]}' return content #4 def pst_to_result(positive): if positive>0.75: return '好评' return '差评' #%% 运行 if __name__ == "__main__": file=r'taobao评论.txt' cms=( analyse_to_comment(c) for c in get_contents(file) ) for c in cms: print(c)
输出:
Comment(content='良心话,……家放心购买', result='好评') Comment(content='衣服收到了……宝可以入手', result='好评') Comment(content='宝贝己收到……吧,赞赞赞', result='好评') Comment(content='真心不错。……。真的不错', result='好评') Comment(content='袖子太短了……也不好看。', result='差评') Comment(content='看起来很土……像个大妈款', result='差评') Comment(content='这个价位太……也太旧了。', result='差评')
- (#1) 使用命名元组来组织数据,两个属性,content是评论,由于可能会很长,所以最终结果会进行缩略显示。result就显示"好评"或"差评"
- (#2) 使用 snownlp 的 SnowNLP,实例化时传入我们要分析的文本
- (#3) 使用 调用 SnowNLP 的方法 sentiments ,即可得到一个百分比的数值,这个数值表示积极度
- (#4) 自定义方法 pst_to_result ,这里就简单把大于 0.75 分的就输出 "好评",其他情况就输出 "差评"
总结
- 使用 snownlp 的 SnowNLP ,实例化时传入待分析的文本
- 调用 SnowNLP 的方法 sentiments,获取积极度分数(0到1之间的小数)
最后
本文介绍了在Python中简单使用 snownlp 进行商品评价情感分析,这个库一般对于商品买卖才有比较好的分析效果,对于其他场景恐怕会比较感人。考虑到他调用简单方便,我们无需顾及中文分词和创建各种nlp模型即可进行分析也是一个不错的选择。
猜你喜欢
- 2024-09-12 《小美好》短评文本情感分析+生成词云
- 2024-09-12 怎么自学python,大概要多久?(自学python怎么样)
- 2024-09-12 推荐 4 个 Python 新手实战项目(python入门教程推荐)
- 2024-09-12 基于 Python 的网易民谣歌词数据分析
- 2024-09-12 B 站鬼畜区热门评论情感分析(b站鬼畜区热度)
- 2024-09-12 淘宝上“飞机杯”的销量究竟有多大?
- 2024-09-12 教你对抓取的文本进行分词、词频统计、词云可视化和情感分析
- 2024-09-12 AC娘是宇宙的主宰——坛友ac娘表情使用情况分析以及些许干货
- 2024-09-12 新手怎么自学python,大概要多久?
- 2024-09-12 盘点一个英文文本中统计关键词的方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)