竞赛 基于大数据的社交平台数据爬虫舆情分析可视化系统

news2025/1/18 14:02:50

文章目录

  • 0 前言
  • 1 课题背景
  • 2 实现效果
    • **实现功能**
    • **可视化统计**
    • **web模块界面展示**
    • 3 LDA模型
  • 4 情感分析方法
    • **预处理**
    • 特征提取
    • 特征选择
    • 分类器选择
    • 实验
  • 5 部分核心代码
  • 6 最后

0 前言

🔥 优质竞赛项目系列,今天要分享的是

🚩 基于大数据的社交平台数据爬虫舆情分析可视化系统

该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

1 课题背景

基于Python的社交平台大数据挖掘及其可视化。

2 实现效果

实现功能

  • 实时热点话题检测
  • 情感分析
  • 结果可视化
  • Twitter数据挖掘平台的设计与实现

可视化统计

Hashtag统计
在这里插入图片描述
地理位置信息的可视化

在这里插入图片描述

话题结果可视化

矩阵图

在这里插入图片描述
旭日图

在这里插入图片描述

情感分析的可视化

在这里插入图片描述

web模块界面展示

在这里插入图片描述

3 LDA模型

2003年,D.Blei等人提出了广受欢迎的LDA(Latentdirichlet
allocation)主题模型[8]。LDA除了进行主题的分析外,还可以运用于文本分类、推荐系统等方面。

LDA模型可以描述为一个“上帝掷骰子”的过程,首先,从主题库中随机抽取一个主题,该主题编号为K,接着从骰子库中拿出编号为K的骰子X,进行投掷,每投掷一次,就得到了一个词。不断的投掷它,直到到达预计的文本长
在这里插入图片描述
可以用矩阵的乘法来表示上述的过程:

回到LDA模型来说,LDA模型的输入是一篇一篇用BOW(bag of
words)表示的文档,即用该文档中无序的单词序列来表示该文档(忽略文档中的语法和词语的先后关系)。LDA的输出是每篇文档的主题分布矩阵和每个主题下的单词分布矩阵。简而言之,LDA主题模型的任务就是已知左边的矩阵,通过一些方法,得到右边两个小矩阵。这里的“一些方法”即为LDA采样的方法,目前最主要的有两种,一种是变分贝叶斯推断(variationalBayes,
VB),另一种叫做吉布斯采样(Gibbs Sampling),其中吉布斯采样也被称为蒙特卡洛马尔可夫 (Markov Chain Monte
Carlo,MCMC)采样方法。

总的来说,MCMC实现起来更加简单方便,而VB的速度比MCMC来得快,研究表明他们具有差不多相同的效果。所以,对于大量的数据,采用VB是更为明智的选择。

4 情感分析方法

本文采用的情感分析可以说是一个标准的机器学习的分类问题。目标是给定一条推文,将其分为正向情感、负向情感、中性情感。

预处理

  • POS标注:CMU ArkTweetNLP
  • 字母连续三个相同:替换 “coooooooool”=>“coool”
  • 删除非英文单词
  • 删除URL
  • 删除@:删除用户的提及@username
  • 删除介词、停止词
  • 否定展开:将以"n’t"结尾的单词进行拆分,如"don’t" 拆分为"do not",这里需要注意对一些词进行特殊处理,如"can’t"拆分完之后的结果为"can not",而不是"ca not"。
  • 否定处理:从否定词(如shouldn’t)开始到这个否定词后的第一个标点(.,?!)之间的单词,均加入_NEG后缀。如perfect_NEG。 “NEG”后缀

特征提取

