python snownlp了解_python snownlp情感分析简易demo(共享)

2024-03-27 22:40

本文主要是介绍python snownlp了解_python snownlp情感分析简易demo(共享),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注重本程序都是处理的unicode编码,所以使用时请自己decode成unicode。MIT许可下发行。

其 github 主页

我自己改了上文链接中的python代码并加入些许注释,以方便你的了解:

from snownlp import SnowNLP

# SnowNLP库:

# words:分词

# tags:关键词

# sentiments:情感度

# pinyin:拼音

# keywords(limit):关键词

# summary:关键句子

# sentences:语序

# tf:tf值

# idf:idf值

s = SnowNLP(u'这个东西真心很赞')

# s.words # [u'这个', u'东西', u'真心', u'很', u'赞']

print(s.words)

s.tags # [(u'这个', u'r'), (u'东西', u'n'), (u'真心', u'd')

# , (u'很', u'd'), (u'赞', u'Vg')]

print(s.sentiments)

# s.sentiments # 0.9769663402895832 positive的概率

# s.pinyin # [u'zhe', u'ge', u'dong', u'xi', # u'zhen', u'xin', u'hen',

# u'zan']4

s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')

# s.han # u'「繁体字」「繁体中文」的叫法在台湾亦很常见。'

print(s.han)

from snownlp import SnowNLP

text = u'''

自然语言处理是计算机科学领域与人工智能领域中的一个重点方向。

它研究能实现人与计算机之间用自然语言进行有效通信的种种理论和方法。

自然语言处理是一门融语言学、计算机科学、数学于一体的科学。

因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,

所以它与语言学的研究有着密切的联系,但又有重点的区别。

自然语言处理并不是一般地研究自然语言,

而在于研制能有效地实现自然语言通信的计算机系统,

特别是其中的软件系统。因而它是计算机科学的一部分。

'''

s = SnowNLP(text)

print(s.keywords(6)) # [u'语言', u'自然', u'计算机'] 不能用tags输出关键字.

s.summary(3) # [u'因而它是计算机科学的一部分', u'自然语言处理是一门融语言学、计算机科学、

# 数学于一体的科学', u'自然语言处理是计算机科学领域与人工智能领域中的一个重点方向']s.sentences

# print(s.sentences)

print(s.sentiments) # 1.0

s = SnowNLP([[u'这篇', u'文章'],

[u'那篇', u'论文'],

[u'这个']])

# print(s.tf)

# print(s.idf)

# print(s.sim([u'文章'])) # [0.3756070762985226, 0, 0]

在编译运行之前,先得安装snownlp包,后续还有pylab,pandas模块:

在VS Code终端(查看->集成终端)里面输入:

pip install snownlp

pip install pylab

pip install pandas

前提是你安装了pip,若是pip没有安装可以查看我之前的 文章

在VS Code中我们可以右键模块名查看定义,便能看到模块的实现了.不得不说VS Code很强大,希望微软能这么一直走下去,走向开源走向跨系统!!

然后我随便提取了《心灵捕手》豆瓣网评,放在了txt中:

其实大多数情况下,大陆的译名比港译要更有味道。

It is not ur fault!

我是在电视上偶尔才看到这个电影的,当时看的时候真的很感人。 为什么会有这么天才的人,却有着这样子曲折的人生。

是认为剧本很好却没有被完全拍出来:) 对演员的表演还是心存质疑一点点~ 呵呵

好评

前几日刚刚看过,一部触动心灵的电影,寻找真正的人生

这篇影评写的很棒,我的眼睛湿润了

很好的片子

最后就是处理的程序了:

from snownlp import SnowNLP

import pandas as pd

import pylab as pl

txt = open('F:/_analyse_Emotion.txt')

text = txt.readlines()

txt.close()

print('读入成功')

sentences = []

senti_score = []

for i in text:

a1 = SnowNLP(i)

a2 = a1.sentiments

sentences.append(i) # 语序...

senti_score.append(a2)

print('doing')

table = pd.DataFrame(sentences, senti_score)

# table.to_excel('F:/_analyse_Emotion.xlsx', sheet_name='Sheet1')

# ts = pd.Series(sentences, senti_score)

# ts = ts.cumsum()

# print(table)

x = [1, 2, 3, 4, 5, 6, 7, 8]

pl.mpl.rcParams['font.sans-serif'] = ['SimHei']

pl.plot(x, senti_score)

pl.title(u'心 灵 捕 手 网 评')

pl.xlabel(u'评 论 用 户')

pl.ylabel(u'情 感 程 度')

pl.show()

最后的效果:

20201108155237174369.jpg

可能有些不准确,我也是随便提取的数据,不过snownlp还是号称情感分析准确很高的!

以上这篇python snownlp情感分析简易demo(共享)就是小编共享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持乐购源码。

这篇关于python snownlp了解_python snownlp情感分析简易demo(共享)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853629

相关文章

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我