Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este conteúdo aplica-se a:
v4.0 (GA) | Versões anteriores:
v3.1 (GA)
v3.0 (em retirada)
v2.1 (em retirada)
O modelo de layout Azure Document Intelligence no Foundry Tools é uma API avançada de análise de documentos baseada em aprendizagem automática. O modelo está disponível na nuvem de Inteligência de Documentos. Pode usá-lo para processar documentos em diferentes formatos e devolver representações estruturadas dos documentos. O modelo combina uma versão melhorada das poderosas capacidades de reconhecimento ótico de caracteres (OCR) com modelos de aprendizagem profunda para extrair texto, tabelas, marcas de seleção e estrutura do documento.
Análise da estrutura do documento
A análise de layout estrutural de documentos é o processo de analisar um documento para extrair regiões de interesse e as suas inter-relações. O objetivo é extrair texto e elementos estruturais da página para construir melhores modelos de compreensão semântica. Existem dois tipos de funções no layout de um documento:
- Papéis geométricos: Texto, tabelas, figuras e marcas de seleção são exemplos de papéis geométricos.
- Papéis lógicos: Títulos, cabeçalhos e rodapés são exemplos de papéis lógicos dos textos.
A ilustração seguinte mostra os componentes típicos numa imagem de uma página de exemplo.
Opções de desenvolvimento
Document Intelligence v4.0: 2024-11-30 (GA) suporta as seguintes ferramentas, aplicações e bibliotecas.
| Destaque | Recursos | ID do modelo |
|---|---|---|
| Modelo de disposição | • Document Intelligence Studio • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
prebuilt-layout |
Línguas suportadas
Para uma lista completa de linguagens suportadas, consulte Suporte de linguagem: Modelos de análise documental.
Tipos de ficheiros suportados
O modelo de layout Document Intelligence v4.0: 2024-11-30 (GA) suporta os seguintes formatos de ficheiro:
| Modelo | Imagem: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Disposição | ✔ | ✔ | ✔ |
Requisitos de entrada
- Fotografias e digitalizações: Para melhores resultados, forneça uma foto clara ou uma digitalização de alta qualidade por documento.
- PDFs e TIFFs: Para PDFs e TIFFs, podem ser processadas até 2.000 páginas. (Com uma subscrição gratuita, apenas as duas primeiras páginas são processadas.)
- Bloqueios por palavra-passe: Se os seus PDFs estiverem bloqueados por palavra-passe, deve remover o bloqueio antes da submissão.
- Tamanho do ficheiro: O tamanho do ficheiro para análise de documentos é de 500 MB para o nível pago (S0) e 4 MB para o nível gratuito (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 extrair é de 12 píxeis para uma imagem de 1024 x 768 píxeis. Esta dimensão corresponde a cerca de texto de 8 pontos a 150 pontos por polegada.
- Treino de modelos personalizados: O número máximo de páginas para dados de treino é 500 para o modelo modelo personalizado e 50.000 para o modelo neural personalizado.
- Treino personalizado do modelo de extração: O tamanho total dos dados de treino é de 50 MB para o modelo modelo e 1 GB para o modelo neural.
- Treino personalizado do modelo de classificação: O tamanho total dos dados de treino é de 1 GB com um máximo de 10.000 páginas. Para 2024-11-30 (GA), o tamanho total dos dados de treino é de 2 GB com um máximo de 10.000 páginas.
- Tipos de ficheiros Office (DOCX, XLSX, PPTX): O limite máximo de comprimento de string é de 8 milhões de caracteres.
Para mais informações sobre utilização de modelos, quotas e limites de serviço, consulte Limites de serviço.
Comece com o modelo de layout
Veja como os dados, incluindo texto, tabelas, cabeçalhos de tabela, marcas de seleção e informação estrutural, são extraídos dos documentos através da Inteligência de Documentos. Precisa dos seguintes recursos:
Uma subscrição do Azure. Podes criar um gratuitamente.
Uma instância Document Intelligence no portal Azure. Pode usar o escalão de preços gratuito (F0) para experimentar o serviço. Depois de o seu recurso ser implementado, selecione Ir para o recurso para obter a sua chave e endpoint.
Depois de recuperar a sua chave e endpoint, utilize as seguintes opções de desenvolvimento para construir e implementar as suas aplicações de Inteligência de Documentos.
Extração de dados
O modelo de layout extrai elementos estruturais dos seus documentos. Os seguintes elementos estruturais são descritos no restante deste artigo, juntamente com orientações sobre como os extrair da entrada do seu documento:
- Páginas
- Parágrafos
- Texto, linhas e palavras
- Marcas de seleção
- Tabelas
- Resposta de saída ao markdown
- Números
- Secções
Corra a análise de layout do documento de exemplo no Document Intelligence Studio. Depois vai ao separador de resultados e acede à 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 está rodada, e a largura e altura (dimensões em píxeis). As unidades de página na saída do modelo são calculadas conforme mostrado na tabela seguinte.
| Formato de ficheiro | Unidade de página calculada | Total de páginas |
|---|---|---|
| Imagens (JPEG/JPG, PNG, BMP, HEIF) | Cada imagem = 1 unidade de página. | Imagens totais |
| 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 incorporadas ou ligadas não são suportadas. | Páginas totais de até 3.000 caracteres cada |
| Excel (XLSX) | Cada folha de exercícios = 1 unidade de página. Imagens incorporadas ou ligadas não são suportadas. | Folhas de cálculo totais |
| PowerPoint (PPTX) | Cada diapositivo = 1 unidade de página. Imagens incorporadas ou ligadas não são suportadas. | Total de diapositivos |
| HTML | Até 3.000 caracteres = 1 unidade de página. Imagens incorporadas ou ligadas não são suportadas. | Páginas totais 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 grandes de várias páginas, use o pages parâmetro de consulta para indicar números ou intervalos de páginas específicos para extração de texto.
Parágrafos
O modelo de layout extrai todos os blocos de texto identificados na paragraphs coleção como um objeto de nível superior dentro de analyzeResults. Cada entrada nesta coleção representa um bloco de texto e inclui o texto extraído como content e as coordenadas delimitadoras polygon . A spans informação aponta para o fragmento de texto dentro da propriedade de nível superior content que contém todo o texto 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 dos parágrafos
A nova deteção de objetos de página baseada em aprendizagem automática extrai papéis lógicos como títulos, cabeçalhos de secção, cabeçalhos de página, rodapés e mais. O modelo de layout de Inteligência de Documentos atribui certos blocos de texto na coleção paragraphs, atribuindo-lhes o papel ou tipo especializado previsto pelo modelo.
É melhor usar funções de parágrafo com documentos não estruturados e assim ajudar a compreender o layout do conteúdo extraído, proporcionando uma análise semântica mais rica. Os papéis dos parágrafos seguintes são suportados.
| Papel previsto | Descrição | Tipos de ficheiros suportados |
|---|---|---|
title |
Os títulos principais na página | PDF, Imagem, DOCX, PPTX, XLSX, HTML |
sectionHeading |
Um ou mais subtítulos na página | PDF, Image, DOCX, XLSX, HTML |
footnote |
Texto perto do final da página | PDF, Imagem |
pageHeader |
Texto perto da borda superior da página | PDF, Imagem, DOCX |
pageFooter |
Texto perto da 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 de documentos no Document Intelligence extrai texto impresso e manuscrito como lines e words. A styles coleção inclui qualquer estilo manuscrito para linhas, se detetado, juntamente com os intervalos que apontam para o texto associado. Esta funcionalidade aplica-se a línguas manuscritas suportadas.
Para Microsoft Word, Excel, PowerPoint e HTML, o modelo de layout do Document Intelligence v4.0 2024-11-30 (GA) extrai todo o texto incorporado tal como está. Os textos são extraídos como palavras e parágrafos. Imagens embutidas não são suportadas.
# 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 de escrita manual para linhas de texto
A resposta inclui se cada linha de texto está em estilo manuscrito ou não, juntamente com uma pontuação de confiança. Para mais informações, consulte suporte à linguagem manuscrita. O exemplo seguinte mostra um exemplo de excerto JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se ativares a funcionalidade de fonte/estilo, também obténs 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 dos documentos. As marcas de seleção extraídas aparecem na pages coleção de cada página. Incluem o delimitador polygon, confidence e a seleção state (selected/unselected). A representação do texto (isto é, :selected: e :unselected) também está incluída como índice inicial (offset) e length que faz referência à propriedade de topo content 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 contenham grandes volumes de dados, normalmente formatados como tabelas. O modelo de layout extrai tabelas na pageResults secção da saída JSON. A informação extraída das tabelas inclui o número de colunas e linhas, o envergadura das linhas e a extensão das colunas.
Cada célula com o seu polígono limitador é gerada juntamente com a informação sobre se a área é reconhecida como columnHeader ou não. O modelo suporta a extração de tabelas que são rotacionadas. Cada célula da tabela contém o índice de linha e de coluna, assim como as coordenadas do polígono delimitador. Para o texto da célula, o modelo gera a informação span que contém o índice inicial offset. O modelo também gera o conteúdo de nível superior length que contém o texto completo do documento.
Aqui estão alguns fatores a considerar ao utilizar a capacidade de extração de dados do Document Intelligence:
- Os dados que pretende extrair são apresentados como uma tabela, e a estrutura da tabela é significativa?
- Os dados cabem numa grelha bidimensional se os dados não estiverem em formato de tabela?
- As suas tabelas ocupam várias páginas? Se sim, para evitar ter de rotular todas as páginas, divida o PDF em páginas antes de o enviar para a Inteligência de Documentos. Após a análise, pós-processa as páginas para uma única tabela.
- Consulte os Campos Tabular ao criar 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
A análise de tabelas não é suportada se o ficheiro de entrada for XLSX. Para 2024-11-30 (GA), as regiões delimitadoras para figuras e tabelas cobrem apenas o conteúdo principal e excluem a legenda e notas de rodapé 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 ao formato Markdown
A API de layout pode gerar o texto extraído em formato Markdown. Use o outputContentFormat=markdown para especificar o formato de saída no Markdown. O conteúdo Markdown é produzido como parte da content secção.
Nota
Para a v4.0 2024-11-30 (GA), a representação das tabelas foi alterada para tabelas HTML para permitir a renderização de itens como células fundidas e cabeçalhos de várias linhas. Outra alteração relacionada é usar os caracteres de caixa de verificação Unicode ☒ e ☐ para as marcas de seleção em vez de :selected: e :unselected:. Esta atualização significa que o conteúdo dos campos de selection-mark contém :selected: mesmo que os seus spans se refiram a caracteres Unicode no span de nível superior. Para uma definição completa dos elementos Markdown, veja 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,
)
Números
Figuras (gráficos e imagens) nos documentos desempenham um papel crucial no complemento e valorização do conteúdo textual. Fornecem representações visuais que ajudam na compreensão de informação complexa. O figures objeto detetado pelo modelo de layout tem propriedades-chave como:
-
boundingRegions: As localizações espaciais da figura nas páginas do documento, incluindo o número da página e as coordenadas do polígono que delineiam o limite da figura. -
spans: As passagens de texto relacionadas com a figura que especificam os seus deslocamentos e comprimentos dentro do texto do documento. Esta ligação ajuda a associar a figura ao seu contexto textual relevante. -
elements: Os identificadores para elementos de texto ou parágrafos dentro do documento que estão associados ou descrevem a figura. -
caption: A descrição, se houver.
Quando output=figures é especificado durante a operação inicial de análise, o serviço gera imagens recortadas para todas as figuras detetadas que podem ser acedidas via /analyeResults/{resultId}/figures/{figureId}. O FigureId valor é o ID incluído em cada objeto figura, seguindo uma convenção não documentada de {pageNumber}.{figureIndex} onde figureIndex se reinicia para um por página.
Para a v4.0 2024-11-30 (GA), as regiões delimitadoras para figuras e tabelas cobrem apenas o conteúdo central e excluem a legenda e 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}'")
Secções
A análise hierárquica da estrutura documental é fundamental na organização, compreensão e processamento de documentos extensos. Esta abordagem é vital para segmentar semanticamente documentos longos, de modo a melhorar a compreensão, facilitar a navegação e melhorar a recuperação de informação. O advento da geração aumentada por recuperação (RAG) na IA gerativa de documentos sublinha a importância da análise hierárquica da estrutura documental.
O modelo de layout suporta secções e subsecções na saída, o que identifica a relação entre secções e objetos dentro de cada secção. A estrutura hierárquica é mantida em elements para cada secção. Podes usar a resposta de saída para o formato Markdown para obter facilmente as secções e subsecções no 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 aplica-se a:
v3.0 (em descontinuação) | Últimas versões:
v4.0 (GA)
v3.1 | Versão anterior:
v2.1 (em descontinuação)
Este conteúdo aplica-se a:
v2.1 | Última versão:
v4.0 (GA)
O modelo de layout Document Intelligence é uma API avançada de análise documental. O modelo baseia-se em aprendizagem automática e está disponível na nuvem Document Intelligence. Pode usá-lo para processar documentos em diferentes formatos e devolver representações estruturadas dos documentos. Combina uma versão melhorada das poderosas capacidades de OCR com modelos de aprendizagem profunda. Podes usá-lo para extrair texto, tabelas, marcas de seleção e estrutura do documento.
Análise do layout do documento
A análise de layout estrutural de documentos é o processo de analisar um documento para extrair regiões de interesse e as suas inter-relações. O objetivo é extrair texto e elementos estruturais da página para construir melhores modelos de compreensão semântica. Existem dois tipos de funções no layout de um documento:
- Papéis geométricos: Texto, tabelas, figuras e marcas de seleção são exemplos de papéis geométricos.
- Papéis lógicos: Títulos, cabeçalhos e rodapés são exemplos de papéis lógicos dos textos.
A ilustração seguinte mostra os componentes típicos numa imagem de uma página de exemplo.
Línguas e locais suportados
Para uma lista completa de linguagens suportadas, consulte Suporte de linguagem: Modelos de análise documental.
O Document Intelligence v2.1 suporta as seguintes ferramentas, aplicações e bibliotecas.
| Destaque | Recursos |
|---|---|
| Modelo de disposição | • Ferramenta de rotulagem Document Intelligence • REST API • SDK de biblioteca cliente • Contentor Document Intelligence Docker |
Guia de entrada
Formatos de ficheiro suportados:
| Modelo | Imagem: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Leia | ✔ | ✔ | ✔ |
| Disposição | ✔ | ✔ | |
| Documento geral | ✔ | ✔ | |
| Pré-fabricado | ✔ | ✔ | |
| Extração personalizada | ✔ | ✔ | |
| Classificação personalizada | ✔ | ✔ | ✔ |
- Fotografias e digitalizações: Para melhores resultados, forneça uma foto clara ou uma digitalização de alta qualidade por documento.
- PDFs e TIFFs: Para PDFs e TIFFs, podem ser processadas até 2.000 páginas com uma subscrição gratuita. Apenas as duas primeiras páginas são processadas.
- Tamanho do ficheiro: O tamanho do ficheiro para análise de documentos é de 500 MB para o nível pago (S0) e 4 MB para o nível gratuito (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 por palavra-passe: Se os seus PDFs estiverem bloqueados por palavra-passe, deve remover o bloqueio antes da submissão.
- Altura do texto: A altura mínima do texto a extrair é de 12 píxeis para uma imagem de 1024 x 768 píxeis. Esta dimensão corresponde a cerca de texto de 8 pontos a 150 pontos por polegada.
- Treino de modelos personalizados: O número máximo de páginas para dados de treino é 500 para o modelo modelo personalizado e 50.000 para o modelo neural personalizado.
- Treino personalizado do modelo de extração: O tamanho total dos dados de treino é de 50 MB para o modelo modelo e 1 GB para o modelo neural.
- Treino personalizado do modelo de classificação: O tamanho total dos dados de treino é de 1 GB com um máximo de 10.000 páginas. Para 2024-11-30 (GA), o tamanho total dos dados de treino é de 2 GB com um máximo de 10.000 páginas.
- Tipos de ficheiros Office (DOCX, XLSX, PPTX): O limite máximo de comprimento de string é de 8 milhões de caracteres.
Guia de dados de entrada
- Formatos de ficheiro suportados: JPEG, PNG, PDF e TIFF.
- Número suportado de páginas: Para PDF e TIFF, são processadas até 2.000 páginas. Para subscritores da franquia gratuita, apenas as duas primeiras páginas são processadas.
- Tamanho do ficheiro suportado: O tamanho do ficheiro deve ser inferior a 50 MB, e as dimensões devem ser pelo menos 50 x 50 píxeis e, no máximo, 10.000 x 10.000 píxeis.
Introdução
Pode usar a Inteligência de Documentos para extrair dados como texto, tabelas, cabeçalhos de tabelas, marcas de seleção e informações estruturais de documentos. Precisa dos seguintes recursos:
- Uma subscrição do Azure. Podes criar um gratuitamente.
- Uma instância Document Intelligence no portal Azure. Pode usar o escalão de preços gratuito (F0) para experimentar o serviço. Depois de o seu recurso ser implementado, selecione Ir para o recurso para obter a sua chave e endpoint.
Depois de recuperar a sua chave e endpoint, pode usar as seguintes opções de desenvolvimento para construir e implementar as suas aplicações 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 Amostras para Inteligência de Documentos
Aceda à ferramenta de etiquetagem de amostras de inteligência documental.
Na página inicial da ferramenta de exemplo, selecione Usar Layout para obter texto, tabelas e marcas de seleção.
No campo endpoint do serviço Document Intelligence , cole o endpoint que obteve com a sua subscrição Document Intelligence.
No campo-chave , cole a chave que obteve do seu recurso de Inteligência Documental.
No campo Fonte , selecione URL no menu suspenso. Pode usar o documento de exemplo:
Selecionar o comando 'Buscar'
Selecione Executar Layout. A ferramenta Document Intelligence Sample Labeling chama a API Analyze Layout para analisar o documento.
Veja os resultados. Veja o texto extraído destacado, as marcas de seleção detetadas e as tabelas detetadas.
O Document Intelligence v2.1 suporta as seguintes ferramentas, aplicações e bibliotecas.
| Destaque | Recursos |
|---|---|
| Layout API | • Ferramenta de rotulagem Document Intelligence • REST API • SDK de biblioteca cliente • Contentor Document Intelligence Docker |
Extrair dados
O modelo de layout extrai elementos estruturais dos seus documentos. Os elementos estruturais são descritos aqui, e as orientações seguintes mostram-lhe como extraí-los da entrada do seu documento.
Extrair dados
O modelo de layout extrai elementos estruturais dos seus documentos. Os elementos estruturais são descritos aqui, e as orientações seguintes mostram-lhe como extraí-los da entrada do seu 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 está rodada e a largura e altura (dimensões em pixels). As unidades de página na saída do modelo são calculadas conforme mostrado na tabela seguinte.
| Formato de ficheiro | Unidade de página calculada | Total de páginas |
|---|---|---|
| Imagens (JPEG/JPG, PNG, BMP, HEIF) | Cada imagem = 1 unidade de página. | Imagens totais |
| 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 incorporadas ou ligadas não são suportadas. | Páginas totais de até 3.000 caracteres cada |
| Excel (XLSX) | Cada folha de exercícios = 1 unidade de página. Imagens incorporadas ou ligadas não são suportadas. | Folhas de cálculo totais |
| PowerPoint (PPTX) | Cada diapositivo = 1 unidade de página. Imagens incorporadas ou ligadas não são suportadas. | Total de diapositivos |
| HTML | Até 3.000 caracteres = 1 unidade de página. Imagens incorporadas ou ligadas não são suportadas. | Páginas totais 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 grandes de várias páginas, use o pages parâmetro de consulta para indicar números ou intervalos de páginas específicos para extração de texto.
Parágrafo
O modelo de layout extrai todos os blocos de texto identificados na paragraphs coleção como um objeto de nível superior dentro de analyzeResults. Cada entrada nesta coleção representa um bloco de texto e inclui o texto extraído como contente as coordenadas delimitadoras polygon . A span informação aponta para o fragmento de texto dentro da propriedade de nível superior content que contém todo o texto 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 deteção de objetos de página baseada em aprendizagem automática extrai papéis lógicos como títulos, cabeçalhos de secção, cabeçalhos de página, rodapés e mais. O modelo de layout de Inteligência de Documentos atribui certos blocos de texto na coleção paragraphs, atribuindo-lhes o papel ou tipo especializado previsto pelo modelo. É melhor usar funções de parágrafo com documentos não estruturados e assim ajudar a compreender o layout do conteúdo extraído, proporcionando uma análise semântica mais rica. Os papéis dos parágrafos seguintes são suportados.
| Papel previsto | Descrição | Tipos de ficheiros suportados |
|---|---|---|
title |
Os títulos principais na página | PDF, Imagem, DOCX, PPTX, XLSX, HTML |
sectionHeading |
Um ou mais subtítulos na página | PDF, Image, DOCX, XLSX, HTML |
footnote |
Texto perto do final da página | PDF, Imagem |
pageHeader |
Texto perto da borda superior da página | PDF, Imagem, DOCX |
pageFooter |
Texto perto da 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 de documentos no Document Intelligence extrai texto impresso e manuscrito sob forma de linhas e palavras. A coleção styles inclui qualquer estilo manuscrito para linhas, caso sejam detetadas, juntamente com os trechos que apontam para o texto associado. Esta funcionalidade aplica-se a línguas manuscritas suportadas.
Para Word, Excel, PowerPoint e HTML, o modelo de layout do Document Intelligence v4.0 2024-11-30 (GA) extrai todo o texto incorporado tal como está. Os textos são extraídos como palavras e parágrafos. Imagens embutidas não são suportadas.
"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 de escrita manual ou não, juntamente com uma pontuação de confiança. Para mais informações, consulte suporte à linguagem manuscrita. O exemplo seguinte mostra um exemplo de excerto JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se ativares a funcionalidade de fonte/estilo, também obténs o resultado da fonte/estilo como parte do objeto styles.
Marca de seleção
O modelo de layout também extrai marcas de seleção dos documentos. As marcas de seleção extraídas aparecem na pages coleção de cada página. Incluem o delimitador polygon, confidence e a seleção state (selected/unselected). A representação do texto (isto é, :selected: e :unselected) também está incluída como índice inicial (offset) e length que faz referência à propriedade de topo content 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 contenham grandes volumes de dados, normalmente formatados como tabelas. O modelo de layout extrai tabelas na pageResults secção da saída JSON. A informação extraída das tabelas inclui o número de colunas e linhas, o envergadura das linhas e a extensão das colunas. Cada célula com o seu polígono limitador é gerada juntamente com a informação sobre se a área é reconhecida como columnHeader ou não.
O modelo suporta a extração de tabelas que são rotacionadas. Cada célula da tabela contém o índice de linha e de coluna, assim como as coordenadas do polígono delimitador. Para o texto da célula, o modelo gera a informação span que contém o índice inicial offset. O modelo também gera o conteúdo de nível superior length que contém o texto completo do documento.
Aqui estão alguns fatores a considerar ao utilizar a capacidade de extração de dados do Document Intelligence:
- Os dados que pretende extrair são apresentados como uma tabela, e a estrutura da tabela é significativa?
- Os dados cabem numa grelha bidimensional se os dados não estiverem em formato de tabela?
- As suas tabelas ocupam várias páginas? Se sim, para evitar ter de rotular todas as páginas, divida o PDF em páginas antes de o enviar para a Inteligência de Documentos. Após a análise, pós-processa as páginas para uma única tabela.
- Consulte os Campos Tabular ao criar 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
A análise de tabelas não é suportada se o ficheiro de entrada for XLSX. Document Intelligence v4.0 2024-11-30 (GA) suporta regiões delimitadoras para figuras e tabelas que cobrem apenas o conteúdo central e exclui a legenda e 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 de layout extrai anotações nos 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
}
]
}
]
}
Ordem de leitura natural (somente alfabeto latino)
Pode especificar a ordem em que as linhas de texto são produzidas com o readingOrder parâmetro de consulta. Use natural para uma ordem de leitura mais amigável para as pessoas, como mostrado no exemplo seguinte. Esta funcionalidade é suportada apenas para línguas latinas.
Selecione o número ou intervalo da página para extração de texto
Para documentos grandes de várias páginas, use o pages parâmetro de consulta para indicar números ou intervalos de páginas específicos para extração de texto. O exemplo seguinte mostra um documento com 10 páginas, com texto extraído para ambos os casos, todas as páginas (1-10) e páginas selecionadas (3-6).
A operação de obter o resultado da análise de layout
O segundo passo é chamar a operação Get Analyze Layout Result. Esta operação recebe como entrada o ID do Resultado que a Analyze Layout operação criou. Devolve uma resposta JSON que contém um campo de estado com os seguintes valores possíveis.
| Campo | Tipo | Valores possíveis |
|---|---|---|
| Estado | cadeia (de caracteres) |
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 esta operação iterativamente até devolver o succeeded valor. Para evitar ultrapassar a taxa de pedidos por segundo, utilize um intervalo de três a cinco segundos.
Quando o campo de estado tem esse succeeded valor, a resposta JSON inclui o layout extraído, texto, tabelas e marcas de seleção. Os dados extraídos incluem linhas e palavras de texto extraídas, caixas delimitadoras, aparência do texto com indicação de escrita manual, tabelas e marcas de seleção, indicando selecionado/não selecionado.
Classificação manuscrita para linhas de texto (apenas latim)
A resposta inclui classificar se cada linha de texto é de estilo manuscrito ou não, juntamente com uma pontuação de confiança. Esta funcionalidade é suportada apenas para línguas latinas. O exemplo seguinte mostra a classificação manuscrita do texto na imagem.
Exemplo de saída JSON
A resposta à Get Analyze Layout Result operação é uma representação estruturada do documento com toda a informação extraída.
Veja um ficheiro de documento exemplo e a sua saída estruturada saída de layout de amostra.
A saída JSON tem duas partes:
- O
readResultsnó contém todo o texto reconhecido e a marca de seleção. A hierarquia de apresentação do texto é página, depois linha e depois palavras individuais. - O
pageResultsnó contém as tabelas e células extraídas com as suas caixas delimitadoras, confiança e uma referência às linhas e palavras noreadResultscampo.
Saída de exemplo
Texto
A API de layout extrai texto de documentos e imagens com múltiplos ângulos e cores de texto. Aceita fotografias de documentos, faxes, textos impressos e/ou manuscritos (apenas em inglês) e modos mistos. O texto é extraído com informação fornecida sobre linhas, palavras, caixas delimitadoras, pontuações de confiança e estilo (manuscrito ou outro). Toda a informação textual está incluída na readResults secção da saída JSON.
Tabelas com cabeçalhos
A API Layout extrai tabelas na pageResults secção da saída JSON. Pode digitalizar, fotografar ou digitalizar documentos. As tabelas podem ser complexas com células ou colunas fundidas, com ou sem bordas, e com ângulos ímpares.
A informação extraída das tabelas inclui o número de colunas e linhas, o envergadura das linhas e a extensão das colunas. Cada célula com a sua caixa delimitadora é produzida juntamente com a indicação de se a área é 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 de uma tabela. Também trabalham com mesas giradas. Cada célula da tabela inclui também o texto completo com referências às palavras individuais da readResults secção.
Marcas de seleção (documentos)
A API de layout também extrai marcas de seleção dos documentos. As marcas de seleção extraídas incluem a caixa delimitadora, a confiança e o estado (selecionado/não selecionado). A informação da marca de seleção é extraída na readResults secção da saída JSON.
Guia de migração
- Para aprender a usar a versão v3.1 nas suas aplicações e fluxos de trabalho, siga os passos do guia de migração do Document Intelligence v3.1.
Conteúdo relacionado
- Aprenda a processar os seus próprios formulários e documentos com o Document Intelligence Studio.
- Termine um início rápido de Inteligência Documental e crie uma aplicação de processamento de documentos na linguagem de programação da sua escolha.
- Aprenda a processar os seus próprios formulários e documentos com a ferramenta Document Intelligence Sample Labeling.
- Termine uma Introdução Rápida à Inteligência Documental e crie uma aplicação de processamento de documentos na linguagem de programação da sua escolha.