GraphEval: A Knowledge-Graph Based LLM Hallucination Evaluation Framework

题目

GraphEval:一个基于知识图的LLM幻觉评估框架
在这里插入图片描述

论文地址:https://arxiv.org/abs/2407.10793

摘要

    评估大型语言模型(LLM)响应和检测不一致性(也称为幻觉)的方法对于LLM应用变得越来越重要。当前的度量标准在提供可解释的决策、系统地检查响应中的所有信息片段的能力方面存在不足,并且通常计算成本太高而无法在实践中使用。我们提出GraphEval:一个基于知识图(KG)结构表示信息的幻觉评估框架。我们的方法识别了KG中易于产生幻觉的特定三联体,因此比以前的方法提供了对反应中幻觉发生位置的更多了解。此外,与使用原始NLI模型相比,将我们的方法与最先进的自然语言推理(NLI)模型结合使用,可以提高各种幻觉基准的平衡精度。最后,我们通过利用KG的结构探索了GraphEval用于幻觉矫正的用途,我们将这种方法命名为GraphCorrect,并证明大多数幻觉确实可以被矫正。

大型语言模型;知识图;幻觉检测;幻觉校正

引言

    随着LLM的尺寸和功率在最近几年急剧增加,潜在应用的数量也在增加。可以说,在实践中实现这些模型的最大障碍之一是他们产生幻觉的倾向——返回看似合理,但不真实的反应。在这里,我们关注于检测幻觉的问题,这个问题与LLM应该用作其知识来源的所提供的环境有关;检测偏离LLM原始训练数据的幻觉超出了这项工作的范围。在反应的确定性至关重要的应用中,例如医学诊断,由给定环境产生的幻觉的存在尤其有限。因此,最重要的是开发成功的方法来检测这些幻觉,并且当有兴趣解决或纠正它们时,提供关于反应的哪一方面可能是幻觉的清晰性。

    这一问题的重要性反映在发表的大量关于这一主题的研究报告中——关于这一领域的最新调查,见纪等人[12]。对自然语言进行评价是一项具有挑战性的任务,研究者们对此一直很感兴趣在幻觉成为首要问题之前。方法已经从传统的基于N-gram的度量(如BLEU [26]和ROUGE [17])发展到更加复杂的基于LLM的评估度量(具有用户定义的评估标准),如G-Eval [18]。最近,提出了利用提取增强生成(RAG) [16]和知识图推理(KGs) [19,34]来减轻生成输出中幻觉流行的技术。前者建议将相关的上下文数据串联到提示中,以使LLM响应接地,而后者通过在KG结构中提供接地信息来实施更健壮的推理过程[1]。尽管这些方法很成功,但它们并没有完全避开评估LLM输出的需要。

    受当前利用KG提供接地LLM响应的研究的启发,我们提出了GraphEval -一种基于KG结构中信息表示的幻觉检测框架。据我们所知,我们是第一个将KGs应用于基于LLM的幻觉评估框架的公司,通过这样做,我们可以比以前的任何指标更深入地了解幻觉出现在输出中的哪个位置。此外,我们还展示了如何将我们的方法与当前最先进的幻觉检测方法结合使用,以提高它们在各种基准上的分类精度。最后,我们考虑了幻觉校正的问题,并介绍了GraphCorrect,展示了GraphEval如何有效地扩展以矫正LLM输出中出现的大部分幻觉。

