EMNLP2023 | 基于显式证据推理的few-shot关系抽取CoT

c2575ba60aebe92ac5b8a2138fa3a204.png

深度学习自然语言处理 原创
作者:wkk

论文:Chain of Thought with Explicit Evidence Reasoning for Few-shot Relation Extraction
地址:https://arxiv.org/abs/2311.05922

摘要

Few-shot关系提取涉及使用有限数量的注释样本识别文本中两个特定实体之间的关系类型。通过应用元学习和神经图技术,已经出现了对这个问题的各种解决方案,这些技术通常需要训练过程进行调整。

最近,上下文学习策略已被证明在没有训练的情况下显示出显著的结果。很少有研究利用上下文学习进行zero-shot信息提取。不幸的是,推理的证据在思维链提示的构建过程中没有被考虑或隐式建模。

本文提出了一种使用大型语言模型进行Few-shot关系提取的新方法,称为CoT-ER,具有显式证据推理的思维链。特别是,CoT-ER首先诱导大型语言模型使用特定任务和概念级知识生成证据。然后将此证据明确纳入思维链提示以进行关系提取。实验结果表明,在FewRel 1.0和FewRel 2.0数据集上,与完全监督(具有100%训练数据)的最先进方法相比,本文的CoT-ER方法(具有0%训练数据)实现了具有竞争力的性能。

简介

关系提取(Relation Extraction, RE)旨在基于上下文语义信息识别两个给定实体之间的关系。

当标记的数据不足时,RE模型的性能往往会显著下降。few-shot关系提取任务需要使用有限数量的注释训练数据。最近,许多研究人员通过使用元学习和神经图技术来解决这个问题,通过在大型数据集上对模型进行元训练或结合外部知识,取得了令人满意的结果。

近年来,预训练的LLMs,如GPT系列模型,已经显示出显著的上下文学习(LLM可以有效地执行各种任务,而无需参数优化,这一概念被称为上下文学习)能力,在许多NLP任务中取得了出色的结果。在上下文学习的范式中,LLM在许多NLP任务中表现出与标准的完全监督方法相比的竞争性能,即使只提供了几个示例作为提示中的few-shot示例。

思维链(Chain-of-Thought, CoT)提示方法在数学问题和常识推理中从LLM引出令人印象深刻的推理能力。在RE任务中,存在指导LLM确定关系标签的推理过程。然而,缺乏填补这一空白的研究。尽管GPT-RE引入了一种标签诱导推理方法,通过提示LLM仅基于给定的标签生成合适的推理过程。与特定的few-shot示例检索方法相比,自动生成推理过程的性能改进微乎其微。

本文为FSRE(Few-shot Relation Extraction, FSRE)任务提出了一种新的思想链提示方法:具有显式证据推理的思想链,与FewRel 1.0和FewRel 2.0上的最先进结果相比,获得了具有竞争力的结果。本文的方法采用三步推理方法来解决上述问题。在第一步和第二步中,CoT-ER要求LLM输出与头部和尾部实体相对应的概念级实体,这是RE特定推理的基础。在第三步中,CoT-ER提示LLM提取相关的上下文跨度作为明确建立这两个实体之间特定关系的证据。通过将头部实体、尾部实体和关系标签组合成连贯的句子,LLM可以更语义地确定两个给定实体之间的关系标签,解决了提示方法中关系标签的语义模糊问题。下图展示了Auto-CoT和CoT-ER之间的差异。

1db4e982127bf605e4de8b528ca223a4.png

相关工作

Few-shot Relation Extraction

few-shot关系提取旨在基于有限数量的注释数据预测给定实例中指示的头部和尾部实体之间的语义关系。FewRel是Han等人引入的一个大规模数据集,是第一个在关系提取中探索few-shot学习的数据集。许多方法在缺乏训练数据的情况下,结合外部知识来提高性能。FSRE的另一条研究路线仅依赖于输入文本和提供的关系描述信息,而不包含外部知识。以前的大多数方法通常采用复杂的神经网络设计或引入外部知识,这在现实场景中可能是劳动密集型的。

In-context Learning

GPT-3在上下文学习(In-context Learning, ICL)中已成为NLP中的一种新范式,与微调模型相比,它在各种任务中表现出了竞争力。通过将相关文本信息纳入提示中,将先验知识引入LLM要容易得多。此外,ICL是一种无需训练的方法,直接提示LLM,这意味着它是一种现成的方法,只需在提示中进行一些演示即可轻松应用于各种任务。

