每日热文:Asent库 | 英文文本数据情感分析
Asent 是一个新的Python情感分析库, 依据情感词典,按照一定的规则,可用于评判词语、句子、文档的情感信息(正、负)。
目前情感计算规则有
(资料图片)
Asent目前仅支持英语、丹麦、挪威、瑞典4种语言。
参考往期文章建议收藏 | nltk和spacy配置方法,需要先下载并配置spacy模型。以下将带您逐步了解情绪是如何计算的。
!pip3installspacy==3.2.0!pip3installasent==0.4.2
首先,我们需要一个 spaCy 管道,并且我们需要向其中添加 asent 管道。
importasentimportspacy#en_core_web_lg是spacy模型,需要单独下载&配置,本文代码才可使用nlp=spacy.load("en_core_web_lg")#addtherule-basedsentimentmodelnlp.add_pipe("asent_en_v1")
效价和极性
如下所示, token的效价信息来自于人工标注的词典。例如I am not very happy中词语happy的人类情感评分是2.7。
token_polarity.png)
首先我们查看每个词语对应的效价。
doc=nlp("Iamnotveryhappy.")fortokenindoc:print(token,"\t",token._.valence)
I 0.0am 0.0not 0.0very 0.0happy 2.7. 0.0
在该语境中, happy前面有否定词not修饰,所以情感极性方面应该被看做消极的。一般否定词和副词可以将形容词的情感进行反转和放大(缩小)。
fortokenindoc:print(token._.polarity)
polarity=0.0 token=I span=Ipolarity=0.0 token=am span=ampolarity=0.0 token=not span=notpolarity=0.0 token=very span=verypolarity=-2.215 token=happy span=not very happypolarity=0.0 token=. span=.
注意到, 词语在happy拥有-2.215的极性分,该分是由not very happy确定的。
可视化asent拥有多种情感极性可视化的方法
asent.visualize(doc,style="prediction")
asent.visualize(doc,style="analysis")
forsentenceindoc.sents:print(sentence._.polarity)
neg=0.391 neu=0.609 pos=0.0 compound=-0.4964 span=I am not very happy.
doc._.polarity
DocPolarityOutput(neg=0.391, neu=0.609, pos=0.0, compound=-0.4964)
doc2=nlp("Iamnotveryhappy.Iamveryveryhappy.Itisawesome!!")print("doc2情感极性信息:",doc2._.polarity)print()print("doc2情感得分:",doc2._.polarity.compound)
doc2情感极性信息: neg=0.13 neu=0.536 pos=0.333 compound=0.2794doc2情感得分: 0.279353567721562
#每个句子的情感极性信息forsentenceindoc2.sents:print(sentence._.polarity)
neg=0.391 neu=0.609 pos=0.0 compound=-0.4964 span=I am not very happy.neg=0.0 neu=0.539 pos=0.461 compound=0.6453 span=I am very very happy.neg=0.0 neu=0.461 pos=0.539 compound=0.6892 span=It is awesome!!
#每个句子的情感得分forsentenceindoc2.sents:print(sentence._.polarity.compound)
-0.49642389816171780.64527646594021580.689208135386188精选文章
长期招募小伙伴
从符号到嵌入:计算社会科学的两种文本表示
推荐 | 社科(经管)文本分析快速指南
使用cntext训练Glove词嵌入模型
认知的测量 | 向量距离vs语义投影
Wordify | 发现和区分消费者词汇的工具
karateclub库 | 计算社交网络中节点的向量
视频专栏课 | Python网络爬虫与文本分析
扩增内置pkl | 欢迎各位向cntext库分享情感词典
文本分析 | 中国企业高管团队创新注意力(含代码)
LIWC vs Python | 文本分析之词典统计法略讲(含代码)
PNAS | 文本网络分析&文化桥梁Python代码实现
Wordify | 发现和区分消费者词汇的工具
BERTopic库 | 使用预训练模型做话题建模
tomotopy | 速度最快的LDA主题模型
文本分析方法在《管理世界》(2021.5)中的应用
Wow~70G上市公司定期报告数据集
doccano|为机器学习建模做数据标注
使用WeasyPrint自动生成pdf报告文件
100min视频 | Python文本分析与会计
在jupyter内运行R代码
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...