导航:首页 > 编程语言 > 中文评论情感分析源代码

中文评论情感分析源代码

发布时间:2024-08-15 17:32:30

word文本中的文档部件里的域 打开之后不是一个方框,而是一个代码是怎么回事

编者按

文本情感分析是对带有主观感情色彩的文本进行分析、处理、归纳和推理的过程。互联网上每时每刻都会产生大量文本,这其中也包含大量的用户直接参与的、对人、事、物的主观评价信息,比如微博、论坛、汽车、购物评论等,这些评论信息往往表达了人们的各种主观情绪,如喜、怒、哀、乐,以及情感倾向性,如褒义、贬义等。基于此,潜在的用户就可以通过浏览和分析这些主观色彩的评论来了解大众舆论对于某一事件或产品的看法。

百分点认知智能实验室基于前沿的自然语言处理技术和实际的算法落地实践,真正实现了整体精度高、定制能力强的企业级情感分析架构。从单一模型到定制化模型演变、文本作用域优化、多模型(相关度)融合、灵活规则引擎、以及基于实体的情感倾向性判定,探索出了一套高精准、可定制、可干预的智能分析框架,为舆情客户提供了高效的预警研判服务。

本文作 者: 常全有 刘政

一、

情感分析概述

文本情感分析,即 Sentiment Analysis(SA),又称意见挖掘或情绪倾向性分析。 针对通用场景下带有主观描述的中文文本,自动判断该文本的情感极性类别并给出相应的置信度,情感极性分为积极、消极、中性等。

在文本分析的基础上,也衍生出了一系列细粒度的情感分析任务,如:


② 如何用python做舆情时间序列可视化

如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧。
痛点
你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价。从前,你苦恼的是顾客不爱写评价。最近因为餐厅火了,分店越来越多,写评论的顾客也多了起来,于是你新的痛苦来了——评论太多了,读不过来。
从我这儿,你了解到了情感分析这个好用的自动化工具,一下子觉得见到了曙光。
你从某知名点评网站上,找到了自己一家分店的页面,让助手把上面的评论和发布时间数据弄下来。因为助手不会用爬虫,所以只能把评论从网页上一条条复制粘贴到Excel里。下班的时候,才弄下来27条。(注意这里我们使用的是真实评论数据。为了避免对被评论商家造成困扰,统一将该餐厅的名称替换为“A餐厅”。特此说明。)
好在你只是想做个试验而已,将就了吧。你用我之前介绍的中文信息情感分析工具,依次得出了每一条评论的情感数值。刚开始做出结果的时候,你很兴奋,觉得自己找到了舆情分析的终极利器。
可是美好的时光总是短暂的。很快你就发现,如果每一条评论都分别运行一次程序,用机器来做分析,还真是不如自己挨条去读省事儿。
怎么办呢?
序列
办法自然是有的。我们可以利用《贷还是不贷:如何用Python和机器学习帮你决策?》一文介绍过的数据框,一次性处理多个数据,提升效率。
但是这还不够,我们还可以把情感分析的结果在时间序列上可视化出来。这样你一眼就可以看见趋势——近一段时间里,大家是对餐厅究竟是更满意了,还是越来越不满意呢?
我们人类最擅长处理的,就是图像。因为漫长的进化史逼迫我们不断提升对图像快速准确的处理能力,否则就会被环境淘汰掉。因此才会有“一幅图胜过千言万语”的说法。
准备
首先,你需要安装Anaconda套装。详细的流程步骤请参考《 如何用Python做词云 》一文。
助手好不容易做好的Excel文件restaurant-comments.xlsx,请从这里下载。
用Excel打开,如果一切正常,请将该文件移动到咱们的工作目录demo下。
因为本例中我们需要对中文评论作分析,因此使用的软件包为SnowNLP。情感分析的基本应用方法,请参考《如何用Python做情感分析?》。
到你的系统“终端”(macOS, Linux)或者“命令提示符”(Windows)下,进入我们的工作目录demo,执行以下命令。
pip install snownlp
pip install ggplot

