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 모델을 지원합니다.
- 비동기 처리: API 사용 시
asyncio를 사용하여 텍스트 청크를 동시에 처리함으로써 전체 워크플로우를 가속화합니다. - 적응형 토큰 관리: 잘림 현상을 방지하기 위해 모델 제한 및 프롬프트 길이에 따라 요청 크기를 동적으로 조정합니다.
- 자동 품질 관리: 수정 프로세스의 정확도를 평가하기 위해 LLM 기반의 내장 평가 단계가 포함되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트