Elon Musk AI Text Generator con LSTM en Tensorflow 2

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

Contenidos

Introducción

Elon Musk se ha convertido en una sensación de Internet en los últimos años, con sus puntos de vista sobre el futuro, su personalidad divertida y su pasión por la tecnología. A estas alturas todo el mundo lo conoce, ya sea como ese tipo de autos eléctricos o como ese tipo que construye lanzallamas. Él es mayormente activo en su Twitter, donde comparte todo, ¡incluso memes!

1icw_glmzjyfk_g4qb39bzq-2217409

Él inspira a muchos jóvenes en la industria de TI, y yo quería hacer un pequeño proyecto divertido, donde crearía una IA que generaría texto basado en sus publicaciones anteriores en Twitter. Quería resumir su estilo y ver qué tipo de resultados extraños obtendría.

Preparación

Los datos que estoy usando fueron extraídos directamente del twitter de Elon Musk, tanto de sus publicaciones como de sus respuestas. Puede descargar el conjunto de datos en este Enlace.

Importando las bibliotecas:

Ahora voy a crear la función que eliminará todos los enlaces, los hashtags, las etiquetas y todas las cosas que confundirán al modelo para que nos quedemos con texto limpio.

Definamos un tokenizador y aplíquelo al texto. Así es como estamos mapeando todas las palabras en sus representaciones numéricas. Hacemos eso porque las redes neuronales no pueden aceptar cadenas. Si eres nuevo en eso, hay una gran serie en Youtube de Lawrence Moroney, que te sugiero que consultes a continuación:

Ahora tendremos que definir max_length (todos los datos deben rellenarse a una longitud fija, al igual que con Convolutions), y también debemos convertir input_sequences en una matriz numpy.

Vamos a crear secuencias de datos, donde usaremos todos los elementos excepto el último como nuestra X, y el último elemento como la y, de nuestros datos. Además, nuestra y es una representación única de total_words, que a veces puede ser una gran cantidad de datos (si total_words es 5952, eso significa que cada y tiene la forma (5952,))

Modelo

A continuación se muestra la configuración de nuestro modelo.

Probé un par de optimizadores y descubrí que Adam funciona mejor para este ejemplo. Compilemos y ejecutemos el modelo:

Creemos un ‘bucle for’, que generará texto nuevo, basado en seed_text y la cantidad de palabras que definiremos. Esta parte del código puede parecer un poco intimidante, pero una vez que lea atentamente cada línea, verá que ya hemos hecho algo similar antes.

Ahora es el momento de jugar con nuestro modelo. ¡Guau!


Resumen

¿¡El espacio es una gran combinación de gatos !? ¡Quién lo hubiera sabido! Como puede ver, los resultados que da el modelo son tontos y no tienen mucho sentido. Al igual que con todos los modelos de aprendizaje profundo, hay muchas cosas que podrían modificarse para generar mejores resultados. Te lo dejo a ti.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.