运行环境配置完毕。
在终端或者命令提示符下键入:
jupyter notebook

如果Jupyter Notebook正确运行,下面我们就可以开始编写代码了。
代码
我们在Jupyter Notebook中新建一个Python 2笔记本,起名为time-series。
首先我们引入数据框分析工具Pandas,简写成pd以方便调用。
import pandas as pd

接着,读入Excel数据文件:
df = pd.read_excel("restaurant-comments.xlsx")

我们看看读入内容是否完整:
df.head()

结果如下:
注意这里的时间列。如果你的Excel文件里的时间格式跟此处一样,包含了日期和时间,那么Pandas会非常智能地帮你把它识别为时间格式,接着往下做就可以了。
反之,如果你获取到的时间只精确到日期,例如"2017-04-20"这样,那么Pandas只会把它当做字符串,后面的时间序列分析无法使用字符串数据。解决办法是在这里加入以下两行代码:
from dateutil import parser
df["date"] = df.date.apply(parser.parse)

这样,你就获得了正确的时间数据了。
确认数据完整无误后,我们要进行情感分析了。先用第一行的评论内容做个小实验。
text = df.comments.iloc[0]

然后我们调用SnowNLP情感分析工具。
from snownlp import SnowNLP
s = SnowNLP(text)

显示一下SnowNLP的分析结果:
s.sentiments

结果为:
0.6331975099099649

情感分析数值可以正确计算。在此基础上,我们需要定义函数,以便批量处理所有的评论信息。
def get_sentiment_cn(text):
s = SnowNLP(text) return s.sentiments

然后,我们利用Python里面强大的apply语句,来一次性处理所有评论,并且将生成的情感数值在数据框里面单独存为一列,称为sentiment。
df["sentiment"] = df.comments.apply(get_sentiment_cn)

我们看看情感分析结果:
df.head()

新的列sentiment已经生成。我们之前介绍过,SnowNLP的结果取值范围在0到1之间,代表了情感分析结果为正面的可能性。通过观察前几条数据,我们发现点评网站上,顾客对这家分店评价总体上还是正面的,而且有的评论是非常积极的。
但是少量数据的观察,可能造成我们结论的偏颇。我们来把所有的情感分析结果数值做一下平均。使用mean()函数即可。
df.sentiment.mean()

结果为:
0.7114015318571119

结果数值超过0.7,整体上顾客对这家店的态度是正面的。
我们再来看看中位数值,使用的函数为median()。
df.sentiment.median()

结果为:
0.9563139038622388

我们发现了有趣的现象——中位数值不仅比平均值高,而且几乎接近1(完全正面)。
这就意味着,大部分的评价一边倒表示非常满意。但是存在着少部分异常点,显著拉低了平均值。
下面我们用情感的时间序列可视化功能,直观查看这些异常点出现在什么时间,以及它们的数值究竟有多低。
我们需要使用ggplot绘图工具包。这个工具包原本只在R语言中提供,让其他数据分析工具的用户羡慕得流口水。幸好,后来它很快被移植到了Python平台。
我们从ggplot中引入绘图函数,并且让Jupyter Notebook可以直接显示图像。
%pylab inlinefrom ggplot import *

这里可能会报一些警告信息。没有关系,不理会就是了。
下面我们绘制图形。这里你可以输入下面这一行语句。
ggplot(aes(x="date", y="sentiment"), data=df) + geom_point() + geom_line(color = 'blue') + scale_x_date(labels = date_format("%Y-%m-%d"))

你可以看到ggplot的绘图语法是多么简洁和人性化。只需要告诉Python自己打算用哪个数据框,从中选择哪列作为横轴,哪列作为纵轴,先画点,后连线,并且可以指定连线的颜色。然后,你需要让X轴上的日期以何种格式显示出来。所有的参数设定跟自然语言很相似,直观而且易于理解。
执行后,就可以看到结果图形了。
在图中,我们发现许多正面评价情感分析数值极端的高。同时,我们也清晰地发现了那几个数值极低的点。对应评论的情感分析数值接近于0。这几条评论,被Python判定为基本上没有正面情感了。
从时间上看,最近一段时间,几乎每隔几天就会出现一次比较严重的负面评价。
作为经理,你可能如坐针毡。希望尽快了解发生了什么事儿。你不用在数据框或者Excel文件里面一条条翻找情感数值最低的评论。Python数据框Pandas为你提供了非常好的排序功能。假设你希望找到所有评论里情感分析数值最低的那条,可以这样执行:
df.sort(['sentiment'])[:1]

