1 项目背景

信息科技经过60 余年的发展,已经从高端科技普及到社会运转的每一个角落中。随着信息技术在国家治理、经济运行的方方面面的运转,大量的数据随之产生。而互联网技术的爆发式发展使得近两年来产生的数据总量超过了人类有史以来的数据总和。如何利用这些数据,挖掘数据的深层价值,是未来信息科技发展的趋势,也是大数据技术产生的背景。而对于拥有相关专业技能的我们要做的就是利用大数据相关技术研发出一款大数据相关产品,以此来帮助缺少计算机与大数据相关知识不同人群在社会的生产、生活中获得便利。

本赛项的设置,是为提高大数据专业学生的综合实践能力,适应大数据开发应用产业对高素质技术技能型人才的需求,重点检验学生对数据获取,数据处理,数据分析,数据可视化等操作流程的实际动手能力。激发学生对大数据知识和技术的学习兴趣,提升学生能力和素质,努力为中国大数据应用产业发展储备及输送新鲜血液。

通过本大赛,提升高校电子信息类及相关专业毕业生能力素质,满足社会用人需求,实现行业资源、企事业资源与教学资源的有机融合,使高校在专业建设、课程建设、人才培养方案和人才培养模式等方面,跟踪社会发展的最新需要,缩小人才培养与行业需求差距,促进专业教学建设和教学改革。

希望通过本次大赛,实现以下实践意义:

1、可以极大的提高学生的大数据挖掘、分析实践经验,有助于大学生对大数据挖掘、分析工具、语言的熟练应用,有助于学校学习的理论知识和实践相结合。

2、掌握大数据分析的方法和思路,切实了解社会对大数据技能的需求。

2 命题方向

每团队3-5人,请使用目前流行的大数据框架与分析挖掘工具,如:Hadoop,Hive,Spark技术构建大数据平台,并结合软件开发技术(如spring,flask,django,vue,echarts等)构建业务系统完成一个实用的软件系统。此外如果在算法方面有需要,也可以使用深度学习相关技术,同时不限制硬件产品的加入(如智慧农业或智慧交通需要使用物联网设备或摄像头)。而最终研发出的软件的应当能够为行业、企业或个人生活提供有益的支持。

在数据来源方面:不限数据来源,但必须为真实数据,并能够为软件目标提供切实可靠的助力;软件服务目标方面:不限制服务对象,可以通过多种途径获取行业数据,并服务于个人,行业内从业人员,企业,但必须能够合理地使用数据分析与挖掘技术,挖掘数据中有价值的信息或规律。

选题方向可结合(但不限于)以下方面:

1)社交数据获取与分析系统及相关系统:获取社交媒体数据中的文本,图片,短视频等数据,利用文本分析、情感分析、社交网络分析等技术分析有关数据。如果系统设计目标为《微博自媒体营销辅助决策系统》那么可以使用用户画像技术进行用户群体划分,或者完成购买力预测,购买意向预测等功能;如果系统设计目标为为政府服务的《用于XXXX的网络舆论监控系统,则可以提供舆论热点发现,热点跟踪,新闻发现,事故发现或预警功能,违法行为监控预警等功能。

2)电子商务数据获取与分析系统及相关:通过对网络商城、网络书城、电影系统等数据进行获取、存储与分析,建立有关大数据系统。如软件设计为网络购物助手,则可以提供价格对比,相似货物推荐,好货发现等功能;如软件设计为书籍阅读助手,则可以提供书籍索引,好书发现,书评系统(及相关大数据分析系统)等有关功能。

3)生活服务信息相关大数据系统:针对日常生活有关数据建立有关系统;如面向于某一区域人群美食发现与推荐系统——《济南美食小助理》,根据美团,饿了吗,微博、博客、社交短视频中的美食推荐与发现建立有关数据系统,并向用户提供美食推荐、菜系推荐、美食游等功能;如果定位为《济南市民生活帮》,则可以建立对应的出行帮助、路线规划、天气提醒、生活缴费、疫情提醒等生活中常用的功能,有关数据则可以从气象局,地图软件,数据获新闻发布机构获取。

4)基于某些专业领域的大数据应用:如果有对应数据与技术支持,也可以将大数据应用于自身(或团队成员)的专业领域上解决某一问题并形成系统,如环境专业的地质灾害数据管理与预警系统——《基于XXX的地震预警系统》;交通专业的实时路况信息与优化路线系统等等——《快乐自驾游》等。用大数据的方法,对专业数据进行收集管理,针对某一问题或应用,形成系统展示。

