- Información general
- Contratos de procesamiento de documentos
- Notas relacionadas
- Acerca de los contratos de procesamiento de documento
- Clase Cuadro
- Interfaz IPersistedActivity
- Clase PrettyBoxConverter
- Interfaz IClassifierActivity
- Interfaz IClasificadorProveedorDeCapacidades
- Clase ClassifierDocumentType
- Clase ClassifierResult
- ClassifierCodeActivity Class
- ClassifierNativeActivity Class
- ClassifierAsyncCodeActivity Class
- Clase ClasificadorCapacidadDeTipoDeDocumento
- Clase
- Clase
- Clase ExtractorDocumentType
- Clase ExtractorDocumentTypeCapabilities
- Clase ExtractorFieldCapability
- Clase
- Clase ExtractorResult
- Interfaz ICapabilitiesProvider
- Interfaz IExtractorActivity
- Clase ExtractorPayload
- Enumeración DocumentActionPriority
- Clase DocumentActionData
- Enumeración DocumentActionStatus
- DocumentActionType Enum
- Clase DocumentClassificationActionData
- Clase DocumentValidationActionData
- Clase UserData
- Clase Documento
- Clase DocumentoDividirResultado
- Clase DomExtensions
- Clase Página
- Clase SecciónDePágina
- Clase de polígono
- Clase PolygonConverter
- Clase de metadatos
- Clase GrupoDeWord
- Clase Word
- Enum FuenteDeProcesamiento
- Clase ResultadosTablaCelda
- Clase ResultadosTablaValor
- Clase ResultadosTablaColumnaInfo
- Clase TablaDeResultados
- Enum Rotación
- Enum TipoDeSección
- Enum TipoDeGrupoDeWord
- Interfaz IDocumentTextProjection
- Clase ResultadoDeClasificación
- Clase ResultadoDeExtracción
- Clase ResultadosDeDocumento
- Clase ResultadosDeLímitesDeDocumento
- Clase ResultadosDePuntoDeDatos
- Clase ResultadosDeValor
- Clase ResultadosDeContenidoDeReferencia
- Clase ResultadosDeValorDeTokens
- Clase ResultadosDeCampoDerivado
- Enum ResultadosDeFuenteDeDatos
- Clase ResultadoDeConstantes
- Clase ValorDeCampoSimple
- Clase ValorDeCampoDeTabla
- Clase GrupoDeDocumento
- Clase TaxonomíaDeDocumento
- Clase TipoDeDocumento
- Clase Campo
- Enum TipoDeCampo
- Clase InformaciónDeLenguaje
- Clase MetadataEntry
- Enumeración de tipo de texto
- Clase TipoDeCampo
- Interfaz de actividad de ITracking
- Interfaz de ITrainableActivity
- Interfaz ITrainableClassifierActivity
- Interfaz ITrainableExtractorActivity
- Clase TrainableClassifierAsyncCodeActivity
- Clase TrainableClassifierCodeActivity
- Clase TrainableClassifierNativeActivity
- Clase TrainableExtractorAsyncCodeActivity
- Clase TrainableExtractorCodeActivity
- Clase TrainableExtractorNativeActivity
- Digitalizador de Document Understanding
- Document Understanding ML
- Servidor local de OCR de Document Understanding
- Document Understanding
- Notas relacionadas
- Acerca del paquete de actividades Document Understanding
- Compatibilidad de proyectos
- Establecer contraseña de PDF
- Fusionar PDF
- Obtener el recuento de páginas del PDF
- Extraer texto en PDF
- Extraer imágenes en PDF
- Extraer rango de página en PDF
- Extraer datos del documento
- Cree una tarea de validación y espere
- Esperar la tarea de validación y continuar
- Crear tarea de validación
- Clasificar documento
- Crear tarea de validación de clasificación
- Crear tarea de validación de clasificación y esperar
- Esperar la tarea de validación de clasificación y reanudar
- OCRInteligente
- Notas relacionadas
- Acerca del paquete de actividades IntelligentOCR
- Compatibilidad de proyectos
- Configurar autenticación
- Cargar taxonomía
- Digitalizar documento
- Clasificar ámbito de documento
- Clasificador basado en palabras clave
- Clasificador de proyectos de Document Understanding
- Clasificador inteligente de palabra clave
- Crear acción de clasificación de documentos
- Esperar la acción de clasificación de documentos y reanudar
- Entrenar el alcance de los clasificadores
- Entrenador del clasificador basado en palabras clave
- Entrenador del clasificador inteligente de palabra clave
- Alcance de la extracción de información
- Extractor de proyectos de Document Understanding
- Extractor basado en regex
- Extractor de forma
- Extractor inteligente de formularios
- Mostrar Estación de Validación
- Crear acción de validación de documentos
- Esperar la acción de validación de documentos y reanudar
- Entrenar el alcance de los Extractores
- Exportar resultados de extracción
- Validación manual para digitalizar documentos
- Extracción de datos basada en anclajes utilizando el extractor inteligente de formularios
- Estación de validación
- Servicios ML
- OCR
- Contratos OCR
- Notas relacionadas
- Acerca de los contratos OCR
- Compatibilidad de proyectos
- IOCRActivity Interface
- OCRAsyncCodeActivity Class
- OCRCodeActivity Class
- OCRNativeActivity Class
- Clase Carácter
- Clase OCRResult
- Clase Word
- FontStyles Enum
- OCRRotation Enum
- Clase OCRCapabilities
- OCRScrapeBase Class
- OCRScrapeFactory Class
- ScrapeControlBase Class
- Enum ScrapeEngineUsages
- ExtraerBaseDelEctor
- Clase ScrapeEngineFactory
- Clase ExtraerEngineProvider
- OmniPage
- PDF
- [No en la lista] Abbyy
- [No en la lista] Abbyy incrustado
Actividades de Document Understanding
Extracción de datos basada en anclajes utilizando el extractor inteligente de formularios
El siguiente ejemplo explica cómo extraer datos de un formulario que también puede incluir texto escrito a mano. El siguiente escenario de caso de uso explica cómo extraer datos de una orden de compra.
Presenta actividades como Digitalizar documento, Ámbito de extracción de datoso Extractor inteligente de formularios. Puedes encontrar estas actividades en el paquete UiPath.IntelligentOCR.Activities .
Los siguientes paquetes deben instalarse antes de crear el siguiente flujo de trabajo:
- UiPath.DocumentProcessing.Contracts.Activities
- UiPath.IntelligentOCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.WebApi.Activities
Steps:
- Abre Studio y crea un nuevo Proceso.
- Añade un contenedor Secuencia en el Diseñador de flujo de trabajo, nómbralo Secuencia1 y crea las variables mostradas en la siguiente tabla:
Tabla 1. Variables que se crearán Tipo de variable
Valor predeterminado
item
Cadena
N/D classificationResult
ClassificationResult[]
N/D outputFileName
ValorGenérico
N/D - Añade otro contenedor Secuencia en el Diseñador de flujo de trabajo, después del primero, nómbralo Secuencia2 y crea las variables mostradas en la siguiente tabla:
Tabla 2. Variables que se crearán Tipo de variable
Valor predeterminado
text
Cadena
N/D taxonomy
DocumentTaxonomy
N/D dom
Documento
N/D documentPath
Cadena
N/D classificationResult2
ClassificationResult[]
N/D outputFileName2
ValorGenérico
N/D - Añade una actividad de Cuadro de mensajes dentro de la secuencia.
- En el panel de Propiedades , selecciona la opción Aceptar en el menú desplegable Botones . Añade el siguiente mensaje en el campo Texto : "Seleccionar archivo PDF".
- Selecciona la casilla de verificación de la opción EncimaDelTodo. Esto trae el cuadro de mensaje al primer plano.
- Añade una actividad Seleccionar archivo después de la actividad Cuadro de mensaje.
- En el panel Propiedades, añade el siguiente texto en el campo Filtro:
Pdf files (*.pdf)|*.pdf
- Añade la variable
documentPath
en el campo ArchivoSeleccionado .
- En el panel Propiedades, añade el siguiente texto en el campo Filtro:
- Añade una actividad Asignar después de la actividad Seleccionar archivo.
- Añade la variable
outputFileName2
en el campo Para . - Agrega la expresión
".temp/" + Path.GetFileName(documentPath)
en el campo Valor.
- Añade la variable
- Añade una actividad Deserializar JSON después de la actividad Asignar.
- Añade la expresión
File.ReadAllText("DocumentProcessing axonomy.json")
en el campo Cadena JSON. - En el panel Propiedades , selecciona la opción UiPath.DocumentProcessing.Contracts.Taxonomía.DocumentoTaxonomía en la lista desplegable TypeArgument .
- Añade la variable
taxonomy
en el campo ObjetoJson.
- Añade la expresión
- Añade una actividad Digitalizar documento después de la actividad Deserializar JSON.
- En panel Propiedades añade el valor
1
en el campo GradoDeParalelismo. - Añade la variable
documentPath
en el campo RutaDelDocumento . - Añade la variable
dom
en el campo ModeloDeObjetoDelDocumento. - Añade la variable
text
en el campo TextoDeDocumento. - Añade el motor UiPath® Document OCR dentro de la actividad.
- Agrega tu clave de API dentro del campo ClaveDeAPI .
- Añade la expresión
"https://du.uipath.com/ocr"
en el campo Punto final .
- En panel Propiedades añade el valor
- Añade una actividad Escribir archivo de texto después de la actividad Digitalizar documento.
- Añade la expresión
JsonConvert.SerializeObject(dom)
en el campo Texto. - Añade la expresión
outputFileName2 + ".dom.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Añade otra actividad Escribir archivo de texto después de la actividad Escribir archivo de texto.
- Añade la variable
text
en el campo Texto. - Añade la expresión
outputFileName2 + ".text.txt"
en el campo NombreDeArchivo.
- Añade la variable
- Arrastra otro contenedor Secuencia en el Diseñador de flujo de trabajo, nómbralo Secuencia3 y crea las variables mostradas en la siguiente tabla:
Tabla 3. Variables que se crearán Tipo de variable
Valor predeterminado
extractionResult
ResultadoDeExtracción
N/D validatedResults
ResultadoDeExtracción
N/D doubleValidatedResults
ResultadoDeExtracción
N/D dataset
ConjuntoDeDatos
N/D i
Int32
N/D - Añade una actividad Ámbito de extracción dentro de Sequence3.
- En el panel Propiedades , añade la variable
dom
en el campo ModeloDeObjetoDeDocumento . - Añade la variable
documentPath
en el campo RutaDelDocumento . - Añade la variable
text
en el campo TextoDeDocumento. - Añade la expresión
"All.Benchmarks.Invoice"
en el campo DocumentTypeId . - Añade la variable
taxonomy
en el campo Taxonomía. - Añade la variable
extractionResult
en el campo ResultadosDeExtracción .
- En el panel Propiedades , añade la variable
- Añade una actividad Extractor inteligente de formularios dentro de la actividad Ámbito de extracción de datos .
- Añade tu clave API en el campo ClaveApi.
- Añade una actividad Escribir archivo de texto después de la actividad Ámbito de extracción de datos.
- Añade la expresión
JsonConvert.SerializeObject(extractionResult)
en el campo Texto. - Añade la expresión
outputFileName2 + ".results.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Añade una actividad Estación de validación presente después de la actividad Escribir archivo de texto.
- Añade la variable
extractionResult
en el campo ResultadosDeExtracciónAutomática. - Añade la variable
dom
en el campo ModeloDeObjetoDelDocumento. - Añade la variable
documentPath
en el campo RutaDelDocumento . - Añade la variable
text
en el campo TextoDeDocumento. - Añade la variable
taxonomy
en el campo Taxonomía. - Añade la variable
validatedResults
en el campo ResultadosDeExtracciónValidados.
- Añade la variable
- Añade una actividad Escribir archivo de texto después de la actividad Estación de validación presente.
- Añade la expresión
JsonConvert.SerializeObject(validatedResults)
en el campo Texto. - Añade la expresión
outputFileName2 + ".savedinVS.results.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Añade otra actividad Escribir archivo de texto después de la actividad Escribir archivo de texto.
- Añade la expresión
JsonConvert.SerializeObject(doubleValidatedResults)
en el campo Texto. - Añade la expresión
outputFileName2 + ".doubleSavedinVS.results.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Ejecuta el proceso. El proceso de automatización debe abrir la Estación de validación, extraer los datos, validarlos y almacenarlos en la carpeta de Salida.
ZIP
: Ejemplo.
Has creado tu flujo de trabajo, definido todas las variables y personalizado todas las actividades. Ahora es el momento de definir tu taxonomía. Consulta Cargar taxonomía para aprender sobre la definición de tu propia taxonomía.
Crea tu taxonomía para poder extraer información de una factura. Debes centrarte en crear un tipo de documento Factura, con los campos mostrados en la siguiente tabla:
Tipo de campo | |
---|---|
FacturaNo |
|
Subtotal |
|
Impuestos sobre las ventas |
|
Total |
|
Ahora es el momento de crear la plantilla para el proceso de extracción. Consulta Cargar taxonomía para aprender a crear una plantilla.
- Tipo de documento: factura.
- Nombre de la plantilla: ejemplo-factura.
- Documento de plantilla: selecciona el archivo de destino.
- Motor OCR: Microsoft OCR.
- Idiomas: en.
- Perfil: escanear.
- Escala: 1.
Los anclajes son una característica muy especial y útil que se puede utilizar cuando se necesita extraer información precisa de un documento. Al definir un área de extracción con un anclaje, puede esperar una alta precisión en la extracción de datos.
Una vez definida la taxonomía y creada la plantilla, puedes empezar a configurar la plantilla mediante el uso de anclajes, lo que significa que el área de extracción se define en un cuadro y los anclajes se utilizan para definir la posición del cuadro.
Consulta la siguiente lista para algunos punteros antes de empezar a añadir anclajes a tu plantilla:
- El cuadro de anclaje debe ser lo más grande posible (alto, ancho) para cubrir cualquier tipo de número de factura, fuente larga, corta, grande, etc.
- Un área de extracción puede tener tantos anclajes como sea necesario, pero solo uno definido como principal (el primero).
- Utilice anclajes formados por varias palabras en paralelo.
- El anclaje principal debe estar lo más cerca posible del área de extracción.
- Las posiciones del área de extracción y el anclaje principal se fijan en la plantilla, incluso cuando se aplican a diferentes documentos. Lo único que puede variar es la distancia entre el anclaje principal y los secundarios.
Continuemos configurando la plantilla y veamos cómo puedes extraer datos utilizando un anclaje.
- Establecer el área de extracción:
- En el área derecha de la estación de validación, selecciona Modos de selección.
- Selecciona Anclaje.
- Comienza a seleccionar el área deseada.
Figura 3. Imagen animada que muestra cómo establecer el área de extracción
Nota:El anclaje principal debe contener dos o tres palabras para una alta precisión y mejores resultados en el proceso de extracción.
Selecciona varias palabras al etiquetar un anclaje pulsando CTRL y seleccionando las palabras deseadas.
- Establece el anclaje principal:
- Mientras aún estás en el modo de selección Anclaje, selecciona el área deseada como tu anclaje principal.
- Selecciona Extraer valor para el campo deseado.
Figura 4. Ejemplo de imagen animada que muestra cómo establecer el anclaje principal
- Establece los anclajes secundarios:
- Asegúrate de estar aún en el modo de selección Anclaje y con las selecciones de anclaje principales activadas.
- Selecciona las nuevas áreas para los anclajes secundarios.
- Selecciona Opciones para el campo deseado y luego selecciona Cambiar valor extraído.
Figura 5. Ejemplo de imagen animada que muestra cómo establecer anclajes secundarios
Repite el proceso hasta que hayas terminado de definir todas las áreas de extracción y añadir todos los anclajes. Una vez terminado, guarde la plantilla.