Empezando con NLP en AWS desde cero — NLP Series parte 1 | por Carlos Cortez | Breaking the Cloud

Carlos E. Cortez Bazan
5 min readMar 31, 2021

--

Escucha en modo AudioBlog este artículo

Sería genial ya empezar a segmentar nuestros textos así como la imagen de portada que es un software Open Source llamado Coreference creado por Hugging Face, no? Vamos por partes…

Por si te interesa escuchar Sobre Hugging Face y SageMaker, hablé hace unos días profundamente sobre este tema y su reciente alianza con AWS aquí:

La curva de Aprendizaje

La curva de aprendizaje es larga y puede volverse compleja si quisiéramos. Para eso existen los flujos y los frameworks que nos van a ayudar a saber en qué parte estamos ahora mismo.

Flujo de Procesamiento de lenguaje natural (NLP)

Muchas veces saltamos pasos claves antes de entender realmente cada uno de estos procedimientos. Por ejemplo, la ingesta de datos, web scraping, text analytics, EDA (exploratory analysis, y mucho más)

¿Recuerdan CRISP-DM?

Es un framework para realizar minería de datos, lo que ahora se conoce más como Machine Learning, Deep Learning, Data Science, etc..

Lo indispensable para empezar en AWS

Siempre a cada lugar que vayamos, guardemos en el bolsillo esta dupla:

Python 3.x + boto3

Boto3, es la librería de python de AWS que nos dará acceso a ejecutar y administrar cualquier recurso dentro de la nube, tan sencillo como un import boto3, y tener tus llaves privadas configuradas o tus roles correctamente creados.

Modelos pre-entrenados

Los modelos pre entrenados nos ayudan a acortar tiempo de investigación, de entrenamiento y de análisis, y no empezar a inventar lo que ya existe. y para ello podemos usar servicios en la nube.

Amazon Comprehend (NLP Aplicado), Es un servicio de tipo SaaS, que quiere decir que está listo para poder consumir un API con la librería de AWS boto3 y empezar a obtener insights de los datos. Contiene modelos ya entrenados por Amazon Web Services, que podemos re utilizar para empezar los nuestros, e iniciaremos conociendo este gran servicio y empezar a construir aplicaciones interesantes usando otros servicios de AWS.

Hugging Face (avanzado), más adelante jugaremos con transformers, tokenizers, y más con estos modelos de Deep Learning de Hugging Face.

Construir tus propios modelos:

Una vez entendamos muy bien los servicios autoadministrados en la nube de NLP, podemos pasar al siguiente nivel ya se con Amazon Sagemaker.

O bien, con tus propios containers, que también lo aprenderemos, o en modo local

Librerías NLP Open Source

Mencionaré estos por ahora y seguro conoceremos más de 2 de esta lista durante los próximos meses:

  • NLTK
  • Spark NLP
  • CoreNLP
  • SpaCy
  • Pytorch
  • Tensorflow
  • etc..

Tools e IDEs

Desde ahora empezaremos a conocer y aprender paso a paso, cómo es trabajar en la nube con una IDE para Ciencia de Datos, y conocer los servicios de AI en AWS.

Recomiendo echar un vistazo a las siguientes, algunas de pago y otras gratuitas.

  1. Sagemaker Studio / Sagemaker Notebooks
  2. Jupyter Notebooks / Jupyter Lab
  3. Databricks
  4. Colab de Google
  5. entre otros…

Para empezar de manera gratuita, sugiero Databricks y Colab, el primero, tiene una plataforma de comunidad que te permite crear cluster gratuitos y se eliminan si no lo usas durante tiempos limitados, y Colab de Google, puedes ejecutarlo directo en tu Google Drive, sin costo alguno.

Despliegue de mis modelos en la nube

Aún no es momento de pensar en desplegar, y sí, encontraremos muchísimas maneras de hacerlo, desde la más antigua, a la más moderna.

  • Servidores tradicionales (VMs, Bare Metal)
  • Contenedores (como AWS ECS, EKS, Fargate)
  • Sin Servers (Funciones como Servicio)

Esta es una muy buena manera de empezar, juntando serverless y Sagemaker.

Think Serverless First

Ahora podemos empezar a trabajar sin tener que correr servidores usando AWS Lambda, AWS Step Functions, Sagemaker Pipelines, AWS CodePipeline, que son servicios ya desplegados en la nube que podemos utilizar para agilizar nuestro desarrollo y puesta en marcha.

En los siguientes posts aprendemos a desplegar con AWS Lambda y Amazon Comprehend.

Amazon Comprehend y sus superpoderes

Imaginas algo tan sencillo como escribir algunas líneas de código para crear un detector de palabras y extracción de frases en tan solo unos minutos en vez de muchas horas de investigación? Es posible si empiezas a sacarle provecho a Amazon Comprehend, un poco de Python y un par de gotitas de Serverless

Extracción de frases:

Estamos usando aquí Python 3.6 con boto3, la librería

response = client.detect_key_phrases(Text=’string’,LanguageCode=’en’|’es’)

Extracción de Entidades, sentimiento, lenguaje, sintaxis, tópicos, y clasificación de documentos, son algunas de las cosas adicionales que vamos a realizar con Comprehend, así como una versión específica para Medicina, llamada Amazon Comprehend Medical

¿Con qué continuamos?

La ingesta de datos y el text Analytics, es parte de las bases importantes para comprender NLP, así que en el siguiente post, empezaremos a construir nuestra primera ingesta de datos de una web, para poder obtener datos, textos, títulos, en un data frame para jugar.

Siguiente post: (Al Aire el 02 de Abril)

Si te gustó este post, dale un like, comparte y comenta.

Rompiendo se aprende

Suscríbete a mi canal, Breaking the Cloud y Al día con AWS en https://cortez.cloud

⭐Suscríbete a mi canal : http://bit.ly/aldiaconaws

videos, noticas de AWS, análisis, demos, workshops

🔥🔥 Sígueme en mis redes 🔥🔥

follow <- me()

🦜 Mi Twitter: https://twitter.com/ccortezb

📺 Youtube Channel: http://bit.ly/aldiaconaws

📺 AWSUGPerú: https://www.youtube.com/awsusergroupperuoficial

📟 Mi Facebook: https://www.facebook.com/ccortezb/

🤳 Mi Instagram: ccortezbazan

📜 Mis cursos de AWS: https://cennticloud.thinkific.com

🕮 Mi blog — cortez.cloud

Muchas gracias, espero nos volvamos a ver

🔥🔥 Acerca de mí 🔥🔥

Cortez.Cloud/whoami

Les presento mi pequeña web personal https://www.Cortez.Cloud llamado “Breaking the Cloud”.

Seguiré creando contenido cada semana de AWS sobre Al/ML, Serverless, Security y como romper las reglas!

También mis próximas iniciativas, talleres, cursos, videos gratuitos, awsugperu y más.

--

--

Carlos E. Cortez Bazan

AWS UG Leader Perú / AWS ML Community Builder / Senior Cloud Architect