知识图谱知识图谱

知识图谱

2018-09-29  本文已影响0人  撸撸很乖张

知识图谱

基本概念及定义

[知识图谱](Knowledge Graph)又称为科学知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。

通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。为学科研究提供切实的、有价值的参考。

Knowledge Graph从以下三方面提升Google搜索效果:

1、找到最想要的信息。
语言可能是模棱两可的 —— 一个搜索请求可能代表多重含义,Knowledge Graph会将信息全面展现出来,让用户找到自己最想要的那种含义。现在,Google能够理解这其中的差别,并可以将搜索结果范围缩小到用户最想要的那种含义。
2、提供最全面的摘要。
有了Knowledge Graph,Google可以更好的理解用户搜索的信息,并总结出与搜索话题相关的内容。例如,当用户搜索“玛丽·居里”时,不仅可看到居里夫人的生平信息,还能获得关于其教育背景和科学发现方面的详细介绍。此外,Knowledge Graph也会帮助用户了解事物之间的关系。
3、让搜索更有深度和广度。
由于Knowledge Graph构建了一个与搜索结果相关的完整的知识体系,所以用户往往会获得意想不到的发现。在搜索中,用户可能会了解到某个新的事实或新的联系,促使其进行一系列的全新搜索查询。

这个概念是google在2012年提出的,当时主要是为了将传统的keyword-base搜索模型向基于语义的搜索升级。

知识图谱主要目标是用来描述真实世界中存在的各种实体和概念,以及他们之间的强关系,我们用关系去描述两个实体之间的关联,例如姚明和火箭队之间的关系,他们的属性,我们就用“属性--值对“来刻画它的内在特性,比如说我们的人物,他有年龄、身高、体重属性

知识图谱可以通过人为构建与定义,去描述各种概念之间的弱关系,例如:“忘了订单号”和“找回订单号”之间的关系

知识图谱最早被应用于搜索引擎领域,旨在通过语义把碎片化的数据关联起来,让用户能直接搜索到事务(Things),而不是文本字符串(Strings)。在搜索引擎中引入知识图谱大幅的提升和优化了搜索体验。

近年来,随着人工智能的再次兴起,知识图谱又被广泛的应用于聊天机器人和问答系统中,用于辅助深度理解人类的语言和支持推理,并提升人机问答的用户体验等。典型的如IBM的Watson,苹果的Siri,Google Allo,Amazon Echo,百度度秘,公子小白等。

此外,知识图谱还被用来提升数据分析的能力和效果。例如著名的大数据公司Palantir利用知识图谱建立数据的关联以提升上游数据分析的效果。与知识图谱有关的语义技术也被用来提升机器与机器之间的语义互操作能力,解决机器之间的语义理解问题。例如,全球最大物联网标准化组织OneM2M就把语义和知识技术作为物联设备抽象和语义封装的技术基础。

在金融、农业、电商、医疗健康、环境保护等大量的垂直领域,知识图谱都得到广泛的应用。例如,很多金融领域公司也构建了金融知识库以进行碎片化金融数据的集成与管理,并辅助金融专家进行风控控制、欺诈识别等;生物医疗专家通过集成和分析大规模的生物医学知识图谱,辅助其进行药物发现、潜在靶点识别等多方面任务。

当一个人听到或看到一句话的时候,他使用自己所有的知识和背景去理解。这不仅仅包括语法,也包括他的词汇知识,上下文知识,更重要的,是对相关事务的理解——Terry Winograd(自然语言理解系统SHRDLU作者)

知识库的概念

知识库的种类

知识库目前可以分为两种类型:Curated KBs 和 Extracted KBs

Curated KBs:以yago2和freebase为代表,他们从维基百科和WordNet等知识库抽取了大量的实体及实体关系,可以把它理解城一种结构化的维基百科。

Extracted KBs:主要是以Open Information Extraction (Open IE), Never-Ending Language Learning (NELL)为代表,他们直接从上亿个网页中抽取实体关系三元组。与freebase相比,这样得到的实体知识更具有多样性,而它们的实体关系和实体更多的则是自然语言的形式,如“姚明出生于上海。” 可以被表示为(“Yao Ming”, “was also born in”, “Shanghai”)。直接从网页中抽取出来的知识,也会存在一定的噪声,其精确度低于Curated KBs。

目前行业内使用的比较多的还是Curated KBs,主要是因为*Curated KBs*比较简单,容易构建,噪音少。