问题陈述

    在这项工作中,我们集中于封闭域幻觉检测问题:我们有一个来自LLM的文本输出的情况,它是使用包含在提示中的一些基础上下文生成的。在这种情况下,LLM的目标是使用所提供的上下文作为其唯一的知识来源。关于世界上所有事实知识的开放领域问题,在这里不探讨,但在第8节中简要讨论。

    我们认为幻觉检测是一个二元分类问题,0对应于给定上下文的LLM输出实际上是一致的,1对应于包含至少一个不一致的输出。我们可以使用基准数据集来评估幻觉评估方法,该基准数据集包含基本事实标签(通常是人类注释的),以确定给定的上下文输出对是否包含事实上的不一致。在整篇论文中,我们交替使用术语“事实的”、“一致的”、“有根据的”和“忠实的”,来表示在上下文中不包含幻觉。最后,我们探讨了幻觉校正的问题,其中我们不使用任何直接标记的数据集。

    相反,我们利用幻觉检测框架首先识别要纠正的幻觉,然后重新利用它们来评估纠正后的输出。值得注意的是,我们对幻觉矫正的探索只是作为我们评估框架的延伸,并不是这项研究的主要焦点。

相关工作

    历史上,基于N-gram的度量,如BLEU [26]和ROUGE [17]一直是最广泛使用的自然语言评估度量。然而,这些指标在事实不一致检测任务中表现不佳[21,11]。最近几年,基于嵌入的度量,如BERTScore [35]比基于N-gram的度量更受青睐。这些方法通过比较来自变换器模型(例如BERT [3])的上下文化嵌入来测量两段文本之间的相似性。N-gram和基于嵌入的度量都是基于要评估的文本与某些参考文本的相似程度来评分的。这个相似性目标经常不能捕捉幻觉检测问题的复杂性。

    因此,研究人员已经开始开发新的方法,更敏锐地检测LLM输出与其背景之间的不一致。Maynez等人[21]发现了NLI任务中文本蕴涵分数和一致性预测之间的交叉。这在当时是一个突破,产生了比以前任何指标更高的与忠诚度的相关性,并为利用NLI数据和模型的进一步研究铺平了道路[10,15,6]。最近,注意力已经转向利用LLM本身来评估LLM输出的一致性。

    SelfCheckGPT [20]和ChatProtect [24]通过考虑采样输出的自洽性来解决这个问题。由于它们需要从LLM生成大量的响应,许多人认为这些方法在计算上极其昂贵。其他基于LLM的幻觉评估方法,如G-Eval [18]和GPTScore [5],采用不同的LLM进行评估,而不是用来产生需要评估的LLM响应。G-Eval允许用户定义评估标准,并使用自动思维链提示和填表来分配分数。GPTScore将任务视为有条件生成,通过在LLM提示符前添加评估指令,利用GPT-3等模型为高质量输出分配更高的概率。与在二元分类数据上训练的NLI模型不同,这些方法产生的分数更难解释为概率,并且通常需要额外的不一致性分类步骤。

    最近的幻觉检测方法,如FactScore [23]和SAFE [32],利用大型语言模型将反应分解为原子或个体事实进行评估。这些方法使得精确识别LLM反应中幻觉发生的位置成为可能。在FactScore的情况下,每个事实都会自动与维基百科或科学文献等综合知识来源进行验证,在SAFE的情况下,则通过使用搜索引擎进行验证。FactGraph [28]是我们所知道的唯一一种利用图形结构的真实性评估方法。该方法只关注于检测摘要问题中的不一致性,将摘要和支持文档分解成他们所谓的结构化含义表示(MRs)。这些MRs描述了核心语义概念和关系,作者声称这些概念和关系比原始文本更适合于真实性评估。

在这里插入图片描述

图1 GraphEval方法的可视化。首先,LLM输出被输入到KG构造提示符中,以产生右侧所示的KG。接下来,KG中的每个个体三元组被输入到开箱即用的幻觉检测方法中,例如NLI模型,并与所提供的上下文进行比较以找出不一致。最后,任何被标记为不一致的三元组都被返回给用户,同时返回的还有整个幻觉判定。

GraphEval:我们的评估方法

    GraphEval基于通过KGs以结构化方式表示信息的思想,旨在解决以前幻觉检测方法缺乏可解释性的问题,即哪些具体的信息片段特别不一致。形式上,一个KG是一个三元组的集合𝒦𝒢 = {(𝑒1,𝑟,𝑒2) ⊆ ℰ × ℛ × ℰ},其中ℰ和分别表示实体和关系的集合。在GraphEval设置中,实体和关系都是简单的文本。我们没有利用这个简单设置的通用扩展,比如实体和关系类型,或者附加属性。我们的GraphEval度量由两个阶段的过程组成:阶段1 -从要评估的LLM输出构建一个KG。阶段2——遍历KG中的每个三元组,确定它们在给定的上下文中是否事实上一致。如果阶段2中的任何三元组被识别为不基于上下文,则输出被认为是事实不一致的。不一致的三元组也可以通过突出显示幻觉在输出中出现的位置来提供可解释性。我们使用7.1节中描述的一个基准中的真实例子,在图1中提供了这个过程的可视化。

    关于阶段1,我们在第5节中提供了基于LLMbased的KG构造方法的简短回顾,以及我们的实现结果。对于第二阶段,我们利用现有技术,并采用现成的NLI模型来完成这项任务。这种方法的一个好处是,它使我们有机会直接比较原始NLI模型和用我们的KG方法补充的模型的性能。本质上,我们的方法是一个预处理步骤,其输出可以馈入任何幻觉检测方法;我们选择NLI模型,因为与基于LLM的模型相比,它们在计算上更便宜,但仍能获得最先进的结果。通过将每一个三元组与基础情境一起输入到NLI模型中,我们获得了每一个三元组包含幻觉的概率。最后,如果至少一个三元组产生大于0.5的概率,我们将该示例分类为不一致。

    最近的文献中已经提出了与我们相似的方法。SummaC [15]还使用基于NLI的模型来检测LLM生成的摘要中的不一致性。然而,它通过将上下文和摘要分割成各自的句子,然后将每个上下文-摘要对传递到NLI模型中来区分自己。这种方法主要面临以下挑战跨句子标记实体引用;例如,“约翰·多伊”在另一个句子中可能只被称为“他”。同样,FactScore [23]也面临同样的限制。我们的方法通过组织与KG的实体关系来规避这个问题。

    虽然FactGraph [28]也在一致性评估过程中使用图结构,但该方法在几个主要方面与GraphEval不同。首先,他们的方法只能应用于汇总问题;而GraphEval可以很容易地应用于各种领域,如总结,问题回答,常识推理和许多其他领域。其次,FactGraph在其框架中没有使用LLM,错过了该领域的最新进展。最后,在比较每个图结构之前,他们的方法旨在将LLM输出和提供的上下文分解成底层核心语义概念和关系。另一方面,GraphEval只将LLM输出表示为KG,目的是尽可能多地保留原始文本中包含的信息。

    总结GraphEval相对于以前方法的优势:我们提出了一种检查LLM输出中包含的所有信息的系统方法。我们的方法只需要在KG构建阶段调用一次LLM,并且不需要像以前所有基于LLM的度量那样输入(通常)大型上下文文档。这使得GraphEval的计算成本低于其他基于LLM的方法。我们的方法返回不基于上下文的特定三元组,为决策提供可解释性,并确定输出的哪个部分不应该被信任。我们利用这一特性进行幻觉校正,并提出了一种称为GraphCorrect的新方法,如第6节所述。