文本特征

  • N-grams

    • 1~3元模型
    • 使用出现的次数而非频率来表示。不仅是因为使用是否出现来表示特征有更好的效果[16],还因为Twitter的文本本身较短,一个短语不太可能在一条推文中重复出现。
  • 感叹号问号个数

    • 在句子中的感叹号和问号,往往含有一定的情感。为此,将它作为特征。
  • 字母重复的单词个数

    • 这是在预处理中对字母重复三次以上单词进行的计数。字母重复往往表达了一定的情感。
  • 否定的个数

    • 否定词出现后,句子的极性可能会发生翻转。为此,把整个句子否定的个数作为一个特征
  • 缩写词个数等

  • POS 标注为[‘N’, ‘V’, ‘R’, ‘O’, ‘A’] 个数(名词、动词、副词、代词、形容词)

  • 词典特征(本文使用的情感词典有:Bing Lius词库[39]、MPQA词库[40]、NRC Hashtag词库和Sentiment140词库[42]、以及相应的经过否定处理的词库[45])

    • 推文中的单词在情感字典个数 (即有极性的单词个数)
    • 推文的 总情感得分:把每个存在于当前字典单词数相加,到推文的 总情感得分:把每个存在于当前 - 字典单词数相加,到推文的 总情感得分:把每个存在于当前字典单词数相加,到推文总分,这个数作为一特征。
    • 推文中单词最大的正向情感得分和负。
    • 推文中所有正向情感的单词分数 和以及 所有负向情感单词的分数和。
    • 最后一个词的分数
  • 表情特征

    • 推文中正向 情感 和负向的表情个数
    • 最后一个表情的极性是 否为正向

特征选择

本文 特征选择主要是针对于 N-grams 特征 的,采用方法如下:


设定min_df(min_df>=0)以及threshold(0 <= threshold <= 1)
对于每个在N-grams的词:
统计其出现于正向、负向、中性的次数,得到pos_cnt, neg_cnt, neu_cnt,以及出现总数N,然后分别计算
pos = pos_cnt / N
neg = neg_cnt / N
neu = neu_cnt / N
对于 pos,neg,neu中任一一个大于阈值threshold 并且N > min_df的,保留该词,否则进行删除。

上述算法中滤除了低频的词,因为这可能是一些拼写错误的词语;并且,删除了一些极性不那么明显的词,有效的降低了维度。

分类器选择

在本文中,使用两个分类器进行对比,他们均使用sklearn提供的接口 。第一个分类器选用SVM线性核分类器,参数设置方面,C =
0.0021,其余均为默认值。第二个分类器是Logistic Regression分类器,其中,设置参数C=0.01105。

在特征选择上,min_df=5, threshold=0.6。

实验

  • SemEval(国际上的一个情感分析比赛)训练数据和测试数据
  • 评价方法采用F-score
  • 对比SemEval2016结果如下

测试集名

在这里插入图片描述

5 部分核心代码

    import json
    from django.http import HttpResponse
    from django.shortcuts import render
    from topic.models.TopicTrendsManager import TopicTrendsManager
    from topic.models.TopicParameterManager import TopicParameterManager


    def index(request):
        return render(request, 'topic/index.html')


    # TODO 检查参数的合法性, and change to post method
    def stream_trends(request):
        param_manager = TopicParameterManager(request.GET.items())
        topic_trends = TopicTrendsManager(param_manager)
        res = topic_trends.get_result(param_manager)
        return HttpResponse(json.dumps(res), content_type="application/json")

    def stop_trends(request):
        topic_trends = TopicTrendsManager(None)
        topic_trends.stop()
        res = {"stop": "stop success"}
        return HttpResponse(json.dumps(res), content_type="application/json")


    def text(request):
        return render(request, 'topic/visualization/result_text.html')

    def bubble(request):
        return render(request, 'topic/visualization/result_bubble.html')


    def treemap(request):
        return render(request, 'topic/visualization/result_treemap.html')

    def sunburst(request):
        return render(request, 'topic/visualization/result_sunburst.html')



    def funnel(request):
        return render(request, 'topic/visualization/result_funnel.html')


    def heatmap(request):
        return render(request, 'topic/visualization/result_heatmap.html')

    def hashtags_pie(request):
        return render(request, 'topic/visualization/result_hashtags_pie.html')


    def hashtags_histogram(request):
        return render(request, 'topic/visualization/result_hashtags_histogram.html')


    def hashtags_timeline(request):
        return render(request, 'topic/visualization/result_hashtags_timeline.html')

