[论文浅谈] Can ChatGPT Replace Traditional KBQA Models?

news2024/11/30 8:49:50

一 背景意义

ChatGPT是一款强大的大型语言模型(LLM),它通过学习大量文本数据,包括维基百科等知识资源,使其具备广泛的自然语言理解能力。ChatGPT通过利用自己的知识展示强大的问答能力使人们对于探索ChatGPT是否能够替代传统的基于知识的问答(KBQA)模型越发产生兴趣。虽然已经有一些研究关注ChatGPT的问答性能,但仍然缺乏对各种类型的复杂问题进行大规模全面的测试来分析模型的局限性

本文基于此背景下,提出了一个基于CheckList的黑盒测试规范的框架。文中在八个基于知识库的真实世界的复杂问答数据集上评估了ChatGPT及其LLM家族,其中包括六个英语数据集和两个多语言数据集。测试用例的总数约为190000个。除了LLM的GPT家族外,还评估了众所周知的FLAN-T5,以确定GPT家族与其他LLM之间的共性

二 国内外研究现状

目前,有大量的国内外研究学者对ChatGPT进行了许多评估,其中一些评估包括对问答任务的测试,并得出了以下结论:例如,有研究发现在200个问题的测试集上,ChatGPT的稳定性低于传统的KBQA模型,还有其他学者在分析了30个样本后,发现ChatGPT是一个“懒惰推理者”,更容易受到诱导。然而,由于测试用例的数量有限,很难根据这些发现对ChatGPT在KBQA任务上的性能进行全面评估。

此外,以上发现的可靠性还需要进一步的验证测试。本文提出,答案评估的困难是现有作品没有在ChatGPT上进行大规模KBQA测试的主要原因,ChatGPT输出包含答案而不是确切答案的句子或段落。此外,由于生成的文本上下文的影响,ChatGPT的答案序列可能不一定严格对应于知识库中的实体名称。因此,传统的精确匹配(EM)度量不能直接评估用于问答的ChatGPT的输出。因此,上述大多数工作都依赖于人工评估。

三 整体架构

整体评价框架

本文中选择了基于知识库的复杂问题回答(KB-based CQA)任务来综合评估LLM基于自身知识回答复杂问题的能力。该任务要求模型使用组合推理来获得问题的答案,包括多跳推理、属性比较、集合运算和其他复杂推理。本文通过评估ChatGPT在复杂知识问答中的表现来帮助了解现有的LLM是否有潜力超越传统的KBQA模型,或者ChatGPT是否已经能够取代当前最好的KBQA模型。其中提出的评估框架由两部分组成:

(1)针对测试中涉及的KBQA数据集,建立了特征驱动的统一标注方法;

(2)对LLM生成的答案的评估。受HELM框架中使用多个场景标签评估语言模型的方法的启发,本文用统一的答案类型、推理类型和语言类型标签标记每个测试问题。

在答案评估部分,文中首先改进了精确匹配(EM)方法,使其可以用于评估LLM输出的准确性。主要过程是通过组成树从LLM输出中提取潜在的答案短语作为候选答案库,然后将其与维基数据提供的注释答案和别名形成的参考答案库进行匹配。

此外,本文遵循CheckList测试规范并设置三个测试:最小功能测试(MFT)不变性检验(INV)和方向期望检验(DIR)。MFT检查模型的基本功能,INV检查在输入中添加不影响回答的信息时模型是否能够保持功能正确性,DIR检查在修改输入时模型是否能输出预期结果。此外,文中遵循CheckList的思想,并使用CoT提示为DIR生成测试用例。

四 具体工作

4.1特征驱动的统一问题标注

本文收集了多个现有的基于知识库的CQA数据集进行评估。然而,由于每个数据集中用于答案和推理类型等特征的注释规则不同,因此建立一组标准化、统一的问题特征标签来评估和分析问题类型。参考现有KBQA数据集提供的问题标签,文中将复杂问题特征的标签分为三种类型,包括答案类型、推理类型和语言类型。

对于输入问题,文中采用了如下的标记过程如下:当数据集提供问题类型标签时,我们只需将它们与我们的特征标签列表进行匹配。当没有提供标签时,我们使用现有的基于bert的NER模型来识别答案的类型,并使用SPARQL中的关键字来识别推理的类型。

4.2答案评估

传统KBQA模型的输出通常采用两种形式:SPARQL查询或确切答案。其评估策略基于精确匹配(EM),然而,LLM如果没有添加额外的提示会生成包含答案的文本段落而非精确答案。因此本文提出了拓展答案匹配。

4.2.1 拓展答案匹配

