基于词典的社交媒体内容的情感分析(Python实现)
2018-03-04 22:49
621 查看
之前写了一篇基于NLTK情感预测的文章http://www.omegaxyz.com/2017/12/15/nltk_emotion/?hilite=%27NLTK%27b
更多内容访问omegaxyz.com
情感词典是从微博、新闻、论坛等数据来源的上百万篇情感标注数据当中自动构建的情感极性词典。因为标注包括微博数据,该词典囊括了很多网络用语及非正式简称,对非规范文本也有较高的覆盖率。该情感词典可以用于构建社交媒体情感分析引擎,负面内容发现等应用。
这是一个基于机器学习的已生成的情感词典(txt文档),注意只能预测社交媒体等非规范性文本(文章情感预测精度有误差)
词典下载:https://bosonnlp.com/resources/BosonNLP_sentiment_score.zip
python实现是利用jieba分词预测
测试文本来自陈奕迅《爱情转移》中“才拒绝做爱情代罪的羔羊”
结果:
-0.730524151526
轻微的难受或者不屑,想得太多啦,洗洗睡觉吧
网站所有原创代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
更多内容访问omegaxyz.com
更多内容访问omegaxyz.com
情感词典是从微博、新闻、论坛等数据来源的上百万篇情感标注数据当中自动构建的情感极性词典。因为标注包括微博数据,该词典囊括了很多网络用语及非正式简称,对非规范文本也有较高的覆盖率。该情感词典可以用于构建社交媒体情感分析引擎,负面内容发现等应用。
这是一个基于机器学习的已生成的情感词典(txt文档),注意只能预测社交媒体等非规范性文本(文章情感预测精度有误差)
词典下载:https://bosonnlp.com/resources/BosonNLP_sentiment_score.zip
python实现是利用jieba分词预测
import time import jieba emotion_dic = {} filename = 'BosonNLP_sentiment_score.txt' # txt文件和当前脚本在同一目录下,所以不用写具体路径 with open(filename, 'rb') as file: while True: try: senList = file.readline().decode('utf-8') # print(senList) senList = senList[:-1] senList 4000 = senList.split(' ') emotion_dic[senList[0]] = senList[1] except IndexError: break def get_emotion(score): emotion_archive = ['绝望,十分愤怒,对生活不在抱有希望', '难过,失望,抑郁', '有点小难过或者小愤怒', '轻微的难受或者不屑,想得太多啦,洗洗睡觉吧', '生活也就这样吧', '有点小开心或者小激动', '蛮开心的,生活多美好', '喜笑颜开,每天的太阳都是新的,生活充满了希望'] if score <= -3.9: return emotion_archive[0] elif -3.9 < score <= -2.5: return emotion_archive[1] elif -2.5 < score <= -1: return emotion_archive[2] elif -1 < score <= 0: return emotion_archive[3] elif 0 <score <= 1: return emotion_archive[4] elif 1 < score <= 2.5: return emotion_archive[5] elif 2.5 < score < 3.9: return emotion_archive[6] else: return emotion_archive[7] test = "才拒绝做爱情代罪的羔羊" seg_list = jieba.cut(test, cut_all=True) string = "/ ".join(seg_list) string_list = string.split('/') emotion_index = 0 time.sleep(1) print("-5分为极端消极,5分为非常高兴") for _ in range(len(string_list)): if string_list[_] in emotion_dic: emotion_index += float(emotion_dic[string_list[_]]) print(emotion_index) print(get_emotion(emotion_index))
测试文本来自陈奕迅《爱情转移》中“才拒绝做爱情代罪的羔羊”
结果:
-0.730524151526
轻微的难受或者不屑,想得太多啦,洗洗睡觉吧
网站所有原创代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
更多内容访问omegaxyz.com
相关文章推荐
- 图像情感分析(3):基于卷积神经网络的图像情感分析模型Python实现
- Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
- 使用Python的SnowNLP模块实现情感分析
- 基于词典的中文情感倾向分析算法设计
- R语言︱情感分析—基于监督算法R语言实现(二)
- Python 文本挖掘:使用情感词典进行情感分析(算法及程序设计)
- 基于词典的中文情感倾向分析算法设计
- python基于BeautifulSoup实现抓取网页指定内容的方法
- 文本情感分析的基础在于自然语言处理、情感词典、机器学习方法等内容。以下是我总结的一些资源。
- 《推荐系统》基于用户和Item的协同过滤算法的分析与实现(Python)
- 【转】用python实现简单的文本情感分析
- python数据分析(分析文本数据和社交媒体)
- 能分析压缩的日志,且基于文件输入的PYTHON代码实现
- Python基于正则表达式实现检查文件内容的方法【文件检索】
- 用python实现简单的文本情感分析
- Python 基于语句检测和语句频谱分析实现文本汇总算法 (document summary algorithm)
- 基于词典的中文情感倾向分析算法设计
- 【机器学习算法实现】主成分分析(PCA)——基于python+numpy
- 文本情感分析的基础在于自然语言处理、情感词典、机器学习方法等内容。以下是我总结的一些资源。
- 基于Python实现自动慢查询分析,邮件自动发送