本文介绍了Datalab公司的Marker和OCR模型在文档解析与文本提取方面的技术应用。Marker可将PDF、DOCX、PPTX、图像等文件转换为Markdown或JSON格式,能够格式化表格、数学公式和代码,提取图像,并在传递JSON Schema时拉取特定字段。OCR可从图像和文档中检测九十种语言的文本,并返回阅读顺序和表格网格。
Marker模型基于开源项目Marker(某代码托管平台29k星标),OCR基于Surya(19k星标)。
运行Marker
import replicate
output = replicate.run(
"datalab-to/marker", input={ "file": open("report.pdf", "rb"), "mode": "balanced", # fast / balanced / accurate "include_metadata": True, # 返回页面级JSON元数据 },
) print(output["markdown"][:400])
运行OCR
import replicate
output = replicate.run(
"datalab-to/ocr", input={ "file": open("receipt.jpg", "rb"), "visualize": True, # 返回带有红色多边形框选文本的输入图像 "return_pages": True, # 返回布局数据 },
) print(output["text"][:200])
上述模型兼具快速与准确,优于Tesseract等成熟工具,处理时间短。Marker每页处理约0.18秒,批量处理时可达每秒120页。
结构化提取
Marker的一个强大功能是结构化提取。例如,从发票中提取特定字段:
import json import replicate
schema = {
"type": "object", "properties": { "vendor": {"type": "string"}, "invoice_number": {"type": "string"}, "date": {"type": "string"}, "total": {"type": "number"} }
}
output = replicate.run(
"datalab-to/marker", input={ "file": "https://multimedia-example-files.replicate.dev/replicator-invoice.1page.pdf", "page_schema": json.dumps(schema), }
) structured_data = json.loads(output["extraction_schema_json"]) print(structured_data)
性能
使用olmOCR-Bench基准(包含1,403个PDF文件,7,010个单元测试用例)评估Marker性能,该基准测试OCR系统将PDF文档准确转换为Markdown格式并保留关键文本和结构信息的能力。
Marker在所有测试模型中表现优异,包括GPT-4o、Deepseek OCR、Mistral OCR和olmOCR。
(性能对比表格略,原文包含详细数据)
定价
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/264797.html