技术动态 | 利用知识图谱检测并修正大模型幻觉:GraphEval策略的实现思路

转载公众号 | 老刘说NLP


最近看到一个工作 《GraphEval: A Knowledge-Graph Based LLM Hallucination Evaluation Framework》(https://arxiv.org/pdf/2407.10793),提出了一个基于知识图谱的幻觉检测框架,用于评估大模型的回复,并检测与提供的知识不一致的地方,即所谓的“幻觉”。

此外,其还提供了一个将幻觉检测的结果进行进一步纠正的思路,虽然全是prompt,但也很有趣。从实现思想上来看,其基于通过知识图谱结构表示信息的思想,旨在解决之前幻觉检测方法缺乏可解释性的问题,从而提出了一个两阶段过程。

这种思路很有趣,也足够简单,感兴趣的可以看看,会有收获。

1、GraphEval幻觉检测思路

GraphEval首先从LLM输出中构建知识图谱,然后迭代检查每个三元组(triple)是否在给定上下文中事实一致。如果任何三元组被识别为不一致,输出将被视为事实不一致,并可能返回不一致的三元组以提供可解释性。

示意图如下所示:

5f37953c6ceeedf826b6b7e5879f633e.png

我们分成两个方面来看,一个是GraphEval幻觉检测思路,另一个是GraphCorrect幻觉纠正实现思路。

第一阶段:从待评估的LLM输出中构建知识图谱。

对应的prompt如下:

3fec46723cda9a45dcd6ca193496bd67.png

第二阶段:迭代检查知识图谱中的每个三元组(triple),确定它们是否在给定上下文中事实一致。

将知识图谱中的每个三元组输入到一个现成的幻觉检测方法(如自然语言推理模型)中,并与提供的上下文进行比较,以检查是否存在不一致性。

如果任何三元组被识别为不一致,整个输出将被视为事实不一致,并返回不一致的三元组以提供可解释性。

其中,这一步使用自然语言推理(NLI)模型,通过将每个三元组与上下文一起输入NLI模型,获得每个三元组包含幻觉的概率。如果至少一个三元组产生的概率大于0.5,则将示例分类为不一致

这块的方法之前我们看到过许多,例如,代表性的有

HHEM:基于DeBERTaV3模型,并最初在NLI数据上进行训练,Vectara创建的幻觉评估模型进一步在标注为一致性的数据库上进行微调。用于微调的数据集包括:FEVER、VitaminC和PAWS。此模型相对较小,仅需要738MB的内存,因此运行时间明显更短。

TRUE:基于T5-XXL模型,并类似于TRUE论文中描述的模型进行训练。与该论文中使用的ANLI数据集不同,此模型在与HHEM相同的数据集上进行训练,再加上以下数据集:SNLI、MNLI和Scitail。此模型需要45.5GB的内存。

TrueTeacher:Gekhman等人利用LLM评估幻觉的能力,通过注释模型生成的摘要生成合成数据。然后他们使用这些合成数据进一步微调中的模型,从而在TRUE基准测试中实现最先进的性能。此模型与TRUE模型大小相同。

不同模型对应的结果对比如下:

dd5c6f54b7a34fd315c3e54462dd8b7b.png

2、GraphCorrect幻觉纠正实现思路

GraphEval 的输出可以扩展到纠正幻觉。首先识别知识图谱中可能包含幻觉的所有三元组(即那些概率大于0.5的三元组)。

分成3步:

首先,识别幻觉,先使用GraphEval检测方法识别出知识图谱中可能包含幻觉的三元组。

其次,纠正三元组,将这些三元组和上下文一起输入到LLM中,生成更正后的三元组。

f343a96ba2429d7d383897a60a4fc173.png

最后,将原始LLM输出中的信息替换为更正后的三元组中的信息,对应的prompt如下:

2c00f908add35c9b60e604fc2c7054d8.png

与此相对应的,有不使用KG,而直接让大模型自行进行纠正的prompt,叫做“直接提示”如下:

f737b5a18321c4452e966c297f3cb642.png

最终对比的结果还是很有趣的,可以看看消融试验:

对提出的每种评估框架(HHEM+GraphEval、TRUE+GraphEval和TrueTeacher+GraphEval),将GraphCorrect与一种基本的提示策略进行了比较,作为幻觉纠正的基线。这种基线方法中使用的提示,也就是“直接提示”。

对于每个框架,首先识别幻觉,然后仅使用GraphCorrect或直接提示纠正怀疑包含幻觉的LLM输出,然后重新应用评估框架以检测纠正后的LLM输出中的幻觉。但此过程仅允许测量我们认为已纠正的幻觉,考虑到所使用的评估框架可能存在的错误。

表3中报告了使用直接提示和GraphCorrect在不同数据集和幻觉检测框架下,原始摘要和纠正版本之间的平均ROUGE-1、ROUGE-2和ROUGE-L分数,以衡量相似性。

944810a63162120cb07673bba4f6ec3d.png

表4中使用直接提示策略和GraphCorrect在SummEval、QAGS-C和QAGS-X基准测试中,认为已纠正的幻觉的百分比。幻觉首先由HHEM+GraphEval、TRUE+GraphEval和TrueTeacher+GraphEval分别检测,然后使用相同的指标进行纠正评估

e47dacc527ff701a7093265205c88ac8.png

可以看到,GraphCorrect在所有任务中显著纠正了更多的幻觉,除了与QAGS-X数据集相关的两个任务。

3、总结

本文主要介绍了GraphEval这个工作,其还是很有趣的,与之前的工作相比,其将纯文本格式的比对与知识图谱相结合。但也存在一些问题。例如:知识图谱构建阶段,可能会发生一些信息,吃出来的东西并不准确。

此外,GraphCorrect提供了仅修改LLM输出中易受幻觉影响的文本段的优势,同时保持其他部分不变,从而保持与原始文本的相似性。

这一特性通过在所有实验场景中评估原始摘要和纠正版本之间的ROUGE-1、ROUGE-2和ROUGE-L指标来说明,与直接提示相比,GraphCorrect系统地生成了与原始LLM输出更接近的文本。

这其实又是基于知识图谱进行事后校验的一个直接实现,这些闭环了。

参考文献

1、https://arxiv.org/pdf/2407.10793


OpenKG

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

ff62b1a8482b9d363a57c232d2314751.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值