Modeling a Personalized Recommendation system for eLearning [Practical Guide] — Part II
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:
- Part I: Intro to Recommendation systems
- Part II: Modeling a personalized recommendation system for eLearning
- Part III: Build a Recommendation System with Collaborative Filtering for eLearning
- Part IV: Measuring the performance of recommendation system: Metrics
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
- User’s learning activities — Learner’s profile, Level of knowledge, some other learner’s activities
- 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.
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
- Each course is divided into many topics
- Each topic is presented by a set of Lessons
- 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.
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.
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.
2. Learning System
Learning system plays an important role in defining the success of user’s learning. It contains the following
- 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.
- 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.
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