面向社交媒体数据的抑郁检测与分析系统的设计与实现
摘要: 抑郁症是当今社会普遍存在的心理问题之一,但人们对它的认知不足,许多人无法及时发现和得到治疗,导致疾病持续发展,影响患者的生活质量和工作效率。在这一背景下,开展面向社交媒体的抑郁检测与分析对于提高抑郁症的识别率和预测能力,及时提示患者和提供相应的治疗方案非常重要。
本文设计了基于Flask的社交媒体数据可视化后台系统,本系统的核心功能是通过爬取中关村海量社交媒体数据的原始数据,运用文本挖掘技术对这些数据进行分析,判断文本的情感极性和情感强度,并提取出有代表性的数据特征作为主要研究对象。基于人工智能技术构建面向社交媒体的抑郁检测和分析模型,利用传统的监督学习、半监督学习和深度学习等方法,进行模型训练和算法优化。并通过大数据技术将原始数据存储、计算,并将分析的结果以分类预测列表形式展示。
本文建立一种基于社交网络的抑郁症倾向检测模型,基于社交网络上的数据特征和多种机器学习算法,建立一种可以检测抑郁症倾向的模型,并对其进行多次测试和评估,以确保模型的有效性和准确性。通过本研究,我们将探究一种新的检测抑郁症倾向的方法,提供-种新思路和新方向,丰富和补充现有的检测方法。
关键词:社交媒体数据数据;Flask; Python;分词
Design and implementation of depression detection and analysis system based on social media data
Abstract: Depression is one of the common psychological problems in today's society, but people's lack of awareness of it, many people can not be found and treated in time, leading to the continuous development of the disease, affecting the quality of life and work efficiency of patients. In this context, it is very important to carry out social media-oriented depression detection and analysis to improve the recognition rate and prediction ability of depression, prompt patients and provide corresponding treatment plans.
This paper designs a social media data visualization background system based on Flask. The core function of this system is to extract the original data of massive social media data in Zhongguancun, analyze these data with text mining technology, judge the emotional polarity and intensity of the text, and select representative data characteristics as the main research object. A social media-oriented depression detection and analysis model was constructed based on artificial intelligence technology, and traditional supervised learning, semi-supervised learning and deep learning methods were used for model training and algorithm optimization. Through big data technology, the original data is stored and calculated, and the results of the analysis are displayed in the form of classified prediction lists.
This paper establishes a depression tendency detection model based on social networks. Based on the data characteristics on social networks and a variety of machine learning algorithms, a model that can detect depression tendency is established, and it is tested and evaluated several times to ensure the effectiveness and accuracy of the model. Through this study, we will explore a new method to detect depression tendency, provide a new Pycharmand new direction, and enrich and supplement the existing detection methods.
Keywords: social media data; Flask; Python; participle
目 录
1 绪论
1.1研究背景与现状
在如今的互联网时代下,用户查看社交媒体数据也由传统的线下转型为互联网,目前市场上流行的社交媒体软件和网站种类繁多,社交媒体数据分类标准也参差不齐,相对比较知名且应用广泛的社交媒体数据发布平台有美团大众、华住网等。在上述平台中每天都会发布海量的社交媒体数据,然而由于网络信息存在一定的虛假性,这会给查看社交媒体数据的用户带来一定的误导效果,导致网上查看社交媒体数据过程的体验不佳。并且由于各平台之间的用户数据不互通,用户需要来回反复的进行注册登录操作,这一过程也会浪费大量时间和精力。
总而言之,从上述问题可以看出目前互联网社交媒体数据平台信息缺乏整合,用户在冗杂的社交媒体数据中难以筛选出有效的信息。本论文拟初步研究开发出一套完整的基于大数据平台的社交媒体数据平台信息分析系统,本系统主要用于对社交媒体数据进行采集,通过大数据平台对数据进行存储和计算,将指标分析和预测结果以分类预测形式给用户查询。这样,用户在使用本平台时只需一次注册操作,即可浏览各平台发布的社交媒体数据,并且可以根据用户的条件进行筛选,可极大的提高查看社交媒体数据效率,给查看社交媒体数据的用户都带来一定的便利。
1.2国内外研究现状
目前,面向社交媒体数据的抑郁检测与分析系统在国内外都备受关注,并且已有一些相关的研究成果和现状。
国外研究方面,许多学者和研究机构致力于利用社交媒体数据来进行抑郁情绪的检测和分析。他们通过分析用户在社交媒体上的言行举止、情绪表达以及社交互动等数据,借助自然语言处理、机器学习和情感分析等技术手段,试图识别用户是否存在抑郁情绪,甚至预测抑郁情绪发作的可能性。一些研究还尝试建立基于社交媒体数据的抑郁情绪诊断模型,以帮助医生和心理健康专家进行抑郁症早期识别和干预。
国内方面,也有不少研究者开始关注面向社交媒体数据的抑郁检测与分析系统。他们通常会结合中国特有的社交媒体平台数据和用户行为特点,开展相关研究工作。同时,一些学术机构和科研团队也积极探索如何将这些研究成果应用到实际的心理健康服务中,促进抑郁症的早期发现和干预。
总的来说,国内外针对面向社交媒体数据的抑郁检测与分析系统的研究正在蓬勃发展,涉及的技术手段和研究方法也日益丰富和多样化。未来,随着人工智能和大数据技术的不断进步,相信相关研究将会取得更多突破,为抑郁症的诊断和干预提供更加有效的手段和工具。
1.3论文主要研究工作
本系统首先需要提供给客户管理和使用的数据。本文使用基于Python语言的Flask框架的网络爬虫技术爬取用户使用率较高的社交媒体数据网站上实时的社交媒体数据以及公司信息作为数据来源,以此作为指标分析和预测的关键数据支撑。然后使用分词技术,生态圈中分布式运算模型分词技术框架对海量的社交媒体数据数据进行数据清洗,数据融合,计算,分析等流程,数据通过处理后持久化到MySQL数据库中存储。在计算出分析结果数据后,使用Flask等软件开发技术等框架完成基于指标分析和预测平台系统的后台的开发。
本文开发一套Web系统将市面上的社交媒体数据通过大数据技术进行存储、计算与智能化分析,将会给社交媒体数据管理员提供巨大的好处。在提供社交媒体数据列表展示以及筛选功能的同时,还为用户提供个人信息管理,注册修改等功能,这样做便使得该系统成为功能相对完整,业务逻辑清晰,可大幅度提高查看社交媒体数据的效率。
2 技术总述
2.1 基于Scrapy的网络爬虫技术
Scrapy是目前较为成熟的爬虫技术框架,一般采用Python语言开发程序,Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
在本设计中,由于需要使用到社交媒体数据网站的原始数据,因此需要开发相应的网络爬虫程序完成对社交媒体数据原始数据的采集,图2-1为爬取社交媒体网站的数据的原理流程图。
图2-1 社交媒体网站数据爬虫原理流程图
2.2 分词技术
jieba 基于Python的中文分词工具,安装使用非常方便,直接pip即可,2/3都可以,功能强悍,十分推荐。
中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词模块jieba,它是python比较好用的分词模块。待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8。支持三种分词模式:
1.精确模式,试图将句子最精确地切开,适合文本分析;
2.全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
3.搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
2.3 Flask技术
Flask是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以社交媒体数据内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Flask Reinhardt来命名的。2019年12月2日,Flask 3. 0发布 。
Flask是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Flask框架中,还包含许多功能强大的第三方插件,使得Flask具有较强的可扩展性 [2] 。Flask 项目源自一个在线社交媒体数据 Web 站点,于 2005 年以开源的形式被释放出来。其工作流程主要可划分为以下几步:
1.用manage .py runserver 启动Flask服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Flask哪个Python模块应该用作本站的URLConf,默认的是urls .py
2.当访问url的时候,Flask会根据ROOT_URLCONF的设置来装载URLConf。
3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)
4.最后该view函数负责返回一个HttpResponse对象。
2.4 Echarts前端可视化技术
Apache ECharts 是一款基 于Javascript的数据分类预测图表库,提供直观,生动,可交互,可个性化定制的数据分类预测图表。ECharts 开源来自百度商业前端数据分类预测团队,基于htm15 Canvas, 它是一个纯Javascrint,图表库,提供直观,生动,可交互,可个性化定制的数据分类预测图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
2.5 本章小结
本章主要分析了系统开发过程中使用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括社交媒体数据采集的爬虫技术,分词技术,以及基于Flask框架的系统后台技术,通过预研上述技术点并加以应用从而开发出基于指标分析和预测平台的社交媒体数据数据分析系统。
3 社交媒体数据社交媒体数据系统的实现
3.1系统功能
通过前面的功能分析可以将基于大数据的社交媒体数据分析平台的研究与实现的功能主要包括用户登录、社交媒体数据管理、数据分析等内容。后台管理是针对已登录的用户看到满意的社交媒体数据数据分析而设计的。
3.2可行性研究
通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。
开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。
技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是分词技术开发框架,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。
当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。
从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。
3.3 系统实现流程
(1)明确目的
在设计社交媒体数据指标分析和预测平台初期需要了解如何获取社交媒体数据原始数据是非常基础也是关键的一步。要了解指标分析和预测平台期望达到什么样的运营效果,从而在标签体系构建时对数据深度、广度及时效性方面作出规划,确保底层设计科学合理。
(2)数据采集
只有建立在客观真实的数据基础上,大数据计算分析的结果才有效。在采集
数据时,需要考虑多种维度,比如不同行业社交媒体数据数据、各分类社交媒体点赞数据、弹幕活跃度数据、评论数量等等,还可以通过行业调研、用户访谈、用户信息填写及问卷、平台前台后台数据收集等方式获得。
(3)数据清洗
就对于各大社交媒体数据网站或者APP平台采集到的数据而言,可能存在非目标数据、无效数据及虛假数据,因而需要过滤原始数据,去除一些无用的信息以及脏数据,便于后续的处理。
(4)特征工程
特征工程能够将原始数据转化为特征,是--些转化与结构化的工作。在这个
步骤中,需要剔除数据中的异常值并将数据标准化。
(5)数据计算
在这一步我们将得到的数据存储到指标分析和预测平台,通过开发分词技术,
程序对原始数据进行计算,将不同维度的结果存储到Mysql中。
(6)数据展示
分析结果可以通过大数据后台展示到前端界面,对于普通用户而言,只需.
要登录到该后台系统,就可以获取到社交媒体数据数据分析后的计算结果,从而了解行业的社交媒体数据情况,对于查看社交媒体数据的用户而言可以极大地提高效率。
3.4系统平台架构
在任何信息系统当中有价值的数据都是必不可少的重要部分,如何通过手上
的资源获取得到有价值的数据便是开发系统。首先需要考虑的问题根据系统的功
能设计数据获取和处理的流程以及其实现方法都已经基本上确定获取和处理流
程。
3.5 社交媒体数据数据爬虫设计
(1)创建项目
打开一个终端输入:scrapy startproiect python_ bilibili _data,Scrapy框架将会在指定目录下生成整个工程框架。系统生成的目录如下图3-2所示:
图3-2爬虫框架目录结构
(2)修改setting文件
如图3-1所示为修改后的setting文件主要内容,本设计主要修改三项内容,
第一个是不遵循机器人协议,第二个是下载间隙,由于下面的程序要下载多个页
面,所以需要给一个间隙(不给也可以,只是很容易被侦测到),第三个是请求
头,添加一个User-Agent。
- 确认要提取的数据,item 项
图3-2爬虫代码
import requests url = 'YOUR_SOCIAL_MEDIA_API_ENDPOINT' headers = { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN', 'Content-Type': 'application/json' } # 发送GET请求 response = requests.get(url, headers=headers) if response.status_code == 200: data = response.json() # 处理返回的数据 print(data)else: print('请求失败:', response.status_code) |
item定义你要提取的内容(定义数据结构),比如我提取的内容为社交媒体数据的所在城市和媒体社交媒体数据详情,于是需要在items类中新建对应的实体类,并需要设置相应的字段取出对应的数据。Field 方法实际上的做法是创建一个字典,给字典添加一个建,暂时不赋值,等待提取数据后再赋值。
(4)开发爬虫程序,访问下载网页,使用Xpath语法提取内容
3.6 抑郁分析程序设计
本文在设计社交媒体数据分类预测模型中选用的是Pandas软件中的神经网络工具包,在确定好神经网络结构以后,将数据输入到模型训练后就可以对社交媒体数据分类进行预测。如图5-7所示是本文针对社交媒体数据分类预测模型设计的卷积函数神经网络流程。本文在前文分析了特征的提取过程,并经多次调整参数和改变原始训练样本实验后,本文最终确定了输入层,隐含层,输出层个数分别为5,3,1。最后输出层设置为单个值,即为预测角度值的输出,如图3-3所示。
图3-3 分词技术的过程
本文中如需分析目前社交媒体数据网站上的各行各业的社交媒体数据岗位总量情况,首先需要定义一个任务中的核心逻辑,需要在代码中对每条社交媒体数据数据的里程字段过滤,下面为分析任务的主要逻辑代码。
表3-2 主要模型类
class Users(AbstractUser): set_choices = ( ('男','男'), ('女','女') ) age = models.CharField(verbose_name='年龄',max_length=16,default='18') set = models.CharField(verbose_name='性别',max_length=12,default='男',choices=set_choices) mob = models.CharField(verbose_name='手机号',max_length=16,default='') def __str__(self): return self.username class Meta: verbose_name = u"用户表" verbose_name_plural = u"用户表" class Case_item(models.Model): shiqu = models.CharField(verbose_name='城市',max_length=124) title = models.CharField(verbose_name='名称',max_length=124) details = models.CharField(verbose_name='详情页链接',max_length=424) pingfen = models.FloatField(verbose_name='评分') city = models.CharField(verbose_name='详细地址',max_length=424) fuli = models.CharField(verbose_name='福利',max_length=424) price = models.FloatField(verbose_name='价格') def __str__(self): return self.title class Meta: verbose_name = u"表" verbose_name_plural = verbose_name class PingLun(models.Model): case_item_id = models.ForeignKey(Case_item,on_delete=models.CASCADE) text = models.TextField(verbose_name='评论内容') pingfen = models.FloatField(verbose_name='评分') pred_sentiment = models.CharField(verbose_name='预测情绪',max_length=124,default='') possibility = models.CharField(verbose_name='可能性', max_length=124,default='') class Meta: verbose_name = u"评论表" verbose_name_plural = verbose_name |
再编写完Mapper任务和reducer任务的业务代码后,还需要定义一个主类用于管理上述的作业,分词技术框架会将上述的Mapper和Reducer任务拆分为一个个的car,并提交到yarn上管理执行。下表3-4为社交媒体数据情感分类分词技术作业管理类的主要逻辑。
表3-4 情感分类分词技术类
def extract_features(word_list): return dict([(word, True) for word in word_list]) def stopwordslist(): stopwords = [line.strip() for line in open('stopwords.txt', 'r', encoding='utf-8').readlines()] return stopwords if __name__ == '__main__': # 加载积极与消极和中性评论 stopwords = stopwordslist() # 这里加载停用词的路径 datas = pandas.read_csv('nCoV_100k_train.labled.csv') results = datas.values.tolist() zhongxing = [] positive = [] negative = [] for resu in results: try: segtmp = jieba.lcut(resu[3], cut_all=False) # 把句子进行分词,以列表的形式返回 outstr = [] for word in segtmp: if word not in stopwords: if word != '\t': if word != ' ' and word != '\n': if resu[-1] == '0': zhongxing.append(word.strip()) elif resu[-1] == '1': positive.append(word.strip()) elif resu[-1] == '-1': negative.append(word.strip()) except: continue zhongxing = list(set(zhongxing)) positive = list(set(positive)) negative = list(set(negative)) # 将这些评论数据分成积极评论和消极评论和中性 features_positive = [] for f in positive: # print(({f.strip():True}, 'Positive')) features_positive.append(({f.strip():True}, 'Positive')) features_negative = [] for f in negative: features_negative.append(({f.strip():True}, 'Negative')) features_neutral = [] for f in zhongxing: features_neutral.append(({f.strip(): True}, 'Neutral')) # 分成训练数据集(80%)和测试数据集(20%) threshold_factor = 0.8 threshold_positive = int(threshold_factor * len(features_positive)) # 800 threshold_negative = int(threshold_factor * len(features_negative)) # 800 threshold_neutral = int(threshold_factor * len(features_neutral)) # 800 # 提取特征 积极文本 消极文本构成训练集 features_train = features_positive[:threshold_positive] + features_negative[:threshold_negative] + features_neutral[:threshold_neutral] features_test = features_positive[threshold_positive:] + features_negative[threshold_negative:] + features_neutral[threshold_neutral:] print("\n训练数据点的数量:", len(features_train)) print("测试数据点的数量:", len(features_test)) # 训练朴素贝叶斯分类器 classifier = NaiveBayesClassifier.train(features_train) print("\n分类器的准确性:", nltk.classify.util.accuracy(classifier, features_test)) # 输入一些简单的评论 datas = mb.PingLun.objects.all() # 运行分类器,获得预测结果 print("\n预测:") stopwords = stopwordslist()# 这里加载停用词的路径 for review1 in datas: review = review1.text try: segtmp = jieba.lcut(review, cut_all=False)#把句子进行分词,以列表的形式返回 outstr = [] for word in segtmp: if word not in stopwords: if word != '\t': if word != ' ' and word != '\n': outstr.append(word.strip()) print("\n评论:", review) probdist = classifier.prob_classify(extract_features(outstr)) pred_sentiment = probdist.max() # 打印输出 print("预测情绪:", pred_sentiment) print("可能性:", round(probdist.prob(pred_sentiment), 2)) review1.pred_sentiment = pred_sentiment review1.possibility = round(probdist.prob(pred_sentiment), 2) review1.save() except: continue |
为了验证朴素贝叶斯分类器的预测效果的好坏,本文另外建立了基于朴素贝叶斯分类器的社交媒体数据分类预测模型,并对预测结果进行了对比。朴素贝叶斯分类器是深度学习应用于分类识别和回归任务的经典模型[53]。如图5-9所示,是本文设计的基于神经网络的社交媒体数据分类预测模型,该模型由两层卷积层,两层池化层和三层全连接层和一个输出层组成,其中卷积层的卷积核大小2×2,卷积核数为64个;全连接层共分为三层,第一层为1024个神经元,第二层为512个神经元,输出层为一个神经元,是关节角度的预测值。本文采用Adam优化器对网络进行优化,并设置学习速率为
。
图3-4 分类预测模型网络结构图
损失函数为均方误差函数:
,其中y为抑郁分析的真实数值,output为朴素贝叶斯分类器学习后的预测值,图5-10是上述朴素贝叶斯分类器在训练100000次迭代内的损失图,由图可以看出在前60000次迭代的网络损失变化幅度较大,在100000次迭代后网络的损失接近在5°以内。
图3-5 朴素贝叶斯分类器迭代损失图
from textblob import TextBlob # 假设这是从社交媒体上获取的文本内容 social_media_text = "今天心情很不好,觉得很沮丧。" # 使用TextBlob进行情感分析 analysis = TextBlob(social_media_text) sentiment_score = analysis.sentiment.polarity # 根据情感分析结果判断可能的抑郁症倾向if sentiment_score < 0: print("情感分析结果显示可能存在抑郁倾向。")else: print("情感分析结果显示心情可能较为积极。") |
4 后台系统实现
基于大数据的社交媒体数据分析平台的基本业务功能是采用Flask框架实现的, 在本文的第四章将详细介绍后台系统的实现部分,包括详细阐述了系统功能模块的具体实现,并展示说明了部分模块的功能界面。
4.1 开发环境与配置
本系统设计基于B/S架构,其中服务器包括应用服务器和数据库服务器。这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装客户端软件,交互性更强。基于大数据的社交媒体数据分析平台使用Pycharm集成开发工具。而系统运行配置时,选择应用本地来部署Web服务器来保障平台的正常运行。本系统的主要开发环境以及开发工具如表4-1所示。
表4-1 系统开发环境和工具
项目 | 系统环境及版本 |
硬件环境 | Windows 64 位操作系统 |
Python | Python2.6 |
数据库 | MySql |
开发工具 | Pycharm |
项目架构 | Flask |
本系统使用集成开发工具Pycharm进行开发,由于 Pycharm中本地配置详细资料有很多,不做详细赘述, 本文主要介绍 Flask框架的配置。首先需要在项目中中引入各框架以及数据库连接等所需要工具包。
4.2 数据库的设计
数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。
根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下6个数据实体:用户、社交媒体数据等数据库表。
用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:
图4-2 用户实体属性图
根据以上分析,各个实体之间有一定的关系,使实体与实体可以联系起来,建立成整个系统的逻辑结构,本系统中,普通用户通过对社交媒体数据的管理,使社交媒体数据与用户实体存在对应关系。
4.3 系统功能模块实现
用户登录时需要在登录界面输入用户名、密码进行身份认证,要求必须是表单认证、校验。具体流程如时序图如4-2所示。
图4-2登录认证流程图
社交媒体数据指标分析和预测系统的用户登录界面如下图所4-3所示:
图4-3用户登录注册界面
登陆成功后,系统会成功跳转至首页,在首页中,位于上方的横栏是对本系统的基本信息的描述和欢迎登录效果,另外登录用户的用户名也会显示在首页中,可直接表明用户己成功登录。左侧则是本系统的导航菜单,可折叠展示,较为方便,右方则为欢迎页效果。社交媒体数据指标分析和预测系统的首页界面如下图所4-4所示:
图4-4 社交媒体数据指标分析系统首页界面
4.3.2社交媒体数据管理功能
社交媒体数据管理功能是对社交媒体数据进行查询,删除等操作的功能集合,社交媒体数据管理功能使用到了社交媒体数据表t_sea,社交媒体数据表t_sea的主要数据字段,结构,类型及描述如下表4-2所示。
表4-2 社交媒体数据表字段
字段名称 | 数据类型 | 是否允许为空 | 描述 |
id | int | 不允许 | 自增主键,唯一ID |
cityname | String | 允许 | 所在媒体名称 |
company | String | 允许 | 社交媒体数据名称 |
company_size | String | 允许 | 社交媒体数据标题 |
education | String | 允许 | 情感分类 |
experience | String | 允许 | 内容大小 |
industry | String | 允许 | 采集时间 |
recruiter | String | 允许 | 指标名称 |
salary | String | 允许 | 范围 |
社交媒体数据指标分析和预测系统的社交媒体数据管理功能界面如下图所4-5所示:
图4-5社交媒体数据管理界面
社交媒体数据管理
功能流程功能图如图3-6所示:
图4-6 社交媒体数据管理功能流程图
通过“社交媒体数据管理”按钮,进入社交媒体数据管理界面,用户可以看到社交媒体数据列表,例如:标题、内容、数量、采集数据时间的详细信息。通过此界面,用户可以对社交媒体数据进行删除管理操作。
4.3.3社交媒体数据抑郁分析功能
数据分类预测模块就是对我们采集和计算的分析结果的展示。数据分析模块的数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式
进行展示,从而形象直观地表达数据蕴含的信息和规律。
图4-7 社交媒体数据抑郁可视化分析
社交媒体数据指标分析难点并不在于图表类型的多样化,而在于如何能在简单的一页之内让用户读懂社交媒体数据数据之间的层次与关联,朴素贝叶斯分类器在社交媒体数据分类预测模型有有更高的选择性,同时模型也有更高的鲁棒性,相对于需要大量样本、大量调参的其他神经网络,使用神经网络训练迭代次数较少、误差率更低,在基社交媒体数据文本分类中具有一定的优势。
4.4 本章小结
本章主要分析了基于大数据的社交媒体数据分析系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了基于Flask框架的社交媒体数据指标分析和预测系统的搭建环境和开发步骤,包括程序中的一些数据库配置等。
5 总结与展望
5.1 系统开发遇到的问题
由于基于大数据社交媒体数据分析平台是由本人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点,包括大数据技术,很多是不熟悉没接触过的,在开发过程中不断学习新知识。另外由于本人的时间和精力的原因,在系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。
5.2 总结与展望
大数据社交媒体数据系统是在对相关管理范畴进行详细调研后,确定了系统涉及的领域,包括数据库设计、界面设计等,是一个具有实际应用意义的管理系统。根据本毕业设计要求,经过四个多月的设计与开发,大数据社交媒体数据系统基本开发完毕。其功能基本符合用户的需求。
为保证有足够的技术能力去开发本系统,首先本人对开发过程中所用到的工
具和技术进行了认真地学习和研究,详细地钻研了基于Python的网络爬虫技术
以及Echarts, CSS, HTML等前端开发技术,同时还研究分词技术等。
从社交媒体数据数据指标分析和预测平台需求分析开始,到整体框架的设计以及各个详细功能的设计具体实现,最后基于大数据平台的社交媒体数据分析系统的基础架构和详细功能已经大致开发完毕,并将其部署在本地服务器当中运行,用户可以登录使用该系统进行社交媒体数据的筛选,同时查询分类的结果。
发现社交网络上存在的与抑郁症倾向相关的线索和特征。我们将挖掘社交网数据中的文字、图片、人际关系等多种数据特征,发现其中可能存在的与抑郁症倾向相关的线索、特征,这将为理解和研究抑郁症提供新的数据支持。
建立一种基于社交网络的抑郁症倾向检测模型。我们将基于社交网络上的数据特征和多种机器学习算法,建立一种可以检测抑郁症倾向的模型,并对其进行多次测试和评估,以确保模型的有效性和准确性。
提供-种新的抑郁症倾向检测方法。通过本研究,我们将探究一种新的检测抑郁症倾向的方法,提供-种新思路和新方向,丰富和补充现有的检测方法。
参考文献
[1]季杰,陈强仁,朱东.基于互联网大数据的社交媒体数据智能分析平台的设计和实现[J].内江科技,2020,41(05):47-48.
[2]朱慧雯,田骏,张涛,蒋卫祥.基于互联网大数据的社交媒体数据数据智能分析平台的设计与实现[J].软件,2020,41(03):99-101.
[3]于涛.大尹格庄金矿井下通风环境感知与指标分析和预测平台研究开发[J].有色金属(矿山部分),2021,73(05):142-146.
[4]汪杰,王春华,李晓华,余克莉莎.煤炭行业指标分析和预测云平台设计研究[J].煤炭工程,2021,53(09):187-192.
[5]周怡燕.基于大数据的数据分析平台构建研究[J].自动化与仪器仪表,2021(05):123-127.
[6]邱灵峰,黄荣.大数据审计平台体系建设构想[J].中国管理信息化,2021,24(17):97-98.
邓宇杰,郑和震,陈英健.长江大保护时空大数据云平台建设需求分析[J].水利规划与设计,2021(09):12-15.
[7]孙也.生产制造媒体指标分析和预测平台技术[J].电子技术与软件工程,2021(16):178-179.
张晓伟.基于云平台的大数据信息安全保护策略分析[J].信息记录材料,2021,22(08):185-187.
[8]李军,王涛.基于指标分析和预测技术的网络运维平台应用与开发[J].电脑编程技巧与维护,2021(07):112-114.
[9]Chi Dianwei,Tang Chunhua,Yin Chen. Design and Implementation of Hotel Big Data Analysis Platform Based on 分词技术 and Spark[J]. Journal of Physics: Conference Series,2021,2010(1):
[10]Costa Rogério Luís de C.,Moreira José,Pintor Paulo,dos Santos Veronica,Lifschitz Sérgio. A Survey on Data-driven Performance Tuning for Big Data Analytics Platforms[J]. Big Data Research,2021,25(prepublish):
时光飞逝,四年的本科生生涯即将结束。在这四年的时光里,有遇到难题时的手足无措,有获得专业进步时的开心。经历了许多的事情,自己也在不知不觉中成长了很多,心中充盈最多的仍是感激。
首先感谢我的导师,她严谨的治学态度深深地影响每位同学。我要感谢我的父母,他们总是默默的付出,在生活上给与我最大的帮助,在学习上也给我很多建议。
最后,由衷的感谢各位评审老师在百忙之中抽出时间来参与我的论文评审和答辨。