基于大数据的舆情分析_舆情与大数据

基于大数据的舆情分析_舆情与大数据数据工厂,是一套多组件化数据清洗加工及数据存储管理平台,同时能够管理所有的数据库的备份方案。支持多数据源类型的数据同步实现和数据仓库其他的数据源互通。对接收数据进行解压,对外提供压缩后的数据。


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

上一篇文章我们说到了:大数据开源舆情分析系统-数据采集技术架构浅析

今天跟大家来聊聊我们舆情系统中的数据处理部分是怎么样的工作机制。

简述

舆情系统的数据处理部分我们定义为:数据工厂。

数据工厂,是一套多组件化数据清洗加工及数据存储管理平台,同时能够管理所有的数据库的备份方案。

支持多数据源类型的数据同步实现和数据仓库其他的数据源互通。对接收数据进行解压,对外提供压缩后的数据。

主要用途分为三大块: 1.数据储存,2.数据标记,3.数据挖掘 。

经历了很多版本的迭代升级,期间采用过机器学习、深度学习、tensorflow 和 PaddlePaddle,经历大量的开发测试与项目实战经验。

开源技术栈

  • 开发框架:SpringBoot
  • 开发语言:Java JEE
  • 数据暂存:MySQL
  • 数据索引:Redis
  • 深度学习:PaddlePaddle
  • 数据流水线:Apache Flink
  • 自然语言处理:HaNLP & THUCTC
  • 数据处理和储存任务发送:Kafka&Zookeeper
  • 数据中台:自研 & DataEase

主体流程

  1. 选择需要处理的数据源,开启(或者关闭)数据处理开关,获取爬虫工厂抓取初加工的数据。

  2. 在配置界面上对数据处理流程自定义,并且可以看见处理列表和处理详情,以及当前总体的计算状态和计算负载统计。(整套技术方案可以自研,也可以使用为基础,初步评估flink可以满足我们大部分需求)

  3. 数据处理环节有6种类型:组合汇聚数据源、ETL 网页解析、自然语言处理、标签工场标记、自定义python java反射代码、对附件的处理。

  4. 每种数据源类型可定义输出不同的数据处理结果和存储目标。

  5. 对应每一种数据处理结果有每个不同的数据调用接口,接口都是根据数据字段自动生成。管理员用户可操作关闭数据调用开关。

  6. 用户可以查看每个数据处理结果的数据结果,可以通过筛选、搜索关键词对具体的数据内容查看。

备注:在项目初期应该用最简洁明了的方式对数据处理加工,等到对自身需求有一定深刻认识的时候,再对具体的数据工场的具体功能设计。进过对工商数据,对资讯数据,对招投标数据的输入、输出、处理、调用的各个环节后,会对数据工场具体需求有一个全面的认识。

技术架构

基于大数据的舆情分析_舆情与大数据

 (这是最早期系统架构图)

数据处理流程

基于大数据的舆情分析_舆情与大数据

数据总线

我们自研了一套数据总线系统API与Elasticsearch对接,将内部整套数据处理流程完成后,通过低代码化的API接口框架对输出。

数据存储

为了储存海量的数据,同时还能保证系统的性能和运行效率,我们将一条数据储存了多份,用储存空间换取查询时间。

  • MySQL

    在系统中储存两部分相关的信息内容,系统配置和临时脏数据储存。

  • redis

    在系统中除了作为系统缓存,还作为站点数据采集的index索引库。

  • kafak

    由于数据处理的过程比较多,而且数据量很大,因此采用分布式以及异步的方式对海量数据加工处理。

  • Elasticsearch

    储存加工好的数据、去掉样式的原文信息,以及打上各种标签的数据,储存在分布式搜索中,这样便于用户对数据的检索。

  • MongoDB

    带样式的文章正文原始网页储存在MongoDB中。

  • Clickhouse

    将每篇文章指纹及海明距离储存在clickhouse中,以便于对相似度和文章主题聚类的计算。

数据去重

  • URL去重

    采用了redis集群,让redis发挥天然的key/value魅力,把URL都存储在redis中。

  • 内容去重

    采用Elasticsearch内部的查询将文章标题一样的内容检索过滤掉。

