知识图谱——知识抽取(1)


本文主要是归纳整理了王昊奋《知识图谱:方法、实践与应用》这本书里有关知识抽取的非结构化数据抽取的部分。

知识抽取任务定义

概念

知识抽取的概念最早是20世界70年代后期出现在自然语言处理领域的,它是指自动化地从文本中发现和抽取相关信息,并将多个文本碎片中的信息进行合并,将非结构化数据转换为结构化数据。 具体是什么意思呢,我们看一个例子。
在这里插入图片描述
这是一段关于苹果公司的介绍文字,它是属于非结构化数据,通过知识抽取,我们可以把它转换成右边的这种结构化数据,我们可以直观的了解到苹果公司的总部地址、创始人、创立时间这三个方面的信息。关于什么是结构化数据,非结构化数据,我一会儿会介绍。

目的

那我们为什么要进行知识抽取呢,我们的主要目的就是从不同来源、不同结构的数据中进行知识提取再把他们存入知识图谱中。
在这里插入图片描述

这张图表示的就是三种不同类型的数据通过各自不同的方法进行抽取后存入知识图谱的情况。

数据源

三种类型的数据有不同的特点,因此也有不同的抽取方法,所以我们先看看这三种类型是什么意思? 如图所示

在这里插入图片描述

子任务

那一般情况下的知识抽取会有哪些步骤呢,我们大体可以分类三个方面。
第一是实体抽取,它就是从文本中检测出命名实体,再将它分类到预定义的类别中,比如这个实体是属于人物类,或者组织类,或者地点类等等。
第二是关系抽取,它是要从文本中识别抽取到实体与实体之间的关系。
第三是事件抽取,主要是从文本中识别关于事件的信息,并以结构化的形式呈现。那这是什么意思呢,就比如我们可以从一条新闻报道中识别到这件事情发生的时间、地点、人物等信息。

面向非结构化数据的知识抽取

实体抽取

首先是实体抽取,它又叫命名实体识别,它是要从文本中抽取实体信息元素,我们需要先从文本中识别和定位实体,然后再将识别的实体分类到预定义的类别中去。 用一个例子来简单说明一下,就比如下面这句话,我们可以识别到北京,这是属于地点的实体,10月25日,这是时间实体,骑士和公牛这是组织实体,它们都是NBA的球队嘛,属于一个组织。
在这里插入图片描述
实体抽取的话,它大致有三个方法,分别是基于规则的方法,基于统计模型的方法,还有基于深度学习的方法,这里是我从参考书里整理出来的思维导图,这些部分…骚凹瑞,不太会。特别是深度学习这一块,之前没有接触过,头大。
在这里插入图片描述
我们先来看第一个,基于规则的方法。这个应该算是比较简单也好理解的方法了,它是用于早期的实体抽取方法,采用的是人工编写规则的方式。首先要先构建大量的实体抽取规则,当然这一般是由一定领域知识的专家手工构建的。然后再将规则与文本字符串进行匹配,识别命名实体。这种实体抽取方式在小数据集上可以达到很高的准确率和召回率,但是随着数据集的增大,规则集的构建周期变长,并且移植性较差

第二个方法是基于统计模型的方法。这种方法利用完全标注或部分标注的语料进行模型训练,将命名实体识别作为序列标注问题处理。 这里一共有三个方面可以展开。

第一,什么叫训练语料标注。
我们一般有采用IOB或者IO这两种标注体系对文本进行人工标注。IOB分别只的就是Inside,Outside,Beginning,B就是实体名称的起始词,I就是实体名称的后续词,O是其他无关的字符,就是外部词, IO体系的话就是略去了Beginning的部分,它把整个**实体都标注为I,**就是内部词,举个例子来看就很清楚了。 比如这句话,苹果公司是一家美国的跨国公司。 用两种标注体系分别就像表里的这样,这里的-ORG表示这是属于组织的实体,类似的还有人物PER,时间DAT等等。这应该是比较好理解的。
在这里插入图片描述
第二个方面是特征定义,也就是说,我们在训练模型之前,统计模型需要计算每个词的一组特征作为模型的输入,这些特征可以包括单词级别的特征,词典特征和文档级特征。
在这里插入图片描述

