Zephyrnet Logo

Classificação econômica de documentos usando o modelo Amazon Titan Multimodal Embeddings | Amazon Web Services

Data:

Organizações de todos os setores desejam categorizar e extrair insights de grandes volumes de documentos de diferentes formatos. O processamento manual desses documentos para classificar e extrair informações continua caro, sujeito a erros e difícil de escalar. Avanços inteligência artificial generativa (IA) deram origem a soluções de processamento inteligente de documentos (IDP) que podem automatizar a classificação de documentos e criar uma camada de classificação econômica, capaz de lidar com diversos documentos empresariais não estruturados.

A categorização de documentos é um primeiro passo importante nos sistemas de deslocados internos. Ajuda a determinar o próximo conjunto de ações a serem executadas dependendo do tipo de documento. Por exemplo, durante o processo de adjudicação de sinistros, a equipe de contas a pagar recebe a fatura, enquanto o departamento de sinistros gerencia os documentos do contrato ou da apólice. Os mecanismos de regras tradicionais ou a classificação baseada em ML podem classificar os documentos, mas muitas vezes atingem um limite nos tipos de formatos de documentos e no suporte para a adição dinâmica de novas classes de documentos. Para mais informações, veja O classificador de documentos do Amazon Comprehend adiciona suporte de layout para maior precisão.

Nesta postagem, discutimos a classificação de documentos usando o Modelo de incorporações multimodais Amazon Titan classificar qualquer tipo de documento sem a necessidade de treinamento.

Incorporações multimodais do Amazon Titan

Amazon introduziu recentemente Incorporações multimodais Titan in Rocha Amazônica. Este modelo pode criar embeddings para imagens e texto, permitindo a criação de embeddings de documentos para serem usados ​​em novos fluxos de trabalho de classificação de documentos.

Ele gera representações vetoriais otimizadas de documentos digitalizados como imagens. Ao codificar componentes visuais e textuais em vetores numéricos unificados que encapsulam o significado semântico, permite indexação rápida, pesquisa contextual poderosa e classificação precisa de documentos.

À medida que novos modelos e tipos de documentos surgem nos fluxos de trabalho empresariais, você pode simplesmente invocar o API Amazon Bedrock para vetorizá-los dinamicamente e anexá-los aos seus sistemas IDP para aprimorar rapidamente os recursos de classificação de documentos.

Visão geral da solução

Vamos examinar a seguinte solução de classificação de documentos com o modelo Amazon Titan Multimodal Embeddings. Para obter o desempenho ideal, você deve personalizar a solução de acordo com seu caso de uso específico e configuração de pipeline de IDP existente.

Esta solução classifica documentos usando pesquisa semântica de incorporação vetorial, combinando um documento de entrada com uma galeria de documentos já indexada. Usamos os seguintes componentes principais:

  • embeddings - embeddings são representações numéricas de objetos do mundo real que os sistemas de aprendizado de máquina (ML) e IA usam para compreender domínios de conhecimento complexos como os humanos fazem.
  • Bancos de dados vetoriais - Bancos de dados vetoriais são usados ​​para armazenar embutimentos. Os bancos de dados vetoriais indexam e organizam eficientemente os embeddings, permitindo a recuperação rápida de vetores semelhantes com base em métricas de distância, como distância euclidiana ou similaridade de cosseno.
  • Busca semântica – A pesquisa semântica funciona considerando o contexto e o significado da consulta de entrada e sua relevância para o conteúdo que está sendo pesquisado. Os embeddings vetoriais são uma forma eficaz de capturar e reter o significado contextual de textos e imagens. Em nossa solução, quando uma aplicação deseja realizar uma busca semântica, o documento de busca é primeiro convertido em uma incorporação. O banco de dados vetorial com conteúdo relevante é então consultado para encontrar os embeddings mais semelhantes.

No processo de etiquetagem, um conjunto de amostras de documentos comerciais, como faturas, extratos bancários ou receitas, é convertido em incorporações usando o modelo Amazon Titan Multimodal Embeddings e armazenado em um banco de dados vetorial em rótulos predefinidos. O modelo Amazon Titan Multimodal Embedding foi treinado usando o algoritmo Euclidean L2 e, portanto, para melhores resultados, o banco de dados vetorial utilizado deve suportar este algoritmo.

O diagrama de arquitetura a seguir ilustra como você pode usar o modelo Amazon Titan Multimodal Embeddings com documentos em um Serviço de armazenamento simples da Amazon (Amazon S3) balde para criação de galeria de imagens.

O fluxo de trabalho consiste nas seguintes etapas:

  1. Um usuário ou aplicativo carrega uma imagem de documento de amostra com metadados de classificação em uma galeria de imagens de documentos. Um prefixo S3 ou metadados de objeto S3 podem ser usados ​​para classificar imagens de galeria.
  2. Um evento de notificação de objeto do Amazon S3 invoca a incorporação AWS Lambda função.
  3. A função Lambda lê a imagem do documento e traduz a imagem em embeddings chamando o Amazon Bedrock e usando o modelo Amazon Titan Multimodal Embeddings.
  4. A incorporação de imagens, juntamente com a classificação do documento, são armazenadas no banco de dados vetorial.

