毕业设计 Python社交平台舆情分析与可视化 - 数据爬虫 大数据

这篇具有很好参考价值的文章主要介绍了毕业设计 Python社交平台舆情分析与可视化 - 数据爬虫 大数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

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

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

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

选题指导,项目分享:

https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md文章来源地址https://www.toymoban.com/news/detail-717514.html

1 课题背景

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

2 实现效果

实现功能

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

可视化统计

Hashtag统计
python舆情分析,大数据,数据分析,python
地理位置信息的可视化

python舆情分析,大数据,数据分析,python

话题结果可视化

矩阵图

python舆情分析,大数据,数据分析,python
旭日图

python舆情分析,大数据,数据分析,python

情感分析的可视化

python舆情分析,大数据,数据分析,python

web模块界面展示

python舆情分析,大数据,数据分析,python

3 LDA模型

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

LDA模型可以描述为一个“上帝掷骰子”的过程,首先,从主题库中随机抽取一个主题,该主题编号为K,接着从骰子库中拿出编号为K的骰子X,进行投掷,每投掷一次,就得到了一个词。不断的投掷它,直到到达预计的文本长度为止。简单的说,这一过程就是“随机的选择某个主题,然后从该主题中随机的选择词语”。按照之前的描述,一篇文档中词语生成的概率为:
python舆情分析,大数据,数据分析,python
可以用矩阵的乘法来表示上述的过程:

回到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结果如下

测试集名

python舆情分析,大数据,数据分析,python

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')

选题指导,项目分享:

https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md

到了这里,关于毕业设计 Python社交平台舆情分析与可视化 - 数据爬虫 大数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的社交平台数据爬虫舆情分析可视化系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: h

    2024年02月02日
    浏览(41)
  • 大数据毕设项目 - 基于大数据的社交平台数据爬虫舆情分析可视化系统

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月16日
    浏览(35)
  • 【大数据毕设选题】基于大数据的社交平台数据爬虫舆情分析可视化系统

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月21日
    浏览(28)
  • 毕业设计——基于深度学习的医学图像处理分析平台,AI全自动疾病诊断

    基于LSTM-CLIP的多模态自主疾病诊疗方法,包含。包括电子病历信息预处理模块、transformer文本编码器模块、图像编码器模块、图像特征提取网络模块、LSTM循环神经网络模块、以及基于强化学习的交互模块。其中:电子病历信息预处理模块:用于采集病人文本病历以及影像学病

    2024年01月20日
    浏览(35)
  • python毕业设计 医学大数据分析 - 心血管疾病分析

    # 1 前言 🚩 基于大数据的心血管疾病分析 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 选题指导,项目分享: https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md 本项目的任务是利用患者的检查结果预测心血管疾病(CVD)的存在与否。

    2024年02月10日
    浏览(27)
  • 【毕业设计】 大数据地铁客流数据分析系统 - python

    🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定

    2023年04月08日
    浏览(32)
  • python毕业设计 大数据房价数据分析及可视化 房价分析

    房地产是促进我国经济持续增长的基础性、主导性产业。如何了解一个城市的房价的区域分布,或者不同的城市房价的区域差异。如何获取一个城市不同板块的房价数据? 本项目利用Python实现某一城市房价相关信息的爬取,并对爬取的原始数据进行数据清洗,存储到数据库中

    2024年02月09日
    浏览(38)
  • 【毕业设计】大数据房价数据分析可视化 - python

    🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定

    2024年02月02日
    浏览(35)
  • 【毕业设计】电商产品评论数据分析可视化(情感分析) - python 大数据

    🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定

    2024年02月01日
    浏览(41)
  • 【毕业设计】大数据睡眠数据分析与可视化 - python

    🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包