⌈ 传知代码 ⌋ ERA-CoT: 实体关系推理

💛前情提要💛

本文是传知代码平台中的相关前沿知识与技术的分享~

接下来我们即将进入一个全新的空间,对技术有一个全新的视角~

本文所涉及所有资源均在传知代码平台可获取

以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦!!!

以下内容干货满满,跟上步伐吧~


📌导航小助手📌

  • 💡本章重点
  • 🍞一. 概述
  • 🍞二. 论文方法
  • 🍞三. 实验
  • 🍞四. 关键代码
  • 🫓总结


💡本章重点

  • ERA-CoT: 实体关系推理

🍞一. 概述

该论文提出了一种新的框架,称为基于链式思维的实体关系分析(ERA-CoT),旨在解决涉及多个实体的复杂场景中的推理任务。通过提取文本中的所有实体及其显式关系,并基于这些关系和隐藏信息推断隐式关系,ERA-CoT显著提高了大语言模型(LLMs)的推理能力和问题回答的准确性。

实验结果表明,ERA-CoT在各种基准测试中均优于现有的链式思维提示方法,在GPT-3.5上平均提升了5.1%的准确率​​。

本篇在论文代码的基础上增加了llama2模型的相关文件,修改了模型相关代码。


🍞二. 论文方法

在这里插入图片描述
论文中提出的ERA-CoT框架包含五个步骤:

  1. 实体提取:

    • 利用大型语言模型(LLMs)的信息提取能力,从文本中提取所有实体及其类型。具体来说,模型接受一个输入句子,利用其命名实体识别(NER)功能预测相应的实体范围和分类。为了提高实体提取的准确性,采用了自一致性(Self-Consistency, SC)方法,多次验证实体提取结果,确保提取的实体可靠。
  2. 显式关系提取:

    • 在零样本设置下,探讨不同实体之间的显式关系。通过LLM的上下文理解能力,从文本中直接提取实体对之间的关系,生成关系三元组。同样地,使用SC方法评估显式关系的可靠性。
  3. 隐式关系推断:

    • 基于显式关系和文本中的隐藏信息推断实体之间的隐式关系。通过生成多个可能的隐式关系,并使用模型进行评分,确定这些关系的可靠性。具体来说,通过分析上下文中的隐含信息,推断出未显式提到但可能存在的实体关系。
  4. 关系过滤:

    • 使用模型对隐式关系的可靠性进行评分,设定阈值筛除低于阈值的隐式关系。这一步骤确保了最终关系集的高质量和准确性。
  5. 问题回答:

    • 基于提取的实体以及获得的显式和隐式关系回答问题。在这个过程中,模型利用之前提取和过滤的关系信息,提供更准确和详细的答案。

    • 通过这些步骤,ERA-CoT框架在处理复杂实体场景中的推理任务时展示了强大的性能和准确性提升​


🍞三. 实验

论文通过在六个广泛采用的数据集上进行实验,验证了ERA-CoT的有效性,并与四种基线方法进行了对比。结果表明,ERA-CoT在几乎所有基准测试中均表现出色,平均提升了大约5.1%的准确率。

在GPT-3.5和Llama-2两种大语言模型上,ERA-CoT在常识推理、数学推理和逻辑推理三种类型的问题上均表现出显著提升,表明增强模型的实体关系理解能力能够显著提高推理能力和问题回答的准确性​​。

创建虚拟环境并激活
在这里插入图片描述

安装环境依赖

在这里插入图片描述

运行llama2的预测代码

在这里插入图片描述


🍞四. 关键代码

