Newsletters are a great way for us to stay up to date about the topics we are interested in, however the availability of these newsletters are limited by human curation. In order to truly scale the availability of newsletters for all the topics that interests us, there has to be a system which can take the current data and generate useful snippets of information. We are interested in Startups and VC topics and thus we created CrunchLetter.
CrunchLetter is a deep learning powered newsletter generator that uses the real-time funding and startup data from Crunchbase to create newsletters in real time.
How we build it
We used Recurrent Neural Networks to train the model to learn the word and topic representations for our topic. We utilized the Techcrunch/Wordpress API to get over ~15,000 Techcrunch articles as well as 3 other Tech newsletters as our data source (over 600MB of text data). We built a Bi-directional LSTM network on Keras with Tensorflow backend to train our model. We also split our datasets into multiple chunks and used model parallelism to train them synchronously and later combined the learned weights to use on our main model. We computed over ~212,000,000 parameters in total.
This is a very challenging problem Natural Language generation problem. There were multiple constraints in terms of compute power, finding relevant data for the model, transfer learning and debugging the program in real-time. We solved lot of these problems by parallelizing the process on 4 GPUs.
We are absolutely delighted about the way we handled the persistent Out of memory constrains on the GPU by using some techniques we devised for the model. We also made the network more robust and efficient to help us train the model faster. The front-end for the app and the real time API we created for the model.
What we learned
Efficient NLP techniques, Training a very deep network on a large dataset, troubleshooting the network without losing the weights and transfer learning.
What's next for CrunchLetter
CrunchLetter is not just for tech newsletters, The algorithm can be used for generation in numerous other fields like Marketing copy, Appstore description, Social stories and others. We plan to build a robust api for our model and use it for other use cases.