背景介绍
人力资源行业其实是做关于人的决策的数据密集型行业,其中的传统数据就包括简历、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):旨在发现具有不同标识实体但却代表真实世界中同一对象的那些实体,并将这些实体归并为一个具有全局唯一标识的实体对象添加到知识图谱中。目前常用的方式是对实体进行聚类分析,聚类的关键在于定义合适的相似度计算。
本文介绍两种相似度计算:具有相同描述的实体可能代表同一实体(字符相似);具有相同邻居的实体可能指向同一个对象(结构相似)。
后续工作
知识图谱的构建是一个浩大的工程,本文仅列举部分常用模块,实体消歧/知识推理/关系补全等其他相关工作将另文介绍。
参考文献
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