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 文档。

工作原理

系统遵循多步处理流水线:

  1. PDF 转换:使用 pdf2image 将 PDF 页面转换为图像。
  2. OCR 提取:使用 Tesseract OCR 从图像中提取原始文本,并应用灰度化和二值化处理以提高清晰度。
  3. 文本分块:将原始文本分割成带有重叠的可管理块,以保持 LLM 的上下文。
  4. LLM 纠错:将这些数据块发送到大语言模型(通过 OpenAI/Anthropic 等 API 或通过 llama_cpp 本地运行),以修复 OCR 错误并恢复原始结构。
  5. 格式化:可选地将纠正后的文本转换为 Markdown,去除重复段落并抑制页眉或页码。
  6. 质量评估:使用 LLM 将最终输出与原始 OCR 文本进行比较,以提供质量评分。

适用对象

需要将扫描的 PDF 或旧文档数字化,并希望在无需人工校对的情况下获得高准确度、可读文本的用户。

亮点

  • 灵活的 LLM 后端:支持云端 API(OpenAI, Anthropic)和本地 GGUF 模型,以兼顾隐私或成本。
  • 异步处理:使用 asyncio 在使用 API 时并发处理文本块,从而加快整体工作流程。
  • 自适应 Token 管理:根据模型限制和提示词长度动态调整请求大小,以避免截断。
  • 自动化质量控制:包含内置的基于 LLM 的评估步骤,用于评估纠错过程的准确性。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目