链载Ai

标题: 利用多模态RAG实现图文并茂的内容生成 [打印本页]

作者: 链载Ai    时间: 1 小时前
标题: 利用多模态RAG实现图文并茂的内容生成

前言

传统的单模态RAG只能实现基于文本的检索召回,但是在企业级应用场景中,存在大量文本、图片、表格混排的复杂文档。对于这类文档的检索召回,单模态RAG难以给出精确有效的答案。

比如在工业制造,工程师需要检索某个设备的安装方法,详细的文字描述不如一张安装流程图。或者工程师要检索某个传感器的性能参数,再详尽的文字介绍都不如一张清晰的表格。

不仅是工业制造,包括生物医药、零售快消、汽车、教育等等行业,甚至是面向C端的应用场景,图文并茂的输出内容,都会大大提升用户的体验。比如,当你询问AI大模型“RAG系统的原理是什么”的时候,你是期待一个纯文字的回答,还是一个RAG系统架构图 + 文字介绍的回答呢?

因此,在这样的场景下,多模态RAG将大有可为。


多模态RAG的挑战

相比单模态RAG,多模态RAG的挑战更大,主要体现在以下几个方面:

图片和表格解析困难:图片内容可能比较复杂,影响后续的特征提取和内容理解;而表格的格式可能会各式各样,如何准确地对表格进行结构化提取,也是一个巨大的挑战。

信息关联复杂:提取出的文本、图片和表格等信息之间的关联关系难以准确界定,比如图片对应的文字可能在文档的不同位置,传统的chunk方式势必会出现内容丢失,如何将这些信息正确关联起来,也是一大难点。

多模态数据融合索引:需要找到合适的方法,将文字、图片、图表、甚至音频和视频的索引进行关联和整合,确保在检索时能够高效地查询到相关的多模态数据。

多模态查询理解与转换:如何准确地将用户的文本查询,转换为能够与多模态索引进行匹配的查询向量?例如, “查找包含某产品图片,且描述中提到其功能的文档”,需要将 “产品图片” 和 “功能描述” 等信息准确地转换为图像特征向量和文本查询条件。

跨模态相关性计算:在检索过程中,需要计算文本查询与图片、表格等数据之间的相关性。但是,不同模态数据之间的语义鸿沟,使得相关性计算较为困难,如何定义和计算跨模态的相似度是另一大挑战。

下面,围绕多模态RAG的问题和挑战,风叔介绍三种主流的方法,基于语义抽取、基于视觉模型和基于多模态数据融合。


方案一,基于语义抽取

基于语义抽取,旨在将文档中的各种信息,如文本、图片、表格等,在语义层面进行抽取和处理,转化为可供检索和生成的形式,其核心原理如下图所示。

第一步,文档结构识别

利用计算机视觉技术和自然语言处理技术,对文档进行分析,区分出不同的组成部分。比如通过图像识别算法检测文档中的图形元素,通过文本布局分析确定文本段落的边界和层次结构。

第二步,对象解析与特征提取

对文本、图片和表格分别进行特征提取和解析。
对于图片中的文字内容,通过 OCR 进行提取,并进行语义分析。对于图像部分,利用图像理解模型提取其视觉特征,如颜色、形状、纹理等,以及图像所表达出来的含义。
对于表格,使用表格识别模型来判定单元格边界、识别表头和合并单元格等,将表格内容转化为结构化的数据形式。
第三步,统一语义表示与向量化
将解析得到的各种信息转换为统一的语义表示形式,并通过嵌入模型将其映射到向量空间。

基于语义抽取的方案,其主要优点是:


但是这种方案,也有较为明显的缺陷,包括:


方案二,基于视觉语言模型VLM

视觉语言模型(Visual Language Model),是一种能够同时处理和理解视觉与语言两种模态数据的AI模型,比如著名的ingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">PaLM-E、GPT-4V。
在上图中,左侧表示的是基于语义抽取,而右侧表示的就是基于视觉语言模型,直接由模型理解整页文档内容。基于视觉语言模型主要有以下步骤:
第一步,多模态信息编码
通过视觉编码器将图像转换为向量,例如将图像分割为小块,再用卷积将其转换为特征向量。同时,利用分词器将文本信息转换为标记序列,并通过嵌入层映射为文本向量。
第二步,特征融合与映射
使用视觉适配器(如多层MLP),将视觉编码器输出的图像特征向量映射到与文本向量相同的空间,实现视觉和语言信息在同一向量空间下的融合,便于后续模型处理。
第三步,联合学习与理解
将融合后的多模态向量输入到大模型,对多模态信息进行联合学习和理解,从而能够根据输入的多模态信息生成相应的回答。


视觉语言模型VLM的优点是:


但是其缺点也非常明显,比如:


方案三,基于多模态数据融合

多模态数据融合,顾名思义,是指将不同类型的数据和信息进行整合,以提供更全面的分析能力。多模态数据融合有多种实现方式,其中比较常见的是分离检索方法。

分离检索方法是指针对不同模态的数据,如文本、图像、表格等,使用各自独立的模型或算法进行检索,然后将各个模态的检索结果进行排序和融合,其基本原理如下图所示。


第一步,独立模态处理
为每种模态数据选择专门的处理模型和检索器。对于文本模态,可使用基于词袋模型、TF-IDF 等传统文本检索方法;对于图像模态,利用CNN或ViT提取图像的特征向量,然后通过计算特征向量之间的相似度来进行图像检索;对于表格,可使用专门的表格识别模型。
第二步,结果融合
对不同模态的检索结果进行综合排序,选择最相关的数据进行增强生成。例如,可以根据不同模态检索结果的置信度、相关性得分,通过加权求和、投票等简单策略来确定最终的排序和选择;也可以使用更复杂的融合模型,考虑不同模态之间的语义关联和互补信息,对检索结果进行进一步的处理和融合

分离检索方法是一种非常朴素直接的方法,主要优点包括:

分离检索方法的主要缺点包括:


总结
在本篇文章中,风叔介绍了实现多模态RAG的三种方法,基于语义提取、基于视觉语义模型VLM、基于多模态数据融合(分离检索)。当然,没有一种方法是完美的,每种方法都有自己的优势和缺点,准确度高、泛化性好的方案,势必训练成本高。
对于有钱有资源的基座大模型企业,基于视觉语义模型VLM的方案无疑是更合适的选择。而对于面向应用层的初创公司,分离检索方法则更为适合。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5