摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

AI 8个月前 admin
366 0 0

今天是2023年8月29日,星期二,北京,天气晴。

我们再来看看知识幻觉这个问题一直很有趣。

一般的,我们可以看到,目前大多数的知识都是以积极肯定的形式存在,LLM已经证明其能够存储知识并在下游任务中应用这些知识。

摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

但是,像“狮子不能生活在海洋里”这样的负面知识也广泛存在于现实世界中,但在文本中很少提及。那么,LLM是否能够通过预训练获得这种隐含的知识?

最近一篇工作《Say What You Mean! Large Language Models Speak Too Positively about Negative Commonsense Knowledge》:https://arxiv.org/pdf/2305.05976.pdf,通过In-Context Learning方式的文本生成来研究LLM对负面常识知识的信念。

在具体实现上,该工作设计了两种任务:(1) Bool问答任务;(2) Constrained Sentence Generation(CG)任务。

其中:

Bool问答任务就是让LLM判断三元组是否真实,其表明了模型对该知识的信念。

CG任务则是需要模型基于三元组<s,r,o>生成矩阵。

例如,给定三元组<lion,located at,ocean> ,模型应该生成”lions do not live in ocean”,然后根据否定是否出现进行评估。

实验发现,在能够正确回答问题的是或负的情况下,不同结构和大小的LLM经常产生关于负面知识的幻觉,也就是信念冲突(belief conflict),即行动和信念冲突。

有趣的是,该工作显示在探测任务和下游任务中都能看到负面知识的幻觉,而进一步的分析显示该问题来自于预训练时的统计捷径和曝光偏差,同样的,这种隐含低偏见可以通过CoT的显式推理来缓解。

本文先来简单看看这个论文,此外,本文再来看看llamaindex中所使用的摘要索引,这个作为集成索引召回更相关的文本很有趣。LlamaIndex引入文档摘要索引(Document Summary Index),可以为每个文档提取和索引非结构化文本摘要,从而提高现有方法之外的检索性能。这个索引比单个文本块包含更多的信息,并且比关键词标签具有更多的语义。

供大家一起参考。

一、大模型负面知识的探测方式

1、CSK-PN数据集

该数据集探测范围限制在常识概念之间的关系常识,即关系知识三元组。

给定一个三元组 <s,r,o>,若基于常识知识认为r(s,o)的真值为False,则定义负面事实为¬r(s,o)。

这里基于Safavi等人过滤的知识三元组来构造探测数据集。

在移除了无效三元组后,最终数据集包含4000个三元组。

2、探测任务制定

通常采用mask-infilling的方式来探测LLM是否包含特定类型的知识,但是该任务并不适合生成式的LM。

因此,该工作提出了约束句子生成任务(Constrained Sentence Generation,CG)来探测生成式LLM,并且与Boolean Question Answering任务相结合来探索模型置信度。

Boolean Question Answering Boolean QA要求LLM回答yes或no来表达对事实的置信。将三元组<s,r,o>转换为带有yes或no的问题q。对于负面的常识,则移除了r的否定。例如:

Answer commonsense questions with yes or no:
Question:do lions live in the ocean?
Answer:no


Constrained Sentence Generation (CG) 文本生成是模型信念的直接体现,但是评估生成文本却非常困难,因此,设计了一个keyword-to-sentence的任务进行探测。

给定三元组<s,r,o>,模型基于该知识生成句子,而且在必要的情况下在句子中添加否定提示(not, unable):

Write a short and factual sentence according to commonsense based on the keyword:
Keywords: lion,located at,ocean
Sentence: lions don’t live in the ocean

3、评估度量的设计

首先,QA任务的度量。QA任务可以通过yes或no来评估,因此定义TP和TN来评估CSK-PN中的正负样本准确率,Acc则是整个数据集的准确率。

其次,CG任务的度量。由于整个任务的设置,本质上是强制LLM决定是否以及如何在解码过程中添加否定提示,因此CG任务可以通过判断否定提示来进行评估。这里也使用TP和TN进行度量。

具体来说,使用一个分类器在判断句子中是否有否定提示。人工检测了200个例子,该度量的准确率在97%,因此可以用来探测CG任务。

二、LLM是否具有负面常识

1、使用In-Context Learning探测LLM

利用LLM的few-shot in-context learning能力来探测LLM。人工撰写了32个样本,16个样本是正知识(表示为E+),16个负知识(表示为E−)。在实验中,从E+和E−随机挑选总计k个样本。

