Introduction
Your learning platform includes an AI-powered recommendation engine, whose responsibility is to produce different kinds of personalized suggestions. Learn more about where and how suggestions come into play in your learning platform from the dedicated Knowledge Base article (Personalized suggestions section).
This article provides an overview of the general principles and the techniques that are used by the recommendation engine to compute and deliver such suggestions, as well as of the information about learners and training materials that it currently leverages.
History-Based Suggestions
Our personalized suggestions derive from the analysis of learners’ history within the learning platform. That means that the principal source of information for the recommendation engine is the cumulative sequence of interactions that each learner has had with the various learning materials in the learning platform.
More specifically, we consider the following interactions in our recommendation engine:
- The completion of courses as for formal courses
- The views of an asset, the rating of an asset and the invitation made to other learners to view that asset as for informal assets
The recommendation engine uses such interaction history to build a large matrix of Learners vs. Content. An intuitive view of this matrix is shown below.
From this matrix, the recommender system is able to derive, using a well-known matrix factorization algorithm, a multi-dimensional metric space, in which users and pisces of content are embedded within the same system of coordinates. A representation of such a metric space is visible below.
Please note: for the display purposes here a two-dimensional metric space is presented, whereas in a real case the metric space will have a much larger number of dimensions.
The benefit of such a metric space is that we can derive measures of distance or proximity between users and pieces of content; in other words, we can tell which users are close to which pieces of content.
The proximity interpretation is of particular interest: for instance, when a user U is particularly close to a content C in their metric space, it means that content C has been viewed by other users that have a history of interactions particularly similar to that of U.
This is the basis for producing our personalized suggestions: the recommendation engine computes the distances between users and embedded content in the metric space according to the matrix factorization algorithm and extracts those pieces of content that are closest to a particular user, since they are the ones which are most likely of interest to that user.
Further considerations also apply: obviously no pieces of content that the user has already viewed are suggested; moreover, only those pieces of content made accessible to a specific user will be suggested, in order to respect the visibility rules of the teaching materials that have been set in your learning platform.
Contextualized Suggestions
The recommendation engine also leverages the proximity in between different pieces of content, to add contextualization to the suggestions produced for a given user U. It considers the last content C viewed by U (or the one currently being viewed), and computes what other pieces of content are the closest to C in the metric space. These will be part of the suggestions, together with the pieces of content closest to U.
Working With Short History
Since the recommendation engine is currently based on interaction history that accumulates over time as users take advantage of training materials in the platform when a brand new platform is launched there is no sufficient data to produce significant suggestions. As more interactions occur within the platform, however, the recommendation engine is able to populate the matrix, and as a general rule, the more the learning platform is used, the more specific and personalized the suggestions will become.
Likewise, when a user's history is empty or very short - such as a new user on the platform, or some users who rarely interact with any content - the recommendation engine may not produce suggestions for that user. But as the user grasps more and more opportunities to learn within her platform, he or she will start to see personalized tips appearing.
Updating The Interaction History
As learners continue to use the learning platform and interact with pieces of content, the matrix capturing their interaction history of course changes. The recommendation engine re-computes that matrix periodically to reflect the latest interactions, then re-applies the matrix factorization algorithm to create an up-to-date metric space.
Since in a real use case the interaction matrix can become very large and the computations required to obtain the matrix and the corresponding metric space take a long time, we currently schedule such an update procedure for any given learning platform every few days. For this reason, it's important to remember that the latest interactions between users and content may not be taken into account when computing their personalized suggestions, until the next update iteration for your learning platform takes effect.
Technical Limitations
For very large numbers of users and/or pieces of content, i.e. above 1 million, the current technical implementation of the recommendation algorithm may not be able to produce the User vs. Content matrix described in this article. In those rare cases, the content suggestion functionality does not work and suggestions will not be produced.