基于Twitter数据的情感预测与案例分析

导读

     本次分享的是关于文本分析中的情感预测分析和主题分析的一个小科研项目,数据爬取自Twitter,主要内容分为3部分:

1.情感预测机器学习模型选择及建立

2.情感预测深度学习模型LSTM的介绍和建立

3.主题分析模型简介

01

# 情感预测机器学习模型选择及建立

      情感预测分析主要内容是爬取Twitter用户在election2016这个话题下对Trump和Hillary的讨论,通过人工标注一部分推文的情感标签(即对某位候选人持支持、中立或不支持态度),并将其作为训练数据,用不同算法模型来学习并预测其余未标注推文数据集的标签。

      最终情感预测的结果可以用来展示和预测不同地区的选民对某位候选人的情感偏向,也可以用来在未来大选期间通过选民推文内容预测某位候选人情感偏向。

1.数据说明及处理

      首先通过一些文本处理清洗操作,包括选取重要的数据项、去掉不必要的标点符号、数字和停词以及词根处理等,将每条Twitter数据处理为这条Twitter中对情感预测重要的词汇集合。下图为一部分数据处理操作。

图片

      数据整理结束后,用词云可视化展示了在这两个数据集中词频较高的词汇。

2.机器学习模型的选择和建立

     算法模型训练前先选择TDIDF算法进行了词向量的转化,机器学习模型选择了3个基于不同算法逻辑的模型,分别是逻辑回归、朴素贝叶斯和随机森林。下面展示的分别是部分词向量处理过程和模型训练过程。

图片

      下图展示了3个机器学习模型训练的结果。

图片

      逻辑回归相较于其他两个模型表现稍好一点,两个数据集的平均准确率在69%左右。

02

情感预测深度学习模型LSTM的介绍和建立

1.LSTM模型的简介

      长短期记忆网络(LSTM,Long Short-Term Memory)是基于循环神经网络(Recurrent Neural Network, RNN)的。下图展示的是RNN的网络结构。

图片

      简单的理解RNN就是每上一层的隐藏层的信息会传到下一层的隐藏层中,从而达到了文本分析中前后语境影响的效果。

      LSTM模型基于RNN模型进行了进一步的改良,主要是为了解决RNN的梯度消失问题。下图简单展示了LSTM的结构。

      LSTM在RNN的基础上加了3个门,分别是输入门、遗忘门和输出门。也就是增加了3组不同的参数和sigmoid函数。

2.LSTM模型的建立

      下图展示的是项目中建立的深度学习网络结构。

    在添加LSTM网络层之前,先进行了word2vec embedding的训练,将每个词转化为32维的词向量,word2vec embedding的训练可以将词性、词义和前后语境等信息训练在词向量中,这样可以提高我们之后网络训练的效率,也可以减少训练所需数据量。

      LSTM网络选择了包含120个神经元的1层隐藏层结构,之后连接10个神经元的全连接神经网络结构,激活函数选择的relu函数。下图展示的是relu函数图。

图片

      Relu函数做为激活函数比sigmoid函数有几点优势,一方面relu函数可以在一定程度上缓解梯度消失问题;另一方面函数求导计算更为简单,也就使网络训练过程中反向传播计算效率提高;并且relu函数在一些情况下可以起到dropout的效果,保证网络稀疏性,缓解过拟合问题。

      最后一层网络结构选择的是3个神经元的全连接神经网络结构,激活函数用的softmax。

3.LSTM模型的结果和优化

      下图展示的是一个数据集LSTM模型训练的结果。

图片

      通过结果展示可以看到随着训练epoch的增加,损失(模型预测值和实际值之间的差异)越来越小,准确率越来越高。最终训练集的平均准确率达到90.7%,测试集的平均准确率达到74.9%。可以看到LSTM的结果还是明显优于之前的机器学习模型,但是可能出现了一点过拟合的问题,训练集的结果明显好于测试集。下图展示的是随着训练epoch的增加,训练集和验证集准确率的走势。

图片

      从图中可以看到当训练epoch数到18、19左右时,训练集的准确率还在上升,但是验证集的准确率却开始下降,说明这时候模型可能开始有过拟合的倾向。为了缓解这个问题,用了下图展示的modelcheckpoint方法,将验证集准确率最高的参数作为我最优模型的参数进行数据训练和学习,最终结果有小幅度优化。

