CCIG学术论坛|文档解析技术加速大模型训练与应用

news2025/1/21 12:17:45

目录

  • 前言
  • 一、大模型训练和应用过程的关键环节面临的问题
    • 1、数据
    • 2、算力
    • 3、语料
    • 4、训练时间
    • 5、模型规模与复杂度
    • 6、部署和推理效率
    • 7、安全和隐私
  • 二、高精准、高效率的文档解析
  • 三、文档解析技术难点
  • 四、TextIn文档解析
    • 1、算法Pipeline
    • 2、文档图像预处理算法效果
    • 3、版面分析算法框架
    • 4、版面分析算法—物理版面分析与逻辑版面分析
    • 5、版面分析算法 – 文档布局分析
    • 6、版面分析算法 – 最近研究方向
    • 7、逻辑版面分析算法
    • 8、TextIn文档解析效果
  • 最后

CCIG学术论坛|文档解析技术加速大模型训练与应用

前言

大模型技术近年来已经成为推动人工智能技术革新的一个重要基础性技术,并对不同的科学研究和产业应用领域产生广泛的影响。中国图象图形(CCIG)学术论坛旨在推动计算机视觉、自然语言处理、基础科学研究及行业应用的跨界融合与技术发展,围绕大模型的最新技术进展、前沿应用及未来发展趋势进行深入探讨与交流。

2024 年5月24日-26日,在陕西省西安市成功召开了中国图象图形大会。会中,合合信息智能创新事业部研发总监常扬老师着重介绍了文档解析过程中遇到的技术难点,比如文档元素识别(表格、段落、公式、标题)、上百页PDF转化速度问题、版面正确解析(双栏、三栏、文表混合)、阅读顺序还原以避免混乱语序等问题,为此合合信息研发出具备多文档元素识别、版面分析、高性能的TextIn文档解析技术,让我们一起来了解一下吧!

一、大模型训练和应用过程的关键环节面临的问题

大模型的训练和应用过程中需要面对诸多问题,比如数据、算力、语料、训练时间、模型规模和复杂度、部署合推理效率以及安全隐私等方面的问题,需要综合考虑这些因素并采取相应的措施来解决这些问题。

1、数据

获取大规模数据集可能是一项挑战,尤其是对于特定领域或任务的数据。这可能需要从多个来源收集数据,并确保数据的多样性和代表性。大规模数据往往包含噪音、错误或不一致的信息,因此需要进行数据清洗和预处理,以保证数据质量。存储大规模数据可能需要大量的存储空间和有效的数据管理系统来存储和访问数据。

2、算力

训练大型模型需要大量的计算资源,包括高性能的CPU、GPU或者TPU等。这些资源可能会产生高昂的成本,特别是在云服务上租用。为了加快训练速度,通常需要实施并行计算和分布式训练,以有效利用多个计算节点的计算能力。

3、语料

大规模模型的训练通常需要大量标注数据,这可能需要大量的人力资源和时间成本。同时,确保标注数据的质量和准确性也是一个挑战。语料中的样本可能不够全面或不够平衡,导致模型在某些方面缺乏泛化能力。因此,需要考虑如何处理数据样本偏差,以提高模型的性能。大模型需要大量高质量的数据来进行训练,而数据质量不佳或数量不足可能导致模型性能下降。此外,数据的偏斜也可能影响模型的泛化能力。

常扬老师在会中提到高质量的语料预计在2026年会被耗尽,然而现在的语料又遇到了下面的一些问题:

  • 训练Token耗尽。一旦耗尽了可用的Token或资源配额,你将无法继续进行训练,导致中断或延迟。
  • 训练语料质量要求高。大型语言模型对训练语料的质量要求很高。如果训练数据质量不佳,例如包含错误、不一致或偏差的数据,可能会导致模型学习到不准确或有偏见的知识。然而互联网的语料即将用完,所以希望大模型可以更加智能就需要更有高质量的语料
  • LLM文档问答应用中文档解析不精准。在使用大型语言模型进行文档问答应用时,可能会遇到文档解析不精准的问题,无法正确理解或提取文档中的信息,导致回答不准确或不完整。像chatpdf、chatdoc这种文档类的问答实际上是大模型最早落地的应用,但是目前也发现,这些应用在进行文档解析时不够准确,存在比较多的问题 。

4、训练时间

大模型的训练通常需要较长的时间,从几天到数周甚至数月不等,这增加了开发周期和资源成本。

5、模型规模与复杂度

随着模型规模和复杂度的增加,模型的训练和部署变得更加困难。例如,大模型可能需要更复杂的优化算法和技术来进行训练,并且可能需要更多的内存来存储模型参数。

6、部署和推理效率

部署和推理效率:部署大模型可能面临推理效率低下的问题,特别是在资源有限的设备上,例如移动设备或边缘设备。因此,需要针对部署环境进行优化和压缩模型。

7、安全和隐私

大模型可能会存储大量敏感信息,因此需要采取一些安全和隐私保护措施来保护模型和数据的安全性。

二、高精准、高效率的文档解析

在大模型训练场景中,我们在使用完互联网和数据集的语料之后,会关注人类知识汇集的书籍、论文这些高质量的数据。这些数据无论是对它文档元素的识别,还是图表、公式、标题、版面的正确解析,都需要足够快的转化速度,同时又需要保证阅读顺序正确, 无论它是怎样的排版,都要以正确的顺序输送到大模型,然而此时就需要高精准、高效率的文档解析能力。可以从上面得知我们的诉求:

  • 文档元素识别,表格、段落、公式、标题
  • 版面正确解析,双栏、三栏、文表混合
  • 转化速度快,上百页PDF
  • 阅读顺序还原,避免混乱语序

常杨老师针对上面的诉求,列举了几个例子。比如这里上传一个pdf文档,然后询问ChatGPT4.0一个问题:根据文件内容,在本书的致谢环节,主要提到了哪4类感谢对象,可以看到GPT回答的跟PDF内容不一致,答案定位错误。
在这里插入图片描述

再上传一个pdf文件,询问ChatGPT4.0:根据所给文件,精氨酸在40度的水中,溶解度是多少,由下图可以看出,GPT回答的为100g/L,pdf文件中显示的是31.9,可见是对无线表的解析错误。
在这里插入图片描述

接下来继续上传一个pdf文档,继续向GPT提问:文中提到的OSA是什么意思,还是回答错误,其实就是字符编码解析的问题。
在这里插入图片描述

由上可见,在大模型应用的场景是非常需要上面提到的四大核心诉求的文档解析技术,所以希望能够研究出一个具备多文档元素解析、版面分析、高性能文档解析技术的产品是非常重要的。

三、文档解析技术难点

文档解析是一个很复杂的程序,会遇到很多问题,比如:

  1. 多样化的文档格式:文档可能以各种不同的格式存在,如PDF、Word、HTML、Markdown等,每种格式都有其特定的结构和语法,因此需要开发针对不同格式的解析引擎。
  2. 复杂的结构和布局:文档中的内容可能具有复杂的结构和布局,包括标题、段落、列表、表格、图像等,解析器需要能够正确地识别和提取这些结构化信息。
  3. 文本识别和光学字符识别(OCR):对于扫描或图像中的文档,需要进行文本识别或OCR来提取其中的文字内容,但这可能受到文档质量、字体、倾斜、噪声等因素的影响,导致识别准确率下降。
  4. 语言和编码的多样性:文档可能使用不同的自然语言和字符编码,需要解析器具备多语言支持和字符编码转换能力,以确保正确地解析和处理各种语言的文本。
  5. 文本语义理解:除了简单地提取文本内容外,还需要进行语义理解,理解文本中的上下文、语义关系和含义,这对于一些复杂的文档解析任务(如自然语言理解、信息抽取等)尤为重要。
  6. 性能和效率:对于大规模文档的解析,需要考虑解析器的性能和效率,尤其是在处理大量文档或大型文档时,需要确保解析速度和内存占用的合理性。

解决这些难点需要结合机器学习、自然语言处理、计算机视觉等技术,并不断优化和改进解析算法和模型。常杨老师列举了一些在文档解析时的技术难点。比如下图里左侧的会有印章遮盖、页眉会有不同的表现形式、复杂的版式(包括双栏、三栏、甚至跨页)。
在这里插入图片描述

多栏和多栏插入表格都会影响阅读顺序,下图中的序号是正确的阅读顺序,如果我们将错误的阅读顺序输送到大模型之中,那么训练质量就会大大降低。下图中右侧上面是多栏,中间是无线表,下面又是多栏,可见文档元素结构十分复杂,在文档解析时,这些复杂的结构增加了文档解析的技术难点。具体如下图所示:
在这里插入图片描述

无线表的识别又包括了合并单元格识别、单行公式与行内公式识别、表格里的公式识别,如下图所示:
在这里插入图片描述
在这里插入图片描述

