当前位置: 首页 > news >正文

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

文章目录

  • 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 jsonfrom django.http import HttpResponsefrom django.shortcuts import renderfrom topic.models.TopicTrendsManager import TopicTrendsManagerfrom topic.models.TopicParameterManager import TopicParameterManagerdef index(request):return render(request, 'topic/index.html')# TODO 检查参数的合法性, and change to post methoddef 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

相关文章:

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

文章目录 0 前言1 课题背景2 实现效果**实现功能****可视化统计****web模块界面展示**3 LDA模型 4 情感分析方法**预处理**特征提取特征选择分类器选择实验 5 部分核心代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据…...

基于Java的旅游信息推荐系统设计与实现,springboot+vue,MySQL数据库,前后端分离,完美运行,有三万字论文。

基于Java的旅游信息推荐系统设计与实现&#xff0c;springbootvue&#xff0c;MySQL数据库&#xff0c;前后端分离&#xff0c;完美运行&#xff0c;有三万字论文。 前台主要功能&#xff1a;登录注册、旅游新闻、景区信息、美食信息、旅游线路、现在留言、收藏、预定旅游线路…...

合宙Air724UG LuatOS-Air LVGL API控件--曲线 (Arc)

曲线 (Arc) 曲线控件&#xff0c;也可以称为弧。因为 Arc 本身就是弧&#xff0c;弧形的意思。根据控件的样子也能推测出它的使用场景&#xff0c;一般用在加载器(就是等待界面转的圈圈)或者数值显示&#xff0c;数值调节这些场景。曲线控件分了两个部分&#xff0c;前景和背…...

09-微信小程序 网络请求API(实现轮播广告和简易的聊天窗口)

09-微信小程序API网络请求(实现轮播广告和简易的聊天窗口) 文章目录 微信小程序API服务器域名配置注意网络相关APIrequestRequestTask 请求任务对象object.success 回调函数object.fail 回调函数案例代码&#xff08;实现轮播图&#xff09; WebSocket案例代码&#xff08;实现…...

Visual Studio 2017安装和项目配置

目录 前言1. What、Why and How1.1 What1.2 Why1.3 How 2. 安装3. 创建新项目4. 配置OpenCV库4.1 下载opencv安装包4.2 配置系统环境变量4.3 VS项目环境配置4.4 总结 5. 已有项目添加6. Tips6.1 常用快捷键6.2 字体和颜色选择6.3 配置编译路径 结语下载链接参考 前言 最近因为项…...

【提升接口响应能力的最佳实践】常规操作篇

文章目录 1. 并行处理简要说明CompletableFuture是银弹吗&#xff1f;测试案例测试结论半异步&#xff0c;半同步总结 2. 最小化事务范围简要说明编程式事务模板 3. 缓存简要说明 4. 合理使用线程池简要说明使用场景线程池的创建参数的配置建议 线程池的监控线程池的资源隔离 5…...

Vue使用ffmpeg,报ReferenceError: SharedArrayBuffer is not defined 如何解决

“SharedArrayBuffer is not defined” 错误是因为在浏览器环境中&#xff0c;SharedArrayBuffer 对象被认为是一种潜在的安全风险。为了防止 Spectre 攻击等漏洞&#xff0c;现代浏览器通常会禁用或限制对 SharedArrayBuffer 的使用。 SharedArrayBuffer 是一种 JavaScript 对…...

【OpenCV实战】1.OpenCV环境搭建,Mac M1系统,C++开发环境

OpenCV环境搭建&#xff0c;Mac系统&#xff0c;C开发环境 一、步骤VSCode C环境安装运行CMake安装运行OpenCV 安装CMakeList 一、步骤 VSCode C环境安装CMake 安装OpenCV 安装CmakeList.txt VSCode C环境安装运行 访问官网 CMake安装运行 CMake官网 参考文档 OpenCV 安…...

Hyperf 如何做到用两个端口 9501/9502 都能连接 Websocket 服务以及多 Worker 协作实现聊天室功能

为何 Hyperf 能够在两个端口上监听 WebSocket 连接&#xff1f; 源码角度来看&#xff0c;在配置了多个 Servers 时&#xff0c;实际上&#xff0c;只启动了一个 Server 注&#xff1a;我之前接触的代码都是启动一个服务绑定一个端口&#xff0c;之前也看过 swoole 扩展的文档…...

网络映射会遇到哪些困难

网络映射通过将复杂的网络划分为更小、可管理的块&#xff0c;帮助 IT 管理员获得对其网络的更大控制和可见性&#xff0c;它有助于可视化不同的网络组件&#xff08;如服务器、交换机端口和路由器&#xff09;如何互连以执行其功能&#xff0c;通过表示网络设备的通信方式&…...

【jvm】类的主动使用和被动使用

