论文浅尝 | cTBLS:使用对话表格增强大型语言模型

news2024/10/5 23:31:12

bb6cee286be5af600a27f128d7f844cd.png

笔记整理:金日辉,东南大学硕士,研究方向为表格模态数据相关的处理任务

链接:https://arxiv.org/pdf/2303.12024.pdf

1、动机

让人工智能对话具备多模态能力,可以拓宽人类与此类系统的对话范围。多模态会话人工智能面临的一个长期挑战是:如何开发出能以文本和非文本模态为基础做出会话一致性回应的系统(Sundar 和 Heck,2022 年)。最近的研究(Roberts 等人,2020;Heinzerling 和 Inui,2021)表明,大型语言模型(LLMs)的参数中存储有真实世界的知识,这一点已得到公认。然而,将特定对话的外在知识纳入这些模型以产生精确的反应仍是一个积极的研究领域。人类可以通过检查行和列轻松检索表格中的上下文信息,而 LLMs 却常常在对话干扰中难以识别相关信息。不过, 以往的研究将编码器和解码器模型之间的知识检索和响应生成分离开来,而本文则证明,当语言模型编码器对知识源进行排序时,LLM 解码器可以联合执行这些任务。此外,通过预先训练 "密集表检索器 "在表语料库中执行检索,cTBLS 可以通过在语料库中添加其他知识,扩展到新的知识源,而无需重新训练。

2、动献

本文的主要贡献包括:

1.提出一个新的框架,取名为cTBLS,这是一种新颖的三步编码器-解码器架构,旨在用会话环境中的表格数据增强 LLM。

2.实验结果表明,利用表格信息的摘要去微调模型的密集表格检索(Dense Table Retrieval)技术优于基于关键字匹配的稀疏表格检索技术。

3.提出证据证明,使用编码器语言模型排序的知识源增强最先进的 LLM 解码器,可在自动(ROUGE-精确度)和人工(连贯性、流畅性和信息量)评估中为基于知识的响应生成带来更好的结果,同时降低了对这些模型的 API 调用次数。具体来说, 在 HYRBIDIALOGUE 数据集上比之前最先进系统中的检索器相对提高了 125%、单元)排序,并结合 GPT-3.5 LLM 响应生成器,从而将 ROUGE 分数相对提高 2 倍。最后,人类评估者在 80% 的情况下更喜欢 cTBLs(连贯性、流畅性),并认为其信息量。

3、任务介绍&方法

任务介绍如下图所示:

f977f9111d0579d6a478607a935da5a5.png

图1 任务流程介绍

整个方法框架分成三步走:表格检索、系统状态跟踪和响应生成。

  • 表格检索要求根据给定的自然语言查询在数据集中找出最相关的表格。

  • 系统状态跟踪负责对表格中的单元格进行排序,使系统能够对有关表格的后续查询做出响应。

  • 生成响应包括将已排序的单元格转换为自然语言响应。

6975d4d4a0323f7cbb66f0ce8980fcbe.png

图2 密集表检索可识别与初始查询最相关的表

检索出的表格将提供给状态跟踪器,用于后续查询。状态跟踪会根据单元格回答后续查询的能力对表格中的单元格进行排序。响应生成利用 LLM 解码器提供的排序单元信息和后续查询,将表格数据转换为自然语言响应,并继续对话。

表格检索:

cTBLS 建议将表格检索作为文档检索,根据每个表格与自然语言查询的相关性为其分配相关性分数。受前任研究的启发,cTBLS 采用了基于双编码器的密集表检索(DTR)模型。DTR 模型会预先计算语料库中所有表的矢量化嵌入。在推理时给定一个查询,检索到的表在嵌入空间中最接近查询,如图 2左上部分所示。

DTR 模型由表格编码器和问题编码器组成,从 RoBERTa-base初始化。表格编码器的输入包括表格的标题以及与表格相关的文本信息(如果有的话)。DTR 模型通过对比预测任务进行优化,其目的是在 i = 1, ... , N 的情况下,最大化给定查询 q 与待检索表 τ 的嵌入之间的相似性。 根据相似性是否超过一定阈值作为正样本或者负样本的一个判定标准。