结果为:
情感分析结果数值几乎就是0啊!不过这里数据框显示评论信息不完全。我们需要将评论整体打印出来。
print(df.sort(['sentiment']).iloc[0].comments)

评论完整信息如下:
这次是在情人节当天过去的,以前从来没在情人节正日子出来过,不是因为没有男朋友,而是感觉哪哪人都多,所以特意错开,这次实在是馋A餐厅了,所以赶在正日子也出来了,从下午四点多的时候我看排号就排到一百多了,我从家开车过去得堵的话一个小时,我一看提前两个小时就在网上先排着号了,差不多我们是六点半到的,到那的时候我看号码前面还有才三十多号,我想着肯定没问题了,等一会就能吃上的,没想到悲剧了,就从我们到那坐到等位区开始,大约是十分二十分一叫号,中途多次我都想走了,哈哈,哎,等到最后早上九点才吃上的,服务员感觉也没以前清闲时周到了,不过这肯定的,一人负责好几桌,今天节日这么多人,肯定是很累的,所以大多也都是我自己跑腿,没让服务员给弄太多,就虾滑让服务员下的,然后环境来说感觉卫生方面是不错,就是有些太吵了,味道还是一如既往的那个味道,不过A餐厅最人性化的就是看我们等了两个多小时,上来送了我们一张打折卡,而且当次就可以使用,这点感觉还是挺好的,不愧是A餐厅,就是比一般的要人性化,不过这次就是选错日子了,以后还是得提前预约,要不就别赶节日去,太火爆了!
通过阅读,你可以发现这位顾客确实有了一次比较糟糕的体验——等候的时间太长了,以至于使用了“悲剧”一词;另外还提及服务不够周到,以及环境吵闹等因素。正是这些词汇的出现,使得分析结果数值非常低。
好在顾客很通情达理,而且对该分店的人性化做法给予了正面的评价。
从这个例子,你可以看出,虽然情感分析可以帮你自动化处理很多内容,然而你不能完全依赖它。
自然语言的分析,不仅要看表达强烈情感的关键词,也需要考虑到表述方式和上下文等诸多因素。这些内容,是现在自然语言处理领域的研究前沿。我们期待着早日应用到科学家们的研究成果,提升情感分析的准确度。
不过,即便目前的情感分析自动化处理不能达到非常准确,却依然可以帮助你快速定位到那些可能有问题的异常点(anomalies)。从效率上,比人工处理要高出许多。
你读完这条评论,长出了一口气。总结了经验教训后,你决定将人性化的服务贯彻到底。你又想到,可以收集用户等候时长数据,用数据分析为等待就餐的顾客提供更为合理的等待时长预期。这样就可以避免顾客一直等到很晚了。
祝贺你,经理!在数据智能时代,你已经走在了正确的方向上。
下面,你该认真阅读下一条负面评论了……
讨论
除了情感分析和时间序列可视化,你觉得还可以如何挖掘中文评论信息?除了点评网站之外,你还知道哪些舆情分析的数据来源?欢迎留言分享给大家,我们一起交流讨论。
如果你对我的文章感兴趣,欢迎点赞,并且微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)。
如果你身边有好友正在做舆情分析的研究工作,也欢迎你把这篇文章转发给他们,共同学习和提高。

③ 大数据专业都需要学习哪些软件啊

大数据处理分析能力在21世纪至关重要。使用正确的大数据工具是企业提高自身优势、战胜竞争对手的必要条件。下面让我们来了解一下最常用的30种大数据工具,紧跟大数据发展脚步。

