摘要:在当前高校毕业生就业形势严峻的情况下,推荐系统可以作为毕业生与企业需求之间的桥梁,实现个性化推荐。本文重点介绍了协同过滤推荐算法在高校毕业生推荐系统中的应用,采用基于内容的推荐算法计算相似度,并使用基于用户的协同过滤算法生成推荐结果,这样可以解决高校毕业生随意就业和招聘企业盲目招聘等问题,提高推荐结果的准确度,有助于缓解这种情况。
关键词:高校畢业生推荐系统;协同过滤算法;个性化推荐;相似度计算
引言
根据最新的数据显示,预计2023年全国普通高校毕业生人数将达到1158万人,较2013年的699万人增加了459万人,增幅达到65.7%[1]。每年毕业季都需要大量就业岗位来应对庞大的毕业生数量,因此毕业生的就业形势给社会带来了更大的挑战。同时,企业对人才质量的要求不断提高,导致就业门槛不断提高。随着人工智能技术的不断应用,传统市场结构体系受到了巨大的冲击。为了适应这种变化,各企业都在积极调整内部人才结构组成,这导致大量技术熟练人员重新进入人才市场,从而加大了应届毕业生的就业阻力[2]。
各高校都成立了学生就业指导中心,主动为学生提供求职指导,积极收集和发布招聘信息为学生提供及时可靠的就业信息。然而,随着科技进步,信息更新速度不断加快,目前范围性的信息推荐方式已经不能满足学生的求职需求。因此,制定个性化的职业推荐方案是目前毕业生就业问题研究的主要方向。本文的研究重点是探讨协同过滤推荐算法在高校毕业生推荐系统中的应用,设计并实现了一套个性化推荐系统,旨在提高推荐结果的准确性,为毕业生就业提供有力的支持。
1. 协同过滤算法概述
推荐算法是一种利用用户的历史行为、偏好、兴趣等信息进行分析,从而向用户推荐可能感兴趣的物品或服务的方法。推荐算法已广泛应用于电商、社交媒体、新闻报道、音乐电影等领域[3]。常见的推荐算法包括:基于内容的推荐算法、协同过滤推荐算法、基于矩阵分解的推荐算法、深度学习推荐算法。在选择推荐算法时,需要考虑实际应用场景和数据特征。协同过滤推荐算法是一种基于用户历史行为数据的推荐算法,其主要思想是利用用户之间的相似性或物品之间的相似性来进行推荐[4]。
2. 基于协同过滤算法实现高校毕业生推荐系统研究
2.1 高校毕业生推荐算法的设计思路
为了帮助高校毕业生更好地实现就业,我们需要一种高效准确的推荐算法,将学生的个人特点和企业的需求进行有机结合,实现最佳匹配。基于此,我们设计了一种基于协同过滤算法的高校毕业生推荐系统,将学生视为用户,将企业视为项目,通过计算学生之间的相似度和学生对企业的关注度,找到最适合学生的就业岗位,为他们提供个性化的推荐服务。
在该系统中,首先建立了学生数据库和企业数据库,收集应届毕业生和往届毕业生的就业属性信息,包括学历、专业、外语水平、计算机技能、获奖情况等;然后,通过比较应届毕业生和往届毕业生之间的各种主要属性特征,计算他们之间的相似度,以找到与应届毕业生兴趣度相似的往届毕业生。同时,需要采集学生登录系统产生的浏览行为数据和浏览内容数据,并对其进行处理,以计算学生对企业的关注度(评价值)。
根据所有学生对企业的关注程度,发现与应届毕业生对企业兴趣度相似的往届毕业生中最相邻的学生,并根据该相邻的往届毕业生的签约情况进行相关企业的推荐。最后,将学生相似度和企业关注度结果相结合,预测应届毕业生对企业的评价值,取排名靠前的企业按先后顺序推荐给应届毕业生,以完成毕业生推荐就业功能。
2.2 学生属性特征相似度计算
2.2.1 收集数据
为了实现高校毕业生推荐系统,首先需要收集大量的学生和企业数据,以便进行算法设计和优化。在本研究中,我们选取了10个具有代表性的影响因素来衡量学生的综合能力,包括专业、学历、外语水平、计算机技能、获奖情况、在校成绩、政治面貌、学生干部经历、性别和生源地。这些指标包括定性和定量指标,是企业在求职过程中会关注的硬性条件,具有重要的参考价值。
在数据的收集过程中,首先建立了学生数据库和企业数据库。对于学生的个人信息,通过学校的学籍管理系统和学生运营平台进行数据的收集和整合。这些数据包括应届毕业生和往届毕业生的相关信息,为本研究提供了丰富的数据资源。对于企业的信息,可以从学校内部的就业发布网站上导入数据库。为了让数据库更加全面,采用了网络爬虫技术,从各大招聘网站和企业官网上收集和补充相关数据。这些数据包括企业的基本信息、职位信息,以及企业对于求职者的要求等内容。
2.2.2 数据预处理
为了建立准确的用户画像和企业数据库,需要对收集到的原始数据进行处理和清洗。数据预处理是数据挖掘过程中非常重要的一步,可以帮助我们识别并消除数据中的异常值、缺失值、重复值和错误值等,从而提高数据的质量和可用性。在本研究中,我们采用了以下技术来进行数据预处理。
(1)数据清洗。数据清洗是数据预处理的一项重要工作,可以帮助发现和消除数据中的噪声和异常值,使数据更加干净和可靠。在本研究中,采用了数据可视化技术和统计分析技术,对数据进行筛查和清理,消除了数据中的噪声和异常值。
(2)数据转换。数据转换是将原始数据转换为可分析和可用的格式的过程,可以帮助识别数据中的模式和趋势,为数据建模和分析提供基础。在本研究中,采用了数据标准化、数据离散化、数据归一化、数据二值化等技术,将原始数据转换为可以用于分析的格式。
(3)数据降维。数据降维是将高维数据转换为低维数据的过程,可以帮助简化数据分析过程,提高计算效率和准确性。本文采用主成分分析和因子分析等技术,将高维数据进行降维处理,提高了数据分析的效率和准确性。
举例来说,学生的干部经历或实习经历包含的信息维度较多,可能存在一定的相关性和重复信息,导致数据维度过高,不利于后续的数据分析和建模。因此,采用主成分分析(PCA)或因子分析等技术对实习经历数据进行降维处理。具体方法是将这些数据转换为一个矩阵,其中每一行代表一个毕业生的实习经历,每一列代表一个实习经历的特征(如实习公司、实习岗位、实习时长等)。对数据进行标准化处理,使得每个特征的均值为0,方差为1。进行主成分分析或因子分析,得到新的主成分或因子,代表了原始数据中的主要信息和关键因素。一般来说,可以根据主成分的贡献率,选取其中的前几个主成分作为新的特征,代替原始的多个特征,从而实现数据降维和特征提取的目的。
通过以上技术的应用,我们成功地对原始数据进行了预处理和清洗,建立了全面的用户画像和企业数据库,这为后续的数据分析和算法设计提供了坚实的基础。这一步骤是非常关键的,因为只有经过了有效的数据预处理,才能确保在后续的数据分析和模型构建过程中得到的结果是准确和可靠的。
2.2.3 计算学生的相似度
为了实现高校毕业生推荐功能,需要计算出系统中任意两名毕业生之间的相似度,以实现最佳匹配。对往届毕业生,还需要考虑毕业时间对计算结果的影响。在本研究中,我们选择了余弦相似度算法,通过比较应届毕业生和往届毕业生之间的各种主要属性特征,计算他们之间的相似度。
2.2.4 计算企业的相似度
就业是一个双向选择的过程,因此企业自身的属性也应当纳入算法考量中。与学生模块类似,首先要在企业数据库的基础上建立企业属性评分矩阵,将企业性质、规模、招聘岗位、行业领域等指标进行数据建模并归一化处理。在本研究中,我们使用欧几里得距离公式计算出企业之间的相似度。
2.2.5 往届毕业生聚类分析
为了降低后续数据计算的复杂性,提升运算速度,我们在本研究中采用了K-Means聚类算法对历年学生的特征数据进行分类,将历年学生划分为多个群体。具体流程如下:
(1)初始化聚类中心
从历年毕业学生中选择K个学生作为初始状态下的各类聚类中心。选择标准是基于开设专业数量进行筛选。
(2)计算相似度
计算其余学生与这K个学生的相似性,并将其余学生分别聚集到以这K个学生为中心的聚类中,以完成对不同类别的划分。
(3)更新聚类中心
根据各专业学生的素质重新选择K个学生作为新的聚类中心。选择标准是基于专业成绩、职业素养、综合评价的平均值进行分组,然后再次计算其余学生与这K个学生的相似性,并按照最近原则将其余学生分别聚集到以这K个学生为中心的聚类中。
(4)重复以上步骤
依据聚类原则,多次迭代上述步骤,直到达到收敛。最后,对分类后的数据进行聚类中心的计算,完成聚类,并对每类中的数据进行标记,同时标记每类的聚类中心。
为了提升计算效率,在实际应用中,可以离线处理往届学生分类。这样在应届学生输入个人特征后,只需计算学生与每个分类中心的差异度,即可选择差异度最小的类别,从而避免在整个特征矩阵中在线计算邻近相似性。
2.3 毕业生对企业关注度(评价值)的计算
不同毕业生对企业的偏好不同,关注程度也不同,将毕业生对企业的关注度纳入推荐系统中可以实现更精准的个性化推荐。推荐系统可以根据毕业生的关注度,为其推荐更符合其兴趣和喜好的就业机会,提高其就业成功率。
为了量化毕业生对企业的兴趣程度,需要创建一个评价矩阵,该矩阵需要综合考虑多种因素,如学生对企业的认知水平、企业的声誉和口碑、企业的招聘需求等。在本研究中,我们通过以下步骤构建了学生对企业的评价矩阵。
2.3.1 数据的收集和处理
通过前端技术嵌入相关的数据采集代码,通过监控学生的行为事件(如点击、滚动、鼠标悬停等),捕捉学生在系统中的行为数据和浏览内容等信息,并将其传输到后台服务器进行储存和处理。对相关行为数据和浏览内容等信息进行去重、筛选和分类等处理,以识别出访问频繁、停留时间长的相关企业。将这些企业按照降序排列,得到应届毕业生感兴趣的企业清单。
2.3.2 评价标准的设定
对于学生感兴趣的企业,按照1~5的评价标准进行评价。其中,往届毕业生的签约企业得到5分,其余的则根据兴趣程度分别得到1分到4分,对不感兴趣的企业计为0分。
2.3.3 评价矩阵的构建
将学生感兴趣的企业及其对应的评价记录在一个矩阵中,其中行代表学生,列代表企业,评价分数代表学生对企业的兴趣程度。
在建立了应届毕业生-企业评分矩阵后,再次通过余弦相似度算法来计算学生对企业关注度之间的相似度。
2.4 协同过滤算法的实现
通过上述过程,得到了学生之间的就业特征相似度、企业之间的相似度和学生对企业评价的相似度计算方法。接下来的推荐算法实现过程如下:
2.4.1 选择邻居
在这一步中,需要根据相似度矩阵选择最相似的K个学生和M个企业作为邻居。通过试验分析,我们在本研究中取值K=4,M=3。
2.4.2 预测评分
对于每个学生S和每个企业E,我们可以通过计算S与其邻居对E的评价加权平均值来预测S对E的评价。对于学生S和企业E,假设S的邻居列表为{N1,N2,...,NK},其中Ni表示S的第i个邻居,那么S对E的评价预测值R(S,E)可以计算如下:
其中,相似度sim(S,Ni)表示學生S与邻居Ni之间的相似度,评价值G(Ni,E)表示邻居Ni对企业E的评价值。
2.4.3 推荐排序
根据预测评分的大小,选取前M个企业作为推荐结果。
通过协同过滤算法的应用,成功地将学生之间的就业特征相似度和学生对企业评价的相似度结合起来,实现了最佳匹配和预测评价的生成,从而为学生提供了更加准确和个性化的就业推荐服务。
结论
研究协同过滤算法在高校毕业生就业推荐系统中的应用,可以有效解决毕业生就业和企业招聘的盲目性等问题。该系统考虑了毕业生的就业兴趣,通过分析毕业生在系统中的浏览行为和内容,将结果融入相似度计算中,确保推荐结果的合理性和可预测性。然而,在实现高校毕业生推荐系统的协同过滤算法过程中,仍然需要不断深入研究,以提高模型的精度和实用性。系统的设计和实现并不足以完全具备准确性,还需要经过后期的测试和不断应用,进而不断改进和提升系统的性能。
参考文献:
[1]2023届高校毕业生预计达1158万人[EB/OL].(2022-11-18)[2023-7-14].http://www.moe.gov.cn/jyb_xwfb/s5147/202211/t20221118_995344.html.
[2]薛妍.高校学生就业推荐算法研究及应用[D].西安:西北大学,2019.
[3]李鹏飞.基于频繁项集的个性化推荐的研究[D].北京:北京邮电大学,2017.
[4]彭文惠,吴小刚.基于Web的推荐系统数据挖掘算法分析[J].信息与电脑(理论版),2019,(13):44-47.
作者简介:尤亮,讲师,硕士研究生,研究方向:计算机软件工程。
基金项目:集美大学诚毅学院青年科研基金项目——高校毕业生就业推荐系统的研发(编号:CK19060)。