基于主动学习bert的关系抽取方法研究(付完整代码报告)

摘要

当代社会的知识已呈爆炸性增长,其中最常见的知识蕴含在非结构化的自然语言文本当中。信息抽取(Information Extraction)技术通过一组被提及的实体、这些实体之间的关系以及这些实体参与的事件来表达非结构化文本其中的语义知识。作为信息抽取中关键的一环,关系抽取(Relation Extraction)技术,通过判断给定实体之间所属关系,为文本知识理解提供了重要的理论依据和使用价值。

目前基于监督学习的关系抽取需要大量已标记样本,随机选择部分数据标记不仅是对数据资源的浪费,还会直接影响到分类模型最终的准确率。事实上,随着数据收集和储存技术的发展,获取大量未标记自然语言文本变得十分容易,因此设计一种能够有效利用未标记样本集进行关系抽取的算法具有重要的实际价值。

为了解决上述问题,本文以主动学习为切入点,实现了多种采样算法,主要有不确定性,多样性,代表性等算法,在验证主动学习适用于关系抽取任务的基础上,通过融合多种采样标准最终获得一个可以在多个数据集和多种学习模型下仍具有效性的主动学习样本选择策略。

实验证明,本文提出的多标准融合采样策略是一个具有有效性、健壮性的策略,与多个单策略采样算法相比,在多个数据集上都能够取得相当或者更高的分类精度。

关键词:主动学习,深度学习,关系抽取,多标准

完整项目代码:https://download.csdn.net/download/weixin_55771290/87390573

一、研究背景


随着网络技术的不断更迭,以文本、语音、图像等数据方式为基础的信息大量充斥在人们的日常生活,“信息过载”由此而生。在进行信息搜索时,人们期待计算机能真正地理解他所需要的信息并作出高质量反馈,而不仅仅只是返回包含关键字的文档或部分语句,这就要求信息抽取技术能迅速、精准地返回用户所需的信息。

于是,知识图谱(Knowledge Graph)应运而生。为了提高当前的搜索引擎的反馈质量,知识图谱以结构化的形式将互联网的各类信息组织成更便于人类理解的形式,提供了一个更好的存储、查询互联网各式信息的能力。当用户进行搜索时,知识图谱先通过分析问题语义,理解用户真实查询需求,然后在图谱数据库中查询相关知识并返回给用户,从而改进搜索质量。知识图谱依托于大数据和人工智能,已经成为管理互联网知识的基础设施。

在构建知识图谱的过程中,信息抽取是最为核心的技术,包括实体抽取(Entity Extraction)、关系抽取等,其中关系抽取是信息抽取中不可或缺的一环,关系抽取通过判断所给句子实体之间是否存在某种关系,并进一步确定该关系类别,将文本分析从语言层面提升到内容层面。通常以(实体 1,关系类别,实体 2)的三元组形式表示实体 1 和实体 2 之间存在某种类别的语义关系,比如句子“CPU 是计算机的核心部件”中表示的实体关系是(计算机,核心部件,CPU)。实体之间不同的关系将独立的实体关联起来,形成知识网络,高质量的关系抽取不仅能够增大知识图谱的规模,而且能够保障知识图谱的质量,因此,探索研究关系抽取技术,具有一定的理论意义和实际的应用价值。

传统的关系抽取方法中,研究人员需要手工精心设计语义规则,根据不同样本与不同规则的匹配给出该样本中实体之间的关系,但这种方法不仅需要特定领域专家参与,而且还难以迁移到其他领域,因此代价极高。随着深度神经网络的成功,基于对数据进行表征学习的方法广泛应用于关系抽取,取代了传统的基于手工特征[? ? ]、核函数[? ]、条件随机场[? ] 的方法,代表模型有卷积神经网络(Convolutional Neural Network,CNN),循环神经网络(Recurrent Neural Netword,RNN)等。然而,此类有监督学习想要取得良好的性能需要大量的标记样本,为了避免人工标记数据尤其是海量非结构化的网络数据时的费时费力问题,可以考虑使用主动学习(Active Learning)技术。

