
Esse repositório começou como uma extensão do Código de Assigmentação 2 do curso de profundidade de Standford na PNL. Depois de terminar a tarefa, tentei transformar o código em algo útil (você pode julgar se eu conseguir isso de qualquer forma).
Usei um RNN para criar um modelo de idioma e, com isso, criei um bot do Twitter. Existem alguns corpora na pasta 'dados':
O conjunto de dados do Penn Tree Bank (PTB).
Todos os tweets sofisticados do Presidente Trump até agora (02 de agosto de 2017).
Todas as postagens do blog do jornalista brasileiro Leornodo Sakamoto postadas até agora em seu site (02 de agosto de 2017).
Com esses corpora, criei três bots diferentes: PTBBOT, Trumpbot e Sakabot (nomes não muito originais, eu sei). A IDEIA GERAL é que você pode usar todo tipo de corpora diferente para gerar tweets mais criativos e divertidos!
Por exemplo, usando o ptbbot, twittei coisas maravilhosas como:

Para instalar todas as bibliotecas necessárias, basta executar:
$ sudo apt-get install python3-pip
$ pip3 install -r requirements.txt
Antes de começar a criar seus próprios tweets incríveis, você deve primeiro registrar seu aplicativo no Twitter. Então, a partir de agora, estou assumindo que você tem todas as informações importantes em um arquivo chamado "key.py" (esse arquivo deve estar na pasta "agente").
Primeiro, para realizar um teste completo, você pode simplesmente executar:
$ python3 src/test/test_all.py
Agora, se estiver tudo bem, você pode ir à pasta 'Tutoriais', onde todos os bots estão localizados. Vamos usar o Trumpbot como exemplo. Antes de escrever qualquer tweet, você precisa treinar o modelo:
$ cd src/tutorials/TrumpBot
$ python3 train.py
Após o treinamento, você pode interagir com o bot para escrever qualquer número de tweets; Apenas corra
$ python3 write.py
Todos os tweets que você escreveu dessa interação serão armazenados na pasta "Twitter_draft". Suponha que "date.txt" seja um arquivo de texto com alguns tweets, você pode editar este arquivo e executar:
$ python3 post.py ./twitter_draft/date.txt -m 30
O bot publicará todos os tweets em um intervalo de 30 minutos usando a conta que você escreveu no arquivo "key.py".
Agente : codifica o comportamento do bot.
Dados : Pasta com todos os corpora.
Imagens : imagens para o arquivo readme.md
Teste : testes para cada módulo.
text_processing : diferentes funções para processamento de texto.
TFTOOLS : Modelo Tensorflow RNN e funções auxiliares.
Tutoriais : Pasta com os três bots básicos.
Twitter : funções tweepy.