Reply is the place to meet an incredible variety of enthusiastic, passionate, ideas-driven people, who want to make a difference and an impact.Would you like to know more?
Recommendation Systems everywhere. Recommendation Systems are systems that suggest personalised and relevant content to website or app users from among the thousands or millions of items in a catalogue. Amazon, Netflix and Spotify are just a few examples of large global companies that use recommendation algorithms to try to facilitate our browsing and exploration of the catalogue. The aims are extremely simple and wide-ranging: cross-selling, up-selling, improving user loyalty, encouraging different content use and sparking curiosity. It is estimated that some 30% of page-views on Amazon are due to the effects of the Recommendation System; for Netflix, fully 80% of films are watched as a result of recommendations. There is no mystery behind traditional collaborative algorithms: they simply try to suggest similar content to what we have previously watched, or what other users with similar tastes to us have been watching. These approaches have delivered solid results since the start of the new millennium. Yet we can go even further using Deep Learning and Knowledge Graph methods that leverage contextual and unstructured data.
We live in an age of artificial intelligence. Increasingly we hear about Deep Learning, which is a mode of learning that replicates human reasoning in algorithmic form using deep artificial neural networks. Deep Learning is not the future, it is the present: whereas until a few years ago it only seemed applicable in the academic and research world, in the past year we have seen the transition of Deep Learning to its current status as a commodity, with specialised libraries and tools such as Theano, Caffe, Lasagne and TensorFlow. The revolution ushered in by Deep Learning is evident on numerous fronts. In 2015 for example, algorithms that exploit deep neural networks surpassed human capacity in basic tasks such as image recognition and audio transcription. The merits of Deep Learning lie in its ability to deliver better results by increasing the complexity of the neural network or adding input data to the model. From a performance point of view, the ability to use GPU for massive computations has also facilitated the introduction of more complex algorithms in production environments. While they do not possess the technical expertise of data science and computational capabilities to train neural networks on new datasets, pre-trained models already exist that offer very high accuracy on multiple fronts. From the Robotics for Customers perspective, Deep Learning algorithms allow unstructured data with a high information content to be incorporated within the recommendation model, unlike traditional approaches, which, as mentioned earlier, only use data from user-item interaction. Try to imagine a Recommendation System that has to recommend a new track for a playlist: using RNN (Recurrent Neural Networks) and CNN (Convolutional Neural Networks), we are now able to add the audio of each track as input to our recommendation models. When it comes to films or books, the videos and texts are used directly as algorithm inputs. In many online systems, user-system interactions are organised in sessions, sequences of interactions that occur within a given timeframe and in a specific order. Traditional Recommendation Systems generate their output by taking into account only the last user interaction, regardless of his or her browsing history, or the time and order in which the content is used. Recurrent Neural Networks (RNN), due to their ability to “memorise” past states, herald a new frontier in Recommendation Systems. We're talking about the so-called “session-based recommendations” which, based on the sequence of items consulted during a session, via LSTM (Long Short Term Memory) networks, recommend the next best item depending on the user’s preferences (next best item problem).
From a data-driven perspective, the basic building block is obviously data, the source from which useful information is extracted to generate value for the business. When the data available do not contain sufficient information content, the only alternative is to try to expand the knowledge available by looking elsewhere, in the world of open data: Word-Net and DBpedia are two examples of ontology (i.e. the formalisation of types, attributes and relationships between entities belonging to the same domain) used for the data enrichment phase. This is essential to provide accurate recommendations by anticipating the customer’s preferences. In the context of customer recommendations, additional information is therefore organised according to a Knowledge Graph, collections of entities with a defined type and properties, interconnected through relationships in a typical graph structure. Knowledge Graph approaches are useful for enhancing the performance of traditional techniques, exploiting contextual information – often catalogue items (films, books, songs, etc.) – and providing an insight into the correlation between different user-item pairs. Knowledge Graphs are often used in conjunction with Deep Learning (2vec models) to represent each individual relationship of the graph in a two-dimensional space, where it is easy to apply a collaborative model.
The innovations described are the result of two years’ research into Recommendation Systems, which only began to be hyped in 2017. Clearly the Deep Learning and Knowledge Graph revolution is only just beginning. However, Reply – given the expertise it developed while producing numerous PoCs with open-source Big Data technology – can be regarded as being at the forefront of these concepts, which will inevitably shape the future of Recommendation Systems, from both an algorithmic and architectural point of view. In this respect, Reply has defined the framework Robotics for Customers, which distils the approaches of the different Reply companies and allows rapid recommendation solutions to be integrated on each platform. The approach is completely data-driven and customer-oriented, based on an agile methodology: the project phase follows iterative cycles of prototyping and online validation of the results with A/B testing, thus directly involving end users in the algorithm validation loop. Continuous tuning allows different models to be tested, encouraging the implementation of innovative techniques such as Deep Learning and Knowledge Graphs during the project life cycle by taking a systematic approach that minimises time to market.