ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MinerU 段落拼接:跨页、双栏 PDF 转 Markdown 完整的 5 个机制

MinerU 段落拼接:跨页、双栏 PDF 转 Markdown 完整的 5 个机制 MinerU 段落拼接跨页、双栏 PDF 转 Markdown 完整的 5 个机制【免费下载链接】MinerUTransforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows.项目地址: https://gitcode.com/GitHub_Trending/mi/MinerU双栏论文转 Markdown 后段落左右串栏跨页的段落被切成两段。MinerU 这个开源 PDF 解析工具在流水线里做段落拼接跨页合并、多栏阅读顺序还原、列表结构保持PDF 转 Markdown 输出的段落是完整的。MinerU 段落拼接是什么段落拼接是布局识别之后的一段后处理把每页零散的文字块拼回可读的段落再排成人的阅读顺序。它具体负责 5 件事 区块分类先分清哪块是正文、表格还是公式分开处理 跨页合并跨两页的文本拼回同一段不用你手动接 阅读顺序双栏文档按栏排序而不是按坐标乱序 列表识别项目符号列表和目录编号逐行输出不糊成大段落️ 标题隔离标题块截断正文分组防止小标题被吞进段落一份 PDF 在 MinerU 里的完整旅程一份 PDF 进去后每一页都要过 5 个环节布局识别YOLO 类布局模型一种按目标检测思路工作的模型给页面上的文本、表格、公式、图像各画一个矩形框叫 bboxbounding box包围元素的坐标框。文本抽取每个文本块里逐行抽出 spanspan 是行内最小的文本片段并区分公式和普通文字。段落合并相邻的同类型块先分组再按标点和几何关系判断是否属于同一段。阅读顺序按模型给出的阅读顺序对块排序保证先左后右、先上后下。输出由中间 JSON 生成 Markdown 和 JSON段落此时已经拼好。布局模型在页面上框出来的效果大致如下三个最头疼的问题它是怎么解决的跨页段落为什么不会被切断现象第 3 页最后一行没有句号内容续到第 4 页。按页独立处理时这段会被切成两段。机制MinerU 把所有页的块汇到同一条处理流里再逐对判断合并。判断依次检查上一块末行不以断句标点结尾英文的 . ! ? 等中文的。等下一块首字符不是数字或大写字母两块宽度差不超过一倍。满足就把两块的行拼到一起。若两块分属不同页合并后的文本会逐个打上 cross_page跨页标记供下游输出识别。自查拿一份带跨页段落的 PDF 跑一遍在 json 输出里搜 cross_pagemarkdown 里该段落应呈现为完整一段。双栏 PDF 阅读顺序怎么还原现象双栏论文里左栏顶部和右栏顶部的 y 坐标几乎相同。按 y 坐标排序会得到左第一行、右第一行、左第二行这种交错结果。机制MinerU 的布局模型自带阅读顺序预测头输出 bbox 的同时给出每个块的阅读序号块识别完成后按这个序号排序而不是按坐标。于是一栏读尽再换到下一栏左右不会互相穿插。自查转一份双栏论文顺序读 markdown 前 5 段右栏首段应出现在左栏结束之后。列表和标题层级怎么保持完整现象目录条目、项目符号列表被并进一个大段落或者一个条目被拆成两段。机制分组之后MinerU 对每组再做一次是不是列表检查。一个块内 80% 以上行以数字开头、且左右有一侧顶格判为 index目录/编号2 行以上左侧顶格、右侧留空或有结束标点判为 list列表并给每个条目标记起始行和结束行逐行输出。标题类块title、abstract、paragraph_title会直接截断正文分组所以标题不会和正文粘连。自查用带目录的文档跑一遍看 markdown 里目录数字之间是否保留换行、标题的 # 层级和原文是否一致。不同文档类型怎么选配置文档场景主要难点推荐命令说明双栏论文多栏阅读顺序mineru -p paper.pdf -o out -b pipeline布局模型直接输出阅读顺序逐栏排扫描版手册没有文本层追加--parse-method auto自动走 OCR之后仍走同一套段落拼接多表格报告表格跨页追加--table-enable true表格独立成块输出不参与段落合并中英混排长文档跨页标点判断默认跑通后对比 hybrid 或 vlm不同后端各有一条输出链路对比看效果mineru -p paper.pdf -o out -b pipeline mineru -p manual.pdf -o out -b pipeline --parse-method auto常见问题自查Q两段相邻文字被拼成一段算错吗A前段末尾无断句标点、后段首字符是小写字母或汉字、两块宽度接近时MinerU 就判为同一段的续行。排版拆开的正文这样拼回是预期行为。Qjson 里有 cross_page 标记markdown 里为什么看不到Across_page 是拼接阶段的内部标记markdown 直接输出合并后的结果。它的作用是让消费 JSON 的下游知道这段发生过跨页。Q目录index会不会和正文糊在一起A不会。index 识别为独立块后逐行输出列表的合并规则只发生在同为 list 或同为 index 的块之间。QOCR 识别得准不准会影响跨页合并吗A合并判断只看行尾标点和块的几何关系与识别准确率无关但若某行末尾标点被识别错那一条的合并判断可能受影响。Q段落拼接的逻辑在哪里A在 pipeline 后处理阶段可看 段落拼接实现hybrid 和 vlm 后端各走自己的输出链路。从这开始先 clone 仓库拿一份双栏或跨页样本跑一遍上面每个问题都能逐项验证git clone https://gitcode.com/GitHub_Trending/mi/MinerU装好后从仓库内 官方文档 的 quick_start 章节入手重点读 pipeline 后端的用法。遇到某段没拼上时沿布局识别→块分组→段落合并→阅读顺序四个环节倒查看输出在哪一步开始偏离通常很快能定位原因。【免费下载链接】MinerUTransforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows.项目地址: https://gitcode.com/GitHub_Trending/mi/MinerU创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表