论文浅尝 | 基于生成模型的多模态实体链接

2024-06-22 11:20

本文主要是介绍论文浅尝 | 基于生成模型的多模态实体链接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

77fccaedbcb6dabe336ff552a51b2c77.png

笔记整理:郭凌冰,浙江大学博士,研究方向为知识图谱

链接:https://arxiv.org/abs/2306.12725

1. 动机

多模态实体链接(Multimodal Entity Linking,MEL)旨在将带有多模态上下文的提及映射到知识库(如维基百科)中的参考实体。现有的MEL方法主要侧重于设计复杂的多模态交互机制,并需要对所有模型参数进行微调,这在大型语言模型(LLM)时代可能成本过高且难以扩展。在本文中,作者提出了一种简单而有效的基于LLM的生成式多模态实体链接框架(Generative Multimodal

Entity Linking framework based on LLMs),称为GEMEL,该框架直接生成目标实体名称。GEMEL将视觉和语言模型固定,仅训练一个特征映射器以实现跨模态交互。该方法与任何现成的语言模型兼容,为在MEL任务中利用LLM的高效和通用解决方案铺平了道路。

2. 贡献

本文的主要贡献有:

(1)作者提出了GEMEL,一个简单而有效的多模态实体链接框架,其利用生成式LLM来解决MEL任务。这是首个在MEL任务中引入基于LLM的生成方法的工作。

(2)大量实验证明,仅微调约0.3%的模型参数,GEMEL在两个成熟的MEL数据集上取得了最先进的结果(在WikiDiverse上提高了7.7%的准确率,在WikiMEL上提高了8.8%的准确率),展现了高参数效率和强大的可扩展性。

(3)论文进一步的研究揭示了LLM预测中的流行度偏差,而GEMEL框架可以有效缓解这种偏差,从而提高MEL任务的整体性能。

3. 方法

总体框架如图1所示,给定多模态提及上下文,GEMEL可以利用LLM的能力直接生成目标实体名称(例如,“轮椅击剑”),并使用n个检索到的多模态实例作为上下文示例。图中的<image>表示视觉前缀,文本中的提及被下划线标记。GEMEL将LLM和视觉编码器的参数固定,只训练一个特征映射器将图像特征映射到文本空间中。

802760c23150cdd07aa2ef62e288eeab.png

图1 总体框架图

GEMEL由两个模块组成:即特征对齐和语言模型生成:

对于特征对齐,作者首先从冻结的视觉编码器中提取图像特征。然后,通过特征映射器将这些图像特征投影到文本嵌入空间中,并将其作为视觉前缀输入到LLM中。

其中视觉编码器是为了从与提及(Mention)对应的输入图像中提取视觉特征,GEMEL利用一个预训练的视觉骨干模型,该模型生成维度为  ,其权重被保持冻结状态。

特征映射器:为了促进跨模态对齐和融合,作者使用一个特征映射器将视觉特征投影到一个软提示中,即LLM的视觉前缀输入。具体来讲,通过训练一个特征映射器W对视觉嵌入投影,然后将结果重塑为一个视觉前缀,即一个包含k个嵌入向量  的序列,其中每个嵌入向量与LLM输入标记生成的文本嵌入具有相同的隐藏维度  。

对于语言模型生成,为了让LLM更好地理解MEL任务,作者利用其上下文学习(in-context learning,ICL)能力,并从训练集中构建一个提示模板,其中包含n个示例演示。以图1中的蓝色框为例,其包括提及m的图像、文本上下文、一个人工写的问题(如,“m指的是什么?”)、以及实体名称作为答案。对于演示示例的选择,作者考虑了多种稀疏和密集检索方法:

随机选择:在训练集中,对于每个提及,随机选择将从训练集中随机选择一个上下文示例。

BM25:BM25是最先进的稀疏检索方法之一。作者将训练集中的所有提及作为语料库,并基于提及来检索示例。

SimCSE3:SimCSE3是一种用于语义匹配的密集检索方法。对于一对提及,作者将提及嵌入的余弦相似度作为相关性分数。

对于n个示例和查询q,作者按顺序连接视觉前缀v和文本嵌入t,以获得LLM的输入x:

18281c0c6b2da75bfc9cf20a97ef9869.png