第一部分、数据提取工具
Octoparse是一种简单直观的网络爬虫,可以从网站上直接提取数据,不需要编写代码。无论你是初学者、大数据专家、还是企业管理层,都能通过其企业级的服务满足需求。为了方便操作,Octoparse还添加了涵盖30多个网站的“任务模板 (Task Templates)”,操作简单易上手。用户无需任务配置即可提取数据。随着你对Octoparse的操作更加熟悉,你还可以使用其“向导模式 (Wizard Mode)”来构建爬虫。除此之外,大数据专家们可以使用“高级模式 (Advanced Mode)”在数分钟内提取企业批量数据。你还可以设置“自动云提取 (Scheled Cloud Extraction)”,以便实时获取动态数据,保持跟踪记录。

02

Content Graber

Content Graber是比较进阶的网络爬网软件,具有可用于开发、测试和生产服务器的编程操作环境。用户可以使用C#或VB.NET调试或编写脚本来构建爬虫。Content Graber还允许你在爬虫的基础上添加第三方扩展软件。凭借全面的功能,Content Grabber对于具有基本技术知识的用户来说功能极其强大。
Import.io是基于网页的数据提取工具。Import.io于2016年首次启动,现已将其业务模式从B2C转变为B2B。2019年,Import.io并购了Connotate,成为了一个网络数据集成平台 (Web Data Integration Platform)。凭借广泛的网络数据服务,Import.io成为了商业分析的绝佳选择。
Parsehub是基于网页的数据爬虫。它可以使用AJax,javaScript等等从网站上提取动态的的数据。Parsehub提供为期一周的免费试用,供用户体验其功能。
Mozenda是网络数据抓取软件,提供企业级数据抓取服务。它既可以从云端也可以从内部软件中提取可伸缩的数据。
第二部分、开源数据工具

01Knime

KNIME是一个分析平台,可以帮助你分析企业数据,发现潜在的趋势价值,在市场中发挥更大潜能。KNIME提供Eclipse平台以及其他用于数据挖掘和机器学习的外部扩展。KNIME为数据分析师提供了2,000多个模块。

02OpenRefine(过去的Google Refine)是处理杂乱数据的强有力工具,可用于清理、转换、链接数据集。借助其分组功能,用户可以轻松地对数据进行规范化。

03R-Programming

R大家都不陌生,是用于统计计算和绘制图形的免费软件编程语言和软件环境。R语言在数据挖掘中很流行,常用于开发统计软件和数据分析。近年来,由于其使用方便、功能强大,得到了很大普及。

04RapidMiner

与KNIME相似,RapidMiner通过可视化程序进行操作,能够进行分析、建模等等操作。它通过开源平台、机器学习和模型部署来提高数据分析效率。统一的数据科学平台可加快从数据准备到实施的数据分析流程,极大地提高了效率。
第三部分、数据可视化工具

01

Datawrapper

Microsoft PowerBI既提供本地服务又提供云服务。它最初是作为Excel附加组件引入的,后来因其强大的功能而广受欢迎。截至目前,它已被视为数据分析领域的领头羊,并且可以提供数据可视化和商业智能功能,使用户能够以较低的成本轻松创建美观的报告或BI仪表板。

02

Solver

Solver专用于企业绩效管理 (CPM) 数据可视化。其BI360软件既可用于云端又可用于本地部署,该软件侧重于财务报告、预算、仪表板和数据仓库的四个关键分析领域。

03

Qlik

Qlik是一种自助式数据分析和可视化工具。可视化的仪表板可帮助公司有效地“理解”其业务绩效。
04

Tableau Public



Tableau是一种交互式数据可视化工具。与大多数需要脚本的可视化工具不同,Tableau可帮助新手克服最初的困难并动手实践。拖放功能使数据分析变得简单。除此之外,Tableau还提供了入门工具包和丰富的培训资源来帮助用户创建报告。

05

Google Fusion Tables

