MinerU 多语言 OCR 实操指南:37 种语言识别从原理到避坑
【免费下载链接】MinerUTransforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows.项目地址: https://gitcode.com/GitHub_Trending/mi/MinerU
最近收到一份俄语合同,需要把文字提取出来做入库检索。用 MinerU 处理这类场景很方便:2.1.0 版本起,它的 pipeline 后端集成了 PP-OCRv5(百度开源的 OCR 模型,v5 为第五代)多语种文本识别模型,支持法语、西班牙语、俄语、韩语等 37 种语言文字识别,官方给出的平均精度涨幅超过 30%。也就是说,MinerU 多语言 PDF 文字提取不再只是"中文专用",一份外文扫描件同样可以跑出结构化的 Markdown。
这个能力是什么:指定语言,选对识别模型
先说清楚原理,不用记术语:OCR 分两步,先找出图片里哪里有文字,再把每个文字区域读出来。第二步靠的是"识别模型",不同语系的字符(西里尔字母、天城体字母、阿拉伯字母)差异很大,用错模型识别率会明显下降。
MinerU 的做法是:你通过lang参数告诉它文档语言,它就加载对应的识别模型,并沿用统一的文本检测模型。所以"多语言"不是靠一个模型硬扛 37 种语言,而是按语系分派专用模型,这也是为什么指定语言能提升准确率。需要注意一点:语言参数只对 pipeline 后端生效,这也是 MinerU 的默认后端,常规使用不用额外切换。
支持哪些语言:37 种语言按语系对照表
下面是完整支持列表,按语系分组。"语言代码"就是命令行里要填的值:
| 语言代码 | 覆盖语言 |
|---|---|
ch(默认) | 中文、英文、日文、繁体中文 |
korean | 韩语、英文 |
arabic | 阿拉伯语、波斯语、维吾尔语、乌尔都语、普什图语、库尔德语、信德语、俾路支语、英文 |
east_slavic | 俄语、白俄罗斯语、乌克兰语、英文 |
cyrillic | 俄语、白俄罗斯语、乌克兰语、塞尔维亚语(西里尔)、保加利亚语、蒙古语、哈萨克语、吉尔吉斯语、塔吉克语等 30 余种西里尔文字语言 |
devanagari | 印地语、马拉地语、尼泊尔语、旁遮普语、梵文等 15 种天城体文字语言 |
th/el | 泰语、希腊语(均含英文) |
ta/te/ka | 泰米尔语、泰卢固语、卡纳达语 |
常用语言代码速查:中文/日文/繁体选ch,韩语选korean,俄语选east_slavic,阿拉伯语选arabic,印地语选devanagari。参数完整说明可查 官方 CLI 文档,语言支持范围定义在 mineru/utils/ocr_language.py。
怎么用:语言自动检测与手动指定的最小示例
MinerU 没有单独的"auto"开关,它的默认行为就是自动按ch处理(覆盖中英日繁混合场景)。所以中文为主的文档,不传语言参数即可:
from mineru.cli.client import mineru_cli # 或命令行:mineru -p contract_ru.pdf -o output/更直接的命令行写法(默认语言,省略--lang):
mineru -p foreign_contract.pdf -o output/处理明确的外文文档时,手动指定语言即可切换识别模型:
mineru -p foreign_contract.pdf -o output/ --lang east_slavic混合语言文档怎么选:
- 文档含中、英、日、繁任意组合:保持默认
ch即可,这是最常见的"多语言混合"情况。 - 主语言 + 英文:选主语言对应的代码。上表里各语系模型基本都内置英文识别能力(如
east_slavic同时覆盖俄语和英文),不需要再单独处理英文。 - 无法归入单一语系的复杂混排:先用默认跑一遍,对识别差的那部分单独用对应语言代码再跑一次,最后合并结果。
怎么跑得更快更稳:3 个可直接上手的调优点
- 能确定语言就显式指定
--lang,比默认模型少走弯路,识别质量更稳; - 批量处理小文档(单份少于 10 页)时,2.1.0 已优化了 pipeline 后处理速度,建议一次传多份文件走批量;
- 扫描件尽量达到 300 DPI 左右再送解析,低分辨率图片对任何识别模型都是硬伤。
避坑指南:3 个最容易碰到的问题
- 识别明显不对:多半是语言没选对。用
--lang显式指定文档主语言重跑,这是 MinerU 语言切换最直接的方式,也是多语言文档 OCR 识别失败时的第一排查项。 - 日文混繁体、或手写文档识别差:这类场景可显式选
--lang ch_server,它对应 PP-OCRv5 服务端识别模型,对手写和特殊字符更友好(见 版本更新日志 1.3.12 节的说明)。 --lang传了却没效果:确认后端是 pipeline(默认值),该参数仅对 pipeline 后端生效。
适用场景一句话
处理外文合同、海外论文、多语言手册这类"PDF 里文字提不出来"的文档,MinerU 2.1.0 的多语言 OCR 值得放进你的工具链试试。
本文基于 MinerU 2.1.0 版本编写。
【免费下载链接】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),仅供参考