接着,作者使用自回归的 LLM,该语言模型最初是在仅使用文本数据的情况下通过最大似然目标进行训练,并且保持其参数 θ 不变。利用输入嵌入 x 和表示实体名称的 N 个标记作为目标输出  ,可以将教师强制训练目标(teacher forcing training objective)表示如下:

91d5003a96aa71247c0b26ec985abbef.png

在推理阶段,遵循 GENRE方法,作者采用约束束搜索(constrained beam search)来确保生成的实体名称在知识库中始终保持一致且有效。

4. 实验

作者首先说明了实验设置:在数据集的选择上,为了评估GEMEL在MEL任务上的能力,作者在两个标准MEL数据集上进行实验,分别是WikiDiverse和WikiMEL。WikiDiverse是一个人工标注的MEL数据集,包含来自Wikinews的多样化上下文主题和实体类型。WikiMEL是一个大型的经过人工验证的MEL数据集,从Wikidata和Wikipedia中提取而来。Wikidiverse和WikiMEL数据集都已经划分为训练集、验证集和测试集,比例分别为8:1:1和7:1:2,并且作者的实验设置遵循这个划分,其统计信息如表1所示:

e9f2aa17ae8f3e08e3c1efbfb34fc659.png

表1 数据集统计

在基线模型的选择上,作者将GEMEL与最近的最先进方法进行比较。这些方法可以分为以下两类:(1)仅使用文本特征的纯文本方法,和(2)利用文本和视觉特征的文本+视觉方法。其中包括:BERT、BLINK、GENRE、GPT-3.5-Turbo-0613等。

在评估指标上,作者遵循先前的研究采用Top-1准确率作为评估指标。

主实验结果如表2所示:

5293a61874b75243c74c750ef6bd4cb0.png

表2 主实验结果

从实验结果中可以看出:首先,GEMEL在两个MEL数据集上超过了所有其他方法,并取得了最先进的性能,WikiDiverse的改进为7.7%(从78.6%提高到86.3%),WikiMEL的改进为8.8%(从73.8%提高到82.6%),显示了其框架的有效性。这表明通过微调特征映射器(约占模型参数的0.3%),GEMEL能够使冻结的LLM有效而高效地理解视觉信息,并利用它来增强MEL性能。其次,基于LLM的方法(即GPT-3.5和GEMEL)在文本模态和多模态下表现出强大的性能。在文本模态中,GPT-3.5可以达到甚至超过先前多模态方法的性能。这主要有两个原因:1)文本模态在MEL任务中仍然起着主导作用,而视觉模态主要作为补充信息;2)在大规模预训练数据集上预训练的LLM可以捕捉广泛的语言模式、上下文和知识,从而在常见实体预测中表现出色。

fe34d0d6820963a362e422f6b84b06b9.png

表3 消融实验结果

表3展示了消融研究的结果。首先,移除视觉信息显著损害了GEMEL的性能,这表明当文本信息较短且不足时,视觉信息的重要性(详见第5.4节中的案例)。其次,消除提示中的示例导致WikiDiverse和WikiMEL的性能分别下降了6.1%和7.4%。这表明在上下文中提供一些示例有助于LLM识别和理解MEL任务。

5. 总结

作者提出了GEMEL,一种基于LLMs的简单而有效的生成式多模态实体链接框架,利用LLMs的能力直接生成目标实体名称。实验结果表明,GEMEL在两个MEL数据集上优于最先进的方法,并具有高参数效率和强大的可扩展性。进一步的研究揭示了LLMs对尾部实体预测存在偏见,而GEMEL能够有效地缓解这种偏见,从而提高MEL任务的整体性能。此外,GEMEL是模型无关的,可以将其应用于将来更大或更强大的LLMs。进一步的研究可以探索如何缓解LLMs对尾部实体预测的偏见,并将GEMEL扩展到更多的模态(如视频、语音等)。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

708e5c3782c72a4b938a9323667d97e4.png

点击阅读原文,进入 OpenKG 网站。

这篇关于论文浅尝 | 基于生成模型的多模态实体链接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084148

相关文章

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

SQLServer中生成雪花ID(Snowflake ID)的实现方法

《SQLServer中生成雪花ID(SnowflakeID)的实现方法》:本文主要介绍在SQLServer中生成雪花ID(SnowflakeID)的实现方法,文中通过示例代码介绍的非常详细,... 目录前言认识雪花ID雪花ID的核心特点雪花ID的结构(64位)雪花ID的优势雪花ID的局限性雪花ID的应用场景