使用LLM构建知识

    模型从非结构化的文本数据构建知识模型包括识别文本中的实体集合以及它们之间的关系,从而产生包含在文本中的信息的结构化表示。这个过程可以分为三个主要阶段:

  1. 实体检测-从文本中识别和提取实体的过程。
  2. 共指消解——在文本中找到所有引用同一实体的表达式(也称为提及)的过程。
  3. 关系提取-识别实体间语义关系的过程。

    以前,研究人员单独处理每个阶段,但随着LLM功能的增加,已经转向端到端系统。Kumar等人[14]建议使用两个LLM组件:一个用于命名实体识别,另一个用于关系分类和方向。类似地,Grapher [22]利用预训练的LLM进行实体提取和关系预测。然而,这些方法要求用户提供可能的关系。最近的方法,如PiVE [7]和AutoKG [37]使用LLM提示策略来构建KG,而无需额外的用户输入。

    上述方法没有利用LLM的一些涌现能力,例如上下文学习和思维链提示策略。我们决定利用这些突发能力,并对我们的KG构建步骤采取简单的快速工程方法。所使用的技巧可以总结如下:思维链(CoT)提示策略。在提示中提供中间推理步骤,使LLM能够解决更复杂的任务。环境学习。一种提示工程方法,在提示中提供几个任务演示,避免了微调的需要。

    我们实验中使用的最后一个提示可以在附录中找到。我们向读者强调,我们的KG构造方法不是我们的主要贡献工作,而是将KG结构应用于幻觉检测问题。我们的KG构造方法的主要优点是易于在任何LLM上实现。此外,它比PiVE等方法计算量少,PiVE对生成的KG进行多次迭代改进。当然,用户可以使用他们选择的方法进行GraphEval的KG构建阶段;本文中的实验展示了简单提示策略的能力。

GraphCorrect:使用GraphEval纠正幻觉

    虽然这项工作的主要重点在于幻觉检测,但GraphEval将LLM输出分解为三个一组的方法很容易扩展到纠正给定环境中的幻觉。为了实现这一点,我们首先识别KG中可能包含幻觉的所有三元组(即,那些概率大于0.5的三元组,如果有的话)。然后,我们对每个识别的三元组采用以下两步程序:

  • 步骤1 -将给定的三元组连同上下文一起输入到LLM中,以校正三元组中的潜在幻觉。这导致新生成的校正三元组。
  • 步骤2 -输入识别的三元组、其校正的对应物和初始LLM输出。在初始LLM输出中,用来自新三元组的信息选择性地替换来自原始(包含幻觉的)三元组的信息。

    我们将这种LLM幻觉校正方法命名为GraphCorrect。在我们的实验中,步骤1和步骤2的最终提示可以分别在附录B和C中找到。这种系统的幻觉矫正方法有几个好处。首先,它单独处理每一个被识别的幻觉,增加所有被感知的幻觉被纠正的机会。

    此外,它还提供了这样的优势,即只改变原始文本中被怀疑包含幻觉的片段,而不改变其他元素,并确保与原始文本的整体高度相似性。最后,将整个过程分解成中间步骤可以确保原始上下文和初始LLM输出不会在LLM中同时处理。这保证了防止在LLM输出中增加额外信息和丢失信息。

实验

    我们进行了两组实验:一组专注于幻觉检测以突出GraphEval的性能,另一组专注于幻觉校正以展示GraphCorrect的优势。对于这两个场景,我们使用了sum eval[4]、QAGS-C和QAGS-X [31]基准测试——目前相关学术文献中最流行的基准测试。所有这三个都与检测LLM生成的摘要中的幻觉有关,并根据背景上下文进行了人为注释,以确保事实的一致性。表1包含了与每个数据集相关的一些统计数据。

    sum eval数据集由来自CNN/DailyMail数据集[9]的100篇文章的16个摘要模型输出的人工评估组成。每一个摘要都用李克特量表从1到5分为4类:一致性,连贯性,流畅性和相关性。我们遵循真正的基准[10]进行一致性评分,将5分为完全一致,低于5分为不一致。QAGS QAGS-C和QAGS-X数据集分别由CNN/DailyMail和XSum [25]数据集构建。人类注释者一次检查一个句子的摘要,并确定每个句子与原始文章的事实一致性。三个注释者评估每个句子,多数人的决定被记录下来。同样,当且仅当所有的句子都被认为是一致的时,我们在考虑一个摘要是事实上一致时遵循真正的基准。

在这里插入图片描述
表1与所用评估基准相关的统计数据。标签比率是事实上一致的例子与不一致的例子的比率。平均输出和上下文长度是每个中的平均字数。

    GraphEval中的NLI模型如第4节所述,我们采用NLI模型来执行GraphEval的第二阶段——检查每个个体三元组相对于上下文的一致性。我们使用HuggingFace 1上可用的三种最流行的基于NLI的幻觉检测模型进行实验。HHEM基于DeBERTaV3模型[8]并最初在NLI数据上进行训练,Vectara 2创建的幻觉评估模型在注释了一致性的数据集上进一步微调。使用的数据集微调是:发烧[30],维生素C [29]和爪子[36]。这个模型比下面的两个模型小得多,只需要738 MB的内存,因此运行时间也短得多。

    based真实模型基于T5-XXL模型[27],其训练方式与真实报告[10]中描述的模型类似。与该论文中使用的ANLI数据集不同,该模型是在与HHEM相同的数据集上训练的,加上以下数据集:SNLI [2]、MNLI [33]和Scitail [13]。这款机型需要45.5 GB内存。TrueTeacher Gekhman等人[6]利用LLM的能力,通过注释模型生成的摘要生成合成数据来评估幻觉。然后,他们使用这些合成数据进一步微调[10]中的模型,从而在真正的基准测试中获得最先进的性能。这个模型和真的模型一样大。

    实验设置在本研究中进行的所有实验都需要使用LLM,我们使用来自Anthropic的Claude 2 3 LLM,通过Amazon基岩API 4。我们使用LLM的默认设置:温度= 1,top_p = 1,top_k = 250。我们还建议读者参考附录中的提示。

    使用GraphEval的幻觉检测我们在表2中给出了三个NLI模型及其GraphEval对应物的幻觉检测结果。我们报告平衡的准确性作为我们的评估指标,它纠正了SummEval基准中的类不平衡。在直接使用NLI模型的情况下,如果NLI模型返回大于0.5的概率,我们将该示例分类为包含幻觉。当将NLI模型与GraphEval结合时,如果至少有一个三元组反馈给NLI模型,返回的概率大于0.5,我们就将该示例归类为包含幻觉。我们看到,在每个NLI模型中添加GraphEval预处理步骤几乎总能提高平衡精度分数,有时提高幅度相当大,如表2中SummEval和QAGS-C基准测试的结果。平均而言(通过每个数据集中的样本数量进行加权),添加GraphEval预处理步骤将平衡精度提高了6.2倍(SE=1.3)。

在这里插入图片描述

表2 NLI模型(HHEM、TRUE、TrueTeacher)及其GraphEval对应物在SummEval、QAGS-C和QAGS-X基准测试中的幻觉检测平衡准确度得分。

    我们假设,QAGS X数据集的基本NLI模型和补充了GraphEval的模型之间的可忽略差异是由于生成的文本的平均长度(只有18个单词,相比之下,QAGS C和SummEval分别为49和63个单词,见1)。这突出了在我们的方法中可以找到最大价值的一个重要方面。当LLM输出非常短时,需要检查一致性的多个事实就不太可能了(这可以很容易地在不使用KG的情况下完成),并且短句的复杂性甚至可能在KG构建阶段就消失了。另一方面,当LLM输出非常长时,当前的方法很难根据上下文测试每个单独的事实,这就是GraphEval蓬勃发展的时候。应该注意的是,即使GraphEval的结果与基线方法相当,使用GraphEval的好处是识别与提供的上下文不一致的特定三联体。

    使用GraphCorrect进行幻觉校正识别可能隐藏幻觉的特定三元组,可以使用GraphCorrect进行直接校正,如第6节所述。对于这里提出的每个评估框架(HHEM + GraphEval、TRUE + GraphEval和TRUE teacher+graphe val),我们将GraphCorrect与幻觉矫正的基本提示策略进行了比较,作为基线。这种基线方法中使用的提示,此后称为直接提示,在附录d中提供。对于每个框架,我们首先识别幻觉,使用GraphCorrect或Direct Prompt仅校正怀疑包含幻觉的LLM输出,然后重新应用评估框架来检测校正的LLM输出中的幻觉。

    请注意,这一程序只允许我们测量我们假定被纠正的幻觉,考虑到这里使用的评估框架中潜在的错误。我们报告表4中被认为纠正的幻觉的百分比。0%的分数表明根据给定的框架没有矫正的幻觉,而100%的分数表明根据给定的框架所有幻觉都得到矫正。GraphCorrect优于这里提出的提示策略,除了与QAGS-X数据集相关的两个任务之外,它在所有任务中显著校正了更多的幻觉。对于幻觉检测任务,我们假设这些结果与文本的平均长度相关,GraphCorrect在具有更复杂结构的较长文本中带来最大价值,以便解开和纠正。

    此外,如前所述,GraphCorrect提供的优势是仅修改LLM输出中易受幻觉影响的文本片段,而保持其他部分不变,从而保持与原始文本的高度整体相似性。表3通过评估原始数据和原始数据之间的ROUGE-1、ROUGE-2和ROUGE-1度量来说明这一特性

