График знаний (1): Обзор сети знаний и семантических технологий

алгоритм
График знаний (1): Обзор сети знаний и семантических технологий

Некоторые профессиональные термины извлечены

spo三元组,
s: subject,主语
p:predicate,谓语
o: object,宾语

image.png

实体entity
关系relation
节点,边
属性,属性值
通用知识图谱
行业知识图谱(垂类知识图谱,比如教育,游戏,医疗等,旅游景点,电影等)

百度知心和搜狗的知立方,这些都是知识图谱的AI落地产品。

如果实体之间发现歧义,则可以再去找该实体的上级实体。
比如李娜这个实体,有网球运动员李娜和歌手李娜,
那我们可以先确定实体的上级实体,比如先确定网球运功员,然后再确定李娜这个实体。

实体消歧分为归一和关联。
如果待收录的实体已经在核心实体集中,则之间进行关联,这也是消歧。
如果待收录实体还没有被收录到核心实体集中,则先归一,然后再收录到实体集中,然后建边(和其他实体产生联系)

多样性:同一实体在文本中会有不同的指称。eg:飞人、乔帮主、MJ都指美国篮球运动员迈克尔·乔丹。
歧义性:相同的实体指称,但不是同一个实体。eg:迈克尔·乔丹指美国篮球运动员、爱尔兰政治家等

实体 关系 实体
实体 属性 值
以上2种都是三元组。

1. Введение

知识图谱,knowledge graph,简称kg。
是新一代搜索引擎,智能问答系统等智能应用产品(AI落地)的基础设施,是数据支撑。
目前出现的产品有:百度“知心”、搜狗“知立方”等。

这里简单介绍下百度知心:
百度知心,是百度下一代搜索引擎的雏形。、
运用数据挖掘技术将`散落`在互联网上`碎片化`的知识`整合`起来形成答案,
满足用户需求,实现`搜索结果即答案`的效果。
目前百度知心开放三个行业的知心搜索结果,分别命名为百度教育、百度游戏、百度医疗。

知识图谱,是一种基于有向图(directed graph)的数据结构,
由节点(nodes)及有向边(directed edges)组成,
图中的每个节点称为实体(Entity),边代表实体与实体之间的逻辑关系,或者称为属性和属性值。

世间万物皆为实体,这些实体,有的是真实存在的东西,也可能是一种概念(比如感冒药,新能源汽车),
也可能是一种类别(比如水果)。
通过这些实体(entity),以及实体之间的关系(属性,属性值),可以将世间万物连接起来,这就是世界上最大的知识图谱。

知识图谱之所以是称之为基础设施,是因为知识图谱就是一个知识库,它是底层的东西。
知识库中的数据,是以有向图的数据结构的形式存储的数据。

举2个例子:

image.png

image.png

现在来解释为什么“知识图谱是新一代搜索引擎、问答系统等智能应用的基础设施”,
如果把智能系统看成一个大脑,那么知识图谱就是大脑中的一个知识库,
它使得智能系统能够从“关系”的角度去分析和思考问题。
以上图为例,从知识图谱中可以获取“泰山的海拔高度为1545米”、“衡山和恒山发音相同”等简单的知识。

知识图谱,又分为通用知识图谱和行业知识图谱。
通用知识图谱:多源开放领域海量数据
行业知识图谱,就是垂类数据,比如医疗,教育,游戏等。

2/ Представление графа знаний

知识图谱是一张很大的网络,但是细拆开来看,都是一条一条的spo。

知识图谱可以使用三元组(entity-1,relation,entity-2)来表示,及spo,
一个实体的属性的属性值是另一个实体,
当然,有的属性只有一个值,比如某人的妻子,
也存在一个属性有多个属性值的情况,比如某部电影的主演。

每一条spo描述一个事实,例如:(五岳,五岳之一,泰山)表示“泰山是五岳之一”这样一个事实。

需要注意的是,如果relation是确定的,那么entity-1与entity-2的位置不能够颠倒的,
因为一个三元组描述一条有向边.
实体不一定得是现实生活中的一个具体事物,也可以是事物的一个属性值,此时关系就是该属性。

