第2章 知识抽取:概述、方法

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
请添加图片描述

文章目录

  • 🍋知识抽取的概述
    • 🍋知识抽取的任务
  • 🍋知识抽取的方法
    • 🍋面向结构化数据
      • 🍋直接映射
      • 🍋R2RML映射
    • 🍋面向半结构化数据
    • 🍋面向非结构化数据

博学之,审问之,慎思之,明辨之,笃行之。 ——《礼记 中庸》

🍋知识抽取的概述

在这里插入图片描述
上图清晰的展示了知识图谱技术架构中的知识抽取

如果从专业的角度去定义知识抽取的定义:从不同来源、不同结构的信息资源中进行知识提取,形成结构的知识并存储到知识图谱中。

一般来说,知识抽取主要是面向链接开发数据,大家获取不知道何为链接开放数据,下面我为大家整理了一下

链接开放数据(Linked Open Data,LOD)是一种数据发布和共享的方法,通过使用统一的标准化格式和互联网链接,将不同来源的数据链接在一起,形成一个全球性的、互联的知识网络。这种方法的目标是使得数据更容易被发现、访问、集成和利用。

LOD 遵循一些核心原则,其中包括:

  • 使用统一的标准: LOD 使用通用的、开放的标准来描述和表示数据,其中最常用的是RDF(资源描述框架)。

  • 唯一标识符: 每个数据实体都有一个唯一的标识符(通常是统一资源标识符,URI),这样可以确保全球范围内的唯一性。

  • 链接性: 数据之间通过超链接建立关系。这使得在一个数据集中找到的信息可以链接到其他数据集,形成一个关联性强、可导航的知识网络。

  • 开放访问: LOD 数据是开放的,任何人都可以自由地访问和使用,符合开放数据的原则。

  • 可互操作性: 数据之间的链接和标准化格式的使用增加了数据的互操作性,使得不同数据集可以相互配合使用。

  • 可扩展性: LOD 是一个逐步构建的过程,可以随着时间不断添加新的数据集,从而不断扩展知识图谱。


当然知识抽取也就是通过一系列自动化或半自动化的技术手段,从半结构化、非结构化的数据中提取出实体、关系及属性等知识要素。但是如果仅仅是抽取这些其实还是不够的,还有基于语句和语境抽取出实体间的关系以及实体所描述的事件。

🍋知识抽取的任务

下面我来介绍一下抽取中最受关注的子任务

  1. 实体抽取(Entity Extraction):

    定义: 实体抽取是从文本中识别和提取具有特定意义的命名实体的任务。这些实体可以是人物、地点、组织、日期、货币等。
    方法: 使用自然语言处理(NLP)技术,如命名实体识别(NER),采用规则、统计模型或深度学习模型,以识别并标注文本中的实体。
    注意:实体抽取是知识图谱构建和知识抽取的基础和关键

  2. 实体链接(Entity Linking):

    定义: 实体链接是将文本中的命名实体与知识库中的实体进行关联的任务。这有助于消除歧义,确保同一实体在不同文本中有一致的标识。
    方法: 结合上下文信息,使用相似性匹配、向量化表示、字符串匹配等方法,将文本中的实体链接到预定义的知识库中的实体。

这里举个例子:中国古典《西游记》大家都看过,唐僧这个角色有好几个叫法大家估计也知道一两个,那么这个例子放在实体链接中该如何理解呢,请看下图
在这里插入图片描述

当然这里仅仅简单介绍一下,想了解详细流程的可以翻阅相关书籍或资料等

  1. 关系抽取(Relation Extraction):

    定义: 关系抽取是从文本中识别和提取不同实体之间的关系的任务。这些关系可以是作者关系、工作关系、亲属关系等。
    方法: 利用监督学习,使用有标签的数据进行训练,采用统计方法或深度学习模型,以识别文本中的关系。

注意:关系抽取的难点在于大多数关系都含有一定的隐含性,还记得本科话ER图什么一对多多对多都搞的迷迷糊糊了

  1. 属性抽取(Attribute Extraction):

    定义: 属性抽取是从文本中识别和提取与实体相关的特定属性或特征的任务。这些属性可以是实体的属性,如人物的职业、地点的经纬度等。
    方法: 采用规则匹配、基于统计的方法,或者深度学习模型,以从文本中提取出与实体相关的属性信息。

