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

Extração de dados baseada em âncora usando a atividade Intelligent Form Extractor

O exemplo abaixo explica como extrair dados de um formulário que também pode incluir texto manuscrito. O seguinte cenário de caso de uso explica como extrair dados de uma ordem de compra.

Ele apresenta atividades como Digitize Document, Data Extraction Scopeou Intelligent Form Extractor. Essas atividades podem ser encontradas no pacote UiPath.IntelligentOCR.Activities .

Como criar o fluxo de trabalho

Os seguintes pacotes precisam ser instalados antes de criar o fluxo de trabalho abaixo:

  • UiPath.DocumentProcessing.Contracts.Activities
  • UiPath.IntelligentOCR.Activities
  • UiPath.OCR.Activities
  • UiPath.OCR.Contracts
  • UiPath.WebApi.Activities

Steps:

  1. Abra o Studio e crie um Processo.
  2. Adicione um contêiner Sequência no Designer de fluxo de trabalho, nomeie-o Sequence1 e crie as variáveis exibidas na tabela a seguir:
    Tabela 1. Variáveis a serem criadas
     

    Tipo de Variável

    Valor padrão

    item

    String

    N/A

    classificationResult

    ClassificationResult[]

    N/A

    outputFileName

    GenericValue

    N/A
  3. Adicione outro contêiner Sequência no Designer de fluxo de trabalho, após o primeiro, nomeie-o Sequence2 e crie as variáveis exibidas na tabela a seguir:
    Tabela 2. Variáveis a serem criadas
     

    Tipo de Variável

    Valor padrão

    text

    String

    N/A

    taxonomy

    DocumentTaxonomy

    N/A

    dom

    Documento

    N/A

    documentPath

    String

    N/A

    classificationResult2

    ClassificationResult[]

    N/A

    outputFileName2

    GenericValue

    N/A
  4. Adicione uma atividade de caixa de mensagem dentro da sequência.
    • No painel Propriedades , selecione a opção Ok no menu suspenso Botões . Adicione a seguinte mensagem no campo Texto : "Selecione um arquivo PDF".
  5. Marque a caixa de seleção para a opção Superior. Isso traz a caixa de mensagens para o primeiro plano.
  6. Adicione uma atividade Selecionar Arquivo após a atividade Caixa de Mensagem.
    • No painel Propriedades, adicione o seguinte texto no campo Filtro: Pdf files (*.pdf)|*.pdf
    • Adicione a variável documentPath no campo SelectedFile .
  7. Adicione uma atividade Atribuir após a atividade Selecionar Arquivo.
    • Adicione a variável outputFileName2 no campo Para .
    • Adicione a expressão ".temp/" + Path.GetFileName(documentPath) no campo Valor.
  8. Adicione uma atividade Deserialize JSON após a atividade Atribuir.
    • Adicione a expressão File.ReadAllText("DocumentProcessing axonomy.json") no campo String JSON.
    • No painel Propriedades , selecione a opção UiPath.DocumentProcessing.Contracts.Taxonomy.DocumentTaxonomy na lista suspensa TypeArgument .
    • Adicione a variável taxonomy no campo ObjetoJSON.
  9. Adicione uma atividade Digitalizar documento após a atividade Deserialize JSON.
    • No painel Propriedades, adicione o valor 1 no campo GrauDeParalelismo.
    • Adicione a variável documentPath no campo DocumentPath .
    • Adicione a variável dom no campo ModeloDeObjetoDeDocumento.
    • Adicione a variável text no campo TextoDoDocumento.
    • Adicione o mecanismo UiPath® Document OCR dentro da atividade.
    • Adicione sua chave de API dentro do campo ApiKey .
    • Adicione a expressão "https://du.uipath.com/ocr" no campo Endpoint .
  10. Adicione uma atividade Gravar Arquivo de Texto após a atividade Digitalizar Documento.
    • Adicione a expressão JsonConvert.SerializeObject(dom) no campo Texto.
    • Adicione a expressão outputFileName2 + ".dom.json" no campo NomeDoArquivo.
  11. Adicione outra atividade Gravar arquivo de texto após a atividade Gravar arquivo de texto.
    • Adicione a variável text no campo Texto.
    • Adicione a expressão outputFileName2 + ".text.txt" no campo NomeDoArquivo.
  12. Arraste outro contêiner Sequência para o Designer do fluxo de trabalho, nomeie-o Sequence3 e crie as variáveis exibidas na tabela a seguir:
    Tabela 3. Variáveis a serem criadas
     

    Tipo de Variável

    Valor Padrão

    extractionResult

    ExtractionResult

    N/A

    validatedResults

    ExtractionResult

    N/A

    doubleValidatedResults

    ExtractionResult

    N/A

    dataset

    ConjuntoDeDados

    N/A

    i

    Int32

    N/A
  13. Adicione uma atividade Data Extraction Scope dentro do Sequence3.
    • No painel Propriedades , adicione a variável dom no campo DocumentObjectModel .
    • Adicione a variável documentPath no campo DocumentPath .
    • Adicione a variável text no campo TextoDoDocumento.
    • Adicione a expressão "All.Benchmarks.Invoice" no campo DocumentTypeId .
    • Adicione a variável taxonomy no capo Taxonomia.
    • Adicione a variável extractionResult no campo ExtractionResults .
  14. Adicione uma atividade do Intelligent Form Extractor dentro da atividade Data Extraction Scope .
    • Adicione sua chave de API no campo ChaveDaAPI.
  15. Adicione uma atividade Gravar Arquivo de Texto após a atividade Escopo da Extração de Dados.
    • Adicione a expressão JsonConvert.SerializeObject(extractionResult) no campo Texto.
    • Adicione a expressão outputFileName2 + ".results.json" no campo NomeDoArquivo.
  16. Adicione uma atividade Estação de validação presente após a atividade Gravar Arquivo de Texto.
    • Adicione a variável extractionResult no campo ResultadosDaExtraçãoAutomática.
    • Adicione a variável dom no campo ModeloDeObjetoDeDocumento.
    • Adicione a variável documentPath no campo DocumentPath .
    • Adicione a variável text no campo TextoDoDocumento.
    • Adicione a variável taxonomy no capo Taxonomia.
    • Adicione a variável validatedResults no campo ResultadosValidadosDaExtração.
  17. Adicione uma atividade Gravar Arquivo de Texto após a atividade Estação de validação presente.
    • Adicione a expressão JsonConvert.SerializeObject(validatedResults) no campo Texto.
    • Adicione a expressão outputFileName2 + ".savedinVS.results.json" no campo NomeDoArquivo.
  18. Adicione outra atividade Gravar arquivo de texto após a atividade Gravar arquivo de texto.
    • Adicione a expressão JsonConvert.SerializeObject(doubleValidatedResults) no campo Texto.
    • Adicione a expressão outputFileName2 + ".doubleSavedinVS.results.json" no campo NomeDoArquivo.
  19. Execute o processo. O processo de automação deve abrir a Estação de Validação, extrair os dados, validá-los e armazená-los na pasta Saída.