以上方向及方向中提到的有关细分系统可用于参考。考虑到大部分参赛选手很难在数据规模(TB,PB级)与物理算力上达到企业级软件的要求,因此本次大赛只对数据量做了最低限度的要求。但是要注意的是所有选题都需要合理的大数据存储与分析的相关技术来构建系统,不能因为参赛要求的数据规模较小而使用非大数据技术来完成。同时对数据存储,数据分析,数据可视化等整体流程选择真实有效的大数据技术进行处理,比赛采取分数值,出现实现上技术瑕疵将会按评分标准酌情处理,但如果技术实现与赛题要求差距过大,相关命题专家与评委有权利直接淘汰选手

3 数据处理流程

下图为一般大数据相关项目中数据的处理流程,可用于参考。

   
 

参赛者应当根据实际的选题来确定自身的软件开发流程,如当参赛者A的选题为《XXXX公司经营数据辅助分析系统》时,那么数据的获取可能直接来自于企业办公软件的数据库,最终呈现的软件本身除了一些数据分析的结论和数据可视化的内容(面向该企业的管理人员)外,可能还需要提供一定的实时查询功能(面向该企业内部的数据分析人员)。又假如参赛者B的作品为《基于大数据的股票辅助决策系统》时,那么需要收集的数据来源就会相对复杂一些。如股票数据获取的来源应当是直接的数据获取,或稳定的股票数据提供接口,而为了股票的辅助决策,则可能还需要获取一些企业公开数据,经营数据等,甚至还需要收集企业的相关新闻,重要的热点信息。不过好在软件本身除了需要提供大量的参考信息外,大数据只作为结果进行呈现,并不需要进行比较复杂的数据分析与数据挖掘;而作为对比,假如参赛者C的作品为《基于大数据的股票走势预测系统》,那么很明显其核心功能是为股票的走势提供预测功能,就需要在搜集大量相关数据上建立模型,就不得不用到大量数据分析,机器学习,甚至深度学习的知识。相对的,辅助决策的内容就不需要太多,为了建立模型所收集的数据也就不需要全部在平台上进行展示。

  同理,下面参赛阶段也只用于参赛者参考。

开发学习准备阶段

自选命题内容,制定需求方案、技术方案。进行自主或其他形式的学习培训,有针对性、有目标地进行大数据技能的学习准备。

学习阶段推荐使用“高寻真源大数据教学实训平台”。

原始数据准备

可使用自己熟悉的语言编写网络爬虫,也可以使用网上的开源或商业工具对互联网信息进行抓取,抓取网站可选择知名度较高的网站,抓取的数据量要足够多。具体抓取信息内容可根据最终分析内容进行选取。

此阶段要求完成计算机相关专业的就业前景分析的原始数据准备工作即可,若能保证易用性,通用性可成为加分项。例:以客户端或B/S架构等形式提供,可自由输入目标网站和目标数据,使爬虫程序可根据现实需求快速改变原始数据的内容,或者用户也可以上传自己的爬虫按照一定存储格式进行数据爬取,或直接上传数据集。

数据存储

上一步所抓取下来的数据,可存储于Apache Hadoop平台的有关存储系统中,如分布式文件系统hdfs,或者建立大数据仓库hive,分布式数据库h 或者分布式非关系型数据库数据库mongdb中,为后续的数据处理和可视化做准备,对存储的类型不做限制,也可以用其他适用于大数据的平台和容器存储。但是有关业务系统与数据系统的设计要根据规划业务范围进行划分,做到有所依据。

数据处理

数据处理手段可自主选择,推荐如spark,pyspark,hive等。

通过对原始数据半结构化数据的清洗、转换和汇总形成结构化数据后可以为后续数据分析提供直接可用的数据源。可以根据实际情况选择Hive或者其他非关系型数据库作为数据仓库建立的核心技术,队员数据仓库的建立需要遵循一定的数据仓库建设规范,可以根据实际情况对数据仓库进行改进和优化。

本阶段的项目目标是为后续数据分析提供直接可用的资源。若满足以下几点优化,可作为加分项:

大数据平台性能调优,可利用调优前后的数据对比形成分析分档,说明调优目的,调优方法。

