基于smardaten无代码开发舆情分析系统

news2024/11/24 1:41:52

一、前言

在日常生活中,有各种各样的资讯、社交平台。这些平台充斥着大量信息,这些信息中隐含了许多有用数据,但是这些数据无法之间获取,且难以展示,于是就有了舆情分析系统。

舆情分析系统是一个综合的系统,专注于这些数据的某些方面进行分析、显示。比如挖掘当今流行的话题、话题的舆论、公众情感等。舆情分析有助于对社交资讯等平台的信息进行管理挖掘,并展示给用户。

本文要做的就是实现一个舆情分析系统,本文会专注舆情分析系统的某几个部分。舆情分析系统的实现是多样的,为了方便本文使用无代码平台smardaten,使用smardaten可以减少大量开发工作,快速开发。

二、系统概览

2.1 舆情分析系统

舆情分析系统是一个综合性很强的系统,里面涉及爬虫、情感分析、主题词提取、数据可视化等技术。舆情分析系统整体可以分成三个部分,分别是数据采集、数据分析、数据展示。整体如下,其中上层是用户直接接触的:

首先需要数据,数据的来源是多样的。可以使用爬虫爬取,也可以使用开放平台的数据或者内部数据。把数据整理成固定的格式,便于后续处理。

舆情分析系统的数据可以是微博热搜、抖音热榜、百度热榜等。这些榜单话题对应的评论也是非常重要的信息。

得到数据后,需要对数据进行分析处理。比如分析等关键字,或者话题情感分析,又或者群众的心理变化等。

分析完数据后,就需要展示数据了。相比之下数据的展示是最直观的,也是客户直接接触的。很多时候数据大屏会有一种科技感,让客户感觉非常高端。客户高兴,才能保证前两部分有效。

数据展示的方式是多样的,情感的分布可以用饼图展示,情感变化趋势可以用折线图展示,当前话题可以用词云展示。除了这些还有许多其它展示方式,在后续实现时详细介绍。

2.2 smardaten平台介绍

smardaten是一个无代码平台,可以让用户专注于程序的逻辑,而不用编写复杂的代码,快速开发应用程序。smardaten使用可视化的方式构建程序,平台中内置了许多组件,包括布局、模板、图表、多级菜单等,使用时直接拖拽即可。

使用smardaten可以快速开发许多复杂应用,比如GIS分析、知识图谱、数据大屏等。以“电力行业-分布式光伏服务平台”为例,页面需要多级菜单、图表、分页等功能,使用smardaten可以很快速实现这些功能,下图是一个示例。

smardaten还支持各种主流数据源,包括MySQL、Oracle、Access等常用数据库,还有图数据库Neo4j等,另外还支持Rest-api等,以下是一个示例:

除了直接从数据库获取数据外,也可以采集数据经过ETL统一处理得到我们想要的数据形式。更方便处理。

另外,系统中还需要一些逻辑控制。在smardaten中,逻辑也可以用可视化的方式实现,比如点击按钮后需要做出各种响应,这些响应可以用列表的形式展示出来,方便用户设置:

不同的动作对应不同的子操作,因此可视化的方式也能实现非常复杂的逻辑,开发复杂程序也没有问题。正是因为开发方便,因此选用smardaten平台开发。

另外smardaten中内置了商超,可以下载模板应用,具体见:http://appstore.sdata1010.cn/

三、系统搭建

smardaten可以直接直线使用,也可以离线部署,具体参考:https://s3.smardaten.com/ ,我们直接直线使用,构建应用。在实现系统时,我们可以把系统分成三个部分,分别是:数据接入、舆情分析、数据展示。下面分别实现各个部分。

3.1 数据接入

在开始创建应用前,需要准备好数据。数据的来源可以是开放平台的api,也可以是自己的数据库。本应用使用数据库存储数据,smardaten支持MySQL、Oracle、MongoDB、SQLServer各种主流数据库,具体使用大致相同,本应用使用MySQL作为数据源。

首先进入主页面:https://s3.smardaten.com/home,鼠标移至左上角、选择数据源、选择MySQL、填写连接信息。具体步骤如下:

在填写数据库连接信息时,主要填写三个部分,具体如下图:

分别为:

  1. 数据库连接串,形如:jdbc:mysql://ip:port/mydb,比如jdbc:mysql://127.0.0.1:3306/text
  2. 数据库用户名
  3. 数据库用户密码

填写完成后,可以点击测试连接测试连通性。之后点击保存即可。保存后,此时数据还未真正接入,我们还需要采集数据,设置采集规则才行。设置完采集规则后,点击开始采集,此时输入才真正接入资产,我们可以在资产列表看到采集结果:

在本次案例中,数据库主要有两张表,表的字段和表的关系如下:

现在数据接入完成,下面就可以对数据进行处理了。

3.2 数据预处理

来自多个数据源的数据通常是不统一的,因此需要对数据进行处理。这里的处理包括数据清洗、数据整合等。两者都可以使用数据流来实现,数据流的创建如下:

一些简单处理工作可以用格式化来处理:

整合两张表的数据,则可以处理字段,然后把数据建表输出,此时运行后可以得到新的表:

创建新表后,可以在数据图书馆中查看新表对应的资产:

后续可以直接使用这些数据用于展示。

3.3 舆情分析

舆情分析可以有很多层面的分析,首先最基础的就是文本情感分析。在本次应用中我们假设已经完成这部分操作,在此基础上做宏观的分析。下面列举几个本应用要实现的分析:

  1. 数量统计:分析积极、消极评论的比例,并可视化
  2. 变换趋势统计:分析各个时间段情感变换情况
  3. 统计各个主题下去情感分别情况

除此之外也可以添加一些其它分析,具体实现与上面是类似的。上述几种分析也可以使用数据流来分析。

在创建数据流后,可以对数进行各种操作,包括字段选择、聚合、排序等。首先我们完成上述第一个统计,即计数,我们要统计评论表sentiment字段的具体情况,此时数据流可以如下图:

在输入数据源中选定comment表,并在统计中选定sentiment字段即可。最后输出的输入就是统计结果。

第二个则是需要分组统计,为了方便我们可以把时间转换成年月形式,再对时间进行计数,这样可以达到同样的效果,具体数据流如下:

其中时间格式化操作可以把时间转换成特定格式,如果想观察情感按月的变换情况,则把时间格式转换成年月,如果想观察情感按天的变换情况,则把时间格式转换成年月日即可,具体操作如下:

如果想要应用更丰富,也可以作为交互,让用户选择以何种方式统计。

然后是最后一个,第三个分析需要进行连表操作,连表操作可以用连接实现,此时数据流如下:

对topic、comment两个表进行连接,然后再统计comment的sentiment字段。这样我们就完成了分析操作了,通过拖拽修改数据流,我们可以完成许多非常复杂的分析。接下来就是把数据展示出来了。

3.4 创建应用

在展示之前,还需要创建应用,依次:创建应用、WEB+移动端、输入应用名称、完成创建,具体操作见下图:

在创建应用后会进入开发应用的界面,界面主要分为四个部分,各个部分负责不同的功能,左侧负责页面的管理,可以创建、绑定页面;右侧为具体的设置信息,可以完成组件的修改、数据绑定等;顶部负责添加组件、设置布局等操作;中间则是效果预览。具体如下:

创建好应用后就可以完成后续的工作了。

3.5 实现

下面我们设计一下应用的整体框架,应用分为三个页面,分别为热点话题、情感分析、情感监测。

其中热点话题用来展示话题数据,情感分析则用来展示评论的情感分布,而情感检测则是展示情感按时间变换的趋势。知道这点后就可以在应用中添加对应页面了,在页面左上角部分可以添加导航和页面:

热点话题主要是展示话题信息,可以根据不同作者不同列进行展示,这里我们用三列布局嵌套表格来实现:

标题部分可以和作者字段进行绑定,这里我使用固定值。下面就是把各列与具体数据绑定了,点击某一列,选择高级开发,此时列表会有一个按钮,我们可以在按钮配置中去掉该按钮。下面要做的就是把组件添加上去,并绑定数据,左边选择要显示的字段,右边将字段与资产绑定起来,这样数据变换时页面也会发生变换:

另外两个也执行同样的操作即可。如果想要更丰富,可以对不同列执行不同的筛选。下面是显示效果:

我们还可以在此基础上进行一些美化工作。下面就是完成情感分析部分了,情感分析可以饼图来实现。不过只显示情感分布有些单调,可以显示一些其它数据,这里就展示部分积极和部分消极评论,整体布局如下:

其中上方和左侧的显示操作与前面没有区别,这里不再赘述。下面我们来上述饼图的数据绑定。

饼图数据可以是静态数据,也可以绑定资产,这里选择3.2中第一个数据流对应的资产,绑定成功后就可以显示积极消极评论的情感分布情况:

第二个饼图可以绑定类似的资产,这里我没有额外去创建。

最后就是显示情感监测了,具体操作与饼图非常类似。我们在图表中选择折线图:

然后和饼图一样绑定资产,这里绑定3.2中第二个数据流对应的资产。为了丰富页面,我们可以把第三个资产的数据也显示在当前页面。我们可以使用页签来显示,选择不同话题的页签就展示不同的数据,首先把页签添加到页面,并设置页签的条件:

这样我们就完成了应用的搭建。不过还有许多细节值得去修改的。

这里介绍了部分分析的具体操作,我们可以对系统做更丰富的分析,下面是最终的效果:

3.6 其它

在实际应用中,可以展示内容可以更加丰富。smardaten中也提供了更多丰富的展示组件,比如可以使用更丰富的图表展示,在smardaten中还有雷达图、3D图等。

或者可以分地区展示。在smardaten中提供了地理位置相关的组件,如果可以获取话题、城市信息,则可以结合展示:

四、系统总结

系统整体有三个部分,分别是数据、分析、展示。数据的来源是多样的,因此需要进行特征数据,在smardaten中可以用数据流实现,根据不同的要求创建不同的数据流。而分析在本系统中只做了情感分析,这里可以使用开放平台的api实现,或者可以自己额外编写程序。最后则是展示,不同的数据使用不同方式展示,最直观的展示就是使用图表。展示的组件需要与数据绑定在一起。更多内容可以参考:https://s3.smardaten.com/ ,读者可以自行体验。

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

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

相关文章

elementui tree 支持虚拟滚动和treeLine (上)

背景:在使用elementuivue2.x进行项目开发时,有用到el-tree组件,但是在数据很多时会卡顿 基于以上背景elementui 提供的el-tree组件无法满足需求。 期间在网上调研了很多相关的tree组件,例如: vue-treeszTreesjsTrees…

d3dcompiler_47.dll缺失怎么修复,总结五个修复方法

d3dcompiler_47.dll是一个由微软公司开发的动态链接库文件(DLL File),属于Microsoft Direct3D Shader Compiler 库的一部分,该库包含用于编写和编译 Direct3D 11 的着色器的编译器源代码。这个 DLL 文件是 Direct3D 11 中非常重要的组成部分,…

什么是微软的 Application Framework?

我是荔园微风,作为一名在IT界整整25年的老兵,今天来看一下什么是微软的 Application Framework? 到底什么是 Application Framework? 还没有真正掌握任何一套Application Framework的使用之前,就来研究这个真的不是很…

海龟绘图turtle库之二级基础编程题

海龟绘图turtle库之二级基础编程题 python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 import turtle 原理: Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个…

HTML(结构)+CSS(样式基础)

一、HTML前期准备 1. 认识HTML HTML(Hyper Text Markup Language):超文本标记语言主要通过标签对网页中的文本、图片、音频、视频等内容进行描述个人理解:对所有需要描述的内容使用标签进行表示 2. HTML布置页面的固定结构 每一个…

APP UI自动化测试,思路全总结在这里了

首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去。 接下来&#xff0c…

Windows上不可或缺的5款宝藏软件,工作效率拉满!

职场小白与大牛的区别:小白需要耗费大半天琢磨的事情,而大牛可以只花5分钟就能处理。 “牛人”,即拥有过人之处,专业、经验、技术等等,学会灵活运用高效率的工具也是关键的一点。工具找得好,运用得快&#…

轴承故障诊断(一维时序信息结合二维图像实现故障诊断,python编程,十分类)

