基于互信息最大化的多视图协作学习算法在智能岗位推荐上的应用
作者: 戈弋 张磊
摘要:为了解决在线求职平台中大量求职数据和企业招聘数据之间的精准匹配问题,文章设计了一种基于互信息最大化的多视角协作学习算法,以特定的预测分析和分值计算模型为基础,提前对人岗的基础信息做基础训练,对冷信息做预测模型,对热数据做取向加权计算,以解决就业信息中人岗匹配精准度和速度性能的相悖性问题,并将算法成果应用到公共服务云平台的智能岗位推荐工作场景中。
关键词:互信息最大化;人岗匹配
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2022)16-0074-03
1概述
随着社会经济和计算机技术的不断发展,运用数字技术实现线上求职的平台越来越受到求职者的青睐。大量的求职数据和企业发布的招聘数据的不断增长,使得如何为求职者进行职位匹配成为求职平台亟须解决的一项重要任务。如何将企业的招聘需求能够自动匹配到合适的简历,通常的做法是将该任务转换为监督文本匹配问题。在用户提交的简历中能够被标注出的信息监测点和个人数据充分且完备时,监督文本匹配的学习算法是能够实现相应的人岗匹配功能。然而,由于很多的招聘求职平台对求职人提交的简历或者个人信息未做严格的审核和监测,导致求职人员提交的信息和招聘人员与平台的交互信息繁杂,导致数据的不准确和信息缺失(即噪声数据),影响了求职匹配算法在人岗匹配方面所能够发挥的性能。
许多研究人员都对解决上述问题提出了各自的解决思路,本文从不同的角度设计了基于多视点协作学习算法的多维预测分数计算方法,在求职平台的简历匹配功能模块中发挥了重要作用。本文提出的多维预测分数计算方法中,将计算模型分为两大类:一类是根据文本数据集构建的匹配模型,另一类是根据关系数据集构建的匹配模型,这两部分捕获并增强了两种不同观点的语义兼容性。为了解决稀疏和噪声数据带来的影响,本研究提出了两种不同的方法来组合这两个组件,其目的是在原始数据集的基础上提高人岗匹配算法的精准度。
2 国内外研究现状
许多国内的研究人员在求职平台的智能工作推荐领域进行了必要的研究。在岗位推荐中,Zhang等人[1]集中研究了基于客户端的协同筛选和基于项目的协同过滤计算的某些场景。戴卫东等[2]根据BP网络构建了求职岗位匹配评估模型,并进行了二次实验验证,检验了BP网络中功能完备的自联想、自变异和自学习能力,实验成功地评估了大型企业招聘和技术人员求职的职业匹配。最近,一些大型互联网招聘组织提出的工作参考管理部门对招聘调查给出了另一种观点。例如,在L公司的大型求职推荐系统中,Zhang等人[3]提出了一个综合直接混合模型(GLMix),这是一个在客户或风险企业层面更为复杂的模型,在该框架中,就业申请量将增加20%~40%。徐等人[4]提出了一个基于职业变动网络的能力圈揭示模型,以帮助企业识别足够的符合本企业需求的求职人员,为求职者提供求职岗位建议,并追踪合适的职位。Yu等人[5]从不同的在线社交软件中收集与业务相关的信息,通过跨组织的网络发现跳槽人员与企业之间的关系,并展示人才的流动与国家和企业政策制度之间的关系趋势。Wang等人[6]利用具有职业特征因素的信息预测员工流动。考虑到应聘者的语义特征,张毅等人[7]改进了职业搜索数据的内外语义处理,针对求职者提出了一种更精确的语义匹配的创新算法。利用自然语言处理创新,Doc2vec策略被用来完全挖掘长文本中包含的语义数据,以实现求职人员和招聘岗位之间的数据精确匹配。
国外研究人员同样对岗位推荐和人岗匹配保持着极高的研究兴趣。专家们目前更倾向于使用定量的方法处理招聘情况调查,因为企业在招聘时需要求职者的大量信息[5]。也许主要的问题是专注于能力和工作原则之间的匹配水平,通常被称为人员与工作匹配[8]。Malinowski等人[9]利用求职人员和职位的文件数据,在工作匹配的早期检查中,构建了一个互惠工作建议框架,以追踪求职人员和职位之间的合理匹配。根据提议框架的思想,Lee等人根据基本的工作倾向和兴趣提出了一个任务候选工作建议框架[10]。Huang[11]通过将语义数据从卷积层中提取出来,做出了最后的求职岗位预测。为了预测匹配情况,Wang[12]建议将个人职位匹配问题作为一项分类任务,并将简历作为分类任务中的重要信息来源。他们提出了一种学习联合表示的策略,该策略利用两个卷积神经网络(CNN)对简历和职位数据进行自由编码,并计算出余弦可比性作为匹配分数。Yan[13]利用互联网日志,通过记忆网络将求职人员和招聘人员的人才需求整合到他们的研究中。He[14]最近提出了一个卷积神经网络,用于协同过滤、学习比较、推荐求职人员和招聘平台的植入向量后的推荐结果。事实上,智能工作推荐已经从多个角度得到了广泛探索,包括以工作为导向的能力评估、求职者匹配和工作建议,目前已经成为企业招聘平台的一项基本功能。
3 互信息最大化多视角协作学习算法的计算过程
3.1 问题定义
假设有一组岗位:[Γ={j1,j2,…,jn}],一组简历[R={r1,r2,…,rm}],其中[n]代表的是求职平台上发布的招聘岗位总数,[m]代表的是求职平台上求职人提交的简历总数,招聘岗位需求和求职简历中求职人的技能都以文本数据的形式展现。本文还设定一个观察(训练)匹配集[Y={<j,r,yj,r>|j∈Γ,r∈R}],其中[yj,r]是一个Flag标识,它以二进制的形式表示获得的工作和发布的个人简历之间的匹配结果。基于[yj,r]这个标识,本文根据匹配集[Y]学习预测函数[f(j',r')],以便它能够准确估计未知(岗位-简历)匹配对[f(j',r')]的匹配度。实际上,持续匹配简历的直观信息通常非常少,用于人岗匹配算法学习的数据也有可能包含很多不符合要求的噪声数据。在以前的研究中,研究人员的训练数据主要选择人岗匹配成功的文本信息,如贝叶斯网络分类器等数据挖掘算法会首先筛选出人岗匹配成功的数据集,再根据匹配成功的数据集进行数据训练。但是这种做法得出的人岗匹配模型在数据质量不高的情况下,执行结果达不到理想的效果。本文提出了一个多视角协同网络来解决这些问题,根据不同的视图描绘岗位匹配的模式,并利用它们相应的优势进一步开发具有巨大改进的训练实例。
3.2 算法设计
本节介绍岗位匹配的设计策略。从一个角度来看,求职人员的文本档案中描述了其求职倾向和个人简历。首先设计了一个文本匹配模型,该模型运用渐进式的文本编码器,获取个人简历和招聘信息中的文本语义。然后,以招聘信息和个人简历为基础,构建“岗位—简历”关系图,找出他们之间的潜在相关性。将人岗匹配任务转化为岗位与简历之间的关联性预测,利用“岗位—简历”神经网络关系图建立一个基于关系的匹配模型。如前所述,这两种模式各有优势,本文进一步将它们协调成一个多视角的协同学习网络。
对于基于文本的匹配策略,寻找合适的方法处理招聘信息和简历信息,通过语义分析找出两类信息之间的相似关联关系,构建匹配模型。实现这种基于文本匹配策略的关键是如何构建应聘者获取到的工作和当初其投递的简历文件之间联系的方法。
1)基于Bert的句子编码器
本文模型的主体层是一个由标准BERT模型执行的句子编码器,它是一个多层双向转换器。给定一个招聘需求或者个人求职简历的一段文本语句,文本语句的开头会嵌入一个独特的CLS印记。对于文本语句中的每个令牌,本文将两种嵌入式标记视为输入,其中令牌植入解决了每个令牌的含义,令牌的安装位置表示的是每个令牌在消息排列中的位置。设定一个单独的信息向量,在该信息向量中保存这两种嵌入式标记,并由BERT编码器对该信息向量进行处理,以习得的CLS符号描述为句子的描述。
2)分级变压器编码器
归档编码器是根据BERT的句子编码器创建的。给定一个招聘信息或个人求职简历,它将插入句子作为输入信息,并生成整个档案描述。通过采用分级式设计,编码器可以显示非常长的报告,并保持语义上的条件限制。文档编码器的更新方案如下:对于基于消息的匹配策略,跟踪处理功能消息和恢复消息的适当方法,然后根据语义相似性构建匹配模型。
[h(l)r=LN(h(l-1)r+MHAtt(h(l-1)r))] (1)
[h(l)j=LN(h(l-1)j+MHAtt(h(l-1)j))] (2)
[h(l)r=LN(h(l-1)r+FFN(h(l)r))] (3)
[h(l)j=LN(h(l-1)j+FFN(h(l)j))] (4)
式中,[j]为工作文档,[r]为简历文档,[h(l)r]和[h(l)j]为第[i]层输入简历和工作向量,[LN]为层归一化运算,MHAtt为多头注意运算。设[L]表示变压器网络的层数。最后的输出层是sigmoid分类器,定义为:
[yj,r=σ(W1[h(L)j;h(L)r]+b1)] (5)
公式(5)中[h(L)j]和[h(L)r]是分别表示在最后一层(即第L层)的工作文档[j]和简历文档[r],[W1]是一个参数矩阵转换,表示连接岗位-简历文档间的转移系数, [b1]是一个偏移量,[yj,r∈(0,1)]表明工作文档[j]和简历文档[r]之间的匹配程度。
4 多维人岗匹配算法的算法设计
本文通过两种整合策略,设计了一个多维人岗匹配算法。首先,共享学习到的信息或参数,以增强每个组件的原始表示。其次,对于平台中存在的噪声数据或者负样本,如何减少它们对模型训练的影响是需要重点关注的问题。在很多的机器学习算法中,为了减少噪声影响,采用多样本联合训练的方法,通过选择更加接近于真实的训练实例,让这两个部分能够相互改进,提升算法质量。
由于在匹配过程中包含文本表示和关系表示两类表示方法,为了在初始表示学习的过程中互相增强,在初始学习文本模块的表示时会拼接关系图上节点的表示。类似地,为了增强图关系上节点的表示,会采用文本模块学习到的表示作为关系图训练时的初始表示。
该算法的关键前提是真实样本经常在多个模型视角下提供相对比较类似的预测,但噪声样本很难在所有模型被消除。在对原始数据进行机器学习的背景下,该算法的两个组成部分可以被视为两个相互印证的学习。一个学习者的样本首先由另一个学习者进行检查,被评为“良好质量”的样本保留在机器学习的短语中。由于这两种样本学习方法对数据特征建模的立足点截然不同,他们可以互相补充,选择“高质量”的培训样本,以提高整体性能。
5 多维人岗匹配算法的优势分析
本文在国内主流的在线招聘平台和合肥市现代职业教育集团公共信息服务云平台上提供的真实数据来检测模型的有效性。为了防止个人信息的泄露,所有的个人简历、招聘信息和企业与个人之间的沟通信息都做了脱敏处理。将原始数据集分为三类,以测试模型对不同领域的鲁棒性。处理后的数据统计汇总如表1所示。
从表1可以看出:1)所有的信息指标的密度都非常少,其范围在0.0142%和0.0431%之间;2)不同的分类与不同的信息质量有关。例如,销售分类则是一个更为小众却又密度较高的信息数据集,而技术分类是一个庞大而密度极其稀疏的信息数据集。3)不可否认,对于每一种分类,不符合需求的数据样本(即否定实例)的数量远远小于符合需求的数据样本(即肯定实例)的数量。由于这种不均匀的信息数据集可能会诱发模型学习的偏差,因此需要经常使用调整信息分散度的策略来增加岗位与简历之间匹配的随机性,增加随机抽样的可信度。本文认为有两种数据匹配的模式是不符合需求的负面案例:1)企业在搜索者的登录页上点击链接,在阅读简历后在线聊天,但不发送最终的录用通知(点击录用该求职者);2)企业在阅读简历时没有进一步的行为方式(下钻式浏览)。如前所述,负面案例可能会是“误导性噪声数据”:尽管没有合理的在线录用的通知,但他们两方可能已经通过线下构成了雇佣关系。为了将这些负面案例添加到准备信息中,本文需要研究模型从喧嚣信息中获得有用的雇佣信息的能力。通过相似性检查这两项指标,正面案例和负面案例的数量比例设置为1:1。需要注意的是,本文只是在准备阶段使用这些负面案例,而对于确认集和测试集,本文使用具有明确承认或拒绝状态的测试来保证本文评估的准确性和高质量。