Inspiration
Memes are one of the most important things on the Internet. Sure, you can use the web to find important, potentially life saving information, but that is all overrated, as the meme is what truly makes the web go around. Memes are definitely hilarious.. After all, looking at funny memes is the reason the Internet was actually invented. It is always a requirement for personalized memes for the user. An era of Artificial Intelligence, can It give us leverage to recommend user with his type of meme.
What it does
It is an web-based recommendation engine platform for the Memes. The platform provides personalized meme to the user.
How I built it
The Meme data is kept in Google cloud platform bucket. SQL database which joins meme_id and user_id with url of the meme on GCP. We have python scripts which builds the logic of recommendation engine. The webpage is developed in Node.js, HTML and CSS. As soon as user provides Like or Dislike to the meme, the sql table gets updated for that meme and recommendation engine becomes better.
The web page runs recommendation engine in the background. It is an USER-USER Collaborative filtering Recommender System.UU-CF uses that logic and recommends memes by finding similar users to the active user (to whom we are trying to recommend a movie). A specific application of this is the user-based Nearest Neighbor algorithm.
Machine Learning: We use Karl Pearson’s correlation and see how similar two users are. It is usually calculated over the items that both the users have rated in the past. But there is a problem with this approach. When the number of common ratings are not very large, the similarity value gets biased. It might be possible that 2 users have only 2 ratings in common but the value of correlation is very high or even very close to 1. To remove this, we weight the similarity. One way to do this is to calculate the numerator at the common ratings only but calculate denominator for all the ratings of both the users. Another problem in this approach of predicting the rating of a new item is, not all the users have same level of optimism while rating an item. In the beginning we provide users with random memes and ask for the rating by the users. As Machine Learning gets trained, the user starting getting much better personalized meme.
Challenges I ran into
1) Getting the Meme data. As the meme data is not open sourced. 2) Making the recommendation engine run in such a small dataset. 3) Making a webpage and link with Google cloud platform. 4) Synching the multiple users and updating the recommendation engine for the users.
Accomplishments that I'm proud of
1) Team Effort to solve this proble statement 1) Building a good recommendation engine out of limited data. 2) Running personalized webpage. 3) Search the meme according the tag of the meme. Example Politics, sports etc. 4) Listing many memes for the user in a webpage 5) Providing notification to the user for new Meme using Twilio.
What I learned
1) I learned Collaboration in the team. 2) Designing the system for recommendation engine. From Front-end to Backend to Cloud Storage 3) Different tech stack such as GCP, Python, Machine Learning, HTML, node.js, Flask etc. 4) Effectively running such system and synchronously updating the recommendation engine for multiple users.
What's next for YouandMeme
However the recommender systems employing conventional clustering techniques (KRS) like K-Means for collaborative filtering, suffer from the limitation of getting local optimum results. Using Natural Language Processing (NLP), Computer Vision to identify the meme and personalized the meme as per Hybrid recommendation engine i.e. User-User Collaborative Filtering and Content Based filtering
Log in or sign up for Devpost to join the conversation.