Empezando con NLP en AWS desde cero — NLP Series parte 1 | por Carlos Cortez | Breaking the Cloud
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.
- Sagemaker Studio / Sagemaker Notebooks
- Jupyter Notebooks / Jupyter Lab
- Databricks
- Colab de Google
- 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í 🔥🔥
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.