百度UIE:Unified Structure Generation for Universal Information Extraction paper详细解读和相关资料

本文主要是介绍百度UIE:Unified Structure Generation for Universal Information Extraction paper详细解读和相关资料,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. Prompt
    learning系列之信息抽取模型UIE:https://mp.weixin.qq.com/s/0lNUlUF_x95mED5B9iBpGg
  2. 作者解读:https://www.bilibili.com/video/BV19g411Z7rZ/?spm_id_from=autoNext
  3. bilibili解读:https://www.bilibili.com/video/BV1LW4y1U7ch?spm_id_from=333.337.search-card.all.click
  4. 官方代码:https://github.com/universal-ie/UIE
  5. 代码:https://github.com/heiheiyoyo/uie_pytorch paddle
  6. paddle使用介绍:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model_zoo/taskflow.md#%E4%BF%A1%E6%81%AF%E6%8A%BD%E5%8F%96
  7. 其他NER模型:https://github.com/z814081807/DeepNER

一、概述

在这里插入图片描述

二、相关问题

问题一:UIE三种语义单元到底是什么意思?

在这里插入图片描述

问题二、UIE中三种语义单元和prompt的关系?

在这里插入图片描述

问题三、loss函数是啥?

生成模型,交叉熵

问题四、预训练如何做?

Dpair: text-to-structure变换能力,Drecord: 解码能力,Dtext:语义encoding能力
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题四、实验效果

4.2监督学习:没有预训练效果都不错,加上预训练效果更好了。
image.png

4.3 few-shot和low-resource效果:证明UIE强大的通用的信息抽取的能力
image.png

4.4 消融实验
不同的预训练任务的作用
image.png

曝光偏差优化带来的提升(10-shot)
image.png

问题5:structural Schema Instructor如何设置?
不应该是一个模板抽取一个关系吗?咋感觉好像打平全都放进去了
image.png

问题六、finetune如何做?

三、原文详细内容

Abstract

信息抽取对不同的抽取目标,有不同的schema
unified text-to-structure generation的方法贡献统一了信息抽取的架构
可同时学习不同源的知识
实现:
prompt,structural schema instructor
大规模的text-to-structure的预训练模型,来学习通用的IE抽取能力实验
成果:
4个IEtask,12种datasets监督学习,low-resource,few-shot数据实体,关系,事件,情感抽取都取得了state-of-the-art的performance

1 introduction

1.1 通用方法缺点:

varying targets:(entity,relation,event,sentiment,etc)
heterogeneous structrues:(spans,triplets,records,etc)
demand-specific schemas现在大多数模型都是task-specialized,不利于学习交叉领域的IE能力
构建specialized任务对于不同的IE task,非常耗时间

1.2 IE是什么

IE:text-to-structure transformations
entity:span structrue
event:schema-defined recordatomic eperations

1.3 如果转化成通用的模型:

spotting:想要抽取的实体词的类型desirable spans,例如人,情感实体等
associating:schemas中的关系类型,例如work forentity extraction:
spotting mention spans of entity typesevent detection:
spotting triggers spans with event typesspotting abilities can be shared between these two tasks
UIE extraction language (SEL) :将不同的抽取任务统一成同一种生成的方式来做。
structural schema instructor (SSI):schema-based prompt mechanism:控制抽取什么实体,什么关系,以及生成什么(what to spot,what to associate,what to generate)

1.4 如何提升通用抽取能力

如何学习通用的抽取能力:在大量的,各式各样的数据集上进行预训练->通用抽取能力更好的适应supervised,
效果:
low-resource,few-shot的任务supervised:提升1.42%,
few-shot或者low-resource setting:带来了巨大的提升。

1.5 contributions:

UIE:同义抽取框架适应不同IE任务,可以联合学习通用的抽取能力设置了unified structure generation network:
通过structural extraction language控制what to spot,which to associate and which to generatea
large-scale text-to-structure pre-trained extraction model

2 UIE Unified Structure Generation for Universal Information Extraction

指导期:structural schema instructor (SSI):schema-based prompt机制
结构化抽取语言:extraction language (SEL): to uniformly encode heterogeneous extraction structures

2.1 atomic operationsspotting(目标信息片段):

