Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este conteúdo se aplica a:
v4.0 (GA) | Versões anteriores:
v3.1 (GA)
v3.0 (desativação)
v2.1 (desativação)
O modelo de layout Azure Document Intelligence in Foundry Tools é uma API avançada de análise de documentos baseada no aprendizado de máquina. O modelo está disponível na nuvem do Document Intelligence. Você pode usá-lo para processar documentos em vários formatos e retornar representações estruturadas dos dados dos documentos. O modelo combina uma versão aprimorada dos poderosos recursos de reconhecimento óptico de caracteres (OCR) com modelos de aprendizado profundo para extrair texto, tabelas, marcas de seleção e estrutura de documentos.
Análise de layout da estrutura do documento
A análise de layout da estrutura do documento é o processo de análise de um documento para extrair regiões de interesse e suas inter-relações. O objetivo é extrair texto e elementos estruturais da página para criar modelos de melhor compreensão 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, títulos 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.
Opções de desenvolvimento
Document Intelligence v4.0: 2024-11-30 (GA) dá suporte às seguintes ferramentas, aplicativos e bibliotecas.
| Recurso | Recursos | ID do modelo |
|---|---|---|
| Modelo de layout | • Document Intelligence Studio • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
prebuilt-layout |
Idiomas com suporte
Para obter uma lista completa de idiomas com suporte, consulte Suporte ao idioma: modelos de análise de documento.
Tipos de arquivo com suporte
Document Intelligence v4.0: o modelo de layout 2024-11-30 (GA) dá suporte aos seguintes formatos de arquivo:
| Modelo | Imagem: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Layout | ✔ | ✔ | ✔ |
Requisitos de entrada
- Fotos e verificações: para obter melhores resultados, forneça uma foto clara ou uma verificação de alta qualidade por documento.
- PDFs e TIFFs: para PDFs e TIFFs, até 2.000 páginas podem ser processadas. (Com uma assinatura gratuita, somente as duas primeiras páginas são processadas.)
- Bloqueios de senha: se os PDFs estiverem bloqueados por senha, você deverá remover o bloqueio antes do envio.
- Tamanho do arquivo: o tamanho do arquivo para analisar documentos é de 500 MB para a camada paga (S0) e 4 MB para a camada gratuita (F0).
- Dimensões da imagem: as dimensões da imagem devem estar entre 50 pixels x 50 pixels e 10.000 pixels x 10.000 pixels.
- Altura do texto: a altura mínima do texto a ser extraído é de 12 pixels para uma imagem de 1024 x 768 pixels. Essa dimensão corresponde a cerca de 8 pontos de texto a 150 dpi.
- 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.
- Treinamento personalizado do modelo de extração: o tamanho total dos dados de treinamento é de 50 MB para o modelo de modelo e 1 GB para o modelo neural.
- Treinamento de modelo de classificação personalizada: o tamanho total dos dados de treinamento é de 1 GB com um máximo de 10.000 páginas. Para 2024-11-30 (GA), o tamanho total dos dados de treinamento é de 2 GB com um máximo de 10.000 páginas.
- Tipos de arquivo do Office (DOCX, XLSX, PPTX): o limite máximo de comprimento da cadeia de caracteres é de 8 milhões de caracteres.
Para obter mais informações sobre o uso do modelo, cotas e limites de serviço, consulte os limites de serviço.
Introdução ao modelo de 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 o Document Intelligence. Você precisa dos seguintes recursos:
Uma assinatura Azure. Você pode criar um gratuitamente.
Uma instância do Document Intelligence no portal Azure. Você pode usar o F0 (tipo de preço gratuito) 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.
Depois de recuperar sua chave e ponto de extremidade, use as seguintes opções de desenvolvimento para criar e implantar seus aplicativos da Informação de Documentos.
Extração de dados
O modelo de layout extrai elementos estruturais de seus documentos. Os seguintes elementos estruturais são descritos no restante deste artigo, juntamente com orientações sobre como extraí-los da entrada do documento:
- Páginas
- Parágrafos
- Texto, linhas e palavras
- Marcas de seleção
- Tabelas
- Resposta de saída para Markdown
- Figuras
- Seções
Realize a análise do documento de layout de exemplo no Document Intelligence Studio. Em seguida, vá para a guia resultados e acesse a saída JSON completa.
Páginas
A pages coleção é 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 é girada e a largura e a altura (dimensões em pixels). As unidades de página na saída do modelo são computadas conforme mostrado na tabela a seguir.
| 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 |
| Cada página no PDF = 1 unidade de página. | Total de páginas no PDF | |
| TIFF | Cada imagem na unidade TIFF = 1 página. | Total de imagens no TIFF |
| Word (DOCX) | Até 3.000 caracteres = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de páginas de até 3.000 caracteres cada |
| Excel (XLSX) | Cada planilha = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de planilhas |
| PowerPoint (PPTX) | Cada slide = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de slides |
| HTML | Até 3.000 caracteres = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de páginas de até 3.000 caracteres cada |
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
Extrair páginas selecionadas
Para documentos de várias páginas grandes, use o pages parâmetro de consulta para indicar números de página ou intervalos de página específicos para extração de texto.
Parágrafos
O modelo de layout extrai todos os blocos de texto identificados na coleção paragraphs como objeto de nível superior em analyzeResults. Cada entrada nesta coleção representa um bloco de texto e inclui o texto extraído como content e as coordenadas delimitadoras polygon . As spans informações apontam para o fragmento de texto dentro da propriedade de nível mais alto content 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 com base no 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 muito mais. O modelo de layout do Document Intelligence atribui certos blocos de texto na coleção paragraphs com o papel ou tipo especializado previsto pelo modelo.
É melhor usar funções de parágrafo com documentos não estruturados para ajudar a entender o layout do conteúdo extraído para uma análise semântica mais avançada. Há suporte para os tipos de parágrafo a seguir.
| Função prevista | Descrição | Tipos de arquivo com suporte |
|---|---|---|
title |
Os títulos principais na 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 à parte 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 no Document Intelligence extrai texto de estilo impresso e manuscrito como lines e words. A coleção styles inclui qualquer estilo manuscrito para linhas, se detectadas, juntamente com os intervalos que apontam para o texto associado. Esse recurso se aplica a idiomas manuscritos compatíveis.
Para Microsoft Word, Excel, PowerPoint e HTML, o modelo de layout do Document Intelligence v4.0 2024-11-30 (GA) extrai todo o texto inserido como está. Os textos são extraídos como palavras e parágrafos. Não há suporte para imagens inseridas.
# Analyze lines.
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{line.polygon}'"
)
# Analyze words.
for word in words:
print(f"......Word '{word.content}' has a confidence of {word.confidence}")
Estilo manuscrito para linhas de texto
A resposta inclui se cada linha de texto está em um estilo manuscrito ou não, juntamente com uma pontuação de confiança. Para obter mais informações, consulte suporte à linguagem manuscrita. O exemplo a seguir mostra um snippet JSON de exemplo.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se você habilitar a funcionalidade de complemento de fonte/estilo, você também obterá o resultado de fonte/estilo como parte do styles objeto.
Marcas de seleção
O modelo de layout também extrai marcas de seleção a partir de documentos. As marcas de seleção extraídas aparecem dentro da coleção pages para cada página. Elas incluem os delimitadores polygon e confidence e a seleção state (selected/unselected). A representação de texto (ou seja, :selected: e :unselected) também é incluída como o índice inicial (offset) e length que faz referência à propriedade de nível content superior que contém o texto completo do documento.
# Analyze selection marks.
if page.selection_marks:
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
)
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 da tabela extraídas incluem o número de colunas e linhas, intervalo de linhas e intervalo de colunas.
Cada célula com seu polígono delimitador é fornecida acompanhada de informações sobre se a área é reconhecida como columnHeader ou não. O modelo dá suporte à extração de tabelas rotacionadas. Cada célula da tabela contém o índice da linha, o índice da coluna e as coordenadas do polígono 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.
Aqui estão alguns fatores a serem considerados ao usar a funcionalidade de extração de dados da Informação de Documentos:
- Os dados que você deseja extrair são apresentados como uma tabela e a estrutura da tabela é significativa?
- Os dados poderão caber em uma grade bidimensional se os dados não estiverem em um formato de tabela?
- Suas tabelas abrangem várias páginas? Nesse caso, para evitar ter que rotular todas as páginas, divida o PDF em páginas antes de enviá-lo para o Document Intelligence. Após a análise, faça o pós-processamento das páginas em uma única tabela.
- Consulte campos tabulares se você estiver criando modelos personalizados. As tabelas dinâmicas têm um número variável de linhas para cada coluna. As tabelas fixas têm um número constante de linhas para cada coluna.
Nota
Não há suporte para análise de tabela se o arquivo de entrada for XLSX. Para 2024-11-30 (GA), as regiões delimitadas para figuras e tabelas abrangem apenas o conteúdo principal e excluem as notas de rodapé e legenda associadas.
if result.tables:
for table_idx, table in enumerate(result.tables):
print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
if table.bounding_regions:
for region in table.bounding_regions:
print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
# Analyze cells.
for cell in table.cells:
print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
if cell.bounding_regions:
for region in cell.bounding_regions:
print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")
Resposta de saída para o formato Markdown
A API de layout pode gerar o texto extraído no formato Markdown. Use o outputContentFormat=markdown para especificar o formato de saída no Markdown. O conteúdo markdown é gerado como parte da seção content.
Nota
Para v4.0 2024-11-30 (GA), a representação de tabelas é alterada para tabelas HTML para habilitar a renderização de itens como células mescladas e cabeçalhos de várias linhas. Outra alteração relacionada é usar os caracteres ☒ e ☐ da caixa de seleção Unicode para marcas de seleção em vez de :selected: e :unselected:. Essa atualização significa que o conteúdo dos campos de marca de seleção contém :selected: mesmo que seus intervalos se refiram a caracteres Unicode no intervalo de nível superior. Para obter uma definição completa dos elementos Markdown, consulte o formato de saída markdown.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Figuras
As figuras (gráficos e imagens) em documentos desempenham um papel crucial na complementação e no aprimoramento do conteúdo textual. Eles fornecem representações visuais que ajudam na compreensão de informações complexas. O figures objeto detectado pelo modelo de layout tem propriedades de chave 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: os trechos de texto relacionados à figura que especificam seus deslocamentos e comprimentos dentro do texto do documento. Essa conexão ajuda a associar a figura ao contexto textual relevante. -
elements: os identificadores para elementos de texto ou parágrafos dentro do documento que estão relacionados à figura ou a descrevem. -
caption: a descrição, se houver.
Quando output=figures é especificado durante a análise inicial, o serviço gera imagens cortadas de todas as figuras detectadas que podem ser acessadas por meio de /analyeResults/{resultId}/figures/{figureId}. O valor FigureId é a ID incluída em cada objeto de figura, seguindo uma convenção não documentada de {pageNumber}.{figureIndex} onde figureIndex é redefinido para uma por página.
Para a v4.0 2024-11-30 (GA), as regiões delimitadas para figuras e tabelas abrangem apenas o conteúdo principal e excluem a legenda e as notas de rodapé associadas.
# Analyze figures.
if result.figures:
for figures_idx,figures in enumerate(result.figures):
print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
for region in figures.bounding_regions:
print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")
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 da RAG (geração aumentada por recuperação) na IA geradora de documentos ressalta a importância da análise hierárquica da estrutura de documentos.
O modelo de layout dá suporte a seções e subseções na saída, que identifica a relação de seções e objetos em cada seção. A estrutura hierárquica é mantida em elements para cada seção. Você pode usar a resposta de saída em formato Markdown para obter facilmente as seções e subseções em Markdown.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Este conteúdo se aplica a:
v3.0 (descontinuada) | Versões mais recentes:
v4.0 (GA)
v3.1 | Versão anterior:
v2.1 (descontinuada)
Esse conteúdo se aplica a:
v2.1 | Versão mais recente:
v4.0 (GA)
O modelo de layout do Document Intelligence é uma API avançada de análise de documentos. O modelo é baseado no aprendizado de máquina e está disponível na nuvem do Document Intelligence. Você pode usá-lo para processar documentos em vários formatos e retornar representações estruturadas dos dados dos documentos. Ele combina uma versão aprimorada dos poderosos recursos do OCR com modelos de aprendizado profundo. Você pode usá-lo para extrair texto, tabelas, marcas de seleção e estrutura de documentos.
Análise de layout do documento
A análise de layout da estrutura do documento é o processo de análise de um documento para extrair regiões de interesse e suas inter-relações. O objetivo é extrair texto e elementos estruturais da página para criar modelos de melhor compreensão 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, títulos 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.
Idiomas e localidades com suporte
Para obter uma lista completa de idiomas com suporte, consulte Suporte ao idioma: modelos de análise de documento.
O Document Intelligence v2.1 dá suporte às seguintes ferramentas, aplicativos e bibliotecas.
| Recurso | Recursos |
|---|---|
| Modelo de layout | • Ferramenta de rotulagem do Document Intelligence • API REST • SDK da biblioteca cliente • Contêiner Docker do Document Intelligence |
Diretrizes de entrada
Formatos de arquivo com suporte:
| Modelo | Imagem: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Ler | ✔ | ✔ | ✔ |
| Layout | ✔ | ✔ | |
| Documento geral | ✔ | ✔ | |
| Pré-construídos | ✔ | ✔ | |
| Extração personalizada | ✔ | ✔ | |
| Classificação personalizada | ✔ | ✔ | ✔ |
- Fotos e verificações: para obter melhores resultados, forneça uma foto clara ou uma verificação de alta qualidade por documento.
- PDFs e TIFFs: para PDFs e TIFFs, até 2.000 páginas podem ser processadas com uma assinatura de camada livre. Somente as duas primeiras páginas são processadas.
- Tamanho do arquivo: o tamanho do arquivo para analisar documentos é de 500 MB para a camada paga (S0) e 4 MB para a camada gratuita (F0).
- Dimensões da imagem: as dimensões da imagem devem estar entre 50 pixels x 50 pixels e 10.000 pixels x 10.000 pixels.
- Bloqueios de senha: se os PDFs estiverem bloqueados por senha, você deverá remover o bloqueio antes do envio.
- Altura do texto: a altura mínima do texto a ser extraído é de 12 pixels para uma imagem de 1024 x 768 pixels. Essa dimensão corresponde a cerca de 8 pontos de texto a 150 dpi.
- 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.
- Treinamento personalizado do modelo de extração: o tamanho total dos dados de treinamento é de 50 MB para o modelo de modelo e 1 GB para o modelo neural.
- Treinamento de modelo de classificação personalizada: o tamanho total dos dados de treinamento é de 1 GB com um máximo de 10.000 páginas. Para 2024-11-30 (GA), o tamanho total dos dados de treinamento é de 2 GB com um máximo de 10.000 páginas.
- Tipos de arquivo do Office (DOCX, XLSX, PPTX): o limite máximo de comprimento da cadeia de caracteres é de 8 milhões de caracteres.
Guia de entrada de dados
- Formatos de arquivo com suporte: JPEG, PNG, PDF e TIFF.
- Número de páginas com suporte: para PDF e TIFF, até 2.000 páginas são processadas. Para assinantes de camada gratuita, somente as duas primeiras páginas são processadas.
- Tamanho do arquivo com suporte: o tamanho do arquivo deve ter menos de 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
Você pode usar o Document Intelligence para extrair dados como texto, tabelas, cabeçalhos de tabela, marcas de seleção e informações de estrutura de documentos. Você precisa dos seguintes recursos:
- Uma assinatura Azure. Você pode criar um gratuitamente.
- Uma instância do Document Intelligence no portal Azure. Você pode usar o F0 (tipo de preço gratuito) 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.
Depois de recuperar sua chave de acesso e ponto de extremidade, você pode usar as seguintes opções de desenvolvimento para criar e implantar seus aplicativos de Inteligência de Documentos.
Nota
O Document Intelligence Studio está disponível com APIs v3.0 e versões posteriores.
API REST
Ferramenta de Rotulagem de Amostra da Informação de Documentos
Vá para a ferramenta de rotulagem de amostras do Document Intelligence.
Na home page da ferramenta de exemplo, selecione Usar Layout para obter texto, tabelas e marcas de seleção.
No campo Ponto de extremidade de serviço da Informação de Documentos, cole o ponto de extremidade obtido com a assinatura da Informação de Documentos.
No campo chave , cole a chave que você obteve do recurso de Inteligência de Documento.
No campo Origem, escolha URL no menu suspenso. Você pode usar o documento de exemplo:
Selecione Buscar.
Selecione Executar Layout. A ferramenta de Rotulagem de Amostra da Informação de Documentos chama a API Analisar Layout para analisar o documento.
Exiba os resultados. Veja o texto extraído realçado, as marcas de seleção detectadas e as tabelas detectadas.
O Document Intelligence v2.1 dá suporte às seguintes ferramentas, aplicativos e bibliotecas.
| Recurso | Recursos |
|---|---|
| Layout API | • Ferramenta de rotulagem do Document Intelligence • API REST • SDK da biblioteca cliente • Contêiner Docker do Document Intelligence |
Extrair dados
O modelo de layout extrai elementos estruturais de seus documentos. Os elementos estruturais são descritos aqui e as diretrizes a seguir mostram como extraí-los da entrada do documento.
Extrair dados
O modelo de layout extrai elementos estruturais de seus documentos. Os elementos estruturais são descritos aqui e as diretrizes a seguir mostram como extraí-los da entrada do documento.
Página
A pages coleção é 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 é girada e a largura e altura (dimensões em pixels). As unidades de página na saída do modelo são computadas conforme mostrado na tabela a seguir.
| 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 |
| Cada página no PDF = 1 unidade de página. | Total de páginas no PDF | |
| TIFF | Cada imagem na unidade TIFF = 1 página. | Total de imagens no TIFF |
| Word (DOCX) | Até 3.000 caracteres = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de páginas de até 3.000 caracteres cada |
| Excel (XLSX) | Cada planilha = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de planilhas |
| PowerPoint (PPTX) | Cada slide = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de slides |
| HTML | Até 3.000 caracteres = 1 unidade de página. Não há suporte para imagens inseridas ou vinculadas. | Total de páginas de até 3.000 caracteres cada |
"pages": [
{
"pageNumber": 1,
"angle": 0,
"width": 915,
"height": 1190,
"unit": "pixel",
"words": [],
"lines": [],
"spans": []
}
]
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
Extrair páginas selecionadas de documentos
Para documentos de várias páginas grandes, use o pages parâmetro de consulta para indicar números de página ou intervalos de página específicos para extração de texto.
Parágrafo
O modelo de layout extrai todos os blocos de texto identificados na coleção paragraphs como objeto de nível superior em analyzeResults. Cada entrada nesta coleção representa um bloco de texto e inclui o texto extraído como contente as coordenadas delimitadoras polygon . As span informações apontam para o fragmento de texto dentro da propriedade de nível mais alto content 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"
}
]
Papel do parágrafo
A nova detecção de objeto de página com base no 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 muito mais. O modelo de layout do Document Intelligence atribui certos blocos de texto na coleção paragraphs com o papel ou tipo especializado previsto pelo modelo. É melhor usar funções de parágrafo com documentos não estruturados para ajudar a entender o layout do conteúdo extraído para uma análise semântica mais avançada. Há suporte para os tipos de parágrafo a seguir.
| Função prevista | Descrição | Tipos de arquivo com suporte |
|---|---|---|
title |
Os títulos principais na 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 à parte 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, linha e palavra
O modelo de layout do documento no Document Intelligence extrai texto de estilo impresso e manuscrito como linhas e palavras. A coleção styles inclui qualquer estilo manuscrito para linhas, se detectadas, juntamente com os intervalos que apontam para o texto associado. Esse recurso se aplica a idiomas manuscritos compatíveis.
Para Word, Excel, PowerPoint e HTML, o modelo de layout do Document Intelligence v4.0 2024-11-30 (GA) extrai todo o texto inserido como está. Os textos são extraídos como palavras e parágrafos. Não há suporte para imagens inseridas.
"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": [],
}
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
words = line.get_words()
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{format_polygon(line.polygon)}'"
)
# Analyze words.
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
Estilo manuscrito
A resposta inclui classificar se cada linha de texto é de estilo manuscrito ou não, juntamente com uma pontuação de confiança. Para obter mais informações, consulte suporte à linguagem manuscrita. O exemplo a seguir mostra um snippet JSON de exemplo.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se você habilitar a funcionalidade de complemento de fonte/estilo, você também obterá o resultado de fonte/estilo como parte do styles objeto.
Marca de seleção
O modelo de layout também extrai marcas de seleção a partir de documentos. As marcas de seleção extraídas aparecem dentro da coleção pages para cada página. Elas incluem os delimitadores polygon e confidence e a seleção state (selected/unselected). A representação de texto (ou seja, :selected: e :unselected) também é incluída como o índice inicial (offset) e length que faz referência à propriedade de nível content superior que contém o texto completo do documento.
{
"selectionMarks": [
{
"state": "unselected",
"polygon": [],
"confidence": 0.995,
"span": {
"offset": 1421,
"length": 12
}
}
]
}
# Analyze selection marks.
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
)
Tabela
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 da tabela extraídas incluem o número de colunas e linhas, intervalo de linhas e intervalo de colunas. Cada célula com seu polígono delimitador é fornecida acompanhada de informações sobre se a área é reconhecida como columnHeader ou não.
O modelo dá suporte à extração de tabelas rotacionadas. Cada célula da tabela contém o índice da linha, o índice da coluna e as coordenadas do polígono 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.
Aqui estão alguns fatores a serem considerados ao usar a funcionalidade de extração de dados da Informação de Documentos:
- Os dados que você deseja extrair são apresentados como uma tabela e a estrutura da tabela é significativa?
- Os dados poderão caber em uma grade bidimensional se os dados não estiverem em um formato de tabela?
- Suas tabelas abrangem várias páginas? Nesse caso, para evitar ter que rotular todas as páginas, divida o PDF em páginas antes de enviá-lo para o Document Intelligence. Após a análise, faça o pós-processamento das páginas em uma única tabela.
- Consulte campos tabulares se você estiver criando modelos personalizados. As tabelas dinâmicas têm um número variável de linhas para cada coluna. As tabelas fixas têm um número constante de linhas para cada coluna.
Nota
Não há suporte para análise de tabela se o arquivo de entrada for XLSX. O Document Intelligence v4.0 2024-11-30 (GA) dá suporte a regiões delimitadas para figuras e tabelas que abrangem apenas o conteúdo principal e exclui a legenda e as notas de rodapé associadas.
{
"tables": [
{
"rowCount": 9,
"columnCount": 4,
"cells": [
{
"kind": "columnHeader",
"rowIndex": 0,
"columnIndex": 0,
"columnSpan": 4,
"content": "(In millions, except earnings per share)",
"boundingRegions": [],
"spans": []
},
]
}
]
}
# Analyze tables.
for table_idx, table in enumerate(result.tables):
print(
f"Table # {table_idx} has {table.row_count} rows and "
f"{table.column_count} columns"
)
for region in table.bounding_regions:
print(
f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
)
for cell in table.cells:
print(
f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
)
for region in cell.bounding_regions:
print(
f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
)
Anotações
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 polígono delimitador.
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
Saída em ordem de leitura natural (somente idiomas latinos)
Você pode especificar a ordem na qual as linhas de texto são saída com o readingOrder parâmetro de consulta. Use natural para uma saída de ordem de leitura mais amigável, conforme mostrado no exemplo a seguir. Esse recurso tem suporte apenas para idiomas latinos.
Selecionar número de página ou intervalo para extração de texto
Para documentos de várias páginas grandes, use o pages parâmetro de consulta para indicar números de página ou intervalos de página específicos para 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).
A operação Obter Resultado de Analisar Layout
A segunda etapa é chamar a operação Get Analyze Layout Result. Essa operação usa como entrada a ID de Resultado que a Analyze Layout operação criou. Ele retorna uma resposta JSON que contém um campo de status com os valores possíveis a seguir.
| Campo | Tipo | Valores possíveis |
|---|---|---|
| Status | cadeia |
notStarted: a operação de análise não foi iniciada.running: a operação de análise está em andamento.failed: a operação de análise falhou.succeeded: a operação de análise foi bem-sucedida. |
Chame essa operação iterativamente até que ela retorne o succeeded valor. Para evitar exceder a taxa de solicitações por segundo, use um intervalo de três a cinco segundos.
Quando o campo status tem 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 latino)
A resposta inclui classificar se cada linha de texto é de um estilo manuscrito ou não, juntamente com uma pontuação de confiança. Esse recurso tem suporte apenas para idiomas latinos. O exemplo a seguir mostra a classificação manuscrita para o texto na imagem.
Saída JSON de exemplo
A resposta à Get Analyze Layout Result operação é uma representação estruturada do documento com todas as informações extraídas.
Veja um arquivo de documento de amostra e sua saída de layout de amostra de saída estruturada.
A saída JSON tem duas partes:
- O nó
readResultscontém todo o texto e a marca de seleção reconhecidos. A hierarquia de apresentação de texto é a página, a linha e, em seguida, as palavras individuais. - O nó
pageResultscontém as tabelas e células extraídas com suas caixas delimitadoras, confiança e uma referência às linhas e palavras no camporeadResults.
Saída de exemplo
Texto
A API de layout extrai texto de documentos e imagens com vários ângulos e cores de texto. Ele aceita fotos de documentos, faxes, texto impresso e/ou manuscrito (somente 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 readResults seção da saída JSON.
Tabelas com cabeçalhos
A API de Layout extrai tabelas na seção da saída JSON pageResults. Você pode verificar, fotografar ou digitalizar documentos. As tabelas podem ser complexas com células ou colunas mescladas, com ou sem bordas e com ângulos ímpares.
As informações da tabela extraídas incluem o número de colunas e linhas, intervalo de linhas e intervalo 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 de cabeçalho previstas pelo modelo podem abranger várias linhas e não são necessariamente as primeiras linhas em uma tabela. Eles também trabalham com tabelas rotacionadas. Cada célula de tabela também inclui o texto completo com referências às palavras individuais na readResults seção.
Marcas de seleção (documentos)
A API de layout também extrai marcadores 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 de marca de seleção são extraídas na readResults seção da saída JSON.
Guia de migração
- Para saber como usar a versão v3.1 em seus aplicativos e fluxos de trabalho, siga as etapas no guia de migração do Document Intelligence v3.1.
Conteúdo relacionado
- Saiba como processar seus próprios formulários e documentos com o Document Intelligence Studio.
- Conclua um início rápido do Document Intelligence e crie um aplicativo de processamento de documentos na linguagem de desenvolvimento de sua escolha.
- Saiba como processar seus próprios formulários e documentos com a ferramenta de rotulagem de exemplo do Document Intelligence.
- Conclua um início rápido do Document Intelligence e crie um aplicativo de processamento de documentos na linguagem de desenvolvimento de sua escolha.