Representation learning for Recommendation System