LinkedIn 招聘推荐系统中的机器学习的威力
作者:Jesus Rodriguez
编译:ronghuaiyang
导读: 这篇文章介绍了机器学习推荐系统在LinkedIn招聘系统中的应用,大家可以重点关注不同业务场景中推荐系统所关注的业务指标。
LinkedIn是市场上最受欢迎的招聘平台之一。每天,世界各地的招聘人员都依赖LinkedIn来寻找和筛选特定职业机会的求职者。具体来说,LinkedIn招聘系统是一款帮助招聘人员建立和管理人才库的产品,可以优化成功招聘的机会。LinkedIn招聘系统的效率是由一系列复杂得令人难以置信的搜索和推荐算法所驱动的,这些算法利用了最先进的机器学习体系结构和实用的系统。
众所周知,LinkedIn是一直在推动机器学习研究和开发的软件巨头之一。除了积累了世界上最丰富的数据集之一,LinkedIn还一直在不断地试验前沿的机器学习技术,使人工智能(AI)可以提升LinkedIn的体验。他们的招聘产品的推荐经验需要LinkedIn所有的机器学习技能,因为这是一个非常独特的挑战。除了处理难以置信的庞大和不断增长的数据集,LinkedIn招聘系统还需要处理任意复杂的查询和过滤,并提供与特定条件相关的结果。搜索环境是动态的,结果很难建模成为机器学习问题。对于招聘系统,LinkedIn使用了一个包含三个因素的指标来构建搜索和推荐模型的目标。
-
相关性:搜索结果不仅需要返回相关的候选人,还需要显示可能对目标职位感兴趣的候选人。
-
查询智能:搜索结果不仅应该返回符合特定条件的候选人,还应该返回类似条件的候选人。例如,在搜索机器学习时,应该返回在技能集中列出数据科学的候选人。
-
个性化:通常,为公司寻找理想的候选人是基于符合搜索条件的属性。其他时候,招聘系统不确定使用什么条件。个性化搜索结果是任何成功搜索和推荐体验的关键因素。
LinkedIn招聘系统搜索和推荐体验的第四个关键指标不像前三个指标那么明显,它关注的是简单的指标。为了简化推荐体验,LinkedIn对一系列关键指标进行了建模,这些指标是成功招聘的切实指标。例如,接受的邮件数量似乎是判断搜索和推荐过程有效性的一个明确指标。从这个角度来看,LinkedIn将这些关键指标作为其机器学习算法的最大目标。
从线性回归到梯度提升决策树
LinkedIn招聘系统的初始搜索和推荐经验基于线性回归模型。虽然线性回归算法很容易解释和调试,但线性算法不能在大型数据集(如LinkedIn的数据集)中找到非线性相关性。为了改善这种体验,LinkedIn决定使用GBDT将不同的模型组合到一个更复杂的树结构中。除了更大的假设空间外,GBDT还具有一些其他的优点,如能够很好地处理特征共线性、处理不同范围的特征以及丢失的特征值等。
与线性回归相比,GBDT本身提供了一些切实的改进,但也未能解决搜索体验的一些关键挑战。在一个著名的例子中,搜索牙医结果返回了带有软件工程头衔的候选人,因为搜索模型优先选择求职者。为了改善这一点,LinkedIn增加了一系列基于pairwise优化技术的上下文感知功能。本质上,该方法扩展了GBDT的pairwise排序目标,以比较相同上下文中的候选人,并评估哪个候选人更适合当前的搜索上下文。
LinkedIn招聘系统经历的另一个挑战是,为应聘者匹配“数据科学家”和“机器学习工程师”等相关头衔。仅仅使用GBDT很难实现这种类型的相关性。为了解决这个问题,LinkedIn引入了基于网络嵌入语义相似特征的表示学习技术。在这个模型中,搜索结果将由具有相似标签的候选人根据查询的相关性进行补充。
可以说,LinkedIn招聘的经历中最难应对的挑战是个性化。从概念上讲,个性化可以分为两大类。实体级个性化侧重于在招聘过程中整合对不同实体的偏好,如招聘人员、联系人、公司和候选人。为了应对这一挑战,LinkedIn采用了一种著名的统计方法广义线性混合(GLMix),它使用推理来改进预测问题的结果。具体来说,LinkedIn的招聘人员使用了一种架构,它结合了学习排序功能、树交互功能和GBDT模型评分。将学习到的排序特征作为预训练的GBDT模型的输入,该模型生成编码到树的交互特征中的树的集成,并为每个数据点生成GBDT模型的评分。然后,利用原始的学习排序的特征及其以树交互特征和GBDT模型得分形式的非线性转换,GLMix模型可以实现招聘人员级和联系人级的个性化。
LinkedIn招聘系统体验要求的另一种个性化模型更侧重于会话体验。利用离线学习模型的一个缺点是,当招聘人员检查推荐的候选人并提供反馈时,在当前的搜索过程中没有考虑到反馈。为了解决这个问题,LinkedIn的招聘人员使用了一种叫做多臂老虎机的技术来改进不同候选人组的推荐。体系结构首先将工作的潜在候选人空间划分为技能组。然后,利用一个多臂老虎机模型,根据招聘人员当前的意图来了解哪一组更可取,并根据反馈更新每个技能组中的候选人排名。
结构
LinkedIn的招聘人员搜索和推荐体验是基于一个名为Galene的专有项目,该项目建立在Lucene搜索堆栈之上。前一节中描述的机器学习模型有助于为搜索过程中使用的不同实体建立索引。
招聘人员搜索体验的排名模型基于一个具有两个基本层的体系结构。
The ranking model of the Recruiter Search experience is based on an architecture with two fundamental layers.
-
L1: 挖掘人才库,对候选人进行评分/排名。在这一层,候选检索和排序以分布式方式完成。
-
L2: 细化入围人才,使用外部缓存以应用更多的动态特征。
在该体系结构中,Galene代理系统将搜索查询请求分配到多个搜索索引分区。每个分区检索匹配的文档,并将机器学习模型应用于检索到的候选者。每个分区对候选者的子集进行排序,然后代理收集排序后的候选者并将它们返回给federator。federator使用附加的排序功能对检索到的候选项进行进一步排序,并将结果交付给应用程序。
LinkedIn是大规模构建机器学习系统的公司之一。LinkedIn招聘人员使用的推荐和搜索技术与不同行业的许多类似系统有着惊人的相关性。LinkedIn工程团队发布了一份详细的幻灯片:https://www.slideshare.net/QiGuo19/talent-search-and-recommendation-systems-at-linkedin-practical-challenges-and-lessons-learned-127365935?from_action=save, 这为他们构建世界级推荐系统的过程提供了更多的见解。