在这里插入图片描述

表3使用直接提示和GraphCorrect跨不同数据集和幻觉检测框架测量原始和校正摘要之间的相似性的平均ROUGE-1、ROUGE-2和ROUGE-1分数。

在这里插入图片描述
表4在SummEval、QAGS-C和QAGS-X基准上,使用直接提示策略和GraphCorrect相信的纠正幻觉的百分比。首先分别通过HHEM + GraphEval、TRUE + GraphEval和TrueTeacher + GraphEval检测幻觉,然后通过相同的度量评估校正。

    本研究中检查的所有实验场景中GraphCorrect和Direct Prompt的摘要和更正版本。GraphCorrect系统地生成与原始LLM输出相比更相似的文本。

讨论

    我们的工作集中在检测封闭领域任务中的幻觉,我们只对提供的环境的一致性感兴趣。GraphEval框架可以通过使用代理扩展到开域幻觉检测,如在AutoKG [37]中,首先检索相关的外部源作为要检查的基础信息。我们期望,在不久的将来,更多的研究将在从非结构化文本构建知识集方面进行,这将为我们的过程的第一阶段以及最终的评估性能提供改进。即使LLM本身变得更加强大,这也将继续有助于GraphEval性能的提高。

    我们注意到,在我们过程的知识图构建阶段,可能会发生一些信息丢失。然而,正如7.4节的结果所示,我们的方法很少导致平衡精度的降低。此外,当它与基线方法相比较时,我们就有了额外的解释能力,可以识别幻觉发生的特定三联体。我们相信我们的幻觉矫正框架(GraphCorrect)显示了未来工作的前景和有趣的途径。然而,在这项工作中描述的方法的有效性应该手动评估,而不是依赖于幻觉评估框架的复杂使用(它只产生对相信已纠正的幻觉的测量)。

结论

    我们引入了GraphEval,一个简单有效的预处理步骤来提高LLM幻觉检测度量的可解释性和性能。我们的方法利用了LLM从非结构化文本中提取信息并构建知识图的能力,其三元组可以用于开箱即用的幻觉检测方法。我们证明,GraphEval结合最先进的NLI模型在三个流行的幻觉基准上平均提高了6.2 (SE=1.3)的平衡精度。此外,我们的方法指出了LLM输出的KG表示中哪些三元组是不一致的。据我们所知,这是KGs首次应用于基于LLM的幻觉评估框架,我们相信GraphEval的成功只会随着KG构建方法的改进而增长。最后,我们研究了幻觉校正的问题,并表明GraphCorrect可以有效地解决在LLM输出中发现的大多数幻觉,同时与原始文本保持极高的相似性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月七꧁ ꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值