Acesse o link a seguir para baixar o exemplo em um formato ZIP: Exemplo.

Definindo sua taxonomia

Você criou seu fluxo de trabalho, definiu todas as variáveis e personalizou todas as atividades. Agora é hora de definir sua taxonomia. Acesse Carregar taxonomia para saber mais sobre a definição da sua própria taxonomia.

Crie sua taxonomia para poder extrair informações de uma fatura. Você deve estar focado em criar um tipo de documento de Fatura, com os campos exibidos na tabela a seguir:

Tabela 4. Campos de tipo de documento de fatura
 

Tipo de Campo

Nº da Fatura

Text

Subtotal

Number

Imposto sobre vendas

Number

Total

Number

Figura 1. Visão geral da taxonomia concluída com os campos mencionados anteriormente

Criar seu modelo

Agora é hora de criar o modelo para o processo de extração. Acesse Carregar taxonomia para saber como criar um modelo.

Para esse exemplo, configure o modelo usando os seguintes valores:
  • Tipo de documento: fatura.
  • Nome do modelo: exemplo de fatura.
  • Documento de modelo: selecione o arquivo de destino.
  • Mecanismo de OCR: Microsoft OCR.
  • Idiomas: inglês.
  • Perfil: digitalização.
  • Escala: 1.
Figura 2. Exemplo de imagem animada mostrando a configuração do modelo

Definir âncoras no modelo

As âncoras são um recurso muito especial e útil para usar quando você precisa extrair informações precisas de um documento. Ao definir uma área de extração com uma âncora, você pode esperar uma alta precisão na extração de dados.

Uma vez definida a taxonomia e criado o modelo, você pode começar a configurar o modelo usando âncoras, o que significa que a área de extração é definida em uma caixa e as âncoras são usadas para definir a posição da caixa.

Verifique a lista a seguir para alguns ponteiros antes de começar a adicionar âncoras ao seu modelo:

  • A caixa âncora deve ser o maior possível (altura, largura) para cobrir qualquer tipo de número de fatura, fonte longa, curta, grande, etc.
  • Uma área de extração pode ter quantas âncoras forem necessárias, mas apenas uma definida como principal (a primeira).
  • Use âncoras formadas por várias palavras lado a lado.
  • A âncora principal deve estar o mais próximo possível da área de extração.
  • As posições da área de extração e da âncora principal são fixadas no template, mesmo quando aplicadas a documentos diferentes. A única coisa que pode variar é a distância entre a âncora principal e as secundárias.

Vamos continuar configurando o modelo e ver como você pode extrair dados usando uma âncora.

  1. Defina a área de extração:
    • Na área direita da Estação de Validação, selecione Modos de seleção.
    • Selecione Âncora.
    • Comece a selecionar a área desejada.
      Figura 3. Imagem animada mostrando como definir a área de extração

      Observação:

      A âncora principal deve conter duas ou três palavras para maior precisão e melhores resultados no processo de extração.

      Selecione várias palavras ao marcar uma âncora pressionando CTRL e selecionando as palavras desejadas.

  2. Defina a âncora principal:
    1. Enquanto ainda estiver no modo de seleção Âncora, selecione a área desejada como sua âncora principal.
    2. Selecione Extrair valor para o campo desejado.
      Figura 4. Exemplo de imagem animada mostrando como definir a âncora principal

  3. Defina as âncoras secundárias:
    1. Certifique-se de ainda estar no modo de seleção de Âncora e com as principais seleções de âncora ativadas.
    2. Selecione as novas áreas para as âncoras secundárias.
    3. Selecione Opções para o campo desejado e, em seguida, selecione Alterar valor extraído.
      Figura 5. Exemplo de imagem animada mostrando como definir âncoras secundárias

Repita o processo até terminar de definir todas as áreas de extração e adicionar todas as suas âncoras. Depois de concluído, salve o modelo.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.