Modelo de layout da Informação de Documentos

Importante

  • As versões preliminares públicas da Informação de Documentos oferecem acesso antecipado a recursos que estão em desenvolvimento ativo.
  • Recursos, abordagens e processos podem ser alterados, antes da Disponibilidade Geral (GA), com base nos comentários do usuário.
  • A versão prévia pública das bibliotecas de clientes da Informação de Documentos usa como padrão a versão da API REST 2024-02-29-preview.
  • Atualmente, a versão prévia pública 2024-02-29-preview só está disponível nas seguintes regiões do Azure:
  • Leste dos EUA
  • Oeste dos EUA 2
  • Oeste da Europa

Este conteúdo se aplica a:marca de seleçãov4.0 (versão prévia) | Versões anteriores:marca de seleção azulv3.1 (GA)marca de seleção azulv3.0 (GA)marca de seleção azulv2.1 (GA)

Este conteúdo se aplica a:marca de seleçãov3.1 (GA) | Versão mais recente:marca de seleção púrpurav4.0 (versão prévia) | Versões anteriores:marca de seleção azulv3.0marca de seleção azulv2.1

Este conteúdo aplica-se a:marca de seleçãov3.0 (GA) | Últimas versões:marca de seleção púrpurav4.0 (versão prévia)marca de seleção púrpurav3.1 | Versão anterior:marca de seleção azulv2.1

Este conteúdo se aplica a:marca de seleçãov2.1 | Versão mais recente:marca de seleção azulv4.0 (versão prévia)

O modelo de layout da Informação de Documentos é uma API avançada de análise de documentos baseada em aprendizado de máquina, disponível na nuvem da Informação de Documentos. Ela permite que você obtenha documentos em diversos formatos e retorne representações de dados estruturados desses documentos. Ela combina uma versão aprimorada de nossos poderosos recursos de OCR (reconhecimento óptico de caracteres) com modelos de aprendizado profundo para extrair texto, tabelas, marcas de seleção e estrutura do documento.

Análise de layout do documento

Análise de layout de estrutura do documento é o processo de análise de um documento para extrair regiões de interesse e suas inter-relações. A meta é extrair texto e elementos estruturais da página para criar melhores modelos de reconhecimento de semântica. Há dois tipos de funções em um layout de documento:

  • Funções geométricas: texto, tabelas, figuras e marcas de seleção são exemplos de funções geométricas.
  • Funções lógicas: títulos, cabeçalhos e rodapés são exemplos de funções lógicas de textos.

A ilustração a seguir mostra os componentes típicos em uma imagem de uma página de exemplo.

Ilustração do exemplo de layout do documento.

Opções de desenvolvimento

A Informação de Documentos v4.0 (2024-02-29-preview, 2023-10-31-preview) dá suporte às seguintes ferramentas, aplicativos e bibliotecas:

Recurso Recursos ID do Modelo
Modelo de layout Estúdio da Informação de Documentos
API REST
SDK do C#
SDK do Python
SDK do Java
SDK do JavaScript
prebuilt-layout

A Informação de Documentos v3.1 dá suporte às seguintes ferramentas, aplicativos e bibliotecas:

Recurso Recursos ID do Modelo
Modelo de layout Estúdio da Informação de Documentos
API REST
SDK do C#
SDK do Python
SDK do Java
SDK do JavaScript
prebuilt-layout

A Informação de Documentos v3.0 dá suporte às seguintes ferramentas, aplicativos e bibliotecas:

Recurso Recursos ID do Modelo
Modelo de layout Estúdio da Informação de Documentos
API REST
SDK do C#
SDK do Python
SDK do Java
SDK do JavaScript
prebuilt-layout

O Document Intelligence v2.1 dá suporte às seguintes ferramentas, aplicativos e bibliotecas:

Recurso Recursos
Modelo de layout Ferramenta de rotulagem da Informação de Documentos
API REST
SDK da biblioteca de clientes
Contêiner do Docker da Informação de Documentos

