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

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 网站。

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 13:24:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 13:24:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 13:24:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 13:24:02       20 阅读

热门阅读

  1. SQL server 2008 不支持LAG函数

    2024-04-03 13:24:02       11 阅读
  2. thinkphp漏洞复现

    2024-04-03 13:24:02       12 阅读
  3. pytorch中的while for 循环 导出onnx的问题

    2024-04-03 13:24:02       16 阅读
  4. docker安装nodejs

    2024-04-03 13:24:02       11 阅读
  5. Vue父子组件通信代码示例

    2024-04-03 13:24:02       14 阅读
  6. CachedNetworkImage 在listview 返回页面闪烁问题

    2024-04-03 13:24:02       12 阅读
  7. @QtCore.pyqtSlot() 的用法

    2024-04-03 13:24:02       13 阅读
  8. 排队接水水水水水水

    2024-04-03 13:24:02       12 阅读
  9. kafka broker

    2024-04-03 13:24:02       9 阅读
  10. go root和go path

    2024-04-03 13:24:02       13 阅读
  11. 软件设计原则:组合/聚合复用原则

    2024-04-03 13:24:02       13 阅读