Personalize regras de negócios para processamento inteligente de documentos com revisão humana e visualização de BI PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Personalize regras de negócios para processamento inteligente de documentos com revisão humana e visualização de BI

Uma enorme quantidade de documentos comerciais é processada diariamente em todos os setores. Muitos desses documentos são baseados em papel, digitalizados em seu sistema como imagens ou em um formato não estruturado como PDF. Cada empresa pode aplicar regras exclusivas associadas ao seu histórico de negócios durante o processamento desses documentos. Como extrair informações com precisão e processá-las com flexibilidade é um desafio que muitas empresas enfrentam.

O Amazon Intelligent Document Processing (IDP) permite que você aproveite a tecnologia de machine learning (ML) líder do setor sem experiência anterior em ML. Este post apresenta uma solução incluída no Workshop Amazon IDP mostrando como processar documentos para atender a regras de negócios flexíveis usando os serviços Amazon AI. Você pode usar o seguinte passo a passo Caderno Jupyter para completar o laboratório.

amazontext ajuda a extrair facilmente texto de vários documentos e IA aumentada da Amazon (Amazon A2I) permite que você implemente uma revisão humana das previsões de ML. O modelo padrão do Amazon A2I permite que você crie um pipeline de revisão humana com base em regras, como quando a pontuação de confiança da extração é inferior a um limite predefinido ou as chaves necessárias estão ausentes. Mas em um ambiente de produção, você precisa do pipeline de processamento de documentos para dar suporte a regras de negócios flexíveis, como validar o formato de string, verificar o tipo e intervalo de dados e validar campos em documentos. Esta postagem mostra como você pode usar o Amazon Textract e o Amazon A2I para personalizar um pipeline de processamento de documentos genérico que oferece suporte a regras de negócios flexíveis.

Visão geral da solução

Para nossa solução de amostra, usamos o Formulário Fiscal 990, um formulário do IRS (Internal Revenue Service) dos EUA que fornece ao público informações financeiras sobre uma organização sem fins lucrativos. Para este exemplo, cobrimos apenas a lógica de extração para alguns dos campos na primeira página do formulário. Você pode encontrar mais documentos de amostra no Site do IRS.

O diagrama a seguir ilustra o pipeline de IDP que oferece suporte a regras de negócios personalizadas com revisão humana.

A arquitetura é composta por três estágios lógicos:

  • Processo de – Extrair dados do Formulário de Imposto 990 (usamos a página 1 como exemplo).
  • Validação – Aplique regras de negócios flexíveis com uma revisão human-in-the-loop.
    • Valide os dados extraídos em relação às regras de negócios, como validar o comprimento de um campo de ID.
    • Envie o documento para o Amazon A2I para que um humano analise se alguma regra de negócios falhar.
    • Os revisores usam a IU do Amazon A2I (um site personalizável) para verificar o resultado da extração.
  • Visualização de BI - Nós usamos AmazonQuickSight para construir um painel de business intelligence (BI) mostrando os insights do processo.

Personalizar regras de negócios

Você pode definir uma regra de negócios genérica no formato JSON a seguir. No código de exemplo, definimos três regras:

  • A primeira regra é para o campo ID do empregador. A regra falhará se a pontuação de confiança do Amazon Textract for inferior a 99%. Para esta postagem, definimos o limite de pontuação de confiança alto, que será quebrado por design. Você pode ajustar o limite para um valor mais razoável para reduzir o esforço humano desnecessário em um ambiente do mundo real, como 90%.
  • A segunda regra é para o campo DLN (o identificador exclusivo do formulário de imposto), que é necessário para a lógica de processamento downstream. Essa regra falha se o campo DLN estiver ausente ou tiver um valor vazio.
  • A terceira regra também é para o campo DLN, mas com um tipo de condição diferente: LengthCheck. A regra é quebrada se o comprimento do DLN não for de 16 caracteres.

O código a seguir mostra nossas regras de negócios no formato JSON:

rules = [
    {
        "description": "Employee Id confidence score should greater than 99",
        "field_name": "d.employer_id",
        "field_name_regex": None, # support Regex: "_confidence$",
        "condition_category": "Confidence",
        "condition_type": "ConfidenceThreshold",
        "condition_setting": "99",
    },
    {
        "description": "dln is required",
        "field_name": "dln",
        "condition_category": "Required",
        "condition_type": "Required",
        "condition_setting": None,
    },
    {
        "description": "dln length should be 16",
        "field_name": "dln",
        "condition_category": "LengthCheck",
        "condition_type": "ValueRegex",
        "condition_setting": "^[0-9a-zA-Z]{16}$",
    }
]

