“知识图谱本质上是语义网络(Semantic Network)的知识库”。
本文为【KG知识图谱】系列的第一篇。
知识图谱(Knowledge Graph)是目前帮助人类更好地进行统计分析、应用决策等行为的工具,其应用场景也从最初的搜索扩展到通用领域及电商、医疗、社交网络等垂直领域。下列内容从什么是知识图谱、知识图谱构建技术、知识图谱应用三个方面进行了概述。
01
什么是知识图谱?
在了解知识图谱(Knowledge Graph)之前,让我们先来看看:
什么是知识?
“知识是对某个主题‘认知’与‘识别’的行为藉以确信的认识,并且这些认识拥有潜在的能力为特定目的而使用。意指透过经验或联想,而能够熟悉进而了解某件事情;这种事实或状态就称为知识,其包括认知或了解某种科学、艺术或技巧。”
——维基百科
- 普通用户眼中的知识图谱:更智能的问答搜索
- 开发同学眼中的知识图谱:更高效的关系查询
- 分析策略同学眼中的知识图谱:更容易发现复杂关系
- 算法同学眼中的知识图谱:丰富的关系特征
……
上述理解都是对的!
“知识图谱本质上是语义网络(Semantic Network)的知识库”。
知识图谱的概念最早是由谷歌在其一个名为“Knowledge Graph”的项目中提出。这个项目旨在利用结构化的数据来增强谷歌搜索引擎、提升用户搜索质量与体验。
相较于传统的基于关键词匹配的搜索方式,基于知识图谱的语义搜索可以更好地理解用户查询意图,以此来提供更准确、智能的搜索结果。例如,当在谷歌中搜索“姚明的身高是多少?”时,谷歌不仅会返回与“姚明”和“身高”相关的网页,还会将这个问题的答案“2.29米”直接返回给用户。
随着谷歌知识图谱项目的成功,很多公司都将知识图谱技术作为其构建下一代智能搜索引擎架构的核心组成部分之一。
例如:
为了增强Bing搜索引擎的能力,微软构建了一个大规模知识图谱Satori;
百度构建了多个不同类型的知识图谱来增强其百度搜索引擎,包含实体知识图谱、概念知识图谱、常识知识图谱等;
搜狗构建了一个名为“知立方”的知识图谱来提升其搜狗搜索引擎的搜索质量。
后来,知识图谱在人工智能、数据库、语义网等领域都成为了一项十分流行的技术。
在知识图谱里,我们通常用“实体(Entity)”来表达图里的节点、用“关系(Relation)”来表达图里的“边”。实体指的是现实世界中的事物比如人、地名、概念、药物、公司等,关系则用来表达不同实体之间的某种联系,比如人-“居住在”-北京、张三和李四是“朋友”、逻辑回归是深度学习的“先导知识”等等。
所有上述的这些实体、概念、字面量和关系在知识图谱中都是以三元组的形式存储,三元组是知识图谱的最小存储单元。三元组以*<主语,谓语,宾语>*的形式组织数据,如<周杰伦,is-a,歌手>,
<周杰伦,is-a,singer>等。
人工智能的核心目标是让机器具有学习和推理的能力,因此许多研究者致力于研究机器学习、逻辑推理等技术。
这里面的关键点之一是,如何表示和存储知识,使得机器能够理解并反复利用它们。知识图谱便是解决这个问题的有效途径之一,它通过将知识表示成机器可理解的形式,来增强机器的学习和推理能力,从而使机器具有学习和推理的能力。
02
知识图谱构建技术综述
知识图谱构建技术的通用框架如下图所示,主要包含四个模块:知识抽取(Extraction)、知识融合(Integration)、知识质量控制(Quality)以及知识更新(Update)。
(1)知识抽取(Extraction):
知识图谱构建的第一阶段就是知识抽取,其抽取的数据源类型主要有3种,即结构化数据、半结构化数据以及非结构化数据。结构化数据指有着严格数据模型的数据,如关系数据库表中的数据;半结构化数据指有着特定结构,但并不具有特别严格限制的数据,如XML数据;非结构化数据指没有任何结构定义的数据,如文本数据,
(2)知识整合(Integration):
知识图谱的构建过程往往会从多种不同的数据源抽取数据,因此对这些异构数据做融合是非常有必要的。知识图谱中融合异构数据的方式通常有两种,第一种是知识链接,即将来自不同数据源的等价实体、关系、概念等通过一种“等价 ”关系链接起来;第二种方式是在知识链接的基础上,进一步对知识做合并,将等价的实体、关系、属性等合并为一个。
(3)知识质量控制(Quality):
很多用于构建知识图谱的数据源往往是开放编辑的,如维基百科、百度百科等,因此这些数据源中的错误知识是不可避免的。所以在构建知识图谱过程中,利用错误检测与修正技术来保证知识图谱的数据质量,也是很重要的。除此之外,知识图谱中的知识永远是不完整的,因此知识补全也是质量控制环节的另一个重要技术。
(4)知识更新(Update):
在现实世界中,知识总是动态变化的,如阿里巴巴的CEO在几年前是马云,但是现在是张勇;与此同时也不断有新的知识出现。因此,一个有效的数据更新机制,是保证知识图谱的准确性与可应用性的重要保障之一。
03
知识图谱的应用
(1)语义搜索
知识图谱可以提供高质量的结构化背景知识和常识数据,来辅助搜索引擎更好地理解用户搜索意图,从而提供更精确和智能的搜索结果。基于知识图谱的搜索技术可以克服传统基于关键词匹配的搜索模型的缺陷,将基于Web-Document的搜索转化为语义搜索。如今,大部分搜索引擎(百度、谷歌、Bing、搜狗等)都在其后台构建了自己的知识图谱,以此来增强用户搜索体验。
如下图所示,当在谷歌搜索中搜“周杰伦”时,除了与“周杰伦”相关的网页会被返回给用户,与“周杰伦”相关的人物信息也会被推荐给用户。这就是知识图谱在搜索引擎里的典型应用之一。
搜索引擎在接收到用户搜索后,首先通过实体识别技术,抽取出用户搜索关键词中的相关实体,然后从知识图谱中搜索该实体相关的一些知识,然后再以结构化的形式推荐给客户。
(2)智能问答
智能问答是人工智能领域一个非常流行的应用,相较于搜索引擎,它可以自然语言的形式,直接给用户一个更加精确的答案,而无需用户再对返回的结果做筛选和甄别。这样的一个对话式的信息获取形式,要求问答系统具有极高的可靠性和准确性。
知识图谱可以帮助问答机器人来提升其智能性。目前已有一个专门的研究方向来研究基于知识图谱的智能问答,通常称之为KBQA(Knowledge Base Question Answering)领域,大量的研究者在这个领域进行相关的研究。利用知识图谱辅助智能问答最直接的方式就是在知识图谱上进行答案检索。
举例来说,对于这样一个问句“周杰伦发行了什么专辑?”,问答系统首先会利用NLP(自然语言处理)技术来将这个问句转化为挖掘实体“周杰伦”的属性“发行专辑”的属性值是什么;然后就可以在知识图谱中检索这个实体的属性值,并作为答案返回给用户。
除了上述这种直接检索方式,另一种方式是利用知识图谱表示学习技术,将知识图谱实体关系等语义信息转化为稠密低维的向量表示形式,并将这些带有丰富语义信息的向量输入到时下流行的问答模型中去,提升问答模型效果。
目前国内外很多问答平台和机器人背后的技术都有采用上述的思路来利用知识图谱,如百度的小度机器人、阿里的小蜜机器人、苹果的Siri机器人以及微软的Cortana机器人等等。
(3)大数据分析与决策
知识图谱可以表示和链接各种不同的数据,如文本、多媒体、传感器数据等等。它可以在大数据之中,构建数据之间的语义关联。基于这些具有关联关系的数据,可以很容易地进行数据分析并辅助决策。目前基于知识图谱的大数据分析与决策技术已经被应用在各行各业,例如:
股票投研情报分析
通过抽取公司的股东、子公司、供应商、客户、合作伙伴、竞争对手等信息构建企业知识图谱,今儿做更深层次的分析和更好的投资决策。目前为大家所熟知的天眼查,便是这个应用场景的典型案例。
(4)在其他垂直领域的应用
在电商领域,许多电商公司也都在使用知识图谱相关的技术。一个电商平台不仅包含了海量的商品信息,还包含着产品、制造、供应商以及其他很多与商品相关的信息。如何对这些信息及其之间的关系进行管理和建模,是一项重要的挑战。知识图谱凭借其灵活且强大的本体建模能力,可以有效地管理和建模这些数据。阿里巴巴的电商知识图谱AliCoCo将商品、标准产品、品牌以及标准商品类别作为核心数据,利用了实体识别、实体链接以及语义分析等技术,整合了海量的异构数据。它是一个包含了几十亿三元组的超大规模知识图谱,并且被广泛应用在阿里电商业务的各条产品线上,如商品搜索、导购、平台管理、智能问答、品牌推广等等,极大的促进了阿里电商平台的发展。
在其他领域如社交网络、生物科学、物联网等,知识图谱同样在发挥着越来越重要的作用。也正是因为知识图谱在各领域的广泛引用,才促成了近些年知识图谱研究的热潮。