Keywords

1 Introduction

Acharya is a free and open-source contemporary e-learning platform developed with the prime motive to promote free high-quality education. An e-learning platform is an integrated set of interactive online services that provide trainers, learners, and others involved in education seeking personalized content in high quality, with information, tools, and resources to support and enhance education delivery. The letter “e” in e-learning stands for “electronic”, e-learning in-corporates all educational activities that are carried out by individuals or groups working online or offline, and synchronously or asynchronously via networked or standalone computers and other electronic devices [1]. Acharya is an innovative idea to provide free education by collaborating knowledge seekers and knowledge providers under one roof. It encourages peer-learning through multiple tutorial videos, which makes their learning process more effective. Acharya is a free and open-source contemporary e-learning platform developed with the prime motive to promote free high-quality education. Video tutorials are one of the best methods to grab a variety of content at a time. One of the major goals of using video multimedia tutorials is to transform a passive viewing experience into an active learning experience. So learners get a clear cut picture of their topic, which helps them to perform well in their future. Allowing students to submit online assessment forms can help teachers identify and apply many strategies to motivate them [2]. Acharya provides multiple collaborator’s videos on a single topic so that learners can choose the better one. We provide learners with a choice. If a learner is not interested in the style in which a collaborator explains a topic, learners can switch to another presentation. Acharya is a community learning platform, so every interested one can share their knowledge in the topics that are specified in the syllabus of Acharya.

2 Related Works

Recommender systems are used to predict the rating that the user will give to an item if this is going to be the first time to be seen on the site [3], by using information filtering systems from the user’s rating list history on the site [4] or by finding the item’s similarity specification [5] or by finding the common interests using demographic information from their profile [6].

In [7], suggests a system which creates a comparison metric for related videos on YouTube. The metric is created by extracting the available comments. The comments are analyzed for the keywords. The analysis leads to the rejection of videos which does not satisfy certain constraints.

Rishad et al. [8] presents a syllabus driven E-learning platform which uses the application of fuzzy logic in video recommendation for its system. A recommendation technique is used to rank the videos by considering factors like comments and likes, which helps to recommend the best videos to the user.

3 Design and Challenges

Acharya recommends the videos to the user based on their behavior. It is an intelligent learning platform that studies a user’s behavior and recommends videos that the user will likely prefer.

The system provides an equal chance for contributors to increase the reach of their content [9]. The content is analyzed based on various factors and is ranked accordingly. Tutor/collaborators can upload videos and take part in the discussion panel. Learners who choose a domain can move to its syllabus and take down its contents. The contents are available as multilingual videos and virtual labs. The virtual lab contains a compiler with hints and debugging functions.

The multilingual videos are ranked as per their unique SRL value. A separate algorithm was outlined for each problem statement. The user’s past behavior was the essential criteria taken into consideration. Comments and ratings for each video also contribute to the recommendation. A value called SRL is calculated, taking the average of all these factors.

The recommendation is challenging, mainly due to the following factors. The old videos may lose their significance as time progresses. The system should not purely rely on old ratings to recommend the content. The user may update existing videos. These videos should not be rated from zero. Instead, the improved content should be given a boost in the current rankings. The boosting of the video should only be done for a period until the video ages. The ranking of the videos should be done independently for all users.

4 SRL Algorithms

A novel algorithm was designed to deal with the challenges in the e-learning platform. The algorithm evaluates the user data, user history, user similarity, video ratings, video comments, video age, video status, etc., to determine the SRL value. The value will be different depending on the user, thus offering a unique experience to the user. The algorithm also supports the user to upload improved versions of the video, rather than considering it as a new video.

Algorithm 1. SRL().

Input: new_list, main_list, threshold, user, video.

Output: new_list, main_list.

figure a
figure b

new_list: list of newly added videos.

main_list: list of videos.

threshold: constraints.

avg: average value.

preference: the user preference.

get_score: returns the score of the video, which maps with the passed argument.

get_avg: returns the average value of the passed arguments.

video_boost: boosting value.

Scenario 1 (new user, new video): Here, the SRL recommender will initialize the video’s SRL values based on the user preference and add to the new_list.

Scenario 2 (new user, Old video): In this case, the sentiment score from the top n comments are calculated. The average of the last n ratings, comments, and user preference is calculated to initialize the SRL value and used for appending the video to the main_list.

Scenario 3 (old user, new video): Here, the SRL is calculated with the average of the matrix factorization output (U, L) and user preference and used to append the video to the new_list.

Scenario 4 (old user, old video): In this case, the average of matrix factorization output and the average calculated for the video in the new_list is used for SRL calculation to be used for adding it in the main_list.

Scenario 5 (improved video): If the video is an improved version, the SRL value is boosted by a threshold. Then the video is added to the new_list. The boosting of the SRL score will stop when the video ages.

Then the recommender will sort the videos as per the SRL values obtained.

5 Experimental Results

There are numerous videos uploaded on the Acharya platform. For this experiment, we considered video lectures on C programming done by students and faculty members. The videos were uploaded in June 2019 on the platform and shared among students of our college. The server was run on a Debian 10 machine with the Django-React framework and PostgreSQL.

Here we consider two different scenarios:

  1. 1.

    Recommending videos to a new user

For this experiment, we logged in as a new user. Table 1 represents the data related to the calculation of SRL. Since the user is new and we do not have any user’s past data to calculate the expected rating he would give to a video. So we calculate SRL using the average rating acquired in n views and comment score. The comments are first analyzed and classified into +ve and −ve comments. Then SRL is calculated as:

$$\begin{aligned} & {\text{SRL}} = \left( {{\text{Total}}\,{\text{rating}}\,{\text{in}}\,`n^{\prime}\,{\text{views}}/n} \right) \\ & \; + ({\text{Number}}\,{\text{of}}\,{\text{positive}}\,{\text{comments}}/{\text{Number}}\,{\text{of}}\,{\text{positive}}\,{\text{comments}}\,{\text{and}}\,{\text{negative}}\,{\text{comments}}) \\ & \; + {\text{Expected}}\,{\text{Rating}} \\ \end{aligned}$$
Table 1 SRL calculation for new user

Video—name of the video considered.

Date—Date on which the video was uploaded.

Total views—Total viewed obtained so far.

Rating in past ‘n’ views—For this experiment, the n is 50.

Comments—Only + ve and −ve comments are considered (whether the video is good/bad).

Expected Rating—The rating that a user is expected to give to a video.

(Here expected rating is NIL for every entry, a user is new, and it cannot be determined).

  1. 2.

    Recommending videos to an existing user

To test how the system recommends videos to an existing user, we logged in as a student who regularly uses this platform. Since the user is an existing user, we compute the expected rating that he would give to each video using the matrix factorization algorithm. The following table shows how the SRL value is calculated in this case (Table 2).

Table 2 SRL calculation for existing user

Video—the name of the video considered.

Date—Date on which the video was uploaded.

Total views—Total viewed obtained so far.

Rating in past ‘n’ views—For this experiment, the n is 50.

Comments—Only +ve and −ve comments are considered (whether the video is good/bad).

Expected Rating—The rating that a user is expected to give to a video.

(Here, expected rating is obtained by matrix factorization, i.e., the result of U X L).

6 Conclusion

Recommending video contents in a community-contributed syllabus driven platform is challenging. The presence of multiple and multilingual contents, individual preferences, etc. increases the recommendation process’s complexity. The paper described a novel algorithm—SRL, which addresses these challenges, and the experimental results were verified.