系统状态跟踪:

给定一个表格后,系统状态跟踪需要根据表格中单元格与对话查询的相关性对其进行排序。与问答相比,会话查询需要利用外部模态信息和先前的对话回合来生成连贯的回复。cTBLS 通过两个子任务--粗系统状态跟踪和细系统状态跟踪--来解决系统状态跟踪问题。粗系统状态跟踪会对表格中的单元格进行排序,而细系统状态跟踪则会识别与回答查询最相关的单元格中的细粒度信息。

cTBLS 采用基于 RoBERTa 的双编码器架构进行粗系统状态跟踪。单元编码器嵌入所有单元和相关的超链接信息,而问题编码器则生成对话历史的嵌入,其中包括当前回合的查询以及之前的查询和回复。

响应生成:

与粗略的系统状态跟踪不同,精细的系统状态跟踪是从一个排序子集中识别出回答查询的准确短语。

提取出的短语会被转换成与对话上下文一致的自然语言回复。 cTBLS 采用 GPT-3.5来联合执行精细系统状态跟踪和回复生成。GPT-3.5 根据从粗略状态跟踪器中获得的与查询相关性排序的表格单元格为后续查询生成自然语言回复。提示包括对话历史、排序的知识源和要回答的查询。图 2 右下方概述了这一过程。

4、实验

使用的数据集:

HYBRIDIALOGUE 数据集包括 4800 个以维基百科中的文本和表格信息为基础的自然语言对话。众包工作者将 OTT-QA 数据集中的多跳问题分解为与表格数据相关的自然问题和对话回复。数据集中的对话平均由 4-5 个对话回合组成,数据集中共有 21,070 个对话回合。

实验结果:

af7d413c474fde3a335fac6e5a26668d.png

表 1:BM25 与 cTBLS用到的稠密表格检索器 在对话第一轮检索中的对比,HYBRIDIALOGUE 测试数据集上的结果。cTBLS-DTR 比稀疏表检索的相对改进高达 125%。

43cd4854617b17f5c176bfdf71d74faa.png

表 2:在 HYBRIDIALOGUE 上的系统状态跟踪结果。cTBLS 在 SQA 上实现了与 TaPaS 几乎相同的 Mean Reciprocal Rank@ 10,而无需额外的表格预训练。

ed8b8f853704ec0d03c186905c5c863a.png

表3:关于自动评估指标 ROUGE-1、ROUGE-2 和 ROUGE-L 精度的消融研究。在 DialoGPT 和 GPT3.5 中,使用密集表检索 (DTR) 比使用 BM25 检索 Top-1 和 Top-3 知识源的结果更好。此外,对于 DialoGPT 和 GPT3.5,同时使用两种表检索方法,使用 Top-3 知识源的结果比仅使用 Top-1 知识源的结果更好。cTBLS 无知识(NoK)、Top1 知识、Top-3 知识和 HYBRIDIALOGUE 使用地面实况表检索。TR:表格检索,KR:知识检索,RG:响应生成。

为了深入了解 cTBLS,我们使用 Nakamura 等人(2022 年)提出的指标(即连贯性、流畅性和信息量)进行了人工评估。为了评估这些指标,我们从 Amazon Mechanical Turk (AMT) 招募了人群工作者来评估 50%的测试数据。评估过程包括对 HYBRIDIALOGUE 和 cTBLS Top-3 生成的回答进行比较。

3c6b35a1440eb7036e62b1631aaa7f42.png

表4:人工评估指标--模型响应在语义上等同于地面实况响应的案例比例。使用更多的知识源可获得信息量更大的响应,有助于减少幻觉。

5bde77e73e1be435c8fa88e8f138af8a.png

