© The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2023
A. Kulkarni et al.Applied Recommender Systems with Pythonhttps://doi.org/10.1007/978-1-4842-8954-9_11

11. Emerging Areas and Techniques in Recommender Systems

Akshay Kulkarni1  , Adarsha Shivananda2, Anoosh Kulkarni3 and V Adithya Krishnan4
(1)
Bangalore, Karnataka, India
(2)
Hosanagara tq, Shimoga dt, Karnataka, India
(3)
Bangalore, India
(4)
Navi Mumbai, India
 

This book has shown you multiple implementations of recommender systems (also known as recommendation systems) using various techniques. You have gained a holistic view of all these methods. Topics like deep learning and graph-based approaches are still improving. Recommender systems have been a major research interest for a long time. Newer, more complex, and more interesting avenues have been discovered, and research continues in the same direction.

This chapter looks at real-time, context-aware, conversational, and multi-task recommenders to showcase the vast potential for research and growth in this field.

Real-Time Recommendations

In general, batch recommendations are computationally inexpensive and preferred because they can be generated daily (for example) and are much simpler to operationalize. But recently, more focus has been on developing real-time recommendations. Real-time recommendations are generally more computationally expensive since they must be generated on-demand and are based on live user interactions. Operationalizing real-time recommendations is also more complex.

Then why are real-time recommendations needed? They are essential when a time-based and mission-centric customer journey depends on context. In most scenarios, real-time demand needs to be met before the user loses interest and the demand fades. Also, real-time analysis of a customer’s journey leads to better recommendations in the current scenario. Conversely, a batch recommendation suggests products similar to those seen/bought by a customer in previous interactions.

Conversational Recommendations

Recent years have seen a lot of research and effort in developing more conversational systems. It is believed to revolutionize how human-computer interactions happen in the future. This influence can also be seen in the recent developments in recommender systems in the form of conversational systems.

Figure 11-1 shows the system design of conversational recommenders.

A system design architecture of conversational recommenders. It starts with input processing, output generation, dialogue management system, user modelling system, recommendation engine to domain and background knowledge.

Figure 11-1

System design of conversational recommendations

Conversational recommender systems aim to produce recommendations from textual/spoken dialogs so that the users can interact with a computer in a natural, conversational manner. It has recently become extremely popular and is extensively used in voice assistants and chatbots. It uses natural language understanding (input) and generation (output). The different actions for various input dialogs are generated with the help of a dialog management system.

Context-Aware Recommenders

Researchers and practitioners have recognized the importance of contextual information in many fields, such as e-commerce personalization, information retrieval, ubiquitous and mobile computing, data mining, marketing, and management. Although there has been a lot of research in recommender systems, many existing approaches do not consider other contextual information, such as time, place, or other people’s company, to find the most relevant. It focuses on recommending articles to users. (such as watching a movie or eating). There is a growing understanding that relevant contextual information is important in recommender systems and that it is important to consider it when making recommendations.

Context-aware recommender systems represent an emerging area of ​​experimentation and research aimed at delivering more accurate content based on the user’s context at any given moment. For example, is the user at home or on the go? Are they using a large or small screen? Morning or evening? Given the data available to a particular user, the contextual system may provide recommendations that the user will likely accept in these scenarios.

Figure 11-2 shows different types of contextual recommenders.

A flow chart depicts the types of contextual recommenders. It includes content and collaborative based, hybrid to contextual recommenders.

Figure 11-2

Different types of contextual recommenders

Multi-task Recommenders

In many domains, there are several rich and important sources of feedback to draw from while building a recommender system. For example, e-commerce websites generally record user visits (to product pages), user clicks (click-stream data), additions to carts, and purchases made at every user and item level. Post-purchase inputs like reviews and returns are also recorded.

Integrating these different forms of feedback is critical to building systems that yield better results rather than building a task-specific model. This is especially true where some data is sparse (purchases, returns, and reviews) and some data is abundant (such as clicks). In these scenarios, a joint model may use representations obtained from an abundant task to improve its predictions on a sparse one through a phenomenon known as transfer learning.

Multi-task learning is an ML learning approach in which multiple learning tasks are simultaneously tackled while exploiting their commonalities and differences. It has been predominantly used in NLP and computer vision, which has been quite successful. In recent times, the use of this method in building robust recommender systems has garnered a lot of interest. Building deep neural networks based on multi-task learning is widely used due to its multiple advantages.
  • It avoids overfitting.

  • It provides interpretable outputs to explain recommendations.

  • It implicitly expands the data and thereby alleviates the sparsity problem.

Figure 11-3 explains the architecture of multi-task learning.

An architecture of multitasking. It consists of three tasks specified layers task A, B, and C and shared layers.

Figure 11-3

Multi-task learning architecture

You can also deploy multi-task learning to tackle cross-domain recommendations, where generating recommendations for each domain is a separate task.

Joint Representation Learning

Joint Representation Learning (JRL), a recent approach, is capable of learning multi-representation models of users and items simultaneously. It uses a deep representation learning architecture, where each type of information source (textual review, product images, rating points, etc.) is adopted to learn appropriate user and item representations.

Figure 11-4 explains the representation of JRL.

A set of three flow charts depict the J R L representation. It includes representation learning of reviews, representation learning of images, and representation learning of ratings.

Figure 11-4

Representation of JRL

In JRL, multiple representations from different sources are integrated through a separate layer that obtains common representations for users and items. Finally, the per-source and joint representation layers are trained using pairwise learning to rank the top N recommendations. JRL is generally much quicker in online predictions than other deep learning approaches since it uses simple vector multiplications.

Conclusion

Recommender systems have been gaining traction since the start of the e-commerce era, but it has been around for some time. The first recommender system was developed in 1979 in a system called Grundy, a computer-based librarian that offered suggestions on books to read. The first commercial use of recommender systems was in the early 1990s. Since then, it has taken off because the financial incentives and time-saving qualities that recommender systems provide are unmatchable. Recommender systems have become essential for better user experience in many domains. The most popular example is that of Netflix and its recommendation engine, which receives heavy funding and focuses on research and development.

The constant need for recommender systems and their importance in various domains has led to a huge demand for building good, reliable, and robust systems. It calls for more research and innovation in developing these systems. This benefits businesses and helps users save time in making decisions and getting the most suitable option, which would be missed in most scenarios if done manually.

This book presented the various popular methods to implement an end-to-end recommender system in Python, ranging from basic arithmetic operations to advanced graph-based systems. All these methods can be useful depending on the requirements and the domain. Hands-on knowledge of these approaches will assist you in building the ideal Recommendation Engine (RC). We hope that this book is a useful tool for developers and practitioners. It should ease and further elevate the ongoing work and research in this exciting field by providing a deeper knowledge of the various concepts and implementation of recommendation engines.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.197.221