那第三个方面就是模型训练。这里主要有两种模型,一个是隐马尔科夫模型HMM,还有一个是条件随机场CRF,他们分别是有向图模型和无向图模型,这两个模型是被广泛应用于实体抽取的问题。具体的模型介绍我这里就不展开了,因为我还不会哈哈哈哈。
在这里插入图片描述

好的,那第三种方法就是基于深度学习的方法。随着深度学习方法在自然语言处理领域的广泛应用,深度神经网络也被成功应用于命名实体识别问题,并取得了很好的效果。与传统的统计模型相比,基于深度学习的方法直接以文本中词的向量为输入,通过神经网络实现端到端的命名实体识别,不再依赖人工定义的特征。现在主要用于命名实体识别的神经网络主要有三个,分别是CNN,卷积神经网络;RNN循环神经网络和引入注意力机制的神经网络。一般不同的神经网络结构在命名实体识别过程中扮演编码器的角色,它们基于初试输入以及词的上下文信息,得到每个词的新向量表示,最后再通过CRF模型输出对每个词的标注结果。 这里的思维导图上我列举了三种模型,分别是LSTM-CRF模型,LSTM-CNN-CRF模型还有基于注意力机制的神经网络模型。
在这里插入图片描述

关系抽取

第二个子任务是关系抽取。面向非结构化文本数据,关系抽取是从文本中抽取出两个或者多个实体之间的语义关系。关系抽取与实体抽取是密切相关的,一般在识别出文本中的实体后,再抽取实体之间可能存在的关系。比如这句话:王健林谈儿子王思聪:我期望他稳重一点。 从这句话里我们可以抽取到的一个关系就是:王健林和王思聪具有父子关系。
在这里插入图片描述

关系抽取也是有三种方法,分别是基于模板的方法,基于监督学习的方法,基于弱监督学习的方法。

跟前面一样,第一种方法肯定是最好理解的。早期的实体关系抽取方法大多基于模板匹配实现。这类方法是基于语言学知识,由领域专家手工编写模板,从文本中匹配具有特定关系的实体。 比如这个例子,我们从左边这几句话里手工编写出夫妻关系的模板,就像中间这样,X 老婆 Y,或者妻子,配偶,这些都是表示夫妻关系的词汇,我们就可以通过这些模板在文本中抽取出某某人与某某人具有的夫妻关系。
在这里插入图片描述
第二种是基于监督学习的关系抽取方法。它是将关系抽取转化为分类问题,在大量标注数据的基础上,训练有监督学习模型进行关系抽取。利用监督学习方法进行关系抽取的一般步骤包括屏幕上的这些,比如先是预定义关系的类型,然后人工标注数据,接着涉及关系识别所需的特征,等等。
这里的特征啊,它的定义对抽取的结果具有较大的影响,常用的特征分类了三类,分别是轻量级特征,它是基于实体和词的特征,还有中等量级特征,它是基于句子中语块序列的特征,最后是重量级特征,它一般包括实体间的依存关系路径、实体间依存树结构的距离以及其他特定的结构信息。
在这里插入图片描述
我们传统的基于监督学习的关系抽取是一种依赖特征工程的方法,近年来的话是有多个基于深度学习的关系抽取模型被研究者们提出。深度学习的方法不需要人工构建各种特征,其输入一般只包括句子中的词及其位置的向量表示。 我们现在已有的基于深度学习的关系抽取方法主要包括流水线方法和联合抽取方法两大类。

那什么叫流水线方法呢,它的思想就是把识别实体和关系抽取作为两个分离的过程处理,两者不会相互影响,关系抽取在实体抽取结果的基础上进行,关系抽取的结果依赖于实体抽取的结果。 但是这种方法也会产生一个问题就是错误积累,如果前面识别实体出现了较多的错误,那么也必然导致了后续的关系抽取错上加错。因此,又有一个联合抽取的方法,它是将实体抽取和关系抽取相结合,在统一的模型中共同优化,这样也就避免了流水线方法存在的错误积累问题。
在这里插入图片描述

第三种是基于弱监督学习的关系抽取方法。基于监督学习的关系抽取方法需要大量的训练语料,特别是基于深度学习的方法,模型的优化更依赖大量的训练数据。当训练语料不足时,弱监督学习方法可以只利用少量的标注数据进行模型学习。基于弱监督学习的关系抽取方法主要包括了两种,分别是远程监督方法和Bootstrapping方法
远程监督方法它是通过将知识图谱与非结构化文本对齐的方式自动构建大量的训练数据,减少模型对人工标注数据的依赖,增强模型的跨领域适应能力。远程监督方法的基本假设是如果两个实体在知识图谱中存在某种关系,那么包含两个实体的句子就均表达了这种关系。比如说:在某个知识图谱中存在实体关系:创始人,乔布斯,苹果公司。那么包含实体乔布斯和苹果公司的句子“乔布斯是苹果公司的联合创始人和CEO”则可以被用作关系创始人的训练正例。
Bootstrapping方法它利用少量的实例作为初始种子集合,然后在种子集合上学习获得关系抽取的模板,再利用模板抽取更多的实例,加入种子集合中,然后通过不断的迭代,就可以从文本中抽取关系的大量实例。这种方法的好处就是关系抽取的构建成本低,适合大规模的关系抽取任务,并且具备发现新关系的能力。但是它也存在不足之处,包括对初始种子较为敏感、存在语义漂移问题、结果准确率较低等等。
在这里插入图片描述

事件抽取

好我们来看最后一个子任务,事件抽取。那什么是事件呢?事件是指发生的事情,通常具有时间、地点、参与者等属性。事件的发生可能是因为一个动作的产生或者系统状态的改变。所以事件抽取是指从自然语言文本中抽取出用户感兴趣的事件信息,并以结构化的形式呈现出来。
比如我们看这个例子,这是基于一段苹果公司举办产品发布会的新闻报道,我们可以通过事件抽取方法自动获取报道事件的结构化信息,包括事件的类型、发生时间及地点,还有所发布的产品。
在这里插入图片描述

在一般情况下,事件抽取的子任务可以包括:识别事件触发词及事件类型,抽取事件元素的同时判断其角色,等等。最后的这个共指消解我在有的地方也有看到是把它划分为知识抽取的第四个步骤。就是把它单独拎出来了。 共指消解的意思就是把一段文本里语义相同但用词不同的实体化解成一个实体,比如上面这段话里的苹果公司,如果后面出现了一句 它 怎么怎么样了, 那么这里的它和苹果公司就是共指,要通过合适的方法来进行化解。
在这里插入图片描述
跟前面基于深度学习的关系抽取方法类似,事件抽取也分为流水线方法和联合抽取方法
流水线方法是将事件抽取任务分解为一系列基于分类的子任务,包括事件识别、元素抽取、属性分类和可报告性判别,这里的每一个子任务都是由一个机器学习分类器负责实施的。分类器有包括事件触发词分类器,元素分类器等等。 这种流水线方法在每个子任务阶段都有可能存在误差,而且这种误差会从前面的环节逐步传播到后面的换届,从而导致误差不断积累,使得事件抽取的性能急剧衰减。
为了解决这一问题,研究者又提出了联合抽取的方法。在这种方法中,事件的所有相关信息会通过一个模型同时抽取出来。
在事件抽取任务上,同样也有一些基于深度学习的方法被提出。传统的事件抽取方法通常需要借助外部的自然语言处理工具和大量的人工设计的特征,相比之下,深度学习的方法具有的优势比如:减少了对外部工具的依赖,甚至不依赖外部工具,可以构建端到端的系统 等等。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值