Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este contenido se aplica a:
v4.0 (GA) | Versiones anteriores:
v3.1 (GA)
v3.0 (GA)
v2.1 (GA)
El modelo de diseño de Azure Document Intelligence en Foundry Tools es una API avanzada de análisis de documentos basada en el aprendizaje automático. El modelo está disponible en la nube de Documento de inteligencia. Puede usarlo para tomar documentos en varios formatos y devolver representaciones de datos estructuradas de los documentos. El modelo combina una versión mejorada de las eficaces funcionalidades de reconocimiento óptico de caracteres (OCR) con modelos de aprendizaje profundo para extraer texto, tablas, marcas de selección y estructura de documentos.
Análisis de diseño de estructura de documentos
El análisis de diseño de estructura de documentos es el proceso de analizar un documento para extraer regiones de interés y sus interrelaciones. El objetivo es extraer texto y elementos estructurales de la página para crear modelos de mejor comprensión semántica. Hay dos tipos de roles en un diseño de documento:
- Roles geométricos: el texto, las tablas, las figuras y las marcas de selección son ejemplos de roles geométricos.
- Roles lógicos: los títulos, los encabezados y los pies de página son ejemplos de roles lógicos de textos.
En la ilustración siguiente se muestran los componentes típicos de una imagen de una página de ejemplo.
Opciones de desarrollo
Documento de inteligencia v4.0: 2024-11-30 (GA) admite las siguientes herramientas, aplicaciones y bibliotecas.
| Característica | Recursos | Id. de modelo |
|---|---|---|
| Modelo de diseño | • Document Intelligence Studio • API REST • SDK de C# • SDK de Python • SDK de Java • SDK de JavaScript |
prebuilt-layout |
Idiomas compatibles
Para obtener una lista completa de los idiomas admitidos, vea Compatibilidad con idiomas: modelos de análisis de documentos.
Tipos de archivo admitidos
Documento de inteligencia v4.0: el modelo de diseño 2024-11-30 (GA) admite los siguientes formatos de archivo:
| Modelo | Imagen: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Diseño | ✔ | ✔ | ✔ |
Requisitos de entrada
- Fotos y exámenes: para obtener mejores resultados, proporcione una foto clara o un examen de alta calidad por documento.
- Archivos PDF y TIFF: para archivos PDF y TIFF, se pueden procesar hasta 2000 páginas. (Con una suscripción de nivel gratuito, solo se procesan las dos primeras páginas).
- Bloqueos de contraseña: si los archivos PDF están bloqueados con contraseña, debe quitar el bloqueo antes del envío.
- Tamaño de archivo: el tamaño de archivo para analizar documentos es de 500 MB para el nivel de pago (S0) y de 4 MB para el nivel gratis (F0).
- Dimensiones de imagen: las dimensiones de imagen deben estar entre 50 píxeles x 50 píxeles y 10 000 píxeles x 10 000 píxeles.
- Alto del texto: el alto mínimo del texto que se va a extraer es de 12 píxeles para una imagen de 1024 x 768 píxeles. Esta dimensión corresponde aproximadamente a un texto de 8 puntos a 150 puntos por pulgada.
- Entrenamiento de modelos personalizados: el número máximo de páginas para los datos de entrenamiento es de 500 para el modelo de plantilla personalizado y de 50 000 para el modelo neuronal personalizado.
- Entrenamiento del modelo de extracción personalizada: el tamaño total de los datos de entrenamiento es de 50 MB para el modelo de plantilla y de 1 GB para el modelo neuronal.
- Entrenamiento del modelo de clasificación personalizado: el tamaño total de los datos de entrenamiento es de 1 GB con un máximo de 10 000 páginas. Para 2024-11-30 (GA), el tamaño total de los datos de entrenamiento es de 2 GB con un máximo de 10 000 páginas.
- Tipos de archivo de Office (DOCX, XLSX, PPTX): el límite máximo de longitud de cadena es de 8 millones de caracteres.
Para más información sobre el uso del modelo, las cuotas y los límites de servicio, vea Límites del servicio.
Introducción al modelo de diseño
Vea cómo se extraen los datos, incluidos texto, tablas, encabezados de tabla, marcas de selección e información de estructura, de documentos mediante Documento de inteligencia. Necesita los siguientes recursos:
Una suscripción de Azure. Puede crear una de forma gratuita.
Una instancia de Document Intelligence en el Azure Portal. Puede usar el plan de tarifa gratuito (F0) para probar el servicio. Después de implementar el recurso, seleccione Ir al recurso para obtener la clave y el punto de conexión.
Después de recuperar la clave y el punto de conexión, use las siguientes opciones de desarrollo para compilar e implementar las aplicaciones de Documento de inteligencia.
Extracción de datos
El modelo de diseño extrae elementos estructurales de los documentos. Los siguientes elementos estructurales se describen en el resto de este artículo junto con instrucciones sobre cómo extraerlos de la entrada del documento:
- Páginas
- Párrafos
- Texto, líneas y palabras
- Marcas de selección
- Tablas
- Respuesta de salida a Markdown
- Figuras
- Secciones
Ejecute el análisis de documentos de diseño de ejemplo en Document Intelligence Studio. Después, vaya a la pestaña de resultados y acceda a la salida JSON completa.
Páginas
La colección pages es una lista de páginas dentro del documento. Cada página se representa secuencialmente dentro del documento e incluye el ángulo de orientación, que indica si se gira la página, y el ancho y alto (dimensiones en píxeles). Las unidades de página de la salida del modelo se calculan como se muestra en la tabla siguiente.
| Formato de archivo | Unidad de página calculada | Páginas totales |
|---|---|---|
| Imágenes (JPEG/JPG, PNG, BMP y HEIF) | Cada imagen = 1 unidad de página. | Total de imágenes |
| Cada página del PDF = 1 unidad de página. | Total de páginas en el PDF | |
| TIFF | Cada imagen del archivo TIFF = 1 unidad de página. | Total de imágenes en el TIFF |
| Documento de Word (DOCX) | Hasta 3000 caracteres = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de páginas de hasta 3000 caracteres cada una |
| Excel (XLSX) | Cada hoja de cálculo = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de hojas de cálculo |
| PowerPoint (PPTX) | Cada diapositiva = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de diapositivas |
| HTML | Hasta 3000 caracteres = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de páginas de hasta 3000 caracteres cada una |
# 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}")
Extraer páginas seleccionadas
Para documentos grandes de varias páginas, use el parámetro de consulta pages para indicar números de página específicos o intervalos de página para la extracción de texto.
Párrafos
El modelo de diseño extrae todos los bloques de texto identificados de la colección paragraphs como un objeto de nivel superior en analyzeResults. Cada entrada de esta colección representa un bloque de texto e incluye el texto extraído como content y las coordenadas polygon de delimitador. La información de spans apunta al fragmento de texto dentro de la propiedad content de nivel superior que contiene el texto completo del 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"
}
]
Roles de párrafo
La nueva detección de objetos de página basada en el aprendizaje automático extrae roles lógicos como títulos, títulos de sección, encabezados de página, pies de página, etc. El modelo de diseño de Documento de inteligencia asigna determinados bloques de texto de la colección paragraphs con su rol o tipo especializado previsto por el modelo.
Es mejor usar roles de párrafo con documentos no estructurados para ayudar a comprender el diseño del contenido extraído para un análisis semántico más completo. Se admiten los siguientes roles de párrafo.
| Rol previsto | Description | Tipos de archivo admitidos |
|---|---|---|
title |
Títulos principales de la página | PDF, Image, DOCX, PPTX, XLSX, HTML |
sectionHeading |
Uno o varios subtítulos de la página | PDF, Image, DOCX, XLSX, HTML |
footnote |
Texto cerca del final de la página | PDF, imagen |
pageHeader |
Texto cerca del borde superior de la página | PDF, Image, DOCX |
pageFooter |
Texto cerca del borde inferior de la página | PDF, Image, DOCX, PPTX, HTML |
pageNumber |
Número de página | PDF, imagen |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
Texto, líneas y palabras
El modelo de diseño de documento de Documento de inteligencia extrae texto de estilo manuscrito y impreso como lines y words. La colección styles incluye cualquier estilo manuscrito para líneas, si se detecta, junto con los intervalos que apuntan al texto asociado. Esta característica se aplica a los idiomas manuscritos admitidos.
Para Microsoft Word, Excel, PowerPoint y HTML, el modelo de diseño de Documento de inteligencia v4.0 2024-11-30 (GA) extrae todo el texto insertado tal como está. Los textos se extraen en forma de palabras y párrafos. No se admiten las imágenes insertadas.
# 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 líneas de texto
La respuesta incluye si cada línea de texto está en un estilo manuscrito o no, junto con una puntuación de confianza. Para más información, vea Compatibilidad con idiomas manuscritos. En el ejemplo siguiente se muestra un ejemplo de fragmento JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Si habilita la funcionalidad de complemento de estilo/fuente, también obtendrá el resultado de fuente/estilo como parte del objeto styles.
Marcas de selección
El modelo de diseño también extrae marcas de selección de documentos. Las marcas de selección extraídas aparecen dentro de la colección pages para cada página. Incluyen polygon delimitador, confidence y state de la selección (selected/unselected). La representación de texto (es decir, :selected: y :unselected) también se incluye como índice inicial (offset) y length que hace referencia a la propiedad content de nivel superior que contiene el texto completo del 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}"
)
Tablas
La extracción de tablas es un requisito clave para procesar documentos que contienen grandes volúmenes de datos con formato normalmente de tabla. El modelo de diseño extrae tablas en la sección pageResults de la salida JSON. La información de las tablas extraídas incluyen el número de columnas y filas, el intervalo de filas y el intervalo de columnas.
Cada celda con su polígono delimitador se genera junto con información sobre si el área se reconoce como columnHeader o no. El modelo admite la extracción de tablas que se rotan. Cada celda de la tabla contiene las coordenadas de índice de fila y columna y polígono delimitador. Para el texto de la celda, el modelo genera la información span que contiene el índice inicial (offset). El modelo también produce el length en el contenido de nivel superior que contiene el texto completo del documento.
Estos son algunos factores que se deben tener en cuenta al usar la funcionalidad de extracción de tablas de Documento de inteligencia:
- ¿Se presentan los datos que desea extraer en forma de tabla y tiene sentido la estructura de la tabla?
- ¿Los datos caben en una cuadrícula bidimensional si no están en formato de tabla?
- ¿Las tablas se extienden por varias páginas? Si es así, para evitar tener que etiquetar todas las páginas, divida el PDF en páginas antes de enviarlo a Documento de inteligencia. Después del análisis, vuelva a procesar las páginas en una sola tabla.
- Vea Campos tabulares si crea modelos personalizados. Las tablas dinámicas tienen un número variable de filas para cada columna. Las tablas fijas tienen un número constante de filas para cada columna.
Nota:
No se admite el análisis de tablas si el archivo de entrada es XLSX. Para 2024-11-30 (GA), las regiones de delimitador de ilustraciones y tablas solo cubren el contenido principal y excluyen el título y las notas al pie asociados.
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}'")
Respuesta de salida al formato Markdown
La API de diseño puede generar el texto extraído en formato Markdown. Use outputContentFormat=markdown para especificar el formato de salida en Markdown. El contenido de Markdown se genera como parte de la sección content.
Nota:
Para la versión 4.0 2024-11-30 (GA), la representación de las tablas se cambia a tablas HTML para permitir la representación de elementos como celdas combinadas y encabezados de varias filas. Otro cambio relacionado consiste en usar los caracteres ☒ y ☐ de casilla Unicode para las marcas de selección en lugar de :selected: y :unselected:. Esta actualización significa que el contenido de los campos de marca de selección contiene :selected: aunque sus intervalos hagan referencia a caracteres Unicode en el intervalo de nivel superior. Para obtener una definición completa de los elementos de Markdown, vea Formato de salida de 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
Las figuras (gráficos e imágenes) de los documentos desempeñan un papel fundamental para complementar y mejorar el contenido textual. Proporcionan representaciones visuales que ayudan a comprender información compleja. El objeto figures detectado por el modelo de diseño tiene propiedades clave como las siguientes:
-
boundingRegions: las ubicaciones espaciales de la figura en las páginas del documento, incluido el número de página y las coordenadas de polígono que describen el límite de la figura. -
spans: el texto abarca los intervalos relacionados con la figura que especifican sus desplazamientos y longitudes dentro del texto del documento. Esta conexión ayuda a asociar la figura con su contexto textual pertinente. -
elements: los identificadores de los elementos de texto o párrafos del documento que están relacionados con la figura o la describen. -
caption: la descripción si hay una.
Cuando se especifica output=figures durante la operación de análisis inicial, el servicio genera imágenes recortadas para todas las figuras detectadas a las que se puede acceder mediante /analyeResults/{resultId}/figures/{figureId}. El valorFigureId es el identificador incluido en cada objeto de figura, siguiendo una convención no documentada de {pageNumber}.{figureIndex} donde figureIndex se restablece a una por página.
Para la versión 4.0 2024-11-30 (GA), las regiones de límite de ilustraciones y tablas solo cubren el contenido principal y excluyen el título y las notas al pie asociados.
# 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}'")
Secciones
El análisis jerárquico de la estructura de documentos es fundamental para organizar, comprender y procesar documentos extensos. Este enfoque es esencial para segmentar semánticamente documentos largos para aumentar la comprensión, facilitar la navegación y mejorar la recuperación de información. La llegada de la generación aumentada por recuperación (RAG) en la inteligencia artificial generativa de documentos subraya la importancia del análisis jerárquico de la estructura de documentos.
El modelo de diseño admite secciones y subsecciones en la salida, que identifica la relación de secciones y objetos dentro de cada sección. La estructura jerárquica se mantiene en elements para cada sección. Puede usar la respuesta de salida en formato Markdown para obtener fácilmente las secciones y subsecciones de 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 contenido se aplica a:
v3.1 (GA) | Versión más reciente:
v4.0 (GA) | Versiones anteriores:
v3.0
v2.1
Este contenido se aplica a:
v3.0 (GA) | versiones más recientes:
v4.0 (GA)
v3.1 | versión anterior:
v2.1
Este contenido se aplica a:
v2.1 | Versión más reciente:
v4.0 (GA)
El modelo de diseño de Documento de inteligencia es una API avanzada de análisis de documentos. El modelo se basa en el aprendizaje automático y está disponible en la nube de Documento de inteligencia. Puede usarlo para tomar documentos en varios formatos y devolver representaciones de datos estructuradas de los documentos. Combina una versión mejorada de las eficaces funcionalidades de OCR con modelos de aprendizaje profundo. Puede usarlo para extraer texto, tablas, marcas de selección y estructura de documentos.
Análisis de diseño de documentos
El análisis de diseño de estructura de documentos es el proceso de analizar un documento para extraer regiones de interés y sus interrelaciones. El objetivo es extraer texto y elementos estructurales de la página para crear modelos de mejor comprensión semántica. Hay dos tipos de roles en un diseño de documento:
- Roles geométricos: el texto, las tablas, las figuras y las marcas de selección son ejemplos de roles geométricos.
- Roles lógicos: los títulos, los encabezados y los pies de página son ejemplos de roles lógicos de textos.
En la ilustración siguiente se muestran los componentes típicos de una imagen de una página de ejemplo.
Idiomas y configuraciones regionales compatibles
Para obtener una lista completa de los idiomas admitidos, vea Compatibilidad con idiomas: modelos de análisis de documentos.
Documento de inteligencia v2.1 admite las siguientes herramientas, aplicaciones y bibliotecas.
| Característica | Recursos |
|---|---|
| Modelo de diseño | • Herramienta de etiquetado de Documento de inteligencia • API REST • SDK de la biblioteca cliente • Contenedor Docker de Documento de inteligencia |
Guía de entrada
Formatos de archivos admitidos:
| Modelo | Imagen: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Lectura | ✔ | ✔ | ✔ |
| Diseño | ✔ | ✔ | |
| Documento general | ✔ | ✔ | |
| Precompilado | ✔ | ✔ | |
| Extracción personalizada | ✔ | ✔ | |
| Clasificación personalizada | ✔ | ✔ | ✔ |
- Fotos y exámenes: para obtener mejores resultados, proporcione una foto clara o un examen de alta calidad por documento.
- Archivos PDF y TIFF: para los archivos PDF y TIFF, se pueden procesar hasta 2000 páginas con una suscripción de nivel gratuito. Solo se procesan las dos primeras páginas.
- Tamaño de archivo: el tamaño de archivo para analizar documentos es de 500 MB para el nivel de pago (S0) y de 4 MB para el nivel gratis (F0).
- Dimensiones de imagen: las dimensiones de imagen deben estar entre 50 píxeles x 50 píxeles y 10 000 píxeles x 10 000 píxeles.
- Bloqueos de contraseña: si los archivos PDF están bloqueados con contraseña, debe quitar el bloqueo antes del envío.
- Alto del texto: el alto mínimo del texto que se va a extraer es de 12 píxeles para una imagen de 1024 x 768 píxeles. Esta dimensión corresponde aproximadamente a un texto de 8 puntos a 150 puntos por pulgada.
- Entrenamiento de modelos personalizados: el número máximo de páginas para los datos de entrenamiento es de 500 para el modelo de plantilla personalizado y de 50 000 para el modelo neuronal personalizado.
- Entrenamiento del modelo de extracción personalizada: el tamaño total de los datos de entrenamiento es de 50 MB para el modelo de plantilla y de 1 GB para el modelo neuronal.
- Entrenamiento del modelo de clasificación personalizado: el tamaño total de los datos de entrenamiento es de 1 GB con un máximo de 10 000 páginas. Para 2024-11-30 (GA), el tamaño total de los datos de entrenamiento es de 2 GB con un máximo de 10 000 páginas.
- Tipos de archivo de Office (DOCX, XLSX, PPTX): el límite máximo de longitud de cadena es de 8 millones de caracteres.
Guía de entrada
- Formatos de archivo admitidos: JPEG, PNG, PDF y TIFF.
- Número admitido de páginas: para PDF y TIFF, se procesan hasta 2000 páginas. En el caso de los suscriptores del nivel Gratis, solo se procesan las dos primeras páginas.
- Tamaño de archivo admitido: el tamaño de archivo debe ser inferior a 50 MB y las dimensiones deben ser al menos 50 x 50 píxeles y como máximo de 10 000 x 10 000 píxeles.
Primeros pasos
Puede usar Documento de inteligencia para extraer datos como texto, tablas, encabezados de tabla, marcas de selección e información de estructura de documentos. Necesita los siguientes recursos:
- Una suscripción de Azure. Puede crear una de forma gratuita.
- Una instancia de Document Intelligence en el Azure Portal. Puede usar el plan de tarifa gratuito (F0) para probar el servicio. Después de implementar el recurso, seleccione Ir al recurso para obtener la clave y el punto de conexión.
Después de recuperar la clave y el punto de conexión, puede usar las siguientes opciones de desarrollo para compilar e implementar las aplicaciones de Documento de inteligencia.
Nota:
Document Intelligence Studio está disponible con las API v3.0 y versiones posteriores.
REST API
Herramienta de etiquetado de ejemplo de Inteligencia de documentos
Vaya a la herramienta de etiquetado de ejemplo de Documento de inteligencia.
En la página principal de la herramienta de ejemplo, seleccione Use layout to get text, tables and selection marks (Usar el diseño para obtener texto, tablas y marcas de selección).
En el campo Punto de conexión de Inteligencia de documentos, pegue el punto de conexión que obtuvo con la suscripción de Inteligencia de documentos.
En el campo clave, pegue la clave que ha obtenido del recurso de Documento de inteligencia.
En el campo Origen, seleccione URL en el menú desplegable. Puede usar el documento de ejemplo:
Seleccione Capturar.
Seleccione Run Layout (Ejecutar la API Layout). La herramienta Etiquetado de ejemplo de Documento de inteligencia llama a Analyze Layout API para analizar el documento.
Vea los resultados. Vea el texto extraído resaltado, las marcas de selección detectadas y las tablas detectadas.
Documento de inteligencia v2.1 admite las siguientes herramientas, aplicaciones y bibliotecas.
| Característica | Recursos |
|---|---|
| API de diseño | • Herramienta de etiquetado de Documento de inteligencia • API REST • SDK de la biblioteca cliente • Contenedor Docker de Documento de inteligencia |
Extraer datos
El modelo de diseño extrae elementos estructurales de los documentos. Los elementos estructurales se describen aquí y en las instrucciones siguientes se muestra cómo extraerlos de la entrada del documento.
Extraer datos
El modelo de diseño extrae elementos estructurales de los documentos. Los elementos estructurales se describen aquí y en las instrucciones siguientes se muestra cómo extraerlos de la entrada del documento.
Página
La colección pages es una lista de páginas dentro del documento. Cada página se representa secuencialmente dentro del documento e incluye el ángulo de orientación que indica si la página se gira y el ancho y alto (dimensiones en píxeles). Las unidades de página de la salida del modelo se calculan como se muestra en la tabla siguiente.
| Formato de archivo | Unidad de página calculada | Páginas totales |
|---|---|---|
| Imágenes (JPEG/JPG, PNG, BMP y HEIF) | Cada imagen = 1 unidad de página. | Total de imágenes |
| Cada página del PDF = 1 unidad de página. | Total de páginas en el PDF | |
| TIFF | Cada imagen del archivo TIFF = 1 unidad de página. | Total de imágenes en el TIFF |
| Documento de Word (DOCX) | Hasta 3000 caracteres = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de páginas de hasta 3000 caracteres cada una |
| Excel (XLSX) | Cada hoja de cálculo = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de hojas de cálculo |
| PowerPoint (PPTX) | Cada diapositiva = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de diapositivas |
| HTML | Hasta 3000 caracteres = 1 unidad de página. No se admiten imágenes incrustadas o vinculadas. | Total de páginas de hasta 3000 caracteres cada una |
"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}"
)
Extracción de páginas seleccionadas de documentos
Para documentos grandes de varias páginas, use el parámetro de consulta pages para indicar números de página específicos o intervalos de página para la extracción de texto.
Párrafo
El modelo de diseño extrae todos los bloques de texto identificados de la colección paragraphs como un objeto de nivel superior en analyzeResults. Cada entrada de esta colección representa un bloque de texto e incluye el texto extraído como content y las coordenadas polygon delimitadoras. La información de span apunta al fragmento de texto dentro de la propiedad content de nivel superior que contiene el texto completo del 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"
}
]
Rol de párrafo
La nueva detección de objetos de página basada en el aprendizaje automático extrae roles lógicos como títulos, títulos de sección, encabezados de página, pies de página, etc. El modelo de diseño de Documento de inteligencia asigna determinados bloques de texto de la colección paragraphs con su rol o tipo especializado previsto por el modelo. Es mejor usar roles de párrafo con documentos no estructurados para ayudar a comprender el diseño del contenido extraído para un análisis semántico más completo. Se admiten los siguientes roles de párrafo.
| Rol previsto | Description | Tipos de archivo admitidos |
|---|---|---|
title |
Encabezados principales de la página | PDF, Image, DOCX, PPTX, XLSX, HTML |
sectionHeading |
Uno o varios subtítulos de la página | PDF, Image, DOCX, XLSX, HTML |
footnote |
Texto cerca del final de la página | PDF, imagen |
pageHeader |
Texto cerca del borde superior de la página | PDF, Image, DOCX |
pageFooter |
Texto cerca del borde inferior de la página | PDF, Image, DOCX, PPTX, HTML |
pageNumber |
Número de página | PDF, imagen |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
Texto, línea y palabra
El modelo de diseño de documento de Documento de inteligencia extrae texto de estilo manuscrito e impreso como líneas y palabras. La colección styles incluye cualquier estilo manuscrito para las líneas si se detecta junto con los intervalos que apuntan al texto asociado. Esta característica se aplica a los idiomas manuscritos admitidos.
Para Word, Excel, PowerPoint y HTML, el modelo de diseño de Documento de inteligencia v4.0 2024-11-30 (GA) extrae todo el texto insertado tal como está. Los textos se extraen en forma de palabras y párrafos. No se admiten las imágenes insertadas.
"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
La respuesta incluye la clasificación de si cada línea de texto es de estilo manuscrito o no, junto con una puntuación de confianza. Para más información, vea Compatibilidad con idiomas manuscritos. En el ejemplo siguiente se muestra un ejemplo de fragmento JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Si habilita la funcionalidad de complemento de estilo/fuente, también obtendrá el resultado de fuente/estilo como parte del objeto styles.
Marca de selección
El modelo de diseño también extrae marcas de selección de documentos. Las marcas de selección extraídas aparecen dentro de la colección pages para cada página. Incluyen polygon delimitador, confidence y state de la selección (selected/unselected). La representación de texto (es decir, :selected: y :unselected) también se incluye como índice inicial (offset) y length que hace referencia a la propiedad content de nivel superior que contiene el texto completo del 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}"
)
Tabla
La extracción de tablas es un requisito clave para procesar documentos que contienen grandes volúmenes de datos con formato normalmente de tabla. El modelo de diseño extrae tablas en la sección pageResults de la salida JSON. La información de las tablas extraídas incluyen el número de columnas y filas, el intervalo de filas y el intervalo de columnas. Cada celda con su polígono delimitador se genera junto con información sobre si el área se reconoce como columnHeader o no.
El modelo admite la extracción de tablas que se rotan. Cada celda de la tabla contiene las coordenadas de índice de fila y columna y polígono delimitador. Para el texto de la celda, el modelo genera la información span que contiene el índice inicial (offset). El modelo también produce el length en el contenido de nivel superior que contiene el texto completo del documento.
Estos son algunos factores que se deben tener en cuenta al usar la funcionalidad de extracción de tablas de Documento de inteligencia:
- ¿Se presentan los datos que desea extraer en forma de tabla y tiene sentido la estructura de la tabla?
- ¿Los datos caben en una cuadrícula bidimensional si no están en formato de tabla?
- ¿Las tablas se extienden por varias páginas? Si es así, para evitar tener que etiquetar todas las páginas, divida el PDF en páginas antes de enviarlo a Documento de inteligencia. Después del análisis, vuelva a procesar las páginas en una sola tabla.
- Vea Campos tabulares si crea modelos personalizados. Las tablas dinámicas tienen un número variable de filas para cada columna. Las tablas fijas tienen un número constante de filas para cada columna.
Nota:
No se admite el análisis de tablas si el archivo de entrada es XLSX. Documento de inteligencia v4.0 2024-11-30 (GA) admite regiones de límite para ilustraciones y tablas que cubren solo el contenido principal y excluye los títulos y notas al pie asociados.
{
"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)}'"
)
Anotaciones
El modelo de diseño extrae anotaciones en documentos, como comprobaciones y cruces. La respuesta incluye el tipo de anotación, junto con una puntuación de confianza y un polígono delimitador.
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
Salida de orden de lectura natural (solo idiomas procedentes del latín)
Puede especificar el orden en que se generan las líneas de texto con el parámetro de consulta readingOrder. Use natural para obtener una salida de orden de lectura más fácil de usar, como se muestra en el ejemplo siguiente. Esta característica solo es compatible con los idiomas derivados del latín.
Seleccionar el número de página o el intervalo para la extracción de texto
Para documentos grandes de varias páginas, use el parámetro de consulta pages para indicar números de página específicos o intervalos de página para la extracción de texto. En el ejemplo siguiente se muestra un documento con 10 páginas, con texto extraído para ambos casos, todas las páginas (1-10) y páginas seleccionadas (3-6).
La operación Get Analyze Layout Result
El segundo paso consiste en llamar a la operación Get Analyze Layout Result. Esta operación toma como entrada el identificador de resultado que ha creado la operación Analyze Layout. Devuelve una respuesta JSON que contiene un campo de estado con los siguientes valores posibles.
| Campo | Tipo | Valores posibles |
|---|---|---|
| status | string |
notStarted: no se ha iniciado la operación de análisis.running: la operación de análisis está en curso.failed: error en la operación de análisis.succeeded: la operación de análisis se ha realizado correctamente. |
Llame esta operación de forma iterativa hasta que se devuelva con el valor succeeded. Para evitar superar la tasa de solicitudes por segundo, use un intervalo de tres a cinco segundos.
Cuando el campo de estado tiene el valor succeeded, la respuesta de JSON incluye el diseño, el texto, las tablas y las marcas de selección extraídos. Los datos extraídos incluyen las líneas de texto y palabras extraídas, los rectángulos delimitadores, la aparición de texto con una indicación de texto manuscrito, las tablas y las marcas de selección indicando si se ha seleccionado o no.
Clasificación manuscrita de líneas de texto (solo para idiomas derivados del latín)
La respuesta incluye la clasificación de si cada línea de texto es de estilo manuscrito o no, junto con una puntuación de confianza. Esta característica solo es compatible con los idiomas derivados del latín. En el ejemplo siguiente se muestra la clasificación manuscrita del texto de la imagen.
Salida de JSON de ejemplo
La respuesta a la operación Get Analyze Layout Result es una representación estructurada del documento con toda la información extraída.
Vea un archivo de documento de ejemplo y su salida estructurada de diseño de ejemplo.
La salida JSON tiene dos partes:
- El nodo
readResultscontiene todo el texto reconocido y la marca de selección. La jerarquía de presentación de texto es página, línea y luego palabras individuales. - El nodo
pageResultscontiene las tablas y celdas extraídas con sus cuadros de límite, la confianza y una referencia a las líneas y palabras del camporeadResults.
Salida de ejemplo
Texto
La API de diseño extrae texto de documentos e imágenes con varios ángulos de texto y colores. Acepta fotos de documentos, faxes, texto impreso o manuscrito (solo en inglés) y modos mixtos. El texto se extrae con información sobre las líneas, palabras, rectángulos delimitadores, puntuaciones de confianza y estilo (manuscrito u otro). Toda la información del texto se incluye en la sección readResults de la salida JSON.
Tablas con encabezados
La API de diseño extrae las tablas en la sección pageResults de la salida JSON. Puede escanear, fotografiar o digitalizar documentos. Las tablas pueden ser complejas con celdas o columnas combinadas, con o sin bordes, y con ángulos impares.
La información de las tablas extraídas incluyen el número de columnas y filas, el intervalo de filas y el intervalo de columnas. Se representa cada celda con su rectángulo de selección y se indica si el área se reconoce como parte de un encabezado o no. Las celdas de encabezado predichas por el modelo pueden abarcar varias filas y no son necesariamente las primeras filas de una tabla. También funcionan con tablas giradas. Cada celda de la tabla también incluye el texto completo con referencias a las palabras individuales de la sección readResults.
Marcas de selección (documentos)
La API de diseño también extrae marcas de selección de documentos. Entre las marcas de selección extraídas se incluyen el rectángulo delimitador, la confianza y el estado (seleccionado o no seleccionado). La información de la marca de selección se extrae en la sección readResults de la salida JSON.
Guía de migración
- Para obtener información sobre cómo usar la versión v3.1 en las aplicaciones y los flujos de trabajo, siga los pasos descritos en la Guía de migración de Documento de inteligencia v3.1.
Contenido relacionado
- Aprenda a procesar formularios y documentos propios con Document Intelligence Studio.
- Finalice un inicio rápido de Documento de inteligencia y cree una aplicación de procesamiento de documentos en el lenguaje de desarrollo que prefiera.
- Obtenga información sobre cómo procesar formularios y documentos propios con la herramienta de etiquetado de ejemplo de Documento de inteligencia.
- Finalice un inicio rápido de Documento de inteligencia y cree una aplicación de procesamiento de documentos en el lenguaje de desarrollo que prefiera.