LinkedIn透过机器学习打造出「求职推荐系统」

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SBFPLAY561/article/details/90903058

LinkedIn 是迄今为止市面上极受欢迎的招聘平台之一。来自世界各地的招聘者每天会从 LinkedIn 上网罗挑选适合他们招人岗位的候选人。像 LinkedIn Recruiter 这款产品,就可以说明招聘者创建并管理一个人才库,最大限度地提高征人成功率。这款产品的高效性能是通过一系列极其复杂的搜索和推荐算法来实现的,这些算法利用了最先进的机器学习架构,也考虑了很多实际因素。除了在构建一个世界上最有价值的数据集之外,LinkedIn 一直在通过各种实验来突破机器学习技术,希望把人工智能的一流体验带入 LinkedIn 产品中。

LinkedIn 以三大标准建立搜寻推荐模型

招聘产品的推荐功能对 LinkedIn 的机器学习技术提出了很大的挑战。除了处理庞大且不断增长的数据集,招聘产品还需要处理很多随机且复杂的查询和筛选需求,并提供与之非常相关的结果。搜索环境是如此多变,以至于很难将这个问题简单转换为机器学习的模型来解决。以招聘产品为例,LinkedIn 使用了一个包含三个因素的标准来描述搜索推荐模型需要实现的目标。

1.关联: 搜索结果不仅需要返回给相关的候选人,还需要显示可能对目标职位感兴趣的候选人。

2.智能查询: 搜索结果不仅应该返回匹配特定条件的候选人,还应该返回相近条件的候选人。例如,搜索机器学习应该返回在技能集中列出资料科学的候选人。

3.个性化: 通常,为一家公司寻找到理想候选人考虑的因素并不在搜索条件里。还有些时候,招聘人员也不确定使用什么标准。个性化搜索结果是任何成功的搜索和推荐体验的关键因素。

LinkedIn 招聘产品搜索和推荐体验的第四个关键标准不像前三个标准那么明显,它关注的是简单的衡量指标 。为了简化推荐体验,LinkedIn 对一系列关键指针进行了建模,这些指标是成功招聘的有效指标。例如,站内信阅读数量似乎是判断搜索和推荐过程有效性的一个明确指标。从这个角度来看,LinkedIn 将这些数据作为衡量其机器学习算法优化程度的关键指标。

优化目标:接收到的站内信数量。从招聘者开始 1、搜索 2、发站内信到候选人 ,然后候选人 3、接受阅读并回馈给招聘者

 

线性回归上加入梯度增强判定树,创建稳固结构

LinkedIn Recruiter 最初的搜索和推荐经验是基于线性回归模型。虽然线性回归算法很容易解释和调试,但它们在 LinkedIn 等大型数据集中找不到非线性关联。为了改善这种体验,LinkedIn 决定使用梯度增强判定树(GBDT)来将不同的模型组合成更复杂的树结构。除了更大的假设空间外,GBDT 还具有其他一些优点,如能够很好地处理特征共线性、处理不同范围的特征以及缺少特征值等等。与线性回归相比,GBDT 本身提供了一些切实的改进,但也未能解决搜索体验的一些关键挑战。有一个著名的例子,输入搜索牙医的请求,却返回了具有软件工程头衔的候选人,因为搜索模型优先考虑寻找工作的候选人。为了改善这一点,LinkedIn 添加了一系列基于成对优化技术的上下文感知功能。从本质上讲,该方法扩展了 GBDT 的两两排序目标,以比较相同背景下的候选人,并评估哪个候选人更适合当前的情况。

Linkedin Recuriter 瓶颈:个性化需求

Linkedin Recuriter 的另一个挑战是,如何将应聘者与「数据科学家」和「机器学习工程师」等相关头衔匹配起来。仅使用 GBDT 很难建立这种相关性。为了解决这个问题,LinkedIn 引入了基于网络嵌入语义相似特性的代表学习技术。在这个模型中,搜索结果将根据查询的相关性由具有类似职位的候选人补充。

可以说,LinkedIn Recruiter 面对的最难解决的挑战是个性化。 从概念上讲,个性化可以分为两大类。实体级个性化侧重于在招聘过程中考虑进去不同参与个体的偏好,如招聘人员、合同、公司和候选人。为了应对这一挑战,LinkedIn 采用了一种著名的统计方法,称为广义线性混合(GLMix),它使用推理来改进预测问题的结果。具体来说,LinkedIn 的招聘人员使用了一种架构,它结合了学习排名功能、树交互功能和 GBDT 模型评分。将学习到等级的特征作为预先训练的 GBDT 模型的输入,该模型生成编码为树交互特征的树集合和每个数据点的 GBDT 模型得分。然后,利用原始的学习排序特性及其以树交互特性和 GBDT 模型评分形式的非线性转换,广义线性模型可以实现招聘级和合同级的个性化。

LinkedIn 招聘官所要求的另一种个性化体验是在当前搜索环节里的体验升级。利用脱机学习模型的一个缺点是,当招聘人员审查推荐的候选人并提供回馈时,这些回馈是不会被采用到当前搜索环节里的。为了解决这个问题,LinkedIn Recruiter 使用了一种被称为「多武器强盗模型」的技术来改进不同候选人群体的推荐。体系结构首先将工作的潜在候选人划分为技能组。然后,利用一个多武器强盗模型,根据招聘人员当前的意图来了解哪一组更适合,并根据回馈更新每个技能组中的候选人排名。内容来源:http://www.ai.org.tw/map.asp

架构:先海选人才,再进行候选人分序

LinkedIn Recruiter 的搜索和推荐体验基于一个名为 Galene 的专有项目,该项目建立在 Lucene 搜索堆栈之上。上一节描述的机器学习模型有助于为搜索过程中使用的不同实体构建索引。

招聘人员搜索体验的排名模型基于一个具有两个基本层的体系结构。

L1: 挖掘人才库,并对候选人进行评分/排名。在这一层中,候选检索和排序以分布式方式完成。

L2: 改进入围人才,以应用更多的动态功能使用外部缓存。

在该体系结构中,Galene 代理系统将搜索查询请求分散到多个搜索索引分区。每个分区检索匹配的文档,并将机器学习模型应用于检索到的候选文档。每个分区对候选项的子集进行排序,然后代理收集排序后的候选项并将它们返回给联邦服务器。连接使用附加的排序功能对检索到的候选项进行进一步排序,并将结果交付给应用程序。LinkedIn 是大规模构建机器学习系统的公司之一。LinkedIn Recruiter 使用的推荐和搜索技术的想法与不同行业的许多类似系统有着惊人的相关性。LinkedIn 工程团队发布了一份详细的幻灯片来展示他们是如何建构世界级推荐系统的。

猜你喜欢

转载自blog.csdn.net/SBFPLAY561/article/details/90903058