CCIG 2024:合合信息文档解析技术突破与应用前景
目录
- 背景
- 当前大模型训练和应用面临的问题
- 训练Token耗尽
- 训练语料质量要求高
- LLM文档问答应用中文档解析不精准
- 合合信息的文档解析技术
- 1. 具备多文档元素识别能力
- 2. 具备版面分析能力
- 3. 高性能的文档解析
- 4. 高精准、高效率的文档解析
- 文档多板式部分示例
- 文档解析典型技术难点
- 元素重叠、本身多样性、复杂板式示例
- 单行、行内、表格内公式示例
- 合合信息提出的文档解析技术解决方案
- 文档图像预处理算法框架
- 图像文档弯曲矫正算法
- 图像文档干扰去除算法
- 版面分析算法框架
- 物理版面分析 - 文档布局分析
- 逻辑版面分析 - 语义结构分析
- 版面分析算法的发展
- Textln 文档解析效果
- 总结
背景
2024年5月24日-26日于西安召开中国图象图形大会(CCIG 2024),此次大会由中国图象图形学学会主办,空军军医大学、西安交通大学和西北工业大学承办,南京理工大学、陕西省图象图形学学会、陕西省生物医学工程学会协办,陕西省科学技术协会支持。包括于起峰院士、郑海荣院士、焦李成教授、王大轶研究员和虞晶怡教授在内的多位知名学者将作主旨报告,带来前沿的学术分享。大会期间将举办25场学术论坛、7场特色论坛和2场企业论坛,汇聚2000余名专家学者,构建开放创新、交叉融合的交流平台。
在此盛会上,合合信息的智能创新事业部研发总监常扬发表演讲。常扬老师分享了合合信息在文档解析技术方面的最新研究成果,探讨如何利用这些技术加速大模型的训练和应用。文档解析技术在大模型发展中扮演着至关重要的角色,尤其是在应对训练Token耗尽、语料质量要求高和解析不精准等挑战,高效获取高质量数据的方法,包括文档元素识别、版面正确解析和转化速度快等关键技术。本文将对常扬老师的演讲进行详细展开。
当前大模型训练和应用面临的问题
训练Token耗尽
大模型(如GPT-4、BERT等)在训练过程中需要处理大量的文本数据,这些数据被分解成更小的单位,称为Tokens。每个Token代表一个词、词的一部分或一个标点符号。随着模型变得越来越复杂,对数据的需求也随之增加,训练Token的耗尽成为一个主要问题。这意味着模型在训练过程中会消耗大量的Tokens,如果Tokens不足,模型的训练效果会受到限制。
训练语料质量要求高
高质量的训练语料是确保大模型性能的关键。低质量或噪声数据可能会导致模型学习到错误的信息,从而影响其性能。高质量语料需要具备准确性、丰富性和多样性,确保模型能够理解和生成高质量的语言。
LLM文档问答应用中文档解析不精准
在大模型的应用中,如文档问答(Document QA)系统,文档解析的精准度至关重要。文档解析不精准会导致模型无法正确理解文档内容,影响问答的准确性和用户体验。例如,当文档中的表格、公式、图表等复杂元素不能被正确解析时,模型可能会提供错误或不完整的答案。


合合信息的文档解析技术
合合信息在文档解析技术方面进行了深入的研究和开发,其核心研究方向包括多文档元素识别、版面分析和高性能的文档解析技术。这些技术不仅提高了文档解析的精度和效率,还为大模型的训练和应用提供了有力的支持。

