网站建设需求公司内部调查如何设置自己的网站

当前位置: 首页 > news >正文

网站建设需求公司内部调查,如何设置自己的网站,麋鹿 wordpress,wordpress设置背景图片概述 PDF是一种日常工作中广泛使用的跨平台文档格式#xff0c;常常包含丰富的内容#xff1a;包括文本、图表、表格、公式、图像。在现代信息处理工作流中发挥了重要的作用#xff0c;尤其是RAG项目中#xff0c;通过将非结构化数据转化为结构化和可访问的信息#xff0…概述 PDF是一种日常工作中广泛使用的跨平台文档格式常常包含丰富的内容包括文本、图表、表格、公式、图像。在现代信息处理工作流中发挥了重要的作用尤其是RAG项目中通过将非结构化数据转化为结构化和可访问的信息极大地提高了信息检索和生成的准确性、效率和实用性。所以PDF文档提取在RAG中显得尤为重要。 目前提取PDF文档内容的思路主要分为三个精细度 直接解析PDF的内容流和内部结构获取文本和元素信息。这种方式只适合标准的PDF扫描版的PDF无法识别。基于布局分析小模型和OCR模型识别文本块、段落和表格等。这种方式适用于标准版和扫描版的PDF满足大多数需求但是如果PDF非标准化布局效果就不太好。OCR工具可以识别文字布局分析模型识别PDF的基本布局和元素。基于布局分析模型、OCR模型、识别公式和表格的模型识别PDF中更加丰富的元素。这种方法能识别复杂和丰富的各种PDF元素但是基于大模型需要的资源较多并且在CPU环境下速度较慢需要基于GPU运行。 下面是几个开源的PDF提取工具分析调研和总结希望能跟感兴趣的同行一起分享学习。 PyMuPDF 这是一个Python处理PDF的神器后面会重点写博客介绍这个工具的使用技巧和方法。 PyMuPDF 1.24.9 documentation PyMuPDF 是一个基于 MuPDF 引擎的轻量级 PDF 处理库用于在 Python 中处理和分析 PDF 和其他文档。它提供了丰富的功能包括从 PDF 中提取文本和图像、处理注释、生成页面截图等。PyMuPDF 的设计目标是高效、灵活且易于使用适合需要对 PDF 文档进行深入处理的开发者和数据分析师。 基本原理 核心依赖于 MuPDF 引擎MuPDF 是一款高性能的 PDF 和 XPS 渲染器专注于快速、紧凑的 PDF 处理。PyMuPDF 将 MuPDF 的强大功能通过 Python 接口暴露出来提供给用户。 页面渲染MuPDF 使用高效的渲染算法将 PDF 页面内容转换为位图图像。PyMuPDF 可以直接调用这些渲染功能将页面生成高质量的图像文件。文本和图像提取MuPDF 能够解析 PDF 文档的内容流识别出其中的文本、图像和绘制对象。PyMuPDF 使用这些解析功能将文本和图像提取为 Python 对象。内容结构分析MuPDF 的解析引擎可以读取 PDF 的内部结构PyMuPDF 基于此提供页面内容分析功能允许用户深入了解 PDF 页面各个部分的构成。 主要功能 文本提取 直接从 PDF 页面中提取文本支持提取特定区域的文本内容。可以按段落、行或单词提取文本同时保留文本的布局信息。图像提取 从 PDF 页面中提取嵌入的图像支持提取图像对象和绘制的矢量图形。可以指定页面区域来提取部分图像内容。页面渲染 将 PDF 页面渲染为图像文件如 PNG、JPEG用于创建页面截图或预览。支持设置渲染分辨率和缩放比例以满足不同分辨率下的需求。处理注释和标注 读取和提取 PDF 页面上的注释和标注如高亮、下划线、注释框。可以添加、删除或修改页面上的注释对象。PDF 文件操作 支持合并、分割、旋转、裁剪和重新排列 PDF 页面。可以创建新的 PDF 文档添加文本、图像和图形。页面搜索 在 PDF 文档中搜索特定的文本内容返回匹配文本的位置和所在页面。内容分析 提供对 PDF 页面内容如文本块、图形、形状、路径等的详细分析功能帮助用户了解页面的结构和内容布局。 实际使用效果 优点 可以准确的提取出正常PDF中的所有元素和bbox布局包括文字、表格和图片。文字的识别准确率基本高于99%。可以直接进行PDF页面的拷贝和截取可以直接把PDF页面转换为图片可以合并、分割、旋转、裁剪和重新排列PDF页面 缺点 识别图片只能识别图层某些复杂的PDF识别出来的图片并不是原始的图片识别表格容易把表格邻近的文字识别进去无法识别公式无法自动去除页眉页脚 扩展功能

  1. PyMuPDF4LLM 支持将PDF转换为Markdown格式也支持输出LlamaIndex的文档输出。可以识别文本、表格、图片和标题。 测试结论实际测试发现这里面还是存在很多问题比如左右版面的pdf没办法正确输出顺序。但是其中识别pdf文档标题的内容可以借鉴还有识别图片准确位置的方法可以借鉴后续用于优化我们的PDF提取功能。
  2. PyMuPDF Pro 在PyMyPDF支持pdf的基础上增加对Office文档的支持包括doc/docx、xls/xlsx、ppt/pptx、hwp/hwpx。不过效果也一般跟实际解析word、ppt文档的效果还差一些。
  3. PyMuPDF OCR 基于Tesseract-OCR服务实现pdf的扫描版文字解析基本原理是把扫描版pdf转成图片然后提交给Tesseract-OCR进行OCR识别。 测试结论但是功能有限OCR识别准确率很低且需要提前指定语言只能识别指定语言的内容。就算指定了语言识别效果也很差准确率低于50%。 MinerU 这个工具是国内团队开源出来的对于中文PDF提取效果很好后面会详细介绍这个项目的原理和源码 OpenDataLab 是一个专注于数据和人工智能研究的开源平台致力于提供高质量的数据集、模型和工具支持科研人员和开发者的工作。并且提供开源数据处理全流程的工具包括数据提取、数据清洗、数据标注、数据质量评估、数据可视化与分析等。本文中重点关注数据提取工具MinerU。 整体介绍 项目地址opendatalab/MinerU: A one-stop, open-source, high-quality data extraction tool, supports PDF/webpage/e-book extraction.一站式开源高质量数据提取工具支持PDF/网页/多格式电子书提取。 (github.com) MinerU是一个一站式、开源、高质量的数据提取工具主要包含以下功能 提取PDF基于PDF-Extract-Kit工具后面会详细介绍这个工具实现精确和高效的提取PDF英文和中文文档提取Office文档opendatalab/magic-doc (github.com)是一个轻量级、开源的用于将多种格式的文档PPT/PPTX/DOC/DOCX/PDF转化为 markdown 格式的工具提取HTML文档opendatalab/magic-html (github.com)提供了一套工具能够轻松地从HTML中提取主体区域内容。无论您处理的是复杂的HTML结构还是简单的网页这个库都旨在为您的HTML抽取需求提供一个便捷高效的接口。 这里重点调研了提取PDF的功能下面是详细介绍。 功能简介 Magic-PDF是OpenDataLab基于PDF-Extract-Kit实现的PDF提取工具平台实现了精确和高效的提取PDF英文和中文文档的功能可以在cpu和gpu上运行并且提供命令行和API两种使用方式。核心的功能包括 识别版面元素删除页眉/页脚/脚注保留正文图表定位图片/表格准确转换为多模态Markdown格式表格识别很慢但是如果不开启可以直接切成图片解析数学公式、超长公式转换为Markdown格式保留原文档的结构包括标题、段落、列表提取图像、图片标题、表格、表格标题自动识别文档中的公式并将公式转换成latex自动识别文档中的表格并将表格转换成latex乱码PDF自动检测并启用OCR支持CPU和GPU环境支持windows/linux/mac平台 提供的用户API包括 解析普通的pdf解析扫描版的pdf解析普通和扫描混合的pdf 功能测试结果 整体测试识别得准确率较高基本高于95%跟PyMyPDF识别普通版pdf的效果差不多。下面是详细的功能点测试效果说明。 功能点测试效果备注说明识别pdf类型(普通/扫描)可以识别普通类型和扫描版本的pdf还可以识别pdf是否被加密了如果是加密了则不解析。1、竖向的文字没办法识别 2、扫描版的pdf识别效果挺好并且自动去掉页眉页脚等元素 3、普通类型的pdf识别效果反而不如PyMuPdf会有一些文字识别不太准确识别版面元素删除页眉/页脚/脚注保留正文图表扫描pdf和普通pdf都可以识别并且去掉了页眉页脚的内容1、有时候识别得并不精确反而会去掉一些不属于页眉页脚的内容 2、如果页眉页脚里版面内容比较近就没办法去掉。一般有明显标记的页眉页脚能很好的去掉比如横线等。所以也跟训练模型的输入有关解析数学公式并将公式转换成latex学术论文的公式可以正常识别但是简单公式识别效果不理想这里应该是因为模型训练使用的学术论文较多所以识别学术论文的公式效果比较好识别普通的比如“1N”这种公式反而效果不好了保留原文档的结构包括标题、段落、列表扫描pdf和普通pdf都可以做到1、标题识别出来都是一级标题感觉没有做区分 2、段落内部的每一行识别出来也有多余的换行符 3、列表识别出来无法区分有序和无序提取图像扫描pdf和普通pdf都可以做到1、但是扫描版本的图像切割的时候有部分会把周边的文字切入进来不过问题不大能正常识别出来提取表格能够正确的识别表格但是表格提取很慢目前在16G内存cpu的环境中识别一个很小的表格比如5行5列的表格基本上的400秒左右。 基本原理 整个项目分为如下几个模块 API层提供用户使用的API目前提供了三个API包括PDF内容的提取、结果格式化输出Markdown、json等、提取过程中间结果的输出预处理层主要用来识别PDF的分类比如是普通PDF或者扫描版本PDF或者是混合PDF提取PDF的元数据信息页面宽度高度等、基础的版面信息同时做一些乱码检测去掉无法解析的部分模型层首先进行版面布局的识别识别出基本的元素文字、图片、表格、格式构建统一的模型结构。这一层主要使用的PDF-Extract-Kit这个工具包封装的LayoutMv3、OCR、公式识别、表格识别的模型管线层pipeline是整个提取过程的自动化流程结合前面处理的步骤统一对PDF提取复杂过程构建流程然后输出统一的中间格式输出层结合统一输出的中间格式根据用户的需要输出最终的结果。
  4. 原始文档分类 文档类型论文、财报、文本书籍、图文PDF、PPT语言分类英文或者中文
  5. 版面检测 1布局检测 使用LayoutLMv3模型进行区域检测如图像表格,标题,文本等。LayoutLMv3-SFT指的是我们在LayoutLMv3-base-chinese预训练权重的基础上进一步做了SFT训练后的模型。论文验证集由402张论文页面构成教材验证集由587张不同来源的教材页面构成。 2公式检测 公式检测使用YOLOv8进行公式检测包含行内公式和行间公式 YOLOv8-Trained是在YOLOv8l模型的基础上训练后的权重。论文验证集由255张论文页面构成多源验证集由789张不同来源的页面构成包括教材、书籍等。
  6. 内容识别方式 1公式识别 使用UniMERNet进行公式识别 直接使用的是UniMERNet的权重 2表格识别 目前支持三种表格识别方式 使用TableMaster进行表格识别使用StructEqTable进行表格识别使用RapidTable进行表格识别 3OCR识别 使用PaddleOCR进行文本识别 OCRmyPDF 项目简介 项目地址ocrmypdf/OCRmyPDF: OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched (github.com) 说明OCRmyPDF是基于TesseractOCR实现用于对扫描版PDF文件进行OCR光学字符识别的开源工具。它的核心功能是通过OCR技术将扫描版PDF中的图像转换为可搜索和可复制的文本从而生成一个数字版PDF。这个工具的工作原理大致如下 图像提取OCRmyPDF 会从PDF中提取每一页的图像。光学字符识别它使用 Tesseract-OCR 或其他OCR引擎对这些图像进行字符识别将图像中的文字转换为可编辑的文本。文本嵌入识别出的文本被嵌入到原始的PDF文件中生成一个包含图像和隐藏文本层的PDF文件。这个文本层是搜索和复制的基础。PDF优化OCRmyPDF 还可以对PDF文件进行优化例如压缩文件大小、校正页面方向等。 光学字符扫描OCR工具 OCR识别工具在PDF提取中主要用于识别PDF中的文字内容常见的 PaddleOCR 项目地址PaddlePaddle/PaddleOCR: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80 languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices) (github.com) 官方文档地址概述 - PaddleOCR 文档 (paddlepaddle.github.io) 说明是中文开源项目对中文的支持最好所以国内的PDF识别开源项目大多基于这个项目进行OCR识别 TesseractOCR 项目地址tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository) (github.com) 文档地址tesseract/README.md at main · tesseract-ocr/tesseract (github.com) 说明由谷歌维护的开源OCR引擎支持多种语言。它对格式良好的文本非常准确广泛应用于各种应用中。、 EasyOCR 项目地址JaidedAI/EasyOCR: Ready-to-use OCR with 80 supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc. (github.com) 说明一个基于Python的OCR工具支持80多种语言使用简单的API从图像中提取文本。它很容易集成到现有的Python项目中。 其他工具 LayoutLMv3 说明LayoutLMv3是微软为文档理解任务开发的模型。它是LayoutLM系列的第三个版本将语言模型的功能与空间布局信息相结合使其对于需要理解文本和文档布局的任务特别有效。 项目地址unilm/layoutlmv3 at master · microsoft/unilm (github.com) 文档地址unilm/layoutlmv3/README.md at master · microsoft/unilm (github.com) Ultralytics YOLOv8 说明是一种用于图像或者视频中对象检测的深度学习模型它是 YOLOYou Only Look Once系列模型的最新版本。YOLOv8 继承了 YOLO 系列模型的快速、实时检测的优点同时在精度和性能方面进行了显著提升。可以检测出图像或者视频中的物体并返回边界框同时能将图像中的不同对象分割出来生成像素级掩码也能对整个图像分类识别图像的主要内容或者类别检测出物体的关键位置点如人脸的眼睛鼻子等。在PDF提取中主要用来做公式检测。 项目地址ultralytics/ultralytics: NEW - YOLOv8 in PyTorch ONNX OpenVINO CoreML TFLite (github.com) 文档地址Home - Ultralytics YOLO Docs StructEqTable 说明是一种将Table图像转换为LaTeX的模型工具该模型能够从可视化表格图像中精确地获得相应的LaTeX描述并执行多个与表格相关的推理任务包括结构提取和问答从而拓宽了其应用范围和潜力。 项目地址UniModal4Reasoning/StructEqTable-Deploy: A High-efficiency Open-source Toolkit for Table-to-Latex Task (github.com) RapidTable 是专门用来文档类图像的表格结构还原表格结构模型均属于序列预测方法结合RapidOCR将给定图像中的表格转化对应的HTML格式。 RapidAI/RapidTable: 基于序列表格识别算法推理库集成PP-Structure和modelscope等表格识别算法。