图片

      鉴于不断调整网络结构和不断进行调优尝试后结果仍没有明显变好的情况,考虑到是项目数据量较小的原因。由于Twitter API对于爬取数据的限制和人工标注大量耗费时间和人力的原因,项目数据量较小。而LSTM做为深度学习模型,需要大量数据训练才会得到更好的结果,所以数据量小也可能是影响最终模型效果的一个原因。

      下图展示的是基于LSTM模型的预测结果,不同地区选民对Trump的情感偏向。

图片

03

主题分析模型简介

      主题分析的数据集来自kaggle上整理的大选期间两位候选人所发的推文数据。因为LDA算法对推文这种较短文本做主题分析效果差的原因,项目参考了一篇科研文章做出了优化。首先根据LSI的计算结果,将每条推文对所有主题的相似度作为特征,做一个Kmeans聚类,并将属于同一个聚类的tweet拼接起来后再进行LDA主题分析,下图展示了Trump数据集的主题分析结果。

图片

      图中可以看到Trump数据集训练除了9个主题,每个主题展示了相应的前5个关键词,优化后的结果有了明显的主题区分和提取效果。

本次分享就到这里啦,谢谢大家~

主题分析参考文章

https://blog.csdn.net/Aaronji1222/article/details/78153269

 更多交流:请关注公众号【通信大数据分析及应用】

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20579.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CDGP认证|ChatGPT的出现,对数据治理行业冲击如何?

ChatGPT的出现对数据治理有很多好处,其中最明显的是提供了更高效、更准确和更自动化的数据处理和分析服务,可以帮助企业和组织更好地管理和利用数据资源,提高数据质量和决策效率。此外,ChatGPT还能够发现隐藏在大量数据中的信息和趋势&#x…

chatgpt赋能python:Python报错大全

Python报错大全 作为Python程序员,报错是我们经常遇到的一件事情。报错可以帮助我们定位和解决问题,但有时候错误信息并不直观,所以我们需要查找信息来帮助我们解决问题。在这篇文章中,我们将介绍常见的Python报错以及如何解决它…

GitHub开源神器,已获3k star!让你的 ChatGPT 不再报错!感受丝滑般体验!

点击上方“Github爱好者社区”,选择星标 回复“资料”,获取小编整理的一份资料 作者:GG哥 来源:GitHub爱好者社区(github_shequ) 这是GitHub爱好者社区第 71 篇原创文章 Hello,大家好&#xff0…

登高望远,一文解答 2023 年你最关心的前端热点问题

动手点关注 干货不迷路 本文预计阅读 25 min,建议先收藏后观看~ 一、刀光剑影的 2022 时光荏苒,这绝不平淡的 2022 年已经走上历史的黄页,新的一年也逐渐看不到故人回首的光影。感谢你对前端技术领域持续关注,我们一直在这里等你。…

千模大战鏖战正酣,大模型能否帮360重回巅峰?

ChatGPT问世后,互联网终于看到了变革的曙光。 回望互联网的征程,几乎每十年左右,就会因产品和技术的变革,而催生出全新的应用场景。 00年代,随着PC产品的逐渐成熟,桌面互联网成为时代的“主旋律”。在此背…

司马阅(SmartRead),最好用的中国PDF智能阅读工具!

在数字化时代,大量的信息以PDF(便携式文档格式)的形式存在。 处理和提取PDF文件中的信息可能是一项繁琐的任务,但现在有了司马阅(SmartRead),一款能够与PDF进行对话的智能工具,这一切变得更加简单和高效。…

国产开源大模型: 百亿参数“伶荔”,填补中文基础模型空白!

Datawhale开源 团队:深圳大学沈琳琳教授团队 Linly 伶荔说 中文语言大模型来啦! 大数据系统计算技术国家工程实验室副主任、深圳大学计算机与软件学院沈琳琳教授团队主持的人工智能项目“伶荔(Linly)”于今天隆重推出“伶荔说”系列中文语言大模型。 该…

Google 中文名发布 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 4 月 12 日,每年的这一天是世界航天日,全名载人空间飞行国际日;在 1961 年的 4 月 12 日,苏联空军飞行员尤里加加…

chatgpt赋能python:Python用Pi优化SEO的指南

Python用Pi优化SEO的指南 引言: 搜索引擎优化(SEO)已经成为了数字市场营销领域中至关重要的一部分。对于那些想要在数字领域获得成功的企业和个人而言,SEO是不可或缺的。Python是一种优秀的编程语言,现在,它在SEO中也变得越来越…

PDF工具Adobe Arcrobat Pro DC下载安装教程

【ChatGPT】前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击查看学习资料) wx供重浩:创享日记 对话框发送:adobe 免费获取Adobe …

Python | Python的自我介绍(前世今生)

本文概要 本篇文章主要介绍Python这门语言的前世今生,适合刚入门的小白或者想了解Python历史的同学,文中描述很详细,具有一定的学习价值,感兴趣的小伙伴快来一起学习吧。 个人简介 ☀️大家好!我是新人小白博主朦胧的…

全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门AI智能问答应用场景——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

从0到1快速入门AI智能问答应用场景 Introduce 简介setting 设置Prompt 提示Sample response 回复样本API request 接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例 其它资料下载 ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字&a…

CV不存在了?Meta推出最新AI模型SAM,计算机视觉领域的ChatGPT

4月5日,Facebook母公司Meta在推特宣布推出SAM模型(Segment Anything Model)并开源。该模型能够查找和分割图像和视频中的任何对象,实现一键抠图。同日,Meta还发布了自称有史以来最大的图像注释数据集,以及3…

canvas绘制微信海报分享

前言 最近公司在做一个面向餐饮的微信小程序,公司希望在小程序中嵌入关注公众号的功能,一开始是采用官方提供的official-account,配置公众号关注组件,方便用户快捷关注公众号,但是这个组件的场景限制比较多&#xff0…

各国疫苗接种进度(气泡图可视化)

全球疫情及疫苗接种进度可视化之四--各国疫苗接种进度 安装plotly库各国疫苗接种进度读取数据排除全球及大洲数据发现某些国家数据不全,需按日期进行补全取每百人接种量最高的10个国家 可视化绘制气泡图 全国疫情及疫苗接种进度可视化 全球疫情及疫苗接种进度可视化…

TRC肝炎病毒蛋白酶标记抑制剂丨TRC Telaprevir-d4说明书

艾美捷TRC Telaprevir-d4—丙型肝炎病毒蛋白酶的标记肽模拟物抑制剂。 艾美捷TRC Telaprevir-d4化学性质: 目录号T015652 化学名称Telaprevir-d4 同义词1S,3aR,6aS)-(2S)-2-环己基-N-(2-吡嗪羰基)甘氨酰-3-甲基-L-缬氨酰-N-[(1S)-1-[2-[(环丙基-d4)氨基]-2-氧代乙…

PBMC分离试剂盒-国内上市自测新冠病毒抗原试剂盒

核酸检测需要借用机器,出结果等待时间长,而且排队检测的时候也有一定的感染风险。这个时候我们发现,仅靠核酸检测是不够的。新冠抗原检测产品是一种简易而快速的病毒检测手段,无需专业人员辅助,无需借助机器&#xff0…

核酸检测多少人为一组混检合适?

今天在想一个有趣的问题。核酸检测的混检,必然是当患病率越低时,则混到一个管子的人数越多越好,因为这样检测的期望次数就会更少。那么问题来了,当患病率多高时,混检就失去了意义?当混检没失去意义时&#…

用python写了个全国疫情中高风险地区查询

最近用python写了个全国疫情中高风险地区查询的爬虫代码,分享给大家一起交流,希望得到不同思路的指教,让代码更简洁,运行效率更高。 总体思路 1、找到可供查询的源网站 2、分析、获取查询的API 3、构造API 4、获取全国中高风险地…

如何查询澳大利亚药监局(TGA)药品信息数据

澳大利亚医疗用品管理局(Therapeutic Goods Administration),简称TGA,是澳洲医疗用品的监管机构,负责一系列评估和监管确保澳洲药品保质保量。TGA监管的产品范围包括药品,医疗器械,血液及血液产品等。 澳大利亚药品分…