Recommender Systems: Techniques, Applications, and Challenges