数据清洗

  • 自动提取字段,标题、正文、时间、作者、来源 等。
  • 采用自动分类技术对 软文、广告文、敏感文章分类,并且对抓取信源屏蔽。

数据标记

  • 内容简介

    我们自研了一套自然语言处理的API,我们对此也开放了出来,可以查阅。

  • 实体识别

    在HaNLP的基础上进行训练和二次开发,在实战的过程中收集数据样本以及对数据样本标注是最痛苦的事情,为此,我们还开发了一款可以辅助人工标记的工具。

  • 情感分析

    百度飞桨,我们使用了 PaddleHub 深度学习框架并且采用了 Senta模型 ,这个方案上手很简单,在百度飞桨官方网站上有详细内容,这里就不赘述了。

  • 高频词分词

    采用IK分词框架,在此基础上实现了高频词提取工具及API接口。

  • 文本分类

    由清华大学自然语言处理实验室推出的 THUCTC(THU Chinese Text Classification)

  • 相似文章

    将文章通过“海明距离”算法生成加密串码存储在clickhouse集群中,通过clickhouse距离查询方法实现,文章相似度聚类。

  • 事件分类

    自研算法,采用文本分类算法和高频词以及自己开发了一个管理后台。

  • 行业分类

    自研算法,采用文本分类算法和高频词以及自己开发了一个管理后台。

数据运维

  • 数据清理

    需要定期对 Elasticsearch、Mongodb 中存储的数据删除,同时还要将Mongodb中的表删除,否则磁盘空间容量不会减少。

  • 数据备份

    关键性数据采用实时数据备份方案,例如:ES集群和MySQL主从备份,另外,线上实时ES集群我们只保留最近2年的数据。

    非关键性数据采用离线数据备份方案,例如:采用datax+Linux脚本定时备份,上传到远程异地备份服务器。

开源舆情系统

项目地址:

https://gitee.com/stonedtx/yuqing

在线体验系统

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191359.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 不管怎么选择,都会有遗憾「建议收藏」

    到底什么样的选择才是最好的,每一种选择都会有遗憾!最近有点想家,虽然在这个城市安了新家。那个小的城市–延安,和这个大的城市—长沙,两种感觉,不同的生活体验。现在都十一月了,要是在延安,那么现在已经是深秋,开始变得萧条,不想夏天那么生机盎然,而现在这个城市秋天和夏天在外观上看不出什么变化,只是现在的温度比夏天舒服了很多,不冷 不热。城市的车水马龙,霓虹灯,夜晚还是有很多的喧嚣,也看不到漫天的繁星。

    2022年2月26日
  • Android最全的屏幕适配

    Android最全的屏幕适配转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最佳实践,我相信如果你能认真的学习本文,对于Android的屏幕适配,你将有所收获!Android屏幕适配出

    2022年5月13日
  • phpstorm2021.3.19 激活码破解方法

    phpstorm2021.3.19 激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
  • MATLAB 处理大数据

    MATLAB 处理大数据如何处理大规模的快数据集大数据指的是创建的数据和供分析的数据的数量与速率迅速增加。此趋势的主要驱动因素是不断增加的信息数字化。采集设备的数量和类型以及其他数据生成机制无时无刻不在增加。大数据源包括来自仪表传感器、卫星和医疗图像的流数据,来自安全摄像机的视频以及派生自金融市场和零售运营的数据。上述来源的大数据集可以包含千兆字节或百万兆字节的数据,并且每天以兆字节或千兆字节的级别增长。

    2022年5月23日
  • Android使用ViewPager实现左右循环滑动及轮播效果

    边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其

    2021年12月27日
  • 新服务器部署完整流程

    新服务器部署完整流程配置服务器的登录一般不要把root用户给其他人使用,而是创建一个普通用户账号,例如我现在创建一个用户名叫做“laowang”的账号,并且配置它的登录密码。为了服务器的安全性,root用户登录配置成秘钥登录安装Docker对于CentOS6,可以使用EPEL库安装Docker,命令如下:$sudoyuminstallhttp://mirrors.yun-idc.com/…

    2022年6月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号