实体,事件触发词:Spotting indicates locating target information pieces from the sentence, e.g., the entity and the trigger word in the event.
associating:relation的目标实体,或者事件中的role和argumentAssociating indicates connecting different information pieces based on the desirable associations, e.g., the relation between entity pair or the role between event and its argument(论点).
优点

  1. 统一了IE的encodes方式
  2. 有效表达了抽取的结果,自然可以用于联合抽取
  3. 降低了解码的复杂度
    example实体抽取:(SpotName: InfoSpan)关系抽取&事件抽取:(SpotName: In- foSpan (AssoName: InfoSpan), …)
2.2.1 SSIstructural schema instructor (SSI):s

chema-based prompt机制y = UIE(s + x)s = [s1, …, s|s|] is the structural schema instructor, and y = [y1, …, y|y|] is a SEL sequence that can be easily converted into the extracted information record
example: [spot] person [spot] com- pany [asso] work for [text]作用有效的指导UIE中SEL的生成可以控制which to spot,which to associate,which to generate

2.2.2 Structure Generation with UIE

(s+x) => linearized SELauto-regressive style.
结束位置:eos
yi , hdi = Decoder([H; hd1 , …, hdi−1 ])
可以用BART或者T5等模型

3 pre-training and fine-tuning for UIE

  1. how to pre-train a large-scale UIE model which captures common IE abilities for different IE tasks;
  2. how to adapt UIE to different IE tasks in different settings via quick fine-tuning.
  1. 如何预训练获得通用的抽取能力
  2. 如何进行finetune先大量预料预训练 -> 然后特殊下游人物finetune
3.1 pre-training corpus construction

Dpair = {token sequence x, structured record y}我们通过将 Wikidata 与英语 Wikipedia 对齐来收集大规模的并行文本结构对。 Dpair 用于预训练 UIE 的文本到结构的转换能力。
Drecord is the structure dataset where each in- stance is structured record y. We collect structured records from ConceptNet (Speer et al., 2017) and Wikidata. Drecord is used to pre-train the structure decoding ability of UIE.
Drecord 是结构数据集,其中每个实例都是结构化记录 y。 我们从 ConceptNet (Speer et al., 2017) 和 Wikidata 收集结构化记录。 Drecord用于预训练UIE的结构解码能力。
Dtext is the unstructured text dataset, and we use all plain texts in English Wikipedia. Dtext is used to pre-train the semantic encoding ability of UIE.
Dtext 是非结构化文本数据集,我们使用英文维基百科中的所有纯文本。 Dtext用于预训练UIE的语义编码能力。Dpair: text-to-structure变换能力,
Drecord: 解码能力,Dtext:语义encoding能力3.2 pre-training

  1. Text-to-Structure Pre-training using DpairFor example, person and work for is the positive schema in the record “((person: Steve (work for: Apple)))”, and we sample vehicle and located in as the negative schema to construct meta- schema.这个是在干啥?让他具有啥能力?
  2. Structure Generation Pre-training with Drecord(解码能力).
  3. MLM + span corruption (这个提升比较大)=> 减轻spotname和assoname的灾难性遗忘: catastrophic forgetting of token semantics especially on SPOTNAME and ASSONAME tokens.L = LPair + LRecord + LText
3.3 On-Demand Fine-tuningDtask = {(s,x,y)} -> 交叉熵Rejection Mechanism => 减轻曝光偏差问题exposure biasRM:注入噪音通过RM,UIE能学会拒绝错误生成的NULL的结果

4 Experiments

4.1 dataset

13 IE benchmarks(ACE,CoNLL), 4 well-representative IE tasks
entity extraction, relation extraction, event extraction, structured sentiment extraction
UIE only generates text spans -> finding the first matched offsets -> offsets

4.2 supervised settings

SEL+不加预训练:基本都state-of-the-art了
UIE(带预训练):效果都state-of-the-art了improves 1.42% F1 on average

4.3 Low-resource settingslow-resource:1/5/10-shot, 1/5/10% ratiofew-shot: sample 1/5/10 sentences ofr each entity/relation/event/sentiment type

这篇关于百度UIE:Unified Structure Generation for Universal Information Extraction paper详细解读和相关资料的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/463383

相关文章

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3