In this project, i will analyze the interactions that users have with articles on IBM Watson Studio Platform & provide recommendations about articles they would like. Below is the example of how the user dashboard looks like displaying the articles.
The above dashboard suggests only new articles. I will be using recommendation system using machine learning and recommend:
a) articles pertinent to a specific user based on history
b) Top articles for new users
Following are the files included:
A) Jupyter notebook which contains python code - Recommendations_with_IBM.jpynb
B) Text files (.CSV) - articles_community and user-item interactions
C) Python Scripts to test our code - project_tests.py
Following libraries are used in this project:
Pandas
Numpy
Seaborn
Matplotlib
Project_tests
Pickle
Progressbar
Scikit Learn
NLTK
Performed Exploratory Data Analysis (EDA) to understand the data i would be working & visualizations.
Started with Rank based recommendations to find the most popular articles based on the most interactions
In order to strengthen recommendations further, built User-User based Collaborative recommendation engine so that i looked at users that are similar in terms of articles they interacted with & then recommend to other users who are similar
Using Natural Language Processing (NLP), developed Content Based Recommendations.
Finally to complete, used machine learning approach with Singular Value Decomposition (SVD) using user-item interactions, build a matrix decomposition & then predict new articles that users might be interested in.
I would like to thank Udacity for the knowledge on Experimental design & recommendations and IBM Watson for the data so that i could apply my concepts in building a recommendation system.