Visualiza un análisis de Amazon Comprehend con una nube de palabras en Amazon QuickSight

Visualize an Amazon Comprehend analysis with a word cloud in Amazon QuickSight

Buscar ideas en un repositorio de documentos de texto en formato libre puede ser como encontrar una aguja en un pajar. Un enfoque tradicional podría ser utilizar el recuento de palabras u otro análisis básico para analizar los documentos, pero con el poder de Amazon AI y herramientas de aprendizaje automático (ML), podemos obtener una comprensión más profunda del contenido.

Amazon Comprehend es un servicio totalmente gestionado que utiliza procesamiento del lenguaje natural (NLP) para extraer ideas sobre el contenido de los documentos. Amazon Comprehend desarrolla ideas mediante el reconocimiento de entidades, frases clave, sentimientos, temas y elementos personalizados en un documento. Amazon Comprehend puede crear nuevas ideas en base a la comprensión de la estructura del documento y las relaciones entre entidades. Por ejemplo, con Amazon Comprehend, puedes escanear un repositorio completo de documentos en busca de frases clave.

Amazon Comprehend permite a personas que no son expertas en ML realizar fácilmente tareas que normalmente llevan horas de tiempo. Amazon Comprehend elimina gran parte del tiempo necesario para limpiar, construir y entrenar tu propio modelo. Para construir modelos personalizados más profundos en NLP o cualquier otro dominio, Amazon SageMaker te permite construir, entrenar y implementar modelos en un flujo de trabajo de ML mucho más convencional si así lo deseas.

En esta publicación, usamos Amazon Comprehend y otros servicios de AWS para analizar y extraer nuevas ideas de un repositorio de documentos. Luego, usamos Amazon QuickSight para generar una visualización simple pero poderosa de una nube de palabras para identificar fácilmente temas o tendencias.

Descripción general de la solución

El siguiente diagrama ilustra la arquitectura de la solución.

Para empezar, recopilamos los datos a analizar y los cargamos en un bucket de Amazon Simple Storage Service (Amazon S3) en una cuenta de AWS. En este ejemplo, utilizamos archivos de texto formateados. Luego, los datos son analizados por Amazon Comprehend. Amazon Comprehend crea una salida con formato JSON que debe ser transformada y procesada en un formato de base de datos utilizando AWS Glue. Verificamos los datos y extraemos tablas de datos específicas en formato formateado utilizando Amazon Athena para un análisis de QuickSight utilizando una nube de palabras. Para obtener más información sobre visualizaciones, consulta Visualización de datos en Amazon QuickSight.

Requisitos previos

Para este tutorial, debes tener los siguientes requisitos previos:

  • Una cuenta de AWS
  • Acceso a la Consola de administración de AWS
  • Conocimientos básicos de tablas de bases de datos
  • Buckets de S3 para los datos de entrada y salida

Cargar datos en un bucket de S3

Carga tus datos en un bucket de S3. En este caso, utilizamos el texto formateado en UTF-8 de la Constitución de los Estados Unidos como archivo de entrada. Luego estarás listo para analizar los datos y crear visualizaciones.

Analizar datos utilizando Amazon Comprehend

Hay muchos tipos de información basada en texto e imágenes que se pueden procesar utilizando Amazon Comprehend. Además de los archivos de texto, puedes utilizar Amazon Comprehend para clasificación y reconocimiento de entidades en un solo paso para aceptar archivos de imágenes, archivos PDF y archivos de Microsoft Word como entrada, lo cual no se discute en esta publicación.

Para analizar tus datos, completa los siguientes pasos:

  1. En la consola de Amazon Comprehend, elige Análisis de trabajos en el panel de navegación.
  2. Elije Crear trabajo de análisis.
  3. Ingresa un nombre para tu trabajo.
  4. Para Tipo de análisis, elige Frases clave.
  5. Para Idioma, elige Inglés.
  6. Para Ubicación de los datos de entrada, especifica la carpeta que creaste como requisito previo.
  7. Para Ubicación de los datos de salida, especifica la carpeta que creaste como requisito previo.
  8. Elije Crear un rol de IAM.
  9. Ingresa un sufijo para el nombre del rol.
  10. Elije Crear trabajo.

El trabajo se ejecutará y el estado se mostrará en la página de Análisis de trabajos.

Espera a que se complete el trabajo de análisis. Amazon Comprehend creará un archivo y lo colocará en la carpeta de datos de salida que proporcionaste. El archivo está en formato .gz o GZIP.

Este archivo necesita ser descargado y convertido a un formato no comprimido. Puedes descargar un objeto de la carpeta de datos o el bucket S3 utilizando la consola de Amazon S3.

  1. En la consola de Amazon S3, selecciona el objeto y elige Descargar. Si deseas descargar el objeto en una carpeta específica, elige Descargar en el menú Acciones.
  2. Después de descargar el archivo en tu computadora local, abre el archivo comprimido y guárdalo como un archivo sin comprimir.

El archivo sin comprimir debe ser cargado en la carpeta de salida antes de que el rastreador de AWS Glue pueda procesarlo. Para este ejemplo, cargamos el archivo sin comprimir en la misma carpeta de salida que usamos en los pasos posteriores.

  1. En la consola de Amazon S3, navega hasta tu bucket de S3 y elige Cargar.
  2. Elige Agregar archivos.
  3. Elige los archivos sin comprimir desde tu computadora local.
  4. Elige Cargar.

Después de cargar el archivo, borra el archivo comprimido original.

  1. En la consola de Amazon S3, selecciona el bucket y elige Eliminar.
  2. Confirma el nombre del archivo para eliminar permanentemente el archivo ingresando el nombre del archivo en el cuadro de texto.
  3. Elige Eliminar objetos.

Esto dejará un archivo restante en la carpeta de salida: el archivo sin comprimir.

Convertir datos JSON a formato de tabla usando AWS Glue

En este paso, preparas la salida de Amazon Comprehend para ser utilizada como entrada en Athena. La salida de Amazon Comprehend está en formato JSON. Puedes usar AWS Glue para convertir JSON en una estructura de base de datos que finalmente será leída por QuickSight.

  1. En la consola de AWS Glue, elige Rastreadores en el panel de navegación.
  2. Elige Crear rastreador.
  3. Ingresa un nombre para tu rastreador.
  4. Elige Siguiente.
  5. Para ¿Ya está mapeada tu data a tablas de Glue?, selecciona Aún no.
  6. Agrega una fuente de datos.
  7. Para Ruta de S3, ingresa la ubicación de la carpeta de datos de salida de Amazon Comprehend.

Asegúrate de agregar la barra diagonal / al nombre de la ruta. AWS Glue buscará en la ruta de la carpeta todos los archivos.

  1. Selecciona Rastrear todas las subcarpetas.
  2. Elige Agregar una fuente de datos de S3.

  1. Crea un nuevo rol de AWS Identity and Access Management (IAM) para el rastreador.
  2. Ingresa un nombre para el rol de IAM.
  3. Elige Actualizar el rol IAM seleccionado para asegurarte de que el nuevo rol esté asignado al rastreador.
  4. Elige Siguiente para ingresar la información de salida (base de datos).
  5. Elige Agregar base de datos.
  6. Ingresa un nombre para la base de datos.
  7. Elige Siguiente.
  8. Elige Crear rastreador.
  9. Elige Ejecutar rastreador para ejecutar el rastreador.

Puedes monitorear el estado del rastreador en la consola de AWS Glue.

Usar Athena para preparar tablas para QuickSight

Athena extraerá datos de las tablas de base de datos que el rastreador de AWS Glue creó para proporcionar un formato que QuickSight utilizará para crear la nube de palabras.

  1. En la consola de Athena, elige Editor de consultas en el panel de navegación.
  2. Para Fuente de datos, elige AwsDataCatalog.
  3. Para Base de datos, elige la base de datos que creó el rastreador.

Para crear una tabla compatible con QuickSight, los datos deben desanidarse de las matrices.

  1. El primer paso es crear una base de datos temporal con los datos relevantes de Amazon Comprehend:
CREATE TABLE temp AS
SELECT keyphrases, nested
FROM output
CROSS JOIN UNNEST(output.keyphrases) AS t (nested)
  1. La siguiente instrucción limita las frases de al menos tres palabras y las agrupa por frecuencia de las frases:
