Show HN: LLM-Aided OCR – Correção de erros do Tesseract OCR com LLM
(github.com/Dicklesworthstone)- Projetado para melhorar significativamente a qualidade da saída de reconhecimento óptico de caracteres (OCR)
- Usa técnicas modernas de processamento de linguagem natural e grandes modelos de linguagem (LLM) para transformar texto bruto de OCR em documentos muito precisos, bem formatados e fáceis de ler
Recursos
- Conversão de PDF em imagens
- OCR com Tesseract
- Correção avançada de erros com LLM (local ou baseado em API)
- Fragmentação inteligente de texto para processamento eficiente
- Opção de formatação em Markdown
- Supressão de cabeçalhos e números de página (opcional)
- Avaliação da qualidade da saída final
- Suporte a LLMs locais e provedores de API em nuvem (OpenAI, Anthropic)
- Processamento assíncrono para melhorar o desempenho
- Logging detalhado para rastreamento do processo e depuração
- Aceleração por GPU para inferência de LLM local
Requisitos
- Python 3.12+
- Motor Tesseract OCR
- Biblioteca PDF2Image
- PyTesseract
- API da OpenAI (opcional)
- API da Anthropic (opcional)
- Suporte a LLM local (opcional, requer modelo GGUF compatível)
Como usar
- Coloque o arquivo PDF no diretório do projeto
- Atualize a variável
input_pdf_file_pathda funçãomain()com o nome do arquivo PDF - Execute o script:
python llm_aided_ocr.py - O script gera vários arquivos de saída, incluindo o texto final pós-processado
Como funciona
O projeto LLM-Aided OCR usa um processo em várias etapas para transformar a saída bruta do OCR em texto legível e de alta qualidade:
- Conversão de PDF: usa
pdf2imagepara converter o PDF de entrada em imagens - OCR: aplica o Tesseract OCR para extrair texto das imagens
- Fragmentação de texto: divide a saída bruta do OCR em blocos gerenciáveis
- Correção de erros: cada bloco passa por processamento baseado em LLM para corrigir erros de OCR e melhorar a legibilidade
- Formatação em Markdown (opcional): reformata o texto corrigido em um Markdown limpo e consistente
- Avaliação de qualidade: compara a qualidade da saída final com o texto OCR original por meio de avaliação baseada em LLM
Resumo do GN⁺
- O projeto LLM-Aided OCR é um sistema que melhora significativamente a qualidade da saída de OCR usando técnicas modernas de processamento de linguagem natural e grandes modelos de linguagem
- Ele converte PDFs em imagens, extrai o texto com Tesseract, corrige erros com LLM e reorganiza o resultado em formato Markdown
- Suporta tanto LLMs locais quanto baseados em nuvem e otimiza o desempenho com processamento assíncrono
- O projeto oferece vários recursos avançados para aumentar a precisão e a legibilidade da saída de OCR, sendo especialmente útil para processar documentos grandes
- Projetos com funcionalidades semelhantes incluem ABBYY FineReader e Adobe Acrobat OCR
1 comentários
Comentários do Hacker News
com o lançamento do novo modelo schnell, pode ser possível obter um conjunto de dados para produzir modelos de visão SOTA
em artigos científicos, o modelo nougat da Meta é o mais adequado
em tentativas anteriores, funcionou bem em 90% dos casos
se você converter uma página de PDF em PNG e pedir ao gpt4 para transcrever a imagem, ele é muito preciso
há 10 anos, tentaram usar o Tesseract para fazer OCR de chinês
tiveram resultados melhores com PaddlePaddle
perguntaram se outras ferramentas de OCR já foram testadas
é importante ajustar o prompt para que o modelo entenda com mais clareza
estão fazendo um trabalho parecido de parsing de rubricas e envios de alunos
perguntaram sobre a abordagem de corrigir erros de OCR com o prompt "fix this text"