LLM则选择Flan-T5、GPT-3、GPT-3.5系列(Codex和InstructGPT)。使用InstructGPT的6.7B变体text-curie-001,以及更大的版本text-devinci-001、text-devinci-002、text-devinci-003。解码使用贪心解码的方式。使用 InstructGPT002作为实验的默认LLM。

2、信念冲突

下表是LLM在2-shot和10-shot in-context learning的结果。该结果中有一个显著的冲突,即LLM在QA和CG任务中对负面常识的表现不一致,这里称为信念冲突。

该冲突有两方面:(1) CG任务中的TP和TN;(2) QA和CG任务的TN之间。通常,信念冲突存在于各种尺寸和结构的LLM中。

摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

首先,LLM能够区分正面和负面常识,因为QA任务中正负样本的分数是均衡的。CG任务中,TP结果表明LLM能够基于正面知识准确的生成句子,但是在负面知识上表现很差。

此外,QA和CG之间的不一致也反映了该冲突。在所有评测的LLM中, InstructGPT003和ChatGPT的效果最好,这可能来自于RLHF。

接着,我们再进行信念冲突分析,

摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

首先,预训练语料中的关键词共现上,这里研究对于CG任务,预训练语言中单词共现的影响。可以发现,随着共现的增加,TP的结果是逐步的改善,而TN则在超过1000后有一个显著的下降。因此,LLM难以产生负面知识可能是因为见到太多的subject和object同时出现导致的。

摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

在正负样本平衡的影响方面,CG和QA任务的区别可能来自于预训练LLM时负面常识的曝光偏差,这里通过调整示例中正负样本的数量及比例来验证这个结果。结果显示,增加负面知识的曝光率可能改善信念冲突,但这在现实中并不可行。

CoT是否有助于生成负面常识的文本?

摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

实验显示,CoT确实可以改善负面常识文本的生成。

三、再看llamaindex的文档摘要索引

在之前的文章中,我们说到,基于大模型的问答系统大致执行路线是:

先获取源文档并将其划分为文本块,然后将文本块存储在矢量数据库中;

在查询时间期间,通过利用用于嵌入的相似性和/或关键字过滤器来检索文本块;

拼接Prompt,让大模型进行阅读理解生成。

但是这种方法有几个明显的缺点,例如:

文本块没有完整的全局上下文,这通常会限制问答过程的有效性;

需要仔细调整top-k/相似性得分阈值,因为太小的值可能导致错过相关上下文,而太大的值可能会增加不相关上下文的成本和延迟;

embedding可能并不总是为问题选择最合适的上下文,因为这个过程本质上是分别确定文本和上下文的。

因此,为了增强检索结果,可以细分标签,添加关键字过滤原则,如chatlaw,但是,这种方法有其自身的一系列挑战,例如通过手动标注或使用NLP关键词提取、主题模型来为每个文档识别适当的关键词是很难把控的。

因此,可以选择在摘要粒度上做工作,如下图所示;

摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

LlamaIndex引入文档摘要索引(Document Summary Index),可以为每个文档提取和索引非结构化文本摘要,从而提高现有方法之外的检索性能。

这个索引比单个文本块包含更多的信息,并且比关键词标签具有更多的语义,在构建期间,该索引加载文档,并使用LLM从每个文档中提取摘要,在查询期间,它根据摘要检索要查询的相关文档。

总结

本文主要介绍了《Say What You Mean! Large Language Models Speak Too Positively about Negative Commonsense Knowledge》这一工作,其关于负面知识的一些实验很有趣,这个对于事实性检测有借鉴之处。

而对于知识库外挂方式,如何让相关性做的更好,先做摘要,然后再算相关性也是一种做法,但效果如何,感兴趣的可以对比,实践检验真理。

参考文献

1、https://arxiv.org/pdf/2305.05976.pdf
2、https://zhuanlan.zhihu.com/p/649779207
3、https://gpt-index.readthedocs.io/

关于我们

老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。

老刘说NLP,将定期发布语言资源、工程实践、技术总结等内容,欢迎关注。

对于想加入更优质的知识图谱、事件图谱、大模型AIGC实践、相关分享的,可关注公众号,在后台菜单栏中点击会员社区->会员入群加入。

​​​       

原文始发于微信公众号(老刘说NLP):摘要索引提升大模型外挂知识库召回相关性:兼看LLM对反事实知识的判定能力评估

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...