Fusion Table是Google提供的数据管理平台。你可以使用它来收集,可视化和共享数据。Fusion Table与电子表格类似,但功能更强大、更专业。你可以通过添加CSV,KML和电子表格中的数据集与同事进行协作。你还可以发布数据作品并将其嵌入到其他网络媒体资源中。

06

Infogram

Infogram提供了超过35种交互式图表和500多种地图,帮助你进行数据可视化。多种多样的图表(包括柱形图,条形图,饼形图和文字云等等)一定会使你的听众印象深刻。

第四部分、情感分析工具

01

HubSpot’s ServiceHub

HubSpot具有客户反馈工具,可以收集客户反馈和评论,然后使用自然语言处理 (NLP) 分析数据以确定积极意图或消极意图,最终通过仪表板上的图形和图表将结果可视化。你还可以将HubSpot’s ServiceHub连接到CRM系统,将调查结果与特定联系人联系起来。这样,你可以识别不满意的客户,改善服务,以增加客户保留率。

02

Semantria

Semantria是一款从各种社交媒体收集帖子、推文和评论的工具。Semantria使用自然语言处理来解析文本并分析客户的态度。通过Semantria,公司可以了解客户对于产品或服务的感受,并提出更好的方案来改善产品或服务。

03

Trackur

Trackur的社交媒体监控工具可跟踪提到某一用户的不同来源。它会浏览大量网页,包括视频、博客、论坛和图像,以搜索相关消息。用户可以利用这一功能维护公司声誉,或是了解客户对品牌和产品的评价。

04

SAS Sentiment Analysis



SAS Sentiment Analysis是一款功能全面的软件。网页文本分析中最具挑战性的部分是拼写错误。SAS可以轻松校对并进行聚类分析。通过基于规则的自然语言处理,SAS可以有效地对消息进行分级和分类。

05

Hootsuit Insight

Hootsuit Insight可以分析评论、帖子、论坛、新闻站点以及超过50种语言的上千万种其他来源。除此之外,它还可以按性别和位置对数据进行分类,使用户可以制定针对特定群体的战略营销计划。你还可以访问实时数据并检查在线对话。

第五部分、数据库

01

Oracle



毫无疑问,Oracle是开源数据库中的佼佼者,功能丰富,支持不同平台的集成,是企业的最佳选择。并且,Oracle可以在AWS中轻松设置,是关系型数据库的可靠选择。除此之外,Oracle集成信用卡等私人数据的高安全性是其他软件难以匹敌的。

02

PostgreSQL

PostgreSQL超越了Oracle、MySQL和Microsoft SQL Server,成为第四大最受欢迎的数据库。凭借其坚如磐石的稳定性,它可以处理大量数据。

03

Airtable

Airtable是基于云端的数据库软件,善于捕获和显示数据表中的信息。Airtable提供一系列入门模板,例如:潜在客户管理、错误跟踪和申请人跟踪等,使用户可以轻松进行操作。

04

MariaDB

MariaDB是一个免费的开源数据库,用于数据存储、插入、修改和检索。此外,Maria提供强大的社区支持,用户可以在这里分享信息和知识。

05

Improvado

Improvado是一种供营销人员使用自动化仪表板和报告将所有数据实时地显示在一个地方的工具。作为营销和分析领导者,如果你希望在一个地方查看所有营销平台收集的数据,那么Inprovado对你再合适不过了。你可以选择在Improvado仪表板中查看数据,也可以将其通过管道传输到你选择的数据仓库或可视化工具中,例如Tableau、Looker、Excel等。品牌,代理商和大学往往都喜欢使用Improvado,以大大节省人工报告时间和营销花费。

④ 求一份计算机本科的毕业设计,题目只要计算机类的就可以

计算机毕业设计
基于Python的SIFT和KCF的运动目标匹配与跟踪 毕业论文+项目源码
基于Python决策树算法的学生学习行为数据分析 设计报告+代码及数据
基于Sring+bootstrap+MySQL的住房公积金管理系统 课程报告+项目源码及数据库文件
基于C++的即时通信软件设计 毕业论文+项目源码
基于JavaWeb+MySQL的图书管理系统 课程报告+项目源码及数据库文件
基于Android Studio+Android SDK的手机通讯录管理软件设计 课程报告+项目源码
基于jsP+MySQL的校园网上订餐系统 毕业论文+项目源码及数据库文件
基于AndroidStudio的花艺分享平台APP设计 报告+源码及APK文件
基于Python的酒店评论情感分析 课程报告+答辩PPT+项目源码
基于QT的教务选课管理系统设计与实现 毕业论文+项目源码
基于Android+Springboot+Mybatis+Mysql的个人生活APP设计 说明书+项目源码
基于Vue.js+Go的Web3D宇宙空间数据可视化系统 设计报告+前后端源码及数据
基于java+android+SQLite的保健型果饮在线销售APP设计 毕业论文+源码数据库及APK文件
基于Vue.js+SpringBoot+MyBatis+MySQL的高校综合资源发布分享社交二手平台 毕业论文+项目源码及数据库文件+演示视频
基于Delphi+MySQL的大学生竞赛发布及组队系统 设计报告+源码数据库及可执行文件+使用说明书
基于Android的名片信息管理系统设计与实现 毕业论文+任务书+外文翻译及原文+演示视频+项目源码
基于Python的电影数据可视化分析系统 设计报告+答辩PPT+项目源码
基于JavaWeb的企业公司管理系统设计与实现 毕业论文+答辩PPT+演示视频+项目源码
高校成绩管理数据库系统的设计与实现 毕业论文+项目源码
基于JavaWeb的家庭食谱管理系统设计与实现 毕业论文+项目源码及数据库文件
基于Python+SQLSERVER的快递业务管理系统的设计与实现 毕业论文+项目源码及数据库文件
基于Python的语音词频提取云平台 设计报告+设计源码
在推荐系统中引入 Serendipity 的算法研究 毕业论文+参考文献+项目源码
基于Html+Python+Django+Sqlite的机票预订系统 毕业论文+项目源码及数据库文件
基于Python的卷积神经网络的猫狗图像识别系统 课程报告+项目源码
基于C++的云安全主动防御系统客户端服务端设计 毕业论文+项目源码
基于JavaSSM的学生成绩管理APP系统设计与实现 毕业论文+答辩PPT+前后台源码及APK文件
基于JavaSwing+MySQL的清朝古代名人数据管理系统设计 毕业论文+任务书+项目源码及数据库文件
基于Python_Django的社会实践活动管理系统设计与实现 毕业论文
基于Servlet WebSocket MySQL实现的网络在线考试系统 毕业论文+项目源码
基于JavaWEB+MySQL的学生成绩综合管理系统 毕业论文+项目源码及数据库文件
基于SpringBoot+Vue和MySQL+Redis的网络课程平台设计与实现 毕业论文+任务书+开题报告+中期报告+初稿+前后台项目源码
基于Java的毕业设计题目收集系统 课程报告+项目源码
基于Java+Python+html的生产者与消费者算法模拟 毕业论文+任务书+项目源码
基于JavaWeb+MySQL的学院党费缴费系统 毕业论文+项目源码及数据库文件
基于Java+MySQL的学生成绩管理系统 毕业论文+任务书+答辩PPT+项目源码及数据库文件
基于Java+MySQL的学生和客户信息管理系统 课程报告+项目源码及数据库文件
基于Java的长整数加减法算法设计 毕业论文+项目源码
基于vue+MySQL的毕业设计网上选题系统 毕业论文+项目源码
基于背景建模和FasterR-CNN的视频前景和目标检测 毕业论文+答辩PPT+项目源码
基于Python的智能视频分析之人数统计的多种实现 毕业论文+答辩PPT+项目源码
基于C#+SQL server的校园卡消费信息管理系统 毕业论文+项目源码及数据库文件

⑤ 学python用什么书

1. 《PYTHON基础教程(第2版本)》

这本书非常的适合零基础或者只有一点编程经验的朋友,它从Python程序的安装,交互式解释器的使用,基础数据类型,各种条件语句等方方面面的基础知识都讲到了,而且在书的最后几个章节,还有10个练习的实战项目,非常适合新手入门来学习。

