Logotipo de Zephyrnet

Clasificación de documentos rentable mediante el modelo de incrustaciones multimodales de Amazon Titan | Servicios web de Amazon

Fecha:

Las organizaciones de todos los sectores quieren categorizar y extraer información de grandes volúmenes de documentos de diferentes formatos. El procesamiento manual de estos documentos para clasificar y extraer información sigue siendo costoso, propenso a errores y difícil de escalar. Avances en inteligencia artificial generativa (IA) han dado lugar a soluciones de procesamiento inteligente de documentos (IDP) que pueden automatizar la clasificación de documentos y crear una capa de clasificación rentable capaz de manejar documentos empresariales diversos y no estructurados.

La categorización de documentos es un primer paso importante en los sistemas de desplazados internos. Le ayuda a determinar el siguiente conjunto de acciones a realizar según el tipo de documento. Por ejemplo, durante el proceso de adjudicación de reclamos, el equipo de cuentas por pagar recibe la factura, mientras que el departamento de reclamos administra el contrato o los documentos de la póliza. Los motores de reglas tradicionales o la clasificación basada en ML pueden clasificar los documentos, pero a menudo alcanzan un límite en los tipos de formatos de documentos y admiten la adición dinámica de nuevas clases de documentos. Para más información, ver El clasificador de documentos de Amazon Comprehend agrega soporte de diseño para una mayor precisión.

En esta publicación, analizamos la clasificación de documentos utilizando el Modelo de incrustaciones multimodales de Amazon Titan para clasificar cualquier tipo de documento sin necesidad de formación.

Incorporaciones multimodales de Amazon Titan

Amazon presentó recientemente Incrustaciones multimodales de Titan in lecho rocoso del amazonas. Este modelo puede crear incrustaciones de imágenes y texto, lo que permite la creación de incrustaciones de documentos para utilizarlos en nuevos flujos de trabajo de clasificación de documentos.

Genera representaciones vectoriales optimizadas de documentos escaneados como imágenes. Al codificar componentes visuales y textuales en vectores numéricos unificados que encapsulan significado semántico, permite una indexación rápida, una búsqueda contextual potente y una clasificación precisa de documentos.

A medida que surgen nuevas plantillas y tipos de documentos en los flujos de trabajo empresariales, puede simplemente invocar el API de base de Amazon para vectorizarlos dinámicamente y agregarlos a sus sistemas IDP para mejorar rápidamente las capacidades de clasificación de documentos.

Resumen de la solución

Examinemos la siguiente solución de clasificación de documentos con el modelo Amazon Titan Multimodal Embeddings. Para obtener un rendimiento óptimo, debe personalizar la solución según su caso de uso específico y la configuración de canalización de IDP existente.

Esta solución clasifica documentos mediante búsqueda semántica de incrustación de vectores al hacer coincidir un documento de entrada con una galería de documentos ya indexada. Utilizamos los siguientes componentes clave:

  • incrustacionesincrustaciones son representaciones numéricas de objetos del mundo real que el aprendizaje automático (ML) y los sistemas de inteligencia artificial utilizan para comprender dominios de conocimiento complejos como lo hacen los humanos.
  • Bases de datos vectorialesBases de datos vectoriales Se utilizan para almacenar incrustaciones. Las bases de datos de vectores indexan y organizan eficientemente las incrustaciones, lo que permite una recuperación rápida de vectores similares basados ​​en métricas de distancia como la distancia euclidiana o la similitud del coseno.
  • Búsqueda semántica – La búsqueda semántica funciona considerando el contexto y el significado de la consulta de entrada y su relevancia para el contenido que se busca. Las incrustaciones de vectores son una forma eficaz de capturar y retener el significado contextual de texto e imágenes. En nuestra solución, cuando una aplicación quiere realizar una búsqueda semántica, el documento de búsqueda primero se convierte en una incrustación. Luego se consulta la base de datos de vectores con contenido relevante para encontrar las incrustaciones más similares.

En el proceso de etiquetado, un conjunto de muestra de documentos comerciales, como facturas, extractos bancarios o recetas, se convierten en incrustaciones utilizando el modelo Amazon Titan Multimodal Embeddings y se almacenan en una base de datos vectorial con etiquetas predefinidas. El modelo de incrustación multimodal de Amazon Titan se entrenó utilizando el algoritmo euclidiano L2 y, por lo tanto, para obtener mejores resultados, la base de datos vectorial utilizada debe admitir este algoritmo.

El siguiente diagrama de arquitectura ilustra cómo puede utilizar el modelo de Amazon Titan Multimodal Embeddings con documentos en un Servicio de almacenamiento simple de Amazon (Amazon S3) depósito para la creación de galerías de imágenes.

