activities
latest
false
UiPath logo, featuring letters U and I in white
Actividades de Document Understanding
Last updated 26 de nov. de 2024

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 .

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

Steps:

  1. Abre Studio y crea un nuevo Proceso.
  2. 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
  3. 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
  4. 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".
  5. Selecciona la casilla de verificación de la opción EncimaDelTodo. Esto trae el cuadro de mensaje al primer plano.
  6. 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 .
  7. 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.
  8. 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.
  9. Añade una actividad Digitalizar documento después de la actividad Deserializar JSON.
    • En panel Propiedades añade el valor 1en 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 .
  10. 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.
  11. 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.
  12. 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
  13. 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 .
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
Consulta el siguiente enlace para descargar el ejemplo en un formato ZIP: Ejemplo.

Definiendo su taxonomía

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:

Tabla 4. Campos de tipo de documento de factura
 

Tipo de campo

FacturaNo

Text

Subtotal

Number

Impuestos sobre las ventas

Number

Total

Number

Figura 1. Descripción general de la taxonomía terminada con los campos mencionados anteriormente

Crear tu plantilla

Ahora es el momento de crear la plantilla para el proceso de extracción. Consulta Cargar taxonomía para aprender a crear una plantilla.

Para este ejemplo, configura la plantilla utilizando los siguientes valores:
  • 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.
Figura 2. Ejemplo de imagen animada que muestra la configuración de 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.

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.

  1. 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.

  2. Establece el anclaje principal:
    1. Mientras aún estás en el modo de selección Anclaje, selecciona el área deseada como tu anclaje principal.
    2. Selecciona Extraer valor para el campo deseado.
      Figura 4. Ejemplo de imagen animada que muestra cómo establecer el anclaje principal

  3. Establece los anclajes secundarios:
    1. Asegúrate de estar aún en el modo de selección Anclaje y con las selecciones de anclaje principales activadas.
    2. Selecciona las nuevas áreas para los anclajes secundarios.
    3. 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.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.