APP下载

基于Android的高考志愿推荐App设计

2020-04-05孙彦帮贺裕王林刘欣宇

计算机时代 2020年2期

孙彦帮 贺裕 王林 刘欣宇

摘  要: 在志愿填报的过程中,很多考生无法在众多专业或院校中做出自己的选择,甚至有的考生由于缺乏对报考相关的认识导致被调剂或滑档,无法学习自己喜欢的专业,因此设计一款能够帮助考生填报志愿的App显得十分必要。基于Android平台下的高考志愿推荐App将协同过滤技术应用到志愿填报领域,通过对考生进行特征分析,为适合的考生推荐录取率较高的院校及专业。经测试表明该App准确性高、稳定性强,可以帮助考生合理地进行志愿填报。

关键词: 个性化推荐技术; Android; 志愿填报; 协同过滤技术; App

中图分类号:TP311.5          文献标识码:A    文章编号:1006-8228(2020)02-39-04

Design of recommendation App for aspiration choice of college entrance

Sun Yanbang, He Yu, Wang Lin, Liu Xinyu

(School of Computer Science and Information Engineering, Harbin Normal University, Harbin, Heilongjiang 150025, China)

Abstract: In the process of aspiration choice of application for colleges, many candidates cant make their own choices among various specialties and colleges and universities, and even some candidates cant learn their favorite specialty because of the lack of relevant knowledge. Therefore, it is necessary to design an App that can help candidates to fill in their aspiration application forms. The recommendation App for aspiration choice of college entrance applies collaborative filtering technology to the field of aspiration application, and by analyzing the characteristics of candidates, the specialties and colleges and universities suitable for candidates and with higher admission rate are recommended. The test result of the App shows that the App has high accuracy and stability, and can help candidates to fill in aspiration application forms papers reasonably.

Key words: personalized recommendation technology; Android; filling the aspiration form; collaborative filtering technology; App

0 引言

在我國,高考依然是众多学子追逐梦想、奔向成功的重要途径。高考笔试之后的志愿填报常常决定了考生将来在哪个城市扎根、未来几十年的生活质量、将来的事业发展等。随着高考招生工作的不断深入,积累了大量有价值的信息,为了解决这种信息过载现象[1],个性化推荐技术应运而生。如何利用这些有效的信息进行志愿填报是每个考生都关心的问题,利用协同过滤推荐技术来分析考生相关数据,可以有效的帮助考生选择更适合自己的专业,这也是个性化推荐中研究和应用最为广泛的技术。

1 志愿推荐系统的研究现状

近年来,夏大飞、张自力等人参与的基于商务智能的高考志愿填报指导系统[2]通过商务智能挖掘高考志愿填报的规律,帮助考生填报志愿,该系统对填报志愿涉及的多方面因素来进行指导,但没有结合考生考试成绩及往年的分数趋势进行分析预测,也没有相应的App支持,不能解决实时查询的问题。

王灵峰基于协同过滤算法设计的高考信息推荐引擎[3],将用户对分类信息的关注度转换为了用户对分类信息的评分,并构建用户评分矩阵,虽然这种做法简便,但是在一定程度上带来了不准确性。

王亚婧基于数据挖掘和协同过滤的成人高考志愿推荐系统[4],提出采用信息增益率作为属性选择标准,对信息增益率较高的属性给予较高的权值,然而当推荐个数较少时,准确率较低。由此发现,在应用协同过滤推荐算法时,需正确处理推荐准确度与推荐个数之间的关系。

2 系统设计

2.1 系统体系结构设计

本文App采用平台化结构设计,通过分层设计使系统整体逻辑更加清晰,降低了层与层之间的依赖,利于各层逻辑的复用。系统总体框架设计如图1所示。

该系统分为客户层、算法层、业务层、表现层、数据层,图1最右侧为各个层次用到的主要技术,各层次详细介绍如下。

⑴ 客户层:考生注册成功后,通过App访问表现层来进行交互。

Two Function:

Student = ;Key = Student.Key;Similarity = 0;

For 1:Student.Value.Length

Similarity += Math.Pow((aimStudent.Value[i]- Student.Value[i])*w[i],2);

End

Similarity = Math.Sqrt(Similarity);return ;

录取概率计算代码:

One Function:

Key = record.WishId;Value = record. WishProperties;return ;

Two Function:

Wish = ;Key = Wish.Key;Probability = 0;

If aimUser.rank < Wish.Value.MinRank

Probability = 1;

Else If aimUser.rank > Wish.Value.MaxRank

Probability = 0;

Else Probability = (1 – (aimUser.rank - Wish.Value.MinRank)/

(Wish.Value.MaxRank - Wish.Value.MinRank))*L;

return ;

3.6 算法驗证

在数据库中选取1600条考生数据,将考生的推荐结果与实际录取院校进行对比,若推荐集院校中包含录取院校则认为推荐成功[6]。实验结果如图2所示。

分析图2,得出以下结论:

高分段推荐效果好,这说明高分段考生对院校的选择更为明确,不存在“信息过载”问题;

高分段与低分段准确率差异大,这说明在算法设计过程中需要重点考虑低分段考生,要结合院校招生政策和其他因素进行分析,以提高推荐准确率。

4 结论

本文设计与实现了基于Android平台下结合协同过滤推荐算法的高考志愿推荐App,运行效果如图3所示,可以推荐适合考生且录取率较高的院校及专业。针对目前存在的院校信息更新频繁带来的数据利用率低、实时性差等问题,本文主要依托Spark数据处理技术,详细设计实现了基于协同过滤推荐算法的推荐模块。相比于其他推荐系统,提高了推荐实时准确性,增强了系统的稳定性。系统也存在许多不足,比如在不同分数段的推荐效果存在差异,针对此现象,应考虑在不同分数段采取不同的推荐方法。另外院校招生计划也会对推荐效果产生影响,我们需要结合招生政策和用户其他的属性数据来构建用户特征矩阵,这也将是后期的研究内容。

参考文献(References):

[1] 刘春霞,武玲梅,谢小红.推荐系统评估研究综述[J].现代计算机(专业版),2018.24:11-15,20

[2] 肖灿,张自力,何小明,夏大飞.基于商务智能的高考志愿填报指导系统设计与实现[J].西南师范大学学报(自然科学版),2012.37(5):89-97

[3] 王灵峰.高考信息推荐引擎的设计与实现[D].暨南大学,2011.

[4] 王亚婧.基于数据挖掘和协同过滤的成人高考志愿推荐系统研究[D].北京林业大学,2011.

[5] 顾健. 基于大数据的高考志愿数据分析关键技术研究[D].长春理工大学,2017.

[6] 徐兰静,李珊,严钊.基于协同过滤的高考志愿推荐系统[J].计算机系统应用,2015.24(7):185-189