17-大模型(LLMs)RAG 版面分析——表格识别方法篇¶
来源 PDF:
200页AI大模型面试高频必刷题(附详解)/17-大模型(LLMs)RAG 版面分析——表格识别方法篇.pdf
主题:RAG / 文档问答
页数:5
字符数:5545
索引片段数:14
摘要¶
大模型(LLMs)RAG 版面分析——表格识别方法篇 来自: AiGC面试宝典 宁静致远 2024年03月19日 22:30 一、为什么需要识别表格? 表格的尺寸、类型和样式展现出多样化的特征,如背景填充的差异性、行列合并方法的多样性以及 内容文本类型的不一致性等。同时,现有的文档资料不仅涵盖了现代电子文档,也包括历史的手写 扫描文档,这些文档在样式设计、光照条件以及纹理特性等方面存在显著差异。因此,表格识别一 直是文档识别领域的重大挑战。下图所示为一个示例: 注:左上:有颜色背景的全线表,右上:少线表,左中:无线
代表性原文片段¶
片段 1¶
大模型(LLMs)RAG 版面分析——表格识别方法篇 来自: AiGC面试宝典 宁静致远 2024年03月19日 22:30 一、为什么需要识别表格? 表格的尺寸、类型和样式展现出多样化的特征,如背景填充的差异性、行列合并方法的多样性以及 内容文本类型的不一致性等。同时,现有的文档资料不仅涵盖了现代电子文档,也包括历史的手写 扫描文档,这些文档在样式设计、光照条件以及纹理特性等方面存在显著差异。因此,表格识别一 直是文档识别领域的重大挑战。下图所示为一个示例: 注:左上:有颜色背景的全线表,右上:少线表,左中:无线表,左下:有复杂表格线条样式的 表格,右下:拍照得到的手写历史文档。 二、介绍一下 表格识别 任务? • 大模型(LLMs)RAG 版面分析——表格识别方法篇 • 一、为什么需要识别表格? • 二、介绍一下 表格识别 任务? • 三、有哪些 表格识别方法? • 3.1 传统方法 • 3.2 pdfplumber表格抽取 • 3.2.1 pdfplumber 如何进行 表格抽取? • 3.2.2 pdfplumber 常见的表格抽取模式? • 3.3 深度学习方法-语义分割
片段 2¶
fplumber表格抽取 • 3.2.1 pdfplumber 如何进行 表格抽取? • 3.2.2 pdfplumber 常见的表格抽取模式? • 3.3 深度学习方法-语义分割 • 3.3.1 table-ocr/table-detect:票据图片复杂表格框识别(票据单元格切割) • 3.3.2 腾讯表格图像识别 • 3.3.3 TableNet • 3.3.4 CascadeTabNet • 3.3.5 SPLERGE • 3.3.6 DeepDeSRT • 致谢 查看更多
表格识别包括表格检测和表格结构识别两个子任务。 表格识别过程可细分为两个关键步骤: 三、有哪些 表格识别方法? 3.1 传统方法 利用规则指导和图像处理技术,执行如下步骤以识别结构: 3.2 pdfplumber表格抽取 参考:https://github.com/jsvine/pdfplumber#extracting-tables 3.2.1 pdfplumber 如何进行 表格抽取? • 表格定位(Table Localization):此阶段涉及识别并划定表格的整体边界,采用的技术手段包
片段 3¶
g-tables 3.2.1 pdfplumber 如何进行 表格抽取? • 表格定位(Table Localization):此阶段涉及识别并划定表格的整体边界,采用的技术手段包 括但不限于目标检测算法,如YOLO、Faster RCNN或Mask RCNN,甚至有时借助生成对抗网 络(GAN)来精确勾勒出表格的外在轮廓。 • 表格元素解析与结构重建(Table Element Parsing and Structure Reconstruction): • 表格单元格划分(Cell Detection):这一子任务着重于识别和区分表格内部的各个单 元格,不论它们是由连续线条完全包围还是部分包围,抑或是无明显线条分隔。 • 表格结构理解(Table Structure Understanding):在此环节中,系统深入分析表格区 域以提取其中的数据内容及其内在逻辑关系,明确行与列的分布规律以及单元格之间的 层次关联,最终实现对表格原始结构的高度准确复原。 1. 应用腐蚀与膨胀算法来细化和增强目标区域边界特征。 2. 通过分析像素连通性,确定并标记图像中的各个显著区域。
片段 4¶
及单元格之间的 层次关联,最终实现对表格原始结构的高度准确复原。 1. 应用腐蚀与膨胀算法来细化和增强目标区域边界特征。 2. 通过分析像素连通性,确定并标记图像中的各个显著区域。 3. 实施线段检测和直线拟合技术,精确描绘出图像内的线性结构元素。 4. 计算这些线性结构之间的交点,以此构建可能的边框或连接关系网络。 5. 合并初步检测到的边界框(猜测框),运用智能合并策略减少冗余并提高精度。 6. 根据尺寸筛选优化,剔除不符合预期大小条件的候选区域,从而获得更为准确的目标识别结 果。 1. 因为表格及单元格都是存在边界的(由可见或不可见的线表示),所以第一步,pdfplumber是 找到可见的或猜测出不可见的候选表格线。 2. 因为表格以及单元格基本上都是定义在一块矩形区域内,所以第二步,pdfplumber是根据候选 的表格线确定它们的交点。根据得到的交点,找到它们围成的最小的单元格。把连通的单元格
3.2.2 pdfplumber 常见的表格抽取模式? 3.3 深度学习方法-语义分割 3.3.1 table-ocr/table-detect:票据图片复杂表格框识别(票据单元格切割)
片段 5¶
.2 pdfplumber 常见的表格抽取模式? 3.3 深度学习方法-语义分割 3.3.1 table-ocr/table-detect:票据图片复杂表格框识别(票据单元格切割) https://github.com/chineseocr/table-ocr https://github.com/chineseocr/table-detect 3.3.2 腾讯表格图像识别 github : https://github.com/tommyMessi/tableImageParser_tx 3.3.3 TableNet 整合到一起,生成一个检测出的表格对象。 • lattice抽取线框类的表格 1. 把pdf页面转换成图像 2. 通过图像处理的方式,从页面中检测出水平方向和竖直方向可能用于构成表格的直线。 3. 根据检测出的直线,生成可能表格的bounding box 4. 确定表格各行、列的区域 5. 根据各行、列的区域,水平、竖直方向的表格线以及页面文本内容,解析出表格结构,填充单 元格内容,最终形成表格对象。 • stream抽取非线框类的表格 6. 通过pdfminer获取连续字符串(串行)
片段 6¶
,水平、竖直方向的表格线以及页面文本内容,解析出表格结构,填充单 元格内容,最终形成表格对象。 • stream抽取非线框类的表格 6. 通过pdfminer获取连续字符串(串行) 7. 通过文本对齐的方式确定可能表格的bounding box(文本块) 8. 确定表格各行、列的区域 9. 根据各行、列的区域以及页面上的文本字符串,解析表格结构,填充单元格内容,最终形成表 格对象。 1. table-ocr • 思路:运用unet实现对文档表格的自动检测,表格重建 2. table-detect • 思路:table detect(yolo) , table line(unet) (表格检测/表格单元格定位) • 思路:图像分割,分割类别是4类:横向的线,竖向的线,横向的不可见线,竖向的不可见线, 类间并不互斥,也就是每个像素可能同时属于多种类别,这是因为线和线之间有交点,交点处 的像素是同属多条线的。 • 模型:对比DeepLab系列,fcn,Unet,SegNet等,收敛最快的是Unet。 • 已测试,效果惨不忍睹
片段 7¶
类别,这是因为线和线之间有交点,交点处 的像素是同属多条线的。 • 模型:对比DeepLab系列,fcn,Unet,SegNet等,收敛最快的是Unet。 • 已测试,效果惨不忍睹 • 论文:《TableNet: Deep Learning Model for End-to-end Table Detection and Tabular Data Extraction from Scanned Document Images》 • 论文链接: https://www.researchgate.net/publication/337242893_TableNet_Deep_Learning_Model_for_E nd-to- end_Table_Detection_and_Tabular_Data_Extraction_from_Scanned_Document_Images • 简介:TableNet 是一个现代深度学习架构,由 TCS 研究年的团队在 2019 年提出。主要动机是 通过手机或相机从扫描的表格中提取信息。他们提出了一个解决方案,其中包括准确检测图像 中的表格区域,然后检测和提取检测到表的行和列中的信息。
片段 8¶
的团队在 2019 年提出。主要动机是 通过手机或相机从扫描的表格中提取信息。他们提出了一个解决方案,其中包括准确检测图像 中的表格区域,然后检测和提取检测到表的行和列中的信息。
该体系结构基于 Long 等人,这是用于语义分段的编码器解码器模型。相同的编码器/解码器网络用 作用于表提取的 FCN 体系结构。使用 Tesseract OCR 对图像进行预处理和修改。 该模型分两个阶段派生,将输入主题为深度学习技术。在第一阶段,他们使用了预先训练的VGG- 19网络的重量。它们已用 1x1 卷积层替换了已使用的 VGG 网络的完全连接层。所有卷积层后跟 ReLU 激活和概率 0.8 的辍学层。他们称第二阶段为解码网络,由两个分支组成。这是根据直觉, 列区域是表区域的子集。因此,单个编码网络可以使用表和列区域的特征以更好的精度筛选出活动 区域。第一个网络的输出将分发到两个分支。在第一个分支中,应用两个卷积操作,并升级最终要 素图以满足原始图像尺寸。在用于检测列的另一个分支中,有一个附加的卷积层,具有 ReLU 激活
片段 9¶
区域。第一个网络的输出将分发到两个分支。在第一个分支中,应用两个卷积操作,并升级最终要 素图以满足原始图像尺寸。在用于检测列的另一个分支中,有一个附加的卷积层,具有 ReLU 激活 函数,还有一个与前面提到的相同的辍学概率的辍学层。要素贴图在 (1x1) 卷积层后使用小步 卷积进行向上采样。 3.3.4 CascadeTabNet 一种基于端到端深度学习的方法,它使用级联掩码R-CNN HRNet模型来进行表检测和结构识别。 其优点: 采用两阶段转移学习策略,利用少量数据,使单个模型学习端到端表识别。在这一策略中,迁移学 习在同一模型上进行两次。检测图像中的表成为CNN模型的一项特定任务,该模型先前在一个包 含数十万个图像的数据集上训练,以检测来自上千个类的对象。因此,在转移学习的第一次迭代 中,我们在训练前使用预先训练好的imagenetcoco模型权重初始化CNN模型。它使CNN模型只学 习特定于任务的高级特征,同时获得了一些优点,如对训练数据的需求较少,以及由于预先知道而 减少了总的训练时间。经过训练,CNN成功地预测了图像中表的检测掩码。类似地,在第二次迭
片段 10¶
只学 习特定于任务的高级特征,同时获得了一些优点,如对训练数据的需求较少,以及由于预先知道而 减少了总的训练时间。经过训练,CNN成功地预测了图像中表的检测掩码。类似地,在第二次迭 代中,模型再次在较小的数据集上进行微调,以完成更具体的任务,即预测无边界表中的单元掩 码,并根据表的类型检测表。另一个具有挑战性和特殊性的任务是针对特定类型的文档图像(latex 文档)进行表检测。在执行迭代转移学习时,我们不会在任何阶段冻结模型中的任何层。 3.3.5 SPLERGE • 数据集:使用的数据集是马莫特。它有2000页PDF格式,这是收集与相应的地面真相。这还包 括中文页面。 • 架构: • 输出:使用模型处理文档后,将生成表和列的掩码。这些蒙版用于从图像中筛选出表及其列区 域。现在使用 Tesseract OCR,从分段区域中提取信息。 • 效果:他们还提出了与ICDAR进行微调的相同型号,其性能优于原始型号。微调车型的召回、 精度和 F1 得分分别是 0.9628、0.9697 和 0.9662。原始模型的记录指标为 0.9621、0.9547、 0.9583。 • 开源代码:
片段 11¶
始型号。微调车型的召回、 精度和 F1 得分分别是 0.9628、0.9697 和 0.9662。原始模型的记录指标为 0.9621、0.9547、 0.9583。 • 开源代码: • 开源代码(star:650):https://github.com/DevashishPrasad/CascadeTabNet • 开源代码(star:1):https://github.com/virtualsocie • 介绍: 1. 提出了级联网络:一种基于级联掩膜区域的CNN高分辨率网络(Cascade mask R-CNN HRNet) 模型检查表的区域,同时从检测的表中识别结构体信息 2. 端到端解决表格检测和表格识别两个子任务 3. 用实例分割解决表检测,提高精度 4. 展示了一种有效的基于迭代迁移学习的方法,可以帮助模型使用少量的训练数据在不同类型的 数据集上运行良好 • 论文名称:Deep Splitting and Merging for Table Structure Decomposition • 论文地址:https://ieeexplore.ieee.org/document/8977975
片段 12¶
ing for Table Structure Decomposition • 论文地址:https://ieeexplore.ieee.org/document/8977975
3.3.6 DeepDeSRT DeepDeSRT 是一个神经网络框架,用于检测和理解文档或图像中的表。它有两个解决方案,如标 题中提及: • 论文代码:https://github.com/CharlesWu123/SPLERGE • 思想:一种先自顶向下、再自底向上的两阶段表格结构识别方法SPLERGE,分为Split和Merge 两个部分。Split部分先把整个表格区域分割成表格所具有的网格状结构,该部分由图11所示的 深度学习模块组成两个独立的模型,分别预测表格区域的行分割和列分割情况。最终,模型预 测每一行或列像素是否属于单元格间的分隔符区域。而Merge部分则是对Split的结果中的每对 邻接网格对进行预测,判断它们是否应该合并。 • 论文名称:DeepDeSRT:Deep Learning for Detection and Structure Recognition of Tables in
使用建议¶
- 这些内容来自授权公开 PDF 的文本抽取结果,网页端会基于同一份静态索引做关键词检索。
- 面试复习时建议先用网页 PDF 原文检索定位题目,再回到主 notes 学系统化答案。
- 如果片段出现排版噪声,以原 PDF 语义为准,并优先整理成自己的回答模板。