Press "Enter" to skip to content

WWW 2020|考虑职业发展倾向的个性化员工学习课程推荐

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

 

考虑职业发展倾向的个性化员工学习课程推荐

 

Personalized Employee Training Course Recommendation with Career Development Awareness

 

中国科学技术大学、百度

 

原文

 

Chao Wang, Hengshu Zhu, Chen Zhu, Xi Zhang, Enhong Chen, Hui Xiong, Personalized Employee Training Course Recommendation with Career Development Awareness, In Proceedings of the Web Conference 2020 (WWW 20), Taipei, Taiwan

 

本文是中国科学技术大学和百度TIC联合发表于WWW2020的工作,文章提出一种具有较强可解释性的个性化员工学习课程推荐系统,能够综合考虑员工当前的技能状态和他的职业发展倾向来共同推荐合适的在线课程。具体地,我们首先从员工技能标签中提取出可解释的能力状态向量,接着通过我们提出的需求识别机制将其转化为能力需求向量,最后结合同样可解释的课程隐向量利用协同过滤的方法进行课程推荐。实验结果表明我们的方法可以有效地为员工提供课程推荐结果,并具有较强的可解释性。

 

1.引言

 

在公司的战略人才管理中,学习与发展(learning and development,L&D)旨在通过为员工制定针对性的培训来提高和磨练他们的技能与知识水平。这对于保持公司的竞争力至关重要。根据美国人才发展协会{https://www.td.org/}的研究报告,2018年,美国的企业组织在L&D一项上的支出为平均每位员工1,296美元,平均学习时间34.1小时。因此,近年来,越来越多的公司已经建立了自己的学习管理系统(LMS)来促进对员工的在线培训,这不仅可以节省大量培训成本,还可以增强公司对人才的吸引力。

 

因此,一个重要的问题是如何在学习管理系统上为人才提供个性化的学习课程推荐,来帮助和提高员工的学习效率。然而,为达到这个目标我们需要面临许多挑战。 首先,与传统推荐方案(例如电影或购物推荐)不同,员工的学习动机在很大程度上不仅取决于他们目前的能力状态,还取决于他们未来职业发展的目标。图1展示了员工使用在线学习系统的一些案例。根据员工当前的技能档案和历史课程学习记录,我们可以猜测,出于巩固技能的目的,Alice学习了课程Java Performance Optimization,而Bob则学习了课程From Hadoop to Spark以提高他的现有能力。同时,尽管Cindy的技能与Alice非常相似,她选择了非常不同的课程Deep Learning in NLP。这与她现有的技能属性相去甚远,一个可能的原因是她想学习和掌握新领域的技能,以实现自己未来的职业目标。因此,在员工课程推荐中,一个至关重要的点是要同时考虑当前的能力和员工的职业发展倾向。其次,在教育领域,可解释模型在设计更好的教学指导以及辅助学生自主学习中发挥着重要作用,对推荐结果进行解释是至关重要的。最后,我们通常必须在LMS上面对极端的数据稀疏和冷启动问题。例如,技能标签数据可能无法完全反映员工的真实技能情况,并且会同时包含细粒度和粗略的技能标签,从如此嘈杂和稀疏的数据中挖掘出真正的员工能力和学习倾向是非常具有挑战性的。

 

 

图1.课程推荐案例

 

为了解决上述挑战,在本文中,我们提出了一种个性化的员工课程推荐系统。该系统可以对员工当前的能力状态和职业发展倾向进行建模。具体地说,我们设计了一套新颖的基于端到端结构的贝叶斯协同过滤推荐网络框架(Demand-aware Collaborative Bayesian Variational Network,DCBVN)。首先,考虑到原始的技能档案存在稀疏性和模棱两可等问题,无法直接利用。因此,在DCBVN中,我们使用基于变分推理的自动主题模型建模,从员工的技能档案中提取出员工能力的潜在可解释向量表示。员工技能信息不但可以帮助我们加深对员工的了解,还可以辅助减轻员工历史学习记录的稀疏和冷启动问题。然后,通过利用观察到的历史课程学习记录,我们提出了一种有效的需求识别机制,用于学习每位员工个人职业发展的需求方向。潜在能力状态向量和能力需求向量的每个维度都代表了现实中一种可解释的技能主题,这样就使得我们的推荐模型具有较强的可解释性。最后,我们通过协同算法给员工推荐最合适的学习课程。上述所有过程都被集成到统一的贝叶斯协同过滤框架中,以同时保证推荐结果的准确性和可解释性,并在学习过程中实现相互促进的作用。在真实数据上的大量实验结果清楚地证明了DCBVN框架的有效性和解释能力,以及在稀疏和冷启动场景下的鲁棒性。

 

2. 模型框架

 

考虑职业发展倾向的个性化员工学习课程推荐技术是建立在深度理解用户当前能力状态与用户的学习发展需求上设计和实现的。在这一节中,我们首先介绍DCBVN的总体框架概览,然后再详细介绍DCBVN的各个组成部件,即能力状态建模和学习需求建模,最后,通过联合的贝叶斯推断方法进行模型的学习和优化。

 

2.1 模型概览

 

本文用 来表示用户的学习记录矩阵,其中N为用户数量,E为课程数量,若用户i学习过课程j,则记 为1,反之则记 为0,故而学习记录矩阵是一个0-1矩阵。借鉴矩阵分解模型的思路,本文将高维稀疏的R矩阵映射到两个处于低维空间中的矩阵,分别记为 ,其中U代表了用户的需求,而V则代表了课程的属性。U矩阵的第i列 就代表了用户i的需求隐向量,而V矩阵的第j列 就代表了课程j的属性隐向量。于是, 可由 和 的乘积进行建模,可以假设 服从于一个正态分布:

 

 

其中 是置信度系数,通常当 为0时,将 设为一个比较小的值,反之则将 设为一个比较大的值。这是因为对于原始学习记录中,用户已经学习的课程属于明确的正样本,我们对其有较高的置信度。而对于用户没有学习的课程,由于无法得知用户是不喜欢该课程还是不知道该课程,所以只能作为信号较弱的负样本,我们对这些负样本课程建模时设置较低的置信度。

 

接着,对于课程j的属性隐向量,可以假设其先验分布也是一个正态分布:

 

 

在传统矩阵分解模型中,用户 的需求隐向量也是由一个正态先验分布得到的,然而,在本文的情景下,我们知道,用户的学习需求与其自身当前能力状态有极大关系。因此,本文通过一个需求识别机制G()来完成从用户能力隐向量到需求隐向量的转变。

 

 

记用户能力标签矩阵 是一个0-1矩阵,M为技能标签的数量。用户i的能力标签向量可以认为是由能力隐向量生成的。

 

 

通过上述方式,我们就完成了对课程推荐过程的整体概率化建模。图二是DCBVN的概率图模型。接下来,我们将详细介绍DCBVN如何利用变分自编码器网络完成对技能主题的抽取和迁移。

 

 

图2.DCBVN的概率图模型

 

2.2技能主题建模

 

仿照传统的主题建模模型(LDA),我们可以假设每个用户的技能档案是从K个主题 中生成出来的。其中每个技能主题 代表了在M个技能上的概率分布。例如,在于机器学习有关的技能主题中,技能标签“SVM”的概率就远大于“产品设计”的概率。注意所有技能的概率之和为1。接着用户 的主题分布 就代表了该用户在K个主题上的概率分布,可以假设 服从于狄利克雷分布Dirichlet(α)。最后,可以认为用户的技能 是从一个多项式分布中采样得到的, 。根据以上过程,可以得到xi的边缘似然函数如下:

 

 

狄利克雷先验在主题模型中起到很重要的作用,然而,在变分自编码器网络中,难以对狄利克雷先验实施重参数化技巧,由此会导致网络无法计算梯度大小。为此,这里我们采用拉普拉斯估计,即设:

 

 

其中σ()是softmax函数,能力隐变量服从于一个多元正态分布,其协方差矩阵的非对角元素以O(1/K)的速率趋于0。可近似认为能力隐变量服从于一个协方差矩阵为对角阵的多元正态分布,其均值和方差如下:

 

 

2.3变分自编码器

 

传统的LDA模型在稀疏数据上的表现会比较差,这里我们采取基于变分自编码器的主题模型VAE-LDA来进行技能建模。变分自编码器包含两个神经网络组件,分别是编码器和解码器,对应模型的推断过程和生成过程。图3展示了变分自编码器的结构组成。

 

 

图3. 变分自编码器

 

编码器由L层全连接网络(Multi-layerPerceptionNetwork)组成,每一层网络都对上一层网络传输过来的数据进行加工并再传输到下一层中,第一层的输入就是用户的能力标签向量。具体地,每一层网络有两个参数,分别是权重系数矩阵和偏置向量,二者均服从正态分布的先验:

 

对第l层网络,则有:

 

其中Sig()是Sigmoid函数。

 

最终编码器的输出再分别经过全连接网络来得到均值层和方差层:

 

 

于是用户能力隐向量可以通过采样得到:

 

 

传统的蒙特卡洛(MonteCarlo)估计需要对分布多次采样取均值,由于在神经网络的训练过程中,训练数据被随机打乱顺序后按照每个batch固定数量数据的形式反复进行迭代训练,故而多次采样的过程其实在训练中已经有体现,在单次训练过程中就不需要多次采样,而是只采一次样本即可。这样的训练方法简单直接,且大大提高了计算效率。

 

完成了对技能标签的编码后,下一步是对其进行解码。解码过程也是通过全连接神经网络完成,但与编码器不同,解码器只需要一层神经网络,且只需要权重参数即可:

 

 

其中β和θ分别是能力隐向量和解码器的权重参数矩阵按列经过softmax函数计算后的结果,通过softmax函数,可以将原始矩阵按列归一化,于是 就代表了用户i在这K维技能主题上的概率分布,β的第k列就代表了第k个技能主题上每个技能标签的概率分布。

 

最终用户的能力标签服从于一个多项式分布:

 

从上述设计可以看出,原始离散的能力标签数据通过编码器转换成了低维空间中的连续隐向量,代表着用户的能力状态。而通过解码器,我们得到的能力隐向量可以还原成显式的能力标签,这一过程可以帮助我们学习到更加准确的用户隐向量,同时也赋予了得到的隐向量丰富的物理解释含义。

 

然而,课程的属性隐向量仍然不具备可解释性。在现实应用场景中,给课程打标签同样是一个很有意义的问题。因此,我们可以利用员工的技能标签来学习课程的技能分布。对每个课程,我们统计所有上过该课的员工的技能标签,然后只保留前200个出现次数最多的技能标签来避免数据噪声的影响,这样就构成了课程的技能标签向量 。

 

对不可解释的属性隐向量,我们利用一层神经网络变换来将其转化为可解释的课程技能主题分布 。

 

 

接着课程技能标签就可以由技能主题分布通过多项式分布生成。

 

 

注意这里的主题β与用户网络中的β是一致的,以此来保证学习到的用户和课程主题是同一主题。

 

2.4学习需求建模

 

需求建模的关键点是如何处理能力隐向量和需求隐向量之间的关系,员工的学习需求既跟当前的能力状态有关,又跟个性化的职业发展偏好有关。同样一门课程,对于能力状态不同的两个用户,选择这门课的目的也可能是不一样的。为此,本文提出一种新型需求识别机制G()来处理这个问题,它将输入的能力隐向量转变成需求隐向量。

 

如图4所示,具体地,首先我们可以假定有T种主要的需求迁移模式,用迁移变量 表示,则迁移后的需求变量 。由于能力隐向量的每一维代表着一个能力主题,故而迁移变量的每一维可以认为是用户在这一能力主题上学习需求的变化,迁移矩阵 。

 

为了全面分析用户的真实需求,我们需要通过计算每种迁移模式的重要性得分,来衡量每种迁移模式与用户实际需求之间的关系。某个模式的重要性得分越大,表示该模式对用户影响越大。通过这种方式,我们能够捕获最相关的迁移模式并给它们赋予更高的权值。在本文中,我们提出了两种自动计算重要性得分 的方法,即基于个体和基于协作的重要性得分算法。

 

在基于个体的重要性得分算法中,我们可以通过结合用户的历史学习记录来挖掘用户的真实学习需求,对每一种能力迁移模式,我们需要得到这种模式出现的概率值。为此提出一种自适应的计算方法:

 

 

其中 就是用户 在所有迁移模式上的概率分布。通过计算 我们就可以挖掘出用户的需求迁移方向,每一个用户的最终需求隐向量可以通过对所有迁移后的需求变量加权求和的方法得到,注意每一种迁移模式也是通过模型自适应学习得到的。

 

然而个人的学习记录可能比较稀疏,难以全面反应该员工的学习倾向。因此,在基于协作的重要性得分算法中,我们将员工按照其所属部门和职位进行划分,将属于相同部门和职位的员工划归同一组,并认为属于同一组的员工其职业发展倾向较为相似,因此也具有相似的学习需求。在计算重要性得分时,不但要考虑用户个人的学习记录,也考虑和他同一组员工的学习记录。小组学习记录向量和基于协作的重要性得分可以如下计算:

 

 

 

其中sum()函数表示对每一列进行求和以此来对结果归一化,I()是示性函数,ρ是一个平衡参数来调节个人与小组学习记录之间的权重。

 

最终,需求识别机制可以表示为:

 

 

 

图4.需求识别机制

 

2.5模型优化与预测

 

如图2所示,上述DCBVN的各个构成组件均可被统一于一个贝叶斯推断的框架之下,因此,可以通过求解DCBVN概率模型的对数似然函数的变分下界(EvidenceLower Bound, ELBO)来进行模型优化。模型的变分下界如下给出:

 

 

可以看到最终的目标函数可以被分为几个部分,第一项是课程学习记录的预测损失函数,中间两项是模型的重构损失函数,最后两项可以认为是模型的正则化项。

 

在预测阶段,我们可以计算学习记录矩阵的点估计预测结果:

 

 

于是对每个员工,将DCBVN预测的课程分值按照从大到小的顺序进行排列,就可以将评分高的课程优先推荐给员工。

 

当遇见冷启动问题时,即新员工没有历史学习记录时,DCBVN仍然能进行推荐。例如,一种简单的做法是仅使用用户的当前能力状态进行推荐而忽略需求识别机制。此外,还可以利用该员工所处小组的其他员工的学习记录来进行需求识别机制的学习。

 

 

3. 实验

 

·  课程推荐实验: 为了训练我们的模型以及验证模型效果,我们收集了30,662名员工在8,693门课程上的学习记录及员工的技能标签档案。经过数据清理,共有714,091个有效的员工学习记录,也就是说学习记录矩阵的稀疏度达到了99.73%。我们分别在通常设置和极端稀疏设置下按照时间顺序划分了数据集。在通常设置情况下,我们对每个用户选取70%的学习记录作为训练集,而在极端稀疏设置下,每个用户仅有30%的学习记录被选作训练集。

 

在本实验中,我们采取一种常用推荐系统评价指标:召回率[email protected]。其计算公式如下给出:

 

 

我们将DCBVN与多个先进的推荐模型进行对比,其中包含一种我们模型的变种模型DCBVN-0,即在需求识别机制的计算中只使用基于个人的重要性得分而不使用基于协作的重要性得分。在两种设置情况下的对比结果如表1和表2所示。从表1和表2中可以观察到,我们的推荐模型DCBVN都取得了最好的效果。此外,DCBVN-O的效果明显不如DCBVN,证明了基于协作的重要性得分算法的有效性。

 

表1.通常设置下的推荐结果对比

 

 

表2.极端稀疏设置下的推荐结果对比

 

 

·  冷启动场景下的推荐效果: 冷启动问题是推荐系统中常见的一个挑战。在这里,我们随机选择了50%的用户作为训练集,余下的用户作为冷启动问题中的新用户,新用户的数据不参与训练过程的计算。在DCBVN框架下,我们提出三种应对冷启动问题的解决方法,即DCBVN-C1,DCBVN-C2和DCBVN-C3。在DCBVN-C1中,我们仅将员工的能力隐向量用于推荐,即认为能力隐向量与需求隐向量完全相同。在DCBVN-C2中,我们让需求识别机制里的每个迁移模式都具有相同的重要性得分。在DCBVN-C3中,对于每个新用户,我们使用用户所在小组员工的学习记录信息来计算员工的重要度,即只采用基于协作的重要性得分算法。为了进行比较,我们还提供了没有冷启动限制的DCBVN结果。结果如图5所示所示,可以看到即使是最简单的DCBVN-C1方案仍然取得了不错的体检效果,DCBVN-C2的效果超过了DCBVN-C1,说明了认为能力隐向量与需求隐向量完全相同确实是不恰当的。最终DCBVN-C3取得了冷启动情况下最好的推荐效果,这再次证明了小组内其他员工的学习记录对于该员工也具有一定的指导价值。

 

 

图5.冷启动下的推荐效果

 

·  案例分析: 为了进一步说明我们的DCBVN模型的可解释性,表3展示了我们系统推荐的一个结果示例。这里我们只展示权重最高的三个技能主题,对每个技能主题,仅列出排名最高的部分技能列表。可以从该员工的当前技能主题分布中推测出她可能是R&D工程师,因为她目前的技能主要与数据处理和编程有关。同时,从历史学习记录中,我们可以发现她想要学习如何成长为一个团队的领导者(课程b)。此外,她还对办公安全课程感兴趣(课程a)。接着我们从DCBVN挖掘到的用户需求技能主题分布中可以很容易地发现,用户需求变量如实地反映了用户当前能力和个人发展需求的差异(主题2和主题3),也就是说,DCBVN成功地学习到她的职业发展目标,即成为一名好的领导者。因此,DCBVN推荐了一些课程来增强她的业务视野(课程2和3)并发展她的领导能力(课程4和8)。DCBVN还推荐了一些技术课程(课程和7)来帮助她提高当前的技能。此外,由于她需要信息安全意识培训,DCBVN推荐了课程1和6。

 

表3. 用户案例分析

 

 

DCBVN同样可以对课程生成可解释性的技能主题分布,表4给出了两个课程排名前3的技能主题展示。对于第一个课程,如果一名用户完全不知道Selenium是什幺,她可能会对ExploringSelenium课程感到非常困惑。但是,在DCBVN得到的标签帮助下,她很容易推测出该课程是关于一种自动化测试工具的(实际上,Selenium是一个开放源代码的Web自动化测试工具)。同样,如果一个人不知道吴先生是谁,那幺她也难以猜测出Mr.Wu s experience sharing这门课是在讲什幺。实际上,吴先生是一名出色的基层经理,我们可以根据DCBVN给定的技能主题分布轻松推断出这一点。

 

表4.课程案例分析

 

 

 

 

4. 总结

 

在本文中,我们提出了一种个性化的员工课程推荐系统,以辅助公司内部员工的培训和发展。该推荐系统的重要特点是综合了员工的当前能力及其职业发展倾向共同建模。具体地,我们提出了一种新颖的端到端结构的贝叶斯协同过滤推荐网络框架(DCBVN)。该框架可以从员工的技能标签中提取处潜在的可解释表征向量,然后利用需求学习机制学习不同员工对职业发展的个人倾向,最终利用一套自适应的协同过滤算法来为员工推荐最合适的培训课程。上述所有过程都集成到一个统一的贝叶斯推断过程中来同时确保模型的准确性,鲁棒性和可解释性。最后,我们在真实数据上进行了大量的实验,实验结果证明了DCBVN框架的有效性和解释能力,以及在稀疏和冷启动场景下的鲁棒性。

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。