注意:属性主要是针对实体而言的,对当前实体的完整描述。由于可以把实体的属性看作实体与属性值之间的一种名词性关系,因此属性抽取任务就可以转化为关系抽取任务。

  1. 事件抽取(Event Extraction):

    定义: 事件抽取是从文本中识别和提取描述事件的信息,包括事件的参与者、时间、地点以及事件的类型等。
    方法: 结合实体抽取和关系抽取的方法,使用监督学习或者远程监督,以从文本中提取出事件的结构化信息。

🍋知识抽取的方法

在这里插入图片描述

🍋面向结构化数据

结构化的数据通常来讲类似于关系型数据库中表格形式的数据,对于一般的表格,我们可以使用工具进行编写,但是面对复杂的表格,我们需要使用转换工具将关系型数据库映射到RDF。

这里的RDF本质是一个数据模型,提供了描述实体或资源的统一的标准,简单来说,它就是表示事物的一种方法和手段。从形式上表示为SPO三元组,有时候也可称为一条语句,在知识图谱中代称为一条知识。

下面我们以关系型数据库为例子
在这里插入图片描述
接下来我们来看看针对上图的抽取方法中的直接映射R2RML映射

🍋直接映射

直接映射通过明确在关系模式中编码的语义,将关系数据转换为RDF,如下按照一些简单的规则创建URI进行映射。

  • 数据库的表作为本体中的RDF类
  • 表的列作为RDF属性
  • 表的行为作为实例、资源
  • 表的单元格作为字面量
  • 如果单元格所在的列是外键,那么其值为IRI,或者说实体、资源

由于URI规定只能使用英文字符,而Unicode字符集包括了当今世界上所有书写文字的字符,所以资源标识符可以使用Unicode字符

🍋R2RML映射

R2RML映射是将逻辑表作为输入,然后依据三元组映射规则将其转换成三元组的集合。

  • 逻辑表:一个数据库表、一个数据库视图或SQL查询语句
  • 三元组映射:通过主语、谓语、宾语映射产生三元组

注意:直接映射方法不能改变RDF的结构或词语,但是如果是R2RML的话,作者可以自定义关系型数据库的视图,然后由视图来映射RDF,所以说每一个R2RML映射都是基于实际项目需要而描述的,它连接了作为输入端的关系型数据库架构域以及作为输出端的RDF词语。

🍋面向半结构化数据

半结构化数据一般指的是那种网页本身存在一定的结构,但是需要进行整理。半结构化数据的知识抽取主要通过包装器进行,包装器学习半结构话数据的抽取规则将数据从HTML网页中抽取出来,进而将它们转化为结构化的数据。

我们使用包装器进行知识抽取的步骤主要包括网页清洗,网页标注,包装器空间生成,包装器评估。

网页清洗:主要解决网页代码不规范的问题。

网页标注:将需要抽取的数据进行标注

包装器生成:Xpath集合空间,应具有一定的泛化能力。

注意:xpath在爬虫里也有使用插件获取可以参考下面两篇博客
探索Xpath:解析Web页面的利器
XPath实战:快速定位网页元素

包装器评估:对包装器进行评估需要采用一定的标准,主要有准确率和召回率。通常情况下准确率越高、召回率越高,进而评分越高。

完成包装器空间生成之后我们按照准确率和召回率进行包装器的评估。
例如:包装器A的准确率大于包装器B的准确率,但是两者的召回率相等,这样综上所述来看就是包装器A要更加的优于包装器B

值得一提的是,有监督的包装器维护开销会很大,当网站改变了模版,Xpath那里可能就会发生变动,标签嵌套啥的,这样我们可以对数据进行少量的标注,让机器学习出一定的规则,进而在整个站点下使用这些规则对同类型或者符合某种关系的数据进行抽取,从而节省资源。

🍋面向非结构化数据

