前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速使用Python进行文本情感分析

快速使用Python进行文本情感分析

作者头像
深度学习与Python
发布2019-06-19 23:23:12
8.5K4
发布2019-06-19 23:23:12
举报

文本情感分析是自然语言处理的一个重要部分,与语音情感分析类似,通过处理提取给定文本中的信息来衡量说话者/作者的态度和情绪,主要用于电影、商品以及社交媒体的用户评论分析等。

VADER是一个基于词典和规则的情感分析开源python库,该库开箱即用,不需要使用文本数据进行训练,安装好之后即可输入想要识别的文本进行情感分析。

与传统的情感分析方法相比,VADER具有很多优势:

  • 适用于社交媒体等多种文本类型
  • 不需要任何训练数据
  • 速度快,可以在线使用流数据

其Github代码地址与论文说明地址如下:

Github地址

https://github.com/cjhutto/vaderSentiment

论文地址

http://comp.social.gatech.edu/papers/icwsm14.vader.hutto.pdf

VADER安装

VADER已上传PYPI,可以直接通过pip进行安装

代码语言:javascript
复制
pip install vaderSentiment

安装好以后,通过简单的三行代码即可实现你想要的文本情绪分析。即导入库、输入待测文本、打印输出情绪分类结果。例如下边一个简单的例子:

代码语言:javascript
复制
from vaderSentiment import sentiment as vaderSentiment 

sentences = [
                "The plot was good, but the characters are uncompelling and the dialog is not great.", 
                "A really bad, horrible book.",       
                "At least it isn't a horrible book."
            ]
for sentence in sentences:
    print (sentence,sentiment = vaderSentiment(sentence))
    print ("\n\t" + str(sentiment))

输出结果:

代码语言:javascript
复制
The plot was good, but the characters are uncompelling and the dialog is not great.
    {'neg': 0.327, 'neu': 0.579, 'pos': 0.094, 'compound': -0.7042}
A really bad, horrible book.
    {'neg': 0.791, 'neu': 0.209, 'pos': 0.0, 'compound': -0.8211}
At least it isn't a horrible book.
    {'neg': 0.0, 'neu': 0.637, 'pos': 0.363, 'compound': 0.431}

由上边的小例子可以看到,vaderSentiment()返回四个值,即表示消极、积极、中性以及复合情绪值,通过这四个值来反映整体情绪状态。

VADER分析情绪的关键点:

  • 标点符号:使用标点符号可以增强情绪强度而不改变情绪。例如,“The food here is good!”比“The food here is good!!”更强烈。
  • 单词大写:与情感相关的单词使用大写字母会增加情绪强度。例如“The food here is GREAT!”传达的情感比“The food here is great!”要强。
  • 语气词:通过一些语气词来增加或减少影响情绪强度。
  • 转折词:使用像“but”这样的连词表示情绪的变化,例如“The food here is great,but the service is horrible”这句话中情绪喜忧参半,但转折词后的部分决定整体情绪评价。

  • 表情符号:
代码语言:javascript
复制
print(sentiment_analyzer_scores('?'))
print(sentiment_analyzer_scores('?'))
print(sentiment_analyzer_scores('☹️'))
#Output
I am ? today------------ {'neg': 0.0, 'neu': 0.476, 'pos': 0.524, 'compound': 0.6705}
?------------------ {'neg': 0.0, 'neu': 0.333, 'pos': 0.667, 'compound': 0.7184}
?------------------ {'neg': 0.275, 'neu': 0.268, 'pos': 0.456, 'compound': 0.3291}
☹️------------------ {'neg': 0.706, 'neu': 0.294, 'pos': 0.0, 'compound': -0.34}
?------------------ {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

深度学习与Python,专注于深度学习、机器学习前沿知识与资讯

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习与python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VADER是一个基于词典和规则的情感分析开源python库,该库开箱即用,不需要使用文本数据进行训练,安装好之后即可输入想要识别的文本进行情感分析。
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档