表 5:连贯性和流畅性 - cTBLS Top-3 在 84.2% 的时间内比表现最好的HYBRIDIALOGUE 系统会话更连贯,在 82.7% 的时间内比HYBRIDIALOGUE 系统更流畅。

5、总结

在本文中,作者介绍了cTBLS,这是一个旨在处理以表格数据为基础的多轮对话的系统。cTBLS 将表格对话分为三个不同的任务,即表格检索、系统状态跟踪和响应生成。在 HYBRIDIALOGUE 数据集上,cTBLS 的密集表格检索系统在 Top-1 准确率和Mean Reciprocal Rank @ 10 方面比基于关键词匹配的技术提高了 125%。此外,cTBLS 利用编码器和解码器模型共享的两步流程进行系统状态跟踪。这种方法使自然语言响应的 ROUGE 分数相对提高了 2 倍。人工评估人员对 cTBLS 的支持率为 +80%(连贯性和流畅性),对信息量的判断是以前最先进技术的 4 倍。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

147585ae76e71a666beeb7f42bfd5d37.png

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

【Linux】查看某个进程的tcp全连接队列长度

TCP三次握手成功后,会把连接放到全连接队列里,等待服务器端accept后移除。 如下图所示,图片转自:https://zhuanlan.zhihu.com/p/547279481 下图转自博客:https://zhuanlan.zhihu.com/p/340016138 TCP三次握手过程中,第一次握手server收到client的syn后,内核会把该连接存…

面向C++程序员的Rust教程(二)

先序文章请看: 面向C程序员的Rust教程(一) 所有权与移动语义 要说Rust语言跟其他语言最大的区别,那笔者觉得非数这个所有权和移动语义莫属。 深浅复制 对于绝大多数语言来说,变量/对象之间的赋值通常都是复制语义。…

Spring中BeanFactoryPostProcessor详解

目录 功能与作用 使用案例 spring提供的常见BeanFactoryPostProcessor 1.EventListenerMethodProcessor 2.BeanDefinitionRegistryPostProcessor 功能与作用 使用案例 spring提供的唯一BeanDefinitionRegistryPostProcessor 总结 功能与作用 参考BeanFactoryPostProce…

Kaggle:收入分类

先看一下数据的统计信息 import pandas as pd # 加载数据(保留原路径,但在实际应用中建议使用相对路径或环境变量) data pd.read_csv(r"C:\Users\11794\Desktop\收入分类\training.csv", encodingutf-8, encoding_errorsrepl…

蓝桥杯练习笔记(十六)

蓝桥杯练习笔记(十六) 一、 输入示例: 3 1 2 1 11 3 4 74 5 3这是用到了m叉树的结论:对于某个m叉树的一个节点n,假如其有完整子树,则其左子节点l为l(n-1)m2,右子节点r为rmn1。基于此我们可以快…

SpringBoot+thymeleaf完成视频记忆播放功能

一、背景 1)客户要做一个视频播放功能,要求是系统能够记录观看人员在看视频时能够记录看到了哪个位置,在下次观看视频的时候能够从该位置进行播放。 2)同时,也要能够记录是谁看了视频,看了百分之多少。 说明:由于时间关系和篇幅原因,我们这里只先讨论第一个要求,第…

如何使用极狐GitLab 启用自动备份功能

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了如何极狐GitLab 自…

【面试八股总结】传输控制协议TCP(三)

参考资料 :小林Coding、阿秀、代码随想录 一、TCP拥塞控制⭐ 1. 慢启动 – Slow Start 慢启动是指TCP连接刚建立,一点一点地提速,试探一下网络的承受能力,以免直接扰乱了网络通道的秩序。 慢启动算法: 初始拥塞窗口…

IDEA中连接SQLserver数据库(DataGrip相同连接)

IDEA中连接SQLserver数据库(DataGrip相同连接) 1. 打开IDEA-database组件 2. 新建SQL server连接 3. 填写信息进行连接 填写连接名称,连接主机IP,端口,默认端口1433,数据库用户名密码,默认数据库用户名是sa 第一次连接…

