# Text-Generation-BiLSTM-PyTorch **Repository Path**: jxb2018/text-generation-bi-lstm-py-torch ## Basic Information - **Project Name**: Text-Generation-BiLSTM-PyTorch - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-05-25 - **Last Updated**: 2022-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Text Generation with Bi-LSTMs in PyTorch This repository presents a model for text generation using Bi-LSTM and LSTM recurrent neural networks. The model is implemented using PyTorch's LSTMCells. If you want to delve into the details regarding how the text was pre-processed, how the sequences were generated, how the Bi-LSTM & LSTM were built from the LSTMCells and how the model was trained, I highly recommend reading the blog: Text Generation with Bi-LSTM in PyTorch ## 1. Files - The ``data`` directory contains the text which we will work with. - The ``src`` directory contains the file ``model.py``which contains the neural net definition - The ``utils`` directory contains helper functions such as the preprocessor and the parser - The ``weights`` directory contains the trained weights. ## 2. The model The architecture of the proposed neural network consists of an embedding layer followed by a Bi-LSTM as well as a LSTM layer. Right after, the latter LSTM is connected to a linear layer. The following image describes the model architecure.

## 3. Dependencies In order to install the correct versions of each dependency, it is highly suggested to work under a virtual environment. In this case, I'm using the ``pipenv`` environment. To install the dependencies you just need type: ``` pipenv install ``` then, in order to lauch the environment you would need to type: ``` pipenv shell ``` ## 4. Demo For this demos we are going to make use of the book that is in the ``data/book`` directory, the credentials of the book are: ``` book_name: Jack Among the Indians author: George Bird Grinnell chapter: 1 url: https://www.gutenberg.org/cache/epub/46205/pg46205.txt ``` First lines of the book: ``` The train rushed down the hill, with a long shrieking whistle, and then began to go more and more slowly. Thomas had brushed Jack off and thanked him for the coin that he put in his hand, and with the bag in one hand and the stool in the other now went out onto the platform and down the steps, Jack closely following. ``` The best results were obtained by training the model with the following parameters: ``` python -B main.py --window 100 --epochs 50 --hidden_dim 128 --batch_size 128 --learning_rate 0.001 ``` The weights of the trained model are stored in the ``weights/``directory. To generate text, we are going to load the weights of the trained model as follows: ``` python -B main.py --load_model True --model [weights/your_model.pt] ``` The text generated is: ``` Seed: one of the prairie swellswhich gave a little wider view than most of them jack saw quite close to the Prediction: one of the prairie swellswhich gave a little wider view than most of them jack saw quite close to the wnd banngessejang boffff we outheaedd we band r hes tller a reacarof t t alethe ngothered uhe th wengaco ack fof ace ca e s alee bin cacotee tharss th band fofoutod we we ins sange trre anca y w farer we sewigalfetwher d e we n s shed pack wngaingh tthe we the we javes t supun f the har man bllle s ng ou y anghe ond we nd ba a she t t anthendwe wn me anom ly tceaig t i isesw arawns t d ks wao thalac tharr jad d anongive where the awe w we he is ma mie cack seat sesant sns t imes hethof riges we he d ooushe he hang out f t thu inong bll llveco we see s the he haa is s igg merin ishe d t san wack owhe o or th we sbe se we we inange t ts wan br seyomanthe harntho thengn th me ny we ke in acor offff of wan s arghe we t angorro the wand be thing a sth t tha alelllll willllsse of s wed w brstougof bage orore he anthesww were ofawe ce qur the he sbaing tthe bytondece nd t llllifsffo acke o t in ir me hedlff scewant pi t bri pi owasem the awh thorathas th we hed ofainginictoplid we me ``` ## 5. Comments Any comment, suggestion or colaboration, just reach me out at: fer.neutron@gmail.com Feel free to clone or fork!