Inspiration
We wanted to challenge ourselves in this hackathon. For that, we decided to try and do a recommender system, since they are all the rage nowadays. Passionate about video games, we looked for a database that could help us recommend our next big hit for this quarantine 😊We took inspiration for the logic from this paper https://arxiv.org/pdf/1708.05031.pdf
What it does
Our system takes the user’s data (past videogame purchases, rating score, product description, platform, etc) and outputs a list of recommended titles for a given user.
## How we built it Taking inspiration from a paper Neural Collaborative Filtering by He et al. (2017) we decided to start with a simple architecture that combines general matrix factorization (GMF) and multi-layer perceptron (MLP) components to learn separate user and item embeddings and combine the two models by concatenating their last hidden layer. We also augment this model with text information from product brand, description, and category (including device).
Challenges we run into
Our initial model only took into account the user id, the product id and user-item ratings. We had a lot of text data (reviews, product title, etc.) that we wanted to incorporate to the recommender system, and we found a simple way to do so. We took all the relevant text data available, concatenated it, tokenized with BERT, and fed it to an LSTM (long short term memory) component of a model. In the end, we merged LSTM output with the output from GMF and MLP before feeding it to the last dense layer. We honestly didn’t know if it would work, but it did push MSE of our model from 0.95 to 0.95 :D ! However, due to time and RAM restrictions, we could not run the updated model on all user-item pairs and get recommender system relevance metrics. Also, we were using google collab, so every time we run out of memory we had to restart the full session, and that was time-consuming.
Accomplishments that we are proud of
We successfully overcame many hurdles related to data preprocessing. Besides, our simple model did improve the metric we optimized. We believe with more effort, we could get even a better result.
What we learned
It was a lot of work getting this system to work, let alone clean and prepare the data. We learnt how to use BERT embeddings and augment an architecture of a given neural network.
What’s next for Amazon’s Videogame Recommender System
We lacked the team members to build an app. It would have been great to publish this system in a webpage or small app.
Built With
- bert
- huggingface
- keras
- python
- tensorflow

Log in or sign up for Devpost to join the conversation.