recommendation-systems a detailed study of recommendation systems and the different techniques involved