6 最后

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

以算力深挖数据应用价值!和鲸助力北京市市场监管数据应用创新竞赛圆满收官!

历时三个多月&#xff0c;北京市市场监管数据应用创新竞赛&#xff08;以下简称“竞赛”&#xff09;圆满收官。本次竞赛旨在挖掘数据的潜在价值&#xff0c;以优化营商环境、智慧监管、高质量发展为核心议题&#xff0c;鼓励参赛者深入结合监管数据&#xff0c;开展精准而深入…

正式退役!波士顿动力Atlas宣布终止研发!

文 | BFT机器人 4月16日&#xff0c;波士顿动力在YouTube上发布了一段Atlas的最新视频&#xff0c;并宣布了Atlas终止研发的消息。 在最后的告别片段中&#xff0c;它依旧完成了奔跑、跳跃、后空翻等动作&#xff0c;甚至连摔倒在地的动作也还是熟悉的滑稽样。Atlas的退役&…

视频美颜SDK原理与实践:从算法到应用

当下&#xff0c;从社交媒体到视频通话&#xff0c;人们越来越依赖于视频美颜功能来提升自己的形象。而视频美颜SDK作为支撑这一技术的重要工具&#xff0c;其原理和实践至关重要。 一、什么是视频美颜SDK&#xff1f; 视频美颜SDK是一种软件开发工具包&#xff0c;用于集成到…

微软发布Phi-3,手机上就能跑,是时候聊聊小型语言模型了|TodayAI

微软公司最近宣布推出了其最新开发的最新AI语言模型&#xff0c;名为Phi-3。这款小型语言模型&#xff08;SLMs&#xff09;在市场上以其卓越的性能和成本效率获得关注&#xff0c;尤其在语言处理、推理、编程及数学基准测试方面表现出色&#xff0c;超越了同等规模甚至更大规模…

Matlab|含多微网租赁共享储能的配电网博弈优化调度

目录 主要内容 结果一览 下载链接 主要内容 首先利用NSGA-II算法求解三个微网的最优充放电策略并做为已知条件代入到双层调度模型中&#xff1b;然后求解双层模型&#xff0c;上层为主动配电网调度模型&#xff0c;下层包括共享储能优化模型和多微网优化调度模型&a…

SPSS软件安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 IBM SPSS Statistics是一款功能强大的统计分析软件&#xff0c;广泛应用于各种学术研究、商业决策和政府机构等领域。其强大的数据分析和可视化功能使得用户能够从数据中发现模式、预测趋势&#xff0c;并做出有根据的决策。 SPS…

《系统架构设计师教程(第2版)》第10章-软件架构的演化和维护-02-面向对象软件架构演化过程

文章目录 1. 对象演化1.1 添加一个新对象&#xff08;AO&#xff09;1.2 删除一个对象&#xff08;DO&#xff09; 2. 消息演化2.1 消息2.2 消息演化的操作2.2.1 Add Message(AM)2.2.2 Delete Message (DM)2.2.3 Swap Message Order(SMO)2.2.4 Overturn Message(OM)2.2.5 Chang…

【漏洞复现】泛微e-office系统ajax.php接口存在任意文件上传漏洞

漏洞描述 泛微e-office系统是标准、易用、快速部署上线的专业协同OA软件。泛微 E-Office 9.5版本存在代码问题漏洞,泛微e-office系统ajax.php接口存在任意文件上传漏洞 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,…

缓存神器-JetCache

序言 今天和大家聊聊阿里的一款缓存神器 JetCache。 一、缓存在开发实践中的问题 1.1 缓存方案的可扩展性问题 谈及缓存&#xff0c;其实有许多方案可供选择。例如&#xff1a;Guava Cache、Caffine、Encache、Redis 等。 这些缓存技术都能满足我们的需求&#xff0c;但现…

电商技术揭秘三十一:智能风控与反欺诈技术

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘二十八&#xff1a;安全与合规性保障 电商技术揭秘二十九&#xff1a;电商法律合规浅析 电商技术揭秘三十&#xff1a;知识产权保…

