Hybrid algorithms to customize and optimize diversity and accuracy of recommendations