activities
latest
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática.
Actividades de Document Understanding
Last updated 30 de ago. 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. Add a Sequence container in the Workflow Designer, name it Sequence1, and create the variables shown in the following table:
    Table 1. Variables to be created

    Nombre de la variable

    Tipo de variable

    Valor predeterminado

    item

    Cadena

    N/D

    classificationResult

    ClassificationResult[]

    N/D

    outputFileName

    ValorGenérico

    N/D
  3. Add another Sequence container in the Workflow Designer, after the first one, name it Sequence2, and create the variables shown in the following table:
    Table 2. Variables to be created

    Nombre de la variable

    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. Add a Select File activity after the Message Box activity.
    • In the Properties panel, add the following text in the Filter field: Pdf files (*.pdf)|*.pdf
    • Añade la variable documentPath en el campo ArchivoSeleccionado .
  7. Add an Assign activity after the Select File activity.
    • Añade la variable outputFileName2 en el campo Para .
    • Agrega la expresión ".temp/" + Path.GetFileName(documentPath) en el campo Valor.
  8. Add a Deserialize JSON activity after the Assign activity.
    • 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. Add a Digitize Document activity after the Deserialize JSON activity.
    • 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. Add a Write Text File activity after the Digitize Document activity.
    • 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. Add another Write Text File activity after the Write Text File activity.
    • Añade la variable text en el campo Texto.
    • Añade la expresión outputFileName2 + ".text.txt" en el campo NombreDeArchivo.
  12. Drag another Sequence container in the Workflow Designer, name it Sequence3, and create the variables shown in the following table:
    Table 3. Variables to be created

    Nombre de la variable

    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. Add a Write Text File activity after the Data Extraction Scope activity.
    • 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. Add a Present Validation Station activity after the Write Text File activity.
    • 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. Add a Write Text File activity after the Present Validation Station activity.
    • 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. Add another Write Text File activity after the Write Text File activity.
    • 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.
Visit the following link to download the example in a ZIP format: Example.

Definiendo su taxonomía

You have created your workflow, defined all variables, and customized all activities. Now it's time to define your taxonomy. Visit Load Taxonomy to learn about defining your own taxonomy.

Create your taxonomy to be able to extract information from an invoice. You should be focused on creating an Invoice document type, with the fields shown in the following table:

Table 4. Invoice document type fields

Nombre del campo

Tipo de campo

FacturaNo

Text

Subtotal

Number

Impuestos sobre las ventas

Number

Total

Number

Figure 1. Overview of the finished taxonomy with the previously mentioned fields

Overview of the finished taxonomy with the previously mentioned fields

Crear tu plantilla

It is now time to create the template for the extraction process. Visit Load Taxonomy to learn how to create a template.

For this example, configure the template using the following values:
  • Document Type: Invoice.
  • Template Name: Invoice-example.
  • Template Document: Select the target file.
  • OCR Engine: Microsoft OCR.
  • Languages: en.
  • Profile: Scan.
  • Scale: 1.
Figure 2. Animated image example showing the configuration of the template

Animated image example showing the configuration of the template

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.

Check the following list for some pointers before starting adding anchors to your template:

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

Let's continue configuring the template and see how you can extract data using an anchor.

  1. Set the extraction area:
    • In the right area of the Validation Station, select Selection modes.
    • Select Anchor.
    • Start selecting the desired area.
      Figure 3. Animated image showing how to set the extraction area

      Animated image showing how to set the extraction area
      Nota:

      El anclaje principal debe contener dos o tres palabras para una alta precisión y mejores resultados en el proceso de extracción.

      Select multiple words when tagging an anchor by pressing CTRL and selecting the desired words.

  2. Set the main anchor:
    1. While still in the Anchor selection mode, select the desired area as your main anchor.
    2. Select Extract value for the desired field.
      Figure 4. Animated image example showing how to set the main anchor

      Animated image example showing how to set the main anchor
  3. Set the secondary anchors:
    1. Ensure you're still in the Anchor selection mode, and with the main anchor selections activated.
    2. Select the new areas for the secondary anchors.
    3. Select Options for the desired field, and then select Change extracted value.
      Figure 5. Animated image example showing how to set secondary anchors

      Animated image example showing how to set secondary anchors

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.