KBQA知识图谱问答遇见大模型:ChatKBQA–基于微调大语言模型的知识图谱问答框架实现思路

今天是2023年11月2日,星期四,北京,雾霾。

我们来继续看看知识图谱与大模型的一些有趣工作。

KBQA一直是知识图谱地重要应用点,而在大模型的背景下,如何将两者结合起来,是个有趣的话题。

最近读到一个工作,比较有趣,ChatKBQA:基于微调大语言模型的知识图谱问答框架,全名《ChatKBQA:AGenerate-then-RetrieveFrameworkforKnowledgeBaseQuestionAnsweringwithFine-tunedLargeLanguageModels》利用微调开源大模型进行自然语言问题到逻辑形式的转换,再利用无监督实体关系检索生成图数据库查询语言,实现自然语言的知识图谱问答框架。

本文对该工作进行介绍,首先回顾KBQA这一经典任务以及存在的挑战,然后再对该工作的实现思路及效果进行对比揭示,供大家一起参考。

知识库问答(KBQA)是一项经典的自然语言处理(NLP)任务,用于基于大规模知识库(KB)上的事实来回答自然语言问题,例如Freebase、Wikidata和DBpedia等,这些知识库由构建的结构化知识图谱(KG)组成,由三元组(头实体、关系、尾实体)构成。

以前的KBQA方法主要集中在解决两个核心问题上:知识检索(knowledgeretrieval)和语义解析(semanticparsing)。

语义解析是将问题从非结构化自然语言转化为结构化的逻辑形式(logicalform),然后可以将其转化为可执行的图数据库查询语言(例如SPARQL)以获得精确的答案和可解释的路径。

传统的KBQA研究提出了不同的知识检索方法,比如利用命名实体识别(NER)技术、实体链接或子图检索等。

此外,Yu等(DECAF)结合了这两种方法,进一步提高了KBQA任务的准确性。

下图分别展示了传统的KBQA,即Retrieval-then-Generate的KBQA框架(左)以及ChatKBQA的框架,即Generate-then-Retrieval的框架(右)。

以往的检索-再生成知识库问答(KBQA)框架示例(左)与本文提出的生成-再检索KBQA框架ChatKBQA(右)对比

尽管如此,KBQA的研究仍存在三个挑战:

(1)检索效率低:传统方法首先确定候选实体的范围,然后进行实体检索和关系检索。由于自然语言问题的结构与知识库事实不同,大多数方法需要为提取和链接训练专用模型,效率较低。

(2)错误的检索结果会对语义解析产生误导:传统的方法还将检索到的三元组作为参考的输入提供给seq2seq模型,与原始问题一起。然而,由于检索到的三元组并不总是准确的,它们会对语义解析结果产生不利影响。此外,如果检索到的三元组很多,seq2seq模型需要更长的上下文长度。

(3)以往方法多个处理步骤使得KBQA成为一个复杂的任务:以前的研究将KBQA任务分解为多个子任务,形成了一个复杂的流水线处理,这使得复制和迁移变得困难。

在大型语言模型(LLMs)改造传统自然语言处理任务的时代,利用大模型重塑KBQA范式的方式成为了可能。

为了克服这些挑战,该工作提出了ChatKBQA,这是一种基于微调开源LLMs(大型语言模型),如Llama-2-7B,ChatGLM2-6B和Baichuan2-7B等,的新型生成-检索KBQA框架。

在具体实现上,首先微调生成逻辑形式,然后对生成的逻辑形式中的实体和关系在知识库中的实体库和关系库分别做检索,避免了以前方法存在的先检索对逻辑形式生成的影响,并提高检索效率。

ChatKBQA框架总览

在生成阶段,使用指令微调技术对开源LLMs进行微调,通过赋予它们感知和生成逻辑形式的能力,beamsearch显示约74%的测试问题在直接转化为逻辑形式后与事实相匹配,且在实体和关系被掩盖时,这一比例超过91%。

