LLM中表格处理与多模态表格理解
文档处理中不可避免的遇到表格,关于表格的处理问题,整理如下,供各位参考。
问题描述
RAG中,对上传文档完成版式处理后进行切片,切片前如果识别文档元素是表格,那么则需要对表格进行处理。一般而言,表格处理分成三个部分:
- TD任务,Table Detection,表格识别
- TSR任务,Table Structure Recognition,表格结构识别
- TCD任务,Table Content Recognition,表格内容识别
表格检测任务是识别文档中的表格元素;表格结构识别则是理解表格的布局和结构;而表格内容识别则是提取表格中的具体数据。这些任务共同构成了表格处理的完整流程。目前主要的思路是通过识别到表格,将表格转化为结构化文本信息,比如HTML或者Markdown,再利用LLM对结构化文本的泛化能力进行分析和处理。
然而,在现实世界的一些场景中,获取高质量的文本表格表示可能比较困难,而表格图像则更容易获取。因此,如何直接使用直观的视觉信息来理解表格是一个关键且迫切的挑战。
多模态表格理解的思路
多模态表格理解指的是结合文本、图像等多种模态信息来理解表格内容。在文本表格表示难以获取的情况下,如何利用直观的视觉信息来理解表格是一个很好的研究方向。为了解决多模态表格理解问题,构建了一个名为MMTab的大规模数据集,涵盖了广泛的表格图像、指令和任任务,为多模态表格理解提供了丰富的实验场景。MMTab数据集的设计思路和数据构造方式,为研究者提供了新的视角和工具,以应对多模态表格理解中的各种挑战。
《Multimodal Table Understanding》,代码放在:https://github.com/SpursGoZmy/Table-LLaVA
1、其数据构造的方式:
比较有趣的是做的数据增强方案:
其一,表格级别增强(Table-level augmentations):现实世界的表格具有不同的结构和样式。为了使模型能够处理各种样式的表格,设计了脚本来渲染具有三种不同样式的表格图像:网页风格(Web-page,占比70.8%)、Excel风格(占比19.4%)和Markdown风格(占比9.8%)。还考虑细粒度的调整,如字体类型和单元格颜色。
其二,指令级别增强(Instruction-level augmentations):用户对于同一任务的指令可能会有所不同。为了提高模型对这种变化的鲁棒性,作者使用GPT-4生成新的指令模板和关于JSON输出格式的描述,基于几个手动注释的示例进行少量样本(few-shot)学习。生成的指令模板如果包含语法错误或与原始任务偏离,将被过滤掉。
其三,任务级别增强(Task-level augmentations):尽管收集的14个公共数据集突出了9个学术表格任务,这些任务需要基于表格的推理能力,但现有的多模态大型语言模型(MLLMs)是否真的理解基本的表格结构仍然是一个问题。 为了进一步加强MLLMs对基本表格结构的理解能力,设计了6个表格结构理解任务,例如表格大小检测(TSD)任务。
除了上述策略,作者还将同一表格的单轮样本结合起来,构成了37K多轮对话样本。
2、数据的具体统计,包括用于微调的数据集以及测试
MMTab数据集包括150K样本用于预训练,232K样本用于指令微调,以及45K和4K样本分别用于内部和外部评估。
数据集中包含了105K张表格图像,这些图像覆盖了广泛结构(例如,具有平坦结构的简单表格以及具有合并单元格和分层标题的复杂表格)。数据集中的表格图像不仅结构多样,还具有不同的风格(网页、Excel、Markdown表格)和来自不同领域的数据(如维基百科和财务报告)。
3、benchmark的计算方式
4、进行对应的微调路线
论文中开发了一个通用的表格MLLM Table-LLaVA,使用MMTab-instruct数据集,该数据集包含了多种与表格相关的任务,例如问题回答(TQA)、事实验证(TFV)、文本生成(T2T)等,模型基于之前提出的LLaVA-1.5模型。
总结
多模态表格处理是一种集成了视觉、文本和结构化数据等多种信息源的技术,旨在更全面地理解和解析表格内容。随着深度学习、大型语言模型等技术的不断进步,多模态表格理解的性能将得到显著提升。
1、多模态表格处理需要强大的视觉识别能力,以识别和解析表格的视觉布局,包括行列、单元格合并等。涉及到图像处理和模式识别技术,如使用深度学习模型来检测表格边界和单元格结构。
2、文本理解是多模态处理的另一关键方面。表格中的文本信息需要通过自然语言处理技术来提取和理解,包括实体识别、关系抽取和语义分析等,以捕捉表格中的数据和它们之间的联系。
3、结构化数据的整合对于多模态表格处理同样重要。将视觉识别的表格结构与文本内容相结合,转化为结构化的数据库格式,可以进一步促进数据的分析和应用。
4、多模态表格处理还应考虑到数据的多样性和复杂性。不同的表格可能来自不同的来源,具有不同的格式和风格。因此,处理系统需要具备高度的灵活性和适应性,以应对各种不同的输入。
此外,随着数据集的不断丰富和完善,模型的泛化能力和适应性也将得到加强。多模态表格处理的未来发展方向可能包括更深层次的语义理解、更智能的数据融合策略,以及更广泛的应用场景,如自动化报告生成、智能数据分析等。
参考资料:
文档表格结构识别技术与数据总结:兼看多模态表格理解基准设计及数据构建思路
《A Study on Reproducibility and Replicability of Table Structure Recognition Methods》
《Deep Learning for Table Detection and Structure Recognition: A Survey》
《TableVLM: Multi-modal Pre-training for Table Structure Recognition》
《Improving Table Structure Recognition with Visual-Alignment Sequential Coordinate Modeling》
相关文章:

LLM中表格处理与多模态表格理解
文档处理中不可避免的遇到表格,关于表格的处理问题,整理如下,供各位参考。 问题描述 RAG中,对上传文档完成版式处理后进行切片,切片前如果识别文档元素是表格,那么则需要对表格进行处理。一般而言&#x…...

短剧系统搭建全攻略:功能齐全,一步到位
前言 近年来,短剧系统以其独特魅力,成为大众消遣娱乐的热门选择。简单来说,短剧系统就是用来看短剧的小程序,它汇集了丰富多彩的短剧资源,让观众随时随地享受观影乐趣。本文将为你详细解析短剧系统的搭建全攻略&#…...

【Linux】进程_7
文章目录 五、进程8. 进程地址空间9. 进程终止10. 进程等待 未完待续 五、进程 8. 进程地址空间 我们上节知道了进程地址空间是根据页表来使虚拟地址转换成内存中的物理地址,那这种 地址空间 页表 的机制有什么好处呢?①这种机制可以将物理内存从无序…...

从中概回购潮,看互联网的未来
王兴的饭否语录里有这样一句话:“对未来越有信心,对现在越有耐心。” 而如今的美团,已经不再掩饰对未来的坚定信心。6月11日,美团在港交所公告,计划回购不超过20亿美元的B类普通股股份。 而自从港股一季度财报季结束…...

【OceanBase DBA早下班系列】—— 性能问题如何 “拍CT“ (一键获取火焰图和扁鹊图)
1. 前言 最近接连遇到几个客户的环境在排查集群性能问题,总结了一下,直接教大家如何去获取火焰图、扁鹊图(调用关系图),直击要害,就像是内脏的疾病去医院看病,上来先照一个CT,通过分…...

4.类,方法,对象
1.1.2. 面向对象程序设计的三大特征 1.1.2.1. 封装 面向对象编程核心思想之一就是将数据和对数据的操作封装在一起,形成一般的概念,比如类的概念。 1.1.2.2. 继承 继承体现了一种先进的编程模式。子类可以继承父类的属性和方法。 1.1.2.3. 多态 多…...

重学java 71.网络编程
人生不是坐等暴风雨过去,而是学会在雨中起舞 —— 24.6.14 一、网络编程的基础概念 1.概述: 在网络通信协议下,不同计算机上运行的程序,进行数据传输 比如:通信、视频通话、网络、邮件 只要是计算机之间通过网络进行数据传输,就有…...

Linux驱动面试题
1.导出符号表的原理? 2.字符设备驱动的框架流程 open read wirte close 是系统调用(从用户空间进入内核空间的唯一的方法)会产生swi软中断《也会存在软中断号》(从User模式切换到SVC(管理模式)下因为在…...
git 如何强制下拉某个分支
要强制下拉Git仓库中的某个分支,可以使用以下命令: 第一步: git reset --hard HEAD第二步 git pull origin <分支名> git reset --hard HEAD 是一个 Git 命令,它的作用是将当前分支的头部重置为当前提交(HEAD…...
linux-touch指令
目录 语法 选项 示例 touch 是一个在 Linux 系统中常用的命令,它用于创建空文件,或者如果文件已经存在,则更新文件的访问和修改时间戳。下面是 touch 命令的完整使用说明: 语法 touch [选项]... 文件... 选项 -a 或 --time…...

海外仓系统有哪些?主流海外仓系统类型、优缺点,不同海外仓如何选择
作为海外仓的经营者,不管海外仓大小,你都应该知道海外仓系统对提升仓库管理效率有多重要。 不过现在市场上的海外仓系统确实种类太多了,想选到一个适合自己海外仓,性价比又比较高的wms海外仓系统也不是一件容易的事情。 本文会详…...

05-5.4.1 树的存储结构
👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…...
Spring事务管理与Spring AOP详解
Spring事务管理与Spring AOP详解 一、引言 在企业级应用开发中,事务管理和面向切面编程(AOP)是两个至关重要的概念。Spring框架作为Java企业级应用的首选框架之一,为事务管理和AOP提供了强大的支持。本文将详细解析Spring的事务…...

LaTeX 的使用
文章目录 TeX 编辑器文档类型中文编译文档结构preamble 导言区(不能放正文内容)document body 正文区 正文内容目录段落列表无序列表有序列表 图片表格交叉引用段落图片表格 转义符 数学公式数学符号行内公式行间公式有公式计数器无公式计数器 公式包含文…...
Text2SQL之Vanna优化
文章目录 前言一、优化方向二、干就完了一次性生成多个Question-SQL对先生成一个问题,再根据DDL和业务数据生成SQL总结前言 前阵子写了篇Text2SQL的简单介绍,发现其也是RAG只会,写下了Text2SQL之不装了,我也是RAG 最近也一直在做Text2SQL的优化,于是把自己的一些心得,总…...

船舶行业信息安全解决方案介绍
船舶行业信息安全背景: 近年来随着经济复苏、疫情与国际形势影响国内外船舶海运业务蓬勃发展,在业务量激增的背景下出现多类信息安全事件。其中2017年,马士基集团遭到勒索软件攻击,内部业务系统和码头操作系统均受到严重影响&…...

Typora—适用于 Mac 和 Win 系统的优秀 Markdown 文本编辑器
Typora 是一款适用于 Mac 和 Win 系统的优秀 Markdown 文本编辑器,它以其简洁易用的界面和强大的功能受到了众多用户的喜爱。 首先,Typora 的界面设计非常简洁直观,没有过多繁杂的菜单和按钮,让用户能够专注于写作本身。它采用实时…...
产品经理的未来在哪里?
【同学聚会】 医生说:你生病的话可以找我。 老师说:你孩子成绩不好时找你辅导。 律师说:你遇上官司时我帮你。 程序员说:你电脑坏了时我帮你修理。 产品经理说:我……好像无一技之长。(瞬间开始怀疑人…...

火车头采集怎么使用GPT等AI原创文章
火车头采集官方并没有GPT、百度文心一言AI、阿里通义千问AI、Kimi大模型等AI功能,但支持接入插件,可以编写相应人工智能AI原创文章插件(火车头采集支持PHP和c#这2种语言的插件编写),或者导入第三方封装好的GPT等AI原创…...
多元多项式的特征列与零点的关系定理
下面这个定理来自《计算机代数》6.1三角列与特征列(王东明、夏壁灿著) 【定理】 设 C [ C 1 , … , C r ] \mathbb{C }\left\lbrack C_{1},\ldots,C_{r} \right\rbrack C[C1,…,Cr]为多项式组 P ⊂ K [ x ] \mathbb{P \subset}\mathcal{K\lbrack}\…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...