2.《Python Cookbook(第2版)中文版》

这本书算是从事Python编程工作人员人手一本的必备书籍,这本书需要在看完前面的Python基础教程,掌握基本的Python知识。

该书不是循序渐进的在讲Python编程语言的书,而是针对某些特定python问题和任务,提出一些特别的方法和技巧。小编认为无论你目前是处在哪个阶段的Python爱好者,这本书都会让人获得非常多有价值的编程知识。

3.《Python编程快速上手——让繁琐工作自动化》

美亚畅销Python 3编程图书,帮助你通过编程快速实现工作自动化 。在本书中,你将学习利用Python 编程,在几分钟内完成手工需要几小时的工作,而事先却无需具备编程经验。一旦掌握了编程的基础知识,你就可以毫不费力地创建Python 程序,完成高效的自动化工作。

4.《Python核心编程(第3版)》

本书涵盖了成为一名技术全面的Python开发人员所需的一切内容。本书讲解了应用开发相关的多个领域,而且书中的内容可以立即应用到项目开发中。此外,本书还包含了一些使用Python 2和Python 3编写的代码案例,以及一些代码移植技巧。有些代码片段甚至无须修改就可以运行在Python 2.x或Python 3.x上。本书适合具有一定经验的Python开发人员阅读。
读书破万卷,下笔如有神。这句古话说来是有道理的。学python推荐这些书籍,大家也可以先多去看看,这样对自己接下来的深入学习是十分有帮助的。

对于Python开发有兴趣的小伙伴们,不妨先从看看Python开发书籍开始入门!B站上有很多的Python教学视频,从基础到高级的都有,还挺不错的,知识点讲的很细致,还有完整版的学习路线图。也可以自己去看看,下载学习试试。

⑥ 用networkx和python编程可视化分析共现词关系图

1 介绍

在之前的Jupyter notebook《共词分析中的共词关系是怎么得到的?》中,我们学习了如何将GooSeeker分词和情感分析软件生成的选词矩阵和共词矩阵Excel表导入到NumPy array数据结构中,并展示了以词为研究对羡信象时,选词矩阵和共词矩阵之间的关系。

GooSeeker分词和情感分析软件具备展示共现词关系图的能力,但当前软件版本存在以下局限性,需要使用Jupyter Notebook来弥补:

这些问题将在接下来的多个notebook中逐一探讨。首先,本notebook将演示如何使用networkx绘制社会网络分析图。然后在接下来的notebook中,我们将演示如何对图进行化简,包括根据边权重化简和利用MST算法化简。

2 使用方法

操作顺序如下:

注意:GooSeeker发布的每个notebook项目目录都预先规划好了,具体参看Jupyter Notebook项目目录规划参考。如果要新做一个分析项目,需要将整个模板目录复制一份给新项目,然后编写notebook目录下的ipynb文件。

3 修改历史

2022-08-18:第一版发布

4 版权说明

本notebook由GooSeeker大数据分析团队开发,所分析的源数据是GooSeeker分词和文本分析软件生成的。本notebook中的代码可自由共享使用,包括转发、复制、修改、用于其他项目中。

5 准备运行环境

5.1 引入需要用到的库

5.2 设置中文字体

因为含有中文,pyplot画图可能会显示以下错误信息:

C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:238: RuntimeWarning: Glyph 32993 missing from current font. font.set_text(s, 0.0, flags=flags)

这是因为找不到中文字体,所以图上的中文显示不出来。为了解决pyplot显示找不到字体的问题,可以参考glyph-23130-missing-from-current-font,先进行如下设置。

5.3 常量和配置

在我们发布的一系列Jupyter Notebook中,处理GooSeeker分词软件导出的结果文件的,都给各种导出文件起了固定的名字。为了方便大家使用,只要把导出文件放在data/raw文件夹,notebook就会找到导出文件,并赋值给对应的文件名变量。下面列出了可能用到的文件名变量:

5.4 检测data\raw目录下是否有GooSeeker分词结果表