为了构建这种微调的训练数据,ChatKBQA首先将KBQA数据集的问题转换为相应的逻辑形式,并将实体ID替换为实体标签,从而更好地让大模型理解。通过组合自然语言问题和逻辑形式,并添加相应的指令,为大模型提供了指令微调训练数据。

使用各种高效微调方法,如LoRA和P-tuningv2,ChatKBQA仅微调了部分模型参数以达到与完全微调相似的性能,并可以在不同的大模型之间切换。

经过微调后,大模型在语义解析任务中表现出色,其输出的逻辑形式与基准逻辑形式的相似度非常高。这意味着,只需替换逻辑形式中的实体和关系,就可以进一步提高其性能。

在检索阶段,由于经过微调的LLMs对逻辑形式框架具有良好的生成能力,所以在检索阶段,采用一种无监督检索方法,将候选逻辑形式中的实体和关系经过短语级语义检索和替换,以获得最终的逻辑形式,可以转化为可在KB上执行的SPARQL查询。

对于给定的查询,无监督检索方法(如SimCSE、Contriever、BM25)无需额外的训练,可以选择语义上与候选集最相似的前k个作为检索到的答案集。

在检索之后,获得了最终的候选逻辑形式列表,然后我们依次遍历中的逻辑形式并将其转换为等效的SPARQL查询。当找到可以对知识库进行执行的第一个时,执行它以获取最终的答案集。

通过这种方法,还可以基于SPARQL查询获得自然语言问题的完整推理路径,具有良好的可解释性。

整体ChatKBQA框架简单易用,其中大模型部分可以用当前开源大模型进行替换,检索部分可以灵活地与其他语义匹配模型互换,确保具备即插即用的特性。

1、实验设置

所有实验都在两个标准的KBQA数据集上进行:WebQuestionsSP(WebQSP),其中包含4,737个自然语言问题和SPARQL查询,以及ComplexWebQuestions(CWQ),其中包含34,689个自然语言问题和SPARQL查询。这两个数据集都基于Freebase知识库。

将ChatKBQA与众多KBQA基线方法进行比较,包括KV-Mem,STAGG,GRAFT-Net,UHop,TopicUnits,TextRay以及第2节中提到的所有其他KBQA方法。

在WebQSP上对LLMs进行了100个epoch的微调,在CWQ上进行了10个epoch的微调,batchsize为4,学习率为5e-5。所有实验都在一块NVIDIAA40GPU(48GB)上完成。

ChatKBQA在CWQ数据集上与其他基线的KBQA结果比较,*表示使用oracle实体链接。

2、KBQA效果

在KBQA任务中,上表列出了提出的generate-then-retrieveChatKBQA框架的实验结果,采用了最佳设置,使用Llama-2-7B进行LoRA微调,beamsearch大小设置为15,以及SimCSE用于无监督检索,以及其他基线模型。

可以看到,ChatKBQA在WebQSP和CWQ数据集上都明显优于所有现有的KBQA方法。

与先前的最佳结果相比,ChatKBQA的F1分数、Hits@1和准确率分别提高了约4个百分点、4个百分点和4个百分点在WebQSP上,CWQ上分别提高了约3个百分点、15个百分点和4个百分点,这反映出ChatKBQA在KBQA任务上具有出色的性能,达到了最新的SOTA性能水平。

③为什么选择生成-检索,而不是检索-生成?

为了验证提出的基于大模型的生成然后检索方法是否优于以前的检索然后生成方法,采用了在DECAF中设计的指令获取的知识片段,并分别将Top1、Top2、Top5和Top10的检索结果添加到指令中,然后与不进行检索的Llama-2-7B的微调进行比较。

如下表所示,发现在逻辑形式生成方面,不进行检索优于进行检索,这体现在提取匹配比率(EM)、经过束搜索后的匹配比率(BM)和骨架匹配比率(SM)方面。这是因为检索得到的信息会包含错误的干扰信息,增加指令的最大标记数量,从而导致大模型对原始问题的灾难性遗忘,增加了训练的难度。

