Aprendizagem pessoal com IA
e orientação prática
Recomendação de recursos 1

PDF-Extract-Kit: Extraia a estrutura complexa do conteúdo do PDF da ferramenta de código aberto

Introdução geral

O PDF-Extract-Kit é um projeto de código aberto desenvolvido pela equipe do OpenDataLab, com foco na extração eficiente de conteúdo de alta qualidade de documentos PDF complexos e diversos. Ele integra tecnologia avançada de análise de documentos, suporte para detecção de layout, reconhecimento de fórmulas, extração de tabelas e OCR e outras funções, aplicáveis a trabalhos acadêmicos, relatórios de pesquisa, documentos financeiros e outros cenários. O PDF-Extract-Kit fornece benchmarks de avaliação abrangentes para ajudar os usuários a selecionar o modelo mais adequado, enquanto é constantemente atualizado e otimizado, como a recente adição de DocLayout-YOLO e StructTable mais rápidos. -Tanto os desenvolvedores quanto os pesquisadores podem obter uma extração eficiente do conteúdo de documentos por meio dele.

PDF-Extract-Kit: Extraia a estrutura complexa do conteúdo do PDF da ferramenta de código aberto-1


 

Lista de funções

  • Detecção de layoutReconhecer layouts de página em PDF, incluindo áreas como cabeçalhos, parágrafos, imagens e tabelas, com suporte para modelos eficientes como o DocLayout-YOLO.
  • reconhecimento de fórmulasExtrai e analisa fórmulas matemáticas de documentos e as converte para o formato LaTeX, com base em tecnologias avançadas, como a UniMERNet.
  • Extração de formuláriosSuporte ao reconhecimento e à extração de conteúdo de tabelas complexas, com saída nos formatos LaTeX, HTML e Markdown.
  • Processamento de OCRConverte texto de documentos ou imagens digitalizadas em texto editável por meio de tecnologias como a PaddleOCR.
  • Configuração modularFornece perfis flexíveis que permitem aos usuários combinar diferentes modelos e criar aplicativos rapidamente.
  • Avaliação de conteúdoAnálise de PDF: Diversos benchmarks de análise de PDF incorporados para ajudar os usuários a avaliar a eficácia de diferentes modelos.
  • Extração de imagens e textosSuporte para extração de imagens de PDFs e reconhecimento de seu conteúdo textual.

 

Usando a Ajuda

Processo de instalação

O PDF-Extract-Kit é compatível com vários sistemas operacionais (por exemplo, Ubuntu, Windows ou macOS). Veja a seguir as etapas detalhadas de instalação (Ubuntu 20.04, por exemplo):

1. preparação ambiental

  • Certifique-se de que o Python 3.10 esteja instalado em seu sistema:
    sudo apt update
    sudo apt install python3.10 python3.10-dev python3-pip
  • Criar e ativar um ambiente virtual:
    conda create -n pdf-extract-kit python=3.10
    conda activate pdf-extract-kit
    

2. instalação de dependências

  • Clonar o repositório de código:
    git clone https://github.com/opendatalab/PDF-Extract-Kit.git
    cd PDF-Extract-Kit
    
  • Instale as dependências principais (disponíveis se não houver GPU) requisitos-cpu.txt):
    pip install -r requirements.txt
    

    tomar nota deSe você encontrar doclayout-yolo A instalação falhou, você pode instalá-la manualmente:

    pip3 install doclayout-yolo==0.0.2 --extra-index-url=https://pypi.org/simple
    

3. download dos pesos do modelo

  • Consulte o tutorial oficial para fazer o download dos arquivos de modelo (há suporte para download total ou parcial):
    • Downloads automatizados usando scripts Python:
      python scripts/download_models_hf.py
      
    • Ou faça o download manualmente em Hugging Face:
      git lfs install
      git clone https://huggingface.co/opendatalab/PDF-Extract-Kit-1.0
      
  • Após a conclusão do download, coloque os arquivos de modelo no caminho especificado no diretório do projeto (consulte a seção configs/model_configs.yaml).

4. verificação da instalação

  • Execute o script de amostra para testar se o ambiente está funcionando:
    python pdf_extract.py --pdf assets/examples/example.pdf
    

    A saída será salva no arquivo saídas pasta.

Função Fluxo de operação

Detecção de layout

  1. Preparação de arquivos PDFColoque o PDF a ser processado no diretório do projeto (por exemplo ativos/exemplos/).
  2. Inspeção do layout de execução::
    • modificações configs/layout_detection.yaml O caminho de entrada no
      pdf_path: "assets/examples/example.pdf"
      output_dir: "outputs/layout_detection"
      
    • Execute o comando:
      python scripts/layout_detection.py --config=configs/layout_detection.yaml
      
  3. Exibir resultados: em outputs/layout_detection gerando imagens e arquivos JSON com as áreas de layout rotuladas.

reconhecimento de fórmulas

  1. Executar extração de fórmula::
    • Use a configuração padrão:
      python pdf_extract.py --pdf your_file.pdf --render
      
    • --render renderiza a fórmula como uma imagem para facilitar a validação.
  2. Exibir saídaFórmulas: As fórmulas são armazenadas no JSON de saída no formato LaTeX e podem ser usadas diretamente na redação acadêmica ou no processamento posterior.

Extração de formulários

  1. Identificação do formulário de execução::
    • Certifique-se de que o download foi feito Tabela de estruturação-InternVL2-1B Modelos.
    • Execute a extração completa:
      python pdf_extract.py --pdf seu_arquivo.pdf
      
  2. Seleção do formato de saída::
    • Modificar o arquivo de configuração configs/model_configs.yamlConfigurações formato_da_tabela por causa de látexehtml talvez remarcação para baixo.
  3. Visualização de resultadosFormato de saída: O conteúdo do formulário será salvo no diretório de saída no formato especificado.

Processamento de OCR

  1. Processamento de PDFs digitalizados::
    • Para PDFs gráficos, verifique se o OCR está ativado:
      python pdf_extract.py --pdf scan_file.pdf --vis
      
    • --vis Os parâmetros geram resultados de visualização, anotando áreas de texto reconhecido.
  2. Verificar saídaO conteúdo do texto é salvo em um formato editável, e os resultados do reconhecimento de texto e imagem podem ser vistos rapidamente.

Operação da função em destaque

Configuração modular

  • compilador configs/model_configs.yamlAjustando os parâmetros:
    • tamanho da imagemResolução da imagem.
    • conf_thresLimites de confiança.
    • dispositivo: Seleção cuda(GPU) ou cpu (computador).
  • Exemplo:
    model_args.
    tamanho_img: 1024
    conf_thres: 0,5
    dispositivo: "cuda"
    

Otimização de alto desempenho

  • O processamento em lote pode ser ativado para dispositivos de alta capacidade (≥16 GB de memória de vídeo):
    python pdf_extract.py --pdf your_file.pdf --batch-size 128
    
  • Aumento da velocidade de análise 50% ou superior, adequado para processamento em lote.

Suporte a vários idiomas

  • configurar lang por causa de automáticoO modelo de OCR pode ser usado para reconhecer automaticamente o idioma do documento e selecionar o modelo de OCR apropriado:
    ocr_args.
    lang: "auto"
    

advertência

  • Requisitos de hardwareGPUs (por exemplo, placas de vídeo NVIDIA) podem aumentar drasticamente as velocidades de processamento e recomenda-se que tenham ≥8 GB de memória de vídeo.
  • problemas comuns::
    • Se for exibida uma mensagem de falta de cv2Em execução pip install opencv-python.
    • Se o download do modelo estiver incompleto, verifique a rede ou altere o método de download.
  • Suporte à comunidadeSe você tiver dúvidas, faça-as nos quadros Discussões ou Problemas do GitHub.

Por meio das etapas acima, os usuários podem começar a usar facilmente o PDF-Extract-Kit e concluir com eficiência a extração de conteúdo complexo de PDF.

Conteúdo 2
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " PDF-Extract-Kit: Extraia a estrutura complexa do conteúdo do PDF da ferramenta de código aberto

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil