解锁这项AI黑科技,马上实现人岗匹配自由

首页 > 软件科技   发布机构: e成科技  2019-10-31 14:42

人岗匹配,是企业人力资源管理的核心之一,更是HR招聘工作的精髓。传统工作方式下,简历搜索和人岗匹配往往消耗HR大量时间和精力,结果却往往不精准,随着人工智能和NLP技术的发展,一些招聘网站纷纷推出自动化推荐功能,但却同质化严重,准确率不高。现在,“graph embedding”给人岗匹配带来新突破!在e成科技AI团队的实践和研究下,“graph embedding”在人力资本领域落地且取得不俗效果,助力人岗匹配更加高效,这样的AI技术,作为HR的你值得拥有!下面就随院长一起看看这项神奇的AI技术,如何化身人岗匹配“神助攻”的吧。


一切皆可Embedding


在NLP(自然语言处理)中,自然语言无法直接应用到数学模型的建立中,需要将其映射到欧式空间。Embedding就是解决如何将自然语言表示为向量的,Google推出了Word2Vec模型,可以将语义相近的词映射到向量空间中相近的位置,之后Google又提出了BERT,BERT可以考虑到相同词在不同位置有不同含义等信息,利用这个新的语言模型刷新了问答、文本情感分析等多个语言任务的表现。同时,Embedding也可以作为深度学习模型的隐藏层,可以极大提高模型的表现。


自从word2vec横空出世,似乎各行各业的一切东西都在被Embedding,Embedding在数学上表示一个映射F: X -> Y,也就是一个函数,其中该函数是一一对应的而且保持空间同构性 (即在X空间是近邻的,则被映射到Y空间也是近邻的)。Embedding技术被应用在了多种业务场景中:


1) 在 Airbnb 中实现实时个性化搜索,利用用户近几周或者近几个月点击过的房源行为数据实时对用户的搜索目标房源进行相似度比较和排序,这样既极大的提高了效率而且也保证的搜索房源的准确性提高了用户体验


2) 在电子商务领域,根据用户的浏览和购买行为数据,通过深度学习模型可以将用户和物品同时嵌入(embedding)到相同的低维空间,然后利用Embedding计算用户和物品之间的相似度(匹配度)直接给用户推荐感兴趣的物品。



在人力资本领域,求职者、公司、职位、专业、技能等不同的实体间存在着多种类型的关系,构成了一个知识图谱(Knowledge Graph)。这里,我们主要关注的是Graph Embedding(其实也可以称为Network Embedding)。我们利用Graph Embedding技术,把这些实体嵌入到低维的向量空间,可以直接比较他们的相似性,并能大大的提高简历和岗位的匹配效果。对于具有较多类型节点且各类型节点的数量巨大来说这是比较好的尝试,而且取得了一些效果。


生成Graph Embedding常用方法及其原理


由于graph embedding的广泛应用,同时衍生出了很多计算embedding的方法,下面我们介绍几种商业上比较常用的几种方法:


1)    DeepWalk

DeepWalk [3]是KDD 2014的一篇文章,我们常用的word2vec是根据词的共现关系利用skip gram和COBW将词映射到低维向量。DeepWalk算法思路其实是利用了word2vec生成embedding的一种方法skipgram,对于已经建立的Graph来说每个节点可以是不同的实体且实体时间可以有不同的关系,从图上的一个节点开始随机游走(random walk),如果节点之间有weight可以根据weight的不同进行walk来生成类似文本的序列数据,实体id作为一个个词使用skip gram训练得到词向量。


算法的大体思路就是:根据图中节点随机游走 -> 生成一定长度的序列 -> 利用skip-gram进行训练。



2)    LINE


LINE(Large-scale Information Network Embedding)是2015年文章[4]中微软亚洲研究院提出来的一种算法,LINE定义了两种度量节点相似度的方法:一阶相似度(First-order proximity)和二阶相似度(Second-orderproximity)。


一阶相似度

其中一阶相似度就是两个点直接相连的边的权重,且边权重越大说明两个点越相似,如果两个节点之间无连接,则一阶相似度为0;

对每个无向边,定义顶点和的联合概率分布为:



是顶点的低维向量表示, 我们的目的就是使得经验分布和概率分布尽可能的接近,于是我们定义以下一阶相似度的目标函数:

其中为两种分布之间的距离,为空间上的一个分布, =是它的经验分布,其中W为两点间边权重总和。我们选择KL 散度来计算(2)式子。


KL散度的计算公式其实是熵计算公式的简单变形,在原有概率分布p上,加入我们的近似概率分布q,比较两个概率分布的相似性:


将,带入KL散度的公式我们得到︰

其中C为一个常数,需要注意的是,一阶相似度仅适用于无向图,而不适用于有向图。



二阶相似度

二度相似性则是两个点之间共享多少相同的节点,共享的相同节点越多,而且共享的边的权重越高则它们的相似性就越高。二阶相似性假定与其他顶点共享邻居顶点的两个点彼此相似(无向有向均可),一个向量和分别表示顶点本身和其他顶点的特定“上下文”,意为二阶相似。对于每个有向边,我们首先定义由顶点生成“上下文”的概率:


式子(5)是一个条件分布,对于顶点,我们的目的就是要拟合与其经验分布。为边的权重,为相邻边的权重的和,因此最小化以下目标函数:


d(,)上文已经说明,来表示顶点的度数。这里我们令利用KL散度同一阶相似性的推导类似我们可以得到二阶相似性的计算公式(去掉常数项)为:

具体应用时,我们可以将一阶和二阶的得出的embedding进行拼接这样可以得到更多的语义信息。


3)     Node2vec

Node2vec[5]算法是在DeepWalk基础上进行了改进,主要的创新点在于改进了随机游走的策略,DeepWalk中根据边的权重进行随机游走,而Node2vec加了一个权重调整参数,同时考虑到局部和宏观的信息,并且具有很高的适应性。


除了以上提到的常用的生成embedding方法,学术界和工业界还提出了很多方法,像SDNE[6]、Struc2vec、Starspace[7](Facebook用的技术)、EGES(阿里巴巴推荐使用的技术之一)等。



Graph Embedding为人岗匹配带来新突破


在人力资本行业最主要的两大核心要素就是简历CV和工作岗位JD,如何让CV和JD有效的匹配是人力资本行业一直非常重视的问题也是一个难题。我们在人力资本行业领域对graph embedding的尝试和应用,并且取得了一定的效果。


1)原始文本处理


想要有效的进行人岗匹配(即CV和JD的合理匹配),需要综合考虑包括职能、行业、技能、专业等维度在内的多维度匹配。首先应该提取CV、JD中的文本特征,可以利用深度学习模型提取出CV、JD的文本特征,我们这里称为实体。抽取出实体之后,我们就可以进行CV和JD的匹配,对于自由文本来说除了CV和JD的实体完全匹配上,可以算他们的相似度,词的语义相似度无法完全的诠释。举个例子:


CV的特征:

技能实体(JAVA),职能实体(JAVA开发工程师)、专业实体(计算机)

JD的特征:

技能实体(Spring),职能实体(JAVA后端开发)、专业实体(信息技术)


从词的表面是无法区分他们的相似度的。下面就用到了embedding,embedding可以将这些实体嵌入到同一低维的向量空间,在空间中实体之间的距离可以通过数学公式计算从而表示他们的相似性。


2)生成实体embedding


第一步:数据的生成,我们首先利用CV、JD中不同实体的共现,以及不同工作经历之间的跳转来抽取简历中的实体跳转,这些不同的实体之间可以构成network如图1所示。不同的实体就是不同的节点,实线就是节点之间的边也可以称为关系。


图1


第二步:使用Deepwalk、LINE生成embedding。对于Deepwalk可以直接根据network生成不同的文本序列,利用skip-gram进行模型的训练。而对于LINE可以直接利用不同实体的共现次数作为模型的输入。


第三步:优化训练数据。我们发现不同的实体出现次数的量级是不同的,比如专业在JD中就很少出现,这样就导致了数据的不平衡。我们解决的方式是,统计了不同实体之间的tfidf、npmi(Normal Pointwise Mutual Information)作为实体之间的权重,即表示了不同实体之间关系的强弱程度,之后再进行模型的训练。


第四步:以上都是利用无监督的方式去训练embedding,由于e成科技有自己独立的人力资源ATS系统,包含了用户大量的真实行为数据。把其中匹配上的CV、JD作为正例,未匹配上的作为负例,构造出有监督的训练数据。将JD作为query,CV作为title,利用DSSM模型(如图2)进行有监督的模型训练。需要注意的是这里的embedding层并不是随机初始化的,而是利用第三步已经训练过的embedding作为预训练的权重。这样有监督训练的目的就是利用真实的行为数据更新embedding层的数据,使得每个实体的embedding更能好的表达在招聘这个业务场景中的语义。


图2

我们使用内部标注的评估数据对不同模型进行了评估,比较结果如下:



以下是fasttext和graph embedding模型输出的top相关公司实体的一些例子。可以看到FastText单单只从字面意思进行了相似度匹配;而graph embedding模型输出结果能够更好地包含了具有相似业务、相似规模的公司,具有更好的语义相关性。


HR+AI领跑者,助力每一个HR实现AI赋能


本文主要阐述了Embedding的原理以及一些应用,具体的阐述了Graph Embedding在人力资本领域的落地应用。


Embedding既可以作为计算各个实体的工具也可以作为深度学习中的embedding嵌入层增加模型的准确性。不夸张的说一切可以embedding,而且embedding在很多领域都取得了不俗的成就,尤其是NLP领域。


e成科技作为HR+AI赛道的领跑者,一直专注于人力资本领域的AI创新升级,开创性地将AI技术与人才战略升级场景深度结合, 我们已经将embedding技术应用到人岗匹配、面试Bot等多实际场景,接下来我们将继续优化embedding,助力AI技术在人力资源领域的更多应用。


同时,基于积累多年的AI能力和行业经验,e成科技重磅打造了AI开放平台,并将AI能力开放给所有企业和友商。e成科技AI开放平台是HR赛道首个企业自主研发的聚焦人力资本场景的一站式AI能力服务平台,覆盖简历解析、人岗匹配、HR机器人等诸多场景,通过OpenAPI及需求定制等形式,面向所有自研系统大型企业、垂直招聘平台、传统HR行业厂商等企业用户提供智能化服务。



作者:e成科技知识图谱团队白永斌

参考文献:

[1] Banana,神奇的Embedding, https://zhuanlan.zhihu.com/p/53058456

[2] Ethan,Embedding的理解,https://zhuanlan.zhihu.com/p/46016518

[3] Perozzi B, Al-Rfou R, Skiena S. DeepWalk: Online Learning of SocialRepresentations[J]. arXiv preprint arXiv:1403.6652, 2014.

[4]Tang J, Qu M, Wang M, et al. Line: Large-scale information networkembedding[C]//Proceedings of the 24th international conference on world wideweb. International World Wide Web Conferences Steering Committee, 2015:1067-1077.

[5]Grover A, Leskovec J. node2vec: Scalable feature learning fornetworks[C]//Proceedings of the 22nd ACM SIGKDD international conference onKnowledge discovery and data mining. ACM, 2016: 855-864.

[6]Wang D, Cui P, Zhu W, et al. Structural Deep Network Embedding[C]. knowledgediscovery and data mining, 2016: 1225-1234.

[7]Wu, L., Fisch, A., Chopra, S., Adams, K., Bordes, A., & Weston, J. (2017).StarSpace: Embed All The Things! arXiv preprint arXiv:1709.03856




  • 阅读 309
  • 1
/// HRoot(包含移动应用、网页版)是一款基于大数据和人工智能的内容推荐引擎,内容全部来自内容账号在HRoot内容平台自行发布或授权自动抓取,HRoot不生产内容。以上的本文内容仅代表本文作者或发布机构/发布人、内容账号所属机构或所属人自身观点,不代表HRoot观点或立场。本文内容账号的发布机构/人信息请点击本文标题下方的发布机构/人名称以了解详情。【复制原文出处链接】
投诉
更多服务
Follow HRoot:

站点地图|使用条款|隐私政策|安全承诺|法律顾问|著作权声明

Copyright © 2002 - 2019 HRoot, Inc. All Rights Reserved, TEL:021-58215197 FAX:021-58218663沪ICP备05059246号

沪公网安备 31011502009045号