目录 一、主动使用二、被动使用 一、主动使用 1.创建类的实例 2.访问某个类或接口的静态变量&#xff0c;或者对该静态变量赋值 3.调用类的静态方法 4.反射&#xff08;例如Class.forName(“com.learning.Test”)&#xff09; 5.初始化一个类的子类 6.java虚拟机启动时被标明为…...

如何选择合适的损失函数

目录 如何选择合适的损失函数 1、均方误差&#xff0c;二次损失&#xff0c;L2损失&#xff08;Mean Square Error, Quadratic Loss, L2 Loss&#xff09; 2、平均绝对误差&#xff0c;L1损失&#xff08;Mean Absolute Error, L1 Loss&#xff09; 3、MSE vs MAE &#xff…...

Java常见的排序算法

排序分为内部排序和外部排序&#xff08;外部存储&#xff09; 常见的七大排序&#xff0c;这些都是内部排序 。 1、插入排序&#xff1a;直接插入排序 1、插入排序&#xff1a;每次将一个待排序的记录&#xff0c;按其关键字的大小插入到前面已排序好的记录序列 中的适当位置…...

【C++】5、构建:CMake

文章目录 一、概述二、实战2.1 内部构建、外部构建2.2 CLion Cmake 一、概述 CMake 是跨平台构建工具&#xff0c;其通过 CMakeLists.txt 描述&#xff0c;并生成 native 编译配置文件&#xff1a; 在 Linux/Unix 平台&#xff0c;生成 makefile在苹果平台&#xff0c;可以生…...

【ARP欺骗】嗅探流量、限速、断网操作

【ARP欺骗】 什么是ARP什么是ARP欺骗ARP欺骗实现ARP断网限制网速嗅探流量 什么是ARP ARP&#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09;是一个TCP/IP协议&#xff0c;用于根据IP地址获取物理地址。在计算机网络中&#xff0c;当一个主机需要发…...

初步认识OSPF的大致内容(第三课)

1 路由的分类 直连路由(Directly Connected Route)是指网络拓扑结构中相邻两个网络设备直接相连的路由,也称为直接路由。如果两个设备属于同一IP网络地址,那么它们就是直连设备。直连路由表是指由计算机系统生成的一种用于路由选择的表格,其中记录着直连路由的信息。直连…...

CSDN编程题-每日一练(2023-08-27)

CSDN编程题-每日一练&#xff08;2023-08-27&#xff09; 一、题目名称&#xff1a;异或和二、题目名称&#xff1a;生命进化书三、题目名称&#xff1a;熊孩子拜访 一、题目名称&#xff1a;异或和 时间限制&#xff1a;1000ms内存限制&#xff1a;256M 题目描述&#xff1a; …...

机器视觉之平面物体检测

平面物体检测是计算机视觉中的一个重要任务&#xff0c;它通常涉及检测和识别在图像或视频中出现的平面物体&#xff0c;如纸张、标志、屏幕、牌子等。下面是一个使用C和OpenCV进行平面物体检测的简单示例&#xff0c;使用了图像中的矩形轮廓检测方法&#xff1a; #include &l…...

C#开发WinForm之DataGridView开发

前言 DataGridView是开发Winform的一个列表展示&#xff0c;类似于表格。学会下面的基本特征用法&#xff0c;再辅以经验&#xff0c;基本功能开发没问题。 1.设置 DataGridView表格行首为序号索引, //设置 DataGridView表格行首为序号索引private void dataGridView1_RowPost…...

PDFPrinting.Net Crack

PDFPrinting.Net Crack 它能够轻松灵活地预测完美的打印结果以及用户文件的示例性显示。在.NET的PDF打印中&#xff0c;可以快速浏览最关键的元素。如果用户需要获得更详细的概述&#xff0c;那么他可以查看快速入门手册&#xff0c;甚至现有文档的详细概述参考。 在这种情况下…...

git操作:将一个仓库的分支提交到另外一个仓库分支

这个操作&#xff0c;一般是同步不同网站的同个仓库&#xff0c;比如说gitee 和github。某个网站更新了&#xff0c;你想同步他的分支过来。然后基于分支开发或者其它。 操作步骤 1.本地先clone 你自己的仓库。也就是要push 分支的仓库。比如A仓库&#xff0c;把B仓库分支&am…...

基于Java+SpringBoot+Vue前后端分离医院资源管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…...

Android——基本控件下(十七)

1. 文本切换&#xff1a;TextSwitcher 1.1 知识点 &#xff08;1&#xff09;理解TextSwitcher和ViewFactory的使用。 1.2 具体内容 范例&#xff1a;切换显示当前时间 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools&…...

HCIP-HCS华为私有云

1、概述 HCS&#xff08;HuaweiCoudStack&#xff09;华为私有云&#xff1a;6.3 之前叫FusionSphere OpenStack&#xff0c;6.3.1 版本开始叫FusionCloud&#xff0c;6.5.1 版本开始叫HuaweiCloud Stack (HCS)华为私有云软件。 开源openstack&#xff0c;发放云主机的流程&am…...

docker下载github项目失败

Docker 在构建过程中直接从 GitHub 下载项目时超时&#xff0c;可能是由于网络问题、GitHub 访问限制或其他原因导致的。以下是一些建议和解决方法&#xff1a; 预先下载项目: 在构建 Docker 镜像之前&#xff0c;首先在宿主机上手动克隆 GitHub 项目&#xff0c;然后使用 COPY…...

【CSS】网站 网格商品展示 模块制作 ( 清除浮动需求 | 没有设置高度的盒子且内部设置了浮动 | 使用双伪元素清除浮动 )

一、清除浮动需求 ( 没有设置高度的盒子且内部设置了浮动 ) 绘制的如下模块 : 在上面的盒子中 , 没有设置高度 , 只设置了一个 1215px 的宽度 ; 在列表中每个列表项都设置了 浮动 ; /* 网格商品展示 */ .box-bd {/* 处理列表间隙导致意外换行问题一排有 5 个 228x270 的盒子…...

文本分类任务

文章目录 引言1. 文本分类-使用场景2. 自定义类别任务3. 贝叶斯算法3.1 预备知识3.2 贝叶斯公式3.3 贝叶斯公式的应用3.4 贝叶斯公式在NLP中的应用3.5 贝叶斯公式-文本分类3.6 代码实现3.7 贝叶斯算法的优缺点 4. 支持向量机4.1 支持向量机-核函数4.2 支持向量机-解决多分类4.3…...

Pyecharts教程(一):Python中的pyecharts库绘制3D曲面图

Pyecharts教程(一):Python中的pyecharts库绘制3D曲面图 作者:安静到无声 个人主页 目录 Pyecharts教程(一):Python中的pyecharts库绘制3D曲面图实验结果推荐专栏在Python中,我们可以使用pyecharts库来绘制各种图表,如柱状图、折线图、饼图等。最近,我在学习如何使用pyec…...

Unity音频基础概念

一、音源与音频侦听器 游戏画面能够被观众看到&#xff0c;是因为有渲染器和摄像机&#xff0c;同样音频能够被听到&#xff0c;也要有声音的发出者与声音的接收者。声音的发出者叫做音源&#xff0c;接收者叫做音频侦听器。Audio Source与Audio Listener都是组件&#xff0c;…...

sklearn Preprocessing 数据预处理功能

scikit-learn&#xff08;或sklearn&#xff09;的数据预处理模块提供了一系列用于处理和准备数据的工具。这些工具可以帮助你在将数据输入到机器学习模型之前对其进行预处理、清洗和转换。以下是一些常用的sklearn.preprocessing模块中的类和功能&#xff1a; 1. 数据缩放和中…...

西安网站 技术支持牛商网/网络策划

1、建立FontLibrary.fla文件&#xff0c;在其文档类FontLibrary.as中写如下代码&#xff1a; package { import flash.text.Font; public class FontLibrary extends Sprite { [Embed(systemFont"华文中宋", fontName"MyFont", unico…...

前端开发和后端开发哪个赚钱/seo的基本工作内容

射频加热系统 射频功率发生器 分为传统的功率振荡器的设计和相对较新的50欧姆功率放大器的设计。功率振荡器如图&#xff1a; 射频器和负载是功率发生器电路的一部分。工作电路的电容或者电感的变化会影响负载从谐振回路耦合得到的功率。一般都是通过改变极板的间距或者调整工…...

网站建设后台实训体会/百度大数据官网

一般情况下 page({ data:{ s1:{a:"",b:"b"} },changeData:function(e){var cDatathis.data.s1; cData.a"1";//先修改json值this.setData({ //再set值s1:cData }) } })这种this.setData()的方式性能体验差 开发微信小程序时&#xff0c;使用se…...

公司做网站哪里做/嘉兴seo外包

...

最新新闻事件100字/网站推广优化价格

目录 猜数字小程序的实现一.比较两个数的大小二.猜数字&#xff08;年龄&#xff09;的小游戏2.1 用一个条件语句实现猜数字的小程序2.2 随机数字2.3 限制猜测次数猜数字小程序的实现 一.比较两个数的大小 实现代码: # 设计思路 # 1.输入第一个数字num1 # 2.输入第二个数字num2…...

常州网站制作公司多吗/一个产品的宣传和推广方案

LVM与磁盘配额 文章目录LVM与磁盘配额一、LVM概述二、LVM机制的基本概念1.LVM的构成2.LVM图形详解三、LVM的管理命令1.主要命令及其功能2.命令格式四、创建LVM五、扩展逻辑卷1&#xff09;在线扩容2&#xff09;解挂载&#xff0c;扩容&#xff0c;格式化&#xff08;如有重要文…...