网站备案流程及步骤,惠州微网站建设,百度互联网公司邯郸分公司,青岛模版网站建设第一作者#xff1a;罗浩然#xff0c;北京邮电大学博士研究生#xff0c;研究方向为知识图谱与大语言模型协同推理 OpenKG地址#xff1a;http://openkg.cn/tool/bupt-chatkbqa GitHub地址#xff1a;https://github.com/LHRLAB/ChatKBQA 论文链接#xff1a;https://ar… 第一作者罗浩然北京邮电大学博士研究生研究方向为知识图谱与大语言模型协同推理 OpenKG地址http://openkg.cn/tool/bupt-chatkbqa GitHub地址https://github.com/LHRLAB/ChatKBQA 论文链接https://arxiv.org/abs/2310.08975 动机 随着ChatGPT 的问世属于大模型的时代就此开始。无可否认大型语言模型LLMs如ChatGPT和GPT4在自然语言处理和人工智能领域中展现出了无与伦比的优势它们凭借“大数据、大算力、强算法”的支持不仅具有优越的文本生成能力还拥有深度的语义理解能力。但是尽管LLMs在这些领域中显示出强大的实力其操作过程却如同一个不透明的黑箱具体的决策逻辑难以被跟踪和解释。这就意味着在实际应用中它可能无法完整、准确地呈现背后的知识体系同时也有可能产生错误的答案。 另一方面知识图谱KGs例如Wikidata、Freebase和DBpedia通过图谱结构显式地呈现了大量事实性知识及其间的关联。这种结构化的方式让人们能够更直观地看到知识的连贯性和丰富性从而在推理和问答等任务中获得更高的可解释性。但知识图谱规模庞大创建和维护需要付出巨大努力并且天然无法使用自然语言进行问答和查询这无疑增加了其在实际应用中的困难度。 图1.大模型LLMs与知识图谱KGs优劣势对比 不难发现大模型所缺少的可解释性以及推理过程和依据正是知识图谱的优势所在而知识图谱的复杂性和对自然语言的陌生又是大模型旨在解决的问题那么二者能否相结合从而达到完美互补的效果呢在这种背景下ChatKBQA应运而生。 图2.ChatKBQA在给出最终答案以外还给出可解释KG推理路径 ChatKBQA在利用大模型强大的学习能力以及自然语言理解能力的同时利用知识图谱的准确性和可解释性来弥补了大模型可能的幻觉现象以及本身的黑盒短板将知识从大模型中解耦出来实现可解释推理问答的LLMKG新范式对医疗、法律等专精垂域知识库上的可解释推理问答提供了新思路。 亮点 1通过提出基于大模型的生成-检索知识图谱问答框架ChatKBQA。利用生成再检索代替检索再生成的方式解决了检索效率低、检索误导生成、KBQA任务解决方案复杂等痛点。 2在WebQSP和CWQ两个知识图谱问答基准benchmark上均达到目前的SOTA水平。 3首次利用微调大模型生成图数据库查询语言的方式即GQoTGraph Query of Thoughts将图查询作为大模型思考的过程实现LLMKG协同驱动的可解释推理问答的新范式。 方法 ChatKBQA是一个使用经过微调的开源大模型的生成-然后检索的知识库问答KBQA框架。首先ChatKBQA框架需要通过指令调整在KBQA数据集中的自然语言问题逻辑形式对来高效微调开源大模型。微调后的大模型用于通过语义解析将新的自然语言问题转化为相应的候选逻辑形式。然后ChatKBQA在短语级别检索这些逻辑形式中的实体和关系并在将其转化为SPARQL后搜索可以针对知识库执行的逻辑形式。最后通过转化获得的SPARQL用于获取最终的答案集并实现对自然语言问题的可解释和需要知识的回答。下图给出了ChatKBQA 的整体框架描述。 图3.ChatKBQA框架总览 1对大模型进行高效微调 为了构建指令微调的训练数据ChatKBQA首先将KBQA数据集中测试集的自然语言问题对应的SPARQL查询转化为相应的逻辑形式然后将这些逻辑形式中的实体ID例如“m.06w2sn5”替换为相应的实体标签例如“[Justin Bieber]”从而使大模型能够更好地理解实体标签而不是无意义的实体ID。然后我们将自然语言问题例如“What is the name of justin bieber brother?”和处理后的对应逻辑形式例如“(AND (JOIN [people, person, gender] [Male]) (JOIN (R [people, sibling relationship, sibling]) (JOIN (R [people, person, siblings]) [Justin Bieber])))”组合成“输入”和“输出”并添加“指令”为“生成一个逻辑形式查询检索与给定问题相对应的信息”构成了针对开源大模型的指令微调训练数据。为了减小对具有大量参数的大模型进行微调的成本ChatKBQA使用参数高效微调PEFT方法如LoRA、QLoRA、P-tuning v2、Freeze等仅微调少量模型参数以实现与完全微调相当的性能。同时ChatKBQA可以在所有上述高效微调方法以及大模型之间切换如Llama-2-7B和ChatGLM2-6B。 2微调后的大模型进行逻辑形式的生成 经过微调大模型已经拥有了一定的自然语言问题转化为逻辑形式的语义解析能力。因此我们使用经过微调的大模型对测试集中的新问题进行语义解析发现大约63%的样本已经与基准逻辑形式完全相同。当我们使用beam search时大模型输出的候选逻辑形式列表C中包含了约74%的样本与基准逻辑形式一致这表明经过微调的大模型在语义解析任务的学习和解析能力方面表现出色。此外如果我们将生成的候选逻辑形式中的实体和关系替换为“[]”例如“(AND (JOIN [] []) (JOIN (R []) (JOIN (R []) []))”形成逻辑形式的骨架那么基准逻辑形式的骨架中出现在候选骨架中的样本比例超过91%。这表明我们只需将逻辑形式中相应位置的实体和关系替换为KB中存在的实体和关系就可以进一步提高性能。 3无监督的实体和关系检索 由于经过微调的LLMs对逻辑形式框架具有良好的生成能力所以在检索阶段我们采用一种无监督检索方法将候选逻辑形式中的实体和关系经过短语级语义检索和替换以获得最终的逻辑形式可以转化为可在KB上执行的SPARQL查询。 图4.无监督的逻辑形式中实体关系检索算法 对于给定的查询无监督检索方法如SimCSE、Contriever、BM25无需额外的训练可以选择语义上与候选集最相似的前k个作为检索到的答案集。 4可解释的查询执行 在检索之后我们获得了最终的候选逻辑形式列表 C′′然后我们依次遍历 C′′ 中的逻辑形式 F 并将其转换为等效的 SPARQL 查询 q Convert(F)。当找到可以对知识库 K 进行执行的第一个 q 时我们执行它以获取最终的答案集 A Execute(q|K)。通过这种方法我们还可以基于 SPARQL 查询获得自然语言问题的完整推理路径具有良好的可解释性。 综上ChatKBQA提出了一种思考方式既利用大模型执行自然语言语义解析以生成图查询又通过调用外部知识库进行可解释的查询推理我们将其称为“思考的图查询”(GQoT)这是一种有前途的LLMKG组合范式可更好地利用外部知识提高问答的可解释性避免LLM的幻觉。 实验 数据集所有实验都在两个标准的KBQA数据集上进行WebQuestionsSP (WebQSP) 其中包含4,737个自然语言问题和SPARQL查询以及ComplexWebQuestions (CWQ)其中包含34,689个自然语言问题和SPARQL查询。这两个数据集都基于Freebase知识库。 基线模型我们将ChatKBQA与众多KBQA基线方法进行比较包括KV-Mem STAGGGRAFT-Net UHopTopic UnitsTextRay等KBQA方法。 评估指标与以前的研究一样我们使用F1分数、Hits1和准确度Acc来表示所有答案和单个排名最高答案的覆盖率以及精确匹配准确度。 超参数和环境我们在WebQSP上对LLMs进行了100个epoch的微调在CWQ上进行了10个epoch的微调batch size为4学习率为5e-5。所有实验都在一块NVIDIA A40 GPU48GB上完成结果是从五次随机种子实验中取平均值得出的。 我们回答以下研究问题RQs RQ1KBQA实验结果 图5.ChatKBQA在CWQ数据集上与其他基线的KBQA结果比较*表示使用oracle实体链接 在KBQA任务中上表列出了我们提出的generate-then-retrieve ChatKBQA框架的实验结果采用了最佳设置使用Llama-2-7B进行LoRA微调beam search大小设置为15以及SimCSE用于无监督检索以及其他基线模型。我们可以看到ChatKBQA在WebQSP和CWQ数据集上都明显优于所有现有的KBQA方法。与先前的最佳结果相比ChatKBQA的F1分数、Hits1和准确率分别提高了约4个百分点、4个百分点和4个百分点在WebQSP上CWQ上分别提高了约3个百分点、15个百分点和4个百分点这反映出ChatKBQA在KBQA任务上具有出色的性能达到了最新的SOTA性能水平。 RQ2消融实验 为了验证ChatKBQA的生成和检索阶段的有效性我们分别对这两个阶段进行了分离的消融分析。在生成阶段我们使用了训练数据的20、40、60和80与完整训练集进行的模型微调相比的效果。如下图左所示随着训练数据量的增加KBQA的效果也越来越好证明了微调的有效性。在检索阶段为了分别验证实体检索ER和关系检索RR我们从框架中分别去除了ER或RR并得到了三个简化的变体ChatKBQA w/o ERChatKBQA w/o RR和ChatKBQA w/o ER, RR然后以不同的beam size进行比较。如下图(右)所示增加beam size显著提高了效果ER和RR都对结果有贡献其中ER的贡献高于RR因为ChatKBQA w/o RR比ChatKBQA w/o ER要好。 图6.ChatKBQA生成阶段的消融研究(左)ChatKBQA检索阶段的消融研究(右) RQ3生成-检索还是检索-生成 为了验证我们提出的基于大模型的生成然后检索方法是否优于以前的检索然后生成方法我们采用了在DECAF中设计的指令获取的知识片段并分别将Top1、Top2、Top5和Top10的检索结果添加到指令中然后与不进行检索的Llama-2-7B的微调进行比较。如下表所示我们发现在逻辑形式生成方面不进行检索优于进行检索这体现在提取匹配比率EM、经过束搜索后的匹配比率BM和骨架匹配比率SM方面。这是因为检索得到的信息会包含错误的干扰信息增加指令的最大标记数量从而导致大模型对原始问题的灾难性遗忘增加了训练的难度。同时我们观察到没有进行检索的Llama-2-7B微调实现了74.7%的BM和91.1%的SM表现出色这是因为大模型已经学到了实体和关系的良好模式为生成后的检索提供了基础。 图7.比较在ChatKBQA中微调Llama-2-7B进行逻辑形式生成之前是否使用检索结果 RQ4在生成阶段与ChatGPT以及T5的比较 为了说明为什么ChatKBQA选择对开源的生成型大模型进行微调例如Llama-27B和ChatGLM2-6B我们分别将生成逻辑形式的大模型替换为ChatGPT、GPT-4、T5和Flan-T5观察它们的提取匹配EM和不使用束搜索的骨架匹配SM结果。如下图所示尽管ChatGPT和GPT-4具有大量的参数但由于它们不是开源的无法进行良好的逻辑形式生成。而T5和Flan-T5在经过微调后可以很好地捕获骨架但EM仅约为10%远不如Llama-2-7B的63%因此不能保证后续的无监督实体和关系检索。经过微调的开源大模型如Llama-2-7B和ChatGLM2-6B展现出比T5和ChatGPT更强的语义解析能力可以在EM和SM方面生成质量更高的逻辑形式。 图8.ChatKBQA生成阶段与其他语言模型的比较 RQ5检索阶段的效率分析 为了体现生成-然后检索方法如何提高检索效率我们将逻辑形式生成AG-R后的实体检索ER和关系检索RR与传统从自然语言问题中的检索NL-R进行了比较。我们将检索的效率定义为要检索的文本与一组检索答案之间的平均相似度该相似度范围在[0,1]之间由不同的检索模型进行评分。需要注意的是BM25需要进行评分然后通过映射函数映射到[0,1]范围的相似度。 如下图所示所有三种检索方法SimCSEContriever和BM25都认为AG-R比NL-R更有效对ER和RR来说差距更为显著。这是因为NL-R仍然需要确定实体或关系的位置而在AG-R中LLM生成了逻辑形式后这一步骤已经完成。此外通常来说生成的逻辑形式中的关系种类比实体少而逻辑形式通常可以被直接且准确地预测而在自然语言问题中关系通常以隐式方式表示这使得AG-R在RR上相对于NL-R的效率情况完全不同这加强了生成-然后检索方法的优势。 图9.ChatKBQA检索阶段在自然语言问题上NL-R与在生成逻辑形式上AG-R做检索的效率比较 RQ6即插即用的特性 ChatKBQA是一个基于LLMs的KBQA框架具有即插即用特性可以灵活替换三个部分大模型、高效微调方法和无监督检索方法。我们选择Llama-2-13B作为大模型LoRA作为调整方法以及SimCSE作为检索方法的基本变种并将所有变种的beam size设置为8以在单个A40 GPU上进行比较。我们测试了多种大模型例如Baichuan2-7B、Baichuan2-13B、ChatGLM2-6B、Llama-2-7B微调方法部分的QLoRA、P-Tuning v2、Freeze以及检索方法部分的Contriever和BM25。由于ChatKBQA具有即插即用的特性随着大模型和调整以及检索方法的升级KBQA任务将变得更好地解决具有良好的灵活性和可扩展性。 图10.ChatKBQA框架分别替换llm、调优方法和无监督检索方法的即插即用性能比较beam大小均设为8 总结 在这项工作中我们提出了ChatKBQA这是一个基于生成-检索的框架用于知识库问答KBQA充分利用了现代经过微调的大型语言模型LLMs的强大能力。通过将重点放在检索之前的逻辑形式生成上我们的方法与传统方法有了显著的不同解决了检索效率低和检索错误对经过微调的开源大模型和无监督检索方法的语义解析的误导性影响等固有挑战。我们的实验结果基于两个标准的KBQA基准数据集WebQSP和CWQ证实ChatKBQA在KBQA领域取得了新的最佳表现。此外我们的框架的简单性和灵活性特别是其即插即用的特性使其成为将大模型与知识图集成以进行更具解释性和知识要求的问答任务的有前途的方向。 OpenKG OpenKG中文开放知识图谱旨在推动以中文为核心的知识图谱数据的开放、互联及众包并促进知识图谱算法、工具及平台的开源开放。 点击阅读原文进入 OpenKG 网站。