APP下载

基于大数据分析的“浙江新高考”志愿填报辅助推荐平台研究

2019-12-23黄戴琴周强虞飞华

电脑知识与技术 2019年31期
关键词:推荐系统大数据分析

黄戴琴 周强 虞飞华

摘要:浙江新高考改革为“七选三”的模式后,高考志愿填报多了一个科目限选要求,考生志愿填报成为一项复杂的数据工程。本研究基于高校基本信息数据、当年招生计划数据、历年投档数据、考生个人数据,通过设计推荐算法,基于Android平台开发了高考志愿填报辅助系统,能够快速精确地推荐一组符合考生填报意愿的当年招生计划数据列表。

关键词:大数据分析;用户协同过滤;高考志愿填报;推荐系统

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2019)31-0075-04

高考是目前我国教育体制中最重要的考试之一。恢复高考以来,很多考生通过高考进入高校学习,改变了自己的命运,也有很多人考生因为志愿填报的失误,错失了心目中想要踏入的大学,又或是从事完全不适合自己的行业,而遗憾终身。高考志愿填报关乎一个人的命运,如何在上千所学校,上万个专业中挑选出符合考生自己分数以及兴趣的高校和专业,是困扰广大考生和家长的重要问题。

浙江省新高考改革后,脱离传统的单调文理分科模式,采用新型“7选3模式”,即除去语文、数学和外语三门必考课程之外,还要在传统的理科和文科科目中选3门作为高考自选科目,其中包括历史、政治、地理、物理、化学、生物和技术(含通用技术和信息技术)。浙江省新高考志愿填报实行平行专业志愿填报机制,以一所学校的一个专业为一个志愿,最多填报80个志愿。

“7选3模式”对于考生而言多了一份分数自信和兴趣抉择,同时也限制了报考专业方向。在这个模式下,部分专业对选考科目及分数有明确要求。这就成为考生报考志愿的一大难点。传统的志愿抉择阶段主要盲目地借助于大量的书籍和网络上的资料,各种各样的资料让人眼花缭乱,根本无法从这么多良莠不齐的信息中找到真正有价值的,浪费大量时间在查找资料上,往往却徒劳无功,导致对有效信息掌握不足或自身定位不清晰。李胜在《传统高考志愿填报的反思及现实展望》中提到,多数家长和教师过多的关注高校的“名声”,而忽略了与学生自身兴趣和能力匹配的专业嘲,这种错误的想法也影响了大多数考生对未来发展和职业规划的不重视甚至迷茫和被动。随着信息时代的和教育信息化的飞速发展,大可以借助大数据和互联网的力量,在众多院校和专业中找到适合自己的方向。

目前我国考志愿填报平台相关研究较多。中国教育在线、高考派、第一高考网等是国内高考志愿填报平台的典型案例。上述主流的高考志愿填报服务平台,主要提供院校信息查询功能,各院校的历年招生分数查询为主要功能,并且虽然有根据考生分数进行志愿智能推荐,但没有综合考虑“浙江省新高考7选3限制”、考生填报意愿的院校地域信息、院校声誉度、是否双一流、历年招生信息、当年招生计划、大学排行榜信息、学科专业排名信息、就业信息等数据。显然这些信息,对考生来说是志愿填报的重要参考信息,并且部分信息每年都是动态变化的,如历年招生人数和当年招生计划人数的增减,就会对院校专业的招生分数产生一定的波动和不稳定性,上述平台且缺乏灵活性。

基于分析国内主流高考志愿填报平台的不足,本研究提出一个“浙江新高考”志愿填报方案智能推荐平台,有目的指向浙江省新高考政策,旨在解决考生志愿填报不明确问题,采集新高考志愿填报涉及的数据,结合考生填报意愿和高考成绩,通过大数据计算和基于用户的协同过滤算法,给考生智能推荐的一个或多个志愿填报候选方案。

1推荐算法设计

协同过滤推荐算法是一个虽然传统古老但依然应用广泛的推荐算法,主要用于预测和推荐,基于对用户的偏好对用户进行群组划分并产生相似推荐。协同过滤技术分为四类:基于用户的协同过滤嘲、基于项目的协同过滤、基于混合的协同过滤、基于模型的协同过滤。