全光谱灯对人体的危害?谨记全光谱灯选购要避开的四大套路

全光谱灯对人体的危害有多大&#xff1f;近年来网上关于护眼台灯对视力有害的言论有很多&#xff0c;引发了很多人空前的关注&#xff0c;事实上这未必是一件坏事&#xff0c;因为随着护眼台灯的热度持续上涨&#xff0c;市面上浑水摸鱼的行为增多了不少&#xff0c;有着不少劣…

不要摆摊,不要开早餐店,原因如下

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 我最近开通了视频号会员专区嘛&#xff0c;专区有个问答功能可以提问&#xff0c;有个会员问了我问题&#xff0c;其中一条问答分享给大家&#xff1a; 松哥&#xff0c;突然想去兼职&#xff0c;早上卖点杂粮煎饼果…

像素着色技术在AI去衣中的深度应用与探索

在人工智能&#xff08;AI&#xff09;领域&#xff0c;图像处理技术一直是一个热门且充满挑战的研究方向。其中&#xff0c;AI去衣技术作为图像处理技术的一个分支&#xff0c;近年来引起了广大研究者和公众的广泛关注。本文将重点探讨像素着色技术在AI去衣中的重要作用&#…

深度学习图像生成在AI去衣技术中的应用与探索

随着人工智能技术的迅猛发展&#xff0c;深度学习在图像生成领域的应用越来越广泛。其中&#xff0c;AI去衣技术作为深度学习在图像处理中的一个新兴分支&#xff0c;引起了广大科研人员和公众的关注。本文将深入探讨深度学习图像生成在AI去衣技术中的作用&#xff0c;并尝试解…

那些你不知道的数据库知识:行式存储和列式存储

前几天听课&#xff0c;听到老师讲数据列式存储。 我&#x1f64b;&#x1f3fb;‍♀️&#xff1a;等等&#xff0c;what&#xff0c;什么列式存储&#xff0c;数据一行一行的展示&#xff0c;然后一行一行的存在数据库里面不就好了&#xff0c;什么叫做列式存储&#xff0c;…

前端中不同格式的日期相互转换(字符串、时间戳)js相关

在项目中遇到了&#xff0c;需要实现字符串和Unix时间戳的相互转换&#xff0c;随手记录一下。 我使用的组件库为Naive UI&#xff0c;涉及到的组件为日期选择器&#xff08;Date Picker&#xff09;。作者在文档中写道&#xff1a; 实话说我不喜欢这个 feature&#xff0c;因为…

训练营第三十三天贪心(第五部分重叠区间问题)

训练营第三十三天贪心&#xff08;第五部分重叠区间问题&#xff09; 435.无重叠区间 力扣题目链接 题目 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 示例 1: 输入: …

TapData + 实时数仓:实时数据如何赋能船舶制造业,助力数字化应用升级和科学管理运营

使用 TapData&#xff0c;化繁为简&#xff0c;摆脱手动搭建、维护数据管道的诸多烦扰&#xff0c;轻量代替 OGG、DSG 等同步工具&#xff0c;「CDC 流处理 数据集成」组合拳&#xff0c;加速仓内数据流转&#xff0c;帮助企业将真正具有业务价值的数据作用到实处&#xff0c…

笔试狂刷--Day5(最小公倍数+最优路径)

大家好,我是LvZi,今天带来笔试狂刷--Day5 一.求最小公倍数 链接:求最小公倍数 分析: 数学知识–辗转相除法(迭代/递归) 代码: import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args)…

计算机视觉——两视图几何求解投影矩阵

上文我提到了通过图像匹配得到基本矩阵&#xff0c;接下来我们要接着求解投影矩阵。 计算投影矩阵思路 假设两个投影矩阵为规范化相机&#xff0c;因此采用基本矩阵进行恢复。在规范化相机下&#xff0c; P [ I ∣ 0 ] P[I|0] P[I∣0], P ′ [ M ∣ m ] P[M|m] P′[M∣m]。…