Este é o diagrama de arquitetura que ilustra como os Titan Multimodal Embeddings podem ser usados ​​com documentos em um bucket do Amazon Simple Storage Service (Amazon S3) para criação e classificação de galerias de imagens.

Quando um novo documento precisa de classificação, o mesmo modelo de incorporação é usado para converter o documento de consulta em uma incorporação. Em seguida, uma busca por similaridade semântica é realizada no banco de dados vetorial usando a incorporação de consultas. O rótulo recuperado na correspondência de incorporação superior será o rótulo de classificação do documento de consulta.

O diagrama de arquitetura a seguir ilustra como usar o modelo Amazon Titan Multimodal Embeddings com documentos em um bucket S3 para classificação de imagens.

O fluxo de trabalho consiste nas seguintes etapas:

  1. Os documentos que exigem classificação são carregados em um bucket S3 de entrada.
  2. A função de classificação do Lambda recebe a notificação de objeto do Amazon S3.
  3. A função Lambda traduz a imagem em uma incorporação chamando a API Amazon Bedrock.
  4. O banco de dados vetorial é pesquisado em busca de um documento correspondente usando pesquisa semântica. A classificação do documento correspondente é usada para classificar o documento de entrada.
  5. O documento de entrada é movido para o diretório ou prefixo S3 de destino usando a classificação recuperada da pesquisa no banco de dados vetorial.

Este é o diagrama de arquitetura que ilustra como os Titan Multimodal Embeddings podem ser usados ​​com documentos em um bucket do Amazon Simple Storage Service (Amazon S3) para classificação de imagens.

Para ajudá-lo a testar a solução com seus próprios documentos, criamos um exemplo de notebook Python Jupyter, que está disponível em GitHub.

Pré-requisitos

Para executar o notebook, você precisa de um Conta da AWS com apropriado Gerenciamento de acesso e identidade da AWS (IAM) para chamar o Amazon Bedrock. Além disso, no Acesso ao modelo do console Amazon Bedrock, certifique-se de que o acesso seja concedido para o modelo Amazon Titan Multimodal Embeddings.

Implementação

Nas etapas a seguir, substitua cada espaço reservado de entrada do usuário pelas suas próprias informações:

  1. Crie o banco de dados vetorial. Nesta solução, usamos um banco de dados FAISS na memória, mas você poderia usar um banco de dados vetorial alternativo. O tamanho de dimensão padrão do Amazon Titan é 1024.
index = faiss.IndexFlatL2(1024)
indexIDMap = faiss.IndexIDMap(index)

  1. Depois que o banco de dados vetorial for criado, enumere os documentos de amostra, criando embeddings de cada um e armazene-os no banco de dados vetorial
  1. Teste com seus documentos. Substitua as pastas no código a seguir por suas próprias pastas que contenham tipos de documentos conhecidos:
DOC_CLASSES: list[str] = ["Closing Disclosure", "Invoices", "Social Security Card", "W4", "Bank Statement"]

getDocumentsandIndex("sampleGallery/ClosingDisclosure", DOC_CLASSES.index("Closing Disclosure"))
getDocumentsandIndex("sampleGallery/Invoices", DOC_CLASSES.index("Invoices"))
getDocumentsandIndex("sampleGallery/SSCards", DOC_CLASSES.index("Social Security Card"))
getDocumentsandIndex("sampleGallery/W4", DOC_CLASSES.index("W4"))
getDocumentsandIndex("sampleGallery/BankStatements", DOC_CLASSES.index("Bank Statement"))

  1. Usando a biblioteca Boto3, ligue para Amazon Bedrock. A variável inputImageB64 é uma matriz de bytes codificada em base64 que representa seu documento. A resposta do Amazon Bedrock contém os embeddings.
bedrock = boto3.client(
service_name='bedrock-runtime',
region_name='Region’
)

request_body = {}
request_body["inputText"] = None # not using any text
request_body["inputImage"] = inputImageB64
body = json.dumps(request_body)
response = bedrock.invoke_model(
body=body, 
modelId="amazon.titan-embed-image-v1", 
accept="application/json", 
contentType="application/json")
response_body = json.loads(response.get("body").read()) 

  1. Adicione os embeddings ao banco de dados vetorial, com um ID de classe que represente um tipo de documento conhecido:
indexIDMap.add_with_ids(embeddings, classID)

  1. Com o banco de dados vetorial preenchido com imagens (representando nossa galeria), você pode descobrir semelhanças com novos documentos. Por exemplo, a seguir está a sintaxe usada para pesquisa. O k = 1 diz ao FAISS para retornar a primeira partida.
indexIDMap.search(embeddings, k=1)

Além disso, a distância euclidiana L2 entre a imagem em questão e a imagem encontrada também é retornada. Se a imagem for uma correspondência exata, esse valor será 0. Quanto maior for esse valor, mais distantes as imagens estarão em semelhança.

