代码

原文

摘要

文档级联合实体和关系抽取是一项难度很大的信息抽取任务,它要求用一个神经网络同时完成四个子任务,分别是:提及检测、共指消解、实体分类和关系抽取。目前的方法大多采用顺序的多任务学习方式,这种方式将任务任意分解,使得每个任务只依赖于前一个任务的结果,而忽略了任务之间可能存在的更复杂的相互影响。为了解决这些问题,本文提出了一种新的多任务学习框架,设计了一个统一的模型来处理所有的子任务,该模型的工作流程如下:首先,识别出文本中的实体提及,并将它们聚合成共指簇;其次,为每个实体簇分配一个合适的实体类型;最后,在实体簇之间建立关系。图 1 给出了一个来自 DocRED 数据集的文档示例,以及模型期望输出的实体簇图。为了克服基于流水线的方法的局限性,在模型中引入了双向的记忆式依赖机制,使得各个子任务能够相互影响和提升,从而更有效地完成联合任务。
 

模型架构

 
该方法受到了 JEREX  的启发,由四个任务特定的组件组成:提及抽取()、共指消解()、实体抽取()和关系抽取()。与原来的流水线式架构不同,这里引入了图 2 所示的记忆模块,使得各个组件的输入表示能够通过基于记忆的扩展表示模块进行更新。该模块使用 Memory Read 操作从记忆矩阵  和  中读取信息,这两个矩阵分别由实体和关系分类器写入。这样,各个组件之间就形成了双向的信息交互,从而更有效地完成联合任务。

Memory reading

该方法与 TriMF  类似,都是利用注意力机制,将输入表示与从记忆中读取的信息相结合,得到扩展的表示。如图 2 所示,本文的架构对两种输入表示进行了扩展:一种是词嵌入 ,另一种是提及候选的跨度表示 。对于每一种输入表示 ),以及每一种记忆矩阵 ),注意力机制将输入表示  作为键和值,其中  是表示向量的个数, 是嵌入的维度。
作为查询,注意力机制使用记忆矩阵 ,其中  是记忆槽的个数, 是记忆槽的维度。为了计算注意力权重向量 ,对记忆槽的维度求和,公式如下:
其中  是注意力机制的可学习参数矩阵, 是  的第  个记忆槽。然后, 向量用于对  进行加权,得到扩展的输入表示
对于每一种输入表示,记忆读取操作基于两种记忆矩阵生成两种扩展表示 。最终的扩展表示是通过对  和  求逐元素平均值得到的。

Memory writing

 和  是两个记忆矩阵,它们分别存储了不同的实体和关系类别的表示。这些表示是通过相关分类器的损失函数的梯度来更新的, 对应实体分类器, 对应关系分类器。为了提高表示的精度,损失函数取决于类别嵌入和属于该类别的实例表示之间的相似度,这个相似度是根据实例的标签来确定的。因此,实体和关系分类器都基于输入表示和相应的记忆矩阵之间的相似度函数  来进行分类。给定实体  的表示向量 ,它的实体类型的概率分布如下:
给定实体对  的表示向量 ,它的关系类型的存在概率如下:
定义  为实例表示  和记忆矩阵  之间的双线性相似度,形式如下:
其中  是一个可学习的参数矩阵。对于实体和关系分类器,分别使用了不同的双线性相似度权重矩阵:,其中  和  是实体和实体对表示的维度。 和  是实体和关系记忆矩阵的记忆槽的维度。在这里,记忆矩阵的记忆槽的数量与分类器的类别的数量相同。
 

Training

最后,模型被训练优化关节损失,该关节包含与JEREX中相同的四个子任务相关的损失,并以固定的任务相关权值加权:
本文还纳入了TriMF中提出的两阶段训练方法,在超参数搜索过程中调整记忆预热比例。
 

《Similarity-based Memory Enhanced Joint Entity and Relation Extraction》论文阅读笔记的更多相关文章

  1. 《MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment》论文阅读笔记

    出处:2018 AAAI SourceCode:https://github.com/salu133445/musegan abstract: (写得不错 值得借鉴)重点阐述了生成音乐和生成图片,视频 ...

  2. (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!

    Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...

  3. 生成对抗网络(Generative Adversarial Networks,GAN)初探

    1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...

  4. 生成对抗网络(Generative Adversarial Networks, GAN)

      生成对抗网络(Generative Adversarial Networks, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的学习方法之一.   GAN 主要包括了两个部分,即 ...

  5. StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记

    StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks  本文将利 ...

  6. 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

    Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...

  7. 《Self-Attention Generative Adversarial Networks》里的注意力计算

    前天看了 criss-cross 里的注意力模型  仔细理解了  在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...

  8. Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

    Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 20 ...

  9. SalGAN: Visual saliency prediction with generative adversarial networks

    SalGAN: Visual saliency prediction with generative adversarial networks 2017-03-17 摘要:本文引入了对抗网络的对抗训练 ...

  10. Generative Adversarial Networks,gan论文的畅想

    前天看完Generative Adversarial Networks的论文,不知道有什么用处,总想着机器生成的数据会有机器的局限性,所以百度看了一些别人 的看法和观点,可能我是机器学习小白吧,看完之 ...

随机推荐

  1. [转帖]15 个必须知道的 chrome 开发工具技巧

    在Web开发者中,Google Chrome是使用最广泛的浏览器.六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具.你可能已经熟悉了它的部分功能,如使用console和 ...

  2. Grafana监控java应用以及vCenter的方法

    Grafana监控java应用以及vCenter的方法 背景 最开始弄过vCenter的监控. 但是发现很多地方已经不合适了. 今天看了下jmx监控 java的应用. 顺便监控了下vCenter. 这 ...

  3. 【验证码逆向专栏】最新某度旋转验证码 v2 逆向分析

    声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许 ...

  4. 【3】超级详细matplotlib使用教程,手把手教你画图!(多个图、刻度、标签、图例等)

    相关文章: 全网最详细超长python学习笔记.14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了! [1]windows系统如何安装后缀是whl的python库 [2]超级详细Pytho ...

  5. C/C++ 文件与指针操作笔记

    创建临时文件 #include <stdio.h> int main(int argc, char *argv[]) { FILE *temp; char c; if ((temp = t ...

  6. 物色到的 c# 模拟 http post get 请求 做下笔记

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  7. 使用CAShapeLayer,UIBezierPath,CAGradientLayer构建边框颜色会旋转的六边形

    主要思路是: 1.使用UIBezierPath绘制一个六边形路径 2.创建一个CAShapeLayer图层,将这个六边形path设置到CAShapeLayer属性上.然后设置fillColor为透明, ...

  8. zblog文章采集发布插件-免费下载

    推荐一款可以自动采集网页文章,并发布到zblog系统网站的zblog采集发布插件,支持简数采集器,火车头数据采集器,八爪鱼文章采集器,后羿采集器等...... zblog采集发布插件使用教程如下: 1 ...

  9. OLED 驱动模块程序代码

    1.前言 作为嵌入式软件开发,可能经常会使用单片机连接驱动显示屏,实现人机交互的功能,通常可选择的有 OLED 和 LCD 等,其中相关驱动代码例程网上更是数不胜数. 本文介绍的是 OLED, 常见代 ...

  10. springboot log 没落盘

    在配置文件中增加了下面的配置并不起作用. logging.file=/xx/xx.log 是因为在 springboot 2.2 版本之后上面的采纳数已经被废弃,需要用下面新的参数: logging. ...