The Giver

Many times we may struggle to brainstorm gift ideas to give to our peers. The Giver was a project developed as a final project for the language and information course (CS4300) at Cornell University.
The Giver is a web application that provides gift suggestions to users based on a gift receiver's likes and interests. The dataset used for this project is Amazon items. Using a bag of words model, we stored each Amazon item as a vector of its description and features. We then stored all of our documents using an inverted index, the keys being the words and values being a list of all documents containing that word. We used TF-IDF to correctly weight the important terms. Common filler words like 'the' or 'a' are weighted less. 2 methods were used to return relevant documents to users. These would be cosine similarity and singular vector decomposition (SVD).
To further filter results, we implemented Rocchio's algorithm to provide more relevant results based on the user's feedback. The app performed well when testing it amongst various prompts and asking our classmates to provide feedback.

Technologies Used

Flask, Bag of Words, TF-IDF, SVD