1.模型介绍: 2.数据集介绍(凯斯西楚大学数据集,实现对12k采集频率下四种负载的诊断,同时也实现对48k采集频率下数据的诊断):十分类 0文件夹装的是0HP下原始的数据(包含十种故障)&…

【深入理解Linux内核锁】二、中断屏蔽

我的圈子: 高级工程师聚集地 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强公司! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! …

JMM如何实现volatile写/读的内存语义

内存屏障类型表 StoreLoad Barriers是一个“全能型”的屏障,它同时具有其他3个屏障的效果。现代的多处理器大多支持该屏障(其他类型的屏障不一定被所有处理器支持)。执行该屏障开销会很昂贵,因为当前处理器通常要把写缓冲区中的数…

移动端事件300ms延迟解决

有移动端与PC端的项目开发,那么移动端和PC端开发上是存在差异的,比如 click 事件的300ms 延迟,即移动Web页面上的click事件响应都要慢上300ms,移动设备访问Web页面时往往需要 “双击” 或者 “捏开” 来放大页面看清页面的具体内容…

TVP走进腾讯:直面变革浪潮,合力拥抱AI新时代

引言 自 ChatGPT 问世以来,以通用人工智能为代表的 AI 技术发展开始“狂飙”,多家企业和研究机构入局大模型赛道,新应用场景不断涌现。如何理解通用人工智能技术将带来的巨大影响,并把握随之而来的机遇和挑战,是我们面…

自己开发或者修改的组件包如何发布到npm官方市场

1、注册账号 打开npm官方网站: www.npmjs.com; 进行注册 注册需要用户名,密码和邮箱, 当注册完成后需打开邮箱进行验证(邮箱不验证无法上传) 二、 在需要打包发布的文件夹package.json所在目录下执行命令:…

Nacos架构与原理 - 通信通道

文章目录 Nacos 长链接⼀、现状背景二、场景分析1. 配置SDK 和 Server 之间Server 之间通信 2. 服务SDK 和 Server 之间Server 之间通信 三、长链接核心诉求1. 功能性诉求客户端服务端 2. 性能要求3. 负载均衡客户端随机服务端柔性调 4. 连接⽣命周期5. 安全性6. 低成本多语⾔实…

基于jsp+mysql+Spring+mybatis的SpringBoot美容院预约管理系统

运行环境: 最好是java jdk 1.8,我在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本 tomcat服务器环…

数据分析 × 人文社科:高校交叉学科教学经验分享

随着新一轮科技革命与产业变革的加速演进,学科间的交叉融合不断升级,由数据驱动的系列交叉学科备受瞩目,然而,在实际教学与学科建设的过程中,对于数据科学引入至相关学科,高校教师还是普遍面临着比较多的问…

MYSQL中的14个查询技巧

1.group_concat 在我们平常的工作中,使用group by进行分组的场景,是非常多的。 比如想统计出用户表中,名称不同的用户的具体名称有哪些? 具体sql如下: select name from `user` group by name; 但如果想把name相同的code拼接在一起,放到另外一列中该怎么办呢? 答:…

LeetCode - 16 最接近的三数之和

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 16. 最接近的三数之和 - 力扣(LeetCode) 题目描述 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。 请你从 nums 中选出三个整数,使它们的和与 target 最接…

HNU-操作系统OS-作业2(15-22章)

OS_homework_2 这份文件是OS_homework_2 by计科210X wolf 202108010XXX 文档设置了目录,可以通过目录快速跳转至答案部分。 第15章 运行程序OS-homework/vm-mechanism/relocation.py 15.1 用种子 1、2 和 3 运行,并计算进程生成的每个虚拟地址是处于界限内还是界限外? 如…

Python + HDF5 因子计算与 DolphinDB 一体化因子计算方案对比

在量化交易中,基于金融市场的 L1/L2 的报价和交易高频数据来进行高频因子计算,是非常常见的投研需求。目前国内全市场十年的 L2 历史数据约为 20 ~ 50T,每日新增的数据量约为 10 ~ 20G。传统的关系数据库如 MS SQL Server 或 MySQL 已经很难支…