【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型

article/2025/7/20 11:43:06

背景

关系抽取是信息抽取的基本任务之一,对于知识库的构建以及文本的理解十分重要,在自然语言处理的一些任务,如问答,文本理解等得到了广泛的应用。

这里介绍的关系抽取主要指的是实体之间的关系抽取,实体是之前NER任务中介绍的概念。实体之间可能存在各式各样的关系,关系抽取就是通过自动识别实体之间具有的某种语义关系。有的实体之间可能有多种关系,例如“徐峥自导自演了《人在囧途》”,那么徐峥《人在囧途》 之间的关系就存在“导演”与“参演”两种关系,。这里介绍的是两个实体之间的关系也称为二元关系抽取( Binary Relation Extraction,BiRE)是比较经典的关系抽取任务,我们也称为简单关系抽取。近些年随着关系抽取场景的变化,慢慢衍生出需要复杂关系抽取(Complex Relation Extration,CoRE),如:多个实体之间的关系抽取,即多元关系抽取,文档关系抽取,多模态关系抽取,嵌套关系抽取等等。

目前的在深度学习领域关系抽取方法主要分为三大类:基于监督学习的BiRE(Supervised BiRE)、基于半监督学习的(Semi-supervised BiRE)以及基于远程监督的BiRE(Distant Supervised BiRE)。毕竟在工程中,标注数据并不是那么多,成本高。对于有监督的关系抽取任务,通常也将其分为两大类
Pipline: 将实体抽取与关系抽取分为两个独立的过程,关系抽取依赖实体抽取的结果,容易造成误差累积;Joint Model: 实体抽取与关系抽取同时进行,通常用模型参数共享的方法来实现。

关系抽取还可以按照业务领域分为:限定领域和开放领域两类。限定领域关系抽取,指在一个或多个限定的领域内对实体间的语义关系进行抽取。一般来说,在限定领域下,关系都是预先定义好的有限个类别,该任务可以采用基于监督学习的方法来处理,也就是针对每个关系类别标注足够多的样本,然后使用多分类模型来训练关系抽取模型;开放领域关系抽取,该任务不限定关系的类别,也就是在抽取关系之前不知道会有什么样的关系被抽取到,依据模型对自然语言句子理解的结果从中开放式的抽取实体三元组。

传统的解决方案可以通过书写规则(模板)的方式确保关系抽取的准确性,但是召回效果并不理想,并且还需要人工去总结归纳。

当然关系抽取也有很多难点,如:

  1. 同一关系可由不同的词语表达。
  2. 同一短语或词具有歧义性,不能很好的表征同一关系。
  3. 实体对间可能具有多种关系。
  4. 跨句多元关系不能很好解决。
  5. 隐含关系不能很好解决。
  6. 对nlp处理工具依赖较大等。

下面我就从经典深度学习关系抽取模型开始介绍,Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks(2015年),该论文实在 ACL 2014的中《Relation Classification via Convolutional Deep Neural Network》改进,就是我们所说的PCNN。这是一个pipline形式的模型。

论文阅读

Distant Supervised Learning 远程监督学习

2010年提出Distant Supervision可以自动标注训练样本,Distant supervision for relation extraction without labeled data。原理很简单,利用知识图谱中的两个entity以及对应的某个relation,在corpus中进行回标,如果某个句子中同时包含了两个entity,那么就假定这个句子包含了上述的relation。这样就可以获得大量的标注数据。当然缺陷就是假设太强,会引入了很多噪音数据, 因为包含两个entity的句子不一定可以刻画对应的relation。

正文概览

论文要解决的两个问题:

  • Distant supervised 会产生有大量噪音或者被错误标注的数据,直接使用supervised的方法进行关系分类,效果很差。
  • 传统的方法大都是基于词法、句法特征来处理, 无法自动提取特征。而且句法树等特征在句子长度变长,正确率会显著下降。

针对第一个问题,文中是这么说的:

To address the first problem, distant supervised relation extraction istreated as a multi-instance problem similar to pre-vious studies 。In multi-instance problem, the training set consists of many bags,and each contains many instances. The labels of the bags are known; however, the labels of the in-stances in the bags are unknown. We design an objective function at the bag level. In the learning process, the uncertainty of instance labels can be taken into account; this alleviates the wrong label problem。

概括起来就是,对样本使用Multi-Instance Learning(MIL),构建了一个bag级别的目标函数。如何理解这个MIL呢,可以参考:

设想有若干个人,每个人手上有一个钥匙串(bag),串有若干个钥匙(instance)。已知某个钥匙串能否打开特定的一扇门(training set)。我们的任务是要学习到哪一串钥匙串能打开这扇门,以及哪个钥匙能打开这扇门。

针对第二个问题,概括来说,就是在Zeng 2014 的CNN基础上修改了Pooling的方式,调整了特征提取方案,根据实体位置将一个sentence分成三段,每段单独进行max pooling以进行特征提取。

具体模型

模型主要分为四个模块:Vector Representation,Convolution,Piecewise Max PoolingandSoftmax Output,如下图:
在这里插入图片描述

Vector Representation

NLP中文本常规操作,将文本转成低纬度的向量。词语使用的是预训练的词向量(Word Embeddings),此外还未对应的词语添加了position feature(PF),也就是位置向量(Position Embeddings)。这个PF的构建还是比较有意思的,位置的设定取与关系词的相对距离,如下图:Kojo Annan 相对于关系吃son,左边第三个,以此类推,Kofi Annan则是在关系词son右边第二个开始。
在这里插入图片描述
假设词向量的维度为 d w d_w dw,位置信号的维度为 d p d_p dp,拼接后的向量维度 d = d w + d p × 2 d=d_w+d_p \times 2 d=dw+dp×2

Convolution

卷积计算是一个比较经典的操作了,也比较容易理解。为了提高捕捉特征的能力,可以在卷积操作中增加多个卷积核或者称为filter的家伙。想谅解相关的计算公式可参见原文。

Piecewise Max Pooling

分段池化应该属于论文中的一个亮点。就是把每个卷积核得到向量 c i c_i ci按照两个实体的位置将向量划分三个部分,然后使用最大池化的方式取出每个部分的最大值,相比于传统的全局max pooling 每个卷积核只能得到一个值,这样可以更加充分有效的得到句子特征信息。每个通道经过分段最大池化后,再拼接成一个向量,最后再与其他通道的向量拼接起来,再经过一个非线性层。

Softmax Output

深度学习分类常规操作层,添加softmax函数,对各个类别进行打分输出。

Multi-instance Learning

多实例学习。在训练的过程中需要设计学习的目标函数,也就是我们常说的损失函数的构造。模型输入是一个bag。假设有个 T T T个bag { M 1 , ⋯ , M T } \{M_1,\cdots, M_T\} {M1,,MT},第 i i i个bag有 q i q_i qi个实例 M i = { m i 1 , ⋯ , m i q i } M_i=\{ m^1_i, \cdots, m_i^{q_i}\} Mi={mi1,,miqi},即有 q i q_i qi个句子。下面我们看看如何构造这个目标函数。

一个bag中所有的实例都认为是独立的。包含两个同样实体的实例就是一个bag,按照远程监督的情况样本处理的方式,认为一个bag有一个relation标签。

对于一个实例 m i j m_i^j mij经过模型后输出的结果为 o o o。这个结果的维度是与关系类别想对应的,包含 o r o_r or表示对第 r r r个类别的打分,文章这个打分是未经过softmax处理的。经过softmax处理后的打分如下:

p ( r ∣ m i j ; θ ) = e o r ∑ k = 1 n 1 e o k p\left(r \mid m_{i}^{j} ; \theta\right)=\frac{e^{o_{r}}}{\sum_{k=1}^{n_{1}} e^{o_{k}}} p(rmij;θ)=k=1n1eokeor
多实例学习的目的是区分bag而不是实例,于是需要定义bag级别的目标函数。对于训练集 ( M i , y i ) (M_i, y_i) (Mi,yi)来说,目标函数在bag级使用的是交叉熵损失函数:

J ( θ ) = ∑ i = 1 T log ⁡ p ( y i ∣ m i j ; θ ) J(\theta)=\sum_{i=1}^{T} \log p\left(y_{i} \mid m_{i}^{j} ; \theta\right) J(θ)=i=1Tlogp(yimij;θ)

其中, T T T表示训练集(bag)数目, θ \theta θ表示模型。看起来这个和普通的分类损失函数没有什么不同,需要注意的是上式中的 j j j是有限制的,如下:

j ∗ = arg ⁡ max ⁡ j p ( y i ∣ m i j ; θ ) 1 ≤ j ≤ q i j^{*}=\arg \max _{j} p\left(y_{i} \mid m_{i}^{j} ; \theta\right) \quad 1 \leq j \leq q_{i} j=argjmaxp(yimij;θ)1jqi
从bag中选取标注结果打分最高的实例进行误差反向传播的计算。这里也从侧面说明了,默认每一个bag中必有一个实例的标注是正确的,即所谓的at least one假设。

到这里,整个模型已经介绍完毕了。

论文结论

首先把PCNNs结合多实例学习的远程监督模型(PCNNs+MIL),与人工构造特征的远程监督算法(记为Mintz)和多实例学习的算法(记为MultiR和MIML)进行比较。
在这里插入图片描述
上图中,根据纵横坐标的意义,值在坐标系的右上角效果越好。从实验结果中可以看到,无论是查准率还是查全率,PCNNs+MIL模型都显著优于其他模型,这说明用卷积神经网络作为自动特征抽取器,可以有效降低人工构造特征和NLP工具提取特征带来的误差。即在问题二上有一定的改善。

将分段最大池化和普通的最大池化的效果进行对比(PCNNs VS CNNs),将结合多实例学习的卷积网络与单纯的卷积网络进行对比(PCNNs+MIL VS PCNNs)。
在这里插入图片描述
从结果可以看出,分段最大池化比普通的最大池化效果更好,说明分段最大池化可以抽取更丰富的结构特征。把多实例学习加入到卷积网络中,效果也有一定的提升,表明多实例学习可以缓解样本标注错误的问题。这说明针对问题1和问题2都已一定的改善。

总结

总得来说,在限定域的pipline形式的关系抽取中,使用分段的最大池化能够减少人为特征提取的操作,再引入远程监督的内容后,使用多实例学习的方式在一定程度上也能够减少远程监督引入的错误,使得关系抽取的整体效果达到当时的sota水平。

当然也存在不足之处,多实例学习仅从某个实体对句子中挑选最可能的句子进行反向传播计算,这也必然造成信息的大量损失。


http://chatgpt.dhexx.cn/article/b1fwn4j7.shtml

相关文章

PCNN 脉冲耦合神经网络整理

PCNN 脉冲耦合神经网络 脉冲耦合神经元模型 神经元的输入有哪些? 首先来看看这个神经元的图示的左边,有 Y Y Y和 F F F。 Y Y Y为这个神经元之前输出的数值,就是说这个模型需要进行多次的运算,每次的运算需要上一次运算的值来做…

关系抽取之分段卷积神经网络(PCNN)

文章目录 远程监督PCNN关系抽取PCNN方法论向量表达卷积层分段最大池化层Softmax层多实例学习 Reference Tensorflow2.2实现,见github仓库。 远程监督 关系抽取训练集标注成本高,一般使用远程监督方法(半监督)自动标注数据。远程监…

脉冲耦合神经网络(PCNN)阅读笔记

摘要 本文采用高级视觉模型来描述灵长类视觉系统中的信息传递和连接。信息链接方案,如状态相关模块化和时间同步,被视为视觉系统使用期望组合信息的方法,以填充缺失信息和删除不需要的信息。研究了使用基于生理学理论模型的链接方法结合当前…

PCNN的知识抽取

PCNN是一个结构简单的CNN网络, 它最初被用于在已知实体对位置时, 辨别实体对关系的网络. 上图是论文里带的PCNN结构图. PCNN的输入由两部分构成, 一部分是词本身的词向量word, 另一部分是词相对于实体词的位置信息position. PCNN优秀的地方就在于加入了位置信息, 具体如下: 1.…

基于PCNN脉冲耦合神经网络的图像分割

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 脉冲耦合神经网络(PCNN-Pulse Coupled Neural Network)与传统神经网络相比,有着根本的不同。PCNN有生物学的背景,它是依据猫、猴等动物的大脑皮层上…

【MATLAB图像融合】[13]PCNN脉冲耦合神经网络基本原理

→这是一篇学习笔记。 →但考虑要发出来,还是排版了,请放心食用。 PCNN在图像融合中应用广泛 1、脉冲耦合的神经元之间有有耦合和无耦合两种形式。,有耦合的神经元之间存在能量传播,产生同步脉冲发放,从而将输入相似的…

【图像特征提取】基于matlab脉冲耦合神经网络(PCNN)图像特征提取【含Matlab源码 1868期】