四、TextIn文档解析

基于上述文档解析的核心诉求以及技术难点,合合信息突破技术障碍,研发出能够处理无线表、跨页表格、页眉、页脚、公式、图像、印章、流程图、目录树等文档内容的产品—TextIn文档解析,对于电子档和扫描档会先进行图片预处理和文字识别,随后将电子档、扫描档的电子信息进行物理的版面分析和逻辑版面分析。

1、算法Pipeline

在使用TextIn进行文档解析时,算法会进行三个部分的处理。

(1)将各种版式类型的电子档和扫描档先进行多页的拆分,然后我们会对其进行不同的判断。电子档进行电子档解析,而扫描档会进行图像的质量提升以及通用文档的识别引擎,最终整合为通用文档的文字信息,其实也就是比较熟知OCR所要做的内容。

(2)对通用文档文字信息进行物理性分析,比如对它的某个段落、表格、页眉页脚元素的分析 也会会对其进行逻辑分析,比如目录数分析,最终会整合成通用文档的层级信息。

(3)会根据最终我们应用的需要,转换成不同的形式。比如大模型应用需要将结果转换成markdown,再次编辑的需要转成word以及一些api/json的需要。

整个流水线如下图所示:
在这里插入图片描述

2、文档图像预处理算法效果

下图中左侧是一张有手印、有背景的弯曲的图,算法处理时会首先对其文档区域进行提取,然后手指去除、去摩尔纹、形变矫正、图像增强整个过程都是来自动化进行。
在这里插入图片描述

3、版面分析算法框架

文档解析之后提取文字属于OCR的过程,这里着重讲解一下版面分析是如何处理的,拿到通用文档文字信息之后会进行物理版面分析、逻辑版面分析。物理的版面分析会对页眉、页角、表格、图像、文字进行处理,逻辑版面分析能够分析出整个目录结构,
在这里插入图片描述

4、版面分析算法—物理版面分析与逻辑版面分析

物理版面分析:侧重于视觉特征。主要任务是把相关性高的文字聚合到一个区域,比如一个段落,一个表格等等。

物理版面分析 – 文档布局:选用目标检测,任务进行建模,使用基于回归的单阶段检测模型进行拟合,从而获得文档中各种各样的布局方式。

逻辑版面分析:侧重于语义特征。主要任务是把不同的文字块根据语义建模,比如通过语义的层次关系形成一个树状结构。

检测模型的发展:FasterRCNN/YOLO->(transformer)DETR/DINO在产业落地时,综合考虑任务难度和推理速度,我们选用:单阶段的检测模型,更多关注数据和模型小规模调优
在这里插入图片描述

5、版面分析算法 – 文档布局分析

通过检测获得各个布局要素之后,我们可以建立文档的布局关系。例如,一个双栏的节(section)通常包括两个栏(column)。
在这里插入图片描述
下表为各层级的概念。

层级概念
page层级页 (page)
section层级节(section)、栏(column)
paragraph层级段落(paragraph)、列表(list)、表格(table)、图片(image)
run层级切片(run)

6、版面分析算法 – 最近研究方向

在研究版面分析的过程中发现,真实世界的文档有着极为丰富的布局类型,没法单纯地用单栏,双栏、三栏等类别去定义。例如左边列举的,目录,报纸,试卷等。所以判别式的技术路线,可以处理好大部分的文档,还无法真正对真实世界中各式各样的文档进行良好的版面分析。近年来的开放词汇目标检测(OVD),视觉语义对齐(Alignment)等工作,以及生成式模型等前沿进展,都会给版面分析带来新的研究思路。

7、逻辑版面分析算法

逻辑版面分析的主要逻辑是预测每个段落和上一个段落的关系,分为子标题、子段落、合并、旁系、主标题、表格标题,如果是旁系类型,则再往上找父节点,并判断其层级关系,直到找到最终的父节点。其中算法核心为:通过Transformer架构,预测旁系类型与父子类型

8、TextIn文档解析效果

下图为TextIn文档解析效果,左侧是一个上面是单栏、下面为双栏的pdf文档,右侧为TextIn解析之后的文档效果。

在这里插入图片描述

下图左侧为一个不规则的一个双栏,左边大概占据2/3,右边大概占据1/3,并且右边是表格。可以看到分析结果十分明显,并且分析结果表格里的内容跟原文章无差异。

在这里插入图片描述

下图左侧为上面双栏、中间两个无线表、下面两个双栏,如果在大模型训练中,我们只需要获取表格中的数据,是完全可以精准获取的。
在这里插入图片描述

