大模型时代信息抽取任务该何去何从?复旦发布InstructUIE提升大模型信息抽取能力
一、概述
Title: InstructUIE: Multi-task Instruction Tuning for Unified Information Extraction
Paper: https://arxiv.org/abs/2304.08085
1 Motivation
大语言模型解锁了非常强的多任务能力,但是大模型在信息抽取任务上表现比较差,例如gpt-3.5-turbo在Ontonotes数据集上的f1只有18.22。
2 Methods
2.1 整体结构
说明:
1)基于Instruction tuning技术,实现了一个信息抽取的统一框架,可以实现各式各样的信息抽取任务,并且能挖掘内部任务之间的依赖关系。
2)将三大信息抽取任务都转化成Multi-Task Instruction Tuning的形式来解决。每个部分包括Instruction,Options,text三个输入,并且按照特定格式输出最终结果。
2.2 引入辅助任务(子任务)提高精度
说明:为了在更细粒度的水平上提高性能,设计了与主要任务一起训练的辅助任务,其中对于实体抽取、关系抽取、事件抽取分别设置了不同的辅助任务。详情如下:
- 实体识别辅助任务:引入了跨度提取任务(span extraction task)和实体类型(entity typing task)任务。跨度提取任务旨在从输入句中提取实体跨度,而实体类型任务旨在识别实体的类型。
- 关系抽取辅助任务:实体对提取任务旨在提取关系中涉及的实体对,而关系分类任务旨在对实体对之间的关系类型进行分类。
- 事件抽取辅助任务:触发器提取任务旨在提取触发事件的触发词,而参数提取任务旨在提取相关的论点。
2.3 prompts样例
说明:prompts中按照不同的任务给出instructions,并且给出输出格式要求
2.4 提出了新的评测benchmark
提出了IE INSTRUCTIONS,32个不同信息提取数据集的基准(benchmark),采用统一的文本到文本格式,带有有专家编写的instructions,用于评测本文方法的有效性。
3 Conclusion
- 实验结果表明,本文方法在监督环境中实现了与Bert相当的性能,并且在zero-shot设置中优于最先进的和gpt3.5
1000个样本监督学习:取得了和BERT监督学习可比较的一个效果。
zero-shot:在zero-shot的能力上取得了sota,比gpt3.5sota也好得多。
- 利用一个multi-task模型可以解决大量的任务
二、详细内容
1 与UIE以及USM等方法对比
不同方法优缺点总结:
1)LMM:例如chatgpt等大模型在IE任务中表现不佳,本文提出InstructUIE探索大模型解决信息抽取新范式。
2)UIE:text-to-structure,对于不同的下游任务,需要单独进行finetune,遇到新label schema或者低资源情况下效果比较差。
3)USM: 是一个统一的IE任务框架,它将IE任务转换为se-mantic匹配问题。缺点一:它将IE转换为语义匹配任务,这使得很难与生成语言模型集成。缺点二:该方法要求对每个单词进行语义匹配,这导致训练和推理时间显著增加。
2 Experiments
2.1 有监督学习(每个数据集10000样本)
实体抽取结果:
关系抽取和事件抽取结果:
结论:
1. NER:所有数据集都只有1万的训练集,平均F1 85%,超过了BERT的80%,20个任务有17个都超过BERT,很多超过了5个点,最多超过25个点,落败的数据集上训练集只有别人的20%,但是模型比BERT大很多。
2. RE:平均f1: 67.98%。
3. EE:Event trigger f1: 71.69%,Event Argument F1 metric,比UIE和SUM都好很多。
实验设置详情:
1)Backbone:11B TlanT5
2)Dataset:IE INSTRUCTIONS涉及三种信息抽取任务,named entity extraction, relation extraction, and event extraction,每个数据集sample10000数据
3)对比Baseline:UIE:text-to-structure generation framework,USM:将IE任务转化成语义匹配任务,BERT
4)Metrics:Micro-F1,NER:实体边界和类型都要对,RE:主实体,副实体,关系都要对。EE事件触发:触发类型和触发词都要对,事件参数:role type 和 event type匹配
2.2 few-shot结果(非训练集评测)
结论:
- NER:血洗了之前的few-shot方法,提升幅度在5.21%-25.27之间
- RE:同样血洗之前方法,提升了4-6个点(33%->39%)。
2.3 与chatgpt对比
结论:在信息抽取任务上,比chatgpt效果要好非常多
三、总结
- 信息抽取是一个定制化的比较难的任务,和场景关系密切。原始chatglpt在信息抽取任务上效果比较差,现在想想也是正常,因为信息抽取任务和任务场景密切相关,并且标注难度高。对于实体类型的定义没有一个明确的标准,chatgpt就比较难以理解。例如标注人名,多个人分开标注还是一起标注,人工标注可能一致性都不太高。
- 针对信息抽取任务构建指令遵循进行SFT训练可以进一步提升大模型在信息抽取任务上的表现。最重要的是构建指令,选项,答案的形式,让模型在信息抽取任务的指令遵循能力得到增强,因为可能chatgpt等模型构建数据集的时候,可能更偏向一些常规任务的解决,信息抽取指令数据偏少。
- 引入额外的辅助任务可以让大模型更好地理解信息抽取任务。本文对于实体识别、关系抽取、事件抽取分别引入了额外的辅助子任务,并且通过统一的指令形式来构建任务,加强子任务的理解,从而也可以提升全局信息的表现。
四、参考
[1] Wang X, Zhou W, Zu C, et al. InstructUIE: Multi-task Instruction Tuning for Unified Information Extraction[J]. arXiv preprint arXiv:2304.08085, 2023.
本文转载自 NLP PaperWeekly,作者: NLP PaperWeekly