CMakeLists.txt编写简单介绍:CMakeLists.txt同时编译.cpp和.cu

关于CMakeLists.txt的相关介绍,这里不赘诉,本人的出发点是借助于CMakeLists.txt掌握基本的C++构建项目流程,下面是本人根据网络资料以及个人实践掌握的资料。 CMakeList.txt构建C++项目 下图是一个使用CUDA实现hello world的项目,一般来说,一个标准的C++项目包括三个文件…

nginx | nginx反向代理/负载均衡/缓存

文章目录 一、Nginx 反向代理1.1 nginx 文件结构1.2 默认的nginx配置文件1.3 实践中的 nginx.conf 二、Nginx 负载均衡2.1 热备负载均衡2.2 轮询负责均衡2.3 加权轮询负载规则2.4 ip_hash 负载均衡2.5 对特定资源实现负载均衡2.6 对不同域名实现负载均衡2.7 实现带有URL重写的负…

探索 ZKFair 的Dargon Slayer蓝图,解锁新阶段的潜力

在当前区块链技术的发展中,Layer 2(L2)解决方案已成为提高区块链扩容性、降低交易成本和提升交易速度的关键技术,但它仍面临一些关键问题和挑战,例如用户体验的改进、跨链互操作性、安全性以及去中心化程度。在这些背景…

【已解决】Error: error:0308010C:digital envelope routines::unsupported

前言 场景🎬 使用 Ant Design , 执行 npm run dev 出现异常。 文章目录 前言场景🎬 异常信息解决方案方案一(推荐)MAC | Linux 电脑成功⬇️ Windows 电脑 方案2: 不懂留言 JavaPub 异常信息 我直接异常信息,你可以…

关于C#操作SQLite数据库的一些函数封装

主要功能:增删改查、自定义SQL执行、批量执行(事务)、防SQL注入、异常处理 1.NuGet中安装System.Data.SQLite 2.SQLiteHelper的封装: using System; using System.Collections.Generic; using System.Data.SQLite; using System.…

Linux提权!!!

上一篇文章讲了Windows的提权,那么这篇文章就来讲一下Linux的提权 1.SUID提权 suid权限 作用:让普通用户临时拥有该文件的属主的执行权限,suid权限只能应用在二进制可执行文件(命令)上,而且suid权限只能设置…

【前端面试3+1】09 ES6新特性、Promise原理 、浏览器从输入到页面渲染的过程、【罗马数字转整数】

一、ES6新特性 ES6(ECMAScript 2015)是JavaScript的一个重要更新版本,引入了许多新特性和语法改进,下面详细说明一些主要的新特性: 1. let 和 const 声明: 使用let和const关键字可以声明块级作用域的变量&a…

Go-Gin中优雅的实现参数校验,自定义错误消息提示

问题描述 在参数校验的时候我们一般会基于"github.com/go-playground/validator/v10"这个库给结构体加标签实现校验参数,当参数校验错误的时候,他的提示一般是英文的,怎么自定义参数错误提示呢?跟着我一步步来 注册校…

集合的学习

为什么要有集合:集合会自动扩容 集合不能存基本数据类型(基本数据类型是存放真实的值,而引用数据类型是存放一个地址,这个地址存放在栈区,地址所指向的内容存放在堆区) 数组和集合的对比: 集…

什么是js、ajax

1.什么是js JavaScript(简称 JS)是一种轻量级、解释型的编程语言,通常用于在 Web 页面上添加交互性、动态性和动画效果。它是世界上最流行的编程语言之一,也是唯一一种可以在 Web 浏览器中运行的编程语言。 2.什么是AJAX ajax…

华为审核被拒提示: 您的应用存在(最近任务列表隐藏风险活动)的行为,不符合华为应用市场审核标准

应用审核意见: 您的应用存在(最近任务列表隐藏风险活动)的行为,不符合华为应用市场审核标准。 修改建议:请参考测试结果进行修改。 请参考《审核指南》第2.19相关审核要求:https://developer.huawei.com/c…