非结构化数据是指社交网络、网页、新闻、论文,甚至一些多模态数据。本节以文本数据抽取为例,从实体抽取、实体链接、关系抽取以及事件抽取几个方面来讲解面向非结构化数据的知识抽取。其中,知识抽取的任务中提到的属性抽取与关系抽取概念相近,使用的方法也十分类似。

  • 实体抽取:单纯的实体抽取可以看成是一个序列标注问题,可以采用HMM、CRF、LSTM等算法解决
    利用机器学习方法进行实体抽取的基本流程如下:
  1. 输入可供训练、具有代表性的文本数据
  2. 找出文本中的指称词语(Token),标记命名实体标签
  3. 分析文本和类别,并设计合适的特征提取方法
  4. 训练一个句子分类器来预测数据的标签
  5. 对测试集文本使用分类器,自动为指称词语做标记
  6. 输出标记结果,即测试集文本的命名实体
  • == 实体链接==:具体流程可以参考下图

在这里插入图片描述

  • 关系抽取:指的是从非结构化文本中抽取出两个或多个实体之间的语义关系。目前根据不同的抽取方法,可以将其分为基于模版的方法,基于监督学习的方法,基于弱监督学习的方法。

  • 事件抽取
    事件信息包事件抽取就是把含有事件信息的非结构化文本以结构化的形式呈现出来。一个比较综合的任务,一个标准的括事件发生的时间、地点、原因、参与者等。事件抽取是事件抽取任务可以进一步分解为触发词识别、事件类型分类、论元识别和角色分类等子任务。每个事件都会有一个事件类型及相应的触发词,并且配有不同角色的论元。事件类型和论元角色是在约定的有限集合中选择,而触发词和论元一般情况下都是输入句子的片段。

请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『时间之外』这个不得不思考的问题,还是要说一下

还记得当初自己为什么选择计算机? 当初你问我为什么选择计算机,我笑着回答:“因为我梦想成为神奇的码农!我想像编织魔法一样编写程序,创造出炫酷的虚拟世界!”谁知道,我刚入门的那天&#xff0…

Ruff智能物联网网关助力工厂数智化运营,实现产量提升5%

数字化转型是大势所趋,以工业互联网为代表的数实融合是发展数字经济的重要引擎,也是新质生产力的一大助力。工业互联网是新工业革命的重要基石,加快工业互联网规模化应用,是数字技术和实体经济深度融合的关键支撑,是新…

12.5_黑马数据结构与算法Java

目录 001 二分查找 算法描述 002 二分查找 算法实现 003 二分查找 问题1 循环条件 004 二分查找 问题2 中间索引 thinking:反码补码原码? thinking:二进制转十进制? thinking:无符号右移? 005 二分…

出海风潮:中国母婴品牌征服国际市场的机遇与挑战!

近年来,中国母婴品牌在国内市场蓬勃发展的同时,也逐渐将目光投向国际市场。这一趋势不仅受益于中国经济的崛起,还得益于全球市场对高质量母婴产品的不断需求。然而,面对国际市场的机遇,中国母婴品牌同样面临着一系列挑…

java springboot简单了解数据源实现 与 springboot内置数据源

之前 我们讲到的项目 数据库管理 用了三种技术 数据源管理方式 我们选择了: DruidDataSource 持久化技术: MyBatis-Plus / MyBatis 数据库: MySql 那么 我们在刚接触数据库连接时 是没用配置Druid的 那它有没有用数据源呢? 我们接触过的配置Druid的方式有两种 用…

【发布小程序配置服务器域名,不配置发布之后访问就会报错request:fail url not in domain list】

小程序在本地开发的时候大家通常会在微信开发者工具中设置“不校验合法域名、web-view (业务域名)、TLS 版本以及HTTPS证书”,久而久之可能会忘掉这个操作,然后打包直接上线发布,结果发现访问会报错request:fail url not in domain list&…

Chat-GPT原理

Chat-GPT原理核心:基于Transformer 架构 ​ 以下是参考文献的部分截图原文说明: ​ Transformers are based on the “attention mechanism,” which allows the model to pay more attention to some inputs than others, regardless of where they show up in t…

MySQL之binlog文件过多处理方法

背景 MySQL由于大量读写,导致binlog文件特别的多。从而导致服务器disk空间不足问题。 先备份binlog文件 tar -zcvf mysql.tar.gz mysql/data/mysql-bin.00* 修改MySQL配置 binlog过期时间 show variables like expire_logs_days; 这里 0 表示 永不过期 如果为 n…