最近,大多数研究人员专注于ICL的示例设计,以提高NLP任务的性能,并逐渐发展为两类。演示设计的第一类试图通过从数据集中选择实例并对所选演示实例进行排序来寻求提示中的少量示例的最佳安排。另一类示例设计旨在发现一种有效的提示方法,以释放LLM的潜力。此外,有研究人员通过在给出答案之前手动添加中间推理步骤,揭示了LLM的推理能力,这被称为思维链。

尽管CoT提示方法在许多NLP任务中取得了很好的结果,但它仍然缺乏对RE的相关探索。因此,本文提出了一种新的CoT提示法CoT-ER来填补这一空白。

CoT-ER

本文提出的CoT-ER的概述如下图所示,它由3个组件组成:

  1. Human-Instructed Reasoning Module:旨在通过用人工注释数据提示LLM,将推理过程与支持集中的每个实例相关联。

  2. Similarity Based KNN Retrieval Module:基于相似性的KNN检索模块将根据与查询实例的相似性从支持集中选择具有推理过程的实例,这些实例在最终提示中被视为few-shot示例。

  3. Inference Module:推理模块通过最终提示指示LLM来预测查询实例的关系标签,最终提示将任务指令、few-shot示例和关于实例的问题连接起来。

6cfa4da4c6d7830d4ec9e8d2ee8bd39b.png

Human-Instructed Reasoning Module

由于LLM具有上下文学习的能力,本文提出了一种人工指导的方法来指导LLM使用最少的注释数据执行准确的推理。

CoT-ER设计:为了充分利用LLM中存储的知识并促进逐步推理,引入了一种新的具有概念级知识和明确证据的三步推理框架。在步骤1中,LLM推断与头部实体相关的概念级知识,而步骤2对尾部实体进行同样的操作。通过这些步骤,LLM可以很容易地排除概念实体不正确的选项。步骤3:为了找出在给定的上下文中哪一个关系标签最适合这对实体,明确强调相关的文本跨度作为证据,然后构建一个连贯的表达式,将两个实体和关系标签结合在一起。为了进一步说明三步推理过程,下图中的几个shot示例演示了该推理过程的模板。

9fd2fa49383c912033d2424d291011a8.png

CoT-ER生成:为数据集中的每个关系类注释了一个CoT-ER推理示例作为种子示例。然后,设计了一个适当的提示,使用注释的示例作为few-shot示例演示,以指导LLM为每个支持实例生成类似的推理步骤。每个具有CoT-ER推理步骤的支持实例都将附加到候选集合中。上图显示了为人工指导推理模块设计的类似提示。

Retrieval Module

有研究表明,基于相似性选择few-shot示例会大大改善上下文学习。由于LLM的输入tokens有限,在给定N路K-Shot任务的情况下,单个提示可能无法容纳所有支持实例。在本文中,遵循基于相似性的方法来选择few-shot示例。为了获得特定关系的相似性表示,首先通过合并实体级信息,将输入文本重构为“上下文:[文本]给定上下文,“[头部实体]”和“[尾部实体]”之间的关系是什么?”。然后,利用GPT系列模型“text-embedding-ad-002”作为编码器来获得语义嵌入。随后,计算候选集合中的每个实例与查询实例之间的欧几里得距离。最后,基于候选集合中的M个实例到查询实例的较低欧几里得距离,选择它们作为few-shot示例。

Inference Module

为了创建最终提示,只需将一条任务指令、few-shot示例和一个针对查询实例定制的问题连接起来,使用具有CoT-ER推理的支持实例作为few-shot示例。值得注意的是,LLM在一般情况下有很强的错误输出NULL的倾向。本文中强制LLM选择所提供的关系标签之一,因为没有考虑FewRel数据集中的“无上述”场景示例。

实验

Datasets

有两个标准的few-shot关系提取数据集:FewRel 1.0和FewRel 2.0。

  1. FewRel 1.0由维基百科构建,维基百科由70000个句子组成,注释有100个关系标签,这100个关系标记被分为64/16/20个部分,用于训练/验证/测试集。

  2. FewRel2.0通过引入医学领域的额外验证和测试集扩展了FewRel 1.0,其中包括分别具有1000个实例的10个关系标签和具有1500个实例的15个关系标签。

实验细节

在现实场景中,直接使用固定的、手动注释的示例执行RE任务是合理的,作为每个关系标签的少量镜头演示。为此,通过从预先确定的人工注释CoT-ER数据集中选择few-shot示例来评估性能,该数据集表示为手动CoT-ER。在此设置中,few-shot示例独立于支持集,这意味着LLM将使用较少的注释数据执行RE任务。相反,Auto-CoT-ER利用自动生成的CoT-ER推理过程作为人工指导推理模块中描述的支持集的few-shot示例。

