摘要:前PDF 文档广泛应用于各个领域,其中蕴含着丰富的信息。然而,从 PDF 中准确提取高质量的内容一直是计算机视觉领域的重要研究课题。随着大型语言模型(LLMs)的兴起,对高质量文档数据的需求愈发迫切,这也促使文档内容提取技术不断发展(利用LLM从非结构化PDF
前PDF 文档广泛应用于各个领域,其中蕴含着丰富的信息。然而,从 PDF 中准确提取高质量的内容一直是计算机视觉领域的重要研究课题。随着大型语言模型(LLMs)的兴起,对高质量文档数据的需求愈发迫切,这也促使文档内容提取技术不断发展(利用LLM从非结构化PDF中提取结构化知识)。今天我们一起来聊一下MinerU,一款精准解析PDF文档的开源工具,这个也是我们正在使用的一款不错的PDF解析工具,希望对大家有所帮助。
MinerU是一个功能强大的PDF文档内容提取工具,它利用了先进的PDF-Extract-Kit模型库,能够有效地从各种类型的文档中提取内容。该工具不仅具备高度的准确性,还通过精细的预处理和后处理规则,确保了最终结果的可靠性。MinerU的开源特性使得其成为广大开发者和研究者理想的选择,它不仅能够促进学术交流,还能够推动文档内容提取技术的进一步发展。
MinerU的框架设计简洁而高效,主要包括文档预处理、文档内容解析、文档内容后处理和格式转换四个阶段。
目标与功能文档预处理主要有两个目标。一是筛选出无法处理的 PDF 文件,例如非 PDF 格式文件、加密文档以及受密码保护的文件,确保后续处理流程的顺利进行。二是获取 PDF 文档的元数据,这些元数据在后续的处理过程中具有重要作用。具体操作与元数据获取语言识别:MinerU 当前仅能识别和处理中文和英文文档。在进行 OCR 操作时,需要指定语言类型,因为对于其他语言的处理质量无法保证。这一识别过程有助于后续针对特定语言的文本处理,提高处理的准确性。内容乱码检测:部分基于文本的 PDF 文档在复制文本时会出现乱码现象。在预处理阶段提前识别这类文档,以便在下一步骤中使用 OCR 进行文本识别,从而避免因乱码导致的内容提取错误。扫描 PDF 识别:对于文本型 PDF,MinerU 直接使用 PyMuPDF 进行文本提取;而对于扫描型 PDF,则需要启用 OCR。扫描型 PDF 的识别依据其特征,如图像区域较大(有时甚至覆盖整个页面)且每页平均文本长度接近零等,这种区分方式有助于选择合适的文本提取方式,提高提取效率和准确性。页面元数据提取:提取文档的总页数、页面尺寸(宽度和高度)等元数据,这些信息对于后续的布局分析、内容解析等操作提供了基础的页面信息,有助于确定文档的结构和元素分布。核心模型库 - PDF - Extract - Kit
PDF - Extract - Kit 是 MinerU 用于解析文档的核心模型库,包含多种先进的开源 PDF 文档解析算法。与其他开源算法库不同,它致力于在处理现实世界多样化数据时确保准确性和速度。当特定领域的现有开源算法无法满足实际需求时,PDF - Extract - Kit 会通过数据工程构建高质量、多样化的数据集来进一步微调模型,从而显著增强模型对不同数据的鲁棒性。
布局分析
布局分析是文档解析的关键第一步,旨在区分页面上不同类型的元素及其对应区域。现有布局检测算法在处理纸质文档时表现尚可,但在面对教科书和考试试卷等多样化文档时存在困难。PDF - Extract - Kit 通过构建多样化布局检测训练集来解决这一问题。其数据工程训练方法包括多样化数据选择,收集各类 PDF 文档并聚类采样;数据标注,对文档组件的布局标注类型进行分类并建立详细标注标准;模型训练,基于现有布局检测模型进行微调;迭代数据选择和模型训练,根据验证集结果调整数据采样权重以优化模型。经过训练的模型在多样化文档上表现出色,远超开源的 SOTA 模型。
公式检测
由于公式(尤其是内联公式)在视觉上可能与文本难以区分,若不提前检测公式,后续文本提取可能出现乱码,影响文档整体准确性。因此,MinerU 训练了专门的公式检测模型。在数据集标注方面,定义了内联公式、显示公式和忽略类三个类别,最终在多类文档中进行了大量标注用于训练。训练后的基于 YOLO 的模型在速度和准确性上在各种文档中表现良好。
公式识别
多样化文档中的公式类型多样,包括短打印内联公式、复杂显示公式,甚至可能存在扫描文档中的手写公式和噪声公式内容。MinerU 采用自研的 UniMERNet 模型进行公式识别,该模型在大规模多样化公式识别数据集 UniMER - 1M 上进行训练,通过优化模型结构,在各种类型公式的识别上表现优异,与商业软件 MathPix 相当。
表格识别
表格是呈现结构化数据的有效方式,但从视觉表格图像中提取表格数据具有挑战性。MinerU 利用 TableMaster 和 StructEqTable 进行表格识别任务,用户可通过其执行 Table - to - LaTex 或 Table - to - HTML 任务。TableMaster 使用 PubTabNet 数据集训练,将任务分为四个子任务;StructEqTable 使用 DocGenome 基准数据进行端到端训练,在复杂表格识别上表现更强。
OCR
在排除文档中的特殊区域(表格、公式、图像等)后,MinerU 使用集成在 PDF - Extract - Kit 中的 Paddle - OCR 进行文本区域识别。为避免整页 OCR 导致的文本顺序错误,它基于布局分析检测到的文本区域(标题、文本段落)进行 OCR 操作。对于包含内联公式的文本块,先使用公式检测模型提供的坐标掩蔽公式,然后进行 OCR,最后将公式重新插入 OCR 结果中,确保了文本识别的准确性和阅读顺序。
1.处理边界框关系
包含关系:去除图像和表格区域内包含的公式和文本块,以及公式框内包含的框,以简化元素关系,便于后续处理。部分重叠关系:对于部分重叠的文本框,通过垂直和水平收缩来避免相互覆盖,确保最终位置和内容不受影响,方便后续排序;对于文本与表格 / 图像的部分重叠,暂时忽略表格和图像以确保文本完整性。2.基于阅读顺序的分割算法:在处理完嵌套和部分重叠的边界框后,MinerU 开发了基于 “从上到下,从左到右” 人类阅读顺序的分割算法。该算法将整个页面划分为多个区域,每个区域包含多个边界框,且每个区域最多包含一列,确保文本按自然阅读顺序逐行读取。然后根据位置关系对分割后的组进行排序,确定 PDF 中每个元素的阅读顺序。
4. 格式转换
最后,在格式转换阶段,MinerU将处理后的PDF数据转换为用户所需的机器可读格式(如Markdown或JSON)。这一步骤使得MinerU的输出更加灵活和易于使用。
MinerU之所以能够在文档内容提取领域脱颖而出,主要得益于其先进的核心技术和显著的优势。
1. 先进的模型库与算法
PDF-Extract-Kit作为MinerU的核心模型库,包含了多种先进的文档解析算法。这些算法不仅经过了严格的训练和验证,还针对多样化文档进行了优化。这使得MinerU在处理复杂布局和精细公式时表现出色。
2. 精细的预处理与后处理
MinerU在预处理和后处理阶段采用了多种精细的算法和技术。例如,在预处理阶段,它使用PyMuPDF等工具来准确提取PDF的元数据;在后处理阶段,它则利用规则-基于和模型-基于的混合方法来确保内容的准确性和可读性。
3. 高效的数据工程与迭代优化
为了进一步提高模型的准确性和鲁棒性,MinerU在数据工程和迭代优化方面下足了功夫。它通过收集多样化文档、构建高质量数据集以及采用迭代训练等方法,不断提升模型的性能和适应性。
4. 开源与易用性
作为一款开源工具,MinerU不仅提供了丰富的文档和示例代码,还支持多种输出格式和自定义配置。这使得用户能够轻松上手并快速应用于实际场景中。
从 PDF 中准确提取高质量的内容一直是计算机视觉领域的重要研究课题(PymuPDF4llm:PDF 提取的革命)。MinerU 在 PDF 文档解析领域已经取得了显著的成果,其未来的发展将进一步提升其性能和适用性,为文档处理相关工作提供更强大的支持。希望这款开源利器对大家有所帮助。
论文链接:https://arxiv.org/pdf/2409.18839
git地址:https://github.com/opendatalab/MinerU
本文,完。觉得本篇文章不错的,记得随手点个赞、收藏和转发三连,感谢感谢~如果想第一时间收到推送,请记得关注我们⭐~
来源:AIGC研究社一点号