介绍

在本系列前面两篇文章中我一直在讨论Data Fabric,并给出了一些关于Data Fabric中的机器学习和深度学习的概念。并给出了我对Data Fabric的定义:

Data Fabric是支持企业所有数据的平台,它作为一个统一的框架来管理、描述、组合和访问数据。该平台由企业知识图谱构成以创建统一的数据环境。

如果你仔细看一下定义,它说Data Fabric是由企业知识图谱构建的,所以我们最好知道如何创建和管理它。

目标

建立了知识图谱理论的基础和讲解如何构建一个知识图谱

细节

  • 解释与企业相关的知识图谱的概念

  • 给出构建成功的企业知识图谱一些建议

  • 展示知识图谱的例子

主要理论

Data Fabric中的fabric是由一个知识图谱构建的,而要创建一个知识图谱,你需要语义和本体来找到一种有用的方法来链接数据,这种方法惟一地标识数据并将数据与公共业务术语连接起来。

第一节 什么是知识图谱?

知识图谱由数据和信息组成,还包含大量不同数据之间的链接。

这里的关键是,在这个新模型下,我们不是在寻找可能的答案,而是在寻找确定的答案。我们想要的是事实——这些事实来自哪里并不那么重要。这里的数据可以代表概念、对象、事物、人,以及你头脑中的任何东西。图中填充了概念之间的关系和联系。

在这种情况下,我们可以向我们的数据湖提出这个问题:这里存在什么?

这里不同的是它可以建立一个框架来研究数据及其与其他数据的关系。在知识图谱中,表示在特定形式本体中的信息可以更容易地进行自动化信息处理,而如何最好地实现这一点是计算机科学(如数据科学)中一个活跃的研究领域。

本体语言中的所有数据建模语句(以及其他所有东西)和数据知识图谱的世界本质上都是递增的。通过修改概念,可以很容易地在事后增强或修改数据模型。

通过知识图谱,我们构建的是一种人类可读的数据表示,它惟一地标识数据,并将数据与常见的业务术语连接起来。这个“层”帮助终端用户自主、安全、自信地访问数据。

还记得这张图片吗?

我之前提过Data Fabric中的“洞察力”(insight)可以看作是对其的一个凹痕。而发现这种“洞察力”是什么的自动过程,就是机器学习。

但这种fabric是什么呢?是由知识图谱构成的对象。就像在爱因斯坦的相对论中,时空的连续体(或离散体?)构成了fabric,而在这里,当你创建一个知识图谱时,fabric就形成了。

为了构建知识图谱,你需要链接数据。链接数据的目标是发布结构化数据,使其易于使用,并与其他链接数据相结合,本体作为连接实体和理解实体之间关系的方式。

第二节 创建一个成功的企业知识图谱

不久前Sebastien Dery写了一篇关于知识图谱挑战的有趣文章。这里你可以看一看

https://medium.com/@sderymail/challenges-of-knowledge-graph-part-1-d9ffe9e35214

也可以看看cambridgesemantis.com上关于RDF的介绍以及其他资源,我在任何文章中都没有提到,但非常重要的一个概念是三元组的概念:主语、宾语和谓语(或实体-属性-值)。通常,当你研究三元组时,它们实际上是指资源描述框架(RDF)。

RDF是三种基本语义Web技术之一,另外两种是SPARQL和OWL。并且RDF是语义Web的数据模型。

注意:顺便说一下,这些概念几乎都是随着万维网语义的新定义而来的,但是我们将它用于知识图谱。

我不打算在这里详细描述这个框架,但是我将给出一个关于它们如何工作的例子。记住,我这样做是因为这是我们开始构建本体、链接数据和知识图谱的方式。

让我们看一个例子,看看这个三元组是什么,这与Sebastien提到的例子密切相关。

我们将从字符串“geoffrey hinton”开始。

现在,要开始构建一个知识图谱,首先系统要识别那个字符串实际上指的是Geoffrey Hinton这个人。然后它会识别那个人的相关实体。

顺便说一下,下面就是Geoffrey Hinton,如果你不认识他的话:

然后系统会开始给这些关系起名字:

这个系统可以在一段时间内找到连接的连接,从而为我们的“搜索字符串”创建一个表示不同关系的巨大图。

为此,知识图谱使用了三元组。像下面这样的:

正如你所看到的我们有一个主语(Geoffrey Hinton)与宾语(Researcher),然后通过一个谓语(is a)联系起来。这对我们人类来说可能听起来很简单,但是它需要一个非常全面的框架,机器才能够进行处理。

这是知识图谱形成的方式,也是我们使用本体和语义链接数据的方式。

那么,我们需要什么来创建一个成功的知识图谱呢?来自Cambridge Semantics的Partha Sarathi为此写了一篇很棒的博客,你可以看一看:

https://blog.cambridgesemantics.com/creating-a-successful-enterprise-knowledge-graph

总而言之,他说我们需要:

  • 能够构想它的人:你需要具有业务关键主题专业知识和技术交叉的人员

  • 数据多样性,尽可能还有大量的数据:采用企业知识图谱的价值和规模与所包含数据的多样性成正比

  • 一个能够构建它的好产品:知识图谱需要具有良好的管理性、安全、易于连接到上下游系统、可进行大规模分析,而且往往是云友好的。因此,用于创建现代企业知识图谱的产品需要为自动化、支持各种输入系统的连接器、为下游系统提供标准的数据输出、快速分析任何规模的数据以及使管理变得友好进行优化。

可以阅读下面的文章进一步了解如何创建一个知识图谱:

https://info.cambridgesemantics.com/build-your-enterprise-knowledge-graph

第三节 知识图谱例子

Google:

Google基本上是一个巨大的知识(加上更多的补充)图谱,他们可能在此基础上创建了最大的Data Fabric。Google有数十亿的事实,包括关于数百万对象的信息和关系。并允许我们通过他们的系统去搜索,以发现其中的“洞察力”(insights)。

LinkedIn:

我最喜欢的社交网络LinkedIn有一个巨大的知识图谱,它建立在LinkedIn上的“实体”之上,比如成员、工作、头衔、技能、公司、地理位置、学校等等。这些实体和它们之间的关系构成了专业世界的本体。

而“洞察力”(insights)帮助领导者和销售人员做出商业决策,并提高LinkedIn的成员参与度:

记住,LinkedIn(以及几乎所有)的知识图谱都需要随着新成员的注册、新职位的发布、新公司、技能和头衔出现在成员简介和职位描述中等等而进行扩展。

你可以阅读下面的文章了解更多关于LinkedIn中的知识图谱:

https://engineering.linkedin.com/blog/2016/10/building-the-linkedin-knowledge-graph

金融机构知识图谱:

在下面Marty Loughlin的这篇文章中,他展示了Anzo平台可以为银行做些什么,在文章中你可以看到,这项技术不仅与搜索引擎相关,而且可以处理不同的数据。

https://blog.cambridgesemantics.com/why-knowledge-graph-for-financial-services-real-world-use-cases

在文章中,他展示了知识图谱如何帮助这类机构:

  • 用于分析和机器学习的另类数据(Alternative Data)

  • 利率互换风险分析

  • 贸易监测

  • 欺诈行为分析

  • 特征工程与选择

  • 数据迁移

总结

要创建知识图谱,你需要语义和本体来找到一种有用的方法来链接数据,这种方法惟一地标识数据并将数据与公共业务术语连接起来,从而构建Data Fabric的底层结构。

当我们构建一个知识图谱时,我们需要使用本体和语义形成三元组来链接数据。此外,知识图谱的构建基本上取决于三件事:构想它的人、数据多样性和构建它的好产品。

在我们周围有很多我们甚至不知道的知识图谱的例子。世界上大多数成功的公司都在实现和迁移它们的系统以构建Data Fabric。

欢迎关注磐创博客资源汇总站:

http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:

http://pytorch.panchuang.net/

