KDD 2019|一种基于结构化职业路径感知神经网络的工作变化预测

发布时间:19-10-2812:28

你和“懂AI”之间,只差了一篇论文

很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。

为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。

同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。

这是读芯术解读的第144篇论文

KDD 2019

一种基于结构化职业路径感知神经网络的工作变化预测

A Hierarchical Career-Path-Aware Neural Network for Job Mobility Prediction

美国罗格斯大学,百度

本文是美国罗格斯大学和百度TIC联合发表于KDD 2019的工作,本文提出了一种分层式的,基于职业生涯链的神经网络学习方法(HCPNN),用于预测个人未来的可能的雇主,以及在未来雇主所工作的时长。为此,我们首先解释该网络结构的具体构造以及设计原理, 然后我们展示将该方法学习应用到一组真实数据中的实验结果,以及有趣的实例分析。该实例分析展示了一系列影响人们选择下一家雇主,以及在下家雇主所待时长的因素和影响方式。

原文:

Qingxin Meng, Hengshu Zhu, Keli Xiao, Le Zhang, andHui Xiong. "A Hierarchical Career-Path-Aware Neural Network for JobMobility Prediction." In Proceedings of the 25th ACM SIGKDDInternational Conference on Knowledge Discovery & Data Mining,pp. 14-24. ACM, 2019.

引言

预测个人未来的雇主和在未来雇主工作的时长不论对于雇主还是雇员都是非常重要的问题。雇主希望知道谁是最可能加入公司的应聘者;如果有机会加入,谁能更长久地为公司服务,这对于雇主做出选人,提拔人等一些列决策有着重要的参考价值。另一方面,应聘者也希望知道如何是最有效的路径加入理想的公司或团队;又或者他们想知道,根据已有的工作经验,哪些公司自己最有可能加入。虽然已有大量的工作致力于分析人们的职业变动,但是这些工作大部分都是对团体的分析,例如一个公司的人才流出率, 对于基于个人的职业身涯链的预测工作却很少,本文是头一个同时预测个人的下个雇主及在下个雇主所待的时间的研究。

对于个人职业生涯链的预测,文章作者认为这个问题设计到两项基本挑战。第一是通过模型学习出公司与公司的联系,例如银行与银行的联系比银行与工厂的联系更为紧密,那么一个在银行工作的人更有可能跳槽到另一家银行,而不是另一家工厂,一个有效的模型应该能从公司与公司之间的跳槽频率中寻找出这种关系。第二,一个有效模型需要从一个人过去的工作经历中学习出个人的跳槽模式。换句话说,一个人可能在多家公司任职,也可能在同一家公司的不同职位任职,一个有效的模型需要学习出个人过去的工作经历中,哪一段经历对于他未来的任职选择起到关键作用。因此,我们提出了基于职业生涯链的神经网络模型(HCPNN)能有效地完成上述两项挑战。

数据描述

我们的数据来自一个职业社交网站,个人在网站上的个人主页中描述他的个人职业经历和自我介绍。我们将上述信息分成三类。第一类是个人相关信息,包括自我介绍和社交联系的人数;第二类是公司相关信息,包括个人过去按照时间前后服务过的公司,在该公司服务的时长,以及公司的基本信息;第三是职位相关信息,包括个人过去按照时间先后任职的职位,以及在该职位服务的时长。下图展示了我们的三层数据结构:

问题定义

我们正式定义我们的问题如下:

表示一个用户,

表示一个公司,

表示一个职位。一个人过去服务的公司链可以表示为:

;一个人过去服务过的职位链可以表示为:

,其中

表示一个人服务的第g家公司第h个职位;一个人的个人相关信息表示为。已知一个人的三层职业生涯

,我们需要预测一个人下一家可能跳槽的公司

,以及在该家公司所待的时间

模型

HCPNN 模型主要有三个部分,内部职位跳转表示层,外部公司跳转表示层以及预测层。下图是一个HCPNN的图形表示,接下来我们分别解释每一层的作用与原理。

内部职位跳转表示层:

在内部职位表示层,我们首先把每个职位的基本信息嵌入到向量

,然后再将

输入到一个LSTM层,得到输出

。之后我们使用一个局部的注意力机制作用到

,得到职位链层的表示。值得注意的是,在使用局部的注意力机制时,该注意力需要作用到该公司及该公司之前的职位上。比如说

是在公司下

工作的三个职位;

是在公司

下工作的一个职位。要得到内部职位跳转表示层

注意力机制作用到

;要得到