基于用户的协同过滤推荐的原理就是“物以类聚,人以群分”,将目标用户的喜好或标签作为一种反馈,与其他有相似喜好的用户组成一个集合,这种用户被称作目标用户的“邻居”。最后将目标用户的“邻居”的其他目标用户没接触过的喜好推荐给目标用户,形成目标用户的“新喜好”。

基于项目的协同过滤算法与之类似,是以项目或物品作为目标,通过用户的评价,比较不同项目与项目之间的评价距离来产生预测评价,生成推荐集合。基于混合的协同过滤算法顾名思义就是把“用户”和“项目”混合在一起形成的推荐算法。基于模型的协同过滤算法将用户和项目之间的关系作为研究对象,设计一个合适的模型,通过过程优化来达到推荐效果。

通过综合比较上述四种过滤方法,本文针对浙江新高考志愿填报的特点,融合大数据技术,采用了基于用户的协同过滤技术,通过对考生的各种属性和偏好,给予有效的高考志愿填报推荐。

建立一个基于用户的协同过滤系统只需要三步:第一步,绘制用户画像矩阵;第二步,搜索最近邻;第三步,生成推荐结果。

1.1用户画像矩阵建立

在大环境的影响下,高考不仅是考生个人自己的事,更成为一个家庭的大事。根据相关文献和调研发现,高考志愿填报的影响因素,不仅包括考生的高考分数,还包括考生的个人兴趣、发展前景和家庭情况等,谷宝柱在《高考志愿选择行为的影响因素研究》中利用国内外文献和问卷调查相结合,得出结论:影响考生高考志愿填报的主要因素有个人因素、家庭因素、高校因素、国家社会因素和经济因素五个方面。综合分析影响考生填报志愿的因素和考生的个人意愿得出在高考志愿填报中,影响志愿填报的因素主要有:学校类型(如985、211、一流大学、普通一本、普通二本、普通三本等),学校地区、考生分数、历年录取分数线等。根据这些影响因素和考生自身意愿确定了用户偏好信息的方向和内容,绘制用户画像矩阵。

用戶画像矩阵内容主要来源于用户自己完善的信息内容,以考生的基本属性数据、学生的总分、三门主课分数、7选3科目及其对应分数为基础,通过要求所推荐的学校是否要是985院校、所推荐的学校是否要是211院校以及对城市和地区的完成偏好设置,共同作为目标用户的喜好和标签。

用户画像矩阵建立后,就将其作为用户属性,用于接下来的数据分析。

1.2最近邻搜索

1.2.1用户数据标准化

为了方便数据处理,根据考生输人的考生成绩信息和填报意向信息,在用户属性确定后,对数据进行数据标准化处理,本文采用rain-max标准化对数据进行标准化处理,如公示l所示:

其中d表示考生的原始数据,rain表示属性的最小值,min表示属性的最大值。

1.2.2计算用户邻近性

最近邻搜索就是以考生属性为基础,计算考生与考生偏好之间的相似度。在標准化的考生属性数据的基础上,采用皮尔逊相关系数进行最近邻搜索,计算考生之间的距离,以此来表示考生间的相似邻近度,如公示2所示:

1.3推荐结果生成

推荐结果是基于邻近用户的录取高校和专业产生的,首先要确定邻居用户,通过相似邻近度的计算和搜索,将近邻度为0的用户作为目标用户的最近邻用户,作为邻居用户并将其对应成功录取的院校加入推荐集合中。

由于每年的试卷难度不同等因素,分数作为参考量的价值并不稳定,所以根据用户的排名作为主要参考更为严格精准。根据目标用户的所处分数排名段,选取距离最小的x个用户作为另据用户,并将x个用户所录取的高校按人数进行降序排列处理,并依次加入推荐集合中,再根据考生的偏好设置进行逐一甄别,甄别后的推荐内容放入新的推荐集合,直到新的推荐集合中的个数到达目标数,即50条,形成最终的推荐集合。

2平台功能设计

经过向高考考生和家长发放问卷调研,结合基于用户协同过滤算法,本文设计的浙江新高考志愿填报平台主要分为an-droid客户端和服务端两个程序,包含以下几个模块,具体如图1所示。

2.1android客户端功能

