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

news2024/11/27 11:30:55

💛前情提要💛

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

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

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

以下的内容一定会让你对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 entities
    except 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_suffix
    return ner_prompt

def 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_suffix
    return 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_num

def 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.coloradmin.cn/o/1816329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

48【Aseprite 作图】荷塘月色——拆解

1 荷叶,不要完全对称,下面是深色的,上面是浅色的,加一点高光 2 鱼的轮廓 上色彩,主要用三种颜色,修改透明度,叠加颜色

快捷键专栏 IDEA、Navicat、电脑、Excle、Word等

标题 电脑篇windowsR 配合以下常用命令连上公司网线WiFi速度变慢问题解决Windows10 设置鼠标右键在此处打开cmd和Powershell窗口、关机打开电脑诊断工具系统设置常用设置查看电脑出场日期 systeminfo删除文件显示已在另一个程序打开?找回回收站删除的文件WindowsR输…

RUOYI集成手机短信登录

背景: 工作过程中遇到需求,需要将短信验证码登录集成到RUOYI框架中。框架中使用的用户认证组件为Security,由于没有怎么研究过这个组件,这个功能不太会搞。所以这是一篇抄作业记录。参考文章如下 若依RuoYi整合短信验证码登录_若…

C++和C语言到底有什么区别?

引言:C和C语言是两种非常常见的编程语言,由于其广泛的应用和灵活性,它们在计算机科学领域内受到了广泛的关注。虽然C是从C语言发展而来的,但是这两种语言在许多方面都有所不同。本文将对C和C语言进行比较和分析,以便更…

汇聚荣科技有限公司实力强吗?

汇聚荣科技有限公司实力强吗?在当今快速发展的科技行业中,公司的实力往往决定了其市场竞争力和发展前景。对于汇聚荣科技有限公司而言,其是否具备强大的实力,不仅关系到自身的发展,也影响着投资者和合作伙伴的选择。因此&#xf…

CAD2022下载与安装

CAD2022下载与安装 安装包下载安装包解压缩软件安装安装完成 安装包下载 安装包下载链接: https://pan.xunlei.com/s/VNyyAVUev-7XHig_2VIGiTN1 提取码:mxt8 下载安装包,完成后,得到一个压缩文件 安装包解压缩 右键解压到当前…

深圳建网站

深圳是中国最具活力和创新力的城市之一,也是全球网站建设行业蓬勃发展的重要市场之一。随着信息科技的不断发展和互联网的普及,越来越多的企业和个人意识到了建立网站的重要性,通过网站可以为企业带来更多的业务机会和营销渠道。 建立一个优质…

23种设计模式之组合模式

组合模式 1、定义 组合模式:组合多个对象形成树状结构以表示具有部分-整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象 2、组合模式结构 Component(抽象构件):可以是接口或抽象类,为叶子构件…

【Unity】RPG2D龙城纷争(二)关卡、地块

更新日期:2024年6月12日。 项目源码:在第四章发布 索引 简介地块(Block)一、定义地块类二、地块类型三、地块渲染四、地块索引 关卡(Level)一、定义关卡类二、关卡基础属性三、地块集合四、关卡初始化五、关…

CorelDRAW 2024开启设计新纪元,终身永久版与中文破解版的全面解析及安装攻略

当我们谈论图形设计软件时,CorelDRAW无疑是一个响亮的名字。作为一款强大的矢量图形编辑工具,它以其丰富的功能和用户友好的界面赢得了全球设计师的喜爱。随着CorelDRAW 2024的发布,这个备受瞩目的版本带来了前所未有的创新特性,进…

Linux基础IO【II】

今天,我们接着在上一篇文章的基础上,继续学习基础IO。观看本文章之前,建议先看:Linux基础IO【I】,那,我们就开始吧! 一.文件描述符 1.重新理解文件 文件操作的本质:进程和被打开文件…

【网络编程】套接字类型与协议设置

协议&#xff1a;计算机对话的通信规则&#xff0c;简而言之是为了完成数据交换而定好的约定。 #include<sys/socket.h> int socket(int domain, int type,int protocol); //domian使用的协议族信息&#xff0c;type传输类型&#xff0c;protocol计算机间通信使用的协议…

苹果WWDC重磅发布的IOS 18、Apple Intelligence背后的技术分析!

2024年6月10日&#xff0c;在2024年WWDC全球开发者大会上&#xff0c;苹果推出了Apple Intelligence&#xff0c;这是深度集成到iOS 18、iPadOS 18和macOS Sequoia中的个人智能系统。 为了让大模型能在 iPhone 端侧跑&#xff0c;苹果还是做了很多事情的。接下来就跟大家介绍一…

使用Java进行网络采集:代理IP与参数传递详解

在Java编程语言中&#xff0c;参数传递机制是一个常见的讨论话题。理解这一点对于编写高效且无错误的Java代码至关重要。本文将探讨Java的参数传递机制&#xff0c;解析其究竟是“按引用传递”还是“按值传递”&#xff0c;并结合网络爬虫技术的实例&#xff0c;展示如何在实际…

7 款便捷好用的AI API

AI API&#xff08;人工智能应用程序接口&#xff09;是一种软件中间件&#xff0c;它允许开发者和企业通过编程方式访问和集成人工智能服务到他们自己的应用程序、网站或系统中。AI API通常由专业的AI服务提供商开发和维护&#xff0c;使得用户无需深入了解复杂的AI算法和模型…

UML相关1

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

【强化学习】gymnasium自定义环境并封装学习笔记

【强化学习】gymnasium自定义环境并封装学习笔记 gym与gymnasium简介gymgymnasium gymnasium的基本使用方法使用gymnasium封装自定义环境官方示例及代码编写环境文件__init__()方法reset()方法step()方法render()方法close()方法 注册环境创建包 Package&#xff08;最后一步&a…

【QT5】<知识点> QT常用知识(更新中)

目录 一、更改文本颜色和格式 二、QT容器类 三、字符串与整数、浮点数之间的转换 四、QString常用功能 五、SpinBox的属性介绍 六、滑动、滚动、进度条和表盘LCD 七、时间、日期、定时器 一、更改文本颜色和格式 动态设置字体粗体&#xff1a;QFont对象的setBold方法动态…

Yapi代码执行 waf绕过实战记录

本文记录了2021年一次有趣的客户目标测试实战。这次经历颇为特别&#xff0c;因此我将其整理成笔记&#xff0c;并在此分享&#xff0c;希望对大家有所帮助。 事件起因 疫情在家办公&#xff0c;准备开始划水的一天&#xff0c;这时接到 boss 的电话说要做项目&#xff0c;老…

微调技术:人工智能领域的神奇钥匙

在人工智能的浪潮中&#xff0c;深度学习技术凭借其强大的数据处理和学习能力&#xff0c;已成为推动科技进步的重要引擎。然而&#xff0c;深度学习模型的训练往往需要大量的数据和计算资源&#xff0c;这在某些特定场景下成为了限制其发展的瓶颈。为了解决这个问题&#xff0…