有关如何将 GNN 与 LLM 相结合以丰富链接预测任务的实体级特征的技术细节。
现实世界的数据通常有多种表示形式。结构化图(Structured graphs)和非结构化文本(unstructured text)是解决不同领域问题的常见表示形式。利用这两种方式可以产生更强大的结果,尤其是对于链接预测等任务。
探索一种结合这些表示的方法,以解决看不见的实体和边(归纳设置https://towardsdatascience.com/inductive-link-prediction-in-knowledge-graphs-23f249c31961)甚至全新图形结构的链接预测中的挑战性场景。
为了解决这个问题,采用了两种方法。首先,ULTRA(https://towardsdatascience.com/ultra-foundation-models-for-knowledge-graph-reasoning-9f8f4a0d7f09),它朝着成为真正的图基础模(graph foundation model)型迈进了一步。其次,大型语言模型 (LLM) 具有理解和从文本中提取丰富表示的能力。
证明合并表述的合理性
在深入研究实施细节之前,对这两种表示的必要性给出一些直观的认识。
在案例中,图代表软件漏洞(CVE)、软件组件(CPE)和弱点(CWE)。用例的更多信息在之前的博客文章中阅读更多相关信息(https://medium.com/@daniel4x/redefining-libwebp-vulnerability-scoping-with-llms-and-knowledge-graphs-3f4aa2069ffc)。
为什么要使用知识图谱
在某些情况下,文本表示中不存在有关不同实体互连的信息。例如,Libwebp 漏洞 (CVE-2020-36331) 文本描述并未暗示存在漏洞的软件:
为什么使用文本表示的直觉Intuition
另一方面,信息可能不会以明确的、结构化的连接形式给出,例如图中的关系。
例如,以下漏洞(CVE)描述强烈暗示了弱点(CWE)类型,但不一定在图中给出直接关系:
关系图构造 — 原始图中不同关系的图表示(这次作为节点),以及与输入查询中的关系的相对交互。ULTRA 学习四种交互类型的嵌入:head2tail、tail2head、head2head 和 tail2tail。
相对关系表示——本质上,本文将此部分描述为条件消息传递图神经网络 (GNN)。这是通过使用 1 向量将关系图中的匹配节点初始化为输入查询中的关系来实现的。
相对实体表示——通过使用与从前一个组件获得的查询中的关系的匹配向量初始化查询中的头节点来获得实体表示。
技术说明:ULTRA在其 GNN 架构中使用了神经贝尔曼-福特网络 (NBFNet)的修改版。
文本表示
文本表示部分相对简单。任何嵌入语言模型都可以在这里工作以从文本中提取特征。在我们的案例中,我们使用了 OpenAI 的 Ada 模型,但该方法很灵活,可以适应其他嵌入模型。
实际上,此部分的输出应该是实体与其文本特征之间的映射。当文本表示不可用(缺少数据的情况)时,使用实体的标签或利用 LLM 生成简短描述可能是有效的。这可确保图中的每个实体都具有某种形式的文本表示。
这些嵌入的质量可以通过各种指标和任务来衡量。海量文本嵌入基准 (MTEB) 排行榜(https://huggingface.co/spaces/mteb/leaderboard)根据不同的评估方法对不同的嵌入模型进行了全面的比较,如其论文(https://arxiv.org/pdf/2210.07316)中所述。
联合表示
现在我们了解了如何获取图和文本表示的特征,我们准备将它们组合成一个统一的模型。
利用 ULTRA 仓库中这个问题中 Galkin 的建议(https://github.com/DeepGraphLearning/ULTRA/issues/9),我们提出了以下策略:
保留一个嵌入矩阵,根据图中实体到 ID 映射的顺序保存实体的文本特征。
在某些情况下,文本特征的嵌入维度与 ULTRA 中的默认输入维度(64)相比太大。我们在这里使用了两个全连接层来减少文本特征的维度。
最后,为了结合两种表示,我们在 ULTRA 的第三个组件(相对实体表示层)之前添加了一个中间层。中间层负责联系两种表示并确保它们的维度符合实体级 GNN 所期望的维度。
实际考虑和替代方案
根据我们的测试,在训练 ULTRA 时对文本嵌入进行微调效果不佳。虽然微调 ULTRA 对我们的数据有效,但训练周期少于 15 个周期,这不足以使文本嵌入发生显著变化。
每种用例的方法:虽然这种方法对于我们的用例很有效,但对于其他用例可能效果不佳。在匆忙进行测试之前,我们尝试在数据中找到利用这两种表示方法的理由。
集成策略可以改为“后期交互”,正如 Galkin在此处的回答所述。总体思路是将文本特征与实体级 GNN 的输出相结合;这使得 GNN 跳过文本特征嵌入的处理。
结合图和文本表示可以显著增强链接预测。将 ULTRA 与基于 LLM 的嵌入相结合可以有效利用结构化和非结构化数据。但是,根据您的用例证明这种双重方法的合理性至关重要。这种多模态方法为跨各个领域更全面的实体级特征丰富开辟了新的可能性。
DEEPNESS Lab 的网站
https://deepness-lab.org/publications/unveiling-hidden-links-between-unseen-security-entities/
ULTRA-LM GitHub 存储库
https://github.com/daniel4x/ULTRA-LM
ULTRA 的GitHub 存储库
https://github.com/DeepGraphLearning/ULTRA
作者
Daniel Alfasi, Reichman University
Tal Shapira, PhD, The Hebrew University of Jerusalem
Anat Bremler-Barr, Prof, Tel-Aviv University