Requisitos de entrada

  • Para ter melhores resultados, forneça uma foto clara ou uma digitalização de alta qualidade por documento.

  • Formatos de arquivo com suporte:

    Modelar PDF Imagem:
    JPEG/JPG, PNG, BMP, TIFF, HEIF
    Microsoft Office:
    Word (DOCX), Excel (XLSX), PowerPoint (PPTX) e HTML
    Ler
    Layout ✔ (2024-02-29-preview, 2023-10-31-preview)
    Documento geral
    Predefinida
    Extração personalizada
    Classificação personalizada ✔ (2024-02-29-preview)
  • Para PDF e TIFF, até 2000 páginas podem ser processadas (com uma assinatura de camada gratuita, somente as duas primeiras páginas são processadas).

  • O tamanho do arquivo para análise de documentos é 500 MB para a camada paga (S0) e 4 MB para a camada gratuita (F0).

  • As dimensões da imagem devem estar entre 50 x 50 pixels e 10.000 px x 10.000 pixels.

  • Se os PDFs estiverem com bloqueio de senha, você deverá remover o bloqueio antes do envio.

  • A altura mínima do texto a ser extraído é de 12 pixels para uma imagem de 1.024 x 768 pixels. Essa dimensão corresponde a um texto de cerca de 8 pontos a 150 pontos por polegada (DPI).

  • Para treinamento de modelo personalizado, o número máximo de páginas para dados de treinamento é 500 para o modelo de modelo personalizado e 50.000 para o modelo neural personalizado.

    • Para treinamento de modelo de extração personalizado, o tamanho total dos dados de treinamento é de 50 MB para o modelo e 1G-MB para o modelo neural.

    • Para treinamento de modelo de classificação personalizado, o tamanho total dos dados de treinamento é 1GB com no máximo 10.000 páginas.

  • Formatos de arquivo com suporte: JPEG, PNG, PDF e TIFF.
  • Número de páginas com suporte: para PDF e TIFF, são processadas até 2.000 páginas. Para assinantes de camada gratuita, somente as duas primeiras páginas são processadas.
  • Tamanho de arquivo com suporte: o tamanho do arquivo deve ser inferior a 50 MB e as dimensões devem ter pelo menos 50 x 50 pixels e no máximo 10.000 x 10.000 pixels.

Introdução ao modelo layout

Veja como os dados, incluindo texto, tabelas, cabeçalhos de tabela, marcas de seleção e informações de estrutura, são extraídos de documentos usando a Informação de Documentos. Você precisa dos seguintes recursos:

  • Uma assinatura do Azure — você pode criar uma gratuitamente.

  • Uma instância da Informação de Documentos no portal do Azure. Você pode usar o tipo de preço gratuito (F0) para experimentar o serviço. Depois que o recurso for implantado, selecione Ir para o recurso para obter a chave e o ponto de extremidade.

Captura de tela da localização das chaves e do ponto de extremidade no portal do Azure.

Observação

O Estúdio da Informação de Documentos está disponível com APIs v3.0 e versões posteriores.

Amostra de documento processado com o Estúdio da Informação de Documentos

Captura de tela do `Layout` processando uma página de jornal no Estúdio de Informação de Documentos.

  1. Na página inicial do Estúdio da Informação de Documentos, selecione Layout.

  2. Você pode analisar o documento de amostra ou carregar seus próprios arquivos.

  3. Selecione o botão Executar análise e, se necessário, configure as opções Analisar :

    Captura de tela dos botões de opções Executar análise e Analisar no Document Intelligence Studio.

Ferramenta de Rotulagem de Amostra da Informação de Documentos

  1. Navegue até a Ferramenta de amostra da Informação de Documentos.

  2. Na home page da ferramenta de exemplos, selecione Usar layout para obter texto, tabelas e marcas de seleção.

    Captura de tela das configurações de conexão para o processo de layout da Informação de Documentos.

  3. No campo Ponto de extremidade do serviço Informação de Documentos, cole o ponto de extremidade obtido com a assinatura da Informação de Documentos.

  4. No campo chave, cole a chave obtida do recurso Informação de Documentos.

  5. No campo Origem, selecione URL no menu suspenso Você pode usar o documento de exemplo:

  6. Selecione Executar Layout. A ferramenta Rotulagem de Amostra da Informação de Documentos chama a API Analyze Layout para analisar o documento.

    Captura de tela da janela suspensa `Layout`.

  7. Exibir os resultados: veja o texto extraído realçado, as marcas de seleção detectadas e as tabelas detectadas.

    Captura de tela das configurações de conexão para a Ferramenta de Rotulagem de Amostra da Informação de Documentos.

Idiomas e localidades com suporte

Confira nossa página Suporte a Idiomas – modelos de análise de documentos, para obter uma lista completa dos idiomas com suporte.

A Informação de Documentos v2.1 dá suporte às seguintes ferramentas, aplicativos e bibliotecas:

Recurso Recursos
API de layout

Extração de dados

O modelo de layout extrai textos, marcas de seleção, tabelas, parágrafos e tipos de parágrafo (roles) dos documentos.

Observação