易用性和通用性:以客户端或B/S架构等形式提供操作界面,可对目标数据进行相应的可选择处理操作,最终在制定的位置或目标存储系统中生成优质数据。

数据分析与数据建模

数据分析的技术手段可自主选择。

数据建模优先使用spark或pyspark等大数据处理框架,同时也可以搭配Python或者java中的其他工具或R语言等进行建模,注意要有合理的数据分割与模型验证。

Python中推荐搭配pyspark使用的部分类库如下:

数据处理:numpy,pandas

深度学习:Paddle,TensorFlow,PyTorch,Keras

数据可视化:Matplotlib,Seaborn,wordcloud,Echarts

超参数优化:hyperopt

等等

数据可视化

对分析结果进行可视化展示,可自主编写程序或使用开源的可视化工具来做展示。

4 系统要求

1)系统采用HadoopHive、Spark等有关大数据技术构建。

2)使用或改进常用的数据分析与挖掘方法完成数据分析功能。

3)系统完成后需提供训练数据与测试数据,以检验系统的有效性。

4)系统数据来源需真实,重要数据可进行脱敏处理,不可自行生成随机数据,数据来源的真实性需可验证,除选题特殊要求外数据量不少于100万条,当比赛作品数据低于最低要求时,参赛者需对其做出充分的必要性解释。

5 作品提交规范

1、作品应在提交时间截止之前,通过大赛评审系统进行网上提交,否则失去评审资格。

2、提交文件包括:作品名称、作品描述、作品地址、作品地址(备用)、需求分析说明书、概要设计说明书、数据库设计说明书、详细设计说明书、安装部署说明书、软件使用说明书、测试文档、源代码、源代码网盘地址&提取码、工作计划、会议纪要、工作总结、演示文档、演示视频。其中红色字体为必填项,否则失去进入初赛的资格。

3、演示视频、演示文档、源代码过大,导致在评审系统无法上传,可以将文档上传网盘并在作品地址栏输入网盘地址及提取码,若演示视频不符合评审规定,如超过五分钟或者无法在常用视频释放器中无法访问,直接淘汰。

4、其他:请提醒指导老师也在报名系统中注册,请同学们选一位指导老师。同学们在报名时一定要对自己的信息负责,报名缴费后,信息不能再修改。参赛队长的电话、QQ号在评审期间要确保畅通,如果因此联系不上,影响了评审成绩,责任自负。

6 作品上交时间

请关注大赛网站通知http://sw.sdusc.cn及QQ群通知。

7 评比方式

1、提交的材料完整、齐全、可读性好。如果所提交的文档不完整,仍可以参加评比,但要适当扣分。

2、评比首先要看程序是否能完全还原,并正常运行,即运行中出现的错误不能使程序退出、陷入死循环或造成死机。如果出现上述情况,可以重新运行,但总尝试次数不能超过三次。

3、作品展示效果占比分的20%,功能及数据分析为80%。在正常运行基础上,以功能评比为主,在功能相近的情况下,考察程序的其他特色,重点看数据分析的思维,以鼓励学生运用大数据分析技术解决实际问题。

4、综合作品、文档、数据等多方面得出最终评比结果

8 参赛注意事项

多关注大赛官方网站http://sw.sdusc.cn/及济南计算机学会官网通知:http://www.softqilu.com

多关注大赛论坛

加入本命题QQ

加入相关专业开发群

参加巡回报告会,与命题老师和往届获奖学生面对面交流

参加暑期训练营,与命题老师和其他参赛同学直接深入交流

多与往届获奖选手交流,知道一等奖应该具备什么水平,是如何炼就的

主动与指导老师交流

组建一支最有战斗力最合适的团队

与相关专业结合

多买些专业书籍看

多上网看一些高水平论文

多上网查询一些相关资料

认真审题,分析得分点

注意细节,细节决定成败

注意参赛的各个时间点和参赛的所有信息

9 参考资料

Hadoop官网http://hadoop.apache.org/

Spark官网http://spark.apache.org/

Paddle官网教程https://www.paddlepaddle.org.cn/tutorials/projectdetail/1323545

Paddle模型库https://www.paddlepaddle.org.cn/model

hyperopt中文文档导读https://blog.csdn.net/FontThrone/article/details/78880397

Copyright © 2020-2023 山东省大学生软件设计大赛 版权所有