论文笔记:Knowledge-Augmented Language Model Promptingfor Zero-Shot Knowledge Graph Question Answering

论文来源:arxiv 202306

论文地址:2306.04136.pdf (arxiv.org)

论文代码:未公布

Baek J, Aji A F, Saffari A. Knowledge-Augmented Language Model Prompting for Zero-Shot Knowledge Graph Question Answering[J]. arXiv preprint arXiv:2306.04136, 2023.


Abstract

        LLM能够根据其在预训练过程中存储在参数中的内部知识进行零样本闭卷问答任务,但是这种内部知识可能是不正确的和过时的,导致LLM生成事实上错误的答案,此外,对LLM进行微调来更新其中的知识是昂贵的。为此,本文直接在LLM的输入中增加知识。具体来说,首先根据问题及相关事实之间的语义相似性从知识图谱中检索与输入问题相关的事实;然后,将检索到的事实以提示的形式与输入问题融合,并输入到LLM中,生成答案。KAPING框架不需要重新进行模型训练,因此可以适用于零样本场景。本文在KGQA任务上验证了KAPING框架的性能。

Introduction

        尽管从KG中检索相关事实三元组作为提示输入到LLM中生成答案的方法看起来简单有效,但是会存在以下几个挑战:

        ① 大多数检索到的与问题实体相关的三元组都与回答给定的问题无关,这可能会误导模型产生错误的答案;

        ② 问题实体的三元组数量偶尔会很大,因此,对包括不必要的三元组在内的所有三元组进行编码会产生很高的计算成本,尤其是LLM。

        为了克服上述挑战,本文基于与输入问题的语义相似性,过滤掉不必要的三元组。具体来说,首先在嵌入空间中表示问题及其相关的三元组;然后,检索少量与输入问题更相近的三元组。这样,可以在给定问题中添加更相关的三元组,以有效防止LLM以高计算效率生成不相关答案。值得注意的是,本文所采用的过滤方法是现成的句子嵌入模型,因此,模型的各个部分都不需要额外的训练。

Method

Knowledge-Augmented LM Prompting

Knowledge Access

        首先提取问题中的实体,然后基于提取的实体,在KG中找到相应的实体(现有的实体链接技术),然后其事件三元组成为与输入问题相关的事实。

Knowledge Verbalization

        在将KG中的符号事实输入到LLM之前,首先需要将三元组转化为文本字符串。在本文中,采用将三元组中的头实体、关系和尾实体进行拼接的方式。

Knowledge Inject

        首先,枚举N个语言化的三元组,然后,在提示的顶部添加具体的指令:“Below are facts in the form of the triple meaningful to answer the question.”,之后,知识提示将加在问题提示之前,由知识和问题提示为条件的LLM将依次生成答案。

Question-Relevant Knowledge Retrieval

Knowledge Retriever

        对于语言化的三元组和问题,我们首先将他们嵌入到现成的句子嵌入模型得表示空间中,进行文本检索,然后计算他们的相似性,之后使用前K个相似的三元组。

### 知识增强型语言模型的适应方法 知识增强型语言模型通过融合外部知识库来提升性能,特别是在特定领域内的应用效果显著。这类模型不仅依赖于预训练阶段积累的知识,还能够在推理过程中动态获取最新信息。 #### 动态检索机制 为了使大型语言模型更好地服务于特定应用场景,一种有效的方法是在生成响应之前引入基于文档或其他结构化数据源的信息检索步骤[^1]。此过程允许模型访问最新的事实性资料,从而提高回复的相关性和准确性。 #### 多模态感知能力 除了文本之外,环境中的其他形式的数据也可以被用来辅助决策制定。例如,在交互式多模态感知的研究中提到,利用视觉、听觉等多种感官输入可以构建更加全面的理解框架,进而支持更复杂的任务执行[^2]。 #### 领域专用调整策略 针对视频编辑等行业需求开发专门版本的语言处理工具也是一种常见的做法。这些定制化的解决方案通常会集成行业特有的术语表以及工作流程优化建议等内容,以满足用户的特殊要求[^3]。 ```python def knowledge_augmented_response(query, external_knowledge_base): """ 使用外部知识库增强查询的回答质量 参数: query (str): 用户提出的原始问题 external_knowledge_base (dict): 包含额外背景信息的数据集 返回: str: 结合了新获得的事实后的改进版答案 """ retrieved_info = retrieve_relevant_information(query, external_knowledge_base) enhanced_answer = generate_enhanced_reply(retrieved_info) return enhanced_answer def retrieve_relevant_information(question, kb): pass # 实现具体的检索逻辑 def generate_enhanced_reply(info): pass # 基于检索到的信息创建更好的回应 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值