实体提取:
import json# from config import args
prompt_prefix = '''Given a sentence, possible entities may include:'''prompt_suffix = ''', Find all entities based on the provided sentence.'''def get_ner_list(type_list_file):try:f = open(type_list_file, "r", encoding="utf-8")entities = "["for idx, entity in enumerate(f):entities = entities + entity[:-1] + ","entities = entities[:-1] + "]"return entitiesexcept FileNotFoundError as e:raise FileNotFoundError('can\'t find the demo file: {}'.format(type_list_file))def get_ner_prompt(type_list_file):ner_prompt = prompt_prefix + get_ner_list(type_list_file) + prompt_suffixreturn ner_promptdef ner_sentence(ner_prompt, sentence):prompt = ner_prompt + "\nSentence: " + sentence + "\nEntity: "return prompt关系提取:
import json
import logging# from config import args
prompt_prefix = '''Given a sentence, and all entities within the sentence. 
Extract all relationships between entities which directly stated in the sentence.
Every relationship stated as a triple: (E_A, E_B, Relation).\nSentence: '''prompt_suffix = '''\nRelation: '''def get_extract_prompt(entities, sent):relation_prompt = prompt_prefix + sent + "\nEntities: " + entities + prompt_suffixreturn relation_prompt关系推理:
import json
import logging# from config import args
prompt_prefix = '''Given a sentence, all entities, and all explicit relationships within the sentence. 
Infer all possible implicit relationships between entities.
For each pair of entities, infer up to '''prompt_mid = ''' implicit relationships.
Every relationship stated as a triple: (E_A, E_B, Relation)\nSentence: '''prompt_suffix = '''\nRelation: '''def get_infer_num(args):return args.infer_numdef get_infer_prompt(args, entities, relation_ext, sent):relation_prompt = (prompt_prefix + get_infer_num(args) + prompt_mid+ sent + "\nExplicit Relationships:: " + relation_ext+ "\nEntities: " + entities + prompt_suffix)return relation_prompt

🫓总结

综上,我们基本了解了“一项全新的技术啦” 🍭 ~~

恭喜你的内功又双叒叕得到了提高!!!

感谢你们的阅读😆

后续还会继续更新💓,欢迎持续关注📌哟~

💫如果有错误❌,欢迎指正呀💫

✨如果觉得收获满满,可以点点赞👍支持一下哟~✨

【传知科技 – 了解更多新知识】

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

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

相关文章

Xmind导入纯文本TXT方法

最近有很多同事咨询我如何在xmind直接导入纯文本txt笔记或者思维导图呢? 解决办法如下: 1.先打开xmind随便打开一个思维导图-文件-导出-marldown 2.选中导出的markdown文件。右键-打开方式-苹果系统选择文本编辑,Win系统选择记事本 3.按照图示…

Unity动画录制工具在运行时录制和保存模型骨骼运动的方法录制动画给其他角色模型使用支持JSON、FBX等格式

如果您正在寻找一种在运行时录制和保存模型骨骼运动的方法,那么此插件是满足您需求的完美解决方案。 实时录制角色运动 将录制到的角色动作转为动画文件 将录制好的动作给新的角色模型使用,完美复制 支持导出FBX格式 操作简单,有按钮界面…

SpringCache 缓存 - @Cacheable、@CacheEvict、@CachePut、@Caching、CacheConfig 以及优劣分析

目录 SpringCache 缓存 环境配置 1)依赖如下 2)配置文件 3)设置缓存的 value 序列化为 JSON 格式 4)EnableCaching 实战开发 Cacheable CacheEvict CachePut Caching CacheConfig SpringCache 的优势和劣势 读操作…

ADS基础教程19 - 电磁仿真(EM)基本概念和实操

EM介绍 一、引言二、基本概念1.EM介绍2.Momentum介绍3.FEM介绍4.Substrate介绍 三、创建Layout并进行Momentum仿真1.创建Layout2.添加Microtrip(微带线)3.添加Substrate4.Momentum仿真 四、总结 一、引言 本章节开始介绍EM的基本概念、内容以及实现具体…

反向传播算法

在深度学习和神经网络中,反向传播算法是一种至关重要的技术,它使得网络能够通过学习不断调整自身的参数以优化性能。作为训练神经网络的核心机制,反向传播通过计算损失函数对模型参数的梯度,并据此更新网络权重,从而逐…

this关键字,构造函数(构造器)

文章目录 thisthis是什么应用场景 构造器注意事项代码演示 this this是什么 this就是一个变量,可以在方法中,拿到当前对象 应用场景 解决变量名称 冲突问题 构造器 注意事项 必须和类名相同没有返回值只要参数不同(个数不同&#xff0…

ISO 26262《道路车辆功能安全》

ISO 26262是关于道路车辆功能安全的国际标准,专门针对总重不超过3.5吨的八座乘用车及其安全相关电子电气系统(E/E系统)的功能安全而制定。以下是关于ISO 26262的详细解释: 一、背景与目的 ISO 26262是在2011年11月15日正式发布的…

Java基础面试重点-2

21. JVM是如何处理异常(大概流程)? 如果发生异常,方法会创建一个异常对象(包括:异常名称、异常描述以及异常发生时应用程序的状态),并转交给JVM。创建异常对象,并转交给…

UML相关1

汽车租赁系统中的用例图简述(10分) 本系统根据功能可以分为三个用例图: 客户用例图:主要描述客户注册、登录、找回密码、查询车辆信息(包括所有车辆信息、已借车辆信息、租赁历史信息)、修改个人信息、网上预订车辆、电话预定车…

LabVIEW结构体内部缺陷振动检测

结构体内部缺陷会改变其振动特性,通过振动分析可以检测并定位这些缺陷。本文详细分析内部缺陷对振动的影响,从频谱分析、时域分析和模态分析等多角度探讨基于LabVIEW的检测方法,提供实施步骤和注意事项,帮助工程师有效利用LabVIEW…

Windows下Qt5.14.2连接华为IoTDA平台

一、华为IoTDA简介 华为云物联网平台(IoT 设备接入云服务)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物…

JAVA:在IDEA引入本地jar包的方法并解决打包scope为system时发布无法打包进lib的方案

一.引入本地Jar包的步骤 有时maven依耐的包是本地的jar包,此时需要进行以下步骤设置。 步骤1.在pom.xml中添加插件设置,将system范围包含进来,此设置是为了在打包时,本地jar包自动生成到部署包里。(若无法打进包,请参考下文的方…

面向对象三大特征之:封装

文章目录 什么是封装?封装的设计规范 什么是封装? 就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些书记的方法设计到一个对象中去。 封装的设计规范 合理隐藏,合理暴露 public就是都能访问…

【Python】解决Python报错:ValueError: not enough values to unpack (expected 2, got 1)

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 函数返回值解包2.2 遍历含有不同长度元组的列表 3. 解决方案3.1 检查和调整返回值3.2 安全的解包操作 4. 预防措施4.1 使用异常处理4.2 单元测试 结语 引言 在Python编程中,ValueError 是一个常见的异常类…

服务器配置(初始化)

一:什么是云服务器及用途: 云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。 我个人感觉就…

录取查询小程序怎么制作?

招生老师往往需要花费大量的时间和精力去手动整理学生的录取信息,并一一通知学生。那时的录取查询系统,复杂而繁琐,要处理大量的数据,还要确保信息的准确无误和安全。经常为了发布录取结果,不得不加班到深夜&#xff0…

[学习笔记] VFX Silhouette

目录 Part 1 : The interface of Silhouettte (Silhouette的界面介绍) Part 2: The shape divisions and manual roto(形状分区和手动roto工作): Part 3: tracking : Part 4: Mocha Tracking Part 5: Motion Blur(…

SQL 截取函数

目录 1、substring 2、left 3、right 4、substring_index 1、substring 用途:字段截取从指定开始的字符开始,截取要的数;指定开始的字符数字可以用负的,指定开始的字符从后往前(向左)数,截取要的数不能为负。 语…

mysql知识点

目录 1、数据库定义语言(DDL)(1)创建数据库(2)创建表SQL数据类型列级约束条件表级约束条件(3)修改表 2、数据库操纵语言(DML)(1)插入数…

【STM32】输入捕获应用-测量脉宽或者频率(方法1)

图1 脉宽/频率测量示意图 1 测量频率 当捕获通道TIx 上出现上升沿时,发生第一次捕获,计数器CNT 的值会被锁存到捕获寄存器CCR中,而且还会进入捕获中断,在中断服务程序中记录一次捕获(可以用一个标志变量来记录&#…