1)用户注册:用于考生申请合法身份,建立考生的个人信息档案并保存考生的基本社会属性,作为目标用户。

2)用户登录:验证考生身份的合法性,保障考生的信息安全。

3)高考成绩填报:保存考生的语文、数学和外语三门公共课分数、7选3科目及其对应分数、学生总分以及排序位序信息作为必须数据,应用于数据的协同过滤算法。

4)意向信息填报:主要收集考生对高校层次、地理位置偏好以及专业的意向信息,作为主要筛选和推荐依据。

5)高校资讯和信息展示:包含展示各个高校的基本信息、专业情况和历年招生情况,为考生更好提供对高校了解的环境和途径。也会向用户提供呈现一些与高考相关信息的文章,用户可以浏览资讯以了解一些填报志愿的相关政策和由各考试院推送的一些有用的文章。

2.2服务端功能

1)数据采集:首先选取各高校官方招生网站、省教育考试院、第三方评价机构和教育部网站为目标URLs,也就是指定入口。将这些URL从网络上下载下来存放进待抓取的容器中,把待抓取的容器中的URL提取出来,并进行访问,解析后的数据储存到服务器中。将解析完成的URL重新放回容器中,在容器中进行筛选后循环之前的操作。

利用网络爬虫技术从各高校网站和省教育考试院网站收集获取各高校基本信息数据、当年专业招生计划数据、历年专业招生计划数据、历年专业录取分数数据和,从第三方评价机构中收集高校综合排名数据、学科专业排名数据和就业质量排名数据,从教育部网站获取双一流建设大学和双一流学科建设大学数据,数据来源如图2所示。

2)数据存储:一个安全可靠的系统必然离不开数据存储。系统将通过爬虫技术抓取到的数据以Excel表格的格式保存到本地服务器,将Excel文件通过接口API上传到数据库服务器,对文件中的数据进行处理,处理完成后成功连接到数据库并将数据插入到数据库对应的数据表中。

3)数据计算:主要对高校、招生专业的排名情况、历年招生计划、本年招生信息和历年录取情况、考生成绩、考生的意向数据进行大数据计算。

4)志愿推荐:运用基于用户协同过滤算法,先根据用户属性建立用户画像矩阵,然后利用公示(1)对数据进行标准化。在经过标准化后的数据基础上,利用公示(2)计算考生与考生之间的距离,最后生成推荐集,即生成符合高生意愿的高校和专业志愿推荐列表。

3系统测试

设计测试用例,根据测试用例进行系统测试,首先填写考生的名次、批次,语文、数学和外语三门公共课成绩和7选3的科目和对应分数,自动生成总成绩,如图3所示。

然后,考生填志愿填报意向意愿,包括排除的省、直辖市和自治区,学校办学性质和类型,是否要求一流大学建设和是否要求一流学科建设,是否要求985、211和重点大学,如图4所示。

根据图3和图4的数据,高考志愿填报辅助推荐平台,经过服务端计算,最后将推荐结果列表推送到android客户端,效果如图5所示:

4总结

针对浙江省新高考的特点,本文设计的浙江新高考志愿填报推荐平台,结合了网络爬虫技术、大数据处理技术和基于用户协同过滤算法,通过采集大量高考生填报相关的数据和各个高校招生情况和信息,设计用户协同过滤算法,设计了android客户端和服务端。测试结果表明,该平台可以为考生推荐符合考生成绩区间和考生感兴趣的学校和专业列表,能够大大减少考生在海量数据中寻找高校和专业的时间,相对手工填报明显提高了精确度,解决了由于信息不足或者对自身定位有误等问题,更好地填补了目前高考推荐系统对于浙江省考生志愿填报推荐的空缺,满足广大浙江考生的需求,具有较好的应用价值。虽然本平台已经有了较好的推荐效果,但是在用户协同过滤算法中,还需要通过数据训练集的不断测试,完善协同过滤算法以提高推荐精确度,特别在数据稀疏的情况,需要进一步的研究和改进。

猜你喜欢

推荐系统大数据分析
基于用户偏好的信任网络随机游走推荐模型
基于大数据分析的电力通信设备检修影响业务自动分析平台研究与应用
传媒变局中的人口电视栏目困境与创新