Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

Analise automaticamente o conteúdo do PDF e extraia texto e tabelas de serviços de código aberto

Introdução geral

Ele analisa automaticamente o layout de documentos PDF, identifica texto, títulos, imagens, tabelas, fórmulas e outros elementos na página e determina sua ordem correta. A ferramenta é compatível com a funcionalidade de OCR, que permite digitalizar PDFs em texto pesquisável. Ela é executada no Docker e oferece dois modelos: modelo visual (Vision Grid Transformer, ou VGT) e modelo LightGBM. O primeiro é altamente preciso, mas consome muitos recursos, enquanto o segundo é rápido e economiza recursos. A versão atual é a v0.0.21, gratuita e aberta no GitHub, adequada para pesquisadores que precisam lidar com PDF, arquivistas e assim por diante.

Analise automaticamente o conteúdo do PDF e extraia texto e tabelas de serviços de código aberto-1


 

Lista de funções

  • Identifique automaticamente texto, títulos, imagens, tabelas, fórmulas e outros elementos em páginas PDF.
  • Suporte à função OCR para converter PDFs digitalizados em texto pesquisável.
  • Determinar a ordem correta de leitura dos elementos da página.
  • São fornecidos dois modos de análise, o modelo visual (VGT) e o modelo LightGBM.
  • Extraia tabelas e ofereça suporte a vários formatos de saída, como Markdown, LaTeX e HTML.
  • Extrai fórmulas e produz o formato LaTeX por padrão.
  • Suporte a OCR em vários idiomas, como inglês, coreano, etc.
  • Fornece interface de API para integração em outros projetos.
  • Oferece suporte à saída visual, gerando PDFs com anotações.

 

Usando a Ajuda

Processo de instalação

Essa ferramenta é executada com o Docker e as etapas de instalação são as seguintes:

  1. Preparação do ambiente
    Instale o Docker primeiro. Acesse o site do Docker para fazer o download e instalá-lo. Após a instalação, digite no terminal:
docker --version

Se o número da versão for exibido, a instalação foi bem-sucedida. Se estiver usando uma GPU, você também precisará instalar o NVIDIA Container Toolkit, consulte a seçãoGuia de instalação.

  1. Puxando espelhos
    Digite o comando no terminal para extrair a imagem da ferramenta:
  • Há a GPU:
    docker pull huridocs/pdf-document-layout-analysis:v0.0.21
    
  • Sem GPU:
    docker pull huridocs/pdf-document-layout-analysis:v0.0.21
    
  1. Serviços operacionais
    Inicie o serviço de duas maneiras:
  • Há a GPU:
    docker run --rm --name pdf-analysis --gpus '"device=0"' -p 5060:5060 huridocs/pdf-document-layout-analysis:v0.0.21
    
  • Sem GPU:
    docker run --rm --name pdf-analysis -p 5060:5060 huridocs/pdf-document-layout-analysis:v0.0.21
    

Quando o serviço é iniciado, ele escuta na porta 5060 por padrão. Se a porta estiver ocupada, ela poderá ser alterada para outra porta, como a 5061.

  1. serviço de validação
    Abra seu navegador e acessehttp://localhost:5060/infoSe as informações de versão forem retornadas, isso significa que ele está sendo executado normalmente.

Como usar os principais recursos

A ferramenta opera por meio de uma API com as seguintes funções comuns:

1. função OCR

Para converter o PDF digitalizado em texto pesquisável, você pode usar o OCR.

  • procedimento::
    Prepare um PDF, comotest.pdfexecutado no terminal:
curl -X POST -F 'language=en' -F 'file=@/path/to/test.pdf' localhost:5060/ocr --output result.pdf
  • language=ené inglês e pode ser substituído porkor(coreano), etc. Os idiomas suportados estão disponíveis na seçãocurl localhost:5060/infoVer.
  • /path/to/test.pdfé o caminho do arquivo, por exemplo./home/user/test.pdf.
  • arquivo de saídaresult.pdfserá salvo no diretório atual.
  • no final::
    Obtenha um PDF pesquisável com texto que pode ser copiado.

2. análise de layout

Para extrair elementos do PDF e analisar o layout:

  • procedimento::
    Em execução:
curl -X POST -F 'file=@/path/to/test.pdf' localhost:5060 --output analysis.json
  • arquivo de saídaanalysis.jsonContém informações sobre o elemento, como localização, tipo (texto, tabela etc.).
  • no final::
    O arquivo JSON lista os detalhes de cada elemento.

3. modo rápido

Para obter um processamento mais rápido, use o modelo LightGBM e adicione o parâmetrofast=true::

curl -X POST -F 'file=@/path/to/test.pdf' -F 'fast=true' localhost:5060 --output fast_analysis.json
  • tomar nota deVelocidade, mas um pouco menos preciso.

4. extração de tabelas e fórmulas

  • Formulário de retirada::
    Especifique o formato (por exemplo, Markdown):
curl -X POST -F 'file=@/path/to/test.pdf' -F 'extraction_format=markdown' localhost:5060 --output table.json

apoiar algomarkdownelatexehtmlFormato.

  • Fórmula de extração::
    A saída padrão é o formato LaTeX, que pode ser usado diretamente com o comando Layout Analysis.

5. saída visual

Gostaria de ver o PDF com anotações:

curl -X POST -F 'file=@/path/to/test.pdf' localhost:5060/visualize --output visualized.pdf
  • no final::
    O PDF de saída será rotulado com o local e o tipo de cada elemento.

6. adição de suporte a idiomas

Poucos idiomas são suportados por padrão, mas você deseja adicionar mais idiomas (por exemplo, chinês):

  • Entre no contêiner:
docker exec -it --user root pdf-analysis /bin/bash
  • Instale pacotes de idiomas, por exemplo, chinês:
apt-get install tesseract-ocr-chi-sim
  • Verificar:
curl localhost:5060/info

veja issochi_simIndica sucesso.

7. descontinuação de serviços

Descontinuação de serviços:

docker stop pdf-analysis

Ordem do elemento de saída

Os resultados das análises são apresentados em uma ordem específica. A ferramenta usa o Poppler para determinar a ordem de leitura inicial, que é então ajustada de acordo com o tipo de elemento:

  • O cabeçalho fica na parte superior da página, classificado em ordem interna.
  • Os elementos comuns (texto, tabelas, etc.) são organizados em ordem média de leitura.
  • O rodapé e a nota de rodapé são colocados por último.
  • Os elementos sem texto (por exemplo, imagens) são ordenados de acordo com a ordem do elemento com texto mais próximo.

advertência

  • Requisitos de hardwareO modelo visual requer uma GPU e 5 GB de memória de vídeo; ele será lento com a CPU sem GPU. O lightGBM é somente para CPU e requer 2 GB de RAM.
  • tempo: 15 páginas de artigos acadêmicos, 0,42 seg/página no modo rápido, 1,75 seg/página em VGT (GPU), 13,5 seg/página em VGT (CPU).
  • ajustar os componentes durante o testeRegistro: Visualize o registro quando algo der errado:
docker logs pdf-analysis

Esses recursos e etapas o ajudarão a começar rapidamente e a lidar com uma variedade de necessidades de PDF.

 

cenário do aplicativo

  1. pesquisa acadêmica
    Os pesquisadores o utilizam para extrair tabelas e fórmulas de documentos e organizar os dados com mais eficiência.
  2. gerenciamento de arquivos
    Os arquivistas convertem digitalizações de documentos antigos em PDFs pesquisáveis que são fáceis de encontrar.
  3. Trabalho jurídico
    Os advogados analisam os PDFs dos contratos para localizar rapidamente as cláusulas e os formulários.

 

QA

  1. Há alguma cobrança?
    Sem custo. Essa é uma ferramenta de código aberto, gratuita para download e uso no GitHub.
  2. Preciso fazer networking?
    É necessária uma conexão com a Internet para fazer o download da imagem e, em seguida, ela pode ser executada off-line.
  3. Ele é compatível com o idioma chinês?
    Suporte. É necessária a instalação manual de pacotes chineses (por exemplotesseract-ocr-chi-sim), um pouco menos eficaz do que o inglês, mas utilizável.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Analise automaticamente o conteúdo do PDF e extraia texto e tabelas de serviços de código aberto
pt_BRPortuguês do Brasil