Estás leyendo la publicación: Cómo construir una canalización de NLP en AWS: hacia la IA
Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.
Aprenda a implementar código NLP en una máquina virtual
Este verano, he estado trabajando como pasante de ciencia de datos en una empresa local en los EE. UU. Un proyecto importante en el que he estado trabajando con cuatro colegas es sobre la construcción de una tubería basada en la nube para extraer automáticamente los temas discutidos más relevantes diariamente de 50,000 tweets.
En este artículo, explicaré los pasos principales que deberá seguir para crear un proyecto similar alojado en AWS.
¿Por qué usar la Nube?
Si aún no ha comenzado a estudiar cómo usar la nube, es probable que haya hecho todos sus proyectos locales. Esto no es un problema cuando tiene un software liviano que desea ejecutar a su voluntad; sin embargo, si desea algo que se ejecute en un horario diario, debe estar alojado en otro lugar. Para ello, podemos alquilar servicios en la Nube de uno de los principales Proveedores de Nube (en nuestro caso, AWS), por lo que nuestro software no necesitará nuestra computadora personal para ejecutarse.
Perfil del proyecto
El proyecto que vamos a realizar seguirá esta arquitectura y se organizará en los siguientes pasos:
- Configuración de la máquina virtual
- Escribiendo el código python
- raspado de tweets
- Modelado de temas
- Agrupación
- Visualización de datos
3. Programar la canalización para que se ejecute diariamente
¡En las manos!
Si está intentando seguir estos pasos para crear un proyecto similar, asegúrese de que ya tiene una cuenta de AWS.
1. Configurar una máquina virtual
Una máquina virtual es una computadora simulada que puede alquilar desde la nube (y que puede pagar tan solo 0,04 USD/h) que le permite ejecutar su código. El servicio de AWS que necesitará usar para configurar una VM se llama EC2.
Para mi experimento, usaré t2.small porque es la instancia más pequeña donde puedo instalar una de las bibliotecas principales que voy a usar: los transformadores de oraciones. Dependiendo de su código, incluso puede alquilar instancias EC2 más pequeñas, como t2.nano o t2.micro, que cuestan relativamente menos.
Amazon Web Services, Inc. (AWS) proporciona a individuos, empresas y gobiernos plataformas de computación en la nube para realizar varios servicios web según sea necesario. La nube de AWS tiene muchas características sobresalientes, que incluyen alta escalabilidad, alta elasticidad, alta disponibilidad, etc.
Una máquina virtual es un tipo de sistema informático que está completamente virtualizado, a diferencia de cualquier servidor físico. Una máquina virtual “toma prestada” su CPU y memoria de un servidor remoto, como AWS o de una computadora física. No solo es bastante útil para ejecutar aplicaciones y códigos que no se pueden ejecutar en computadoras locales, sino que también puede respaldar los sistemas operativos actuales de los usuarios.
2. Escriba el código de python
a. Raspado web
la biblioteca de snscrape se usa para web scraping, donde los usuarios pueden descargar una gran cantidad de tweets de Twitter según el tema y el intervalo de tiempo que especifican con Python. En nuestro caso, nos enfocamos en el tema de Covid-19 debido a sus enormes impactos en la sociedad como una pandemia global, y hemos recopilado 50,000 tweets en total.
b. Modelado de temas
Topic Modeling es un método de modelado estadístico que abstrae “temas” dentro de un conjunto de documentos.
En primer lugar, los datos se recuperan y guardan en un archivo CSV para que cada oración caiga en una línea. Luego se aplica la metodología de codificación para convertir cada oración en una coordenada en el espacio. A continuación, se implementan métodos de agrupación para etiquetar cada punto en el espacio en un grupo específico. Finalmente, todos los puntos se visualizan en el espacio.
Para realizar la codificación, vamos a utilizar una biblioteca llamada Transformadores de oraciones, que toma texto como entrada y genera un vector multidimensional. Después de la codificación, cada oración se ha convertido en una coordenada en el espacio con una dimensión de 768. Al aplicar el agrupamiento a todos nuestros datos vectorizados, podemos identificar todos los grupos que comparten contenido similar: básicamente, podemos extraer todas las tendencias/temas de nuestros tuits.
Como queremos realizar un agrupamiento simple, usamos K-Means con un número de referencia de 200 agrupamientos para todos nuestros tweets.
d. Visualización de datos
El paso final es visualizar los datos de manera clara. Un paso importante es la reducción de la dimensión de 768 a 2 (usando Umapa como algoritmo de reducción de dimensionalidad), dado que es imposible visualizar vectores de dimensiones mayores a 3, decidimos visualizar el resultado en un plano XY con trama.
En el gráfico resultante, cada punto está etiquetado con un color particular, indicando sus identidades grupales. En este caso, hay 200 grupos en total.
3. Programe la máquina virtual para que se ejecute diariamente
Para programar la máquina virtual para que se ejecute diariamente, Lambda y EventBridge son dos servicios web en AWS que se implementaron para activar y cerrar la máquina virtual automáticamente. En particular, los comandos de Lambda se usan para iniciar y detener la máquina virtual, mientras que EventBridge ayuda a Lambda a configurar un programa recurrente que activa el comando lambda.
How To Build an NLP Pipeline On AWS se publicó originalmente en Towards AI on Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.
Publicado a través de Hacia la IA