Modelo de leitura 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 versão 2024-02-29-preview.
- A versão de pré-visualização pública 2024-02-29-preview está atualmente disponível apenas nas seguintes regiões do Azure:
- E.U.A. Leste
- Oeste dos EUA2
- Europa Ocidental
Este conteúdo aplica-se a:v4.0 (visualização) | Versões anteriores:
v3.1 (GA)
v3.0 (GA)
Este conteúdo aplica-se a:v3.1 (GA) | Última versão:
v4.0 (visualização) | Versões anteriores:
v3.0
Este conteúdo aplica-se a:v3.0 (GA) | Últimas versões:
v4.0 (visualização)
v3.1
Nota
Para extrair texto de imagens externas, como rótulos, sinais de rua e cartazes, use o recurso de leitura do Azure AI Image Analysis v4.0 otimizado para imagens gerais não documentais com uma API síncrona com desempenho aprimorado que facilita a incorporação de OCR em seus cenários de experiência do usuário.
O modelo OCR (Document Intelligence Read Optical Character Recognition) é executado em uma resolução mais alta do que o Azure AI Vision Read e extrai texto impresso e manuscrito de documentos PDF e imagens digitalizadas. Ele também inclui suporte para extrair texto de documentos do Microsoft Word, Excel, PowerPoint e HTML. Ele deteta parágrafos, linhas de texto, palavras, locais e idiomas. O modelo Read é o mecanismo de OCR subjacente para outros modelos pré-construídos de Document Intelligence como Layout, Documento Geral, Fatura, Recibo, Documento de Identidade (ID), Cartão de seguro de saúde, W2, além de modelos personalizados.
O que é OCR para documentos?
O Reconhecimento Ótico de Caracteres (OCR) para documentos é otimizado para documentos grandes com muito texto em vários formatos de arquivo e idiomas globais. Inclui funcionalidades como digitalização de imagens de documentos de alta resolução para um melhor manuseamento de texto mais pequeno e denso; deteção de parágrafos; e gestão de formulários preenchíveis. Os recursos de OCR também incluem cenários avançados, como caixas de caracteres únicos e extração precisa de campos-chave comumente encontrados em faturas, recibos e outros cenários pré-construídos.
Opções de desenvolvimento
O Document Intelligence v4.0 (2024-02-29-preview, 2023-10-31-preview) suporta as seguintes ferramentas, aplicações e bibliotecas:
Caraterística | Recursos | Model ID |
---|---|---|
Ler modelo OCR | • Document Intelligence Studio • API REST • C# SDK • Python SDK • Java SDK • JavaScript SDK |
leitura pré-embutida |
O Document Intelligence v3.1 suporta as seguintes ferramentas, aplicativos e bibliotecas:
Caraterística | Recursos | Model ID |
---|---|---|
Ler modelo OCR | • Document Intelligence Studio • API REST • C# SDK • Python SDK • Java SDK • JavaScript SDK |
leitura pré-embutida |
O Document Intelligence v3.0 suporta as seguintes ferramentas, aplicações e bibliotecas:
Caraterística | Recursos | Model ID |
---|---|---|
Ler modelo OCR | • Document Intelligence Studio • API REST • C# SDK • Python SDK • Java SDK • JavaScript SDK |
leitura pré-embutida |
Requisitos de entrada
Para obter melhores resultados, forneça uma foto nítida ou uma digitalização de alta qualidade por documento.
Formatos de ficheiro suportados:
Modelo PDF Imagem:
JPEG/JPG, PNG, BMP, TIFF, HEIFMicrosoft Office:
Word (DOCX), Excel (XLSX), PowerPoint (PPTX) e HTMLLida ✔ ✔ ✔ Esquema ✔ ✔ ✔ (2024-02-29-pré-visualização, 2023-10-31-pré-visualização) Documento Geral ✔ ✔ Pré-criado ✔ ✔ Extração personalizada ✔ ✔ Classificação personalizada ✔ ✔ ✔ (2024-02-29-pré-visualização) Para PDF e TIFF, até 2000 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 x 50 pixels e 10.000 px 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 texto de cerca
8
de -ponto a 150 pontos por polegada (DPI).Para treinamento de modelo personalizado, o número máximo de páginas para dados de treinamento é 500 para o modelo de modelo personalizado e 50.000 para o modelo neural personalizado.
Para treinamento de modelo de extração personalizado, o tamanho total dos dados de treinamento é de 50 MB para o modelo de modelo e 1G-MB para o modelo neural.
Para treinamento de modelo de classificação personalizado, o tamanho total dos dados de treinamento é
1GB
de no máximo 10.000 páginas.
Introdução ao modelo Read
Tente extrair texto de formulários e documentos usando o Document Intelligence Studio. Você precisa dos seguintes ativos:
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
Atualmente, o Document Intelligence Studio não suporta os formatos de arquivo Microsoft Word, Excel, PowerPoint e HTML.
Exemplo de documento processado com o Document Intelligence Studio
Na home page do Document Intelligence Studio, selecione Ler.
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
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
Nota
Microsoft Word e arquivo HTML são suportados na v3.1 e versões posteriores. Em comparação com PDF e imagens, os recursos abaixo 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 é 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 document from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
# Analyze pages.
for page in result.pages:
print(f"----Analyzing document from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
Selecionar páginas para extração de texto
Para documentos PDF 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 Read OCR no Document Intelligence 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"
}
]
Texto, linhas e palavras
O modelo Read OCR extrai texto de estilo impresso e manuscrito como lines
e words
. O modelo produz coordenadas delimitadoras polygon
e confidence
para as palavras extraídas. 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, o Document Intelligence Read model v3.1 e versões posteriores extrai todo o texto incorporado como está. Os textos são extraditados 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 {len(words)} words and text '{line.content}' within bounding polygon '{format_polygon(line.polygon)}'"
)
# Analyze words.
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
# Analyze lines.
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has {len(words)} words and text '{line.content}' 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 classificar se cada linha de texto é de estilo de caligrafia ou não, juntamente com uma pontuação de confiança. Para obter mais informações, consulteSuporte 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ê ativou o recurso de complemento de fonte/estilo, também obterá o resultado de fonte/estilo como parte do styles
objeto.
Próximos passos
Conclua um guia de início rápido do Document Intelligence:
Explore a nossa API REST: