欢迎大家关注我的博客 http://pelhans.com/ ,所有文章都会第一时间发布在那里哦~

知识图谱与语义技术概览。主要介绍知识表示、知识抽取、知识存储、知识融合、知识推理、知识众包、语义搜索、知识问答等内容。同时还包含一些典型的应用案例。若理解有偏差还请指正。

知识图谱与语义技术概览

知识图谱的概念演化

知识图谱(Knowledge Graph, KG)的概念演化可以用下面这幅图来概括:

在1960年,语义网络(Semantic Networks)作为知识表示的一种方法被提出,主要用于自言语言理解领域。它是一种用图来表示知识的结构化方式。在一个语义网络中,信息被表达为一组结点,结点通过一组带标记的有向直线彼此相连,用于表示结点间的关系。如下图所示。简而言之,语义网络可以比较容易地让我们理解语义和语义关系。其表达形式简单直白,符合自然。然而,由于缺少标准,其比较难应用于实践。

1980s出现了本体论(Ontology),该本体是由哲学概念引入到人工智能领域的,用来刻画知识。在1989年Time Berners-Lee发明了万维网,实现了文本间的链接。

1998年语义网(THe Semantic Web)被提出,它从超文本链接到语义链接。语义网是一个更官方的名称,也是该领域学者使用得最多的一个术语,同时,也用于指代其相关的技术标准。在万维网诞生之初,网络上的内容只是人类可读,而计算机无法理解和处理。比如,我们浏览一个网页,我们能够轻松理解网页上面的内容,而计算机只知道这是一个网页。网页里面有图片,有链接,但是计算机并不知道图片是关于什么的,也不清楚链接指向的页面和当前页面有何关系。语义网正是为了使得网络上的数据变得机器可读而提出的一个通用框架。“Semantic”就是用更丰富的方式来表达数据背后的含义,让机器能够理解数据。“Web”则是希望这些数据相互链接,组成一个庞大的信息网络,正如互联网中相互链接的网页,只不过基本单位变为粒度更小的数据,如下图:

2006年Tim突出强调语义网的本质是要建立开放数据之间的链接,即链接数据(LInked Data)。2012年谷歌发布了其基于知识图谱的搜索引擎产品。可以看出,知识图谱的提出得益于Web的发展和数据层面的丰富,有着来源于知识表示(Knowledge Represention, KR)、自然语言处理(NLP)、Web、AI多个方面的基因。可用于搜索、问答、决策、AI推理等方面。

知识图谱的本质

知识图谱目前没有标准的定义,这里引用一下“Exploiting Linked Data and Knowledge Graphs in Large Organisations”这本书对于知识图谱的定义:

A knowledge graph consists of a set of interconnected typed entities and their attributes.

知识图谱是由一些相互连接的实体和它们的属性构成的。最简单情况下它长这样:

复杂一些是这样的:

前面说过,知识图谱综合了众多方面,其中从Web角度看KG,它像建立文本之间的超链接一样,建立数据之间的语义链接,并支持语义搜索。从NLP角度看,它主要在做怎么能够从文本中抽取语义和结构化的数据。从知识表示角度看是怎么利用计算机符号来表示和处理知识。从AI角度则是怎么利用知识库来辅助理解人类的语言。从数据库角度看就是用图的方式存储知识。因此要做好KG要综合利用好KR、NLP、Web、ML、DB等多方面的方法和技术。

知识图谱技术概览

上图表示了知识图谱的技术体系,首先在最底层我们有大量的文本、结构化数据库、多媒体文件等数据来源。通过知识抽取、知识融合、知识众包等技术,获取我们需要的数据,而后通过知识表示和知识推理、知识链接等将知识规范有序的组织在一起并存储起来。最终用于知识问答、语义搜索、可视化等方面。

知识表示

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

上图给出了知识表示的演化过程,其中最主要根本的变化是从基于数理逻辑的知识表示过渡到基于向量空间学习的分布式知识表示。

