Empezando con NLP en AWS desde cero - NLP Series 1
Tags: ai, aws, nlp, machinelearning
Published: 2021-03-31 04:15:22


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fcy5bb9uw68qc0xbyrnr.png)


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í: 

Al día con AWS - Ep 4 La semana de ML con algunas ROSAs en AWS (Marzo 21 al 29)
{% youtube 4yJFcv1sASA %}


## 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. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9utl41wbqw9zitcyzpl8.png)
*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..

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j48y78jfk953x9zkp8po.png)

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.  

**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 auto administrados en la nube de NLP, podemos pasar al siguiente nivel ya se con **Amazon Sagemaker**
o 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:

1. NLTK
2. Spark NLP
3. CoreNLP
4. SpaCy
5. Pytorch
6. 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.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5jfa8nsum3x9noohpl92.png)

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)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bzvxsyop79xckj137xbf.jpeg)

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.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rluc4duzbh0904ki5qno.png)

## 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](https://cortez.cloud)


_Muchas gracias, espero nos volvamos a ver_

### 🔥🔥 Acerca de mí 🔥🔥

[Cortez.Cloud/whoami](https://www.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.