「OCRFlux」是什么?
它是一款轻量级多模态大语言模型的工具包,主要功能是把PDF转换为Markdown文件,它的优势是可以解决复杂的排版解析、复杂的表格解析和跨页内容合并这些难点问题,同时它的识别准确率也尤为突出。受到广大用户的喜爱。
图片
二、为什么我们要用OCRFlux? 相信在大家在日常工作中肯定会用到将PDF转换为Markdown的场景,也许在看到今天这个工具之前,大家一定也会使用过其他的OCR识别工具。其实我也用过,比如olmOCR、Nanonets-OCR,MonkeyOCR等等。 但是今天为什么推荐这个OCRFlux工具呢?因为它确实可以应对更复杂的PDF资料文件,并且准确率也更高。口说无凭,先看官方测评数据。 单页面内容的测试(OCRFlux-bench-single)用工具生成的Markdown与真实的Markdown之间的相似度(EDS)为指标。可以看出OCRFlux工具比其他的常用OCR识别工具更准确,达到了96.7%的分数。LanguageModelAvg EDS ↑EnglisholmOCR-7B-0225-preview0.885Nanonets-OCR-s0.870MonkeyOCR0.828OCRFlux-3B0.971ChineseolmOCR-7B-0225-preview0.859Nanonets-OCR-s0.846MonkeyOCR0.731OCRFlux-3B0.962TotalolmOCR-7B-0225-preview0.872Nanonets-OCR-s0.858MonkeyOCR0.780OCRFlux-3B0.967 单页面复杂表格的测试(OCRFlux-pubtabnet-single)同样使用工具生成HTML的表格与真实的HTML表格之间的相似度(TEDS)为指标。可以看出OCRFlux的结果总体分数也是最高的,达到86.1%的分数。TypeModelAvg TEDS ↑SimpleolmOCR-7B-0225-preview0.810Nanonets-OCR-s0.882MonkeyOCR0.880OCRFlux-3B0.912ComplexolmOCR-7B-0225-preview0.676Nanonets-OCR-s0.772MonkeyOCR0.826OCRFlux-3B0.807TotalolmOCR-7B-0225-preview0.744Nanonets-OCR-s0.828MonkeyOCR0.853OCRFlux-3B0.861下面再来看看,跨页面的测试数据结果。 跨页面内容的测试(OCRFlux-bench-cross)使用的指标包括,精确率(Precision)、召回率(Recall)、准确率(Accuracy)和F1分数。它的总体准确率达到99.6%LanguagePrecision ↑Recall ↑F1 ↑Accuracy ↑English0.9920.9640.9780.978Chinese1.0000.9880.9940.994Total0.9960.9760.9860.986 跨页面复杂表格的测试(OCRFlux-pubtabnet-cross)指标包括表格复杂度,和平均TEDS,同样可以看出它准确率都在90%以上。Table typeAvg TEDS ↑Simple0.965Complex0.935Total0.950 也许对于这些指标没有直观感受,只是一些数字,那么下面我们看看它真实识别效果。三、核心功能包括哪些?
1、单页面识别场景:
1.1 跨列表格,当PDF中存在跨多列时,就难以准确判定单元格边界,容易导致识别不准确。可以直观地看出,OCRFlux识别的效果是比较准确的。
图片
1.2合并单元格
当PDF中存在合并单元格的时候,特别容易识别出歧义,OCRFlux支持复杂表格结构的还原,因此可以准确识别其中的内容。
图片
1.3多列
当PDF中存在多列的时候,经常会打乱常规的从左至右的阅读顺序,因此容易识别有误差,可以看下OCRFlux可以识别的结果,给出了正确的阅读顺序。
图片
1.4多表格
单页pdf中的多表格,也会增加识别解析的复杂度,必须做出正确的切割,才能保证展示的正确,OCRFlux的识别也是没有问题的。
图片
1.5多语言
一个PDF中混合多种语言,同样会增加识别难度,OCRFlux具备强大的语言识别和处理能力,可以精准识别这种混合语言的文档。
图片
2、跨页段落/表格合并场景:
2.1跨页表格
PDF中经常遇到表格跨页分离,增加了OCR的识别难度,OCRFlux可以自动检测合并表格元素,无缝对接上下页的内容,输出正确的结果。
图片
2.2表格垂直拆分
多列表格的PDF中,经常出现纵向分离,导致理解数据和重组数据存在困难,OCRFlux可以精确的识别出这种场景,可以看下效果。
图片
2.3表头重复
在跨页表格的PDF中,表格的页眉重复也会导致OCR识别错误,OCRFlux可以智能合并跨页内容,自动删除多余的页眉。
图片
2.4单元格多行拆分
内容跨页超长单元格特别容易导致识别错误,OCRFlux也可以智能合并保留完整的数据内容。
图片
四、主要应用场景?学术研究:对于学术文档、复杂的文献都可以使用OCRFlux转换为Markdown进行修改。
技术文档:对于PDF格式技术文档,特别是英文的文档,可以可以使用OCRFlux转换为Markdown文件。
单据的识别:比如财务单据、票据等PDF格式,都可以转换为Markdown格式进行修改存储。
五、如何部署?部署方式:1、源码部署通过Conda创建一个Python环境来安装。conda create -n ocrflux python=3.11conda activate ocrfluxgit clone https://github.com/chatdoc-com/OCRFlux.gitcd ocrfluxpip install -e . --find-links https://flashinfer.ai/whl/cu124/torch2.5/flashinfer/2、本地使用方式PDF转Markdown:python -m ocrflux.pipeline ./localworkspace --data test.pdf --model /model_dir/OCRFlux-3B图片转Markdown:python -m ocrflux.pipeline ./localworkspace --data test_page.png --model /model_dir/OCRFlux-3B批量PDF转Markdown:
python -m ocrflux.pipeline ./localworkspace --data test_pdf_dir/* --model /model_dir/OCRFlux-3B结果都会保存在./localworkspace/results目录中。也可以设置--skip_cross_page_merge 跳过解析过程的跨页面合并,把各个页面的解析结果快速拼接起来,生成一个Markdown文件。3、Docker部署docker run -it --gpus all \ -v /path/to/localworkspace:/localworkspace \ -v /path/to/test_pdf_dir:/test_pdf_dir/ \ -v /path/to/OCRFlux-3B:/OCRFlux-3B \ chatdoc/ocrflux:latest /localworkspace --data /test_pdf_dir/* --model /OCRFlux-3B/使用下面命令生成Markdown文件,生成的文件默认保存在./localworkspace/markdowns/DOCUMENT_NAME目录里。
python -m ocrflux.jsonl_to_markdown ./localworkspace五、项目地址
https://github.com/chatdoc-com/OCRFlux
https://ocrflux.pdfparser.io/
今天的分享就到这里,感谢大家的阅读。如果你最近也要使用PDF转换为Markdown格式,可以试试这个工具。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。Powered by 大龙和远古巨龙哪个厉害 @2013-2022 RSS地图 HTML地图