目录
前言
最近我发现许多不了解知识图谱(Knowledge Graph, KG)的人,觉得知识图谱只是一个概念,没有实际的用处。面对这个背景,让我有兴趣以科普的形式回顾一下知识图谱,是否仅仅是个概念,同时也一起学习进步。子曰:温故而知新,可以为师矣。知识图谱不仅仅是个概念,而是一种重要的、特定的图数据分析的方式。
先引用一下写得比较详尽的对相关术语的解释。
语义网(Semantic Web, SW)的核心是:通过给万维网上的文档(如: HTML文档)添加能够被计算机所理解的语义(元数据),从而使整个互联网成为一个通用的信息交换介质。-- 维基百科
《Web3.0:互联网的语义革命》勾勒出了下一次颠覆性大潮的蓝图。有些人称之为Web3.0,另一些人称之为“语义网”。所谓“语义”就是文本的含义。简单来说,语义网(Semantic Web)是一种能理解人类语言的智能网络,它不但能够理解人类的语言,而且还可以使人与电脑之间的交流变得像人类之间交流一样轻松。它是人工智能领域一个极好的应用场景,主张实现Web 上数据级间的互操作,颇具实践性。-- 百度百科
在大数据的背景下,人们意识到了从数据->信息->知识的重要性。要实现这个知识抽取的过程没有知识图谱是不行的。我将从以下几方面介绍一下知识图谱的作用。
1. 图论
抛开语义,仅从数据结构的角度,知识图谱的一大理论支撑是图论。大多数图论中介绍的方法都可以用在知识图谱上。现实世界中很多信息都是以图(Graph)的形式存在的,而图是由节点(Node)和边(Edge)构成。当我们想到跳出平面思维,采用图的思维去分析一些复杂问题时,就会很容易找到问题的解决思路。
现实中图数据很丰富,例如社交网络、人际关系、银行账户关系、供应链、物流配送等都是一种图数据,其中的节点有人物、银行账户、配送点、供应商等,其中的关系有好友、绯闻、情侣、关注、欠款、转账等,当我们以图结构的视角去看待世界,会解决一些复杂问题。例如最近比较流行的“全民反诈”app,帮助人们自强自我保护意识。而图数据的分析可以发现一些欺诈账户,并且发现潜在受害人和账户实控人等。
2. 知识表示
图结构上的节点除了能用于符号主义方式计算之外,也可以采用分布式表示进行并行计算。GPU芯片等擅长tensor的计算,可以进行分布式,并行化的计算。如何把图表示为tensor呢,这其中涉及到图表示学习。图表示学习旨在用低维稠密向量表示图中的节点和关系。相关的研究有图神经网络、图表示学习等。
3. 知识推理
人们希望人工智能代替人类进行推理、决策。通过已知节点和边关系,推理出未知的边(推理出新节点的形式可能比较少见)。传统的关于描述逻辑推理的研究取得了丰富的成果,足见其对人类社会的重要性。此任务在大规模知识图谱、机器学习方法论的背景下通常被称为链接预测,预测与推理这两个术语也体现了不同的时代背景。有时人们也会混用预测=推理,例如人工智能推理芯片等。实际上预测与推理有许多方面的不同,感兴趣的可以搜一下相关的资料。
4. 数据分析
有人分析过当在一个百万节点、上亿条边的图上想要进行多跳查询图数据的时候(例如列出SB软件的朋友的朋友的叔叔),采用关系型数据库需要进行多次join操作,用户需要去楼下跑个五公里回来之后看结果,甚至于无法完成这个查询。而对于某些单机运行的图数据库却能在3秒时间内轻松地完成。这是由于图数据和关系型数据库的内核,以及底层的工作原理不同导致。此外许多图搜索算法,也只能在图数据上运行。
5. Web 3.0
Web 1.0 is the "read-only Web," Web 2.0 is the "participative social Web," and Web 3.0 is the "read, write, execute Web." -- 来自互联网
上面这句话很好地总结了互联网的更新升级。先出现了Web3.0语义互联网的技术,多年后才出现了“知识图谱”这个术语。知识图谱通常也代表语义互联网的技术栈,是许多技术的一揽子组合,而不是指一种特定的算法。
链接开放数据(Linked Open Data)通过链接世界各地的知识图谱,最终目标是构建一个巨大的全球知识图谱。用户可以很方便地通过http协议获取公开的信息,机器可以很好解释和处理这些信息。实现链接开放数据需要知识图谱中实体的链接、对齐、本体的融合等。
然而在现实世界中,除了一些免费公开数据,许多关键的、涉及多方利益的数据是无法公开,于是人们提出联邦学习等方法希望在机器在利用多方数据的情况下又不会泄漏数据。当然这是另外一个话题,这也足见多源数据的重要性。
6. 结语
鉴于时间限制,本文仅采用较短的篇幅,简洁地介绍知识图谱被忽略的作用,用以共勉。知识图谱的作用当然不止这些,至于长篇大论,且待下回分解。
作者:SB软件搬砖工
原文搜索微信公众号 小牛人思维