⛄一、脉冲耦合神经网络(PCNN)图像特征提取简介 1 引言 随这生物神经学的迅速发展及其研究的进一步深入,国外对一种叫做第三代人工神经网络的模型——脉冲耦合神经网络模型——PCNN(Pulse Coupled Neural Network)模型…

脉冲耦合神经网络(PCNN)-pulse coupled neural network

摘要 本文采用高级视觉模型来描述灵长类视觉系统中的信息传递和连接。信息链接方案,如状态相关模块化和时间同步,被视为视觉系统使用期望组合信息的方法,以填充缺失信息和删除不需要的信息。研究了使用基于生理学理论模型的链接方法结合当前图…

NTFS 数据流隐写学习

NTFS 数据流隐写学习 —— 概念学习: NTFS文件系统中存在NTFS数据流文件也被称为 Alternate data streams(ADS), 是NTFS磁盘格式的一个特性之一每个文件都有主文件流和非主文件流,主文件流能够直接看到;…

CTF隐写知识

通用知识 通用软件 010或winhex或HxD或HexEditXP 一.在文件中加入字符 jpg文件头 FF D8 jpg 文件尾 FF D9 FF D9后面的都是增加的内容; 增加的可能是字符串,也可能是另一个文件(就是把多个文件的十六进制放在一起) 二.ZIP格式文件分离 十…

图片隐写术总结

0x00 前言 之前还没有见到drops上有关于隐写术的总结,我之前对于隐写术比较有兴趣,感觉隐写术比较的好玩。所以就打算总结总结一些隐写术方面的东西。写的时候,可能会有错误的地方,请不吝赐教,谢谢。 本篇章中用到的隐…

图像隐写分析——生成含密图像 Stego Image

文章目录 一 图像隐写分析的数据集二 含密图像展示三 结语 一 图像隐写分析的数据集 小编本科毕设的题目是《基于深度学习的图像隐写分析》,图像隐写分析问题本质上是一个二分类(binary classifier)问题,即判断一张图片中是否含有…

图片LSB信息隐写

LSB(全大写)有时也指Least Significant Byte,指多字节序列中最小权重的字节。指的是一个二进制数字中的第0位(即最低位) RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化…

F3隐写

F3隐写 文章目录 F3隐写1. 引言2. 实验环境3. 实现使用的现有外部库4. 实现思路> **预处理**> **DCT量化**>**秘密信息嵌入**> **Z字形序列化**>**Huffman编码**>**反Z字形序列化**>**提取秘密信息** 5.验证6. 总结 1. 引言 数字隐写技术是一种在数字媒体…

TTL隐写

#拿到一个长成这样的文件,里面是意义不明的数字 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 127 63 255 63转换为2进制,并设置为8位数的2进制,就会有很神奇的事情发生 with open(C:/Users/brighten…

深度学习之图像隐写去除(DDSP模型 Steganography Removal)

文章目录 一 前言二 论文内容2.1 Abstract2.2 Introduction2.3 Background2.3.1 Prior Work2.3.2 Super Resolution GAN 超分辨率GAN 2.4 Data2.5 Deep Digital Steganography Puricication (重头戏)2.5.1 Autoencoder Architecture2.5.1 GAN Training 2.6 Result 三 训练结果四…

SRNet隐写分析网络模型 (pytorch实现)

文章目录 一 SRNet隐写分析模型介绍二 SRNet网络概述三 训练结果展示 一 SRNet隐写分析模型介绍 SRNet模型是宾汉姆顿大学(Binghamton University)Jessica教授团队于2018年提出的图像隐写分析网络模型,应该说是当时SOTA(state-of-the-art)的隐写分析网络模型了&…

GIF隐写

CTF DAY1的倒数第二题: 首先 打开图片 发现打不开 用010 Editor 发现图片开头少了文件头 添加文件头 使得图片能够看到 这时候打开图片 发现 密码一闪而过 这时候 用到另一个软件 Namo_Gif 打开刚刚已经恢复好的GIF 可以清楚的看到每一帧 对于每一帧 修改他…

隐写术--总结

文章来源:http://bobao.360.cn/learning/detail/243.html 1.增加数据的方式 隐藏信息 另存为.zip后解压,正常的.JPG图片在文本编辑器(winhex)中,16进制是以FF D9结尾 原理:a.先制作一个1.zip 把含有隐藏…

隐写术技术深入分析

文章目录 0x01 隐写术概要0x02 特征0x03 隐写术应用0x04 题目解析思路 0x01 隐写术概要 首先看一下官方定义,“隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容。” 简单说就…