LLM-Aided OCR
Enhance Tesseract OCR output for scanned PDFs by applying Large Language Model (LLM) corrections.
LLM으로 Tesseract OCR 오류 수정
- 광학 문자 인식(OCR) 출력의 품질을 크게 향상시키기 위해 설계
- 최신 자연어 처리 기술과 대형 언어 모델(LLM)을 활용하여 원시 OCR 텍스트를 매우 정확하고 잘 형식화된 읽기 쉬운 문서로 변환
Features
- PDF를 이미지로 변환
- Tesseract를 사용한 OCR
- LLM(로컬 또는 API 기반)을 사용한 고급 오류 수정
- 효율적인 처리를 위한 스마트 텍스트 청킹
- Markdown 형식 옵션
- 헤더 및 페이지 번호 억제(선택 사항)
- 최종 출력의 품질 평가
- 로컬 LLM 및 클라우드 기반 API 제공자(OpenAI, Anthropic) 지원
- 성능 향상을 위한 비동기 처리
- 프로세스 추적 및 디버깅을 위한 상세 로깅
- 로컬 LLM 추론을 위한 GPU 가속
요구 사항
- Python 3.12+
- Tesseract OCR 엔진
- PDF2Image 라이브러리
- PyTesseract
- OpenAI API(선택 사항)
- Anthropic API(선택 사항)
- 로컬 LLM 지원(선택 사항, 호환 GGUF 모델 필요)
작동 방식
LLM-Aided OCR 프로젝트는 원시 OCR 출력을 고품질의 읽기 쉬운 텍스트로 변환하기 위해 다단계 프로세스를 사용:
- PDF 변환: pdf2image를 사용하여 입력 PDF를 이미지로 변환
- OCR: Tesseract OCR을 적용하여 이미지에서 텍스트 추출
- 텍스트 청킹: 원시 OCR 출력을 관리 가능한 청크로 분할
- 오류 수정: 각 청크는 LLM 기반 처리를 통해 OCR 오류를 수정하고 가독성을 향상
- Markdown 형식화(선택 사항): 수정된 텍스트를 깨끗하고 일관된 Markdown으로 재형식화
- 품질 평가: LLM 기반 평가를 통해 최종 출력 품질을 원래 OCR 텍스트와 비교
GN⁺의 정리
- LLM-Aided OCR 프로젝트는 최신 자연어 처리 기술과 대형 언어 모델을 활용하여 OCR 출력의 품질을 크게 향상시키는 시스템임
- PDF를 이미지로 변환하고, Tesseract를 사용하여 텍스트를 추출한 후, LLM을 통해 오류를 수정하고 Markdown 형식으로 재구성함
- 로컬 및 클라우드 기반 LLM을 모두 지원하며, 비동기 처리를 통해 성능을 최적화함
- 이 프로젝트는 OCR 출력의 정확성과 가독성을 높이기 위해 다양한 고급 기능을 제공하며, 특히 대형 문서 처리에 유용함
- 유사한 기능을 제공하는 프로젝트로는 ABBYY FineReader, Adobe Acrobat OCR 등이 있음