什么是知识库?

a)“姚明出生于上海”

b)“姚明是篮球运动员”

c)“姚明是现任中国篮协主席”

以上就是一条条知识,把大量的知识汇聚起来就成为了知识库(Knowledge Base)。我们可以从wikipedia,百度百科等百科全书获取到大量的知识。但是,这些百科全书的知识是由非结构化的自然语言组建而成的,这样的组织方式很适合人们阅读但并不适合计算机处理。

这里我们可以简单的把三元组理解为 (实体entity,实体关系relation,实体entity),进一步的,如果我们把实体看作是结点,把实体关系(包括属性,类别等等)看作是一条边,那么包含了大量三元组的知识库就成为了一个庞大的知识图。

知识库的表示形式

为了方便计算机的处理和理解,我们需要更加形式化、简洁化的方式去表示知识,那就是三元组(triple)。

“姚明出生于中国上海” 可以用三元组表示为(Yao Ming, PlaceOfBirth, Shanghai)[1]。这里我们可以简单的把三元组理解为(实体entity,实体关系relation,实体entity)。如果我们把实体看作是结点,把实体关系(包括属性,类别等等)看作是一条边,那么包含了大量三元组的知识库就成为了一个庞大的知识图。

有些时候会将实体称为topic,如Justin Bieber。实体关系也可分为两种,一种是属性property,一种是关系relation。如下图所示,属性和关系的最大区别在于,属性所在的三元组对应的两个实体,常常是一个topic和一个字符串,如属性Type/Gender,对应的三元组(Justin Bieber, Type, Person),而关系所在的三元组所对应的两个实体,常常是两个topic。如关系PlaceOfBrith,对应的三元组(Justin Bieber, PlaceOfBrith, London)。

3965088-9ef830ae22be10e8.png

数据结构:freebase的基础知识表达形式:(实体)-[关系]-(实体),(实体)-[关系]-(值)

在语义搜索这一块,知识图谱的搜索不同于常规的搜索,常规的搜索是根据keyword找到对应的网页集合,然后通过page rank等算法去给网页集合内的网页进行排名,然后展示给用户;基于知识图谱的搜索是在已有的图谱知识库中遍历知识,然后将查询到的知识返回给用户,通常如果路径正确,查询出来的知识只有1个或几个,相当精准。

知识图谱的优点

知识推断补全能力

根据Schema,知识图谱可以自动推断出新的知识。假设下图左侧是原始的知识图谱,根据两层父子关系,图谱可以自动推断出缺失的祖孙关系,正所谓“爸爸的爸爸是爷爷”。

image

语义理解能力

比如字符串“位于香港的博物馆”,对于知识图谱而言这再也不是单纯的字符串,而是饱含语义的关系查询:要查询某一个东西(?),它是属于博物馆类别的,而且是位于香港的。

image

知识图谱的知识表达系统

三元组定义

实体(Entity)

实体是对客观个体的抽象,一个人、一部电影、一句话都可以看作是一个实体。例如:姚明,李安,我不是潘金莲

类型(type)

类型是对具有相同特点或属性的实体集合的抽象。

举例:中国是一个实体,美国是一个实体,法国是一个实体。这些实体都有首都、人口、面积等共同特征,因此例如像中国、美国、法国等都有首都、人口、面积等特征的实体可以抽象为“国家”类型

属性(property)

属性是对实体与实体之间关系的抽象,例如李安是一个实体,李安是一个人物(type),少年派的奇幻漂流是一个实体,少年派的奇幻漂流是一个电影(type),很明显两个实体之间存在着关系即为:李安→导演→少年派的奇幻漂流因此李安与少年派的奇幻漂流之间的关系可以用属性“导演”刻画。那么可以根据属性构建一层关系,人物(type)→导演(property)→电影(type)。

关系(relation)

关系是实体与实体之间关系的抽象,李安(entity)→导演(relation)→少年派的奇幻漂流(entity),导演这个relation则是描述李安和少年派的奇幻漂流的关系。

域(domain)

域是类型的集合,凌驾于类型之上,是对某一领域所有类型的抽象,例如:国家是对中国、美国这样实体的一种抽象,是一种类型,而一个地理位置除了国家类型之外,还包括其他类型:城市、区域、洲等等,而把这些所有类型:洲、国家、城市、区域等类型抽象起来,就形成了地理位置域。