1. 具备多文档元素识别能力
多文档元素识别能力是指系统能够识别并区分文档中不同类型的元素,如表格、段落、公式、标题等。每种元素在文档中都有其特定的结构和语义,准确识别这些元素是文档解析的基础。
技术实现:
- 深度学习模型:利用卷积神经网络(CNN)和循环神经网络(RNN)等深度学习模型,训练系统识别不同的文档元素。
- 特征提取:通过图像处理技术提取表格线条、段落边界、公式符号等特征,以提高识别的准确性。
- 标注数据集:构建大型标注数据集,包含多种文档元素的标注信息,用于模型训练和验证。
应用场景: - 文档自动化处理:在办公自动化、电子档案管理等场景中,实现自动化的文档分类和元素提取。
- 教育和科研:识别学术论文中的图表和公式,辅助科研数据的整理和分析。
2. 具备版面分析能力
版面分析能力是指系统能够正确解析文档的版式布局,识别文档中的栏、节、段等布局结构。复杂的文档版式,如双栏、三栏和文表混合布局,给解析带来极大挑战。
技术实现:
- 物理版面分析:使用基于回归的单阶段检测模型(如Faster R-CNN、YOLO)检测文档中的物理布局元素(如栏、节)。
- 逻辑版面分析:通过语义分析技术,理解文档的语义结构和层次关系,将不同的文字块组织成段落、列表等语义单元。
- 混合方法:结合物理和逻辑版面分析方法,提升对复杂文档版式的解析能力。
应用场景: - 出版和印刷:解析书籍、报纸、杂志等出版物的版面结构,优化排版和印刷流程。
- 档案数字化:对纸质档案进行数字化处理,保持原始版面布局,提高数字档案的可读性和可用性。
3. 高性能的文档解析
高性能的文档解析技术能够快速处理和转化大规模文档,尤其是上百页的PDF文档,确保还原正确的阅读顺序,避免混乱的语序。
技术实现:
- 并行处理技术:利用多线程和分布式计算技术,加快大规模文档的解析速度。
- 优化算法:优化文档解析算法,提高处理效率,减少时间消耗。
- 硬件加速:借助GPU加速技术,进一步提升文档解析的性能。
应用场景: - 大数据处理:在金融、法律、医疗等领域,快速解析和处理大量文档,提高数据处理效率。
- 实时应用:在实时文档问答和即时信息提取等应用中,提供快速、准确的文档解析服务。
4. 高精准、高效率的文档解析
文档解析的精准度和效率是衡量技术性能的重要指标。合合信息的文档解析技术能够提供高精准、高效率的解析结果,适用于大模型的训练和应用场景。
技术实现:
- 精细化模型训练:通过精细化的模型训练和调优,提高文档解析的准确性。
- 错误纠正机制:引入错误检测和纠正机制,自动识别和修正解析过程中的错误。
- 用户反馈系统:利用用户反馈信息,持续优化和改进解析算法。
应用场景: - 大模型训练:在大模型训练过程中,提供高质量的训练数据,提升模型性能。
- 知识库问答:在知识库问答系统中,快速准确地解析文档内容,提供高质量的问答服务。
文档多板式部分示例


文档解析典型技术难点
在文档解析过程中,技术难点众多,涉及文档元素的遮盖重叠、复杂版式、多样的文档元素、页眉页脚、多栏布局与表格、无线表格与合并单元格,以及各种公式的识别和处理。以下是对这些技术难点的详细列举。
- 元素遮盖重叠:文档中的各种元素(如文字、表格、公式等)可能会相互遮挡或重叠,给解析带来挑战。
- 复杂版式:文档可能采用双栏、跨页、三栏等复杂的版式布局,需要准确识别和分析这些版式结构。
- 元素本身的多样性:不同类型的文档元素(如标题、段落、表格、公式等)具有不同的特点,需要针对性地进行识别和分析。
- 页眉页脚的复杂形式:页眉页脚的形式可能多种多样,需要准确识别并区分。
- 多栏布局及其与表格的影响:多栏布局以及多栏中插入表格会对文档解析带来额外的挑战。
- 无线表格与合并单元格:无线表格与合并单元格的识别。
- 各种公式:单行公式、行内公式、表格内公式等
元素重叠、本身多样性、复杂板式示例
元素重叠、本身多样性、复杂板式示例

单行、行内、表格内公式示例

合合信息提出的文档解析技术解决方案
文档图像预处理算法框架
主要包括以下几点
- 区域提取: 提取文档区域
- 干扰去除: 去除手指、阴影、摩尔纹等干扰
- 形变矫正: 包括倾斜透视矫正、弯曲矫正等
- 图像恢复: 阴影去除、摩尔纹去除
- 图像增强: 增强锐化等操作

图像文档弯曲矫正算法
- 形变文档图像建模
- 使用偏移场来建模形变文档图像
- 通过DocUNet网络进行形变矫正
- 空间变换
- 根据偏移场信息对图像进行空间变换,完成弯曲矫正
- 边缘填充
- 使用Inpainting技术对矫正后的图像进行边缘填充