下图给出官方推荐的语义网知识表示框架:

其中最底层的是URI/IRI是网络链接,其上是XML和RDF为资源表示框架。SPARQL是知识查询语言。被蓝色部分覆盖的是推理模块,它包含了如RDFS和OWL这样的支持推理的表示框架。在网上就是trust和interaction部分,暂时不需要了解(还不清楚是什么,只知道用不到。。。)。

RDF

RDF(Resource Description Framework)即资源描述框架,是W3C制定的。用于描述实体/资源的标准数据模型。在知识图谱中,我们用RDF形式化地表示三元关系。(Subject, predicate, object)。例如:

RDFS在RDF的基础上定义了一些固定的关键词如:Class,subClassOf,type, Property, subPropertyOf, Domain, Range以及多了Schema层。它的表示为:

OWL

OWL(Web Ontology Language), 这个本体就是从哲学那面借鉴来的。OWL在RDF的基础上扩充了Schema层,使它支持推理等操作。如:

SPARQL

SPARQL是RDF的查询语言,它基于RDF数据模型,可以对不同的数据集撰写复杂的连接,由所有主流的图数据库支持。其操作如:

JSON-LD

JSON for Linking Data: 适用于作为程序之间做数据交换,在网页中嵌入语义数据和Restful Web Service。存储格式如:

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

其实看到 Embedding这个词我们就知道,它是一个向量嵌入。详细来说就是在保留语义的同时,将知识图谱中的实体和关系映射到连续的稠密的低维向量空间。

知识抽取

知识抽取是一个结合NLP和KR的工作,它的目标是抽取KR用的三元组、多元关系、模态知识等。具体流程如下:

文字表述为,首先从网络上获取大量的各种非结构化的文本数据,经过文本预处理后得到干净的文本数据。而后借助机器学习相关程序对文本进行分词、词性标注、词法解析、依存分析等工作,此时词法及句法层次的分析结束,接下来对该文本进行NER和实体链接工作,为关系抽取和时间抽取做准备,最终形成KR用的三元组、多元关系、模态知识等构成知识图谱。

知识问答

知识问答(Knowledge-Based Question Answering, KBQA)是基于知识库的问题回答,它以直接而准确的方式回答用户自然语言提问的自动问答系统,它将构成下一代搜索引擎的基本形态。如搜索姚明的身高,就可以给出226cm的回答。其实现流程为:

知识推理

简单而言,推理就是指基于已知事实推出未知的事实的计算过程,例如回答张三儿子的爸爸是谁?按照解决方法分类可分为:基于描述逻辑的推理、基于规则挖掘的推理、基于概率逻辑的推理、基于表示学习与神经网络的推理。按照推理类型分类可分为:缺省推理、连续变化推理、空间推理、因果关系推理等等。

知识融合

实体融合(Knowledge Fusion),也叫数据连接(Data Linking)等,目的是在不同的数据集中找出一个实体的描述记录,主要目的是对不同的数据源中的实体进行整合,形成更加全面的实体信息。典型的工具为Dedupe(一个基于python的工具包)和LIMES。

知识众包

允许各网站基于一定的方式如RDFa、JASON-LD等方式在网页和邮件等数据源中嵌入语义化数据,让个人和企业定制自己的知识图谱信息。

Cite

王昊奋知识图谱教程

知识图谱入门 (一) 知识图谱与语义技术概览相关推荐

  1. 知识图谱入门——认识知识图谱

    知识图谱是知识工程的分支,在人工智能领域有重要的作用.我们日常使用的搜索引擎背后的工作逻辑****.电商平台的智能推荐等都运用了知识图谱,本文主介绍知识图谱的基本概念.相关技术,以及知识图谱构建流程. ...

  2. 知识图谱入门 (三) 知识抽取

    欢迎大家关注我的博客 http://pelhans.com/ ,所有文章都会第一时间发布在那里哦~ 本节介绍了针对结构化数据.非结构化数据.半结构化数据的知识抽取方法. 知识抽取的概念 知识抽取,即从 ...

  3. 深入了解计算机的知识,电脑入门基础知识之深入理解计算机系统

    电脑入门基础知识之深入理解计算机系统 导语:计算机系统由计算机硬件和软件两部分组成.硬件包括中央处理机.存储器和外部设备等.下面就来看看小编为大家整理的资料,希望对您有所帮助! 简介 按人的要求接收和 ...

  4. 知识图谱入门 (九) 知识问答

    欢迎大家关注我的博客 http://pelhans.com/ ,所有文章都会第一时间发布在那里哦~ 本节对知识问答的概念做一个概述并介绍KBQA实现过程中存在的挑战,而后对知识问答主流方法做一个介绍. ...

  5. 知识图谱入门 , 知识抽取

    向AI转型的程序员都关注了这个号

  6. 知识图谱入门 , 知识问答

    向AI转型的程序员都关注了这个号

  7. linux中vi基础知识,Vim入门基础知识集锦

    想学习Vim,但是Vim官网的手册又太大而全,而网上各方资料要么不全面,要么不够基础.在网上搜集各方资料,按照自己的框架整理一份Vim入门基础教程,分享出来.特点是偏向基础,但对入门者来说足够全面,而 ...

  8. python入门必备知识_python入门基本知识

    1. 什么是语言 语言是一个事物与另外一个事物沟通的介质. python则是人(程序员)与计算机沟通的介质. 2. 什么是编程 编程就是程序员将自己想要让计算机做的事情用编程语言翻译出来写到一系列的文 ...

  9. python基本操作知识_python 入门基本知识

    1 什么是编程? 人将自己的思维逻辑和想法通过计算机能够识别的语言(载体)写下来, 告诉计算机(实际操作者)按照你的思维逻辑去帮你干活.编程的最终结果就是一系列文件. 2 计算机的主要部件有哪些? 主 ...

最新文章

  1. 基础才是重中之重~DictionaryK,V里V的设计决定的性能
  2. make_ext4fs 失败
  3. Docker + Intellij IDEA,提升 10 倍生产力!
  4. Message Decoding密码翻译
  5. 第二十三期:程序员节Keep被曝突然裁员300多人,60%是开发和运营
  6. 《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.4 示例:使用按钮集装饰单选框...
  7. python的网络应用_python 网络编程的应用模块
  8. CentOS系统使用yum安装配置MariaDB数据库
  9. 项目管理学习笔记五:项目整体管理
  10. HybridDB PostgreSQL Sort、Group、distinct 聚合、JOIN 不惧怕数据倾斜的黑科技和原理 - 多阶段聚合...
  11. 项目交付:把Python项目打包成exe文件供客户使用然后收钱
  12. OPenDDS程序 的 实现+运行
  13. Kali Linux渗透测试——WEB渗透(二)
  14. matlab批量写入文件,matlab批量合并txt文件
  15. 无需Apple ID和密码即可将iPad恢复出厂设置的简便方法
  16. python监控网站更新_Python 通过网站search功能监控网站内容更新
  17. Tumblr 架构设计
  18. 目标跟踪CVPR,ICCV,ECCV文章及代码实时更新
  19. 哈希的结构-MD系列
  20. Ubuntu 如何安装 微信?实测

热门文章

  1. 带小数点时间格式的转换(python)
  2. WampServer安装教程、相关问题和检验
  3. linux第一块ide硬盘命名为,Linux 硬盘分区
  4. mysql 代码书写,【单选题】mysql 的代码书写规则是() A. 不区分大小写 B. 必须全部大写 C. 必须全部小写 D. 以上答案都不对...
  5. 中国磷酸市场应用现状规模与需求前景预测报告2022-2028年
  6. StateFlow-自动变速逻辑搭建
  7. 基于 Python 的开源Web开发框架django/哈工大学生成绩管理系统html实现/python结课大作业
  8. Java读取word文档,转换为网页
  9. 模态振型的一些概念解释
  10. python忽略警告