CREATE TABLE tableforquicksight AS
SELECT COUNT(*) AS count, nested.text
FROM temp
WHERE nested.Score > .9 AND 
 length(nested.text) - length(replace(nested.text, ' ', '')) + 1 > 2
GROUP BY nested.text
ORDER BY count desc

Usar QuickSight para visualizar la salida

Finalmente, puedes crear la salida visual del análisis.

  1. En la consola de QuickSight, elige Nuevo análisis.
  2. Elige Nuevo conjunto de datos.
  3. Para Crear un conjunto de datos, elige De nuevas fuentes de datos.
  4. Elige Athena como fuente de datos.
  5. Ingresa un nombre para la fuente de datos y elige Crear fuente de datos.

  1. Elige Visualizar.

Asegúrate de que QuickSight tenga acceso a los buckets de S3 donde se almacenan las tablas de Athena.

  1. En la consola de QuickSight, elige el icono de perfil de usuario y elige Gestionar QuickSight.

  1. Elige Seguridad y permisos.
  1. Busca la sección Acceso de QuickSight a los servicios de AWS.

Al configurar el acceso a los servicios de AWS, QuickSight puede acceder a los datos en esos servicios. El acceso de los usuarios y grupos se puede controlar a través de las opciones.

  1. Verifica que se haya otorgado acceso a Amazon S3.

Ahora puedes crear la nube de palabras.

  1. Elige la nube de palabras en Tipos visuales.
  2. Arrastra el texto a Agrupar por y el recuento a Tamaño.

Elige el menú de opciones (tres puntos) en la visualización para acceder a las opciones de edición. Por ejemplo, es posible que desees ocultar el término “otro” de la visualización. También puedes editar elementos como el título y el subtítulo de tu visualización. Para descargar la nube de palabras como PDF, elige Descargar en la barra de herramientas de QuickSight.

Limpieza

Para evitar incurrir en cargos continuos, elimine cualquier dato, proceso o recurso no utilizado provisionado en su respectiva consola de servicio.

Conclusión

Amazon Comprehend utiliza NLP para extraer información sobre el contenido de documentos. Desarrolla información al reconocer las entidades, frases clave, idioma, sentimientos y otros elementos comunes en un documento. Puede utilizar Amazon Comprehend para crear nuevos productos basados ​​en la comprensión de la estructura de los documentos. Por ejemplo, con Amazon Comprehend, puede escanear un repositorio completo de documentos en busca de frases clave.

Esta publicación describe los pasos para construir una nube de palabras para visualizar un análisis de contenido de texto de Amazon Comprehend utilizando herramientas de AWS y QuickSight para visualizar los datos.

¡Mantengámonos en contacto a través de la sección de comentarios!

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Ajuste fino de LLM con técnicas PEFT

Introducción Los modelos de lenguaje, o LLMs en inglés, han revolucionado el procesamiento de lenguaje natural. Son s...

Inteligencia Artificial

Diferenciación automática con Python y C++ para el aprendizaje profundo

Esta historia explora la diferenciación automática, una característica de los marcos de trabajo modernos de Deep Lear...

Inteligencia Artificial

Investigación de Google revela Transformadores Generativos de Vocabulario Infinito (GIVT) Pioneros en secuencias de vectores de valor real en IA

Los Transformers fueron introducidos por primera vez y rápidamente se elevaron a la prominencia como la arquitectura ...

Inteligencia Artificial

Meta presenta Emu Video y Emu Edit Avances pioneros en la generación de videos a partir de texto y en la edición precisa de imágenes.

“`html En el campo en constante evolución de la IA generativa, persisten desafíos para lograr modelos eficiente...

Inteligencia Artificial

Llama 2 de Meta Revolucionando los modelos de lenguaje de código abierto para uso comercial

Meta ha vuelto a empujar los límites de la IA con el lanzamiento de Llama 2, el esperado sucesor de su revolucionario...

Inteligencia Artificial

Por qué importa el Hype Pensar de manera práctica sobre la IA

ELIZA era un chatbot temprano que compartía algunas similitudes con ChatGPT. ¿Por qué importa esta emoción? Bueno, cu...