一文让您深度掌握“知识图谱”

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:3

一文让您深度掌握“知识图谱”


人工智能背后具有两大技术驱动力:深度学习知识图谱。关于二者的具体介绍如下:


深度学习隐性的模型,通常是面向某一个具体任务,比如说下围棋、识别猫、人脸识别、语音识别等等。


通常而言,深度学习在很多任务上能够取得非常优秀的结果,但它也有较大的局限性,比如说它需要海量的训练数据,以及非常强大的计算能力,难以进行任务上的迁移,而且可解释性比较差


知识图谱:人工智能的另外一大技术驱动力,能够广泛地适用于不同的任务。相比深度学习,知识图谱中的知识可以沉淀,可解释性非常强,类似于人类的思考。


很多深度学习的算法,都是一些“黑盒子”:工程调参数,大规模标注样本数据,然后在“黑盒子”里跑数据。跑出来结果知其然,而不知其所以然


此外,深度学习的局限性也日益显现:依赖大规模标注数据,模型的结果会与人的先验知识或者专家知识相冲突。因此,相比深度学习算法,像人类一样具备分析和推理能力的“大脑”或许更有帮助,而知识图谱就是这样的“大脑”。


本期小编携手苍穹数据智能,带你一起了解下知识图谱。




1 什么是知识图谱


2012 年 5 月 17 日,Google 正式提出了知识图谱(Knowledge Graph)的概念,其初衷是为了实现更智能的搜索引擎,优化搜索返回的结果,提升用户搜索质量及体验。


随着信息服务应用的不断发展,聊天机器人、大数据风控、证券投资、个性化推荐、HR人岗匹配等,无一不跟知识图谱相关,其在技术领域的热度也在逐年上升。


知识图谱,从学术角度而言,它是一种大型语义网络的知识库;从实际应用角度而言,可以简单理解为多关系图


那什么叫多关系图呢?学过数据结构的都应该知道什么是图(Graph)。图由节点(Vertex)(Edge)构成,但这些图通常只包含一种类型的节点和边。而多关系图一般包含多种类型的节点边,如下图所示:

多关系图旨在描述客观世界的概念实体事件以及事件之间的关系。


它以实体概念为节点,以关系为边,将分散的知识与信息连接起来,从人类对世界认知的角度,阐述世间万物之间的关系,既容易被人类解读,又容易被计算机来处理和加工,具有可解析性可推理性


由于图谱的方式更贴近人类大脑的思维方式,多关系图可以作为一种信息记录工具,也可以辅助人类思考,更可以提供从“关系”的角度去分析问题的能力。


以一张简单的知识图谱为例:


如图所示,如果两个节点之间存在关系,就会被一条无向边连接在一起。其中,节点称为实体(Entity),连接节点间的边称为关系(Relationship)


知识图谱的基本单位,便是由“实体(Entity)-关系(Relationship)-实体(Entity)”构成的三元组。三元组也是知识图谱的核心


  • 实体: 指的是具有可区别性且独立存在的某种事物,如图中的“中国”、“北京”、“16410平方公里”等。实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。

  • 关系: 关系是连接不同的实体,指代实体之间的联系,如图中的“人口”、“首都”、“面积”等。通过关系节点把知识图谱中的节点连接起来,形成一张大图。


2 如何构建知识图谱


应用知识图谱的前提是已经构建好了知识图谱。构建知识图谱,需要经过知识建模、知识抽取、知识清洗和融合、知识存储等四个过程,是持续迭代的系统工程,不可能一蹴而就。


但需注意,知识图谱本身仍是以业务和数据为重心,不能低估业务和数据的重要性。


Step1 知识建模


构建知识图谱,首先需要做好知识模型的定义


定义知识模型,需从相关领域的实际应用场景和具体需解决的问题出发,定义该领域里概念的层次结构和概念之间的关系类型。为了确保知识图谱的严谨性和准确性,该领域的知识专家需参与定义知识模型的过程。


Step2 知识抽取


数据是构建知识图谱的基础。梳理数据非常重要,同时也最耗时间。具体需要什么数据,依赖于要解决的问题和应用场景。


一般而言,基于问题或者场景,梳理出领域相关的问题和数据、领域的词典,或者领域专家的经验规则,再结合外部百科数据或者开放知识图谱的数据,最终确定所需构建的知识图谱的数据。


数据类型一般有2种:


一种是业务本身的数据,通常用关系型数据库并以结构化的方式存储,只需简单预处理或者转换。


一种是网络上公开、抓取的数据,需要借助爬虫、NLP等技术来处理,主要涉及以下操作:爬虫、实体抽取、关系抽取、属性抽取


爬虫需要解决登录、反爬等问题。该问题又是一个大的命题,非本文重点,因此这里不具体展开讨论。


抽取的质量(准确率)对后续的知识获取效率和质量影响极大,因此是信息抽取中最为基础和关键的部分。


根据领域专家的经验规则来进行抽取的准确率是最高的,其次是采用深度学习进行抽取。



小TIPS:


进行数据抽取时,需根据业务数据、领域的词典,足够多的标注数据进行特征建模,利用测试数据对模型进行验证。


当准确率达到一定标准后,才能使用,否则需要对业务数据、领域的词典,领域专家的经验规则、标注数据进行修正或者添加,直到准确率达到一定标准后为止。


该过程非常漫长,且模型投入使用时,往往也需要人工审核环节,以确保知识质量。



Step3 知识清洗和融合


知识来源广泛,有业务本身的数据,也有不同网络上的数据,存在质量良莠不齐、知识重复、知识间的关联不够明确等问题。


因此,必须要进行知识的清洗和融合,将不同来源的知识在同一框架规范下进行异构数据清洗、整合、消歧、加工、推理验证、更新等,最终形成高质量的知识库。


该过程比较棘手,非常具有挑战性,通常会遇到以下两种情况:


情况1:有些实体的名称相同,但其实是两个不同的实体,需要进行区分。


例如:两个实体的名称都为苹果,如下图,但一个是指苹果公司,苹果设备,另外一个是指苹果这种水果。



情况2:有些实体名称不一样,但其实是指向同一个实体,比如“中华人民共和国”、“中国”和 “China”,“北京大学”和“北大”。


面对这两种情况,通常采用领域专家的经验规则来解决,也可以采用聚类的方法,定义合适的相似度的阈值,根据实体描述的相似度和实体属性的相似度两个维度进行聚类。


Step4 知识存储


知识存储的方式主要有两种:一种是基于RDF(Resource Description Framework,资源描述框架)的存储,另一种是基于图数据库的存储。


  • RDF的一个重要的设计原则是数据的易发布以及共享

  • 图数据库的重点则放在了高效的图关联查询和搜索上,使用场景更广。


当然,如果需要设计的知识图谱非常简单,数据量比较少,而且查询也不会涉及到1度以上的关联查询,也可以选择用关系型数据库存储。


但是随着知识图谱复杂程度的提升(实际场景中的实体和关系普遍都比较复杂),图数据库的优势会慢慢体现出来,尤其是在关联查询的效率上会高出几千倍甚至几百万倍


一般而言,图数据库适合体量较大的知识存储,复杂关系计算等场景,具体优点如下:


  • 可以很自然地表达现实世界中的实体及其关联关系(对应图的顶点及边),图中的节点表示知识图谱的对象,图中的边表示知识图谱的对象关系;

  • 灵活的数据模型可以适应不断变化的业务需求

  • 灵活的图查询语言、支持各种图挖掘算法,可以轻松实现复杂关系网络的分析;

  • 具有超强的遍历关系网络并抽取信息的能力

  • 天然把关联数据连接在一起,无需耗时耗内存的Join操作,可以保持常数级时间复杂度,在数据规模庞大时也能做好多层关联关系分析。


但在实际应用时,一般根据经验和不同数据的特点来进行选型,并结合关系型数据库、图数据库来综合使用,而不是说一味地追求图数据库。


3 如何应用知识图谱


苍穹数据智能目前专注于不同领域知识图谱的建设和突破,下面以人岗匹配为例子简单介绍下如何构建和应用领域知识图谱。


在这之前,需要先搭建一个HR领域的知识图谱


需要说明的是,有不少人可能认为,搭建一个知识图谱的重点在于算法和开发。


