查看原文
其他

PyPlutchik库 | 可视化文本的情绪轮(情绪指纹)

大邓 大邓和他的Python 2022-07-09

越来越多的社交网络学者, 为测量情绪, 基于心理学家 Robert Plutchik 提出的模型(通常简称为“Plutchik轮”,人类的情绪一共有8大类)制作了大量的情绪可视化作品。在某种程度上,Plutchik轮可以看做情绪指纹,例如不同的电影题材在8类情绪的分布是不一样的。

今天介绍 PyPlutchik,这是一个 Python 库,专门用于在文本或语料库中可视化 Plutchik 的情绪。PyPlutchik 绘制 Plutchik 的花朵,每个情感花瓣的大小取决于语料库中检测到或注释了多少情感,也代表每个情感花瓣的三个强度程度。


安装

pip3 install pyplutchik

Usage

from pyplutchik import plutchik

emotions = {'joy'0.6,
            'trust'0.4,
            'fear'0.1,
            'surprise'0.7,
            'sadness'0.1,
            'disgust'0.5,
            'anger'0.4,
            'anticipation'0.6}
            
plutchik(emotions)

功能特性

PyPlutchik 提供了一个即插即用的工具,用于在文本或语料库中定量表示 Plutchik 的情绪。它尊重 Plutchik 轮中每个花瓣的原始颜色和空间位移。

在 Pyplutchik 中,用户可以只传递一个字典作为唯一参数,其中字典的键必须是 8 种基本情绪。每个值必须是 ∈ [0, 1]。


每类情绪存在三种强度,下表是Pyplutchik的8大类情绪三种强度汇总。

用户还可以给每个情绪传入一个长度是3的列表,依次表示情绪在低、中、高三种强度的程度,数值0 和 1 之间。

Lower intensityEmotionHigher intensity
AnnoyanceAngerRage
InterestAnticipationVigilance
SerenityJoyEcstasy
AcceptanceTrustAdmiration
ApprehensionFearTerror
DistractionSurpriseAmazement
PensivenessSadnessGrief
BoredomDisgustLoathing


PyPlutchik 也可表征用户数据中的主要二元、次要二元、二元和相反的情绪。它会自动从字典的关键字中了解用户想要显示什么样的二元组。


绘图技巧

可以专注于情绪子集,不会忽视其他情绪,将情绪列表作为参数“highlight_emotions”的值传递:

我们可以比较同一亚马逊语料库的不同子组,将我们的可视化并排放置,并仅突出显示愤怒、厌恶和恐惧的花瓣,以轻松发现这些负面情绪在 5 星评论中的表现如何低于 1 星评论 .


或者可以隐藏坐标、刻度和标签,只绘制花瓣,使用参数 show_coordinates = Falseshow_ticklabels = False。下图是imdb不同电影的情绪轮


完整的文档

有关所有参数的文档和示例库,请参见

https://hidadeng.github.io/blog/pyplutchik-emotion-circle/Documentation.md

https://hidadeng.github.io/blog/pyplutchik-emotion-circle/PyPlutchik.zip

🔥 PyPlutchik 2.0 即将推出!新功能包括从文本中提取情感并检查非主题词典。敬请期待……🔥


说明

如果使用PyPlutchik,请在文献中说明,格式如下

Semeraro A, Vilella S, Ruffo G (2021) 
PyPlutchik: Visualising and comparing emotion-annotated corpora 
PLOS ONE 16(9): e0256503.https://doi.org/10.1371/journal.pone.0256503



精选文章

Python语法入门(含视频代码)

视频专栏课 | Python网络爬虫与文本分析

读完本文你就了解什么是文本分析

综述:文本分析在市场营销研究中的应用

案例实战 | 企业信息数据采集

使用文本相似度可以识别变化的时间点

PNAS | 文本网络分析&文化桥梁Python代码实现

tomotopy | 速度最快的LDA主题模型

dvt | 视觉文化分析的Python工具包

人文社科类Python免费教程列表

量化历史语言学-贝叶斯语言谱系分析

Python与文化分析入门

在会计研究中使用Python进行文本分析

文本分析方法在《管理世界》(2021.5)中的应用

SciencePlots | 科研样式绘图库

Wow~70G上市公司定期报告数据集

YelpDaset: 酒店管理类数据集10+G  

极简浏览器启动页StartPage分享

doccano|为机器学习建模做数据标注

使用WeasyPrint自动生成pdf报告文件

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存