,注意力机制作用到

。这样做有两个作用:一是避免了使用未来的信息预测未来,这是一个端对端的预测系统;二是我们将内部职位跳转信息和外部公司跳转信息做了对齐。

外部公司跳转表示层:

在外部公司跳转表示层,我们首先把公司信息嵌入到向量

中,然后再将已经对齐的

衔接起来,之后把衔接之后的向量输入到另一个LSTM层得到

。与此同时个人相关的信息会嵌入到向量

。一个全局注意力机制会同时作用于外部公司跳转表示层及个人相关信息,得到一个输出。根据不同的预测目标,该输出会输入到不同的模块中用于不同目标的预测。

下个跳转公司的预测:

对于预测下一个跳转公司,我们首先将HCPNN的输出输入到一个全连接层,再用一个softmax函数将输出转化成一个单纯形。每一维输出表示个人跳入一家公司的可能性。在训练过程中,优化已观察到跳转序列的最大似然估计(MLE),其公式如下:

预测工作跳转的下家公司则为:

下图能有效表示该过程:

在下家公司服务时长的预测:

我们把生存分析的方法引入到对于到下家公司所待时长的预测。我们把一个人加入一家公司看作一个人的出生事件,而把一个人离开一家公司看作一个死亡事件。所以对于一个人在公司服务时长的预测就是一个生存分析。我们首先把HCPNN的输出输入到一个全连接层,再用一个softplus函数将输出转化成正值,因为该层的每一维输出看作是某一个时间段的瞬时跳槽概率,我们用

表示,根据定义,

必须为正。我们把整个时间轴分割成21段,每半年分作一段,十年及十年以上分作第21段。根据生存分析的理论,最大化所观察到的跳转事件的MLE可写为:

预测在公司服务时长的公式可写为:

下图能有效表示上述过程:

实验

我们将该方法应用于一组414266个用户,1002家公司,26种职业的真实数据中。所有数据的公司跳转链至少大于等于4,观察时长从1988年1月份到2018年11月份。对于预测下一家跳转公司,我们使用Acc@k和平均排序倒数(MRR)来衡量预测效果,其定义是

。它们的数值越大,表示预测效果越好。对于预测在公司服务时长,我们RMSE及MAE来衡量,它们的定义是

。它们的数值越小,表示预测效果越好。实验过程中,我们的比较基准有四类:1)非序列模型:逻辑回归,随即森林,决策树;2)序列模型:随机条件场、连续时间马尔可夫过程;3)泊松过程、多变量霍克斯过程;4)两种HCPNN的变体:HCPOP和HCPNN有同样的结构但是没有内部职位跳转层、HCPOS和HCPNN有同样的结构但是没有使用生存分析方法,而是将时间预测也看做一个分类过程。对于预测跳转公司的实验结果如下:

对于预测在公司服务时长的实验结果如下:

从上面结果中,我们可以看到我们的方法对比其他方法具有很大的优势。我们方法对比自己的两个变体也显示出了优势,证明了内部职位跳转层和生存分析对于我们解决问题的帮助。

我们将实验数据用不同的切分比例,以及用不同的年份切分做了鲁棒性实验,结果如下:

我们提取不同因素下的平均注意力值(即影响力值),可以得到一些有趣的实例分析。例如下图,每一行表示在公司服务时长,每一列表示该雇主在职业生涯链上的反序位置(time index),例如time index为0表示上家雇主,为1表示上上家雇主,以此类推。

我们可以得到两个基本结论,一是在过去雇主所待的时间越长,该雇主对个人未来的职业变化越重要;二是在职业生涯链中出现越晚的雇主越重要。

0: Sole Proprietorship, 1: Privately Held, 2: Joint Venture, 3: Government,

4: Educational Institution, 5: Non-Profit Organization,6: Public.

在上图中,每一行代表一种公司类型,我们可以看到,总体上说在一家雇主所待的时间越长,该雇主越重要;但是该模式对于政府企业却是相反的,也就是一个人在政府部门待得越久,这段经历对于他未来的工作跳转越不重要。

结论

本文提出了一种分层式基于职业身涯链的神经网络方法预测个人未来工作变动,包括预测个人下一家跳转的公司以及在下家公司所待的时间。我们方法应用到真实数据场景中,得到了非常好的效果,并且该模型给出了哪些因素可能影响个人未来工作变动及其影响模式,有一定的解释性。

留言 点赞 关注

我们一起分享AI学习与发展的干货

如需转载,请后台留言,遵守转载规范

返回顶部