图像文档干扰去除算法
- 文档图像预处理
- 使用U2net卷积网络进行背景提取
- 通过信息融合和干扰去除模块去除摩尔纹、光照影响等干扰
- 干扰去除算法效果
- 可以有效去除手指、阴影等干扰,提高文档图像的质量

文档图像预处理算法整体效果如下

版面分析算法框架

物理版面分析 - 文档布局分析
- 使用基于回归的单阶段检测模型,如FasterRCNN、YOLO等,对文档中的各种布局元素进行检测和定位。
- 检测模型可以对文档中的栏(column)、节(section)等布局要素进行识别。

逻辑版面分析 - 语义结构分析
逻辑版面分析算法主要关注文档的语义结构和布局关系,通过建立层级概念和建模布局关系,实现对文档逻辑结构的分析和理解。将不同的文字块根据语义关系建模,形成文档的层次结构,如页(page)、段落(paragraph)、列表(list)等。

版面分析算法的发展
合合信息在近期的研究发现,真实世界的文档布局类型非常丰富,无法简单地用单栏、双栏等类别来定义。
例如下面列举的,目录,报纸,试卷等。所以判别式的技术路线,可以处理好大部分的文档,还无法真正对真实世界中各式各样的文档进行良好的版面分析。

近年来的开放词汇目标检测(OVD),视觉语义对齐(Alignment)等工作,以及生成式模型等前沿进展,都会给版面分析带来新的研究思路。
Textln 文档解析效果


总结
常扬老师在CCIG 2024大会上的演讲深入探讨了合合信息在文档解析技术方面的突破性进展。这些技术不仅解决了大模型训练和应用中的诸多挑战,还大大提升了文档解析的效率和精度。通过先进的图像预处理、版面分析和语义结构分析,合合信息为大模型在文档问答、知识库问答等应用场景中的表现提供了坚实的技术支持。期待这些创新技术能够为未来的研究和产业应用带来更多可能性。
相关文章:
CCIG 2024:合合信息文档解析技术突破与应用前景
目录 背景当前大模型训练和应用面临的问题训练Token耗尽训练语料质量要求高LLM文档问答应用中文档解析不精准 合合信息的文档解析技术1. 具备多文档元素识别能力2. 具备版面分析能力3. 高性能的文档解析4. 高精准、高效率的文档解析文档多板式部分示例 文档解析典型技术难点元素…...
关于TeamSpeak3-网易音乐机器人的基础使用方法(胎教级教程)
本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:在自己的ts服务器上安装了网易音乐机器人,写这篇文章旨在教群友/网友如何使用机器人!😋👍 一、TS3Audi…...
看广告赚金币提现小游戏app开发源码
开发一个看广告赚金币并可以提现的小游戏APP,源码的搭建涉及到多个方面,包括前端界面设计、后端逻辑处理、数据库管理以及广告平台的对接等。以下是一些建议的步骤和考虑因素: 前端界面设计: 使用HTML5、CSS3和JavaScript等技术…...
【vue】@、@/、../和./的区别
:表示vue语法中v-on的简写;绑定事件的专用格式。当事件触发的时候,函数才会来调用; /:在build文件夹下webpack.base.conf.js找到,便能知道代表什么了; 这里指向src文件夹 . /:表示当前目录下&…...
imx93 uboot 构建
1. 信息来源 从 nxp 的英文网站中可以找到 imx93 的构建信息,当前的最新版本为:Linux 6.6.3_1.0.0 # 网址如下: https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-application…...
视觉SLAM十四讲:从理论到实践(Chapter7:视觉里程计1)
前言 学习笔记,仅供学习,不做商用,如有侵权,联系我删除即可 一、目标 1.理解图像特征点的意义,并掌握在单幅图像中提取特征点及多幅图像中匹配特征点的方法。 2.理解对极几何的原理,利用对极几何的约束&…...
c++指针的*
1.*运算符 *运算符被称为间接值(indirect value)或者解除引用(dereferencing)运算符 将其应用于指针可以得到该地址处存储的值 由于 * 也有乘法的意思,c通过上下文来确定是乘法还是解除引用 2.如何声明和初始化指针 …...
快团团大团长帮卖团长团长如何获得物流查询码?
一、功能说明 团长可自行生成物流查询码,直接将码发给顾客,顾客扫码可查询自己订单的物流状态! 用户扫码后,会出现用户在该团长处下单的所有快递订单。团员可查看该订单物流信息、进行退款申请,或直接联系团长。 二…...
MySQL(二)基本SQL语句以及基本函数应用
1、基本SQL语句 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 - 函数应用在sql语句中 -- 临时表 select now() from dual;-- 数学函数 二进制 -- 返回x的绝对值 select a…...
fyne apptab布局
fyne apptab布局 AppTabs 容器允许用户在不同的内容面板之间切换。标签要么只是文本,要么是文本和一个图标。建议不要混合一些有图标的标签和一些没有图标的标签。 package mainimport ("fyne.io/fyne/v2/app""fyne.io/fyne/v2/container"//&…...
Python实现定时任务的方式
大家好,在当今数字化的时代,定时任务的需求在各种应用场景中频繁出现。无论是数据的定时更新、周期性的任务执行,还是特定时间点的操作触发,Python 都为我们提供了强大而灵活的手段来实现这些定时任务。当我们深入探索 Python 的世…...
微信小程序-网络数据请求(配置request合法域名)
1.小程序中网络数据请求的限制 出于安全方面的考虑,小程序官方对数据接口的请求做出了如下两个限制: (1)只能请求HTTPS类型的接口 (2)必须将接口的域名添加到信任列表中 如果要请求某个域名下的接口&am…...
栈和队列题目练习
本节小编选了两道题来加深对栈和队列的认识理解! 有效的括号 方法1:直接用栈的结构(动态数组) 本题可以用栈这个结构来解答,将(,{,[ 左括号压入栈中,然后取出栈顶元素与右括号),},]匹配。不匹配的话&…...
【排列问题】
问题: 已知某序列有n个元素,请编写程序打印出包含该序列所有元素的所有排列。 输入要求: 输入第1行为整数n,表示该序列元素的个数;第2行为n个整数,表示需要排列的序列元素。 输出要求:输出若…...
token 无感刷新
什么是 token 无感刷新?为什么需要 token 无感刷新?让我们想象一下有这么个场景:你登录一个系统成功后,玩了 10 分钟,发现登录失效了,又要你重新登录,然后又过 10 分钟,又失效了&…...
Netty SSL双向验证
Netty SSL双向验证 1. 环境说明2. 生成证书2.1. 创建根证书 密钥证书2.2. 生成请求证书密钥2.3. 生成csr请求证书2.4. ca证书对server.csr、client.csr签发生成x509证书2.5. 请求证书PKCS#8编码2.6. 输出文件 3. Java代码3.1. Server端3.2. Client端3.3. 证书存放 4. 运行效果4…...
4.nginx反向代理、负载均衡
nginx反向代理、负载均衡 一、反向代理1、语法2、注意事项3、后端服务器记录客户端真实IP3.1 在nginx反向代理时添加x-real-ip字段3.2 后端httpd修改combined日志格式3.3 后端是nginx的情况 二、负载均衡 upstream模块1、负载均衡作用2、调度算法3、配置应用 一、反向代理 隐藏…...
浅谈申请小程序地理位置权限的正确打开方式
小程序地理位置接口有什么功能? 这篇内容会教大家如何快速申请“获取当前的地理位置(onLocationChange)”接口,以便帮助大家顺利开通接口。以下内容是本人经历了多次的申请经历得出来的经验,来之不易,望大家…...
make modules 和 make modules_install
1. make modules 如:make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- modules 直接make,不加任何参数,就是make all,包含make modules。 make modules是单独编译模块,驱动被配置成M的都是modules,modul…...
docker 安装mysql,redis,rabbitmq
文章目录 docker 安装ngnix,mysql,redis,rabbitmq安装docker1.安装下载docker-ce源命令2.安装docker3.查看版本4.查看docker状态5.启动docker6.测试安装ngnix 安装mysql8.0.361.拉取mysql镜像2.安装mysql8 安装redis1.拉取redis7.0.11镜像2.安装redis3.进入容器内部…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
