Modelo de layout do Document Intelligence
Importante
- As versões de visualização pública do Document Intelligence fornecem acesso antecipado a recursos que estão em desenvolvimento ativo. Recursos, abordagens e processos podem mudar, antes da Disponibilidade Geral (GA), com base nos comentários dos usuários.
- A versão de visualização pública das bibliotecas de cliente do Document Intelligence usa como padrão a API REST versão 2024-07-31-preview.
- A versão de pré-visualização pública 2024-07-31-preview está atualmente disponível apenas nas seguintes regiões do Azure. Observe que o modelo generativo personalizado (extração de campo de documento) no AI Studio só está disponível na região Centro-Norte dos EUA:
- E.U.A. Leste
- Oeste dos EUA2
- Europa Ocidental
- Centro-Norte dos EUA
Este conteúdo aplica-se a: v4.0 (pré-visualização) | Versões anteriores: v3.1 (GA) v3.0 (GA) v2.1 (GA)
O modelo de layout do Document Intelligence é uma API avançada de análise de documentos baseada em aprendizado de máquina disponível na nuvem Document Intelligence. Ele permite que você pegue documentos em vários formatos e retorne representações de dados estruturados dos documentos. Combina uma versão melhorada das nossas poderosas capacidades de Reconhecimento Ótico de Carateres (OCR) com modelos de aprendizagem profunda para extrair texto, tabelas, marcas de seleção e estrutura do documento.
Análise de layout de documentos (v4)
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 construir melhores modelos de 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 (v4)
O Document Intelligence v4.0 (2024-07-31-preview) suporta as seguintes ferramentas, aplicações e bibliotecas:
Caraterística | Recursos | Model ID |
---|---|---|
Modelo de layout | • Document Intelligence Studio • API REST • C# SDK • Python SDK • Java SDK • JavaScript SDK |
layout pré-construído |
Requisitos de entrada (v4)
Formatos de ficheiro suportados:
Modelo PDF Imagem: JPEG/JPG
,PNG
,BMP
,TIFF
, ,HEIF
Microsoft Office:
Word (DOCX
), Excel (XLSX
), PowerPoint (PPTX
), HTMLLida ✔ ✔ ✔ Esquema ✔ ✔ ✔ (2024-07-31-pré-visualização, 2024-02-29-pré-visualização, 2023-10-31-pré-visualização) Documento Geral ✔ ✔ Pré-criado ✔ ✔ Extração personalizada ✔ ✔ Classificação personalizada ✔ ✔ ✔ (2024-07-31-pré-visualização, 2024-02-29-pré-visualização) Para obter melhores resultados, forneça uma foto nítida ou uma digitalização de alta qualidade por documento.
Para PDF e TIFF, até 2.000 páginas podem ser processadas (com uma assinatura de nível gratuito, apenas as duas primeiras páginas são processadas).
O tamanho do arquivo para analisar documentos é de 500 MB para a camada paga (S0) e
4
MB para a camada gratuita (F0).As dimensões da imagem devem estar entre 50 pixels x 50 pixels e 10.000 pixels x 10.000 pixels.
Se os seus PDFs forem bloqueados por uma palavra-passe, terá de remover o bloqueio antes da submetê-los.
A altura mínima do texto a ser extraído é de 12 pixels para uma imagem de 1024 x 768 pixels. Esta dimensão corresponde a cerca
8
de texto pontual 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 o treinamento do modelo de extração personalizado, o tamanho total dos dados de treinamento é de 50 MB para o modelo de modelo e
1
GB para o modelo neural.Para treinamento de modelo de classificação personalizado, o tamanho total dos dados de treinamento é
1
GB com um máximo de 10.000 páginas. Para 2024-07-31-preview e posterior, o tamanho total dos dados de treinamento é2
GB com um máximo de 10.000 páginas.
Introdução ao modelo de layout
Veja como os dados, incluindo texto, tabelas, cabeçalhos de tabelas, 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 do Azure — você pode criar uma gratuitamente.
Uma instância de Document Intelligence no portal do Azure. Você pode usar o nível de preço gratuito (
F0
) para experimentar o serviço. Depois que o recurso for implantado, selecione Ir para o recurso para obter sua chave e o ponto de extremidade.
Nota
O Document Intelligence Studio está disponível com APIs v3.0 e versões posteriores.
Exemplo de documento processado com o Document Intelligence Studio
Na home page do Document Intelligence Studio, selecione Layout.
Pode analisar o documento de exemplo ou carregar os seus próprios ficheiros.
Selecione o botão Executar análise e, se necessário, configure as opções Analisar:
Idiomas e localidades suportados (ocr)
Consulte a nossa página Suporte a idiomas — modelos de análise de documentos para obter uma lista completa dos idiomas suportados.
Extração de dados (v4)
O modelo de layout extrai texto, marcas de seleção, tabelas, parágrafos e tipos de parágrafo (roles
) de seus documentos.
Nota
As versões 2024-02-29-preview
, 2023-10-31-preview
e posteriores suportam ficheiros Microsoft Office (DOCX, XLSX, PPTX) e HTML. Os seguintes recursos não são suportados:
- Não há ângulo, largura/altura e unidade com cada objeto de página.
- Para cada objeto detetado, não há polígono delimitador ou região delimitadora.
- O intervalo de páginas (
pages
) não é suportado como parâmetro. - Nenhum
lines
objeto.
Páginas
A coleção pages é 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á girada e a largura e altura (dimensões em pixels). As unidades de página na saída do modelo são calculadas como mostrado:
Formato do ficheiro | 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 = unidade de 1 página | Total de páginas no PDF | |
TIFF | Cada imagem no TIFF = 1 unidade de página | Total de imagens no TIFF |
Palavra (DOCX) | Até 3.000 caracteres = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | Total de páginas de até 3.000 caracteres cada |
Excel (XLSX) | Cada planilha = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | Total de planilhas |
PowerPoint (PPTX) | Cada slide = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | Total de diapositivos |
HTML | Até 3.000 caracteres = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | 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 de documentos
Para documentos grandes de várias páginas, use o pages
parâmetro query para indicar números de página específicos ou intervalos de páginas para extração de texto.
Parágrafos
O modelo Layout extrai todos os blocos de texto identificados na paragraphs
coleção como um objeto de nível superior em analyzeResults
. Cada entrada nesta coleção representa um bloco de texto e .. /inclui o texto extraído comocontent
e as coordenadas delimitadoras polygon
. As span
informações apontam para o fragmento de texto dentro da propriedade de nível content
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 deteção de objeto de página baseada em aprendizado de máquina extrai funções lógicas, como títulos, cabeçalhos de seção, cabeçalhos de página, rodapés de página e muito mais. O modelo Document Intelligence Layout atribui determinados blocos de texto na paragraphs
coleção com sua função 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 rica. As seguintes funções de parágrafo são suportadas:
Papel previsto | Descrição | Tipos de ficheiros suportados |
---|---|---|
title |
Os títulos principais 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 na parte inferior 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 de 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 documento no Document Intelligence extrai texto de estilo impresso e manuscrito como lines
e words
. A styles
coleção .. /inclui qualquer estilo manuscrito para linhas, se detetado junto com as extensões apontando para o texto associado. Este recurso aplica-se aos idiomas manuscritos suportados.
Para Microsoft Word, Excel, PowerPoint e HTML, as versões de layout 2024-02-29-preview e 2023-10-31-preview extraem todo o texto incorporado como está. Os textos são extraídos sob a forma de palavras e parágrafos. Não há suporte para imagens incorporadas.
# 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 a classificação 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 a idiomas manuscritos. O exemplo a seguir mostra um trecho JSON de exemplo.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se você habilitar o recurso de complemento fonte/estilo, também obterá o resultado fonte/estilo como parte do styles
objeto.
Marcas de seleção
O modelo Layout também extrai marcas de seleção de documentos. As marcas de seleção extraídas aparecem dentro da pages
coleção para cada página. Eles incluem o delimitador polygon
, confidence
, e 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
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
A extração de tabelas é um requisito fundamental para o processamento de documentos que contenham grandes volumes de dados normalmente formatados como tabelas. O modelo Layout extrai tabelas na pageResults
seção da saída JSON. Informações extraídas da tabela .. /inclui o número de colunas e linhas, a extensão da linha e a extensão da coluna. Cada célula com seu polígono delimitador é saída junto com informações se a área é reconhecida como um columnHeader
ou não. O modelo suporta a extração de tabelas que são giradas. Cada célula da tabela contém o índice de linha e coluna e as coordenadas do polígono delimitador. Para o texto da célula, o modelo produz as span
informações que contêm o índice inicial (offset
). O modelo também produz o length
conteúdo de nível superior que contém o texto completo do documento.
Aqui estão alguns fatores a serem considerados ao usar o recurso de extração de fardos do Document Intelligence:
Os dados que você deseja extrair são apresentados como uma tabela e a estrutura da tabela é significativa?
Os dados podem caber em uma grade bidimensional se os dados não estiverem em um formato de tabela?
As suas tabelas abrangem várias páginas? Em caso afirmativo, 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, pós-processe as páginas para uma única tabela.
Consulte Campos tabulares se 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
- A análise de tabela não é suportada se o arquivo de entrada for XLSX.
- A partir de 2024-07-31-preview, as regiões delimitadoras de figuras e tabelas cobrem apenas o conteúdo principal e excluem legendas 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}'")
Saída para formato de markdown
A API de layout pode gerar o texto extraído em formato de marcação. Use o outputContentFormat=markdown
para especificar o formato de saída em markdown. O conteúdo de markdown é produzido como parte da content
seção.
Nota
A partir de 2024-07-31-preview, a representação de tabelas é alterada para tabelas HTML para permitir a renderização de células mescladas, cabeçalhos de várias linhas, etc. Outra alteração relacionada é usar caracteres ☒ de caixa de seleção Unicode e ☐ para marcas de seleção em vez de :selected: e :unselected:. Observe que isso significa que o conteúdo dos campos de marca de seleção conterá :selected: mesmo que suas extensões se refiram a caracteres Unicode na extensão de nível superior.
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
As figuras (gráficos, imagens) em documentos desempenham um papel crucial na complementação e valorização do conteúdo textual, fornecendo representações visuais que auxiliam na compreensão de informações complexas. O objeto figures detetado pelo modelo Layout tem propriedades principais como boundingRegions
(os locais 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
(detalha as extensões de texto relacionadas à figura, especificando 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 de elementos de texto ou parágrafos dentro do documento que estão relacionados ou descrevem a figura) e caption
se existirem.
Quando output=figures é especificado durante a operação de análise inicial, o serviço gera imagens cortadas para todas as figuras detetadas que podem ser acessadas via /analyeResults/{resultId}/figures/{figureId}
.
FigureId
é incluído em cada objeto de figura, seguindo uma convenção não documentada de {pageNumber}.{figureIndex}
onde figureIndex
redefine para um por página.
Nota
A partir de 2024-07-31-preview, as regiões delimitadoras de figuras e tabelas cobrem apenas o conteúdo principal e excluem legendas 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. 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 Geração Aumentada de Recuperação (RAG) na IA geradora de documentos ressalta a importância da análise hierárquica da estrutura de documentos. O modelo Layout suporta seções e subseções na saída, que identifica a relação de seções e objeto dentro de cada seção. A estrutura hierárquica é mantida em elements
cada secção. Você pode usar a saída para o 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 aplica-se a: v3.1 (GA) | Última versão: v4.0 (pré-visualização) | Versões anteriores: v3.0 v2.1
Este conteúdo aplica-se a: v3.0 (GA) | Últimas versões: v4.0 (preview) v3.1 | Versão anterior: v2.1
Este conteúdo aplica-se a: v2.1 | Última versão: v4.0 (pré-visualização)
O modelo de layout do Document Intelligence é uma API avançada de análise de documentos baseada em aprendizado de máquina disponível na nuvem Document Intelligence. Ele permite que você pegue documentos em vários formatos e retorne representações de dados estruturados dos documentos. Combina uma versão melhorada das nossas poderosas capacidades de Reconhecimento Ótico de Carateres (OCR) com modelos de aprendizagem profunda para extrair texto, tabelas, marcas de seleção e estrutura do documento.
Análise de layout de documentos
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 construir melhores modelos de 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
O Document Intelligence v3.1 suporta as seguintes ferramentas, aplicativos e bibliotecas:
Caraterística | Recursos | Model ID |
---|---|---|
Modelo de layout | • Document Intelligence Studio • API REST • C# SDK • Python SDK • Java SDK • JavaScript SDK |
layout pré-construído |
O Document Intelligence v3.0 suporta as seguintes ferramentas, aplicações e bibliotecas:
Caraterística | Recursos | Model ID |
---|---|---|
Modelo de layout | • Document Intelligence Studio • API REST • C# SDK • Python SDK • Java SDK • JavaScript SDK |
layout pré-construído |
O Document Intelligence v2.1 suporta as seguintes ferramentas, aplicações e bibliotecas:
Caraterística | Recursos |
---|---|
Modelo de layout | • Ferramenta de etiquetagem de Inteligência Documental• API REST • SDK de biblioteca cliente• Contêiner Docker de Inteligência Documental |
Requisitos de entrada
Formatos de ficheiro suportados:
Modelo PDF Imagem: JPEG/JPG
,PNG
,BMP
,TIFF
, ,HEIF
Microsoft Office:
Word (DOCX
), Excel (XLSX
), PowerPoint (PPTX
), HTMLLida ✔ ✔ ✔ Esquema ✔ ✔ ✔ (2024-07-31-pré-visualização, 2024-02-29-pré-visualização, 2023-10-31-pré-visualização) Documento Geral ✔ ✔ Pré-criado ✔ ✔ Extração personalizada ✔ ✔ Classificação personalizada ✔ ✔ ✔ (2024-07-31-pré-visualização, 2024-02-29-pré-visualização) Para obter melhores resultados, forneça uma foto nítida ou uma digitalização de alta qualidade por documento.
Para PDF e TIFF, até 2.000 páginas podem ser processadas (com uma assinatura de nível gratuito, apenas as duas primeiras páginas são processadas).
O tamanho do arquivo para analisar documentos é de 500 MB para a camada paga (S0) e
4
MB para a camada gratuita (F0).As dimensões da imagem devem estar entre 50 pixels x 50 pixels e 10.000 pixels x 10.000 pixels.
Se os seus PDFs forem bloqueados por uma palavra-passe, terá de remover o bloqueio antes da submetê-los.
A altura mínima do texto a ser extraído é de 12 pixels para uma imagem de 1024 x 768 pixels. Esta dimensão corresponde a cerca
8
de texto pontual 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 o treinamento do modelo de extração personalizado, o tamanho total dos dados de treinamento é de 50 MB para o modelo de modelo e
1
GB para o modelo neural.Para treinamento de modelo de classificação personalizado, o tamanho total dos dados de treinamento é
1
GB com um máximo de 10.000 páginas. Para 2024-07-31-preview e posterior, o tamanho total dos dados de treinamento é2
GB com um máximo de 10.000 páginas.
- Formatos de ficheiro suportados: JPEG, PNG, PDF e TIFF.
- Número de páginas suportado: Para PDF e TIFF, até 2.000 páginas são processadas. Para assinantes de nível gratuito, apenas as duas primeiras páginas são processadas.
- Tamanho do ficheiro suportado: o tamanho do ficheiro deve ser inferior a 50 MB e dimensões de, pelo menos, 50 x 50 píxeis e no máximo 10 000 x 10 000 píxeis.
Introdução ao modelo de layout
Veja como os dados, incluindo texto, tabelas, cabeçalhos de tabelas, 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 do Azure — você pode criar uma gratuitamente.
Uma instância de Document Intelligence no portal do Azure. Você pode usar o nível de preço gratuito (
F0
) para experimentar o serviço. Depois que o recurso for implantado, selecione Ir para o recurso para obter sua chave e o ponto de extremidade.
Nota
O Document Intelligence Studio está disponível com APIs v3.0 e versões posteriores.
Exemplo de documento processado com o Document Intelligence Studio
Na home page do Document Intelligence Studio, selecione Layout.
Pode analisar o documento de exemplo ou carregar os seus próprios ficheiros.
Selecione o botão Executar análise e, se necessário, configure as opções Analisar:
Ferramenta de etiquetagem de exemplo de inteligência de documentos
Navegue até a ferramenta de exemplo 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 do serviço de Inteligência Documental, cole o ponto de extremidade obtido com sua assinatura do Document Intelligence.
No campo chave, cole a chave obtida do recurso Document Intelligence.
No campo Origem, selecione URL no menu suspenso Você pode usar nosso documento de exemplo:
Selecione o botão Buscar .
Selecione Executar layout. A ferramenta Document Intelligence Sample Labeling chama a
Analyze Layout
API para analisar o documento.Exibir os resultados - veja o texto extraído realçado, as marcas de seleção detetadas e as tabelas detetadas.
Idiomas e localidades suportados
Consulte a nossa página Suporte a idiomas — modelos de análise de documentos para obter uma lista completa dos idiomas suportados.
O Document Intelligence v2.1 suporta as seguintes ferramentas, aplicações e bibliotecas:
Caraterística | Recursos |
---|---|
Layout API | • Ferramenta de etiquetagem de Inteligência Documental• API REST • SDK de biblioteca cliente• Contêiner Docker de Inteligência Documental |
Extração de dados
O modelo de layout extrai texto, marcas de seleção, tabelas, parágrafos e tipos de parágrafo (roles
) de seus documentos.
Nota
As versões 2024-02-29-preview
, 2023-10-31-preview
e posteriores suportam ficheiros Microsoft Office (DOCX, XLSX, PPTX) e HTML. Os seguintes recursos não são suportados:
- Não há ângulo, largura/altura e unidade com cada objeto de página.
- Para cada objeto detetado, não há polígono delimitador ou região delimitadora.
- O intervalo de páginas (
pages
) não é suportado como parâmetro. - Nenhum
lines
objeto.
Páginas
A coleção pages é 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á girada e a largura e altura (dimensões em pixels). As unidades de página na saída do modelo são calculadas como mostrado:
Formato do ficheiro | 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 = unidade de 1 página | Total de páginas no PDF | |
TIFF | Cada imagem no TIFF = 1 unidade de página | Total de imagens no TIFF |
Palavra (DOCX) | Até 3.000 caracteres = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | Total de páginas de até 3.000 caracteres cada |
Excel (XLSX) | Cada planilha = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | Total de planilhas |
PowerPoint (PPTX) | Cada slide = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | Total de diapositivos |
HTML | Até 3.000 caracteres = 1 unidade de página, imagens incorporadas ou vinculadas não suportadas | 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 grandes de várias páginas, use o pages
parâmetro query para indicar números de página específicos ou intervalos de páginas para extração de texto.
Parágrafos
O modelo Layout extrai todos os blocos de texto identificados na paragraphs
coleção como um objeto de nível superior em analyzeResults
. Cada entrada nesta coleção representa um bloco de texto e .. /inclui o texto extraído comocontent
e as coordenadas delimitadoras polygon
. As span
informações apontam para o fragmento de texto dentro da propriedade de nível content
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 deteção de objeto de página baseada em aprendizado de máquina extrai funções lógicas, como títulos, cabeçalhos de seção, cabeçalhos de página, rodapés de página e muito mais. O modelo Document Intelligence Layout atribui determinados blocos de texto na paragraphs
coleção com sua função 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 rica. As seguintes funções de parágrafo são suportadas:
Papel previsto | Descrição | Tipos de ficheiros suportados |
---|---|---|
title |
Os títulos principais 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 na parte inferior 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 de 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 documento no Document Intelligence extrai texto de estilo impresso e manuscrito como lines
e words
. A styles
coleção .. /inclui qualquer estilo manuscrito para linhas, se detetado junto com as extensões apontando para o texto associado. Este recurso aplica-se aos idiomas manuscritos suportados.
Para Microsoft Word, Excel, PowerPoint e HTML, as versões de layout 2024-02-29-preview e 2023-10-31-preview extraem todo o texto incorporado como está. Os textos são extraídos sob a forma de 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": [],
}
]
# 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 para linhas de texto
A resposta .. /inclui a classificação 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 a idiomas manuscritos. O exemplo a seguir mostra um trecho JSON de exemplo.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se você habilitar o recurso de complemento fonte/estilo, também obterá o resultado fonte/estilo como parte do styles
objeto.
Marcas de seleção
O modelo Layout também extrai marcas de seleção de documentos. As marcas de seleção extraídas aparecem dentro da pages
coleção para cada página. Eles incluem o delimitador polygon
, confidence
, e 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
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}"
)
Tabelas
A extração de tabelas é um requisito fundamental para o processamento de documentos que contenham grandes volumes de dados normalmente formatados como tabelas. O modelo Layout extrai tabelas na pageResults
seção da saída JSON. Informações extraídas da tabela .. /inclui o número de colunas e linhas, a extensão da linha e a extensão da coluna. Cada célula com seu polígono delimitador é saída junto com informações se a área é reconhecida como um columnHeader
ou não. O modelo suporta a extração de tabelas que são giradas. Cada célula da tabela contém o índice de linha e coluna e as coordenadas do polígono delimitador. Para o texto da célula, o modelo produz as span
informações que contêm o índice inicial (offset
). O modelo também produz o length
conteúdo de nível superior que contém o texto completo do documento.
Aqui estão alguns fatores a serem considerados ao usar o recurso de extração de fardos do Document Intelligence:
Os dados que você deseja extrair são apresentados como uma tabela e a estrutura da tabela é significativa?
Os dados podem caber em uma grade bidimensional se os dados não estiverem em um formato de tabela?
As suas tabelas abrangem várias páginas? Em caso afirmativo, 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, pós-processe as páginas para uma única tabela.
Consulte Campos tabulares se 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
- A análise de tabela não é suportada se o arquivo de entrada for XLSX.
- A partir de 2024-07-31-preview, as regiões delimitadoras de figuras e tabelas cobrem apenas o conteúdo principal e excluem legendas 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 (disponível apenas na 2023-02-28-preview
API.)
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 de ordem de leitura natural (somente em latim)
Você pode especificar a ordem na qual as linhas de texto são saídas com o readingOrder
parâmetro query. Use natural
para uma saída de ordem de leitura mais amigável para o ser humano, conforme mostrado no exemplo a seguir. Este recurso só é suportado para idiomas latinos.
Selecionar números de página ou intervalos para extração de texto
Para documentos grandes de várias páginas, use o pages
parâmetro query para indicar números de página específicos ou intervalos de páginas 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-10) e páginas selecionadas (3-6).
A operação Obter resultado de layout de análise
A segunda etapa é chamar a operação Obter resultado de layout de análise . Esta operação toma como entrada o ID de resultado da Analyze Layout
operação criada. Ele retorna uma resposta JSON que contém um campo de status com os seguintes valores possíveis.
Campo | Type | 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 : 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 (RPS), use um intervalo de 3 a 5 segundos.
Quando o campo de status tem o succeeded
valor, a resposta JSON .. /inclui o layout extraído, texto, tabelas e marcas de seleção. Os dados extraídos .. /inclui linhas de texto e palavras extraídas, caixas delimitadoras, aparência do texto com indicação manuscrita, tabelas e marcas de seleção com indicação selecionada/não selecionada.
Classificação manuscrita para linhas de texto (apenas em latim)
A resposta .. /inclui a classificação se cada linha de texto é de estilo manuscrito ou não, juntamente com uma pontuação de confiança. Este recurso só é suportado para idiomas latinos. O exemplo a seguir mostra a classificação manuscrita para o texto na imagem.
Exemplo de saída JSON
A resposta à operação Get Analyze Layout Result é uma representação estruturada do documento com todas as informações extraídas. Veja aqui um arquivo de documento de exemplo e sua saída de layout de exemplo de saída estruturada.
A saída JSON tem duas partes:
readResults
contém todo o texto reconhecido e marca de seleção. A hierarquia de apresentação de texto é página, depois linha, depois palavras individuais.pageResults
contém as tabelas e células extraídas com suas caixas delimitadoras, confiança e uma referência às linhas e palavras no campo "readResults".
Exemplo de saída
Texto
A API de layout extrai texto de documentos e imagens com vários ângulos de texto e cores. 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 readResults
seção da saída JSON.
Tabelas com cabeçalhos
A API de layout extrai tabelas na pageResults
seção da saída JSON. Os documentos podem ser digitalizados, fotografados ou digitalizados. As tabelas podem ser complexas com células ou colunas mescladas, com ou sem bordas e com ângulos ímpares. Informações extraídas da tabela .. /inclui o número de colunas e linhas, a extensão da linha e a extensão da coluna. Cada célula com sua caixa delimitadora é saída junto com 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. Eles também trabalham com mesas giratórias. Cada célula da tabela também .. /inclui o texto completo com referências às palavras individuais na readResults
secção.
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 readResults
seção da saída JSON.
Guia de migração
- Siga nosso guia de migração do Document Intelligence v3.1 para saber como usar a versão v3.1 em seus aplicativos e fluxos de trabalho.
Próximos passos
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 comece a criar 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 Document Intelligence Sample Labeling.
Conclua um início rápido do Document Intelligence e comece a criar um aplicativo de processamento de documentos na linguagem de desenvolvimento de sua escolha.