Considerações adicionais

Nesta seção, discutimos considerações adicionais para usar a solução de maneira eficaz. Isto inclui privacidade de dados, segurança, integração com sistemas existentes e estimativas de custos.

Privacidade e segurança de dados

AWS modelo de responsabilidade compartilhada aplica-se a protecção de dados na Amazônia Bedrock. Conforme descrito neste modelo, a AWS é responsável por proteger a infraestrutura global que executa toda a Nuvem AWS. Os clientes são responsáveis ​​por manter o controle sobre o conteúdo hospedado nesta infraestrutura. Como cliente, você é responsável pelas tarefas de configuração e gerenciamento de segurança dos serviços da AWS que usa.

Proteção de dados no Amazon Bedrock

O Amazon Bedrock evita usar solicitações e continuações do cliente para treinar modelos da AWS ou compartilhá-los com terceiros. O Amazon Bedrock não armazena nem registra dados de clientes em seus logs de serviço. Os provedores de modelos não têm acesso aos logs do Amazon Bedrock nem aos prompts e continuações dos clientes. Como resultado, as imagens usadas para gerar embeddings por meio do modelo Amazon Titan Multimodal Embeddings não são armazenadas ou empregadas no treinamento de modelos da AWS ou na distribuição externa. Além disso, outros dados de uso, como carimbos de data/hora e IDs de contas registradas, são excluídos do treinamento do modelo.

Integração com sistemas existentes

O modelo Amazon Titan Multimodal Embeddings passou por treinamento com o algoritmo Euclidean L2, portanto o banco de dados vetorial utilizado deve ser compatível com este algoritmo.

Estimativa de custo

No momento em que escrevo este post, conforme Preços da Amazon Bedrock para o modelo Amazon Titan Multimodal Embeddings, a seguir estão os custos estimados usando preços sob demanda para esta solução:

  • Custo único de indexação – US$ 0.06 para uma única execução de indexação, assumindo uma galeria de 1,000 imagens
  • Custo de classificação – US$ 6 por 100,000 imagens de entrada por mês

limpar

Para evitar cobranças futuras, exclua os recursos que você criou, como o Instância de notebook do Amazon SageMaker, quando não estiver em uso.

Conclusão

Nesta postagem, exploramos como você pode usar o modelo Amazon Titan Multimodal Embeddings para construir uma solução barata para classificação de documentos no fluxo de trabalho de IDP. Demonstramos como criar uma galeria de imagens de documentos conhecidos e realizar pesquisas de similaridade com novos documentos para classificá-los. Também discutimos os benefícios do uso de incorporações de imagens multimodais para classificação de documentos, incluindo sua capacidade de lidar com diversos tipos de documentos, escalabilidade e baixa latência.

À medida que novos modelos e tipos de documentos surgem nos fluxos de trabalho de negócios, os desenvolvedores podem invocar a API Amazon Bedrock para vetorizá-los dinamicamente e anexá-los aos seus sistemas IDP para aprimorar rapidamente os recursos de classificação de documentos. Isso cria uma camada de classificação barata e infinitamente escalonável que pode lidar até mesmo com os mais diversos documentos empresariais não estruturados.

No geral, esta postagem fornece um roteiro para construir uma solução barata para classificação de documentos no fluxo de trabalho de IDP usando Amazon Titan Multimodal Embeddings.

Como próximos passos, confira O que é Amazon Bedrock para começar a usar o serviço. E siga Amazon Bedrock no blog de aprendizado de máquina da AWS para se manter atualizado com novos recursos e casos de uso do Amazon Bedrock.


Sobre os autores

Sumit Bhati é gerente sênior de soluções para clientes na AWS e é especializado em agilizar a jornada para a nuvem para clientes corporativos. A Sumit se dedica a ajudar os clientes em todas as fases da adoção da nuvem, desde a aceleração das migrações até a modernização das cargas de trabalho e a facilitação da integração de práticas inovadoras.

David Girling é arquiteto sênior de soluções de IA/ML com mais de 20 anos de experiência em projetar, liderar e desenvolver sistemas corporativos. David faz parte de uma equipe especializada que se concentra em ajudar os clientes a aprender, inovar e utilizar esses serviços altamente capazes com seus dados para seus casos de uso.

Ravi Avula é arquiteto de soluções sênior na AWS com foco em arquitetura empresarial. Ravi tem 20 anos de experiência em engenharia de software e ocupou vários cargos de liderança em engenharia e arquitetura de software, trabalhando no setor de pagamentos.

George Belsian é arquiteto sênior de aplicativos em nuvem na AWS. Ele é apaixonado por ajudar os clientes a acelerar sua jornada de modernização e adoção da nuvem. Em sua função atual, George trabalha junto com equipes de clientes para criar estratégias, arquitetar e desenvolver soluções inovadoras e escaláveis.

local_img

Café VC

LifeSciVC

Inteligência mais recente

Café VC

LifeSciVC

local_img