Dicklesworthstone/llm_aided_ocr
Enhances Tesseract OCR output using LLMs (local or API) for error correction, smart chunking, and markdown formatting of scanned PDFs
解决的问题
原始 OCR(光学字符识别)输出通常充斥着拼写错误、格式错误和布局问题,导致文档难以阅读。本项目提供了一个流水线,用于清理这些错误并将原始文本转换为精美、格式良好的 Markdown 文档。
工作原理
系统遵循多步处理流水线:
- PDF 转换:使用
pdf2image将 PDF 页面转换为图像。 - OCR 提取:使用 Tesseract OCR 从图像中提取原始文本,并应用灰度化和二值化处理以提高清晰度。
- 文本分块:将原始文本分割成带有重叠的可管理块,以保持 LLM 的上下文。
- LLM 纠错:将这些数据块发送到大语言模型(通过 OpenAI/Anthropic 等 API 或通过
llama_cpp本地运行),以修复 OCR 错误并恢复原始结构。 - 格式化:可选地将纠正后的文本转换为 Markdown,去除重复段落并抑制页眉或页码。
- 质量评估:使用 LLM 将最终输出与原始 OCR 文本进行比较,以提供质量评分。
适用对象
需要将扫描的 PDF 或旧文档数字化,并希望在无需人工校对的情况下获得高准确度、可读文本的用户。
亮点
- 灵活的 LLM 后端:支持云端 API(OpenAI, Anthropic)和本地 GGUF 模型,以兼顾隐私或成本。
- 异步处理:使用
asyncio在使用 API 时并发处理文本块,从而加快整体工作流程。 - 自适应 Token 管理:根据模型限制和提示词长度动态调整请求大小,以避免截断。
- 自动化质量控制:包含内置的基于 LLM 的评估步骤,用于评估纠错过程的准确性。
相关
- 项目
- 项目
- 项目
- 项目
- 项目