知识图谱与机器学习|KG入门 -- Part2 建立知识图谱的更多相关文章

  1. 知识图谱与机器学习 | KG入门 -- Part1-b 图深度学习

    介绍 我们正在定义一种新的机器学习方法,专注于一种新的范式 -- Data Fabric. 在上一篇文章中,我们对机器学习给出了新的定义: 机器学习是一种自动发现Data Fabric中隐藏的&quo ...

  2. 机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源

      机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源 相关主题   在信息时代,公司和个人的成功越来越依赖于迅速 ...

  3. ASP.NET 5 入门(1) - 建立和开发ASP.NET 5 项目

    ASP.NET入门(1) - 建立和开发ASP.NET 5 项目 ASP.NET 5 理解和入门 使用自定义配置文件 建立项目 首先,目前只有VS 2015支持开发最新的ASP.NET 5 程序,所以 ...

  4. 机器学习简易入门(四)- logistic回归

    摘要:使用logistic回归来预测某个人的入学申请是否会被接受 声明:(本文的内容非原创,但经过本人翻译和总结而来,转载请注明出处) 本文内容来源:https://www.dataquest.io/ ...

  5. ajax入门之建立XHR对象 (1)

    ajax入门之建立XHR对象 今天帮朋友写了一个简单的ajax的demo,发现了一些东西,决定写一篇文章记录一下,避免以后挖坑. 创建XMLHttpRequest 通常 function create ...

  6. 爬虫入门一 基础知识 以及request

    title: 爬虫入门一 基础知识 以及request date: 2020-03-05 14:43:00 categories: python tags: crawler 爬虫整体概述,基础知识. ...

  7. Andrew Ng机器学习算法入门(一):简介

    简介 最近在参加一个利用机器学习来解决安全问题的算法比赛,但是对机器学习的算法一直不了解,所以先了解一下机器学习相关的算法. Andrew Ng就是前段时间从百度离职的吴恩达.关于吴恩达是谁,相信程序 ...

  8. ​知识图谱与机器学习 | KG入门 -- Part1 Data Fabric

    介绍 如果你在网上搜索机器学习,你会找到大约20500万个结果.确实是这样,但是要找到适合每个用例的描述或定义并不容易,然而会有一些非常棒的描述或定义.在这里,我将提出机器学习的另一种定义,重点介绍一 ...

  9. ISWC 2018概览:知识图谱与机器学习

    语义网的愿景活跃且良好,广泛应用于行业 语义网的愿景是「对计算机有意义」的数据网络(正如 Tim Berners Lee.James Hendler 和 Ora Lassila 在<科学美国人& ...

随机推荐

  1. C++走向远洋——24(项目一,三角形,复制构造函数)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:sanjiaoxing.cpp * 作者:常轩 * 微信公众号: ...

  2. iMX287A基于嵌入式Qt的新冠肺炎疫情监控平台

    目录 1.前言 2.数据接口的获取 3.Qt界面的实现 4.在开发板上运行Qt程序 5.最终效果 6.代码下载 @ 1.前言 之前我使用在桌面版本Qt实现了肺炎疫情监控平台:基于Qt的新冠肺炎疫情数据 ...

  3. 操作系统-CPU管理的直观想法

    1. 管理CPU,先要使用CPU 管理CPU的最直观方法 2. 提出问题 有IO指令执行的特别慢,当cpu执行计算指令很快,遇到IO指令cpu进行等待,利用率不高. 使用多道程序.交替执行,这样cpu ...

  4. htmlhint 规则详解

    HTML 静态检查规则 HTMLHint 工具内置 23 条规则,可以对 HTML 代码文件进行静态代码检查,从而提高 HTML 代码编写的规范和质量.现在把 23 条规则翻译如下. 一.规则列表 标 ...

  5. OC和C++混编需要注意的问题

    文章首发于github.io 2018-12-17 21:01:55 方案一 1. .c文件的identify and type右边栏修改为Objective-C source 2. Built se ...

  6. JetBrains 第二轮:再为免费全家桶续命三个月

    昨天分享了如何通过参与JetBrains的解密任务来获取正版全家桶的兑换码.今天 JetBrains 一早继续在Twitter推出第二波任务: 下面,我们就继续来一起参与一下,为我们的正版JetBra ...

  7. DBA_Oracle DBA常用表汇总(概念)--转载

    https://www.cnblogs.com/eastsea/p/3799411.html  一.与权限相关的字典 ALL_COL_PRIVS表示列上的授权,用户和PUBLIC是被授予者 ALL_C ...

  8. zabbix图表出现中文乱码

    搭建完成Zabbix监控服务器之后,切换到中文语言,图表展示出现乱码,如图所示 按照网上流传的上传windows下的字体的方法,还是不行,最后发现是PHP编译时的问题: php在编译时开启了-enab ...

  9. [Python] iupdatable包:File模块使用介绍

    一.简介 文件模块主要是对常见的文件读写功能进行了封装,默认使用UTF8(utf_8_sig)格式编码,实现一行代码读写文件. 二.简单示例 安装 iupdatable 包 pip install - ...

  10. 今天对C语言不常用的小东西的了解

    今天又翻了C语言的书,看到const语句,一时间想不起来到底是干嘛的,看语句const   int   a=1;明白了这是一个支持常量指定类型的定义常量的关键字,作用几乎与#define一毛一样,但# ...