
Este repositorio comenzó como una extensión del Código de Assigación 2 del curso de inclinación profunda de Standford en PNL. Después de terminar la tarea, intenté transformar el código en algo útil (puede juzgar si logro eso en cualquier forma).
Usé un RNN para crear un modelo de idioma y con eso creé un bot de Twitter. Hay algunos corpus en la carpeta 'datos':
El conjunto de datos Penn Tree Bank (PTB).
Todos los tweets sofisticados del presidente Trump tuitearon hasta ahora (02 de agosto de 2017).
Todas las publicaciones de blog del jornalista brasileño Leornardo Sakamoto publicaron hasta ahora en su sitio (2 de agosto de 2017).
Con estos corpus creé tres bots diferentes: Ptbbot, Trumpbot y Sakabot (no se conozco). ¡La ideia general es que puede usar todo tipo de corpus diferentes para generar tweets más creativos y divertidos!
Por ejemplo, usando el ptbbot tuiteé cosas maravillosas como:

Para instalar todas las bibliotecas requeridas, simplemente se ejecute:
$ sudo apt-get install python3-pip
$ pip3 install -r requirements.txt
Antes de comenzar a crear sus propios tweets increíbles, primero debe registrar su aplicación en Twitter. Entonces, a partir de ahora, supongo que tiene toda la información clave en un archivo llamado "Key.py" (este archivo debe estar en la carpeta "Agente").
Primero, para realizar una prueba completa, simplemente puede ejecutar:
$ python3 src/test/test_all.py
Ahora, si todo está bien, puede ir a la carpeta 'Tutoriales' donde se encuentran todos los bots. Usemos el Trumpbot como ejemplo. Antes de escribir cualquier tweet que necesite entrenar al modelo:
$ cd src/tutorials/TrumpBot
$ python3 train.py
Después del entrenamiento, puede interactuar con el bot para escribir cualquier cantidad de tweets; Solo corre
$ python3 write.py
Todos los tweets que escribió de esta interacción se almacenarán en la carpeta "Twitter_draft". Suponga que "date.txt" es un archivo de texto con algunos tweets, puede editar este archivo y luego ejecutar:
$ python3 post.py ./twitter_draft/date.txt -m 30
El bot publicará todos los tweets en un intervalo de 30 minutos usando la cuenta que escribió en el archivo "key.py".
Agente : Códigos para el comportamiento del bot.
Datos : Carpeta con todos los corpus.
Imágenes : Imágenes para el archivo ReadMe.md
Prueba : pruebas para cada módulo.
text_processing : diferentes funciones para el procesamiento de texto.
Tftools : modelo TensorFlow RNN y funciones auxiliares.
Tutoriales : carpeta con los tres bots básicos.
Twitter : Funciones de Tweepy.