同时,观察到,没有进行检索的Llama-2-7B微调实现了74.7%的BM和91.1%的SM,表现出色,这是因为大模型已经学到了实体和关系的良好模式,为生成后的检索提供了基础。

比较在ChatKBQA中微调Llama-2-7B进行逻辑形式生成之前是否使用检索结果。

4、微调开源LLM与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更强的语6义解析能力,可以在EM和SM方面生成质量更高的逻辑形式。

ChatKBQA生成阶段与其他语言模型的比较。

本文主要介绍了基于大模型的生成-检索知识图谱问答框架ChatKBQA。

该方案利用生成再检索代替检索在生成的方式,解决了检索效率低、检索误导生成、KBQA任务解决方案复杂等痛点,在WebQSP和CWQ两个知识图谱问答基准benchmark上均达到了较好水平。

值得注意的是,该工作首次利用微调大模型生成图数据库查询语言的方式,即GQoT(GraphQueryofThoughts),将图查询作为大模型思考的过程,实现LLM+KG协同驱动的可解释推理问答的新范式。

此外,利用知识图谱的准确性和可解释性来弥补了大模型可能的幻觉现象以及本身的黑盒短板,将知识从大模型中解耦出来,可以对医疗、法律等专精垂域知识库上的可解释推理问答提供新思路。

本文由罗浩然供稿,作者:罗浩然,鄂海红(通讯作者),汤子辰,彭诗耀,郭艺凯,张文泰,麻程昊,董冠霆,宋美娜,林巍。作者单位:北京邮电大学计算机学院、北京邮电大学人工智能学院、北京计算机技术及应用研究所、浪潮集团

THE END
1.搜狗浏览器怎么设置搜索栏搜狗浏览器设置搜索栏方法详解浏览器 扮演者很重要的角色,它是用户了解世界的窗口。搜狗浏览器就具备很多优秀的浏览辅助功能,给予用户更棒的上网体验。用户还可以自定义设置搜索功能,还不知道怎么做的小伙伴们看过来!https://g.pconline.com.cn/1643/16431238.html
2.CHATGPT搜索框在哪里CHATGPT搜索框通常位于CHATGPT网站的首页或者网站的主要导航栏中。它通常是一个长方形的文本框,里面会有http://chatgpt.kuyin.cn/ask/155978.html
3.OpenAI为苹果“快捷指令”应用添加SearchGPT选项调用上下文应用OpenAI 最新版本的 ChatGPT 应用程序在 iPhone 和 iPad 上的“快捷指令”(Shortcuts)应用中新增了"打开 SearchGPT"选项。 对于可以访问 SearchGPT 的用户,点击快捷方式可启动 ChatGPT 应用程序并调用网络搜索功能。 OpenAI 在 10 月底为 ChatGPT 添加了 ChatGPT Search,引入了改进的基于 AI 的互联网搜索。 Searchhttps://www.163.com/dy/article/JHTQ7BKR0511BLFD.html
4.chatgpt华为怎么下载?Worktile社区华为手机上可以通过华为应用市场来下载ChatGPT。 首先,找到并打开“华为应用市场”应用。 在应用市场首页的搜索栏中,输入“ChatGPT”进行搜索。 找到ChatGPT应用后,点击下载按钮。 下载完成后,打开应用进行安装。 安装完成后,就可以在华为手机上使用ChatGPT了。 https://worktile.com/kb/ask/557076.html
5.ChatGPT爬上电脑桌面,微软把新必应按钮加进Windows11搜索框在Windows最新推送的更新中,集成Open AI GPT功能的新必应将出现在电脑的搜索栏上,使用户更轻松地调用AI搜索机器人。 当地时间周二,微软首席产品官帕诺斯·帕奈发布更新公告称,在Windows最新推送的更新中,集成Open AI GPT功能的新必应将出现在电脑的搜索栏上,使用户更轻松地调用AI搜索机器人。 https://36kr.com/p/2152128256430595
6.最新版ChatGPT如何下载使用教程?AI&chatGPT长臂猿2.搜索ChatGPT 在商店的搜索栏中输入“ChatGPT”,然后点击搜索。你会看到很多相关应用,但记住,我们要找的是官方版本。 3.确认并下载(官方版开发作者是OpenAI) 找到ChatGPT的官方应用后,仔细查看应用信息,确认无误后,点击“安装”按钮。这个过程可能需要几分钟,具体取决于你的网络速度。 https://www.changbiyuan.com/douyin/aiknowledge/2023/aiknowledge_1207/69917.html
7.RuoYiES:RuoYiRuoYi-ES 是基于不分离应用若依框架拓展出来的一款搜索引擎, ruoyi + elasticSearch 然后不知道怎么搞的,我上传es的资源提示我报错了,上传不了,然后你们要是觉得官网上面下载慢的话,可以加 Q Q 裙:881386783群里面有视频教学和对应的资源文件 ? (ChatGPT4.0)如果没有及时回复,可以先问问AI机器人 https://gitee.com/J-LJJ/RuoYi-ES
8.WebChatGPT插件官网,chatgpt免费联网,查询最新信息,无需开通plusWebChatGPT怎么样? 安装完WebChatGPT后,接下来需要进行一些设置以提升其效果。在ChatGPT的搜索栏下方找到设置选项,并将“结果数量”从默认的3个更改为“最大结果”。通过这样的设置,您可以让ChatGPT参考更多的真实、已发表的研究论文,并能够更快速地回复您的提问。 https://biemoyu.com/sites/webchatgpt.html
9.WebChatGPT插件官网,让你的chatgpt免费联网,查询最新信息,无需WebChatGPT怎么样? 安装完WebChatGPT后,接下来需要进行一些设置以提升其效果。在ChatGPT的搜索栏下方找到设置选项,并将“结果数量”从默认的3个更改为“最大结果”。通过这样的设置,您可以让ChatGPT参考更多的真实、已发表的研究论文,并能够更快速地回复您的提问。 https://feizhuke.com/sites/webchatgpt.html
10.如何在ChatGPT对话聊天中使用Bing第一步:购买ChatGPT Plus订阅 您首先需要购买ChatGPT Plus订阅,以便在聊天机器人中使用必应搜索。这是启用下面一些设置所必需的。ChatGPT Plus每月20美元,根据我们的经验,完全值得购买。下面是获取方法。 前往ChatGPT官方网站,注册或登录(如果您已有账户)。 https://www.wbolt.com/how-to-use-chatgpt-with-bing.html
11.「从零入门推荐系统」21:chatGPT大模型介绍数据与智能国外的除了openAI的GPT系列(GPT-1、GPT-2、GPT-3、InstructGPT、chatGPT、GPT-4),还有Google的Bard、Meta(Facebook)的LLaMA,国内有百度的文心一言(Ernie 3.0)、华为的盘古系列(PanGu)等。感兴趣的读者可以基于上图中的模型名称自己去搜索了解,也可以阅读参考文献19,这篇文献是一篇非常全面的介绍大语言模型的发展https://www.1633.com/article/232145.html
12.用于搜索引擎的ChatGPT助手(国内直连,GPT4,联网)为什么选择用于搜索引擎的ChatGPT助手? 1. GPT-4模型正式上线:您可以切换GPT-3.5和GPT-4模型来调整回答的准确性; 2. 侧边栏支持:在开发者模式下,我们提供侧边栏显示窗口。助您在除了搜索引擎页面之外也可以与ChatGPT聊天 3. 联网功能上线:摆脱AI信息差,实时搜索、结合最新消息。 4. 搜索https://microsoftedge.microsoft.com/addons/detail/%E7%94%A8%E4%BA%8E%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E7%9A%84chatgpt%E5%8A%A9%E6%89%8B%E5%9B%BD%E5%86%85%E7%9B%B4%E8%BF%9Egpt/hahmcjepekadldmkdnhffjbdjfdobedn
13.一文让你轻松注册ChatGPT账号@慕课网原创慕课网本文详细介绍了如何注册ChatGPT账户的步骤,包括下载谷歌浏览器、注册虚拟手机号账户、注册谷歌邮箱账户,以及最终的ChatGPT账号注册,全文大概2500字,阅读时间20分钟。 1、下载一个谷歌浏览器 网址如下:https://www.google.com/intl/zh-CN/chrome/点击下载,或右上角的手动下载,如果出现什么协议说明选择接受并安装。 https://m.imooc.com/mip/article/337916
14.手把手教你如何注册ChatGPT,超级详细–顾小北和他的朋友们相信,很多朋友已经都等不及了,要去调戏下ChatGPT。 来,我做了一个教程,大家可以手把手的实操起来~ 01 账号注册 1)注册链接: https://chat.openai.com/auth/login 2)输入邮箱,还有你的注册账号,并设置密码 3)验证邮箱 这里我是用QQ邮箱来注册的。 邮箱确认好之后,接下来要填入电话。 当然,有?些人会在https://guxiaobei.com/51461/
15.教你在微信中设置和接入chatgpt详细注册和安装方法在“小程序”页面顶部的搜索栏中,输入“ChatGPT”。这将显示ChatGPT小程序。 点击ChatGPT小程序以打开它。一旦打开,您将看到一个聊天界面,您可以使用它与ChatGPT交互。 在聊天界面中输入您的问题或消息,然后点击发送。 ChatGPT将处理您的消息并提供响应。 http://xinyuanhaowu.cn/cn/h-nd-1333.html
16.智度股份——总经理百度搜索出身,中国版ChatGPT受益者经百度确认经百度确认,类似ChatGPT的项目名字确定为文心一言,英文名ERNIE Bot,三月份完成内测,面向公众开放。“中国ChatGPT”一旦做成,百度就同时拥有了类ChatGPT技术和搜索市场优势,它将成为中国的“OpenAI+Google”。事实证明,ChatGPT落地最快领域之一即是:搜索引擎!!! https://xueqiu.com/8080798205/241467070
17.玩转ChatGPT:中科院ChatGPTAcademic项目部署与测评ChatGPT Shortcut:ChatGPT Shortcut - 简单易用的 ChatGPT 快捷指令表,让生产力倍增!标签筛选、关键词搜索和一键复制 Prompts | Tag filtering, keyword search, and one-click copy prompts让生产力加倍的 ChatGPT 快捷指令 https://ai.newzone.top/ https://download.csdn.net/blog/column/12274915/129944336
18.微软推出集成ChatGPT的新版必应搜索,但官方警告称其有时会误报IT之家2 月 8 日消息,今天微软公司推出了新版必应搜索引擎(https://www.bing.com/new)和 Edge 浏览器,集成了 OpenAI 开发的近期大热的 ChatGPT 技术,微软介绍称就像在你搜索 Web 时拥有一位研究助理、个人规划器和创意合作伙伴。 据微软介绍,新必应搜索采用 AI 模型 GPT 3.5 的升级版,比 ChatGPT 使用的 https://www.ithome.com/0/671/892.htm
19.我做了一个「咒语库」,帮你从提示词入手用好ChatGPT为了更好地使用 ChatGPT,我将精选的提示词编入索引,根据领域和功能对其进行分类,添加针对提示词的标签筛选、关键词搜索、一键复制和中英文切换功能,创建了ChatGPT Shortcut页面。即使是初学者,你只需复制提示词,稍加修改后发送给 ChatGPT,就能获得指定输出,让你的生产力加倍! https://ios.sspai.com/post/78581