일반 소개
PDF-Extract-Kit은 복잡하고 다양한 PDF 문서에서 고품질 콘텐츠를 효율적으로 추출하는 데 중점을 두고 OpenDataLab 팀에서 개발한 오픈 소스 프로젝트입니다. 고급 문서 구문 분석 기술, 레이아웃 감지, 수식 인식, 표 추출, OCR 및 기타 기능을 지원하며 학술 논문, 연구 보고서, 재무 문서 및 기타 시나리오에 적용할 수 있습니다. 이 도구는 모듈식 설계를 채택하여 사용자의 필요에 따라 유연하게 구성하여 맞춤형 문서 처리 애플리케이션을 쉽게 구축할 수 있습니다. PDF-Extract-Kit은 사용자가 가장 적합한 모델을 선택할 수 있도록 포괄적인 평가 벤치마크를 제공하며, 최근 더 빠른 DocLayout-YOLO 및 StructTable 추가와 같이 지속적으로 업데이트 및 최적화되고 있습니다. -을 추가하는 등 지속적으로 업데이트되어 개발자와 연구자 모두 효율적인 문서 콘텐츠 추출을 달성할 수 있습니다.

기능 목록
- 레이아웃 감지제목, 단락, 이미지 및 표와 같은 영역을 포함하여 PDF의 페이지 레이아웃을 인식하고 DocLayout-YOLO와 같은 효율적인 모델을 지원합니다.
- 공식 인식문서에서 수학 공식을 추출 및 구문 분석하고 UniMERNet과 같은 고급 기술을 사용하여 LaTeX 형식으로 변환합니다.
- 양식 추출복잡한 표 콘텐츠의 인식 및 추출을 지원하며, LaTeX, HTML 및 마크다운 형식으로 출력합니다.
- OCR 처리: 스캔한 문서나 이미지의 텍스트를 PaddleOCR과 같은 기술을 통해 편집 가능한 텍스트로 변환합니다.
- 모듈식 구성: 사용자가 다양한 모델을 결합하고 애플리케이션을 빠르게 구축할 수 있는 유연한 프로필을 제공합니다.
- 콘텐츠 평가사용자가 다양한 모델의 효율성을 평가하는 데 도움이 되는 다양한 기본 제공 PDF 구문 분석 벤치마크.
- 이미지 및 텍스트 추출PDF에서 이미지를 추출하고 텍스트 콘텐츠를 인식하는 기능을 지원합니다.
도움말 사용
설치 프로세스
PDF-Extract-Kit는 여러 운영 체제(예: Ubuntu, Windows 또는 macOS)에서 지원되며, 자세한 설치 단계는 다음과 같습니다(예: Ubuntu 20.04):
1. 환경 준비
- 시스템에 Python 3.10이 설치되어 있는지 확인합니다:
sudo apt update sudo apt install python3.10 python3.10-dev python3-pip
- 가상 환경을 만들고 활성화합니다:
conda create -n pdf-extract-kit python=3.10 conda activate pdf-extract-kit
2. 종속성 설치
- 코드 리포지토리를 복제합니다:
git clone https://github.com/opendatalab/PDF-Extract-Kit.git cd PDF-Extract-Kit
- 핵심 종속성 설치(GPU가 없는 경우 사용 가능)
requirements-cpu.txt
):pip install -r requirements.txt
다음 사항에 유의하십시오.다음과 같은 경우
doclayout-yolo
설치에 실패한 경우 수동으로 설치할 수 있습니다:pip3 install doclayout-yolo==0.0.2 --extra-index-url=https://pypi.org/simple
3. 모델 가중치 다운로드
- 모델 파일을 다운로드하려면 공식 튜토리얼을 참조하세요(전체 또는 부분 다운로드가 지원됨):
- Python 스크립트를 사용한 자동 다운로드:
python scripts/download_models_hf.py
- 또는 허깅 페이스에서 수동으로 다운로드하세요:
git lfs install git clone https://huggingface.co/opendatalab/PDF-Extract-Kit-1.0
- Python 스크립트를 사용한 자동 다운로드:
- 다운로드가 완료되면 프로젝트 디렉터리의 지정된 경로에 모델 파일을 배치합니다(
configs/model_configs.yaml
).
4. 설치 확인
- 샘플 스크립트를 실행하여 환경이 작동하는지 테스트합니다:
python pdf_extract.py --pdf assets/examples/example.pdf
출력은
outputs
폴더로 이동합니다.
기능 작동 흐름
레이아웃 감지
- PDF 파일 준비: 처리할 PDF를 프로젝트 디렉터리에 배치합니다(예
assets/examples/
). - 레이아웃 검사 실행::
- 수정
configs/layout_detection.yaml
입력 경로의pdf_path: "assets/examples/example.pdf" output_dir: "outputs/layout_detection"
- 명령을 실행합니다:
python scripts/layout_detection.py --config=configs/layout_detection.yaml
- 수정
- 결과 보기: in
outputs/layout_detection
폴더에 레이아웃 영역이 레이블이 지정된 이미지와 JSON 파일을 생성합니다.
공식 인식
- 공식 추출 실행::
- 기본 구성을 사용합니다:
python pdf_extract.py --pdf your_file.pdf --render
--render
매개변수는 수식을 이미지로 렌더링하여 쉽게 검증할 수 있도록 합니다.
- 기본 구성을 사용합니다:
- 출력 보기수식은 LaTeX 형식의 출력 JSON에 저장되며 학술적 글쓰기나 추가 가공에 바로 사용할 수 있습니다.
양식 추출
- 실행 양식 식별::
- 다운로드가 완료되었는지 확인
StructTable-InternVL2-1B
모델. - 전체 추출을 실행합니다:
python pdf_extract.py --pdf your_file.pdf
- 다운로드가 완료되었는지 확인
- 출력 형식 선택::
- 구성 파일 수정
configs/model_configs.yaml
설정table_format
때문에latex
및html
어쩌면markdown
.
- 구성 파일 수정
- 결과 보기: 양식의 내용이 지정된 형식으로 출력 디렉터리에 저장됩니다.
OCR 처리
- 스캔한 PDF 처리::
- 그래픽 PDF의 경우 OCR이 활성화되어 있는지 확인하세요:
python pdf_extract.py --pdf scan_file.pdf --vis
--vis
매개변수는 인식된 텍스트 영역에 주석을 달아 시각화 결과를 생성합니다.
- 그래픽 PDF의 경우 OCR이 활성화되어 있는지 확인하세요:
- 출력 확인텍스트 콘텐츠는 편집 가능한 형식으로 저장되며 이미지-텍스트 인식 결과를 한 눈에 확인할 수 있습니다.
주요 기능 작동
모듈식 구성
- 컴파일러
configs/model_configs.yaml
를 클릭하고 매개변수를 조정합니다:img_size
이미지 해상도.conf_thres
: 신뢰도 임계값.device
선택cuda
(GPU) 또는cpu
.
- 예시:
model_args: img_size: 1024 conf_thres: 0.5 device: "cuda"
고성능 최적화
- 고용량 디바이스(16GB 이상의 비디오 메모리)의 경우 일괄 처리를 활성화할 수 있습니다:
python pdf_extract.py --pdf your_file.pdf --batch-size 128
- 구문 분석 속도를 50% 이상으로 높여 일괄 처리에 적합합니다.
다국어 지원
- 설정
lang
때문에auto
OCR 모델을 사용하여 문서의 언어를 자동으로 인식하고 적절한 OCR 모델을 선택할 수 있습니다:ocr_args: lang: "auto"
주의
- 하드웨어 요구 사항GPU(예: NVIDIA 카드)는 처리 속도를 크게 향상시킬 수 있으며 8GB 이상의 비디오 메모리를 사용하는 것이 좋습니다.
- 일반적인 문제::
- 누락된 메시지가 표시되는 경우
cv2
실행 중pip install opencv-python
. - 모델 다운로드가 완료되지 않은 경우 네트워크를 확인하거나 다운로드 방법을 변경하세요.
- 누락된 메시지가 표시되는 경우
- 커뮤니티 지원질문이 있는 경우 GitHub의 토론 또는 이슈 게시판에서 질문하세요.
위의 단계를 통해 사용자는 PDF-Extract-Kit을 쉽게 시작하고 복잡한 PDF 콘텐츠 추출을 효율적으로 완료할 수 있습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...