AI 文摘

浅谈知识图谱与大模型AI搜索结合的影子:兼看知识图谱多跳链接预测方案KG-LLM





作者: 老刘说NLP 来源: 老刘说NLP

今天是2024年3月15日,星期五,北京,天气晴。

我们先来关注过去一天的一些有趣的话,先来看看老刘说NLP20240314大模型进展早报。

其中,重点的包括有:关于数字人开源项目,反常识的结论:无关的噪音文档放在正确的位置时,实际上有助于提高RAG的准确性。infoRAG,将LLMs在RAG中的角色视为“信息精练器”可提升RAG的效果

此外,大模型Gemma的技术报告发布,千问大模型也推出网页端长文本问答服务体验,解析超万页文档、速读百份文档,卷长文本问答领域,可参考对比kimichat,以及包括关于RAG多轮问答以及FAQ问答对生成的讨论总结。

我们再来看看一个工作,知识图谱与大模型用于链接预测,方案思路很粗暴,prompt工作:Knowledge Graph Large Language Model (KG-LLM) for Link Prediction :https://arxiv.org/pdf/2403.07311,这个在多跳知识推理上可以借鉴

最后,我们再看看关于AI搜索的一些话题,包括当前知识图谱与AI搜索结合的一些案例 ,会很有趣。

供大家一起思考并参考。

一、大模型用于知识图谱多跳链接预测:KG-LLM

我们在前面的工作中有介绍道,当前基于嵌入的方法利用技术将KG中的实体和关系表示为低维向量,通过保持图的结构和语义完整性来解决链接预测任务,而且,现有方法主要关注预测两个直接节点之间的链路,这使得多跳链路预测领域在很大程度上并未得到探索。

