Show HN: LLM-aided OCR – LLM으로 Tesseract OCR 오류 수정
- 프로젝트 소개: LLM-Aided OCR 프로젝트는 고급 자연어 처리 기술과 대형 언어 모델(LLM)을 활용하여 OCR 출력의 품질을 크게 향상시키는 시스템입니다.
- 예제 출력: 원본 PDF, 원시 OCR 출력, LLM이 수정한 Markdown 출력 포함.
- 주요 기능:
- PDF를 이미지로 변환
- Tesseract를 사용한 OCR
- LLM을 통한 고급 오류 수정(로컬 및 API 기반)
- 효율적인 처리 위한 스마트 텍스트 청킹
- Markdown 서식 옵션
- 헤더 및 페이지 번호 억제(선택 사항)
- 최종 출력물의 품질 평가
- 로컬 LLM 및 클라우드 기반 API 제공자(OpenAI, Anthropic)를 모두 지원
- 비동기 처리로 성능 향상
- 프로세스 추적 및 디버깅을 위한 상세 로그
- 로컬 LLM 추론을 위한 GPU 가속
- 기술적 개요: PDF 처리 및 OCR, 텍스트 처리를 위한 파이프라인, 오류 수정 및 서식 지정, 중복 콘텐츠 제거, 헤더 및 페이지 번호 억제.
- LLM 통합: 로컬 및 API 기반 LLM 지원, 로컬 및 API 기반 LLM 처리 함수 제공, 토큰 관리 기능 포함.
- 품질 평가: 출력 품질 평가 기능, 로깅 및 오류 처리.
- 설정 및 사용자 정의: .env 파일을 사용한 설정, 주요 설정 사항: LLM 선택, API 제공자 선택, 모델 선택, 토큰 제한 및 버퍼 크기, Markdown 서식 옵션.
- 출력 파일 처리: 원시 OCR 출력 및 LLM 수정 출력 파일 생성.
- 설치 요구 사항: Python 3.12+, Tesseract OCR 엔진, pdf2image 라이브러리, PyTesseract, OpenAI API(선택 사항), Anthropic API(선택 사항), 로컬 LLM 지원(선택 사항).
- 사용 방법: PDF 파일을 프로젝트 디렉토리에 추가하고 스크립트를 실행하여 최종 처리된 텍스트 출력물 생성.
- 프로세스 설명: PDF 변환, OCR 적용, 텍스트 청킹, 오류 수정, Markdown 서식 지정, 품질 평가 포함.
- 코드 최적화: 동시 처리, 문맥 유지, 적응형 토큰 관리.
- 출력 파일: {base_name}__raw_ocr_output.txt, {base_name}_llm_corrected.md.
- 제한 사항 및 향후 개선 사항: LLM 품질에 따라 성능 차이, 대형 문서 처리 시 시간 소요 및 컴퓨팅 자원 필요.
- 기여: 기여 환영, MIT 라이선스.
4github.com링크 복사하기
AI 뉴스 요약은 뉴스의 내용을 AI가 요약(GPT-4 활용)한 것입니다. 따라서 틀린 내용을 포함할 수 있습니다. 뉴스의 자세한 내용을 확인하시려면 해당 뉴스 링크를 클릭해주세요.