Extrair informações de documentos é uma necessidade comum em sistemas que trabalham com contratos, formulários, comprovantes, faturas e outros arquivos digitalizados. Embora seja possível utilizar OCR tradicional para reconhecer o texto presente nesses documentos, transformar esse conteúdo em informações estruturadas exige um nível adicional de processamento.
O Amazon Textract é um serviço da AWS desenvolvido justamente para esse cenário. Além de identificar palavras e linhas, ele consegue analisar a estrutura de documentos e reconhecer elementos como pares de chave e valor, tabelas, campos de formulários, assinaturas e informações solicitadas através de consultas.
O que é o Amazon Textract?
O Amazon Textract é um serviço de Machine Learning da AWS voltado à extração e análise de informações presentes em documentos. A aplicação fornece uma imagem ou documento e o serviço retorna os elementos identificados em uma estrutura que pode ser processada posteriormente.
O fluxo básico pode ser representado da seguinte forma:

Dependendo da operação utilizada, o Textract pode trabalhar com documentos enviados diretamente na requisição ou armazenados no Amazon S3.
Entre os recursos disponíveis estão:
- Extração de palavras e linhas;
- Identificação de pares chave-valor em formulários;
- Reconhecimento de tabelas e suas células;
- Detecção de assinaturas;
- Análise de layout;
- Consultas para localizar informações específicas dentro do documento.
A operação AnalyzeDocument, por exemplo, permite escolher quais recursos serão utilizados através de FeatureTypes, incluindo TABLES, FORMS, QUERIES, SIGNATURES e LAYOUT.
Extraindo informações específicas com Queries
Um recurso bastante interessante do Amazon Textract são as Queries. Em vez de analisar a resposta completa procurando manualmente determinado campo, podemos informar ao serviço quais informações queremos localizar.
Uma consulta pode procurar, por exemplo:
What is the document number?
What is the value next to "Data da compra"?
What is the seller CNPJ?
What is the value next to "TOTAL"?Cada Query também pode possuir um Alias, utilizado pela aplicação para identificar aquela pergunta posteriormente.
Por exemplo:
{
"Text": "What is the value next to \"TOTAL\"?",
"Alias": "TOTAL_AMOUNT"
}O Textract procura uma resposta correspondente no documento e retorna, além do conteúdo encontrado, um Confidence Score, indicando o nível de confiança do serviço naquela associação.
A própria construção da pergunta pode influenciar o resultado. Quando o documento possui um campo chamado Data da compra, por exemplo, uma consulta que utiliza essa expressão como referência pode fornecer mais contexto do que uma pergunta genérica sobre a data.
Como o resultado é retornado
O Amazon Textract organiza o resultado da análise através de objetos chamados Blocks. Eles podem representar diferentes elementos encontrados no documento, como páginas, linhas, palavras, tabelas, células, queries e resultados.
Ao utilizar Queries, dois tipos são particularmente importantes:
QUERY: representa a pergunta realizada e seu alias;QUERY_RESULT: representa a resposta encontrada pelo Textract.
Esses blocos são relacionados através de identificadores. O QUERY_RESULT contém ainda o texto encontrado e o nível de confiança da resposta.
Depois de tratar esses blocos na aplicação, podemos produzir uma estrutura muito mais simples. Um exemplo de retorno baseado em um documento fictício seria:
{
"document_number": "ESTUDO-TEXTRACT-2026-0001",
"purchase_date": "25/09/2026",
"seller_name": "Loja Exemplo Tecnologia Ltda.",
"seller_cnpj": "00.000.000/0000-00",
"total_amount": "R$ 499,40",
"payment_method": "Cartao de teste - final 4242",
"confidence": {
"document_number": 94,
"purchase_date": 99,
"seller_name": 81,
"seller_cnpj": 91,
"total_amount": 94,
"payment_method": 89
}
}O Confidence Score é especialmente útil para definir regras dentro da aplicação. Uma informação com confiança elevada pode ser processada automaticamente, enquanto resultados com baixa confiança podem ser encaminhados para validação antes de serem utilizados.
Permissões IAM necessárias
O acesso ao Amazon Textract deve ser controlado através do AWS Identity and Access Management (IAM). Seguindo o princípio do menor privilégio, uma aplicação que utiliza apenas AnalyzeDocument não precisa receber acesso completo ao serviço.
Uma política mínima para executar essa operação pode ser definida da seguinte maneira:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "TextractAnalyzeDocument",
"Effect": "Allow",
"Action": [
"textract:AnalyzeDocument"
],
"Resource": "*"
}
]
}Quando os documentos utilizados pelo Textract estão armazenados no Amazon S3, também é necessário permitir o acesso aos objetos utilizados pela aplicação. Um exemplo restrito a um bucket específico seria:
{
"Sid": "TextractDocumentsS3",
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::meu-bucket-textract/*"
}Caso a própria aplicação também seja responsável pelo envio ou remoção dos documentos, permissões como s3:PutObject e s3:DeleteObject podem ser adicionadas conforme a necessidade.
Textract não é apenas OCR
É comum associar o Amazon Textract a um serviço de OCR, mas sua proposta vai além do simples reconhecimento de caracteres.
Um OCR tradicional pode identificar que determinado documento contém os textos TOTAL e R$ 499,40. O Textract pode também representar relações entre elementos, identificar estruturas de tabelas e formulários ou responder a uma Query procurando especificamente pelo valor associado ao total.
Isso torna o serviço interessante quando uma aplicação precisa transformar documentos não estruturados ou semiestruturados em informações que possam ser utilizadas por outros processos.
Em cenários mais complexos, a extração realizada pelo Textract também pode servir como uma etapa anterior a outros serviços. O documento pode primeiro ser convertido em informações estruturadas e somente depois seguir para classificação, validação ou interpretação por outros componentes da arquitetura.
Documentação
A documentação oficial apresenta os recursos disponíveis, operações da API, formatos suportados, limites e exemplos de utilização do serviço.
Documentação oficial do Amazon Textract
Para entender especificamente a operação utilizada na análise de documentos:
A AWS também mantém uma seção dedicada ao funcionamento e às boas práticas das Queries:
Deixe um comentário