因此,工作《Knowledge Graph Large Language Model (KG-LLM) for Link Prediction 》(https://arxiv.org/pdf/2403.07311) 提出一种多跳链路预测的方案。

1、KG-LLM的框架定义

其核心思想在于,利用关键的自然语言处理范式,包括思维链(CoT)提示和上下文学习(ICL),来增强知识图中的多跳链接预测,通过将KG转换为CoT提示符识别和学习实体及其相互关系的潜在表示。

在具体实现上,其中节点通过特定关系相互连接,接受原始KG数据集的输入。经过预处理后,KG中的路径被转换成一个思维链(CoT)提示符,通过一系列关系语句封装,可以表示为**{Node 1 (has relation_x with) Node 2, Node 2 (has relation_y with) Node 3, etc.}**,后续基于此进行处理。

如下图所示:

KG-LLM框架的一个示例可以通过由两个阶段组成的简单任务直观地演示:

在第一阶段,将原始KG作为输入,预处理函数在KG中随机选择唯一路径,使该路径能够表示为思维链提示。

第二阶段使用指令微调来调优LLM,以预测kg子图中的第一个节点是否连接到最后一个节点,具体的,在微调阶段,使用三种不同的llm: Flan-T5-Large、LlaMa2-7B和Gemma-7B, 在训练过程中,使用交叉熵损失函数计算模型在预期输出序列中预测的token概率与实际token概率的差值。

2、KG-LLM的任务定义

设KG=(E,R,L)表示一个知识知识图谱,其中E为实体集,R为关系集,L≥E×R×E为三元组的集合。每个三元组(ei,r,ei+1)∈L表示实体ei与实体ei+1之间存在一条关系为r的有向边。

Multi-hop Link Prediction任务 。多跳链路预测的任务与简单的链接预测不同,该任务旨在识别知识图中多个关系中的缺失连接,给定构成一个connected path Pobs=(e1,r1,e2),(e2,r2,e3),…,(en−1,rn−1,en)的三元组观测序列,其中每个三组(ei,ri,ei+1)表示实体ei与ei+1之间的观察关系ri,其目标是通过回答True或False来预测缺失链接lmiss=(e1,?,en)是否存在。

Multi-hop Relation Prediction任务 。多跳关系预测的任务与多跳链路预测的概念非常接近,但在问题和问题输出上有关键区别,该任务不是确定缺失链接是否存在,而是将重点从是否查询转移到特定关系预测。

3、知识提示的设计

知识提示是指为KG设计的专门提示,能够将给定的观察到的三组pob序列转换为自然语言 ,从而促进模型更好地学习。

通过利用训练过程中的知识提示,该模型能够更有效地理解KGs中存在的潜在关系和模式,从而提高多跳链路预测任务的整体性能。

其定义了两种类型的知识提示,标准知识提示和KG-LLM知识提示。

先看标准知识提示Standard Prompt提示:

再看KG-LLM Prompt提示:

4、具体的训练数据集样式

因为要经过微调阶段,所以需要准备一些特定的微调数据集,该工作设计了加入ICL的数据,在数据选择上,该工作采用知识表示学习领域中评估知识图嵌入模型常用的两个基准数据集WN18RR和NELL-995。

在WN18RR和NELL-995数据集的预处理阶段,生成相等数量的正负实例进行训练,具体地从正负数据集中随机抽取80%的条目构成训练数据,20%用于测试。

Multi-hop Link Prediction数据

Multi-hop Relation Prediction任务数据集

5、几个具体的预测例子

先看Multi-hop Link Prediction With/without ICL的例子

再看Multi-hop Relation Prediction With/withou ICL的例子

不过可以想到的是,这种关系类型,如果只有id,其没有实际的关系含义,是如何做的学习,以及其在进行多跳关系预测时,当关系类别特别的多的时候,整个的prompt会显得特别的长,这时候如何抱保证准确性。

二、再看结合知识图谱影子的AI搜索

当前,AI搜索受到广泛关注,社区也在《《AI搜索、Agent、长文本等2024年1月大模型总结-兼谈碎片化时代如何高效学习?》中有分享过相关的工作。而关于AI搜索,前几年的magi搜索已经收到广泛关注,传统搜索引擎围绕文档 (document) 构建 (例如微信中的一篇文章、百度中的一个网页、抖音中的一个视频):用户搜索得到的结果是未经加工的原始内容,且文档之间是孤立的,而现在又有不同花样。

1、以结构化知识为中心的magi知识搜索

magi搜索引擎围绕知识 (knowledge) 构建。

我们在之前的文章《也谈Magi系统:知识(非搜索)引擎下的别样高度与落地批判》(https://mp.weixin.qq.com/s/8b1UW74P5bkMVGYhuQDBSQ)中有系统介绍过。

其中关于magi的定位,有几个明显的结论,例如:

Magi是一个知识引擎,不是传统意义上的搜索引擎。

Magi 不依赖任何“知识库”,它是一种从纯文本自动构建尽量可信的知识图谱的技术。我们希望 Magi 能帮助知识工程的规模化,让各种知识图谱不用过于依赖百科维基等手动维护的数据库

magi并不是要取代传统搜索引擎的使用场景。任何搜索引擎的使命都是整理并检索信息,其和传统搜索引擎的本质区别在于信息的组织形式。

利用AI对原始内容进行理解后,为用户提供更细粒度的结果,且每个结果都是综合多个文档的内容而来的,因此,我们将http://magi.com定位为一个知识引擎,满足用户定向获取密集知识的需求,具体而言:

1、定向:用户是带着问题来的,而不是在 “刷”,此时进行推荐反而是一种干扰,这与现在主流的视频和文章推荐场景截然相反;

2、密集:搜索常发生在紧凑的事务中,例如工作中收集信息时,用户期望的不是大量罗列 “XX号” 文章或链接,而是能一目十行的综述、报表、答案;

3、知识:功能性质的需求已被各 App 分流,更不需要再做天气、股票等小工具,用户搜索目的相对集中在知识和资源,知识尤指不被单一平台控制的通识信息。

但是,以结构化知识为中心的搜索引擎,最大的问题就是其结构化的准确性很难保证,语言的歧义性、实体的歧义性 ,以及结构化信息所带来的信息损失都是值得考究的,例如如下,即使抽出来了,但也没有太大意义。

2、以摘要为核心的perplexity等大模型搜索

与magi这种先将文本进行结构化搜索的方案不同,凭借着大模型的阅读的理解能力和摘要能力,当前通过摘要为核心的大模型AI搜索收到广泛关注,其本质上是RAG范式在传统搜索领域的一个应用场景。

例如,当前比较知名的perplexity AI搜索,国内的天工搜索、360AI搜索等,都先后推出了自己的AI搜索产品。

一句话总结就是,Perplexity并非简单给出网站链接,针对用户的搜索问题提供直接的答案,这种模式提升了搜索效率,也使得搜索过程更为智能。

这类方案的实现过程也可以很朴素的理解【相当朴素的实现方案】:输入用户query:

首先,使用进行query意图理解,这个过程包括query的分析(去停用词、实体识别、关键词提取、归一化等)、query的扩展(一个query扩展成多个sub query,以扩大召回面),形成标准和多样化的query集合。

接着,使用并发检索的方式,针对query进行检索,检索后再进行粗排、精排等方式,召回出符合特定阈值的相关网页文档。

最后,将相关网页文档追加至prompt,然后让大模型进行总结回答,回答出答案以及对应的链接。

整个的流程其实大都依赖于搜索引擎,搜索引擎的内容建设情况,内容质量决定了召回后的质量,体现在实时性等,召回的速度、排序的方法也决定了返回内容的质量,而其中query的扩展其实很不稳定,并且因为用户query的歧义性问题,使得query改写很容易发生漂移,因此,如何受控地进行泛化,是个难点。

当前,当前的AI搜索,并不满足于简单的摘要,其有种大的趋势,是将返回的内容多样化,如追问,延伸阅读、返回相关视频、图片等,想办法将原先搜索的一套搬进去

3、将图谱影子纳入到AI搜索的第三种形式

实际上,正如我们所看到的,AI搜索在query泛化上的不受控,可以借助预先建设好的知识图谱进行控制,例如搜刘德华,可以识别出这一个人,并且是一个明星,可以搜索其作为一个明星或者人物的本体来进而泛化成“刘德华的老婆”、“刘德华的代表作品”、“刘德华的获奖情况”等,这个可以作为一个扩展。而另一条线,也可以通过实体链接的方式,找到刘德华相关的一些实体,然后进行相关实体推荐,这些其实都可以通过知识图谱去做。

但是,很不幸的是,这会落入到知识图谱的困境里,首先,你得需要有这样一个知识图谱,这个图谱还足够全,足够新;此外,用户的query千变万化,实体链接难度很大,实体识别难度也很大,召回后的实体也很多,虽然可以再使用rerank等方案进行优化,但其计算量以及不可控性也在加大。

当然,也可以在结果整理阶段,加入一些知识图谱的例子,如相关事件、相关机构等,底层通过实体识别方式去做。

这其实是在知识图谱实的方式上做的一些事情,我们来看看在知识图谱形上的一些案例。

如果我们不直接将知识图谱作为上下文来参与到AI搜索的流程中,那么可以可以将知识图谱这种宽泛意义上的形式参与进去,例如使用思维导图的方式来对摘要进行组织形式上的展现,又如使用细分知识点的方式来进行内容组织。

例如meta搜索上的一些例子,额右侧可以使用脑图方式进行呈现。

又如global explorer上的例子,当输入“我想去滑雪”时,左侧可以按层次列举出滑雪的地点、滑雪的装备、滑雪安全以及滑雪乐趣等,并且还给出了对应的图片和代表的网页。

我们可以看到,global explorer其实又是另一种模式,其做的是一种schema驱动的AI搜索,但这种schema是预先定义好的,还是自动汇集的,值得思考,但也可想而知,挑战很大。

总结

本文主要回顾了昨天的大模型进展、基于大模型和知识图谱完成多跳问答的方案以及知识图谱在AI搜索中的一些案例。

其中涉及到的一些思路值得我们思考,大家可以多想想。

参考文献

1、https://www.163264.com/6615

2、https://explorer.globe.engineer/?q=今天我想去滑雪

关于我们

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

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

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

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具