Research has proven that you can tell a lot about a person by analyzing their dreams. But more often than not, people tend to forget what they just saw in their dream, and hence can't keep track of it.
This is where AI comes into play
Since dreams carry a lot of important information about the personality, mental state and overall well being of a person, keeping ecord of the dreams we see becomes difficult. This way, even if someone is trying to keep track of their dreams, they might not be able to carry it forward for long. Also, some people are reported to have lifetime affect of some nightmares that have scarred them for life, and this tool can help make them into a very happy and motivating ending.
An AI based Text-Generation Algorithm trained on more than 29,000 real life dreams of real people . These dreams dataset have been scraped off DreamBank using a python tool. The Algorithm can listen to a short context of the dream you saw, analyze thr dream, and based on the training, perform some text generation that can complete the dream, and even convert into a realistic haply ending.
We're using the technique of Transfer Learning . We used a Recurrent Neural Network based LSTM Model for performing the task of Text Generation based on the dataset of dreams. For neural network and Algorithmic purposes, we've used Python's Tensorflow library and a helper gpt-2-simple wrapper. The Web Based interface is backed by Python Flask Server and hosts HTML web pages.
The First and Foremost challenge was to select a pre trained model, that would be a perfect fit for our task, i.e Text Generation. We did our research and found out that current the Best Open source Text Generation Model is GPT-2.
Text Generation Algorithm can work on any type of dataset, but we wanted to work on real dreams, so that the model can have a little edge over the authenticity of the dreams it would produce. Then we learned about DreamBank which is a publicly handled dataset of more than 29000 dreams. We used a Python library to scrape all of the data into a text file, which xan then be feeded to the model for training.
Since it is a very complicated and underdeveloped algorithm, it taked huge amounts of time to load into the model, and to perform the Generation Task. A lot of reloading time is being wasted in loading the model and making it usecase ready . After that the UI and UX of the website also played a critical role.
Technologies used
Discussion