我们用三元组来存储知识图谱,这时还需要考虑一个问题,那就是实体识别(Entity Recognition)与实体消歧(Entity Disambiguation) 。
例如,实体“苹果”有可能是指水果苹果,也可能是指手机iphone。
这时,我们对知识图谱需要做一些处理,修改一下搜索策略。

image.png

在建立知识图谱过程中,若发现歧义,则再增添对应实体的上级节点,在筛选“苹果”一词时使用上级节点来消歧

  

3/Применение графа знаний

传统搜索引擎只是简单地根据用户输入的query去筛选目标网页,
然后给出一堆网页链接,需要用户自己去打开网页然后去寻找自己想要的答案。

知识图谱的应用,除了给出相应的网页链接外,还会尝试提供一些更加智能化的答案。
例如,用户在必应搜索引擎输入“taj mahal”将得到如下结果:

image.png

这里提供泰姬陵的近义词,旅游信息、地理位置、古代世界七大奇迹等,
从而更好地发掘用户意图,提供更多的信息。
而不像传统搜索引擎那样死板,需要用户自己一条一条去筛选信息,这样知识图谱技术就具有很大的商业价值了。

又例如,我直接在百度搜索输入“乒乓球”, 得到以下结果(其实我只是想搜索一下“张继科”,但是一时间忘了他的名字):

image.png

同时,知识图谱的应用能够使得搜索引擎获得一定的推理能力。
举一个例子,在百度搜索输入“梁启超的儿子的妻子”,传统搜索引擎只是简单地匹配网页,很难真正地理解用户意图,更别说回答这个问题了。
然而知识图谱却可以令问题变得简单起来,我们先从知识库中获取梁启超的儿子是梁思成,然后再获取梁思成的妻子是林微因。

image.png

4/ Некоторые технические и технические термины в графе знаний

关联:待收录实体和核心集中的实体,是否为同一个实体。
实体归一:待收录实体是否为同一个实体,如果是,则归一成一个实体
实体消歧:实体指代,
建边:是o的关联。

数据融合:

image.png

通用知识图谱构建最后一个关键技术是基于多源数据的知识整合。
面对开放领域数十亿规模的实体,我们通过基于语义空间变换的实体消歧和实体归一的技术,实现多源开放域大规模实体的归一融合,从而去解决知识表示形式多样、关联融合困难的问题。

实体(Entity)
   实体是对客观个体的抽象,
   一个人、一部电影、一句话都可以看作是一个实体。
   例如:姚明,李安,我不是潘金莲,撸起袖子加油干

类型(type)
   类型是对具有相同特点或属性的实体集合的抽象。
   举例:中国是一个实体,美国是一个实体,法国是一个实体。
   这些实体都有首都、人口、面积等共同特征,
   因此例如像中国、美国、法国等都有首都、人口、面积等特征的实体可以抽象为“国家”类型

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

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

关系(relation)
   关系是实体与实体之间关系的抽象,李安(entity)→导演(relation)→少年派的奇幻漂流(entity)
   导演这个relation则是描述李安和少年派的奇幻漂流的关系。
   
属性值(value)
   值是用来描述实体的,可以分为文本型和数值型,
   例如:姚明(entity)→身高(relation)→226cm(value)。

###########################################
###########################################
###########################################
###########################################

# 1/知识图谱的定义
知识图谱,是一种图结构的知识库,用于以图形的形式描述世界中的概念及其相互关系。
其基本组成单位是『实体-关系-实体』三元组,以及实体及其相关属性-属性值对,实体之间通过关系相互连接,构成网状的知识结构。

基于知识图谱的搜索引擎,能够以智能卡片的方式向用户反馈结构化的知识,用户不必浏览大量网页,就可以准确定位和深度获取知识。

上述知识图谱的定义包含三层含义:
<1>知识图谱本身是一个具有属性的实体通过关系链接而成的网状知识库,从图的角度来看,知识图谱本质上是一种概念网络,其中的节点表示物理世界中的实体(或概念),而实体之间的各种语义关系则构成网络中的边。由此,知识图谱是对物理世界的一种符号表达。

<2>知识图谱的研究价值在于,它是构建在当前Web基础上的一层覆盖网络(overlay network),借助知识图谱,能够在Web网页之上建立概念间的链接关系,从而以最小的代价将互联网中积累的信息组织起来,成为可以被利用的知识。