As versões 2024-02-29-preview, 2023-10-31-previewe posteriores dão suporte a arquivos HTML e Microsoft Office (DOCX, XLSX, PPTX). Não há suporte para os seguintes recursos:

  • Não há ângulo, largura/altura e unidade em cada objeto de página.
  • Para cada objeto detectado, não há polígono nem região com limites.
  • Não há suporte para o intervalo de páginas (pages) como parâmetro.
  • Nenhum objeto lines.

Pages (Páginas)

A coleção de páginas é uma lista de páginas dentro do documento. Cada página é representada sequencialmente dentro do documento e inclui o ângulo de orientação que indica se a página foi girada, além de largura e altura (dimensões em pixels). As unidades de página na saída do modelo são computadas conforme mostrado:

Formato de arquivo Unidade de página computada Total de páginas
Imagens (JPEG/JPG, PNG, BMP, HEIF) Cada imagem = 1 unidade de página Total de imagens
PDF Cada página no PDF = 1 unidade de página Total de páginas no PDF
TIFF Cada imagem no TIFF = 1 unidade de página Total de imagens no TIFF
Word (DOCX) Até 3.000 caracteres = 1 unidade de página, imagens inseridas ou vinculadas sem suporte Total de páginas de até 3.000 caracteres cada
Excel (XLSX) Cada planilha = 1 unidade de página, imagens inseridas ou vinculadas sem suporte Total de planilhas
PowerPoint (PPTX) Cada slide = 1 unidade de página, imagens inseridas ou vinculadas sem suporte Total de slides
HTML Até 3.000 caracteres = 1 unidade de página, imagens inseridas ou vinculadas sem suporte Total de páginas de até 3.000 caracteres cada
"pages": [
    {
        "pageNumber": 1,
        "angle": 0,
        "width": 915,
        "height": 1190,
        "unit": "pixel",
        "words": [],
        "lines": [],
        "spans": []
    }
]

Extrair páginas selecionadas de documentos

Para grandes documentos com várias páginas, use o parâmetro de consulta pages para indicar números de página ou intervalos de página específicos para a extração de texto.

Parágrafos

O modelo do layout extrai todos os blocos de texto identificados na coleção paragraphs como um objeto de nível superior sob analyzeResults. Cada entrada dessa coleção representa um bloco de texto e inclui o texto extraído como content e as coordenadas do polygon delimitador. As informações de span apontam para o fragmento de texto dentro da propriedade content de nível superior que contém o texto completo do documento.


"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

Funções de parágrafo

A nova detecção de objeto de página baseada em aprendizado de máquina extrai funções lógicas como títulos, títulos de seção, cabeçalhos de página, rodapés de página e mais. O modelo de layout da Informação de Documentos atribui determinados blocos de texto na coleção paragraphs com a função especializada ou o tipo previsto pelo modelo. Eles funcionam melhor com documentos não estruturados para ajudar a entender o layout do conteúdo extraído e obter uma análise semântica mais rica. Há suporte para as seguintes funções de parágrafo:

Função prevista Descrição Tipos de arquivo com suporte
title Os principais títulos da página pdf, imagem, docx, pptx, xlsx, html
sectionHeading Um ou mais subtítulos na página pdf, imagem, docx, xlsx, html
footnote Texto próximo à parte inferior da página pdf, imagem
pageHeader Texto próximo à borda superior da página pdf, imagem, docx
pageFooter Texto próximo à borda inferior da página pdf, imagem, docx, pptx, html
pageNumber Número da página pdf, imagem
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Texto, linhas e palavras

O modelo de layout do documento na Informação de Documentos extrai texto de estilo impresso e manuscrito como lines e words. A coleção styles inclui qualquer estilo manuscrito para linhas (se detectado), juntamente com os intervalos apontando para o texto associado. Esse recurso se aplica a linguagens manuscritas com suporte.

Para o Microsoft Word, Excel, PowerPoint e HTML, nas versões 2024-02-29-versão prévia e 2023-10-31-versão prévia da Informação de Documentos, o modelo de Layout extrai todo o texto inserido como está. Os textos são extraídos como palavras e parágrafos. Não há suporte para imagens incorporadas.

"words": [
    {
        "content": "While",
        "polygon": [],
        "confidence": 0.997,
        "span": {}
    },
],
"lines": [
    {
        "content": "While healthcare is still in the early stages of its Al journey, we",
        "polygon": [],
        "spans": [],
    }
]

Estilo manuscrito para linhas de texto