对比模型

本文考虑FSRE任务的两类方法。

100% 训练数据的方法:MTB、CP、HCPR、FAEA、GTPN、GM_GEN和KEFDA。通常,这些方法在FewRel 1.0训练集上训练模型,并在FewRel 1.0、2.0验证和测试集上评估其性能。

0% 训练数据的方法:应用Vanilla-ICL和Auto-CoT作为基线提示格式化方法。这些方法利用一些示例作为演示,并提示LLM执行NLP任务。Vanilla-ICL设计了一个直接结合文本和关系标签的模板,例如“上下文:[文本],给定上下文,[头部实体]和[尾部实体]之间的关系就是[关系标签]”。Auto-CoT通过自动生成的推理步骤扩展了Vanilla-ICL。

在整个实验中,注意到是否要求LLM在最后的回答阶段进行推理可能会导致不一致的结果,如下表所示。此外,利用预先训练的BERT基本模型6和GPT系列模型text-embedding-ada-002作为编码器,直接获得输入文本的表示。对于每个N路K-shot任务,我们通过对属于该类的K instance进行平均来获得每个类的原型。然后,将查询实例的预测标签分配给其原型与查询实例具有最接近欧几里得距离的类。将这两种方法称为Bert-proto和GPT-proto。

5f0f1ffc917ea0eabfa1977503e25796.png 7689d59085ac9b36d816f3ba85ff1b96.png

结果与分析

结果

  1. 与Vanilla-ICL相比,在few-shot场景中,Auto-CoT没有表现出显著的改进。这可能归因于推理过程的低质量,以及由于最大token限制,few-shot演示中的实例数量减少。此外,当涉及到在最终答案中生成推理过程时,具有推理的Auto-CoT优于在FewRel 1.0上直接生成关系标签的版本。然而,在FewRel 2.0上得出了相反的结论。原因可能为:FewRel 1.0从维基百科中提取实例,通常需要常识来进行推理,而FewRel 2.0需要医学相关专业知识,与常识相比,在预训练语料库中所占比例较小。因此,LLM在执行医学领域的推理任务时遇到困难。

  2. 手动CoT-ER和Auto-CoT-ER都优于无训练基线,在few-shot演示中使用的实例更少。表明有必要设计一种针对RE任务的特定CoT提示方法,以便在few-shot场景中获得更好的性能。

  3. CoT-ER提示方法在FewRel 1.0和FewRel 2.0上都比最先进的完全监督方法具有竞争力,并以最少的人工超过了大多数完全监督方法。这表明,当提供高质量的关系信息和精心设计的推理过程时,GPT系列LLM有可能击败以前的完全监督方法。

消融CoT-ER

合并实体信息是否对CoT-ER有显著好处?本文进行了消融实验,以证明三步推理过程的必要性。在这个实验中,去掉了第一步和第二步,并将性能与Auto-CoT reasoning进行了比较。出于公平考虑,使用Auto-CoT-ER实现了这个实验,它还采用了LLM自动生成的推理过程。由于最大输入和输出token的限制,将消融实验的few-shot演示中的实例数量设置为13。结果如下图所示。

442fc3b77987c2bbb93c7e7e9403bf06.png

结果表明:

  1. 除第一步和第二步后,Auto-CoT-ER的性能显著下降,在FewRel 1.0和FewRel 2.0上的精度分别降低了3.4、2.2、1.8、2.9和5.2、6、5.3、7.6。这意味着实体类型的更高层次抽象,特别是概念级实体,有利于LLM在few-shot场景中执行RE任务。

  2. CoT-ER的第三步是将支持实例与Auto-CoT相比更简单的推理过程配对,但它在某些具有挑战性的场景中实现了卓越的性能。这一发现表明,关系标签提供的语义信息比低质量的推理信息更有利于LLM。

CoT-ER稳定性实验

本文对提出的CoT-ER进行了两项稳定性实验。

  1. Different Random Seeds for Task Sampling:由于“text-davinci-003”的成本很高,本文对数量相对较少的查询进行了采样测试,特别是每个N路K-Shot任务的查询数量为100×N。为此,使用8个随机种子对CoT-ER和Vanilla-ICL进行了评估,用于N路K-Shot任务采样。下表中显示了FewRel 2.0的平均值±标准偏差的实验结果。值得注意的是,CoT-ER在所有N路K-shot设置中始终以较低的标准差优于Vanilla-ICL。