在上文中我们直接让ChatGPT4.0针对上传的pdf文件回答问题,GPT是回答错误的,那么这里将pdf进行文档分析之后txt形式,然后上传让GPT回答,可以看到此时,GPT回答的答案是正确的,跟原始的pdf文件里的数据一模一样。
在这里插入图片描述

接下来对其他两次问答也做一个比较,可见在使用TextIn文档解析之后,GPT回答的准确性提高到了100%.
在这里插入图片描述
在这里插入图片描述

最后

文档解析技术在大型模型应用中扮演着重要角色,它有助于模型更全面地理解用户输入、提取关键信息和结构化数据,使模型更加深入地分析输入内容,从而提高应用的准确性。此外,文档解析技术还能优化模型的训练和应用性能,通过有效地处理文档信息,加快模型训练速度,提高模型的泛化能力。这种技术应用为大型模型的快速发展和广泛应用提供了有力支持,使其能够更好地适应各种复杂任务和应用场景,为用户提供更高效、更智能的服务。

TextIn文档解析由合合信息旗下开发的一款智能文字识别产品,旨在为开发者提供更多可能性,能够处理多栏、无线表、跨页表格、页眉、页脚、公式、图像、印章、流程图等复杂内容,充分赋能大语言模型的文档问答和数据清洗。合合信息深耕智能文字识别以及商业大数据领域,结合模式识别、图像处理、神经网络、深度学习、NLP打造智能文字识别服务平台,深受全球用户的喜爱。未来期待可以看到合合信息更多的创新和应用,用技术方案服务更多的人群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1789833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

平等未来的契机?探索通用人工智能AGI对社会平等的影响

打破知识壁垒:通用人工智能AGI如何助力社会平等与个人成长 ©作者|CodeDan 来源|神州问学 一. AGI是什么? AGI全称为Artificial General Intelligence,中文翻译过来为通用人工智能。它指的是至少在大多数任务上能与人类媲美…

开源模型应用落地-LangChain试炼-LCEL-表达式语言(一)

一、前言 尽管现在的大语言模型已经非常强大,可以解决许多问题,但在处理复杂情况时,仍然需要进行多个步骤或整合不同的流程才能达到最终的目标。然而,现在可以利用langchain来使得模型的应用变得更加直接和简单。 LCEL是什么&…

为什么说PMP考试比较简单?

PMP考试,说实话,真不算难。不信?听我慢慢给你分析。 PMP考试虽然考察的知识面宽,但很多知识的深度其实并不深。 项目经理嘛,就像是个通才,啥都得懂点,但啥也不用精通到专家级别。就像那概率统…

【图书推荐】《Ubuntu Linux系统管理与运维实战》

本书重点 全面学习Ubuntu系统操作,快速掌握Linux日常管理和运维 安装和配置、桌面环境、文件系统、文件和目录管理、用户和权限管理系统的启动和关闭、服务和进程管理、软件包管理、磁盘和文件系统管理网络管理、网络服务管理、系统和网络安全 内容简介 Linux是…

StartAI:AI扩图功能,让设计更高效

在数字设计领域,图像的清晰度和细节至关重要。StartAI作为领先的AI设计工具,不断推出创新功能,以满足设计师们对高质量图像处理的需求。最新推出的扩图功能,结合了“创成式填充”技术和“PS插件”的便捷,为设计师们带来…

centos7安装 hadoop集群

目录 准备集群搭建步骤1. 环境准备三台服务器IP关闭三台服务器的防火墙修改三台服务器的hostname文件修改三台服务器的hosts映射配置三台服务器之间的免密登录三台时间同步设置 2. hadoop安装资源划分3. 开始搭建hadoop集群192.168.83.144 即 hadoop1上的修改解压安装包添加环境…

Mac硬件设备系统环境的升级/更新 macOS

Mac硬件设备上进行系统环境的升级/更新macOS 1.大版本(升级)判断(比如:我买的这台电脑设备最高支持Monterey) 点击进入对应的大版本描述说明页查看相关的兼容性描述,根据描述确定当前的电脑设备最高可采用哪个大版本系统(Sonoma/Ventura/Monterey/Big Su…

线性代数|机器学习-P3乘法和因式分解矩阵

文章目录 1. 矩阵分解2. S Q Λ Q T SQ\Lambda Q^T SQΛQT3. A U Σ V T AU\Sigma V^T AUΣVT4. A LU 分解5. 矩阵的四个子空间 1. 矩阵分解 目前我们有很多重要的矩阵分解,每个分解对应于多个前提条件,分解方法,分解后的形状会中如下&…

Mybatis不明白?就这一篇带你轻松入门

引言:烧脑的我一直在烧脑的寻找资料,寻找网课,历经磨难让一个在大一期间只会算法的我逐渐走入Java前后端开发,也是一直在自学的道路上磕磕碰碰,也希望这篇文章对于也是同处于自学的你有所帮助,也希望你继续…

Science项目文章 | 中国农科院作科所研究团队解析“复粒稻”多粒簇生的机制

2024年3月8日,由中国农业科学院作物科学研究所童红宁研究员领衔的研究团队在Science发表题为“Enhancing rice panicle branching and grain yield through tissue-specific brassinosteroid inhibition”的研究论文。该研究报道了复粒稻多粒簇形成的机制&#xff0…

惠海H6212L 48V转12V 36V转12V 24V转5V DCDC降压恒压模块供电芯片方案

内置60V高压MOS:H6212L内置了60V耐压的MOS,这使得它能够承受48V的输入电压,从而适应更多的电源环境。 宽电压输入范围:支持8V至48V的宽压输入范围,满足了不同应用场景的电源需求。 输出电压可调:支持输出…

jeecg dictText字典值

前端列表的字典值回显,配置了数据字典后,在本地测试可以回显中文的数据, 但在线上服务器不能正常回显出来; 原因是在前端拿到records的列表值时可以拿到dictText的字典,但是线上服务器没有dictText的值; …

智慧校园教学模式的崛起:优化学习体验

在当今数字化时代,智慧校园教学模式正在成为教育界的热门话题。随着科技的不断发展,传统的教学方式已经无法满足现代学生的需求。智慧校园教学模式以其灵活性、互动性和个性化的特点,正逐渐改变着教育的面貌。 首先,智慧校园教学模…

Java中的接口与抽象类:区别与联系

Java中的接口与抽象类:区别与联系 在Java中,interface(接口)和abstract class(抽象类)是两种重要的抽象类型,用于定义对象的抽象行为和结构。虽然Java 8之后接口引入了默认方法和静态方法&…

MYSQL数据库客户端常规指令使用

这里新开一章,对MYSQL进行更加底层的系统的一个学习 Mysql常用工具简介 emmmm这里的话就默认大家在linux系统上面都进行了MYSQL的安装了. 在mysql安装完成之后,一般在路径 /usr/bin 下的 我们对该路径进行一个文件的展示 这里是展示出来的辅助工具 …

ucharts自定义添加tooltip悬浮框显示项内容且换行

欢迎点击领取 -《前端开发面试题进阶秘籍》:前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的🪜 一、需求描述分析 1、小程序上实现图表的绘制,多条线路,不同颜色,悬浮框对应内容不同数据进行处理 2…

Windows10设置通过.net3.5访问HP DL585G7服务器iLO的控制台

HP DL585G7服务器设备较老了,本文记录如何通过.net3.5访问其iLO管理口的控制台,同类HP服务器可参考进行。 一、调试电脑版本 二、调试电脑安装.net3.5 请参考本人文档:Windows10 22H2用系统安装光盘安装.net3.5 三、Edge启用IE模式 请参考…

Python 全栈体系【四阶】(五十六)

第五章 深度学习 十三、自然语言处理(NLP) 2. 传统NLP处理技术 2.1 中文分词 中文分词是一项重要的基本任务,分词直接影响对文本语义的理解。分词主要有基于规则的分词、基于统计的分词和混合分词。基于规则的分词主要是通过维护词典&…

FreeRTOS学习笔记-基于stm32(7)任务状态查询与任务时间统计API函数

1、FreeRTOS任务相关API函数 函数描述uxTaskPriorityGet()查询某个任务的优先级vTaskPrioritySet()改变某个任务的任务优先级uxTaskGetSystemState()获取系统中任务状态vTaskGetInfo()获取某个任务信息xTaskGetApplicationTaskTag()获取某个任务的标签(Tag)值xTaskGetCurrentT…

Ktor库的高级用法:代理服务器与JSON处理

在现代网络编程中,Ktor是一个高性能且易于使用的框架,它提供了对异步编程、WebSockets、HTTP客户端和服务器等特性的原生支持。Ktor是使用Kotlin语言编写的,充分利用了Kotlin的协程特性来简化异步编程。本文将深入探讨Ktor库的高级用法&#…