在本notebook中,我们只使用共词矩阵表。下面的代码将检查data/raw中是否有这个表,如果没有会报错,后面的程序就无法执行了。

输出结果如下:

6 读取共词矩阵表并存入矩阵

读入桐此过程不展开讲解,具体参看《共词分析中的共词关系是怎么得到的?》

6.1 用pandas dataframe读入共词矩阵

6.2 提取字段名

将用于给graph的node命名

输出结果:

6.3 生成矩阵数据结构

输出结果:

看看有多少个词:

输出结果:133

7 生成图并进行探索

7.1 从NumPy数组生成networkx图

参看networkx文档,有专门的函数可以从其他数据结构直接生成graph

输出结果:

7.2 给node加上label

如果不加label,画出来的图上的每个节点只是一个编号,加上label可以看到节点对应的词。

根据get_node_attributes,查看现在的note labels

输出结果:

{}

根据How-do-I-label-a-node-using-networkx-in-python,重新命名labels

7.3 画图

figure函数的使用方法参看pyplot官网。其他参考资料:

8 点度中心性分析

上面画的图糊成了一片,改进方向有这些

本notebook尝试第三点,而Gephi的使用方法将在另一个系列的文章中讲解。

8.1 定义一个公共画图函数

下局派迅面的代码来自NetworkX的中心性分析案例:plot_degree.html。将用来从多个角度观察点度中心性。

8.2 对点度中心性排序

观察哪些词是中心词。可以看到,由于数据集中的每个文档都比较长,共现的机会很高,所以,点度中心性很近似,前面的这些基本上都是全连接。

8.3 综合展示点度中心性

因为图的密度很高,用这个新定义的画图函数依然显示一片黑,但是还有两个图值得注意,实际上这两个图展示了相同内容,只是展示的角度不同,从这两个图可以看到具有某个点度的节点数量。

9 总结

下面是GooSeeker分词和情感分析软件自带的社会网络图展示,可以看到,软件自带的展示效果要远比上面的好。那么,我们需要怎样的处理才能从社会网络图上发现更多有价值的信息呢?在接下来的notebook中,我们将讲解两种简化图的方法:

除了简化社会网络图,我们在《共词分析中的共词关系是怎么得到的?》提到,度量词与词之间关系的方法不只是共词关系,或者说共词关系不只是用共现次数表示,还可以有更细致的方法,比如,度量同步变化规律和幅度的协方差分析,经过标准化后的皮尔森相关系数分析等等,后面的notebook将逐步讲解。

⑦ 求Deep learning 【Yann LeCun 1,2 , Yoshua Bengio 3 & Geoffrey Hinton 4,5】全文中文翻译

ご清栄のこととお喜び申し上げます。
株式会社山田商事、営业部の山田太郎でございます。

このたび、业界のコンサルタントとしてご活跃の真田先生をお迎えして、讲演会を开催いたします。

お得意様には、一般参加の方々より一足先にご案内メールをお送りしております。

出席を希望される场合、添付のご案内状をご覧いただき、
返信メールにてお知らせくださいますようお愿いいたします。

阅读全文

与中文评论情感分析源代码相关的资料

热点内容
陕西回收贴片机如何编程 浏览:948
以前鲍鱼网站里的小说怎么没了 浏览:267
matlab程序如何调试 浏览:915
ps工程文件怎么发 浏览:95
word文件如何批量插入盖章 浏览:548
jscheckbox 浏览:338
pics规则文件 浏览:644
如何从数据中找出问题和机会 浏览:668
写作投稿在哪个网站好 浏览:895
绝代双骄版本 浏览:380
手机app在哪里找的对象靠谱吗 浏览:919
win10文件默认显示ck方式 浏览:829
如何更改桌面文件图标 浏览:418
word2010如何去掉背景 浏览:632
adp文件如何打开 浏览:531
ug编程怎么导出零件 浏览:586
asp在线文件管理系统 浏览:468
tks文件如何分解 浏览:132
java7tmd32位 浏览:49
网络公司关键词 浏览:925

友情链接