Você pode expandir a solução adicionando mais regras de negócios seguindo a mesma estrutura.

Extrair texto usando uma consulta do Amazon Textract

Na solução de exemplo, chamamos a API analyze_document do Amazon Textract pergunta recurso para extrair campos fazendo perguntas específicas. Você não precisa conhecer a estrutura dos dados no documento (tabela, formulário, campo implícito, dados aninhados) ou se preocupar com variações entre versões e formatos de documentos. As consultas usam uma combinação de dicas visuais, espaciais e de idioma para extrair as informações que você procura com alta precisão.

Para extrair valor para o campo DLN, você pode enviar uma solicitação com perguntas em linguagens naturais, como “Qual é o DLN?” O Amazon Textract retorna o texto, a confiança e outros metadados se encontrar informações correspondentes na imagem ou no documento. Veja a seguir um exemplo de solicitação de consulta do Amazon Textract:

textract.analyze_document(
        Document={'S3Object': {'Bucket': data_bucket, 'Name': s3_key}},
        FeatureTypes=["QUERIES"],
        QueriesConfig={
                'Queries': [
                    {
                        'Text': 'What is the DLN?',
                       'Alias': 'The DLN number - unique identifier of the form'
                    }
               ]
        }
)

Defina o modelo de dados

A solução de amostra constrói os dados em um formato estruturado para atender à avaliação genérica da regra de negócios. Para manter os valores extraídos, você pode definir um modelo de dados para cada página do documento. A imagem a seguir mostra como o texto na página 1 é mapeado para os campos JSON.Modelo de dados personalizado

Cada campo representa o texto de um documento, caixa de seleção ou célula de tabela/formulário na página. O objeto JSON se parece com o seguinte código:

{
    "dln": {
        "value": "93493319020929",
        "confidence": 0.9765, 
        "block": {} 
    },
    "omb_no": {
        "value": "1545-0047",
        "confidence": 0.9435,
        "block": {}
    },
    ...
}

Você pode encontrar a definição detalhada da estrutura JSON no GitHub repo.

Avalie os dados em relação às regras de negócios

A solução de amostra vem com uma classe Condition — um mecanismo de regras genéricas que pega os dados extraídos (conforme definido no modelo de dados) e as regras (conforme definidas nas regras de negócios personalizadas). Ele retorna duas listas com condições com falha e satisfeitas. Podemos usar o resultado para decidir se devemos enviar o documento para a Amazon A2I para revisão humana.

O código-fonte da classe Condition está no exemplo GitHub repo. Ele suporta lógica de validação básica, como validar o comprimento de uma string, intervalo de valores e limite de pontuação de confiança. Você pode modificar o código para dar suporte a mais tipos de condição e lógica de validação complexa.

Criar uma IU da web personalizada do Amazon A2I

O Amazon A2I permite que você personalize a interface do usuário da web do revisor definindo um modelo de tarefa do trabalhador. O modelo é uma página da Web estática em HTML e JavaScript. Você pode passar dados para a página do revisor personalizado usando o Líquido sintaxe.

Na solução de amostra, o modelo de interface do usuário Amazon A2I personalizado exibe a página à esquerda e as condições de falha à direita. Os revisores podem usá-lo para corrigir o valor de extração e adicionar seus comentários.

A captura de tela a seguir mostra nossa IU personalizada do Amazon A2I. Ele mostra o documento de imagem original à esquerda e as seguintes condições de falha à direita:

  • Os números DLN devem ter 16 caracteres. O DLN real tem 15 caracteres.
  • A pontuação de confiança de employer_id é inferior a 99%. A pontuação de confiança real é de cerca de 98%.

Os revisores podem verificar manualmente esses resultados e adicionar comentários no MUDAR MOTIVO caixas de texto.IU de revisão A2I personalizada

Para obter mais informações sobre como integrar o Amazon A2I em qualquer fluxo de trabalho de ML personalizado, consulte mais de 60 modelos de trabalhador pré-construídos no repositório GitHub e Use o Amazon Augmented AI com tipos de tarefas personalizadas.

Processe a saída do Amazon A2I

Depois que o revisor usando a IU personalizada do Amazon A2I verificar o resultado e escolher Submeter, o Amazon A2I armazena um arquivo JSON na pasta bucket do S3. O arquivo JSON inclui as seguintes informações no nível raiz:

  • O ARN de definição de fluxo do Amazon A2I e o nome do loop humano
  • Respostas humanas (a entrada do revisor coletada pela IU personalizada do Amazon A2I)
  • Conteúdo de entrada (os dados originais enviados ao Amazon A2I ao iniciar a tarefa de loop humano)