为获取类似精确匹配的LLMs的KBQA输出的评估结果,文中提出扩展答案匹配方法。该方法由三个主要部分组成:

  1. 使用构成树分析LLM的输出,提取NP或VP根节点短语作为候选答案池。
  2. 使用从Wikidata获取的多语言别名来扩展每个参考答案。
  3. 使用m-bert计算参考答案和候选答案之间的最大余弦相似度,进行精确匹配评估,并仅将模糊匹配策略应用于非“NUM,DATE,Boolean”答案类型。
4.2.2阈值选择和敏感性分析

此外,仅使用EM评估答案(阀值 = 1)可能导致平均3.89%的假负例。文中采用一种基于余弦相似度的模糊匹配过程通过3000个模糊匹配问题的测试,确定阈值为0.78,六个大型语言模型的平均错误率最小化。在此阈值下,准确性趋于稳定,将平均错误率从3.89%减至2.71%。

4.3 CheckList测试框架

基本功能测试(MFT):选择通过仅包含涉及单一推理操作的问题来检查LLMs执行基本推理任务的性能。通过与执行多个推理操作的问题的性能差异进行比较。

不变性测试(INV):文中设计了两种方法为INV生成测试用例:第一种方法是在原始句子中随机引入拼写错误;第二种方法是生成一个与原始句子语义等价(改述)的问题。通过输出答案进行评估。

定向预期测试(DIR):文中为DIR测试用例设计了三种模式:(1) 替换与问题中的推理操作相关的短语,观察LLMs的输出。 (2) 在原始问题文本后添加带有答案类型的提示,检查LLMs输出的答案类型。 (3) 使用受CoT启发的多轮提问,观察CoT提示对不同问题类型的性能。

五 实验

5.1数据集

本文选择了六个具有代表性的英语单语KBQA数据集和两个多语言KBQA数据集中进行评估。这些数据集包括WebQuestionSP、ComplexWebQuestions、GraphQ和QALD-9等经典数据集,以及KQApro、GrailQA和MKQA等新提出的数据集。

5.2模型比较

在本文中,我们从KBQA排行榜中引入了当前SOTA模型的报告分数,作为传统KBQA模型进行比较。

5.3大语言模型

在这篇文章中比较了GPT家族模型,包括GPT-3, GPT-3.5 v2, GPT-3.5 v3, ChatGPT (它们在OpenAI的模型索引文档上的名称是:text-davinci-001, text-davinci-002, text-davinci-003, gpt3.5-turbo-0301) 和GPT-4。此外,还选择了不属于GPT家族的大型语言模型:FLAN-T5。

5.4结果

首先,ChatGPT在八个测试集中的三个上超越了当前的SOTA传统模型,而随后发布的GPT-4在四个测试集上超越了当前的SOTA传统模型。

通过比较GPT-4和SOTA模型的性能,我们可以看到,作为GPT家族代表的LLMs,它们的零样本能力正在不断接近甚至超越传统的深度学习和知识表示模型。

其次,比较GPT家族中的模型,新模型的性能如预期般优于前一代。FLAN-T5性能较弱但与GPT家族线性相近,表明基于transformer的架构导致了当前LLMs能力的共性。

基于MKQA和QALD-9的结果,文中指出尽管随着GPT家族持续迭代,模型回答不同语言问题的能力也在上升,但GPT-4在四种语言上均未超过ChatGPT。这表明GPT的多语言能力的演变可能开始放缓。并且这种变化的很有可能是因为GPT-4引入了多模-态数据。

MFT 结果:在 MFT 测试中发现:(1) 除了多跳和星形问题外,ChatGPT 在执行其他类型的推理操作时,多重推理的执行能力优于单一推理。(2) 尽管通过多重推理生成了改进,但 ChatGPT 在回答计数问题上并不擅长。

INV 结果:从 GPT-3 到 GPT-4,GPT 模型的整体稳定性有所提高,GPT-4 的稳定性率达到了 91.70,与传统 KBQA 模型非常接近。ChatGPT 的稳定性略低于 GPT-3.5。

DIR 结果:在第一种模式中,我们采用手动观察的方法观察模型输出,结果发现即使是最新的 GPT 模型在执行推理操作时仍然具有很高的随机性,这将影响其适用的场景。在第二种模式中,我们为模型的输入提供提示,指示答案类型,并观察 EM 分数的变化。结果表明对于大多数模型,提示对布尔和 NUM 类型问题具有相对稳定的正面效果,而对 MISC 类型问题的答案大多受到负面影响。在第三种模式中,我们通过一个初级的 CoT引导过程逐步引导模型首先提供回答问题所需的关键信息,然后回答原始问题。推理类型方面,CoT 提高了所有模型在集合操作、条件过滤和计数方面的能力,但对多跳和星形问题的帮助不大。

六 优缺点分析

优点:文章中所提出的扩展的答案匹配机制,为后期的探索关于大语言模型能否替代传统KBQA提供了新的评估工具,替代了之前研究中所使用的耗时耗力的人工评估方法。其次,在阀值选择和敏感性分析方面,也为我们未来探索提高LLM的问题回答的能力提供了一个新的思路和方向。

缺点:我们观察大语言模型的答案发现,部分题目,大语言模型并没给出答案,而不是因为答案是错误的。我们分析出现这类情况的相关题目发现,大语言模型在回答可能会随着时间改变的答案时,往往就会告知这个题目无法给出具体答案。此外,由于大语言模型不同于传统KBQA的可解释性,大语言模型的结果还不能应用于一些特定领域。

七 阅读体会

本文一改传统KBQA的方式,也没有像近期的研究一样,将大模型和传统模型进行融合,作为一个语义解析的工具,而是直接利用大语言模型内部学习得到的知识作为知识库,不再依赖传统的知识图谱,直接向大语言模型进行提问来获取答案,对于知识图谱研究领域给予了不小的冲击。随着这篇论文的面世,基于大语言模型的知识问答也正式向传统的KBQA发起冲锋。

在基于CoT思维链的提示下,大语言模型的性能有了进一步的提升,此外,大语言模型在一些经典数据集上达到的成绩超过当前SOTA模型的性能,说明了大语言模型的推理能力已经超过了传统的深度学习网络模型,由于大语言模型学习的知识并不是实时的,这也印证了之前提到的大语言模型在处理一些随着时间而发生改变的答案的问题时,无法给出答案的情况,并且为未来的研究提供了方向。

本文在多语言KBQA的问答上发现,所有性能最好的结果都出现在了ChatGPT和GPT-4中,并且随着GPT的迭代,性能也在逐渐提升。同时也表明GPT的多语言能力的演变可能开始放缓,开始侧重于其他方向。

在基于特征标签的结果中,我们可以看出GPT家族的模型更擅长回答布尔值答案、关于组织和位置的问题、以及涉及集合操作和数值比较的问题。然而,它们在回答需要精确日期或涉及数值计算的问题时表现不佳,这表明生成式的大语言模型在精确度方面和计算能力上还远远达不到我们预期的标准。此外,我们还发现GPT-3.5 v3在回答需要通过上下文区分实体提及的多跳和星型问题时表现更好,而ChatGPT为了模拟对话历史而牺牲了这些能力,但ChatGPT的对话学习使其更好地回答单挑类型的问题。在CoT的引导下,我们发现对于数字答案类型的问题上,效果是显著的,表明在思维链在大语言模型和与数字相关的问题上的重要性。

不难发现,我们想要迭代一个模型,使其在各个方面的性能达到极致是不现实的。随着openAI发布GPT-4 turbo 以及GPT store,专注于特定领域的GPT将会在自己的领域内实现更强劲的性能,而GPT-4也将成为所有GPT衍生的母模型。

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

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

相关文章

SpringMVC修炼之旅(3)REST风格与拦截器

一、概述 1.1简介 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 1.2功能 资源:互联网所有的事物都可以被抽象为资源 资源操作…

CleanMyMac X2024最新专业苹果电脑mac系统垃圾清理软件

CleanMyMac X是一款颇受欢迎的专业清理软件,拥有十多项强大的功能,可以进行系统清理、清空废纸篓、清除大旧型文件、程序卸载、除恶意软件、系统维护等等,并且这款清理软件操作简易,非常好上手,特别适用于那些刚入手苹…

VSCode Keil Assintant 联合开发STM32

文章目录 VSCodeKeil AssistantUV5🥇软件下载🥇配置环境🥇插件安装🥈C/C Extension Pack🥉C/C Extension Pack介绍🥉插件安装 🥈Keil Assistant🥉Keil Assistant介绍🥉插…

onnxruntime和tensorrt多batch推理

以lenet网络为例。 onnxruntime多batch推理 当batch size为2时,导出如下结构的onnx文件: python推理: import cv2 import numpy as np import onnxruntimeimg0 cv2.imread("2.png", 0) img1 cv2.imread("10.png", …

App备案、ios备案Bundle ID查询、公钥信息、SHA-1值

App备案、ios备案Bundle ID查询、公钥信息、SHA-1值 Bundle ID这个就不说了,都知道是啥,主要说公钥信息和SHA-1值的获取 打开钥匙串访问,找到当前需要备案App的dis证书,如下: #####右键点击显示简介 #####可以看…

用友U8 Cloud 多处反序列化RCE漏洞复现

0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 Cloud存在多处(TableInputOperServlet、LoginServlet 、FileTransportServlet、CacheInvokeServlet、ActionHandlerServlet、Servle…

LeetCode力扣每日一题(Java):28、找出字符串中第一个匹配项的下标

别问我为什么今天做了两题,问就是我干概率论干废了,需要换换脑子想想不同类型的问题,所以来刷刷算法 一、题目 二、解题思路 1、我的思路 其实这题思路还挺简单的,我直接把代码放这,大家应该稍微看看就能懂 char[]…

如何使用 Google 的 Gemini

Google Gemini介绍 Google Gemini是谷歌发布的人工智能大模型,能够在从数据中心到移动设备等不同平台上运行。 Gemini包括一套三种不同规模的模型: Gemini Ultra是最大、功能最强大的类别,被定位为GPT-4的竞争对手;Gemini Pro是…

软件设计之组合模式

组合模式:将对象组合成树形结构。 案例:公司管理。一个公司可以分总公司和分公司,无论是总公司还是分公司都有自己的部门,如人力资源管理部门、财务部门。分公司可以建立自己在不同地域的办事处。请使用组合模式打印出某个公司的…

十年前端之离别的旋律

在一家名叫“梦想家”的小公司里,有一个普通的程序员,他的名字叫做小帅。每天默默地坐在角落里,默默地写着代码,默默地为公司付出。他的眼睛里总是充满了对工作的热爱和对生活的热情,但他的内心却隐藏着一个秘密&#…

[架构之路-261]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 网络数据交换格式

一、网络数据交换格式 1.1 什么是网络数据交换格式 网络数据交换格式指的是在计算机网络中传输和存储数据时所采用的特定格式。 它定义了数据的组织方式、结构和编码规则,以便不同系统和应用程序之间能够准确地解析和处理数据。 网络数据交换格式的主要目的是&a…

猿人学第一题 js混淆 双重加密(详解)

当我们点击分页的时候可以确定这个请求过程是ajax请求,所以直接使用抓包工具找到储存信息的请求。 找到这个请求之后,我们明显发现?后面的参数m是一个加密过的 由于这个请求属于ajax请求,现在我们可以直接使用xhr断点调试找到位置 打上断电…

实用篇 | 一文快速构建人工智能前端展示streamlit应用

----------------------- 🎈API 相关直达 🎈-------------------------- 🚀Gradio: 实用篇 | 关于Gradio快速构建人工智能模型实现界面,你想知道的都在这里-CSDN博客 🚀Streamlit :实用篇 | 一文快速构建人工智能前端展…

JavaEE 09 锁策略

1.锁策略 1.1 乐观锁与悲观锁 其实前三个锁是同一种锁,只是站在不同的角度上去进行描述,此处的乐观与悲观其实是指在预测的角度上看会发生锁竞争的概率大小,概率大的则是悲观锁,概率小的则是乐观锁 乐观锁在加锁的时候就会做较少的事情,加锁的速度较快,但是消耗的cpu资源等也会…

代码随想录二刷 |二叉树 |94.二叉树的中序遍历

代码随想录二刷 |二叉树 |二叉树的中序遍历 题目描述解题思路代码实现迭代法递归法 题目描述 94.二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出&a…

系统架构设计师教程(二)计算机系统基础知识

系统架构设计师 2.1 计算机系统概述2.2 计算机硬件2.2.1 计算机硬件组成2.2.2 处理器2.2.3 存储器2.2.4 总线2.2.5 接口2.2.6 外部设备 2.3 计算机软件2.3.1 计算机软件概述2.3.2 操作系统2.3.3 数据库关系数据库关系数据库设计的特点及方法关系数据库设计的基本步骤 分布式数据…

[Linux] nginx防盗链与优化

一、Nginx的页面优化 1.1 Nginx的网页压缩 在Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。进行相关的配置修改,就能实现Nginx页面的压缩,达到节约带宽,提升用户访问速度 vim /usr/local/nginx/conf/nginx.conf http { .…

【trino权威指南】使用trino详解:trino client安装、查询sql、DBeaver连接trino、java通过JDBC连接trino

文章目录 一. Trino CLI1. 安装client2. 使用client执行sql 二. JDBC driver 连接Trino1. 通过DBeaver用户界面连接2. JDBC Driver in java2.1. 环境配置2.2. 注册和配置driver2.3. 连接参数2.4. 查询例子 一. Trino CLI 1. 安装client Trino CLI提供了一个基于终端的交互式s…

Linux权限命令详解

Linux权限命令详解 文章目录 Linux权限命令详解一、什么是权限?二、权限的本质三、Linux中的用户四、linux中文件的权限4.1 文件访问者的分类(人)4.2 文件类型和访问权限(事物属性) 五、快速掌握修改权限的做法【第一种…

【刷题篇】动态规划(六)

文章目录 1、最大子数组和2、环形子数组的最大和3、乘积最大子数组4、乘积为正数的最长子数组长度5、 等差数列划分6、最长湍流子数组 1、最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素)&…