- 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
- Proceso Document Understanding - Plantilla Studio
- Document Understanding
- Notas relacionadas
- About the Document Understanding activity package
- Compatibilidad de proyectos
- Datos del documento
- 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
- About the IntelligentOCR activity package
- Compatibilidad de proyectos
- Cargar taxonomía
- Digitalizar documento
- Clasificar ámbito de documento
- Clasificador basado en palabras clave
- Clasificador inteligente de palabra clave
- Mostrar Estación de Clasificación
- 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 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 anclaje usando extractor de formulario inteligente
- 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
Extracción de datos basada en anclaje usando extractor de formulario inteligente
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 .
Crear el flujo de trabajo
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
Así es como se puede construir el proceso de automatización: </summy>
Así es como se puede construir el proceso de automatización:
- Abre Studio y crea un nuevo Proceso.
-
Arrastra un contenedor de Secuencia en el Diseñador de flujode trabajo, asígnele el nombre Secuencia1y cree las siguientes variables:
Nombre de la variable
Tipo de variable
Valor predeterminado
item
Cadena
classificationResult
ClassificationResult[]
outputFileName
ValorGenérico
-
Arrastra otro contenedor Secuencia en el Diseñador de flujode trabajo, debajo del primero, asígnele el nombre Secuencia2y cree las siguientes variables:
Nombre de la variable
Tipo de variable
Valor predeterminado
text
Cadena
taxonomy
DocumentTaxonomy
dom
Documento
documentPath
Cadena
classificationResult2
ClassificationResult[]
outputFileName2
ValorGenérico
-
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 debajo de la actividad Cuadro de mensaje.
- En el panel Propiedades , añada 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ñada el siguiente texto en el campo Filtro:
-
Añade una actividad Asignar debajo 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 debajo 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 debajo 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. - Add the UiPath® Document OCR engine inside the activity.
- 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 debajo 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 debajo 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 hasta el Diseñador de flujo de trabajo, asígnale el nombre Secuencia3 y crea las siguientes variables:
Nombre de la variable
Tipo de variable
Valor predeterminado
extractionResult
ResultadoDeExtracción
validatedResults
ResultadoDeExtracción
doubleValidatedResults
ResultadoDeExtracción
dataset
ConjuntoDeDatos
i
Int32
-
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.
-
Agrega una actividad Escribir archivo de texto debajo 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
-
Agrega una actividad Mostrar estación de validación debajo 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 debajo de la actividad Mostrar estación de validación .
- 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 debajo 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.
Descarga el ejemplo desde aquí.
Definiendo su taxonomía
Ha creado su flujo de trabajo, definido todas las variables y personalizado todas las actividades. Ahora es el momento de definir su taxonomía. Para ello, sigue los pasos descritos aquí.
Cree su taxonomía para poder extraer información de una factura. Debe centrarse en crear un tipo de documento de factura , con los siguientes campos:
Nombre del campo |
Tipo de campo |
---|---|
FacturaNo |
|
Subtotal |
|
Impuestos sobre las ventas |
|
Total |
|
Así es como debe verse su taxonomía:
Crear tu plantilla
Ahora es el momento de crear la plantilla para el proceso de extracción. Créelo siguiendo las instrucciones aquí.
El siguiente gif explica cómo crear la plantilla:
Establecer anclajes en la plantilla
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.
Los siguientes GIF explican cómo usar los anclajes en el documento de factura utilizado en el ejemplo anterior. Puedes encontrar más información sobre los anclajes aquí.
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.
Aquí tiene algunas sugerencias antes de empezar a añadir anclajes a su 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 puede extraer datos usando un anclaje. Los siguientes GIF explican cómo marcar el área de extracción y agregar los anclajes principales y secundarios.
-
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.
Seleccione varias palabras al etiquetar un anclaje presionando CTRL y haciendo clic en las palabras deseadas.
-
Establecer el anclaje principal
-
Establecer los 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.