This is implementation of A Neural Probabilistic Language Model paper from 2003 from scratch without using any inbuilt python functions. The implementation is building a neural net to generate new names given it is trained with person names.
The same code can be used to generate new sentences and passages ,given that it is trained on sufficiently huge training data.
On the top of that basic implemntations , I have included some good practices like batch normalization, Zaviour initilization , Adam optimizer and these samples from each model are commented at the end of code.
The link to original papar is : https://dl.acm.org/doi/10.5555/944919.944966