问题:

  1. 知识图谱究竟是什么?
    可以看看开放知识图谱
    其实就是将我们的语言拆分转换为符号表达,之后经过机器学习来将离散式的数据转化为可分布式的表达。
    而知识图谱的构建,是可以不同的,根据需要来定!比如只是关于人际关系的,再比如关于某个人的所有的新闻,再比如全部是关于政府部门的或者是事故的,所以也就有了知识的融合
  2. 企业构建知识图谱需要根据需求来的
  3. 自然语言转化为sql(知识图谱),后面会讲
  4. 开放数据是不能直接用的
  5. schema和本体关系 :schema是轻量级本体;
  6. 图数据库是用来存储知识图谱;
    多库存储的难点:是在于存储的问题还有查询问题,本体需要不需要切分,消除歧义等;
  7. 知识库和知识图谱有什么区别?
    知识图谱是一个大的系统; 知识图谱里面关于知识构建、知识融合之后就产生了知识库,而知识库我们就需要对它进行存储,就会产生图数据库。
  8. 怎么确保数据的准确性
    对于开放数据库等进行领域建模、领域知识进行筛选

第三部分: 知识图谱技术概览

1. 简介



知识图谱的schema定义 知识图谱 schema_xml


由于数据源的不同,比如众包、传感器、多媒体等流,我们又可以分别使用不同的方法来得到更加规范的数据表示、更强的数据关联,并存储到Hbase等数据库中,之后根据具体的需要再利用这些知识进行知识表示、知识抽取、知识问答等应用。
而知识表示是根本

2. 知识表示

知识表示研究怎样用计算机符号来表示人脑中的知识,以及怎样通过符号之间的运算来模拟人脑的推理过程。

现在一般基于数理逻辑的知识表示–》基于向量空间学习的分布式知识表示。

语义网知识表示框架

知识图谱的schema定义 知识图谱 schema_知识图谱的schema定义_02


w3C可以看到最新的语义网知识表示框架。

2.1 知识表示的离散分布

2.1.1 RDF:Triplet-based Assertion model (基于三元组的断言模型)

链接 RDF: (资源描述框架,Resource Description Framework)是描述网络资源的 W3C 标准, ,比如网页的标题、作者、修改日期、内容以及版权信息等。
RDF的含义就是描述资源的框架(Framework for Describing Resources),下面我们逐个来看这三个词的意思。
资源(Resource):所有在Web上被命名、具有URI(Unified Resource Identifier 统一资源描述符)的东西。如网页、XML文档中的元素等;
描述(Decription):对资源属性(Property)的一个陈述(Statement),以表明资源的特性或者资源之间的联系;
框架(Frameword):与被描述资源无关的通用模型,以包容和管理资源的多样性、不一致性和重复性。
综合起来,RDF就是定义了一种通用的框架,即资源-属性-值的三元组,一不变应万变,来描述Web上的各种资源。
下面我们来看一个简单的RDF的例子:
(指明被描述资源的URI)
Tim Bray (被描述资源有一个叫Author即作者的属性,其值是Tim Bray)
(被描述资源有一叫Home-Page即主页的属性,其值指向另一资源)
(结束标志)



知识图谱的schema定义 知识图谱 schema_知识表示_03


RDF Graph: Directed Labeled Graph(有向标记图)



知识图谱的schema定义 知识图谱 schema_知识图谱的schema定义_04


2.1.2 RDFS:Simple Vocabulary and Schema(简单的词汇和模式)



知识图谱的schema定义 知识图谱 schema_知识图谱的schema定义_05


RDF的序列化格式
schema: 和数据库中表的设计类似!
常用的格式: RDF/XML、RDFa
具体实现



知识图谱的schema定义 知识图谱 schema_知识表示_06


下面是RDF语法的一个实例,用序列语法表示如下:
就只是包含了title、creator、data三个属性

<?xml version=“1.0”?>
    <RDF xmlns=http://www.w3.org/1999/02/22-rdf-syntax-ns#xmlna:DC=http://purl.org/metadata/dublin-core#>
        <Description about=http://www.dlib.org/dlib/may98/miller>
            <DC:title>
                An introduction to the Resource Description Framework
            </DC:title>
            <DC:creator>
                Eric Miller
            </DC:creator>
            <DC:date>
                1998-0501
            </DC:date>
        </Description>
    </RDF>

这个例子如果以RDF简略语法来表示则为:

<?xml version=“1.0”?>
    <RDF xmlns=http://www.w3.org/1999/02/22-rdf-syntax-ns#xmlna:DC=http://purl.org/metadata/dublin-core#>
        <Description about=http://www.dlib.org/dlib/may98/miller>
            DC:title = “An introduction to the Resource Description Framework"
            DC:creator = "Eric Miller"
            DC:date = "1998-0501"
        </Description>
    </RDF>
2.1.3 OWL:Web Ontology Language

本体 == 哲学的概念

但是不能直接用。是描述语言。 多人进行描述

OWL extends RDF schema

知识图谱的schema定义 知识图谱 schema_知识表示_07


OWL:OWL Web本体语言,W3C推荐标准

这种本体描述语言,可以用来描述Web文档和应用中内在的类和关系。

为什么使用OWL语言?

  • 通过定义类以及类的属性来形式化某个领域;
  • 定义个体并说明它们之间的属性;
  • 在OWL语言的形式化语义允许的层次上,对类和个体进行推理。
    推理规则: 比如属性链,姚明的父亲的父亲。

SPARQL简介

上面做了知识库,那么就会有知识库的查询;

SPARQL(SPARQL Protocol and RDF Query Language),是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。

知识图谱的schema定义 知识图谱 schema_知识表示_08


怎么去查询和存储在后面去讲解。

知识图谱的schema定义 知识图谱 schema_知识表示_09


这里的 ?其实是可以被替代的,需要我们去填充它; 所以知识图谱上的查询更多的是主图匹配,怎么快速的去完成主图匹配,在图中有同构的判断其实是一个np hard问题。所以我们在nlp中要学会怎么去转化为spaRQL问题

这里的spaRQL也可以写成图的形

JSON-LD:数据交换格式

知识图谱的schema定义 知识图谱 schema_知识图谱_10


6. RDFa、HTML5 MicroData:在网页中嵌入语义数据

知识图谱的schema定义 知识图谱 schema_xml_11


上面的一句话是对一个电影的描述, 我们可以将每句话的每个词进行分类。

做结构化信息,放到一些排序的函数当中,通过知识众包去验证这是一个高质量的知识之后,搜索引擎会帮你免费的优化,使得你可以根据关键词进行排序搜索。

2.2. 知识图谱的分布式表示KG Embedding

前面的都是分布式的表示,下面的是知识图谱的分布式表示-KG Embedding

知识图谱的schema定义 知识图谱 schema_数据_12


在保留语义的同时,将知识图谱中的实体和关系映射到连续的稠密的低维向量空间。 在这个过程中我们使用三种方法:张量分解、神经网络、距离模型。

知识图谱的schema定义 知识图谱 schema_知识图谱_13


张量分解: 多维的矩阵我们称为张量,它不是一个二维的,因为二维指针是二维的;所以是用来刻画我本身的entity和relation之间的关联,并且选出它们之间低维的标注,这里的A其实就是entity,R则是relation,每个relation和各个entity之间的交互

神经网络:基于neural Tensor Layer的知识图谱。使得一些正确的三元组势能更高,错误的三元组势能更低;

距离模型: 是经常用到的方法,用在在低维的向量和原本的低维向量语义的距离; 是在翻译中决定的。

3. 知识抽取: NLP + KR

知识图谱的schema定义 知识图谱 schema_xml_14


从下往上看;

3.1 主要方法

模板的选取必须是准确的,有选择的;

知识图谱的schema定义 知识图谱 schema_知识图谱_15


知识图谱的schema定义 知识图谱 schema_知识表示_16

4. 知识存储

知识图谱的schema定义 知识图谱 schema_知识表示_17

5. 知识融合

6. 知识问答

知识图谱的schema定义 知识图谱 schema_数据_18

6.1 KBQA例子:

姚明的身高;
谁是第三十五届美国总统;

6.2 KBQA基本实现流程:

7. 知识推理

简单而言,推理是指基于已知事实推出未知的事实的计算过程;

大部分搜索引擎目前都已经支持了一定的推理能力;

百度输入:姚明的女儿的妈妈的老公

这就是属性链,前面的本体的属性

知识图谱的schema定义 知识图谱 schema_数据_19

7.1 基于描述逻辑的推理:本体推理

7.2 基于规则挖掘的推理

比如小明和小红是小王和小李的孩子,那也可以说小王和小李是小明和小红的父亲;

7.3 基于表示学习的推理

8. 语义搜索

9. 知识融合

Data Linking、Knowledge Fusion、Record Linkage、Entity Alignment。。。
主要目的是不同数据源中的实体信息进行整合,形成更加全面的实体信息。
比如一个人改变了发型或者是戴上墨镜等都是他本人。
比如维基百科、百度百科、互动百科都有类似的表达,或者其它没有的内容。

9.1 知识融合:典型工具-Dedupe

主要处理流程是对所有records进行clustering,然后在组内部通过计算相似度特征和机器学习分类模型对任意一对records进行预测是否为同一实体。
要求两个数据集有相似的结构

9.2 知识融合:典型工具-LIMES

不要求两个数据集的实体具有相似的结构,
可灵活配置匹配规则,自定义距离计算模型。

10.知识众包:Wikibase、Schema.ORG

结构化数据协同编辑叫wikibase;