值(value)

值是用来描述实体的,可以分为文本型和数值型,EG:姚明(entity)→身高(relation)→226cm(value)。

根据上面的概念,构建一个基础的图谱

知识图谱的架构

知识图谱的架构,包括自身的 逻辑结构技术架构

逻辑结构 可分为2个层次 :数据层和模式层

数据层 : 知识以事实(fact)为单位存储在图数据库

模式层在数据层之上,是知识图谱的核心。在模式层存储的是经过提炼的知识,通常采用本体库来管理知识图谱的模式层借助本体库对公理、规则和约束条件的支持能力来规范实体、关系以及实体的 类型和属性等对象之间的联系.本体库在知识图谱 中的地位相当于知识库的模具,拥有本体库的知识库冗余知识较少

知识图谱的构建过程是从原始数据出发,采用一系列自动或半自动的技术手段,从原始数据中提取出知识要素(即事实),并将其存入知识库的数据层和模式层的过程.

这是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含3个阶段:信息抽取、知识融合以及知识加工

知识图谱有自顶向下和自底向上2种构建方式.

知识图谱的构建技术

https://blog.csdn.net/JH_Zhai/article/details/79919604

本体

以Freebase为实例,Freebase里众多的entity每一个都代表了一个真实的概念或者实体。比如实体观海同志(Barack Obama),你可以看到观海同志是一个实体,他有名字,他是一个实实在在的存在。那么这个存在的本质是什么呢?观海同志首先是一个人,那么知识库中必然有一个定义,叫做人,人就是上面定义的一个type。人还有属性,比如性别,年龄,这些就是上面定义里的property。观海同志还有第一夫人,那么观海同志及其夫人之间就有一个配偶关系,这个关系就是上面的interrelationships 。本体就是这些概念,计算机科学里本体其实就可以看成关系数据库里的关系模式,也就是一个关系和数据的描述系统。

从抽象层面看,本体最抽象,其次是知识库,最后才是知识图谱。举个例子,如果我们要做图书领域的知识库或者知识图谱,首先要对图书进行分类,这个分类就是本体,比如说,图书分为计算机类和电子类,计算机类有分为网络、人工智能;有了这个分类后,我们就可以把图书都分到每个类别,比如说《Zero to One》是一本进口原版书,然后这本书有各种属性-属性值,比如说书的作者是Peter Thiel,这些数据就构成了一个图书知识图谱(前面讲的分类可以认为不是这个知识图谱的一部分),而这里分类和知识图谱一起可以看成是一个图书知识库。也就是说,本体是强调概念关系,知识图谱强调实体关系和实体属性值,知识库则是所有知识的集合。但是知识库不局限于分类和图谱,知识库可以包括规则,包括过程性知识等。而本体也可以定义得很抽象,任何概念的内涵和外延可以定义本体。

最近在研究知识图谱,有些理解,分享一下:

1、本体是概念的集合,是大家都公认的概念框架,一般不会改变,比如“人”、“事”、“地”、“物”、“组织”,在面对对象编程里面,我们把它叫做类,在数据管理里面我们把它叫做元数据;

2、实体是本体、实例及关系的整合,比如“人”是本体框中的一个概念,概念中也规定了相关属性比如“性别”,小明是一个具体的人,叫做实例,所以小明也有性别,小明以及体现小明的本体概念“人”以及相关属性,叫做一个实体(简单的说就是:本体+实例);

3、很多实体形成的数据库叫做知识库,如dbpedia等;

4、知识图谱是一种图谱组织形式,通过语义关联把各种实体关联起来,之前不叫做知识图谱,而叫做语义网。知识图谱把结构化、非结构化的数据通过数据抽取、融合在一起,体现了数据治理、语义连接的思想,有利于大规模数据的利用和迁移。

image

本体定义了知识图谱的“骨架”(概念与概念属性),比如,人是概念,性别是概念属性

知识库则是知识图谱的“肉”(数据来源:实体与实体属性),比如,奥巴马是实体,男是实体奥巴马的属性。

本体是概念,类似于编程中的结构体或类的定义。

知识库是实例,类似于编程中结构体或类的实例变量。

知识图谱是知识库中示例之间的建立各种关联之后的数据集合。类似于(某)轮子+(某)发动机=(某)汽车。

上一篇下一篇

猜你喜欢

热点阅读