但事实并非如此,最重要的核心是数据,其次在于对业务的理解以及对知识图谱本身的设计。这就类似于对于一个业务系统,数据库表的设计尤其关键,而且这种设计绝对离不开对业务的深入理解以及对未来业务场景变化的预估。 


因此,首先应确定具体的业务场景。


Step1 确定具体业务场景


HR每天面对的候选人很多,在筛选候选人的过程种,HR需要花大量时间去进行搜索,并人为判断简历和招聘岗位的符合程度。


现有人岗匹配技术相对来说是一个比较粗糙的技术,很多时候只能依赖非常简单的规则来实现,当候选人不多或时间充足时,匹配的精度才可能相对精细一点。而构建知识图谱,可以在某种程度上弥补这些不足。


Step2 知识建模


首先,梳理HR业务逻辑,了解业务数据的结构。梳理业务逻辑时,应遵循以下两个原则:


  1. 一切从业务逻辑出发,应实现通过观察知识图谱的设计也能很容易地推测其背后业务的逻辑,而且设计时也要想好未来业务可能的变化;

  2. 让知识图谱尽量轻量化,在构建知识图谱前就应决定好哪些数据放在知识图谱,哪些数据不需要放在知识图谱。


一般而言,简历的基本结构包含基础信息、教育经历、工作经历、技能列表等等;职位的基本结构包括职位名称、学历要求、职位描述等等。


结构里面的部分信息是大段文字,比如工作经历、职位描述,这些不需要全部放在知识图谱中,但可以抽取其中的关键信息。


此外,结构里面的部分信息也需要加强,即需要用其他信息(如公司信息、学校信息)来丰富简历中的内容,比如工作经历中的公司是否名企,教育经历中的学校是否名校等。


通过梳理和细化,大致可以得到以下实体和关系:


  • 实体:公司地点、行业、产品、职位、技能、学校、榜单;

  • 关系:公司地点、公司行业、公司榜单、职位相关技能、学校榜单。


Step3 将数据存入知识图谱


需要存入知识图谱的数据有以下几类:


  • 公开数据:公司(包括排名,行业分类,品牌)、高校(包括排名)、城市、职位分类、技能等

  • 简历数据:解析、结构化处理,并通过特征标签抽取

  • 职位数据:解析、结构化处理,并通过特征标签抽取


存入过程需要用到前文所说的知识抽取、知识清洗、知识融合,挑战很大。比如知识融合,由于简历的个性化表述,不同人对同一个公司名的描述可能不一样,也有可能跟公开数据中的公司名不一样。这一步需要持续迭代,不停地进行数据更新与维护。


Step4 人岗匹配应用开发


等构建好知识图谱之后,接下来就要使用它来解决具体的人岗匹配问题。


匹配方法一般有两种:


  1. 根据领域专家规则,对简历和职位的某些字段值,进行规则的判断比较;

  2. 语义匹配,把职位的内容和简历的内容做语义的匹配,通过图谱的子图匹配,来解决语义匹配的问题。


子图匹配可以实现消岐的效果,比如AI这个技能,在UE领域下有一个叫AI的软件,人工智能里也有个AI。单独AI这个词无法区分是哪个领域下的,但通过子图匹配,可区分出AI+PS属于UE,AI+NLP属于人工智能。



匹配过程的示意图如下:蓝色线左边的是职位的数据,蓝色线右边的是简历的数据;红色框内是通过图谱关联的技能知识,通过技能的子图可以读懂Spark、Hadoop、Hive技能为大数据的相关技能。



同理,把简历特征跟职位特征做匹配处理,看的匹配度是多少,匹配度高的,认为这个简历是匹配的,相反则不匹配。


通过以上步骤,即可实现人岗匹配功能。




以上就是本期的全部内容~满满干货,有没有使读完本文的你对知识图谱的了解更加深入呢?


#往期推荐#

# 如何定义客户价值?聚类算法告诉你!

# 揭秘商品推荐背后的神秘算法——比你自己还懂你!

三步快速掌握“基于vue框架”的前端单元测试方法

# 一文带您了解“事件图谱”


更多精彩内容,“码”上了解!↓


一文让您深度掌握“知识图谱”

人工智能背后具有两大技术驱动力:深度学习和知识图谱。关于二者的具体介绍如下:深度学习:隐性的模型,通常是面向某一个具体任务,比如说...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息