A resposta inclui classificar se cada linha de texto tem um estilo manuscrito ou não, junto com uma pontuação de confiança. Para obter mais informações. Consulte Suporte para idiomas manuscritos. O exemplo a seguir mostra um snippet JSON de exemplo.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Se você habilitar o recurso adicional fonte/estilo, também obterá o resultado da fonte/estilo como parte do objeto styles.

Marcas de seleção

O modelo de layout também extrai marcas de seleção de documentos. As marcas de seleção extraídas aparecem na coleção pages de cada página. Elas incluem os delimitadores polygon e confidence e a seleção state (selected/unselected). A representação do texto (ou seja, :selected: e :unselected) também está incluída como o índice inicial (offset) e length que faz referência à propriedade de nível superior content que contém o texto completo do documento.

{
    "selectionMarks": [
        {
            "state": "unselected",
            "polygon": [],
            "confidence": 0.995,
            "span": {
                "offset": 1421,
                "length": 12
            }
        }
    ]
}

Tabelas

Extrair tabelas é um requisito fundamental para processar documentos que contêm grandes volumes de dados normalmente formatados como tabelas. O modelo de layout extrai tabelas na seção pageResults da saída JSON. As informações extraídas da tabela incluem o número de colunas e linhas e a extensão de linhas e de colunas. Cada célula com seu polígono delimitador é uma saída, juntamente com informações, seja a área reconhecida como columnHeader ou não. O modelo dá suporte à extração de tabelas giradas. Cada célula de tabela contém o índice de linha e coluna e as coordenadas do polygon delimitador. Para o texto da célula, o modelo gera as informações span que contêm o índice inicial (offset). O modelo também gera o length no conteúdo de nível superior que contém o texto completo do documento.

Observação

Não há suporte para tabela se o arquivo de entrada for XLSX.

{
    "tables": [
        {
            "rowCount": 9,
            "columnCount": 4,
            "cells": [
                {
                    "kind": "columnHeader",
                    "rowIndex": 0,
                    "columnIndex": 0,
                    "columnSpan": 4,
                    "content": "(In millions, except earnings per share)",
                    "boundingRegions": [],
                    "spans": []
                    },
            ]
        }
    ]
}

Anotações (disponíveis somente na API 2023-02-28-preview.)

O modelo layout extrai anotações em documentos, como verificações e cruzes. A resposta inclui o tipo de anotação, juntamente com uma pontuação de confiança e um polígono delimitador.

    {
    "pages": [
    {
        "annotations": [
        {
            "kind": "cross",
            "polygon": [...],
            "confidence": 1
        }
        ]
    }
    ]
}

Saída para o formato markdown

A API de Layout pode gerar o texto extraído no formato markdown. Use outputContentFormat=markdown para especificar o formato de saída no markdown. O conteúdo de markdown é gerado como parte da seção content.

"analyzeResult": {
"apiVersion": "2024-02-29-preview",
"modelId": "prebuilt-layout",
"contentFormat": "markdown",
"content": "# CONTOSO LTD...",
}

Figuras

Figuras (gráficos, imagens) em documentos desempenham um papel crucial na complementação e no aprimoramento do conteúdo textual, fornecendo representações visuais que ajudam na compreensão de informações complexas. O objeto figuras detectado pelo modelo layout tem propriedades importantes como boundingRegions (os locais espaciais da figura nas páginas do documento, incluindo o número da página e as coordenadas de polígono que descrevem o limite da figura), spans (detalha os intervalos de texto relacionados à figura, especificando seus deslocamentos e comprimentos dentro do texto do documento. Essa conexão ajuda na associação da figura com seu contexto textual relevante), elements (os identificadores de elementos de texto ou parágrafos dentro do documento relacionados ou descrevem a figura) e caption se houver algum.

{
    "figures": [
      {
        "boundingRegions": [],
        "spans": [],
        "elements": [
          "/paragraphs/15",
          ...
        ],
        "caption": {
          "content": "Here is a figure with some text",
          "boundingRegions": [],
          "spans": [],
          "elements": [
            "/paragraphs/15"
          ]
        }
      }
    ]
}

Seções

A análise hierárquica da estrutura de documentos é fundamental na organização, compreensão e processamento de documentos extensos. Essa abordagem é vital para segmentar semanticamente documentos longos para aumentar a compreensão, facilitar a navegação e melhorar a recuperação de informações. O advento de RAG (geração aumentada de recuperação) na IA generativa do documento ressalta a importância da análise hierárquica da estrutura de documentos. O modelo layout dá suporte a seções e subseções na saída, que identifica a relação de seções e objeto em cada seção. A estrutura hierárquica é mantida em elements de cada seção. Você pode usar saída para o formato markdown para obter facilmente as seções e subseções no markdown.

