王昊奋知识图谱学习笔记--第三讲知识抽取与知识挖掘(上)

2023-11-20 15:10

本文主要是介绍王昊奋知识图谱学习笔记--第三讲知识抽取与知识挖掘(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文是基于王昊奋老师的知识图谱入门教程第三讲内容的学习笔记。总体来说,这节课介绍了知识图谱三种数据源,以及针对每种数据源实现的知识抽取方法,最后介绍了一个关于佛学知识图谱的实现案例,并留了两道基于正则表达式实现知识抽取的作业。

因为视频内容过于丰富,我个人有针对性的学习了第一部分,即针对非结构化的知识抽取,也就是关于文本的处理。而对于结构化的数据,和半结构化的数据,仅作为了解,笔记总结的内容不够详细。最后的案例我觉得是很好的,而且有在线的网址效果和对应的论文,有很好的学习和借鉴价值。

前言 知识图谱数据来源和知识抽取方式

知识图谱的数据源分为三种类型:结构化、半结构化和非结构化。

  • 结构化数据:链接数据、数据库。
    • 针对数据库的知识抽取方法主要是D2R,难点是嵌套表等复杂表数据的处理
    • 针对链接数据的知识抽取方法主要是图映射,难点是数据对齐。从开放知识图谱中希望做一个领域知识图谱,一种方便的做法是图映射,基于自己领域知识图谱中定义的schema, 就需要有开放知识图谱与自己领域知识图谱的数据对齐。
  • 半结构化数据:网页中的表格、列表、百科中的信息。
    • 针对半结构化数据的知识抽取是使用包装器,难点是包装器的定义方法包装器的自动生成、更新和维护
  • 非结构化数据:纯文本数据、多媒体数据
    • 针对非结构化数据的知识抽取方法是信息抽取,难点是结果的准确率与覆盖率

在这里插入图片描述

第一部分 面向非结构化的知识抽取任务

1.1 实体抽取

实体抽取

实体抽取,又称为命名实体识别。
它要做的是首先从文本中识别和定位文本,然后将识别到的实体分类到预定义的类别中去。
在这里插入图片描述

在这个例子中,“背景” 和 “10月25日” 分别为地点和时间类型的实体。而“骑士”和“公牛” 为组织类型的实体。
在这里插入图片描述

实体抽取的方法

  • 基于规则的方法:首先构建大量的实体抽取规则,然后将规则与文本字符串进行匹配。适用于小规模数据集。
  • 基于统计模型的方法:基于统计模型的方法主要涉及到训练语料标注、特征定义和模型训练三个步骤。主要使用的模型有隐马尔可夫模型HMM和条件随机场模型CRF;其中斯坦福大学的NER 是一个基于CRF实现的命名实体识别工具,具有较高的准确率。
  • 基于深度学习的方法:主要是将深度学习和统计模型结合使用,通过深度学习得到每个词的新向量表示,然后使用CRF模型输出对每个词的标注结果。主要有LSTM+CRF 、LSTM-CNNs-CRF(该模型在CoNLL-2013命令实体识别数据集上获得了91.2%的F1值。)

相关开源系统

这一部分涉及的内容太多,理解的不好。
在这里插入图片描述

1.2 关系抽取

关系抽取
从文本抽取两个或多个实体之间的关系。
关系抽取和实体抽取关系密切,一般是在识别出文本中的实体后,再抽取实体之间的关系。
也即是说实体抽取完成后,在知识图谱中的呈现只有点,没有边。当关系抽取完成后(关系抽取出来的叫抽取元组,还需要再做清理、融合、以及人工审核),我们就有了边。这样一个知识图谱就基本完成了。
在这里插入图片描述

关系抽取分类

在这里插入图片描述

基于触发词的Pattern

在这里插入图片描述
基于依存句法分析的Pattern

这是哈工大LTP工具实现的效果,后续可以深入学习LTP的使用。
这种依存句法分析,可以理解为更泛化的正则表达式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于监督学习的关系抽取方法

在这里插入图片描述
基于深度学习的方法主要包括两大类:

  • 流水线方法。将实体抽取和关系抽取作为两个独立的部分,因此关系抽取的结果依赖于实体抽取的结果,会存在错误累积的问题。
  • 联合抽取方法。将实体抽取和关系抽取相结合,在统一的模型中共同优化。

在这里插入图片描述
半监督学习-远程监督

在这里插入图片描述

1.3 事件抽取

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第二部分 面向结构化的知识抽取任务

垂直领域的知识往往来源于企业业务系统的关系数据库。因此,从数据库这种结构化数据中抽取知识也是一类重要的知识抽取方法。在该领域,已经有一些标准和工具支持将数据库转化为RDF数据、OWL本体等。

W3C的RDB2RDF工作组于2012年发布了两个推荐的RDB2RD映射语言。

  • 直接映射DM。

  • R2RML。
    在这里插入图片描述
    相关工具

  • D2RQ

  • Mastro

  • Ultrawrap

  • Morph-RDB

  • Ontop
    老师推荐使用Ontop去了解映射的过程

第三部分 面向半结构化的知识抽取任务

目前,百科类数据、网页数据是可被用于知识获取的重要半结构化数据。

第四部分 实践

这里作者初略介绍了一个在线百科知识抽取技术的具体应用,即构建佛学知识图谱的一个例子。下面是实现的网址和对应的论文,感兴趣的朋友可以深入学习,很有借鉴价值。
这是实现的网址:http://www.kg-buddhism.com
这是论文名称: KG-Buddhism: The Chinese Knowledge Graph on Buddhism

下面介绍以下这个实践的基本思路:

4.1 抽取框架

在这里插入图片描述

4.2 知识连接

这一步骤的工作是抽取类别和实例:

  • 先找到与佛学相关的分类,抽取佛教人物分类下所有文章对应的实体。
  • 维基百科“佛教头衔”分类下的所有实体
  • 已抽取的实体名中高频的公共字符串

在这里插入图片描述

4.3 知识融合

这一个过程是做主语的融合:

  • 实体的别名属性和重定向作为实体的别名集合
  • 不同来源的实体,存在一个完全匹配的别名,则认为是相同实体
  • 人工检查相同实体数多于三个的映射

在这里插入图片描述
主语融合中存在的问题:

  • 同名,不同实体

  • 同实体,不同名 (这种情况属于同义词)
    在这里插入图片描述
    解决方案:

  • 多个相同别名,来判断是否是同一实体

  • 实体的“地址”、“建筑时间”属性来判断是否冲突

在这里插入图片描述
以上是介绍的主语的融合。除此之外,也会做谓语和宾语的融合。

在这里插入图片描述

4.4 知识补全

这里介绍基于正则化的知识补全。**作者推荐正则化是最早应该学习的,**这种方法因为编写规则需要领域经验,很难对文本中的关系通过规则做到全面的覆盖,但它的好处是一旦基于文本提取了规则,准确率挺高。
按照评价指标来评价这种方法,属于精确率高、召回率低的方法。
在这里插入图片描述

实现效果

实现的网址:http://www.kg-buddhism.com
在这里插入图片描述

这篇关于王昊奋知识图谱学习笔记--第三讲知识抽取与知识挖掘(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395500

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学