Veja a seguir um exemplo de JSON gerado pelo Amazon A2I:

{
  "flowDefinitionArn": "arn:aws:sagemaker:us-east-1:711334203977:flow-definition/a2i-custom-ui-demo-workflow",
  "humanAnswers": [
    {
      "acceptanceTime": "2022-08-23T15:23:53.488Z",
      "answerContent": {
        "Change Reason 1": "Missing X at the end.",
        "True Value 1": "93493319020929X",
        "True Value 2": "04-3018996"
      },
      "submissionTime": "2022-08-23T15:24:47.991Z",
      "timeSpentInSeconds": 54.503,
      "workerId": "94de99f1bc6324b8",
      "workerMetadata": {
        "identityData": {
          "identityProviderType": "Cognito",
          "issuer": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_URd6f6sie",
          "sub": "cef8d484-c640-44ea-8369-570cdc132d2d"
        }
      }
    }
  ],
  "humanLoopName": "custom-loop-9b4e67ff-2c9f-40f9-aae5-0e26316c905c",
  "inputContent": {...} # the original input send to A2I when starting the human review task
}

Você pode implementar a lógica de extração, transformação e carregamento (ETL) para analisar informações do JSON de saída do Amazon A2I e armazená-las em um arquivo ou banco de dados. A solução de amostra vem com um arquivo CSV com dados processados. Você pode usá-lo para criar um painel de BI seguindo as instruções na próxima seção.

Criar um painel no Amazon QuickSight

A solução de exemplo inclui um estágio de relatório com um painel de visualização servido pelo Amazon QuickSight. O painel de BI mostra as principais métricas, como o número de documentos processados ​​automática ou manualmente, os campos mais populares que exigem revisão humana e outros insights. Este painel pode ajudá-lo a obter uma supervisão do pipeline de processamento de documentos e analisar os motivos comuns que causam a revisão humana. Você pode otimizar o fluxo de trabalho reduzindo ainda mais a entrada humana.

O painel de amostra inclui métricas básicas. Você pode expandir a solução usando o Amazon QuickSight para mostrar mais informações sobre os dados.Painel de BI

Expanda a solução para oferecer suporte a mais documentos e regras de negócios

Para expandir a solução para oferecer suporte a mais páginas de documentos com regras de negócios correspondentes, você precisa fazer as seguintes alterações:

  • Crie um modelo de dados para a nova página na estrutura JSON representando todos os valores que você deseja extrair das páginas. Consulte o Defina o modelo de dados seção para um formato detalhado.
  • Use o Amazon Textract para extrair texto do documento e preencher valores para o modelo de dados.
  • Adicione regras de negócios correspondentes à página no formato JSON. Consulte o Personalizar regras de negócios seção para o formato detalhado.

A IU personalizada do Amazon A2I na solução é genérica, o que não requer uma alteração para oferecer suporte a novas regras de negócios.

Conclusão

O processamento inteligente de documentos está em alta demanda e as empresas precisam de um pipeline personalizado para dar suporte à sua lógica de negócios exclusiva. O Amazon A2I também oferece um modelo integrado integrado ao Amazon Textract para implementar seus casos de uso de revisão humana. Também permite personalizar a página do revisor para atender a requisitos flexíveis.

Esta postagem guiou você por uma solução de referência usando o Amazon Textract e o Amazon A2I para criar um pipeline de IDP compatível com regras de negócios flexíveis. Você pode experimentá-lo usando o Caderno Jupyter no repositório de workshops do GitHub IDP.


Sobre os autores

Personalize regras de negócios para processamento inteligente de documentos com revisão humana e visualização de BI PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Lana Zhang é arquiteto de soluções sênior da equipe de serviços de IA do AWS WWSO com experiência em IA e ML para processamento inteligente de documentos e moderação de conteúdo. Ela é apaixonada por promover os serviços de IA da AWS e ajudar os clientes a transformar suas soluções de negócios.

Personalize regras de negócios para processamento inteligente de documentos com revisão humana e visualização de BI PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
Sonali Sahu é líder da equipe de arquitetos de soluções de IA/ML de processamento inteligente de documentos na Amazon Web Services. Ela é uma tecnófila apaixonada e gosta de trabalhar com clientes para resolver problemas complexos usando inovação. Sua principal área de foco é Inteligência Artificial e Aprendizado de Máquina para Processamento Inteligente de Documentos.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS