【文档智能 & RAG】浅看开源的同质化的文档解析框架-Docling

前言

RAG的兴起,越来越多的人开始关注文档结构化解析的效果,这个赛道变得非常的同质化。

关于文档智能解析过程中的每个技术环节的技术点,前期文章详细介绍了很多内容:

文档智能结构化解析

下面我们简单的看看Docling这个PDF文档解析框架里面都有什么技术。

方法

Docling pipline

  1. 布局分析模型
    首先,Docling使用一个布局分析模型,这是一个对象检测器,用于预测给定页面图像上各种元素的边界框和类别。其架构源自RT-DETR,并在DocLayNet数据集上重新训练。推理依赖于onnxruntime

    笔者在前面的文章也提到过,版式分析非常依赖于场景数据,因此,该模型仅在DocLayNet数据集上进行训练,无法满足一些常见的中文场景诉求,并且采用RT-DETR进行训练,模型参数较大。这一块的替代可以采用之前开源的轻量版式分析模型。支持包含段落信息等研报、论文等中文场景的细粒度布局检测。

    地址:https://github.com/360AILAB-NLP/360LayoutAnalysis

    论文场景

    研报场景

  2. 表格结构识别模型:其次,Docling使用TableFormer表格结构识别模型模型。它可以根据输入图像预测给定表格的逻辑行和列结构。推理依赖于PyTorch。

  3. OCR文字识别:Docling还提供了可选的OCR支持,例如用于扫描件PDF。默认情况下,Docling使用EasyOCR引擎,该引擎以高分辨率(216 dpi)页面图像进行OCR,以捕获小字体细节。

  4. 处理管道:Docling实现了一个线性处理管道,按顺序对每个文档执行操作。每个文档首先由PDF后端解析,以检索程序化文本标记和渲染每页的位图图像。然后,标准模型管道独立应用于文档中的每一页,以提取特征和内容,如布局和表格结构。最后,所有页面的结果汇总并通过后处理阶段传递,以增强元数据、检测文档语言、推断阅读顺序并最终组装一个可序列化为JSON或Markdown的类型化文档对象。

结果

  • 处理速度:在MacBook Pro M3 Max上,使用4个线程时,Docling的解决方案时间为177秒,吞吐量为每秒1.27页,峰值内存使用量为6.20 GB。使用16个线程时,解决方案时间为167秒,吞吐量为每秒1.34页,峰值内存使用量为未记录。

  • OCR性能:默认情况下,OCR引擎以高分辨率页面图像进行OCR,但运行速度较慢(每页超过30秒)。

  • 资源效率:在Intel Xeon E5-2690上,使用4个线程时,解决方案时间为375秒,吞吐量为每秒0.60页,峰值内存使用量为未记录。使用16个线程时,解决方案时间为244秒,吞吐量为每秒0.92页,峰值内存使用量为6.16 GB。

总结

文档智能解析现在非常同质化,实际上能解决自己场景文档解析的实用工具很少,不过可以参考下Docling工程上的具体优化,如多线程等。结合一些其他较强的开源或者自研的小模型,进行替换,打造自己的文档解析工具。

参考文献

https://github.com/DS4SD/docling

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值