介绍

在本系列前面两篇文章中我一直在讨论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. Java 设置Excel数据验证

    数据验证是Excel 2013版本中,数据功能组下面的一个功能,在Excel2013之前的版本,包含Excel2010 Excel2007称为数据有效性.通过在excel表格中设置数据验证可有效规范数 ...

  2. 50-Python2和3字符编码的区别

    目录 Python2和3字符编码的区别 python2 python3 Python2和3字符编码的区别 区别点 python2 python3 print 是一个语法结构 是一个函数,print(' ...

  3. Python中的BeautifulSoup库简要总结

    一.基本元素 BeautifulSoup库是解析.遍历.维护“标签树”的功能库. 引用 from bs4 import BeautifulSoup import bs4 html文档-标签树-Beau ...

  4. Azure Devops/TFS测试管理(下)

    紧接着 上篇 经过上篇折腾,我们已经有了: ①手工测试的流程规范 ②测试用例的管理 对于开发出身的我,我觉得一个项目上线流程应该主要瓶颈只能是开发本身,因为我认为最复杂过程应该就是开发,而肯定不能是测 ...

  5. 使用openxml提取word中的文本和图片并转为Html

    使用openxml提取word中的文本和图片 使用 openXml 提取 word 中的 Text 和 Drawing 使用 openXml 将 word 中的文本和图片转为Html 使用 openX ...

  6. AI广度优先搜索算法,项目实战北京地图/贪心学院

    广度优先搜索算法详解地铁路线 北京很大,附上地铁图,不要迷路!!! 作为一个程序员,在北京,你很有可能住在回龙观地区,经常从龙泽上地铁,然后畅游北京. 当有一天,你老家的朋友来北京了,希望你能够带她去 ...

  7. notepad++ 快捷键运行python程序目录存在空格的问题

    通常情况下 cmd /k (python.exe文件所在路径) "$(FULL_CURRENT_PATH)"&PAUSE&EXIT 就ok了,路径里有空格就不一样了 ...

  8. docker 技术全面整理

    docker 和 vm 虚拟机技术比较像,但又有一些区别. vm 像真机一样有 BIOS ,有硬盘,有网卡,声卡,可以安装操作系统, win7 win10 macOS ubuntu centOS,有好 ...

  9. 我的学习笔记之node----node.js+socket.io实时聊天(1)

    本想着从hello word开篇,也确实写了相关学习笔记.各种原因吧,现在又着急写出作品,便作罢. 这里将记录一个node.js+socket.io的实时聊天程序.(当然我也是跟着网上各种教程资料学习 ...

  10. Python模块一

    logging模块 我们来说一下这个logging模块,这个模块的功能是记录我们软件的各种状态,你们现在和我一起找到红蜘蛛的那个图标,然后右键找一找是不是有个错误日志.其实每个软件都是有错误日志的,开 ...