Recommendation systems or recommendation systems (sometimes replacing system with a synonym such as
platform or engine) are a subclass of information filtering system that seek to predict the rating or preference that
user would give to an item. The most popular ones are probably movies, music, news, books, research articles,
search queries, social tags, and products in general. However, there are also recommendation systems for experts,
jokes, restaurants, financial services and twitter followers.

- Collaborative Filtering: It is a technique used by some recommendation systems. It
has two senses, a narrow one and a more general one. In general, it is the process of filtering for information or patterns using techniques involving collaboration among multiple agents, viewpoints, data sources, etc.
- Content Based Filtering: This method is based on a description of the item and a profile of the users preference,keywords are used to describe the items; beside, a user profile is built to indicate the type of item this user likes. In other words, these algorithms try to recommend items that are similar to those that a user liked in the past (or is examining in the present). In particular, various candidate items are compared with items previously rated by the user and the best-matching items are recommended.