卡通渲染总结《一》

本文是在看完之前的综述论文《Cartoon Style Rendering》的总结,论文时间是2008年有点早,但有一定启发意义。 前言 首先卡通渲染是非真实化渲染(NPR)的一个部分.而NPR旨在模拟出手工插图的效果例如油画、墨水画、漫画风格作品。 …

mongdb配置ssl

mongodb5.0.9 centos7.6 x86 1、正常启动mongod -f mongodb.conf 【前言】 ssl配置流程步骤,按照以下顺序处理即可。 1.生成证书,根证书,服务端证书,客户端证书 2.配置服务端ssl配置,测试she…

编程模拟支付宝能量产生过程--数据控制流

#模拟支付宝蚂蚁森林的能量产生过程 behavior_points { # 定义行为对应的积分"步行": 2,"生活缴费": 10,"线下支付": 5,"网络购票": 5,"共享单车": 10 }total_points 0 # 初始化总积分while True: # 开…

10倍提升启动的时间?Graalvm打包Springboot+MyBatis实测

graalvm使用前后对比图 相关代码博客:https://blog.csdn.net/weixin_43914278/article/details/134446327 工具大小时间graalvm打包的exe文件84.14MB0.251秒graalvm打包的docker文件121.27MB0.253秒jar包51.34MB2.153秒 解析 文件大小: graalvm打包的Docker文件…

苍穹外卖项目笔记(7)— 微信登录、商品浏览

前言 苍穹外卖项目代码:https://github.com/Echo0701/take-out 1 HttpClient 1.1 介绍 HttpClient 是 Apche Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且支持 HTTP 协议最新…

CUDA简介——For循环并行化

1. 引言 前序博客: CUDA简介——基本概念CUDA简介——编程模式 kernel相关语法定义为: kernel函数定义,与常规C函数定义类似。不同之处在于,有__global__关键字。 为说明符,告诉编译器该函数应编译运行在device上&a…

java easyPOI导出一对多数据,设置边框,字体,字体大小

java easyPOI导出一对多数据,设置边框,字体,字体大小 需求总是千奇百怪,解决的方式也可以是多种多样。 今天碰到导出excel是一对多结构的,以往导出的数据都是一条一条的,所以采用的是比较方便简单的方法eas…

pytest-yaml 测试平台.新增项目和用例

基于pytest-yaml-yoyo 框架写的接口测试平台,在web网页平台上维护yaml测试用例,执行用例,并查看allure报告。 pytest-yaml-yoyo 框架简介 pytest-yaml-yoyo 框架是上海-悠悠 2023年自主开发的pytest结合yaml框架。gitee项目地址https://gite…

综合指南:如何创建有效的知识地图?

知识地图是知识管理中的重要工具,使企业能够有效地利用其资产。它促进了解决问题、新人整合和组织学习。此外,它还提高了生产力,实现了数据驱动的决策,并优化了流程。通过捕获和组织有价值的知识资产,它确保了专业知识…

前后端分离vue+Nodejs社区志愿者招募管理系统

1、首页 1)滑动的社区照片册 使用轮播图,对社区的活动纪念与实时事件宣传。 每个图片附有文字链接,点击跳转对应社区要闻具体页。 2)社区公告栏 日常的社区公告以及系统说明在此区域中进行说明与展示。 2、志愿活动 1)志愿活动发布 想发布需要登录 2)志愿…

【C语言】【堆排序实现TOPK问题】写一个堆排序,并且在一百万个数中找出最大的前K个

1.堆排序的实现: 如果要升序输出,则实现大堆 如果要降序输出,则实现小堆 逻辑:(升序输出) 将堆顶的元素和最后一个元素交换位置,此时左子树和右子树分别仍是大堆的顺序,交换位置后…

【matlab程序】matlab画螺旋图|旋转图

%% 数学之美====》螺旋线 % 海洋与大气科学 % 20231205 clear;clc;close all; n=10; t=0:0.01:2pin; R=1; xx=nan(length(t),1);yy=nan(length(t),1); for i=1:length(t) xx(i)=Rcos(t(i)); yy(i)=Rsin(t(i)); R=R+1; end figure set(gcf,‘position’,[50 50 1200 1200],‘col…