We wanted to see if a computer can help draw unexpected connections between ideas. This is, in a way, an attempt to visualize computer's subjective interpretations using deep neural networks as its backbone.
What it does
MindNotes can spark inspirations and creativity.
MindNotes can take people's thoughts and ideas, then visualize them according to its semantic similarities and sentiment. Positions and colors in the map represent similarities and sentiment, respectively. It can be used as a diary, mood tracker/analysis, self analysis, creative notes, new brain mapping, thoughts visualization, interests exportation, etc.
How we built it
Using the English embeddings from a language model, we evaluated the similarities of each note. T-distributed Stochastic Neighbor Embedding (tSNE) was used to visualize the 4096 dimensional embeddings. We used Flask to make it a nice RESTful API. From this backend, Vue.js was used to construct the frontend.
Notes are colored on the map using a separate sentiment analysis model.
Challenges we ran into
Getting the Natural Language Processing model to work was one of the biggest challenges. We tried a few different language models to get the positions that are somewhat explainable. It is hard to decide what is the "right" position for each note, but that is the exact point of this app. It gives you a subjective insight into your thoughts.
Accomplishments that we're proud of
We could extract the (x, y) position information from embeddings and it makes sense!
What we learned
Each member learned a lot from this experience. Some of us focused on NLP and what "similarities" mean in this context. Others learned how to construct frontend using Vue.js by handling API requests asynchronously.
What's next for MindNotes
- Use authentication
- Tweet scraping