知识图谱入门系列_nerrdfs-程序员宅基地

技术标签: 深度学习  自然语言处理  知识图谱  

很好的入门解说,包括实现方式及意义

 

知识图谱入门系列

  • 第一次在知乎上发帖,有不准确的地方欢迎大家指正!!!,后续会持续更新知识图谱相关技术细节。本贴大概介绍一下知识图谱中相关的技术。

知识图谱

  • 针对于知识图谱基础知识,领域应用和学术前沿趋势进行介绍。

知识图谱介绍

  • 知识图谱(Knowledge Graph)以结构化的形式描述客观世界中概念、实体及其关系。是融合了认知计算、知识表示与推理、信息检索与抽取、自然语言处理、Web技术、机器学习与大数据挖掘等等方向的交叉学科。人工智能是以传统符号派与目前流行的深度神经网路为主,如下图所示,知识图谱发展史。

知识图谱发展史

知识表示与深度学习表示

  • 各大公司布局知识图谱

补充其中还包括国内的京东与美团(美团的AI大脑,数十亿知识图谱构建)

  • 知识图谱应用模式(来之美团的Ai大会报告)

  • 知识图谱技术链

  • 知识图谱赋能

知识图谱应用非常广泛,目前主要应用到搜索引擎、智能问答、大数据分析、语言翻译和语言理解及辅助设备互联(Iot领域),如下图所示,知识图谱在搜索引擎的应用。

  • 通用知识图谱与垂直领域知识图谱对比
  • 相比较DBpedia、Yago、Wikidata、百度和谷歌等通用知识图谱,+特定领域内的知识图谱在知识表示、知识结构、知识质量及知识应用更高的要求(关于领域知识图谱与通用知识图谱之间的问题可以查看复旦肖仰华)。

知识图谱技术模块

知识表示

  • 如何利用计算符号运算来表示人脑中的知识和推理过程,知识表示主要有两种,基于离散符号的知识表示法和基于连续向量的知识表示。
  • 基于离散符号的知识表示法

  • RDF(Triple-based Assertion Model) 三元组模型,构建方式主要是主-谓-宾有向标记图和RDFS(simple Vocabularty and schema)

 

  • OWL(Web Ontology language):是一种W3C开发的网路本体语言,用于对本体进行语义描述。

  • SPARQL(Protocol and RDF Query Language) :RDF的查询语言,支持主流图形数据库。下图URI/IRI为主要网络协议,主要数据存储格式是RDF与XML

  • 基于连续向量的知识表示
    • KG embedding 主要是KG中实体与关系映射到一个低维的向量空间,主要的方法有张量分解、NN、距离模型(现有的词向量模型基于连续向量空间来表示)(Embedding projector)

  • 两种方法对比

知识抽取

  • KG中知识抽取主要从结构化、半结构化、结构化数据中转为三元组表示的标准知识形态。

  • 主要处理流程

实体抽取(NER命名实体识别)

  • 目的是识别文本中指定类别的实体,主要包括人 名、 地名、 机构名、 专有名词等的任务“ 姚明(Yao Ming),1980年9月12日出生于上海市徐汇区,祖籍江苏省苏州市吴江区震泽镇,前中国职业篮球运动员,司职中锋,现任中职联公司董事长兼总经理“。如下图所示,命名实体识别主要包含两个部分:实体边界识别与实体分类。传统方法(HMM(隐马尔科夫模型) CRF(条件随机场) SVM、最大熵分类模型等方法进行处理。现在能采用深度学习,比如CNN\RNN\LSTM及LSTM-CRF。采用的工具可以有JiagujiebaStanford CoreNLP等。

实体链接

  • 目的是将实体提及与知识库中对应实体进行链接 ,主要解决实体名的歧义性与多样性问题,是文本中实体名指向真实世界实体的任务。传统模型是计算实体提及与知识库中实体的相似度,并选取特定的实体提及的目标实体,比如“苹果发布新的手机‘IphoneX11’”,[苹果(水果)、苹果(电影)、苹果(公司)等候选实体],主要使用包括实体统计信息、名字统计信息、上下文词语分布、实体关联度、文章主题等信息,同时,考虑到一段文本中实体之间的相互关联,相关的全局推理算法也被提出来寻找全局最优决策。 目前深度学习方法,构建多类型多模态上下文及知识的统一表示,并建模不同信息、不同证据之间的相互交互 通过将不同类型的信息映射到相同的特征空间,并提供高效的端到端训练算法。包括多源异构证据的向量表示学习、以及不同证据之间相似度的学习等工作[Ganea & Hofmann, 2017] [Gupta et al., 2017] [Sil et al 2018] 。开源工具dexter2

实体关系抽取

  • 实体关系抽取是知识图谱构建与信息提取的关键环节,主要提取两个或者多个实体之间的某种联系。格式,三元组(实体1,关系,实体2),"北京是中国的首都、政治中心和文化中心 "中实体关系可以表示为(中国、首都、北京)(中国 政治中心 北京)(中国 文化中心 北京)。
  • 限定关系抽取:采用弱监督/监督机器学习进行预定义的实体关系知识抽取,一般为多分类问题,可以直接抽取三元组关系。一般会采用基于特征向量的方法、基于核函数的方法和基于神经网络的方法 。
  • 开发域关系抽取:预先不进行预定义,系统本身自动抽取实体之间的关系,一般采用无监督学习方法进行自动提取实体之间的关系(三元组)。缺点是抽取的知识缺乏语义化、很难做归一化处理,弱监督学习可以自动生成大规模的训练医疗库,但是会产生噪音数据。

关于NER与实体链接可以查看另一篇文章

gaojing:知识图谱-实体抽取与实体链接​zhuanlan.zhihu.com 

事件关系抽取

  • 识别文本中关于事件的信息,并以结构化的形式呈现,核心概念包括:事件描述、事件触发词(动词或者名词)、事件元素(实体、时间和属性等表达语义的细粒度单位组成)、元素角色(角色在某件事情上面的语义关系)、事件类型(事件元素和触发词决定事件的类别),如下图所示

  • 基于模式匹配的方法:对于某一个事件的识别与抽取是在一些模式的指导下进行的,主要有两个步骤:模式获取和模式匹配,有可分为基于人工标注语料和弱监督学习
  • 基于机器学习的方法:把事件建模成多分类问题,可以分为基于特征、基于结构和基于神经网路。
  • 基于特征:该方法多用管道式事件抽取
  • 基于结构预测:将事件结构看做是依存树结构预测。基于结构感知机的联合模型可同时完成触发词与事件元素识别的两个子任务。
  • 基于神经网路:利用RNN进行事件检测及联合模型与RNN相结合进行预测触发词和事件元素
  • 基于弱监督:在学术上,[Chen and Ji, 2009] [Liao and Grishman, 2011a; 2011b] [Liu et.al., 2016b] 等,但是由于该方法无法直接映射到结构化数据中,无法直接构建三元组。
  • 中文事件抽取
  • 中文与英文事件抽取区别较大,主要是缺乏统一、公认的事件语料库及公开评测系统(上海大学CEC(Chinese Event Corpus))

知识融合

  • 知识融合是指合并两个知识图谱,本体可以让用户非常方便和灵活的根据自己的业务建立或者修改数据模型。通过数据映射技术建立本体中术语和不同数据源抽取知识中词汇的映射关系,进而将不同数据源的数据融合在一起。同时不同源的实体可能会指向现实世界的同一个客体,这时需要使用实体匹配将不同数据源相同客体的数据进行融合。不同本体间也会存在某些术语描述同一类数据,那么对这些本体间则需要本体融合技术把不同的本体融合。

知识融合-异构问题

  • 语言层不匹配:RDF OWL OWL2等本体语言之间不兼容。
  • 实体对齐问题:由于多源、异构、跨语言知识图谱差异性较大,比如结构化不可比、实体名称表述差别较大、外部工具不稳定等,可训练数据较少。方法:可以基于图神经网路的实体结构语义表示及匹配(关于知识融合中实体对齐在学术上有很多研究)

知识存储

  • 知识图谱的知识存储一般是采用图形数据库进行存储,主要有两种图数据模型:RDF图和属性图
  • 查询语言:RDF图---SPARQL; 属性图:Cypher 和 Gremlin
  • 常见知识图谱存储方式
    • 基于关系数据库的存储方案
      • 主要是三元组表(3store)、水平表(DLDB)、属性表(JENA)、垂直划分(SW-Store)、DB2RDF和六重索引(RDFX-3X、Hexastore)
    • 面向RDF的三元组数据库
      • Jena RDF4J RDF-3X gStore
    • 原生图数据库
      • Neo4j
      • 分布式图形数据库 JanusGraph
      • OrientDB
      • Cayley
    • 图形数据库对比

来之DB-Engiens图引擎和美团知识图谱报告,美团采用JanusGraph分布式图形引擎

知识推理

  • 根据已有的知识图谱中的事实或者关系推断出新的事实与关系,一般是考察实体、关系和图谱结构三个方面的信息特征

基于演绎的知识图谱推理

基于归纳的知识图谱推理

  • 基于图结构
  • 基于规则学习
  • 基于表示学习
  • 新的方法
    • 时序法
    • 基于强化学习
    • 基于图神经网路

开源工具

  • Jena和Drools

知识图谱构建流程

  • 主要介绍主流的知识图谱构建流程,实体图谱的构建主要有自底向上、自顶向下和二则混合的方法,如下图所示,分别为自底向上和自顶向下

自底向上

自顶向下

知识图谱整体构建流程

参考文献

知识图谱怎样入门

一篇比较好的知识图谱发展史

美团技术团队

王昊奋视频笔记

Embedding Projector

知识图谱的应用

中文知识图谱构建的知识融合与验证

湖心小笨酸:ACL 2019 知识图谱的全方位总结

DB-Engines

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_36723038/article/details/112645753

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法