El flujo de trabajo consta de los siguientes pasos:

  1. Un usuario o aplicación carga una imagen de documento de muestra con metadatos de clasificación en una galería de imágenes de documentos. Se puede utilizar un prefijo S3 o metadatos de objetos S3 para clasificar las imágenes de la galería.
  2. Un evento de notificación de objetos de Amazon S3 invoca la incrustación AWS Lambda función.
  3. La función Lambda lee la imagen del documento y traduce la imagen en incrustaciones llamando a Amazon Bedrock y utilizando el modelo Amazon Titan Multimodal Embeddings.
  4. Las incrustaciones de imágenes, junto con la clasificación de documentos, se almacenan en la base de datos vectorial.

Este es el diagrama de arquitectura que ilustra cómo se pueden usar Titan Multimodal Embeddings con documentos en un depósito de Amazon Simple Storage Service (Amazon S3) para la creación y clasificación de galerías de imágenes.

Cuando un documento nuevo necesita clasificación, se utiliza el mismo modelo de incrustación para convertir el documento de consulta en una incrustación. Luego, se realiza una búsqueda de similitud semántica en la base de datos de vectores utilizando la incrustación de consultas. La etiqueta recuperada con la coincidencia de incrustación superior será la etiqueta de clasificación para el documento de consulta.

El siguiente diagrama de arquitectura ilustra cómo utilizar el modelo de Amazon Titan Multimodal Embeddings con documentos en un depósito de S3 para la clasificación de imágenes.

El flujo de trabajo consta de los siguientes pasos:

  1. Los documentos que requieren clasificación se cargan en un depósito de entrada de S3.
  2. La función Lambda de clasificación recibe la notificación de objeto de Amazon S3.
  3. La función Lambda traduce la imagen a una incrustación llamando a la API de Amazon Bedrock.
  4. Se busca un documento coincidente en la base de datos de vectores mediante búsqueda semántica. La clasificación del documento coincidente se utiliza para clasificar el documento de entrada.
  5. El documento de entrada se mueve al directorio o prefijo S3 de destino utilizando la clasificación recuperada de la búsqueda en la base de datos vectorial.

Este es el diagrama de arquitectura que ilustra cómo se pueden utilizar Titan Multimodal Embeddings con documentos en un depósito de Amazon Simple Storage Service (Amazon S3) para la clasificación de imágenes.

Para ayudarle a probar la solución con sus propios documentos, hemos creado un cuaderno de ejemplo de Python Jupyter, que está disponible en GitHub.

Requisitos previos

Para ejecutar el cuaderno, necesita un Cuenta de AWS con apropiado Gestión de identidades y accesos de AWS (IAM) permisos para llamar a Amazon Bedrock. Además, sobre el Modelo de acceso página de la consola de Amazon Bedrock, asegúrese de que se conceda acceso al modelo de Amazon Titan Multimodal Embeddings.

Implementación

En los siguientes pasos, reemplace cada marcador de posición ingresado por el usuario con su propia información:

  1. Cree la base de datos de vectores. En esta solución, utilizamos una base de datos FAISS en memoria, pero se podría utilizar una base de datos vectorial alternativa. El tamaño de dimensión predeterminado de Amazon Titan es 1024.
index = faiss.IndexFlatL2(1024)
indexIDMap = faiss.IndexIDMap(index)

  1. Una vez creada la base de datos de vectores, enumere los documentos de muestra, cree incrustaciones de cada uno y guárdelos en la base de datos de vectores.
  1. Pruebe con sus documentos. Reemplace las carpetas en el siguiente código con sus propias carpetas que contengan tipos de documentos conocidos:
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 la biblioteca Boto3, llame a Amazon Bedrock. La variable inputImageB64 es una matriz de bytes codificada en base64 que representa su documento. La respuesta de Amazon Bedrock contiene las incrustaciones.
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. Agregue las incrustaciones a la base de datos vectorial, con un ID de clase que represente un tipo de documento conocido:
indexIDMap.add_with_ids(embeddings, classID)

  1. Con la base de datos vectorial repleta de imágenes (que representa nuestra galería), puede descubrir similitudes con nuevos documentos. Por ejemplo, la siguiente es la sintaxis utilizada para la búsqueda. El k=1 le dice a FAISS que devuelva la primera coincidencia.
indexIDMap.search(embeddings, k=1)

Además, también se devuelve la distancia euclidiana L2 entre la imagen disponible y la imagen encontrada. Si la imagen coincide exactamente, este valor sería 0. Cuanto mayor sea este valor, más separadas estarán las imágenes en similitud.

Consideraciones adicionales

En esta sección, analizamos consideraciones adicionales para utilizar la solución de forma eficaz. Esto incluye privacidad de datos, seguridad, integración con sistemas existentes y estimaciones de costos.

