热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

人力资源知识图谱搭建及应用

人力资源行业其实是做关于人的决策的数据密集型行业,其中的传统数据就包括简历、JD、面试评价、绩效等。

背景介绍

人力资源行业其实是做关于人的决策的数据密集型行业,其中的传统数据就包括简历、JD、面试评价、绩效等。随着时代和技术的发展,对数据的处理已经从简单人工处理进入到了人工智能技术的应用,而知识图谱则能把这些数据连接起来,挖掘其中更多价值,帮助企业管理层及HR们更明智的做出关于人的决策

什么是知识图谱?

在互联网时代,搜索引擎是人们在线获取信息和知识的重要工具。当用户输入一个查询词,搜索引擎会反馈它认为与这个关键词最相关的网页。

直到2012年5月,搜索引擎巨头谷歌在它的搜索页面中首次引入“知识图谱”:用户除了得到搜索网页链接外,还将看到与查询词有关的更加智能化的答案。

从杂乱的网页到结构化的实体知识,搜索引擎利用知识图谱能够为用户提供更具条理的信息,甚至顺着知识图谱可以探索更深入、广泛和完整的知识体系,让用户发现他们意想不到的知识。谷歌高级副总裁艾米特·辛格博士一语道破知识图谱的重要意义所在:“构成这个世界的是实体(things),而非字符串(not strings)”。

知识图谱旨在描述真实世界中存在的各种实体或概念。其中,每个实体或概念用一个全局唯一确定的ID来标识,称为它们的标识(identifier)。类似于我们对于一个网页会有一个URL,对于数据库中的一条记录会有一个主键id等思想是一样的,强调去刻画thing,这里的thing是和传统web上的网页对比较的。每个属性—值对(attribute-valuepair,又称AVP)用来刻画实体的内在特性,而关系(relation)用来连接两个实体,刻画它们之间的关联。知识图谱亦可被看作是一张巨大的图,图中的节点表示实体或概念,而图中的边则由属性或关系构成。上述图模型可用W3C提出的资源描述框架RDF或属性图(property graph)来表示。

E成技能实体知识图谱示例

人力资源知识图谱搭建及应用

图例说明:

实体:方形框为概念/类,圆形框为实例(具备唯一的本体,不与其他实例存在上下位关系)

关系:常用关系为subclassof(概念之间的上下位关系),instanceof(概念与实例的上下位关系),use(使用),part_of(包含)

人力资源行业应用场景

人才盘点

人岗匹配:对已有的jd/简历数据做了充分的深加工,使之构成知识图谱,简历和JD的匹配不是基于关键词而是对简历和需求的深度了解,甚至是相似岗位大数据的基础构成知识网络,达成精细化匹配。

人才画像:通过图谱推理补全,可以对员工进行全方位的技能以及素质描画,基于完备的人才画像,可以更好的对其晋升及培养提供指导意见。

Chat Bot

基于知识图谱的智能问答机器人,可以在多轮对话中,跟踪并推理用户潜在意图和缺失知识点,在面试及人才盘点场景中可以更智能理解用户真实需求。

知识图谱的构建知识图谱的构建过程,主要分为两个部分:首先从各种数据源中抽取构建图谱所需的候选实体(概念)以及属性关系,第二步需要将这些独立零散的知识体系整合集成。并最终存储在特定的数据结构中。

人力资源知识图谱搭建及应用

图谱存储

常见知识图谱数据存储方式:

1.三元组表(S,P,O):类似RDF存储结构,以元组为单元进行存储,语义较为明确,但存在大量自连接的操作,开销巨大

2.属性表:属性相似的主语聚为一张表,类似关系型数据结构,每一条数据代表一个实体,每一列代表一个属性。

目前图结构存储有两种通用的存储方案:RDF存储 和 图数据库(Graph Database)。 图数据库的结构定义相比RDF数据库更为通用,实现了图结构中的节点,边以及属性来进行图数据的存储,典型的开源图数据库就是Neo4j/Dgraph/tinkerpop/OrientDB等, 这种做法的优点是数据库本身提供完善的图查询语言、支持各种图挖掘算法。

本文介绍三元组+图数据库的存储方式,使用Dgraph图数据库。Dgraph 是一个可扩展的,分布式的,低延迟的图数据库,目标是提供 Google 生产水平的规模和吞吐量,在超过 TB 的结构数据里,为用户提供足够低延迟的实时查询。Dgraph有独立开发的网页端查询和操作界面,同时支持 GraphQL 作为查询语言。

人力资源知识图谱搭建及应用

实体提取

实体定义:

能够独立存在的,作为一切属性的基础和万物本原的东西,也就是说实体是属性赖以存在的基础,必须是自在的,也就是独立的、不依附于其他东西而存在的。比如身高,单单说身高是没有意义的,说“运动员”这个类别的身高也是没有意义的,必须说某个人的身高,才是有明确所指,有意义的。

数据来源:E成科技已经有8万注册企业用户,积累了上亿份简历数据,以此作为数据源可以广泛覆盖多行业人才知识体系

实体类型:证书/公司/部门/职能/行业/专业/学校/技能等八大实体

模型提取:使用了当前业界通用的CRF序列标注模型结合领域专属词表

关系抽取

常见语义关系主要包括:同义关系、上下位关系、部分整体关系和因果关系等。其中上下位关系是一种非常重要的语义关系而且在知识图谱的构建过程中占有很大的比重。上下位关系的抓取就成为构建知识图谱的核心之一。上下位关系的抓取分为有监督的和无监督的,以下我们将各自进行介绍:

有监督模型

基于远程监督(Distant Supervision)和卷积神经网络(CNN)相结合的方法对上下位关系进行提取以及后续可以改进的地方。PCNNs(Piecewise Convolutional Neural Networls)模型是由Zeng et al. 在2015年提出的,该模型主要解决了以下两个问题:第一,对于远程监督的wrong label问题,模型采用了多个示例进行学习训练,抽取置信度高的样本训练模型;第二,解决了传统特征抽取特征错误或者无效的问题,PCNN利用卷积神经网络进行自动特征学习。

人力资源知识图谱搭建及应用

主要计算步骤如下:

步骤一:切词,对文本进行切词,并标记实体的位置。

步骤二:向量化(Vector Representation),利用word2vec对切分的词进行word embedding(d维)表示,position embedding (d维)采用随机初始化。这样就将一段文本表示成了d×S,其中S是文本的token数。

步骤三:卷积(Convolution)构造卷积核对步骤二的矩阵进卷积操作

步骤四:池化(pooling),这里采用的是max-pooling,但是这里与一般的池化层有一定的区别,这里池化的位置是实体的分割位置。

步骤五:Softmax分类输出。

无监督模型

有监督模型对于训练样本的标注以及语料都有比较高的要求。在实际应用中,无监督模型可以在没有标注数据的情况下获得部分数据的实体上下位关系,同时也可以支持有监督的方法。

1.基于pattern的方法,例如熟悉CNN、LSTM等神经网络。在例句中CNN和LSTM就是神经网络(上位词)的下位词

2.根据假设Distributional Inclusion Hypothesis(DIH)即下位词的上下文包含与上位词的上下文和实体词的上下文来发现上下位关系

外部知识体系

知识图谱的构建与知识体系积累已经取得了很多研究成果,使用相对成熟的外部知识源补充手工构建的知识图谱也是一种常用手段。

在这次人力资源图谱构建过程中,主要使用了wikidata以及mba智库两个外部数据源。

Wikidata是一个大型数据库,由维基媒体德国分会首先提出,其目标是开发“世界知识的一个协作编辑的数据库”。该数据库提取了包括中文版在内的不同语言版本的维基百科和Freebase中具有共同认知的条目,并设想通过这样的共享数据库,提高维基百科内容的质量和一致性 。更重要的是 Wikidata非常重视数据的来源,并对其进行标注。该项目在2014年已完成,目前总条目数已经达到14755076个,且在持续增长中。

MBA智库百科是一部内容开放的百科全书,也是人人可以参与编写的百科全书。其目标是专注于经济管理领域知识的创建与分享。该数据库中的词条按照领域进行了分类,并构成了一个树形的多级领域结构。对于人力资源行业,常见的Wikidata等数据库中对该领域的覆盖率不够;而MBA智库百科中的经管类数据则对提升数据的覆盖率起到了一定的作用。

实体对齐/链接

对于多个外部数据源引入后,会出现大量的相似实体,故需要引入实体对齐/链接技术。

实体对齐/链接(ObjectAlignment):旨在发现具有不同标识实体但却代表真实世界中同一对象的那些实体,并将这些实体归并为一个具有全局唯一标识的实体对象添加到知识图谱中。目前常用的方式是对实体进行聚类分析,聚类的关键在于定义合适的相似度计算。

本文介绍两种相似度计算:具有相同描述的实体可能代表同一实体(字符相似);具有相同邻居的实体可能指向同一个对象(结构相似)。

后续工作

知识图谱的构建是一个浩大的工程,本文仅列举部分常用模块,实体消歧/知识推理/关系补全等其他相关工作将另文介绍。

参考文献

Daojian Zeng and Kang Liu and Yubo Chen and Jian Zhao,Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks,EMNLP,2015

Stephen Roller, Douwe Kiela, Maximilian Nickel,Hearst Patterns Revisited: Automatic Hypernym Detection from Large Text Corpora,ACL,2018

Vered Shwartz, Enrico Santus, Dominik Schlechtweg,Hypernyms under Siege: Linguistically-motivated Artillery for Hypernymy Detection,EACL,2017

Baoxu Shi, Tim Weninger,Open-World Knowledge Graph Completion,AAAI,2018

Zhuang Yan, Li Guoliang, Feng Jianhua,A Survey on Entity Alignment of Knowledge Base,2016


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 我们


推荐阅读
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • 开发笔记:2019年13大GraphQL工具和库
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了2019年13大GraphQL工具和库相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在C#中,使用关键字abstract来定义抽象类和抽象方法。抽象类是一种不能被实例化的类,它只提供部分实现,但可以被其他类继承并创建实例。抽象类可以用于类、方法、属性、索引器和事件。在一个类声明中使用abstract表示该类倾向于作为其他类的基类成员被标识为抽象,或者被包含在一个抽象类中,必须由其派生类实现。本文介绍了C#中抽象类和抽象方法的基础知识,并提供了一个示例代码。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 代码查看工具_不好用打我 | 六个前端开发在线工具推荐
    https:blog.csdn.netEAPxUOarticledetails105648315EnjoyCSS老实说,虽然我做过许多前端开发,但我并不 ... [详细]
  • SpringBoot整合GraphQL第(二)章节
    Postman请求方式Post请求JSON格式传递{query:{selectUserById(id:1){idnameecountlout}}}根据id进行查询组 ... [详细]
  • Katalon Studio Enterprise 8.5 CrackNew
    关于Katalon平台Katalon平台是一个现代化的综合质量管理平台,使团队能够轻松高效地测试、启动和优化最佳数字体验。它提供了允许测试自动化团队协作、管理、扩展和 ... [详细]
author-avatar
陈小超Sum
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有