笔记整理:
项卓怡,浙江大学硕士,研究方向为生化大模型
论文链接:
https://arxiv.org/abs/2402.11254
发表会议:EMNLP 2024
1. 动机
随着大规模预训练语言模型(
LLMs)在自然语言处理(NLP)任务中的成功,信息抽取(IE)任务的研究也逐步向基于少样本学习的方向发展。其中,基于上下文学习(ICL)的方式已成为提升信息抽取能力的重要策略。然而,现有方法主要依赖于使用正确(positive)示例进行学习,而忽略了错误(negative)示例可能提供的价值。在实际应用中,信息抽取模型容易犯错,例如实体边界错误、关系类型错误或实体/关系缺失等问题。如果模型能够识别这些错误并从中学习,就有望提升其泛化能力。为此,
这篇文章
提出了一种新的对比上下文学习方法
C-ICL,它不仅利用正确示例,还整合了错误示例来构造ICL训练样本,从而增强LLMs对信息抽取任务的理解能力。通过融合正负示例,该方法能够帮助模型识别和纠正潜在错误,从而提高信息抽取任务的准确性。
2. 贡献
本文的主要贡献有:
(
1
)提出对比上下文学习(
C-ICL
)方法,同时利用正确和错误示例进行
ICL
训练,从而增强大模型对信息抽取任务的泛化能力。
(
2
)引入高难度负样本选择策略,基于模型预测的错误样本进行筛选,并通过语义相似度匹配出相关的正样本,提高负样本的利用价值。
(
3
)在多个信息抽取数据集上进行了广泛实验,验证了
C-ICL
方法在命名实体识别(
NER
)和关系抽取(
RE
)任务上的有效性,并在多个基准数据集上取得了最先进的性能。
3. 方法
C-ICL 主要通过构造对比示例来提升大语言模型在信息抽取任务中的表现。该方法的核心思想是,在传统的上下文学习(
ICL
)框架下,不仅使用正确示例(正样本),还引入错误示例(负样本),以增强模型的泛化能力和自我纠正能力。
C-ICL 主要包括以下几个关键步骤
(1)构造上下文示例
C-ICL
采用对比上下文示例来指导大语言模型学习实体识别(
NER
)和关系抽取(
RE
)。在构建这些示例时,首先从训练集中检索与测试数据最相似的正确示例(正样本),以帮助模型学习正确的模式。同时,利用语义相似性和自一致性方法筛选硬负样本,这些负样本通常是模型在预测过程中常犯的错误,但与正确答案具有高度相似性。通过将正负示例结合到提示中,
C-ICL
能够帮助模型识别并纠正常见的推理错误,从而提高信息抽取的准确性。
(2)
构造联合表示
C-ICL
采用了代码风格的上下文学习(
Code-ICL
),即将信息抽取任务表示为结构化代码生成任务,而不是普通的自然语言任务。这种方法的优势在于,代码格式的结构化信息更符合信息抽取任务的本质,能够更清晰地指引模型学习不同类型的实体和关系。通过这种方式,模型不仅能学习到正确的知识,还能了解可能的错误模式,并在推理过程中进行自我修正。
(3)
示例检索策略
C-ICL
采用了两种不同的方法,以确保所选示例对当前任务最具参考价值。首先,基于语义相似性的检索方法用于选择正样本,即通过语义嵌入计算测试数据与训练数据之间的相似度,并选取最相关的示例作为上下文展示。其次,自一致性方法用于筛选负样本,即在训练数据上运行
LLM
,并通过
F1
分数筛选出最具代表性的错误预测结果。这种方法能够确保负样本的质量,使其既具有代表性,又能有效地帮助模型规避常见错误。
在训练和推理过程中,
C-ICL
采用监督学习方式训练模型,目标是最小化预测答案与真实答案之间的损失。在推理阶段,模型首先对输入的
QA
上下文进行编码,并检索与之最相关的知识图谱子图。随后,模型使用构建的上下文学习示例进行推理,并在代码格式的工作图上进行联合推理。最终,
C-ICL
通过学习到的表示生成最终的答案,并结合负样本示例优化模型的预测能力。
通过这些设计,
C-ICL
使得大语言模型能够在较少的训练数据下高效学习信息抽取任务,并显著提升其在复杂推理任务中的表现。
图
1
C-ICL
在
RE
任务上的流程
为了评估
C-ICL
在信息抽取任务上的有效性,这篇文章在多个命名实体识别(
NER
)和关系抽取(
RE
)数据集上进行了实验,并与当前最先进的基线模型进行比较。实验主要考察
C-ICL
在少样本学习场景下的表现,重点分析其在不同任务、不同数据集以及不同检索策略下的优势。本实验选用了七个标准数据集来评估
C-ICL
的性能,其中包括四个关系抽取(
RE
)数据集(
CoNLL04
、
ACE05-R
、
NYT
、
SciERC
)和三个命名实体识别(
NER
)数据集(
CoNLL03
、
ACE04
、
ACE05-E
)。实验采用标准的
F1
分数作为主要评测指标:
NER
任务采用实体
F1
分数(
Entity F1 Score
),衡量模型预测的实体类别、边界与真实标注的匹配程度;
RE
任务采用严格关系
F1
分数(
Relation Strict F1 Score
),即只有当预测的关系类型、头实体和尾实体均正确时,该关系才被认为是正确预测。采用
CodeLlama
作为
C-ICL
的基础大语言模型(
LLM
)。
实验结果表明,
C-ICL
在多个数据集上均取得了优异的性能,尤其是在少样本学习(
few-shot learning
)环境下,其表现明显优于现有的方法。
图
2
、
C-ICL
的表现
为了进一步验证
C-ICL
设计中的不同组件对最终结果的影响,我们进行了消融实验,主要考察以下因素的影响:
去除负样本(
w/o wrong/negative
):即只使用正确示例进行上下文学习,而不包含错误示例。实验结果表明,去除负样本后,
C-ICL
在所有数据集上的
F1
分数平均下降
4-6%
,说明负样本在增强模型鲁棒性方面起到了关键作用。
不同数量的示例(
Different Shot Numbers
):实验结果显示,随着上下文示例数量的增加,
C-ICL
的表现逐渐提升,但当示例数过多时(如超过
10
个),
F1
分数开始下降,说明过多的示例可能会导致噪声增加,从而影响模型推理效果。
不同负样本检索策略:对比采用随机采样(
Random Sampling
)和
F1
评分
+
自一致性(
F1 & SC
)检索负样本的策略,实验结果表明,后者能够显著提升模型的性能,说明高质量的负样本选择对于提升
C-ICL
的效果至关重要。
此外,为了评估
C-ICL
在面对噪声和干扰性输入时的表现,这篇文章还进行了对抗性测试。实验结果表明,相比于
CodeIE
和
Code4UIE
,
C-ICL
在错误示例较多的测试集上仍能保持稳定的表现,其
F1
分数下降幅度仅为
2-3%
,而基线方法的下降幅度高达
5-7%
。这表明
C-ICL
通过引入负样本学习,提高了模型在面对数据噪声时的鲁棒性。
综上所述,实验结果充分证明了
C-ICL
在信息抽取任务中的有效性,尤其是在少样本和复杂推理场景下,其表现远超现有方法,并展示了较强的泛化能力和鲁棒性。
C-ICL
通过结合对比学习与上下文学习,提升了少样本信息抽取的能力。通过引入错误示例,
C-ICL
使模型能够自我纠正错误,从而提高泛化能力和鲁棒性。实验表明,该方法在多个数据集上取得了最优性能,验证了其在信息抽取任务中的有效性和适用性。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击
阅读原文
,进入 OpenKG 网站。