【LLM之KG】CoK论文阅读笔记

研究背景

大规模语言模型(LLMs)在许多自然语言处理(NLP)任务中取得了显著进展,特别是在零样本/少样本学习(In-Context Learning, ICL)方面。ICL不需要更新模型参数,只需利用几个标注示例就可以生成预测。然而,现有的ICL和链式思维(Chain-of-Thought, CoT)方法在复杂推理任务上仍存在生成的推理链常常伴随错误的问题,导致不真实和不可靠的推理结果。

研究目标

本研究提出了一种新的链式知识(Chain-of-Knowledge, CoK)提示方法,通过引导LLMs生成明确的知识证据来提高推理能力。具体来说,CoK提示由证据三元组(CoK-ET)和解释提示(CoK-EH)组成,旨在生成明确的知识证据和解释,以支持逐步思考过程。同时,引入了F2验证方法来评估推理链的真实性和可靠性。

相关工作

在上下文学习(ICL)方面,已有研究探索了多种影响ICL效果的因素,如输入输出映射和模板格式。链式思维(CoT)提示方法被提出用于增强推理,通过生成中间推理步骤来指导LLMs生成可靠的响应。为了进一步提高推理能力,研究人员提出了多种基于CoT的方法,包括自一致性、思维程序和验证方法等。

方法论

数据处理

在示例构建过程中,首先随机选择多个带标签的示例,并使用零样本CoT方法生成文本推理链。然后,从预构建的知识库中检索相关的知识三元组,并邀请专家对其进行人工注释,以形成结构化的证据三元组。

解决方案

提出的CoK提示方法包括两部分:证据三元组(CoK-ET)和解释提示(CoK-EH)。CoK-ET表示多个三元组的列表,每个三元组代表从LLM中提取的知识证据,支持逐步思考过程。CoK-EH表示推理链的解释,与传统的CoT相似。此外,设计了F2验证策略,用于评估推理链的真实性和可靠性,并通过重新思考过程来修正错误的证据。
在这里插入图片描述
举个例子:
用户输入:下面这句话有道理吗?“德里克·怀特反手击球“。

Cok思考链路:
先生成证据三元组:
证据1:(德里克·怀特,职业,篮球运动员)
证据2: (反手击球,常用于,曲棍球或网球)

再生成解释提示:
反手击球通常用于曲棍球或网球,而不是篮球。

根据证据三元组和解释提示,生成初步答案:
A: “No.”

F2验证:
事实性验证(Factuality Verification):
验证生成的证据三元组是否与真实知识库(KB)中的知识匹配。
例如,验证(德里克·怀特,职业,篮球运动员)、(反手击球,常用于,曲棍球或网球)是否在知识库中存在。

忠实性验证(Faithfulness Verification):验证推理过程和最终答案的解释是否一致。
使用预构建的句子编码器(例如SimCSE)计算解释提示和推理过程的相似性分数。

重新思考:
如果初步答案的可靠性分数低于阈值(θ),则通过重新生成和修正错误的证据三元组来提高答案的可靠性。
例如,错误的证据三元组会被标记并替换为正确的知识三元组,再次生成新的解释提示和答案。

最终,模型输出经过F2验证和重新思考过程后,生成的最终答案为:
A: “No.”

实验

实验设计

实验选择了五种不同类型的任务来评估方法的性能,包括常识与事实推理、算术推理和符号推理。具体任务包括CommonsenseQA(CSQA)、StrategyQA、OpenBookQA、AI2推理挑战(ARC-c)、体育理解和BoolQ等。
在这里插入图片描述
对比模型包括zero-shot、few-shot、Chain of thought、Zero-shot-CoT、Mannual-shot-Cot、Auto-CoT等多个。

实验结论

实验结果表明,CoK提示方法在多个任务上显著优于标准的ICL和CoT提示方法,特别是在常识和事实推理、符号推理和算术推理任务上。通过F2验证和重新思考过程,进一步提高了推理链的可靠性和准确性。这表明,明确的证据三元组和解释提示能够显著提升LLMs的推理能力。

参考资料

  • 论文

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

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

相关文章

如何实现流程编排能力的方案解决

解决方法 一、流程编排能力的实现 1. 使用工作流引擎:项目中使用成熟的工作流引擎(如Activiti、Camunda、BPM等)来实现流程编排。这些引擎提供了丰富的API和可视化的流程设计工具,可以方便地定义、修改和部署业务流程。 2. 定义…

Docker多种场景下设置代理

20240623 - 公司内网环境下需要对Docker进行代理设置;此时需要对拉取镜像的时候的命令设置代理;例如平时经常使用的wget设置代理一样。但对docker进行设置,并不能简单的直接export。 文章[1]指出,拉取镜像的时候实际执行的是doc…

网站监控定时计划任务

网站监控是一种保护网站安全和稳定性的重要手段,而定时计划任务则是网站监控的一种常见方法。通过设置定时计划任务,可以定期对网站进行监测和检测,及时发现并解决潜在的问题,从而保障网站的正常运行。 首先,网站监控定…

卧槽,6。套死你猴子,Tomcat访问html页面显示源码?

卧槽,6。Tomcat访问html页面显示源码? 元凶text/explain //踩坑!!!不能用 servletResponse.setContentType("text/explain,否则访问html会看到源码,而不是渲染页面; charsetUTF-8"…