Privacidad y seguridad de los datos

El AWS modelo de responsabilidad compartida se aplica a protección de datos en la roca amazónica. Como se describe en este modelo, AWS es responsable de proteger la infraestructura global que ejecuta toda la nube de AWS. Los clientes son responsables de mantener el control sobre el contenido alojado en esta infraestructura. Como cliente, usted es responsable de las tareas de configuración y administración de seguridad de los servicios de AWS que utiliza.

Protección de datos en Amazon Bedrock

Amazon Bedrock evita utilizar indicaciones y continuaciones de los clientes para entrenar modelos de AWS o compartirlos con terceros. Amazon Bedrock no almacena ni registra datos de clientes en sus registros de servicio. Los proveedores de modelos no tienen acceso a los registros de Amazon Bedrock ni a las indicaciones y continuaciones de los clientes. Como resultado, las imágenes utilizadas para generar incrustaciones a través del modelo Amazon Titan Multimodal Embeddings no se almacenan ni se emplean en el entrenamiento de modelos de AWS ni en la distribución externa. Además, otros datos de uso, como marcas de tiempo e ID de cuentas registradas, se excluyen del entrenamiento del modelo.

Integración con sistemas existentes

El modelo de Amazon Titan Multimodal Embeddings se entrenó con el algoritmo euclidiano L2, por lo que la base de datos vectorial que se utilice debe ser compatible con este algoritmo.

Costo estimado

Al momento de escribir esta publicación, según Precios de Amazon Bedrock Para el modelo Amazon Titan Multimodal Embeddings, los siguientes son los costos estimados utilizando precios bajo demanda para esta solución:

  • Costo de indexación único – $0.06 por una sola ejecución de indexación, suponiendo una galería de 1,000 imágenes
  • Costo de clasificación – $6 por 100,000 imágenes de entrada por mes

Limpiar

Para evitar incurrir en cargos futuros, elimine los recursos que creó, como el Instancia de cuaderno de Amazon SageMaker, cuando no esté en uso.

Conclusión

En esta publicación, exploramos cómo se puede utilizar el modelo Amazon Titan Multimodal Embeddings para crear una solución económica para la clasificación de documentos en el flujo de trabajo IDP. Demostramos cómo crear una galería de imágenes de documentos conocidos y realizar búsquedas de similitud con documentos nuevos para clasificarlos. También analizamos los beneficios de utilizar incrustaciones de imágenes multimodales para la clasificación de documentos, incluida su capacidad para manejar diversos tipos de documentos, escalabilidad y baja latencia.

A medida que surgen nuevos tipos y plantillas de documentos en los flujos de trabajo empresariales, los desarrolladores pueden invocar la API de Amazon Bedrock para vectorizarlos dinámicamente y agregarlos a sus sistemas IDP para mejorar rápidamente las capacidades de clasificación de documentos. Esto crea una capa de clasificación económica e infinitamente escalable que puede manejar incluso los documentos empresariales más diversos y no estructurados.

En general, esta publicación proporciona una hoja de ruta para crear una solución económica para la clasificación de documentos en el flujo de trabajo de IDP mediante Amazon Titan Multimodal Embeddings.

Como próximos pasos, consulte ¿Qué es la roca amazónica? para comenzar a utilizar el servicio. Y siga Amazon Bedrock en el blog de aprendizaje automático de AWS para mantenerse actualizado con nuevas capacidades y casos de uso de Amazon Bedrock.


Acerca de los autores

Sumit Bhati es gerente senior de soluciones para clientes en AWS y se especializa en acelerar el viaje a la nube para clientes empresariales. Sumit se dedica a ayudar a los clientes en cada fase de su adopción de la nube, desde acelerar las migraciones hasta modernizar las cargas de trabajo y facilitar la integración de prácticas innovadoras.

David Girling es un arquitecto senior de soluciones de IA/ML con más de 20 años de experiencia en el diseño, liderazgo y desarrollo de sistemas empresariales. David forma parte de un equipo de especialistas que se centra en ayudar a los clientes a aprender, innovar y utilizar estos servicios de gran capacidad con sus datos para sus casos de uso.

Ravi Avula es arquitecto senior de soluciones en AWS y se especializa en arquitectura empresarial. Ravi tiene 20 años de experiencia en ingeniería de software y ha ocupado varios puestos de liderazgo en ingeniería de software y arquitectura de software en la industria de pagos.

George Belsian es arquitecto senior de aplicaciones en la nube en AWS. Le apasiona ayudar a los clientes a acelerar su proceso de modernización y adopción de la nube. En su puesto actual, George trabaja junto con los equipos de clientes para diseñar estrategias, diseñar y desarrollar soluciones innovadoras y escalables.

punto_img

Información más reciente

punto_img