主动学习旨在通过尽可能小的标记代价训练出一个有效的学习模型。通过启发式学习策略主动选择对模型最有帮助的样本交由人类专家标记,并将标记的实例加入训练集中,第一章 引言通过迭代训练以提高分类器的泛化性能。随着信息时代各类数据的指数级增加,数据的标记问题越来越受到学术界和工业界的重视,主动学习作为减轻数据标记代价的有效途径,在理论和算法上都取得了显著进展,已被广泛地应用在图片处理[? ]、语音识别[? ] 等领域。

本文主要研究如何在关系抽取任务中应用主动学习技术,其意义是,在小规模已标记语料的条件下,能够有效利用大规模未标注语料中的潜在信息来学习以及选择最有效的部分语料进行人工标注,以保证关系抽取模型在较小的标记代价下,取得较高的学习性能。

二、相关工作


2.1 关系抽取


关系抽取作为知识图谱构建的一环,针对非结构化的文本提取其中实体关系三元组,

组成结构化的知识。传统的基于人工设计规则的关系抽取工作,严重依赖人工设计的特征及抽取特征的质量,有很大的局限性,而随着深度学习在图像、语音等领域取得的成功,许多关系抽取的研究工作也引入神经网络以自动提取句子中的特征,不仅减少了特征工程所需精力,而且可以取得良好的抽取效果。

基于深度学习的抽取模型将关系抽取当作是一个多分类问题,模型框架如图 2.1 所示:

图 2.1 基于深度学习的实体关系抽取框架

  • 获取标记数据:通过专家标记获得带标签数据集。

  • 构建词向量:通过对已标记文本分词,并将其映射成对应的词向量。

  • 特征提取:将由词向量组成的句向量送入有监督的分类器提取句子特征。

  • 关系分类:句子特征向量经过线性/非线性变化之后,送入 softmax 分类,得到目标实体关系。

  • 评估性能:通过 F1 分数等指标对关系分类结果进行评估。使用卷积神经网络进行关系抽取时,模型首先通过预训练或者随机初始化的词嵌入(Word Embedding)将句子中的词表示为词向量,通过拼接句子中的实体词向量及其上下文相对位置表征实体词的位置向量得到最终的词向量表示,随后通过 CNN 网络抽取句子级别的特征 1,2, ...,,接着通过池化层和全连接层得到句子的关系类别。

图 2.2 基于 CNN 的关系抽取模型

基于注意力机制的 BLSTM 神经网络模型开展关系抽取任务,首先通过 Embedding 层,将每个词映射到低维空间,紧接着双向 LSTM 从中获取高级特征,然后与在注意力层生成的权重向量相乘,使每一次迭代中的词汇级的特征合并为句子级的特征,最终将句子级的特征向量用于关系分类。模型结构如图 2.3。

BERT 是一种以 Transformer 为特征编码器的预训练双向语言模型,而 Transformer 是基于自注意力机制叠加而成的深度网络,不仅能够捕获长距离特征,而且有良好的并行计算能力,使用 R-BERT 模型处理中文关系任务,利用预训练的 BERT 语言模型,结合来自目标实体的信息,根据 BERT 的输入要求在实体前后添加标识符的方式表明实体位置,将输入句子和实体对信息合并为输入序列,BERT 会输出标识符最终隐含状态向量和两个目标实体的最终隐含状态向量,综合三部分的向量信息经过线性/非线性变化,最后通过 softmax 层进行分类。模型结构如图 2.4 所示。

图 2.3 基于 Att-BLSTM 的关系抽取模型[? ]

图 2.4 基于 BERT 的关系抽取模型[? ]

2.2 主动学习


2.2.1 主动学习算法模型

主动学习通过设计合理的采样方法,从未标记样本中选择出最能帮助基础模型获得更好性能的样本进行标记后,加入已标记训练集,重新训练基础模型,反复迭代,直到模型性能达到一定要求或者超出标记代价。在整个主动学习过程中,最核心的就是学习引擎和采样引擎。

学习引擎指的是基础模型,即分类器在已标记数据集上进行循环训练,并在测试集上验证泛化性能。而采样引擎指的是通过使用实例选择算法在未标记数据集上选择部分待标记样本,这些样本经过人类专家标记之后,供学习引擎使用。整个学习过程就是学习引擎和采样引擎不断迭代工作,最终在标记代价可接受的条件下得到一个性能足够优秀的分类器。图 2.5 为主动学习模型图。

图 2.5 主动学习模型图

2.2.2 主流主动学习介绍

根据不同应用场景下主动学习挑选未标记样本的方式不同,将主动学习算法分为以下三种:

  • 查询合成(query synthesis)算法

  • 基于流(stream-based)算法

  • 基于池(pool-based)算法

图 2.6 三种主动学习算法

查询合成算法是第一种通过查询样本进行学习的算法[? ],通过向专家提问的方式获取整个输入空间中对学习效果最有帮助的样本标记。查询合成算法在限定域下是十分有效的,但是,该方法查询输入空间中所有的样本而不考虑样本的实际分布会导致产生大量合法却没有实际意义的工作,例如,当样本数据是文本形式,基础模型是生成式对抗模型(Generative Adversarial Networks,GAN)时,该算法可能会创建与正常语句词法相似但没有实际语义信息的文本,将这些数据样本交由专家标注显然是没有意义的。因此,此类算法不适合由人工专家标记样本的应用场景。

为了解决上述问题,研究人员提出了基于流的采样策略,这类做法将落在样例空间中的所有未标记样本按顺序根据采样策略决定标记或者丢弃[? ]。一般而言,这种采样策略需要逐个将未标记样本的信息含量跟事先设定好的固定阈值做比较,因此,无法得到未标记样本的整体结构分布及样本间的差异。仅适用于入侵检测[? ]、信息获取[? ] 等场景。

针对这一缺陷,研究人员提出基于池的采样策略[? ]。将所有未标记样本视为一个“池”,从样本池中有选择性地标记样本,与基于流的算法相比,其通过计算样本池中所有未标记样本的信息含量并从中挑选出信息含量最好的样本进行标记,避免了设定固定阈值,查询无意义样本的情况,因而成为主动学习领域中研究最广泛的一类算法,在视频检索、文本分类、信息抽取等领域都有具体的应用。

三、基于主动学习的关系抽取


3.1 抽取模型


想要得到实体之间的关系类别,往往需要有效结合目标实体和句子语义信息的关系,抽取模型 R-BERT 利用 BERT 强大的编码能力,同时抽取文本中的两种特征,进行关系分类。BERT 分为预训练和微调两个阶段,预训练阶段以 Transformer 为特征编码器,通过海量语料预训练,联合执行两个任务——掩蔽语言模型(MLM)和下一句预测(NSP),得到序列的局部和全局特征表示,BERT 的网络结构如图 3.1 所示。

图 3.1 BERT 模型结构

不难看出,BERT 本质上是一堆堆叠在一起的 Transformer 编码器(图中的 Trm 模块)。

Transformer 起源于注意力(Attention)机制,其完全抛弃了传统的 RNN,整个网络结构完全是由 Attention 机制组成。通过 Transfomer 编码器提取特征,不仅拥有良好的并行计算能力能够快速训练而且能够捕捉语句间的深层联系,是目前十分流行的特征提取器。

BERT 的输入向量由词向量、位置向量、段向量三部分组成,以及,为了便于后续微调阶段执行分类任务,在每个输入序列的开头加上 [CLS] token。在执行 MLM 任务时,通过随机遮住 15% 的 token 作为训练样本,在这些样本中,80% 用 mask token 替代,10% 用随机的一个 token 替代,10% 保持这个 token 不变,再让编码器对这些 token 根据上下文做预测,在这样的任务驱动下,通过迭代训练,BERT 模型可以很好地学习到每一个 token 的语法、句法、上下文特征。

图 3.2 MLM 任务执行过程

由于在预训练阶段,[CLS] token 不参与掩蔽,因而,该位置面向整个序列的所有位置做 Attention,使得 [CLS] 位置的输出足够表达整个句子的信息,而其他 token 对应的向量更关注该 token 的语义语法及上下文信息表达,至此,经过预训练,得到一个泛化性能足够优秀的能够表征语料信息的语言模型。

3.2 基本采样方法


本文主要以基于池的样本采样策略为研究对象,研究制定适合关系抽取任务的样本采样策略,在保证模型达到一定性能的同时尽可能降低标注成本,即维护一个未标记样本池,通过主动学习样本策略迭代选择样本标记后训练模型,使得模型的泛化能力得到快速提升,其选择策略一般遵循贪心思想,即每次迭代从未标记样本集中选择某一属性最大 (或最小) 的样本进行标记。

3.2.1 基于不确定性的采样方法

基于不确定性的样本采样方法的选择策略的主要思想是从未标注样本集中选择分类模型给出较低置信度的样本,通过比较模型分类结果中的各样本的置信度大小,判断各待选样本能给分类器带来的信息含量,从未标注样本集中选择能带来最大信息量的样本获取标注加入标注样本集。具体到实体关系抽取任务中,由于一条语句有多种可能的标记,可以用关系被预测为每一种类别的置信度来衡量样本的不确定性。least confident 算法以每一个样本可能性最大的分类作为其代表分类,并根据代表类别对应的置信度从中选择不确定性最高(即置信度最低)的样本

但是以上方法只考虑了后验概率最高的那个类,简单忽略了其他类,很可能会出现度量误差。实际分类结果中,经常出现置信度的最高两个类别预测概率接近的情况,针对这种情况对上面的最小置信度策略做改进,margin sampling 采用每个样本的预测结果中最大和次大的类别置信度的差作为样本不确定性的衡量标准,显然置信度差值越小的样本的实际类别更难区分,因此选择该类样本获取标注能够给基础模型带来更多的有效信息。

模型预测得到的最有可能的两个类别,其预测概率越接近,说明模型越难以判断它们的类别,因此更加值得被标记。对于多分类的数据而言,仅考虑两个类别会忽略大量信息。从利用样本的所有分类结果以及对应的概率计算样本价值的角度考虑,entropy sampling 通过引入信息熵的方法,对样本的所有分类结果计算信息熵,显然信息熵较大的样本能给分类模型带来更多的改变(信息量),因此应当优先选择信息熵大的样本进行标注。

3.2.2 基于多样性的采样方法

基于不确定的采样方法只考虑单个样本信息量问题,而忽视了选择样本的信息冗余问题,因此采样策略还可以从样本的多样性来考虑。若一个未标记样本与已标记样本中的样本过于接近,那么说明它与其接近的那些已标记样本具有很多相似信息,没有标记价值。

因此,基于多样性的采样方法是指优先考虑那些与已标记样本集中所有样本最不相似的未标记样本,将其加入到已标记数据集中会使得该集合中样本的分布尽可能分散。常用的相似度标准有欧几里得距离、皮尔森相关系数,余弦距离等,针对关系抽取任务,从句义出发,对词向量求平均得到句向量,两个句子之间的相似度用两个句向量的余弦距离来衡量。

3.2.3 基于代表性的采样方法

基于代表性的采样方法考虑未标记数据集中整体数据分布,选出最具有代表性,能够更好的表示样本空间的样本,以提高基础模型的区分能力,最终达到提高主动学习算法效率的目的。以图 3.3 为例,图中直线代表决策边界,正方形和三角形代表已标记的两类样本,圆形代表的未标记样本。因为样本 A 位于决策边界上,所以它的不确定性最高,但实际上样本 B 会给基础模型提供更多有效信息,这是因为样本 A 在样本分布中属于孤立点,信息密度低,而样本 B 在一定程度上拥有附近未标记样本的共性。

图 3.3 主动学习模型图

具体操作如下:对未标记样本集中所有样本聚类,将其划分到多个类簇中,使得相同类簇内的样本差异尽可能大,不同类簇间的样本差异尽可能小,再从中选取信息密度最大的样本,即距离类簇中心最近的样本作为本次挑选样本

3.3 集成采样策略


上一节提到的方法都是采用单一的挑选标准去挑选样本,然而单一的准则很难保证在所有基础模型和数据集上奏效,因而,如何有效融合多个标准来挑选样本成为我们的研究重点。考虑到的多标准组合方式有两种。其一是通过给予不同的采样标准不同的权重对每一个样本进行评分,总得分最高的那些样本即为目标样本。其二是逐层使用不同的采样标准,上一层的筛选结果作为下一层的候选样本,不断细分候选样本,最终留下来样本是最能够兼顾多种标准的样本。

3.3.1 基于多标准的赋权采样策略

由于多样性和代表性的采样方法都是用来避免选择具有冗余信息的样本,从而使得已标记样本集尽可能符合全部样本空间,所以将这两部分以相等的权重结合,考虑到基于不确定性的采样方法是从样本的信息量角度出发,在以往的各类任务中都被证明其具有强大的有效性,所以赋予其高权重。为有效平衡样本间的数据分布有效分散、样本内的高信息量,最终赋予基于不确定性、多样性、代表性的采样方法以 2:1:1 的权重对未标记样本按各自标准加权评分,总得分越高的样本,越值得被标记。

基于多标准的赋权采样策略通过赋予不同的权重有效结合不确定性、多样性和代表性三种采样方法,并采用评分机制衡量,最终未标记样本池中分数最高的样本即为我们需要标记的样本。

3.3.2 基于多标准的逐层采样策略

在上一节基于代表性的采样方法的介绍中,我们选择距离类簇中心最近的样本作为该

类簇的代表性样本,但实际上聚类中心的样本不一定能很好地代表该类簇整体的样本情况,受基于多样性采样方法启发,在本方法中,我们认为,与类簇内的其他样本都具有较高相似性的样本才是最能代表该类簇的整体样本。

考虑到基于不确定采样偏向于挑选最靠近决策边界的样本,这些样本能够使模型收敛加快,且不确定采样往往能够在不同任务上都具有良好的性能提升。因此,通过计算所有候选样本的不确定性,挑选不确定性最大的一些样本作为初筛样本池,紧接着,对初筛样本池聚类,在各个类簇内计算样本句向量相似度的熵值,选择熵值最大的样本为该类簇代表样本进行标注。

通过多层遴选的方式尽可能地衡量每种采样标准的同时,由于每一层的输入都是经过上一层“过滤”后得到的样本集合,所以该算法的计算开销相较于基本采样策略不会提升太多。

四、实验及分析


本次实验有三个目的,一是验证主动学习能够在关系抽取任务中有效减少样本标记代价;二是验证提出的基于多标准采样算法与基础主动学习算法相比,能够取得较优或相当的性能。三是要验证提出的主动学习算法是模型和任务无关的或者说是可以跨任务和跨模型的。

首先,在每个数据集上划分为训练集和测试集,再将训练集划分为包含少量已标记数据的集合以及包含大量未标记数据的集合,其次,实现了多个基本采样策略,并跟随机采样在相同条件下进行对比实验,比较模型在不同策略选择出来的训练集上的性能表现。在每一次迭代过程中,算法依照不同的采样策略从未标记集合中挑选样本进行标记查询,将查询得到的标记数据从未标记集合中移除并加入到已标记集合中,接着基于已标记集合重新训练学习模型,并在测试集上对模型进行评估。

4.1 实验环境与数据


本次实验环境设置如下:

  • 操作系统:Windows 10

  • 编程语言:Python 3.6

  • 深度学习框架:PyTorch 1.2

  • 机器硬件:TITAN X,12G 显存

实验数据采用百度大脑开源的 Information Extraction 数据集[? ],该数据集包括 50 个关系类别将其经过数据预处理,包括对收集到的文本数据集进行非法字符替换,删除重复样本,剩余 20 多万个样本,样本示例如表 4.1 所示,然后从中随机采样出 5 个样本大小为的数据集,其中包含 4000 个初始已标记样本,6000 个未标记样本的训练集,2000 个已标记测试样本的测试集。主动学习训练阶段中每轮迭代从所有未标记样本中取出 200 个样本获取标记,更新所在集合,迭代总计 20 次。

表 4.1 数据样式 (source: Baidu Information Extraction Dataset)

_

_

《离开》是由张宇谱曲,演唱 歌手 离开

1

张宇

6

李治爱的是萧淑妃生的雍王李素节 母亲 萧淑妃

12

李素节

20

蔡长风(1910—2001),江西省吉水县人 出生地 蔡长风

4

江西

19

4.2 实验评价指标


在关系抽取任务中主要采用 F1 分数作为评估准则,F1 分数通过对准确率和召回率的加权求和,能够有效衡量模型性能。

主动学习旨在尽可能减少语料标记所带来的标记代价,常见的主动学习评价指标是指基础模型达到最佳性能时,该采样策略与随机采样相比,标注样本数减少的百分比。

但在实际应用中,模型需要在所有样本全部标记的基础上训练,才能得到最佳性能,但如果需要查询标记所有样本,则违反了主动学习的主旨,即没有达到减少标记代价的目的。因此,通过假设查询次数固定且偏少,将在主动学习策略下模型所能达到的性能相较于随机采样的提升作为衡量此算法的标准,是一种更好的衡量主动学习有效性的指标。

实验结果详情请参阅目录“docs/毕业设计论文.pdf”

五、总结与展望


作为构建知识图谱中的重要一环,实体关系抽取的主要任务是抽取出隐藏在句子中的实体关系。目前流行的几种有监督的关系抽取模型中,基于预训练的 BERT 语言模型的关系抽取效果最佳。本次毕业设计面向中文文本,使用基于 R-BERT 的关系抽取模型为基础模型,研究基于主动学习的关系抽取策略,利用少量标注语料达到大规模、高精度标注语料的效果。

本文设计了一种基于主动学习的关系抽取方法,通过大量对比实验,验证其在不同的数据集,不同的学习模型上都具有良好的样本抽取性能。具体地,我们针对关系抽取这个任务,设计了基于不确定性、多样性、代表性三种不同的抽取策略。从百度大脑 Information extraction 中文数据集中随机采样出 5 个规模为 10000 的训练集,其中包括 4000 个已标记数据,每次根据不同的主动学习策略采样 200 个交给人类专家标注。接着,通过比较查询迭代 20 次之后的模型性能得到——基于不确定性的的抽取策略最为有效,相比于随机采样,提升了 6.31% 的 F1 分数。

为了进一步提升抽取性能,通过多种集成方法综合利用原有的三种策略,最终通过实验表明,为基于不确定性、多样性、代表性三种采样策略赋予 2:1:1 的权重可以在原有最佳模型的基础上,提升 7.68% 的性能。

本文设计了适用于关系抽取任务下的主动学习策略,实验证明该策略具有较好的抽取效果,但仍然存在不足之处,未来的工作会从以下几个方面进行改进:

  • 本文的实验中,数据集来源较为单一,考虑到目前开源的中文关系抽取数据集较少的原因,可以通过采用第三方或者自实现爬虫系统来廉价获取大量的未标记数据。

  • 对主动学习而言,初始已标记样本的选择直接影响模型的训练时间和抽取性能。本次毕业设计中初始样本是随机采样而来,没有注重样本质量,容易导致样本分布不合理,进而影响主动学习算法的效率和最终的分类准确率,因此,对初始样本的选择方法可以考虑改进。

  • 构建基于主动学习的实体关系抽取模型中,还可以设计更优的选择策略。例如考虑文本相较于其他数据格式的特殊性,针对语义设计主动学习策略;或者采用元学习的方式,通过学习训练一个采样模型,来挑选有效样本。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机毕设论文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值