<3>知识图谱的应用价值在于,它能够改变现有的信息检索方式,一方面通过推理实现概念检索(相对于现有的字符串模糊匹配方式而言);另一方面以图形化方式向用户展示经过分类整理的结构化知识,从而使人们从人工过滤网页寻找答案的模式中解脱出来。

2/ Архитектура графа знаний (включая логическую архитектуру и техническую архитектуру)

知识图谱的架构,包括知识图谱自身的逻辑架构,以及构建知识图谱所采用的技术体系架构。

Логическая архитектура

知识图谱的逻辑架构分为两个层次:数据层和模式层。

在知识图谱的数据层,知识以事实(fact)为单位存储在图数据库。
如以『实体-关系-实体』或者『实体-属性-值』三元组作为事实的基本表达方式,
则存储在图数据库中的所有数据将构成庞大的实体关系网络,形成知识的图谱。

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

Техническая архитектура

image.png

知识图谱的构建过程是从原始数据出发,
采用一系列自动或半自动的技术手段,从原始数据中抽取出知识要素(即事实),并将其存入知识库的数据层和模式层的过程。
这是一个迭代更新的过程,根据知识抽取的逻辑,每一轮迭代包含三个阶段:信息抽取、知识融合以及知识加工。

知识图谱有自上而下和自下而上2种构建方式。
所谓自上而下构建是借助百科类网站等结构化数据源,从高质量数据中提取本体和模式信息,加入到知识库中;
所谓自下而上构建,则是借助一定的技术手段,从公开采集的数据中提取出资源模式,选择其中置信度较高的新模式,经人工审核之后,加入到知识库中。

目前知识图谱大多采用自下而上的方式构建,本文也主要介绍自底向上的知识图谱构建技术,按照知识获取的过程分为3个层次:信息抽取、知识融合以及知识加工。

3/Техническая архитектура графа знаний

采用自下而上的方式构建知识图谱的过程是一个迭代更新的过程,每一轮更新包括3个步骤:
<1>知识抽取,即从各种类型的数据源中提取出实体(概念)、属性以及实体之间的关系,在此基础上形成本体化的知识表达
<2>知识融合,在获得新知识后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达(多样性),某个特定称谓也许对应于多个不同的实体等(歧义性)
<3>知识加工,对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量,新增数据之后,可以进行知识推理、拓展现有知识、得到新知识。

Извлечение знаний

知识抽取是知识图谱构建的第一步,其中的关键问题是如何从异构数据源中自动抽取信息得到候选知识单元。
知识抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。
涉及的关键技术包括:实体识别、关系抽取和属性抽取。

(1) Распознавание объектов

(2) Извлечение отношения

(3) Извлечение атрибутов

Слияние знаний

通过知识抽取,实现了从非结构化和半结构化数据中获取实体entity、关系relation以及实体属性信息的目标,
然而,这些结果中可能包含大量的冗余和错误信息,数据之间的关系也是扁平化的,缺乏层次性和逻辑性,因此有必要对其进行清理和整合。

知识融合包含2部分内容:实体关联和知识合并

(1) Ассоциация организаций

实体关联(entity linking)是指对于从文本中抽取得到的实体,将其关联到知识库中对应的正确实体对象的操作。
实体关联的基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项关联到正确的实体对象。

(2) Слияние знаний

在构建知识图谱时,可以从第三方知识库产品或已有结构化数据获取知识输入。

常见的知识合并需求有两个,一个是合并外部知识库,另一个是合并关系数据库。

将外部知识库融合到本地知识库需要处理两个层面的问题:

数据层的融合,包括实体的指称、属性、关系以及所属类别等,主要的问题是如何避免实例以及关系的冲突问题,造成不必要的冗余
通过模式层的融合,将新得到的本体融入已有的本体库中

然后是合并关系数据库,在知识图谱构建过程中,一个重要的高质量知识来源是企业或者机构自己的关系数据库。为了将这些结构化的历史数据融入到知识图谱中,可以采用资源描述框架(RDF)作为数据模型。业界和学术界将这一数据转换过程形象地称为RDB2RDF,其实质就是将关系数据库的数据换成RDF的三元组数据。