paint-brush
Como usar o GPT-4 para extração de dados PDF: um guia completopor@docsumo
27,145 leituras
27,145 leituras

Como usar o GPT-4 para extração de dados PDF: um guia completo

por Docsumo6m2023/05/30
Read on Terminal Reader

Muito longo; Para ler

A extração de PDF é o processo de extração de texto, imagens ou outros dados de um arquivo PDF. Neste artigo, exploramos os métodos atuais de extração de dados em PDF, suas limitações e como o GPT-4 pode ser usado para executar tarefas de resposta a perguntas para extração de PDF. Também fornecemos um guia passo a passo para implementar G PT-4 para extração de PDFData.
featured image - Como usar o GPT-4 para extração de dados PDF: um guia completo
Docsumo HackerNoon profile picture
0-item
1-item

A extração de PDF é o processo de extração de texto, imagens ou outros dados de um arquivo PDF. Neste artigo, exploramos os métodos atuais de extração de dados em PDF, suas limitações e como o GPT-4 pode ser usado para executar tarefas de resposta a perguntas para extração de PDF. Também fornecemos um guia passo a passo para implementar o GPT-4 para extração de dados PDF.


Neste artigo, discutimos:

  • Quais são os métodos atuais de extração de dados PDF e suas limitações?
  • Como usar o GPT-4 para consultar um conjunto de arquivos PDF e encontrar respostas para quaisquer perguntas. Especificamente, exploraremos o processo de extração de PDF e como ele pode ser usado em conjunto com o GPT-4 para executar tarefas de resposta a perguntas.


Então, vamos pular direto para ele.


O que é extração de PDF?

A extração de dados PDF é o processo de extração de texto, imagens ou outros dados de um arquivo PDF (Portable Document Format). Esses arquivos são amplamente utilizados para compartilhamento e armazenamento de documentos, mas seu conteúdo nem sempre é facilmente acessível.


Por que a extração de PDF é importante?

A acessibilidade e a legibilidade dos arquivos PDF são muito necessárias para quem tem problemas de visão ou dificuldade para ler textos pequenos ou borrados, úteis para situações jurídicas, análise de dados e pesquisas. Algumas instâncias em que a extração é necessária incluem o uso de conteúdo de texto ou imagem de arquivos PDF em outros documentos para economizar tempo e evitar erros.


Quais são os métodos atuais para extração de dados PDF e suas limitações?

É 2023 e existem muitas técnicas e ferramentas de extração de PDF disponíveis na Internet. Vamos nos aprofundar nas 3 técnicas populares de extração de dados e alguns exemplos das mesmas:


1: Técnica de OCR

OCR , ou abreviação de Optical Character Recognition pode ser usado para extrair texto de várias fontes, incluindo documentos digitalizados, imagens e arquivos PDF, e é comumente usado para digitalizar documentos impressos, como livros, jornais e documentos históricos.

Algumas das ferramentas populares de OCR incluem:



2: Modelos

As técnicas baseadas em modelo levam em consideração o estilo do documento PDF e usam regras codificadas. Essas técnicas geralmente funcionam em documentos estruturados, cuja estrutura permanece constante e são fáceis de entender.


Algumas das técnicas populares baseadas em modelos incluem:

  • Usando o padrão regex

    Ex: a data pode ser extraída pela seguinte regra regex:

    [dd-mm-aaaa ou aaaa-mm-dd] - [0-9]{2,4}/[0-9]{2}/[0-9]{2,4}

  • Regras de hard-coding baseadas na posição dos textos e dimensões dos documentos


3: Técnicas de aprendizado de máquina

As técnicas de aprendizado de máquina (ML) são consideradas um dos melhores métodos para extração de PDF porque permitem o reconhecimento de texto altamente preciso e a extração de arquivos PDF, independentemente da estrutura do arquivo. Esses modelos podem armazenar informações tanto do layout quanto da position of the text , tendo em mente também o texto vizinho. Isso os ajuda a generalizar melhor e aprender a estrutura do documento com mais eficiência.


O que são LLMs

Os Large Language Models são um subconjunto de inteligência artificial que foi treinado em grandes quantidades de dados de texto. Por exemplo: ChatGPT, que é treinado em todos os dados e informações da Internet para produzir respostas semelhantes às humanas ao diálogo ou outras entradas de linguagem natural.

Para produzir essas respostas de linguagem natural, os LLMs usam modelos de aprendizado profundo, que usam redes neurais de várias camadas para processar, analisar e fazer previsões com dados complexos.


Alguns modelos populares de ML incluem:

  • Modelos de layout LM v1, v2 e v3 [ Github ]
  • DocBERT [ Github ]


Limitações dos modelos de ML

Um grande problema que esse tipo de modelo enfrenta é que eles podem simplesmente extrair as informações do PDF sem saber se a extração é realmente precisa e correta. Os textos extraídos também podem incluir algumas outras informações de chaves em outra chave. Ter um contexto inteligente ajuda o modelo a mitigar essas imprecisões.


Para resolver esse problema e integrar inteligência ao sistema de extração de PDF, podemos aproveitar o poder do GPT-4.


O que é GPT-4 e ChatGPT?

