...

/

Recommendation Engines

Recommendation Engines

Learn about recommendation engines and the algorithmic techniques to build them.

We'll cover the following...

Recommendation engines are the set of algorithms in machine learning that suggest what to offer to the user. Based on the user’s past history and environmental behavior, the engine suggests a highly relevant and useful product to the user, either directly or indirectly. Here are a few examples of a popular recommendation engines:

  • Video suggestion on youtube and Netflix
  • Product suggestions on Flipkart, Amazon, Walmart, and BestBuy
  • News content suggestions on Google news
  • Hotel recommendation on booking sites like Trivago
  • Property suggestions on Magic Brick and Zillow

We are already surrounded by a large number of recommendation engines. A good recommendation engine can directly impact a business. Consider the example of Amazon. If the user buys a product, the engine recommends another product to improves overall sales. If the user finds this new product useful, they will buy it. So, the engine automatically understands the needs of the user and recommends products. For example, if a user buys a laptop, the suggestion might be a laptop stand, a charger, or maybe a speaker that connects with the machine. From the reviews of the laptop, if we know that the user often complains about small keys, the engine will suggest a better side keyboard. So, this will attract users to buy more without explicitly asking.

Approaches of recommendation engines

Recommendation engines are generally divided into two categories: content-based and collaborative filtering.

Content based recommendation engines

This engine uses the information of users and items to make predictions. For example, it uses information about the user’s past history. If the person searched about politics, the algorithm recommends more political news articles to them using the vector-based distance. Each item gives a vector of values. For each article, it gives a vector, such as written by, genre, published on, viewer count, like count, etc. This information is calculated for all the items. Now the algorithm takes the item from the user’s history and calculates the distance between the other items in the database. It returns the top-n items or all the items with distance less than the user’s threshold.

To calculate distance, we can use:

  • Euclidean distance
  • Euc(x,y)=i=1i=n(xiyi)2Euc(x,y) = \sqrt{\sum_{i=1}^{i=n}(x_i - y_i)^2} ...