Modeling a Personalized Recommendation system for eLearning [Practical Guide] — Part II

gaurav.product
product.design.data
6 min readJan 15, 2021

Series Structure

In Part 1, I provided a high-level overview of recommendation systems, how they can be built. In Part 2, I will focus on defining various components that interact with the recommendation system. This is a practical guide that can be applied in any eLearning environment dealing with real-world scenarios.

Most of the review here comes from the incredibly comprehensive study conducted in this journal, so please check it out if you want to get more details. The structure of the series will be as follows:

So without further ado, let’s jump into how to build a recommendation system from scratch for an e-Learning environment based on student’s preferences.

Introduction

Technology has swept over every aspect of our lives, including the education system. Gone are the days when students used to memorize the lessons through traditional textbooks and teaching methods. With the overwhelming number of ed-tech tools available online, students have enormous alternatives available. These tools have not only made the learning fun and engaging, but now can create a more student-centeric learning environment.

In this blog, we will focus on

  • Personalizing course to the learner’s requirement & knowledge level
  • Adapting the learning experience according to the goals set by the individual learner
  • Metrics to track — Improve student engagement & learning outcome

Wait; but why build a Recommendation system?

  • Due to a large amount of learning resources present online; it is difficult to find learning resource which is perfect for you.
  • Moreover, it is very challenging for a teacher to decide the best learning strategy for each learner and to apply it in a real classroom.
  • Most importantly, the current e-Learning systems are not providing a better facility to track the learner’s progress. It leads learners to interact less over time; thus making them disinterested to continue further.

One of the best ways to address this problem is to use recommender system techniques which can help e-learning by automatically recommending the most suitable learning resources to the learners according to their personalized preferences and profile.

E-learning recommender systems intend to recommend a sequence of items to learners, to recommend the most efficient or effective paths within a large among of learning resources to achieve a specific competence.

How to personalize a recommendation system?

This article focusses on a recommender system for e-Leaning personalization based on

  1. User’s learning activities — Learner’s profile, Level of knowledge, some other learner’s activities
  2. User’s performance (ability to track learner’s achievements) — Practical tests and exercises

Implementing the Personalized Recommendation system

The system is built using three systems

  • Learning System
  • Course System
  • Recommendation System

Figure 1 below explains the functional model of Personalized Recommendation System. The following subsections are explained below.

Fig. 1: Functional Model of Personalized Recommendation System

1. Course System

Course System contains all the information for a particular curriculum you want to learn. Course content model is built in three layers

  1. Each course is divided into many topics
  2. Each topic is presented by a set of Lessons
  3. Each Lesson is associated with different learning objects (LO)

A learning object (LO) holds one unit of knowledge and various entities such as lecture notes, videos, activities, presentations, questions, examples, exercises, etc. Each course combines the different levels of the tests to identify the learner's level of knowledge. The course model is shown in Fig 2.

Fig. 2: Course Model

Defining entities in the system

Before we proceed further, each of these entity needs to be defined in the system (dB). Entity have their own properties. These properties (as shown in figure 3) helps define the connection and the relationship between all entities as well as it will help in searching and reusing the learning material later.

Fig. 3: Defining Entities for the course

Linking ‘Learning Object’ with tests

As you take up any course; each concept, topic, and learning object should have a specified achievement level and its prerequisites.

  • Achievement level defines whether a learning object is obligatory or optional
  • Prerequisites define what learning objects, topics, or concepts must be learned in order to gain the necessary prerequisite knowledge before studying that specific learning object.

Each learning object contains a group of tests; every test is represented by a type (assessment, final test, initial test…) and contains many questions. The question is defined by a type, level of difficulty (easy, medium and hard) and knowledge level which defines if it is a basic level or advanced level.

Fig. 4: Test Model
Fig. 5: Example of Test Model

2. Learning System

Learning system plays an important role in defining the success of user’s learning. It contains the following

  1. Learner profile of a learner which stores how the learner learns best. This is collected from the student or by analyzing his behavior through a learning management system (LMS). A new user who enrolls in a particular course goes through an initial level test to determine the initial level of knowledge and the test scores help build the learner profile.
  2. The questions in the initial level test are generated according to the level and the discipline of students and classified by orders of difficulty. The obtained results is treated in an algorithm of classification wish allow system to know the level of a student and affect him afterward to a class according to his level.
Fig. 6: Learner’s Model

There are various important attributes that get stored in the learning system

  • Static — Name, Age, Gender and so on (stored in ‘user dB’)
  • Dynamic — Learning level, learning goal, current knowledge level etc (stored in ‘learning preference’ dB). These values keep on getting updated constantly during the learning of the user.

Next, we will focus on building a recommendation system; and how it interacts with learning system and course system.

I hope this case study was useful in helping you understand the building blocks to implement a recommendation system in e-Learning environment. Now continue on to Part III: Build a Recommendation System with Collaborative Filtering for eLearning

If you learned something new or enjoyed reading this article, please clap it up 👏 and share it so that others will see it. Feel free to leave a comment too.

--

--