5aff891da99235f9948e2d90fbfbf043.png 134507c98d8b1d06726f10dcd812fbb3.png
  1. Different Number of Few-shot Instances:为了研究所选演示数量如何有助于CoT-ER的性能,在5-Way,5-Shot 设置下进行了实验。单个提示在最坏的情况下可以保持13个CoT-ER推理演示,而所有支持实例(25)都可以附加到Vanilla-ICL中的提示。结果如下表所示。

50c5ae09d1c94d865710e9a623aa71d3.png

观察到CoT-ER和Vanilla-ICL都可以受益于更多的few-shot示例,然而,随着示例数量的增加,Vanilla-ICL的性能迅速下降。CoT-ER可以有效地利用来自提供实例的信息,即使实例数量减少,也能保持强大的性能。这表明当few-shot实例的数量发生变化时,CoT-ER表现出比Vanilla-ICL更大的稳定性。

下表展示了CoT-ER和Auto-CoT方法的案例分析。

13fc2f7c8f247522e460db7e00add011.png

结论

本文探索了LLM上下文内学习在few-shot关系提取方面的潜力。为了提高低质量自动生成推理过程所带来的总体性能,引入了CoT-ER,这是一种专门用于few-shot关系提取的提示方法。核心思想是促使LLM使用存储在其预训练阶段的特定任务和概念级别的知识来生成证据。LLM将在RE任务中使用这些证据,并促进推理过程。此外,设计了一种标签描述技术,通过将实体和关系标签集成到一个连贯的表达式中。该技术解决了关系标签的语义歧义,这是在上下文学习中使用关系提取时遇到的常见挑战。FewRel 1.0和FewRel 2.0的实验结果优于所有无训练基线,证明了本文提出的方法的有效性。此外,实现与最先进的完全监督方法相当的结果表明,上下文学习范式有望成为few-shot关系提取任务的新解决方案。

尽管CoT-ER在FewRel 1.0和FewRel 2.0上取得了不错的结果,但仍有未来改进的潜力。由于最大长度的限制,本文提出的方法在处理较大的数据集时并没有充分利用所有实例。尽管采用了基于相似性的KNN检索来为few-shot演示选择优越的实例,结果发现,与其他在有大量候选集可用时表现良好的方法相比,它在few-shot设置中并不有效。由于通过GPT-3的API使用合理所需ICL的成本很高,本文尚未在具有更长最大输入token和更大规模的高级LLM上评估CoT-ER。有限的预算也限制了种子示例构建的优化。可以通过更具信息性和适当的设计来提高性能。

这篇论文刚撤稿了,期待新的版本:

An error example is in Table 14 on Page 18. Need to carefully correct and evaluate the error


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

2b974b360d978847f0a2461a347c231b.png

id:DLNLPer,记得备注呦

776876360db99fd1c69795eb79296fe0.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/195891.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

肖sir__linux讲解(2.1)

linux命令 cp 复制命令 a、cp 原文件名称 新文 件名称(不存在的文件) 案例:cp a k 截图: b.cp 原文件名称 原有文 件名称(存在的文件) 案例:cp a b 截图: c、cp 指定路径复制 格式&#xff…

目标检测—YOLO系列(二 ) 全面解读论文与复现代码YOLOv1 PyTorch

精读论文 前言 从这篇开始,我们将进入YOLO的学习。YOLO是目前比较流行的目标检测算法,速度快且结构简单,其他的目标检测算法如RCNN系列,以后有时间的话再介绍。 本文主要介绍的是YOLOV1,这是由以Joseph Redmon为首的…

802.1Qbb

[TOC] 802.1Qbb 802.1Qbb是什么? 802.1Qbb(基于优先级的流控制,PFC)是以太网数据中心中一项重要的标准,用于提供无丢包的网络环境。这项标准是IEEE 802.1Q标准的一部分,旨在解决以太网数据中心网络中的拥…

vue3 + ts项目(无vite)报错记录

记录项目创建后遇到的报错 1.类型“Window & typeof globalThis”上不存在属性“_CONFIG”。ts(2339) 问题描述: 使用全局 window 上自定义的属性,TypeScript 会报属性不存在 解决:需要将自定义变量扩展到全局 window 上&#xff0c…

数据分析场景下,企业如何做好大模型选型和落地?

在数据驱动的数字化时代,有效的数据分析已成为企业成功的关键因素。而随着大模型带来能力突破,让AI与数据分析相互结合,使分析结果更好支撑业务,促进企业内部数据价值释放,成为了当下企业用户尤为关注的话题。 如何按照…

PPT转PDF转换器:便捷的批量PPT转PDF转换软件

在数字化时代,文档转换已成为日常工作不可或缺的一环。特别是对于那些需要转发或发布演示文稿的人来说,如果希望共享给他人的PPT文件在演示过程中不被修改,那么将PPT文件转换为PDF格式已经成为一个常见的选择。大多数PDF阅读器程序都支持全屏…

在Rust编程中使用泛型

1.摘要 Rust中的泛型可以让我们为像函数签名或结构体这样的项创建定义, 这样它们就可以用于多种不同的具体数据类型。下面的内容将涉及泛型定义函数、结构体、枚举和方法, 还将讨论泛型如何影响代码性能。 2.在函数定义中使用泛型 当使用泛型定义函数时,本来在函…

Flutter笔记:桌面应用 窗口定制库 bitsdojo_window

Flutter笔记 桌面应用窗口管理库 bitsdojo_window 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/13446…

吴恩达《机器学习》8-7:多元分类

在机器学习领域,经常会遇到不止两个类别的分类问题。这时,需要使用多类分类技术。本文将深入探讨多类分类,并结合学习内容中的示例,了解神经网络在解决这类问题时的应用。 一、理解多类分类 多类分类问题是指当目标有多个类别时…

stable diffusion comfyui的api使用教程

一、为什么要使用comfyui的api?对比webui的api,它有什么好处? 1、自带队列 2、支持websocket 3、无需关心插件是否有开放api接口,只要插件在浏览器中可以正常使用,接口就一定可以使用 4、开发人员只需关心绘图流程的搭建 5、切换…

Leetcode—3.无重复字符的最长子串【中等】

2023每日刷题&#xff08;三十二&#xff09; Leetcode—3.无重复字符的最长子串 实现代码 class Solution { public:int lengthOfLongestSubstring(string s) {unordered_set<char> smap;int maxlen 0;int left 0;for(int i 0; i < s.size(); i) {while(smap.fi…

【算法】距离(最近公共祖先节点)

题目 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a; 边是无向的。所有节点的编号是 1,2,…,n。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n−1 行&#xff0c;每行三个整数 x,y,k&am…

【开源】基于Vue和SpringBoot的民宿预定管理系统

项目编号&#xff1a; S 058 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S058&#xff0c;文末获取源码。} 项目编号&#xff1a;S058&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色…

2023.11.17-hive调优的常见方式

目录 0.设置hive参数 1.数据压缩 2.hive数据存储格式 3.fetch抓取策略 4.本地模式 5.join优化操作 6.SQL优化(列裁剪,分区裁剪,map端聚合,count(distinct),笛卡尔积) 6.1 列裁剪: 6.2 分区裁剪: 6.3 map端聚合(group by): 6.4 count(distinct): 6.5 笛卡尔积: 7…

基于JavaWeb+SpringBoot+掌上社区疫苗微信小程序系统的设计和实现

基于JavaWebSpringBoot掌上社区疫苗微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种…

.net core中前端vue HTML5 History 刷新页面404问题

放到启动的应用程序的最后面 app.Run(async (context) > {context.Response.ContentType "text/html";await context.Response.SendFileAsync(Path.Combine(env.WebRootPath, "index.html")); });https://blog.csdn.net/lee576/article/details/88355…

uniapp 实现微信小程序手机号一键登录

app 和 h5 手机号一键登录&#xff0c;参考文档&#xff1a;uni-app官网 以下是uniapp 实现微信小程序手机号一键登录 1、布局 <template><view class"mainContent"><image class"closeImg" click"onCloseClick"src"quic…

Vue项目的学习一

1、Vue项目里面的.js文件里面对象添加属性 例如&#xff1a;在对象&#xff1a;row&#xff0c;需要在对象row里面添加一个属性状态&#xff1a;type&#xff0c;使用里面的Vue.set函数 Vue.set(参数1,参数2,参数3) Vue.set(row,type,false)解析&#xff1a; 参数1&#xff1…

linux 查看命令使用说明

查看命令的使用说明的命令有三种&#xff0c;但并不是每个命令都可以使用这三种命令去查看某个命令的使用说明&#xff0c;如果一种不行就使用另外一种试一试。 1.whatis 命令 概括命令的作用 2.命令 --help 命令的使用格式和选项的作用 3.man 命令 命令的作用和选项的详细…

拼多多百亿补贴商品详情API接口系列

拼多多API接口是拼多多网提供的一种应用程序接口&#xff0c;允许开发者通过程序访问拼多多网站的数据和功能。通过拼多多API接口&#xff0c;开发者可以开发各种应用程序&#xff0c;如店铺管理工具、数据分析工具、购物比价工具等。在本章中&#xff0c;我们将介绍拼多多API接…