GPT-4 (Transformador pré-treinado generativo 4) é um grande modelo de linguagem desenvolvido pela OpenAI que usa técnicas de aprendizagem profunda para gerar texto de linguagem natural semelhante ao humano. É um dos maiores e mais poderosos modelos de linguagem disponíveis, com 175 bilhões de parâmetros.

O Chat-GPT, por outro lado, é uma variante do GPT que foi especificamente treinada para aplicativos de IA de conversação. Ele foi ajustado em um grande conjunto de dados de conversação e pode gerar respostas semelhantes às humanas para as consultas do usuário. O Chat GPT pode ser usado para uma variedade de aplicações, incluindo chatbots, atendimento ao cliente e assistentes virtuais.


Vamos avançar com a declaração do problema e ver como o GPT-4 junto com o ChatGPT pode nos ajudar a resolver o problema da extração de PDF.


Declaração do problema

O desafio de extrair com eficiência informações específicas de uma coleção de PDFs é aquele que muitas aplicações e indústrias encontram regularmente. Extrair informações de extratos bancários ou formulários de impostos é difícil. A maneira antiquada de digitalizar manualmente vários PDFs leva muito tempo e pode produzir dados imprecisos ou inconsistentes. Além disso, dados não estruturados encontrados em PDFs tornam difícil para os sistemas automatizados extrair as informações necessárias.


Pretendemos resolver o problema de encontrar a resposta para as perguntas do usuário no PDF com pouca intervenção manual.


Solução

Podemos usar o GPT-4 e seus embeddings a nosso favor:


  1. Gere incorporações de documentos, bem como incorporações para consultas de usuários.
  2. Identifique o documento que mais se aproxima da consulta do usuário e pode conter as respostas por qualquer método de similaridade (por exemplo, escore de cosseno) e, a seguir,
  3. Alimente o documento e a consulta do usuário para GPT-4 para descobrir a resposta precisa.

Implementação


Passo 1: Analisar PDF

A: Extraia o texto do PDF

Você pode usar qualquer uma das técnicas de OCR ou ML para extrair texto do documento


B: Divida o texto em partes menores adequadas com base na estrutura do documento

Usando as informações de coordenadas de Bounding-Box [x0, y0, x2, y2] onde x0 e y0 são as coordenadas do canto superior esquerdo e x2 e y2 são as coordenadas do canto inferior direito, você pode dividir o texto inteiro em pedaços menores de determinada largura e altura.


C: Codifique esses pedaços em Embeddings [use OpenAI Embeddings ou HuggingFace ]


 import torch from transformers import AutoTokenizer, AutoModel # Load the pre-trained model and tokenizer tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased') model = AutoModel.from_pretrained('bert-base-uncased') # Tokenize the sentence tokens = tokenizer.encode("<pass your code chunk block here>", return_tensors='pt') # Get the embeddings with torch.no_grad(): outputs = model(tokens) embeddings = outputs[0][0] # Print the embeddings print(embeddings)


Etapa 2: Armazenando os embeddings vetoriais em um banco de dados de vetores

O que é um banco de dados vetorial e por que é necessário?

  • Os bancos de dados vetoriais são criados especificamente para lidar com a estrutura exclusiva de incorporações vetoriais. Eles indexam vetores para pesquisa e recuperação fáceis, comparando valores e encontrando aqueles que são mais semelhantes entre si. Exemplos incluem Pinecone e Weaviate.
  • Este V-DB contém vetores de cada fragmento de fragmento e documenta-se


Etapa 3: snippet de pesquisa relevante para a consulta de entrada

R: Compute embeddings para a consulta do usuário

Use a mesma técnica mencionada acima para calcular os embeddings


B: Pesquise o vetor de incorporação de pedaços do banco de dados de vetores cujas incorporações correspondem de perto às incorporações da consulta do usuário

Você pode usar qualquer um dos similarity search algorithm .

Você pode usar a Semântica Semântica de Sentença da biblioteca de transformadores de sentenças.

 from sentence_transformers import SentenceTransformer, util #Compute cosine-similarities for each code chunk embds with user's query embeddings cosine_scores = util.cos_sim(code_chunk_embds, user_query_embds)


Etapa 4: Peça uma resposta ao GPT-4 com base no trecho de trecho fornecido e na consulta do usuário

R: Forneça 3 entradas.

Entrada1: consulta do usuário

Input2 : O pedaço que se assemelhava à consulta

Entrada3: Algumas meta-instruções, se houver [Sistema: responda às perguntas apenas com base nas informações fornecidas no documento]


B: Saída GPT-4 é a resposta


Benefícios de usar as APIs GPT4 e ChatGPT?

Como já sabemos, como o GPT4 é um LLM tão poderoso que pode incorporar uma grande quantidade de contexto com comprimento de token de 8.192 e 32.768 tokens, produzir resultados muito precisos torna-se mais fácil e rápido.


A API ChatGPT integra-se perfeitamente com qualquer linguagem de programação que pode nos ajudar mais nas tarefas de downstream.


O que aprendemos?

  • Aprendemos sobre as diferentes técnicas e ferramentas de extração de PDF e dados
  • Quais são as limitações desses tipos de módulos e modelos
  • O que e como o ChatGPT e o GPT-4 são úteis em nosso caso de uso e como eles podem ser usados para resolver a extração de dados de PDFs