🍋知识抽取的概述
上图清晰的展示了知识图谱技术架构中的知识抽取
如果从专业的角度去定义知识抽取的定义:从不同来源、不同结构的信息资源中进行知识提取,形成结构的知识并存储到知识图谱中。
一般来说,知识抽取主要是面向链接开发数据,大家获取不知道何为链接开放数据,下面我为大家整理了一下
链接开放数据(Linked Open Data,LOD)是一种数据发布和共享的方法,通过使用统一的标准化格式和互联网链接,将不同来源的数据链接在一起,形成一个全球性的、互联的知识网络。这种方法的目标是使得数据更容易被发现、访问、集成和利用。
LOD 遵循一些核心原则,其中包括:
- 使用统一的标准: LOD 使用通用的、开放的标准来描述和表示数据,其中最常用的是RDF(资源描述框架)。
- 唯一标识符: 每个数据实体都有一个唯一的标识符(通常是统一资源标识符,URI),这样可以确保全球范围内的唯一性。
- 链接性: 数据之间通过超链接建立关系。这使得在一个数据集中找到的信息可以链接到其他数据集,形成一个关联性强、可导航的知识网络。
- 开放访问: LOD 数据是开放的,任何人都可以自由地访问和使用,符合开放数据的原则。
- 可互操作性: 数据之间的链接和标准化格式的使用增加了数据的互操作性,使得不同数据集可以相互配合使用。
- 可扩展性: LOD 是一个逐步构建的过程,可以随着时间不断添加新的数据集,从而不断扩展知识图谱。
当然知识抽取也就是通过一系列自动化或半自动化的技术手段,从半结构化、非结构化的数据中提取出实体、关系及属性等知识要素。但是如果仅仅是抽取这些其实还是不够的,还有基于语句和语境抽取出实体间的关系以及实体所描述的事件。
🍋知识抽取的任务
下面我来介绍一下抽取中最受关注的子任务
- 实体抽取(Entity Extraction):
定义: 实体抽取是从文本中识别和提取具有特定意义的命名实体的任务。这些实体可以是人物、地点、组织、日期、货币等。
方法: 使用自然语言处理(NLP)技术,如命名实体识别(NER),采用规则、统计模型或深度学习模型,以识别并标注文本中的实体。
注意:实体抽取是知识图谱构建和知识抽取的基础和关键 - 实体链接(Entity Linking):
定义: 实体链接是将文本中的命名实体与知识库中的实体进行关联的任务。这有助于消除歧义,确保同一实体在不同文本中有一致的标识。
方法: 结合上下文信息,使用相似性匹配、向量化表示、字符串匹配等方法,将文本中的实体链接到预定义的知识库中的实体。
这里举个例子:中国古典《西游记》大家都看过,唐僧这个角色有好几个叫法大家估计也知道一两个,那么这个例子放在实体链接中该如何理解呢,请看下图
当然这里仅仅简单介绍一下,想了解详细流程的可以翻阅相关书籍或资料等
- 关系抽取(Relation Extraction):
定义: 关系抽取是从文本中识别和提取不同实体之间的关系的任务。这些关系可以是作者关系、工作关系、亲属关系等。
方法: 利用监督学习,使用有标签的数据进行训练,采用统计方法或深度学习模型,以识别文本中的关系。
注意:关系抽取的难点在于大多数关系都含有一定的隐含性,还记得本科话ER图什么一对多多对多都搞的迷迷糊糊了
- 属性抽取(Attribute Extraction):
定义: 属性抽取是从文本中识别和提取与实体相关的特定属性或特征的任务。这些属性可以是实体的属性,如人物的职业、地点的经纬度等。
方法: 采用规则匹配、基于统计的方法,或者深度学习模型,以从文本中提取出与实体相关的属性信息。
注意:属性主要是针对实体而言的,对当前实体的完整描述。由于可以把实体的属性看作实体与属性值之间的一种名词性关系,因此属性抽取任务就可以转化为关系抽取任务。
- 事件抽取(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在爬虫里也有使用插件获取可以参考下面两篇博客
包装器评估:对包装器进行评估需要采用一定的标准,主要有准确率和召回率。通常情况下准确率越高、召回率越高,进而评分越高。
完成包装器空间生成之后我们按照准确率和召回率进行包装器的评估。
例如:包装器A的准确率大于包装器B的准确率,但是两者的召回率相等,这样综上所述来看就是包装器A要更加的优于包装器B
值得一提的是,有监督的包装器维护开销会很大,当网站改变了模版,Xpath那里可能就会发生变动,标签嵌套啥的,这样我们可以对数据进行少量的标注,让机器学习出一定的规则,进而在整个站点下使用这些规则对同类型或者符合某种关系的数据进行抽取,从而节省资源。 • 1
🍋面向非结构化数据
非结构化数据是指社交网络、网页、新闻、论文,甚至一些多模态数据。本节以文本数据抽取为例,从实体抽取、实体链接、关系抽取以及事件抽取几个方面来讲解面向非结构化数据的知识抽取。其中,知识抽取的任务中提到的属性抽取与关系抽取概念相近,使用的方法也十分类似。
- 实体抽取:单纯的实体抽取可以看成是一个序列标注问题,可以采用HMM、CRF、LSTM等算法解决
利用机器学习方法进行实体抽取的基本流程如下:
- 输入可供训练、具有代表性的文本数据
- 找出文本中的指称词语(Token),标记命名实体标签
- 分析文本和类别,并设计合适的特征提取方法
- 训练一个句子分类器来预测数据的标签
- 对测试集文本使用分类器,自动为指称词语做标记
- 输出标记结果,即测试集文本的命名实体
- == 实体链接==:具体流程可以参考下图
- 关系抽取:指的是从非结构化文本中抽取出两个或多个实体之间的语义关系。目前根据不同的抽取方法,可以将其分为基于模版的方法,基于监督学习的方法,基于弱监督学习的方法。
- 事件抽取:
事件信息包事件抽取就是把含有事件信息的非结构化文本以结构化的形式呈现出来。一个比较综合的任务,一个标准的括事件发生的时间、地点、原因、参与者等。事件抽取是事件抽取任务可以进一步分解为触发词识别、事件类型分类、论元识别和角色分类等子任务。每个事件都会有一个事件类型及相应的触发词,并且配有不同角色的论元。事件类型和论元角色是在约定的有限集合中选择,而触发词和论元一般情况下都是输入句子的片段。
挑战与创造都是很痛苦的,但是很充实。
显示推荐内容