Real-time personalized recommendations­ with Deep Learning

foto van Rick Groenen
Rick Groenen

August 6th, 2018

In this article we elaborate on the application of Deep Learning techniques in combination with recommendation systems and discover how this combination can be considered as the next step in personalized recommendations.

Recommendation systems have been around for years and are used more in business applications every day. Nowadays, almost every consumer has encountered and benefited from the helping hand of a recommendation system. For example, when discovering new music on Spotify, checking their newsfeed on Facebook, shopping at e-commerce websites or when booking their next summer holiday. These recommendation systems have a fair good sense of which products or items you might like and are likely to fit your taste. This decreases search costs and efforts for the consumer. When the given recommendations are relevant, consumers will remain discovering new songs and movies and keep shopping in your webshop. As a result, conversion rates and the customer lifetime value increases.

Over the years recommendation systems have become more advanced and thereby better in predicting consumer needs. They get more sophisticated,  take more relevant factors into account and are able to find deeper patterns because of a increase in computational power. An exciting development in the field of recommendation systems can be found in the use of Deep Learning techniques. 

An introduction to Deep Learning

To be able to explain how Deep Learning techniques are contributing to the development of personalized recommendations, we first have to get a general understanding of what Deep Learning is. Deep Learning is a subfield of Machine Learning, which itself is a subfield of Artificial Intelligence (Read more about these topics in our blog What is Artificial Intelligence). Deep Learning can be seen as a next step in Machine Learning and differentiates from Machine Learning on how the algorithms operate and come to certain outcomes.

When applying Machine Learning, data scientists are to a certain extent limited in exploiting complex but relevant patterns. Take for example the situation in which the color of an item is influencing the price, then color is given as human input being an important factor and the algorithm is programmed to use this data to make price predictions based on color. Deep Learning algorithms can determine what input factors are important themselves. By learning from the dataset, the algorithm is able to find patterns in the data that possibly would  never been recognized by a human. 

the advantage of deep learning?

So Deep Learning is able to determine what variables are important without human interfering. But what is the advantage of this structure in comparison to Machine Learning? Let’s take the example of a picture of a cat. When humans see a picture of cat it takes us only a fraction of a second to consider that it is a cat, becaused we've learned this during our life. However, for a computer this picture is still just a collection of pixels containing colors. Nevertheless, the information about the colors in a picture is not enough to accurately predict what the picture shows. Deep learning combines the information about the colors in diverse ways and thereby generates other information such as shape. This enables Deep Learning to detect shades or edges. By looking at the pictures in various ways, Deep Learning finds enough information about a picture to draw conclusions about what the picture is displaying and what factors determine whether it's a cat or not.

Deep Learning visualized as human brain

In fact, Deep Learning algorithms have managed to mimic a process of the human brain. In our brain many neurons work together to learn what factors generally belong to a cat, and if enough of them are present we see it as a cat. Deep Learning techniques do the same, however they find the factors which determine whether it is a cat or not themselves. These factors might change significantly from the things we have learned in our childhood!

The disadvantages of traditional recommendation systems

Now, we have some basic understanding of Deep Learning, let’s get back to the traditional recommendation system. A major drawback of traditional recommendation systems is that it needs a lot of historical consumer data in order to make relevant and personalized recommendations. A recommendation system needs item data, which are the characteristics of a product (e.g. color, size, style) and user data (e.g. demographics, click behavior, transactional data etc.). The more item-user combinations are known and given as input the better the algorithm predicts. However, user-item (or customer-product) matrices are typically very sparse, which is a well-known drawback of traditional recommendation systems.

An even bigger problem for traditional recommendation systems is the changing preferences of consumers over time. What consumers liked in the past, is not always a good predictor for future buying intentions. 

An example can be found in holiday destinations. Imagine a couple that annually books a romantic vacation to Italy. However, situations change and the next year they got a baby. Their preferences change and instead of a luxury hotel in the center of Rome, they are now looking for a private apartment in the quieter areas of Italy. Because holiday bookings in general have really few touchpoints and transactional data, it is very important that the algorithm is able to quickly adjust to this new scenario and become relevant again.

Predict the future with true personalized recommendations

The Short Long-Term Memory model is a popular and promising Deep Learning technique that can overcome these problems. The model can be extremely effective if you have no historical data and need to make relevant recommendations on information you just gathered, for example clicking behavior on a website during a first visit. Based on these clicks the algotrithm can produce personalized recommendations for new website visitor. The model doesn’t need any historical data, customer characteristics or buying history. 

This is possible because the clicking behavior of a customer contains a lot more information than just the number of clicks on an item. The algorithm can learn which clicks are related to each other by discovering deeper patterns in the data, this enables the algorithm to understand why somebody is clicking on specific items. 

Note: A Deep Learning algorithm doesn’t explain why, it just knows intuitively that something is connecting these items. 

The algorithm creates a long-term memory, but it is still able to adapt to situational or context changes in the short-term. Based on the long-term data that is generated in previous sessions, the algorithms decide which data should be kept but at the same time decide which relevant short-term information should be taken into account too. This technique overcomes the disadvantage of traditional recommendation systems of being rigid. The model isn’t solely focused on past behavior and is therefore looking forward instead of backwards.

Short term long term model

Personalized recommendation with Deep Learning: A humanlike artificial assistance

Using a Deep Learning technique for recommendations, two major drawbacks can be tackled; volume and rigidness. These recommendations take the changing preferences of your consumers into account. This interaction between consumer and technique looks very similar to a human assistance. The algorithm processes consumer information comparable to how a sales representative would in a psychical store. Take for example a holiday provider, when someone is entering the shop, the assistance will probably propose different holidays and based on the reaction of the customer adjust his recommendations to better fit the taste of the customer. The same holds for Deep Learning recommendations, based on real-time clicking behavior, new information will be retrieved. This can be seen as the algorithm listening to the customer and adjusting the recommendation in real time. This enables you to recommend the items the customer is likely wanting to buy at that specific moment. Imagine the difference in conversion rates if a sales representative is or isn’t listening to a consumer’s reaction to offerings.

Applying Deep Learning techniques for recommendations means that the recommendations stay relevant and highly personalized over time. You are now able to foresee the future instead of looking into the past. This is how relationships are used to be built in offline stores. Now the time has come to apply this in our online shops!