{
    "sections": [
      {
        "spans": [],
        "elements": [
          "/paragraphs/0",
          "/sections/1",
          "/sections/2",
          "/sections/5"
        ]
      },
...
}

Saída em ordem de leitura natural (somente idiomas latinos)

Você pode especificar a ordem em que as linhas de texto são geradas com o parâmetro de consulta readingOrder. Use natural para uma saída de ordem de leitura mais amigável, conforme mostrado no exemplo a seguir. Esse recurso é compatível apenas com idiomas latinos.

Captura de tela do processamento da ordem de leitura do modelo de `layout`.

Selecionar números de página ou intervalos para extração de texto

Para grandes documentos com várias páginas, use o parâmetro de consulta pages para indicar números de página ou intervalos de página específicos para a extração de texto. O exemplo a seguir mostra um documento com 10 páginas, com texto extraído para ambos os casos – todas as páginas (1 a 10) e páginas selecionadas (3 a 6).

Captura de tela da saída de páginas selecionadas do modelo de layout.

A operação Obter Resultado de Analisar Layout

A segunda etapa é chamar a operação Obter Resultado de Analisar Layout. Essa operação usa como entrada a ID de Resultado criada pela operação Analyze Layout. Ela retorna uma resposta JSON que contém um campo de status com os seguintes valores possíveis.

Campo Tipo Valores possíveis
status string notStarted: a operação de análise não foi iniciada.

running: a operação de análise está em andamento.

failed: falha na operação de análise.

succeeded: a operação de análise foi bem-sucedida.

Chame essa operação iterativamente até que ela retorne o valor succeeded. Para evitar exceder a taxa de solicitações por segundo (RPS), use um intervalo de 3 a 5 segundos.

Quando o campo status tiver o valor succeeded, a resposta JSON inclui o layout extraído, o texto, as tabelas e as marcas de seleção. Os dados extraídos incluem linhas e palavras de texto extraídas, caixas delimitadas, aparência de texto com indicação manuscrita, tabelas e marcas de seleção com a indicação selecionada/não selecionada.

Classificação manuscrita para linhas de texto (somente idiomas latinos)

A resposta inclui classificar se cada linha de texto tem um estilo manuscrito ou não, junto com uma pontuação de confiança. Esse recurso é compatível apenas com idiomas latinos. O exemplo a seguir mostra a classificação manuscrita para o texto na imagem.

Captura de tela do processo de classificação de manuscrito do modelo de `layout`.

Saída JSON de exemplo

A resposta para a operação Obter Resultado de Analisar Layout é uma representação estruturada do documento com todas as informações extraídas. Confira aqui um arquivo de documento de exemplo e a respectiva saída de layout de exemplo de saída estruturada.

A saída JSON tem duas partes:

  • O nó readResults contém todas as marcas de texto e seleção reconhecidas. A hierarquia de apresentação de texto é página, linha e, em seguida, palavras individuais.
  • O nó pageResults contém tabelas e células extraídas com as caixas delimitadoras, a confiança e uma referência às linhas e palavras no campo "readResults".

Saída de exemplo

Texto

A API de Layout extrai texto de documentos e imagens com várias cores e ângulos de texto. Ela aceita fotos de documentos, faxes, texto impresso e/ou manuscrito (somente em inglês) e modos mistos. O texto é extraído com informações fornecidas em linhas, palavras, caixas delimitadoras, pontuações de confiança e estilo (manuscrito ou outro). Todas as informações de texto são incluídas na seção readResults da saída JSON.

Tabelas com cabeçalhos

A API de layout extrai tabelas na seção pageResults da saída JSON. Os documentos podem ser fotografados ou digitalizados. As tabelas podem ser complexas com células ou colunas mescladas, com ou sem bordas e com ângulos peculiares. As informações extraídas da tabela incluem o número de colunas e linhas e a extensão de linhas e de colunas. Cada célula com sua caixa delimitadora é gerada junto com o fato da área ser reconhecida como parte de um cabeçalho ou não. As células do cabeçalho previsto do modelo podem abranger várias linhas e não são necessariamente as primeiras linhas em uma tabela. Eles também funcionam com tabelas giradas. Cada célula de tabela também inclui o texto completo com referências às palavras individuais na seção readResults.

Exemplo de tabelas

Marcas de seleção

A API de Layout também extrai marcas de seleção de documentos. As marcas de seleção extraídas incluem a caixa delimitadora, a confiança e o estado (selecionado/não selecionado). As informações da marca de seleção são extraídas na seção readResults da saída JSON.

Guia de migração

Próximas etapas