WHAT - NextJS 系列之 Rendering - Server Rendering Strategies

目录 1. Static Rendering(静态渲染)特点:实现方式: 2. Dynamic Rendering(动态渲染)特点:实现方式: 3. Streaming Rendering(流式渲染)特点:实现…

通过ESP32读取I2C温湿度传感器项目:协议与代码实例

简介 在本项目中,我们将使用ESP32开发板读取I2C温湿度传感器的数据。我们将详细介绍I2C协议,并提供图文并茂的代码实例,帮助你快速上手。 项目流程 选择硬件:ESP32开发板、I2C温湿度传感器(如DHT12、HTU21D、SHT30等&a…

硬盘数据恢复软件,推荐5种适合你的方法来恢复硬盘数据

硬盘数据恢复软件,作为解决数据丢失问题的关键工具,帮助用户在重要文件丢失时迅速找回数据。本教程介绍5种恢复实用硬盘数据方法,适应不同类型和严重程度的数据损坏情况。 文章摘要: 一. 硬盘数据恢复软件 二. 数据恢复原理 三. …

在Qt5中创建、读取和写入JSON文件的完整指南

Qt5 提供了一个非常方便的JSON解析器,使得在C++中处理JSON数据变得非常简单。本文将详细介绍如何在Qt5中创建、读取和写入JSON文件。 读取JSON文件的示例 假设我们有一个名为test.json的JSON文件,内容如下: {"appDesc": {"description": "SomeD…

LED显示屏的换帧频率与刷新频率:技术细节与市场发展

在当今数字化时代,LED显示屏已成为信息传递和广告宣传的重要工具。然而,对于普通消费者来说,LED显示屏背后的技术细节可能仍然是一个谜。今天,我们将深入探讨LED显示屏中的两个关键概念:换帧频率和刷新频率&#xff0c…

分布式锁实现方案

分布式锁 1 什么是分布式锁 ​ 就是在分布式环境下,保证某个公共资源只能在同一时间被多进程应用的某个进程的某一个线程访问时使用锁。 2 几个使用场景分析 一段代码同一时间只能被同一个不同进程的一个线程执行 库存超卖 (库存被减到 负数),上面案…

预训练是什么?

预训练是什么? 图像领域的预训练 在介绍图像领域的预训练之前,我们首先介绍下卷积神经网络(CNN),CNN 一般用于图片分类任务,并且CNN 由多个层级结构组成,不同层学到的图像特征也不同&#xff…

【C++】Cmake入门|掌握cmake的基本操作

前言: CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用&am…

【科学计算与可视化】2. pandas 基础

1. 安装 Pandas 首先,确保你已经安装了 Pandas。你可以使用以下命令安装:pip install pandas 2. 导入 Pandas 在开始使用 Pandas 之前,你需要先导入它:import pandas as pd 3. 创建数据结构 Pandas 主要有两种数据结构&#…

基于动力学的六自由度机器人阻抗恒力跟踪控制

1.整个代码的控制流程图如下: 2.正逆运动学计算 略 3.动力学模型 采用拉格朗日法计算机械臂的动力学模型,其输入的是机械臂的关节角度、角速度和角加速度;其中M、C、G本别是计算的惯性力、科式力和重力项,相关部分如下&#xf…

JavaScript的学习之运算符

目录 一、运算符的介绍 二、算数运算符 三、一元运算符 一、运算符的介绍 运算符也称操作符,通过运算符可以对一个或者多个值进行运算,并获得结果 比如:typeof就是运算符,可以获得一个值的类型,它会将改值的类型以字…

Android SurfaceFlinger——HWC图层合成器加载(四)

在前面文章中的 Android.bp 文件中,我们可以看到里面加载了图层合成器和图形内存分配器的 HAL 服务,这里篇我们就来详细介绍一下其中的图层合成器——HWC。 一、HWC简介 HWC,全称为 Hardware Composer,是 Android 系统中一个至关重要的组件,位于硬件抽象层(HAL)。它的主…

JavaScript 中并发任务控制

目录 并发控制简介 并发控制的实现 asyncPool 的使用 功能 asyncPool ES9 实现 从 1.x 迁移 asyncPool ES9 为什么只用 Promise.race 而不用 Promise.all Promise.all的作用 Promise.race的作用 为什么这里没有使用Promise.all 总结 手写Promise.all和Promise.race…

自学前端——HTML篇

HTML标签 ’HTML‘全程是‘hypertext Markup langage(超文本标记语言) HTML通过一系列的’标签(也称为元素)‘来定义文本、图像、链接。HTML标签是由尖括号包围的关键字。 标签通常成对存在,包括开始标签和结束标签(也称为双标签…

ModbusTcp和ModbusRtu协议

1、功能码的通信格式modbus rtu (1)读设备的寄存器(保持寄存器): 计算机发送命令:[设备地址] [命令号03] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位] 例:[01][03][00][00][00][10][CRC低][CRC高] 意义如下: &l…

安卓中使用ttf字体文件

官方文档中提供的方法要设备能访问google? 官方方法 直接下载字体的fft文件 我要使用的是lexend 需要的格式可以在里面搜索 使用下载的ttf文件 解压出来 可以单独使用static里面的,里面是直接的lexend的各种格式 但是我这里直接使用Lexend-Vari…