Intelligent Digital Learning: Agent-Based Recommender System

In the context of intelligent digital learning, we propose an agent-based recommender system that aims to help learners overcome their gaps by suggesting relevant learning resources. The main idea is to provide them with appropriate support in order to make their learning experience more effective. To this end we design an agent-based cooperative system where autonomous agents are able to update recommendation data and to improve the recommender outcome on behalf of their past experiences in the learning platform.


INTRODUCTION
M assive open online course (M OOC), serious game, social learning, flash and mobile learning, no doubt, education and learning do not escape from the digital revolution that overwhelms our way of learning, working and thinking. Exit the endless and boring slideshows face to face with your PC screen, now everyone learns on the internet by following M OOC or playing videos posted by experts from around the world, participating in forums via collaborative networks or by practicing using serious games. E-learning exists since twenty years and his form has evolved: it moved from CD-ROMs to the Internet and fom slide shows to serious games. Henceforth we talk about digital learning, and corresponding platforms/systems (also known as Learning M anagement System or Learning Support System) support and manage a learning process or a learning path. Usually, the components of a digital learning system are: a community of learners; a learning platform; tutors / facilitators; text or multimedia teaching content (resources); a teaching and tutoring strategy; and validation activities.
In this paper, we focus on platforms such as MOOC (based on Open edX [1]) and propose an agent-based recommender system of relevant learning resources for learners to help them to overcome their shortcomings/gaps. To this end, we propose a multi-agent system with a set of autonomous agents acting on behalf of their beliefs, preferences and goals. Agents belong to a cooperative system that aims to be attentive to the learning path of each learner and to ensure him a good support by providing appropriate resources in each unique situation. A gents are also able to learn using their past experiences and thus to improve their decision-making process by adjusting their strategies. This is particularly suitable in the context of recommender systems that will be able to improve recommendations over time.
This article is organized as follows: The next section presents the related works in digital learning, recommender systems and recommender systems for digital learning; Section 3 describes our proposal of agent-based recommender system for digital learning; Section 4 illustrates this proposal and Section 5 concludes this paper and presents some future works.

RELATED WORKS
Widely used in e-commerce sites since 1990s, recommender systems popularity increased during the last decade due to the continuous growth of e-learning systems and environments. Recommender systems require input information to properly operate and deliver content or behavior suggestions to end-users. E-learning scenarios are no exception [2]. Indeed, recommender systems are one type of filtering system to provide advice and support to users by providing information that are likely of interest to them [3]. To this end, multiple works are proposed in order to assist learners in the choice of the good training or course by means of recommender systems [4] for e-learning systems [5,6], as well as mobile learning [7]. Other works focus on the teacher side and propose recommendation services that enable them to choose properly an engineering education e-learning system [8].
The key problem addressed by recommendation may be summarized as an estimation of scores for items that have not yet been seen by a given user [9]. The number of items and the number of system users may be very high, making it difficult for each user to view each item or for each item to be evaluated by all users. Traditionally, recommender systems are classified according to the scores, which have already been evaluated, used to estimate the missing scores [10,11,12]: (i) Content-based method: the user receives recommendations for items that are similar (in terms of a measure of similarity between the two items) to those which he/she has given high scores previously, (ii) Collaborative filtering method: the user receives Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. recommendations for items that have received high ratings from other users with similar tastes and preferences (in terms of a measure of similarity between users and items), (iii) Hybrid method: a combination of the earlier-described two methods. For example, collaborative filtering recommender systems are extremely varied and may be based on several techniques including, for example, Pearson correlation coefficient [13] or neighborhood selection (e.g. kNN [14]) for similarity between users; Cosine similarity [15] for similarity between items; Principal Component Analysis [16], matrix factorization (e.g. Singular Value Decomposition -SVD [17]) or Bayesian approaches for score prediction.
The recommender system proposed by Hsu [18] combines content-based analysis, collaborative filtering, and data mining techniques. It makes analysis of students' reading data and generates scores to assist students in the selection of relevant lessons. Lu [19] develops a framework for personalized learning recommender systems based on recommendation procedure that identifies the student's learning requirement and then use matching rules to generate recommendations of learning materials.
The study refers to multicriteria decision models and fuzzy sets technology to deal with learners' preferences and requirement analysis.
Another way to find learner's profile to organize and recommend course content is to exploit semantic net [20] or content ontology [21,22]. Concerning the technological aspect, Web service technology may constitute an operational solution for implementing personalized learning approach and for the interoperability with other e-learning personalization systems [23]. Bousbahi and Chorfia [24] propose a web-based application that provides suitable learning resources among M OOCs providers based on the learner's expressed interests. The system is similar to the generic Case-Based Reasoning problem solving system including the four steps: retrieve, reuse, adapt and retain [25]. The process starts with a problem and tries to find similar cases from the case base to suggest relevant solutions or adapt solutions to better solve the new problem and terminates by retaining the new case. In Verbert and al. [26], authors discuss the importance of contextual information that refers to the learner's environment. They construct a classification of context information in technology enhanced learning (TEL) by combining existing context definitions and adapting them to TEL. They outline 8 dimensions: computing, location, time, physical conditions, activity, resource, user, social relations. In Draschsler and al. [27], authors propose a complete classification of recommender systems supporting technology -enhanced learning (TEL RecSys). They suggest 7 exclusive clusters: (i) TEL RecSys following collaborative filtering approaches; (ii) TEL RecSys that propose improvements to collaborative filtering approaches to consider particularities of the TEL domain; (iii) TEL RecSys that consider explicitly educational constraints as a source of information for the recommendation process; (iv) TEL RecSys that explore other alternatives to collaborative filtering approaches; (v) TEL RecSys that consider contextual information within TEL scenarios to improve the recommendation process; (vi) TEL RecSys that assess the educational impact of the recommendations delivered; and (vii) TEL RecSys that focus on recommending courses.
To the best of our knowledge, there does not exist an agent-based recommender system following collaborative filtering approaches and supporting technology -enhanced learning (first cluster of the [27]'s classification). Thus, in this paper, we introduce such a system that recommends relevant learning resources to learners in order to help them overcome their shortcomings/gaps.

AGENT-BASED RECOMMENDER SYSTEM
The agent-based recommender system we propose is supported by several types of agents represented on Figure 1. The recommendation process is initiated by the recommender agent that has access to multiple tracking logs stored in JSON documents and containing reference information about the event data packages. Events are emitted by the server, the browser or the mobile device to capture information about interactions with the courseware and the instructor dashboard [1]. These data are not all relevant. The recommender agent is able to judge the event's relevance.
Each agent has a communication module that is implemented to allow message exchange between agents with respect to the communication protocol. In addition, it allows message interpretation and construction. The communication protocol specifies the actions that the agents are authorized to take during the recommendation process. Table 1 presents a partial view of the primitives used by agents to communicate. Figure 2 shows interactions between agents in order to assist the learners in their learning experience by suggesting useful resources. Based on the input data, the recommender agent provides a ranking of potentially interesting recommendations (resources) to the concerned filtering agent. Filtering agents choose the appropriate one, send it to the learner agent and communicate this decision for information to the manager agent. Each filtering agent is associated with a course and could be personalized by the concerned tutor agent which has the ability to update ranking according to his preferences. At the end of the recommendation process, the learner agent sends its feedback to evaluate the recommended resource to the manager agent that centralizes all feedbacks and consequently updates its decision rules (if necessary). New facts and updated rules are added to the input data in order to actualize it.

Recommender Agent
Recommendation can be seen as an estimation of scores for nonviewed items. In more formal terms, by analogy with [9], the recommendation problem in the intelligent digital learning context can be given by the following definition.
Definition 1: Let L be the set of all learners (users), I the set of all possible learning resources that may be recommended and u a function that measures the utility of a resource i to a learner l, that is : × → ℝ. Thus, for each learner ∈ , we wish to select the learning resource ′ ∈ that has the maximum utility for the learner: ∀ ∈ , ′ = ∈ ( , ).
In recommender systems, the utility of an item (here a learning resource) is generally represented by a score, which indicates a specific user's (here a learner) appreciation of a specific item.
Utilities fill a utility matrix Mu: Learners × Resources. In the multi-user intelligent digital learning context, the more appropriated approach is the collaborative filtering. Systems based on collaborative filtering produce recommendations by calculating the similarity between the preferences of different users. These systems do not attempt to analyze or understand the content of recommended items but suggest new items to the users based on the opinions of the users with similar preferences. The method consists of making automatic predictions (filtering) regarding the interests of a given user by collecting the opinions of a large number of users. The hypothesis underpinning this type of approach is that those who liked a particular item in the past tend to continue to like this specific item (or very similar items).
Collaborative approaches attempt to predict the opinion a user will have about different items and to recommend the "best" item to each user in relation with their previous tastes/opinions and the opinions of other similar users [28].
In this paper, we propose the function ( , , , ) : where I is the set of learning resources, L the set of learners, lc the "current" learner i.e. the learner seeking for a recommended learning resource and Mu is the utility matrix. This function returns Sr, the ordered set of learning resources that can be recommended to the current learn er lc. In fact, RecoS is decomposed into three steps: (i) Preprocessing (matrix normalization and/or reduction); (ii) Processing (score predictions); (iii) Ranking of recommendations.
Note that a well-known drawback of collaborative filtering recommender systems is the cold-start problem for new users and new items. To overcome this problem, when the system is unable to calculate a recommendation according to the RecoS function, it returns a default recommendation. M ore formally, the RecoS function could be seen as the following algorithm: L, lc, Mu, t1, preprocessing, predict, ranking,  Due to its scalability, we propose to use an item-to-item approach using SVD (known to be easy to use) for score prediction, and default recommendations are the most "popular" and the most recent learning resource. This is particularly suitable to our context (intelligent digital learning) and corresponding data. RecoS becomes RecoS (I, L, lc, Mu, t1, calcAverage, calcSVD, rankResource, popNew, ≤resource).
calcAverage calculates the average ratings for each resource (item) in Mu and returns a new matrix MP by filling Mu ratings matrix (with the obtained average values). Note that Mu can be very sparse, thus, to capture meaningful latent relationship we start by removing sparsity using the average ratings for an item, according to [29]. The algorithm of calcAverage may be: As a synthesis, the recommender agent returns an ordered set of learning resources that can help a given learner to overcome his/her gaps.

Filtering Agent
Each filtering agent is associated with a unique course and can be managed by a tutor agent. In addition to the communication module, a decision module is implemented based on the local knowledge base that is real-time actualized on behalf of learners' feedback via the manager agent. Decision rules are established by the tutor agent in order to associate priorities to resources that may be recommended to learners. We consider like in [30] that the system deals with several types of resources: learning, support and communication resources.

Definition 2:
Learning resources are texts, videos, interviews, blogs… that are generally defined before the starting of a M OOC. They are materials constituting the main structure of a course. Definition 3: Support resources are videos, useful links, tutorials, texts... implemented to assist and to guide learners in a personalized way. These resources give details about some points of the course in order to achieve better knowledge transfer.

Definition 4:
Communication resources are chat forum, message system, exchange platform that allow communication between M OOC participants (leaners, tutors...).
All these resources could be recommended as a support for learners on behalf of their gaps and difficulties.

Manager Agent
Based on its communication module, the manager agent is related to all agents evolved in the learning platform. It has a key role in the recommendation process. It centralizes crucial information at two main levels: (i) Information on decisions taken by the filtering agents; (ii) Information about the feedbacks of learner agents to assess the relevance and quality of recommended resources. This information is analyzed by the aggregation module able to make a multicriteria evaluation of each r ecommended resource and to transmit it to the decision module to infer rules about it and finally decide as to whether, consequently, there should be an update of the input data. As an example, a decision rule could have the following structure: As we can see, the rule establishes that "if the feedback average of a resource R is greater than a value v and the number of learners that have assessed R is significant (greater than 5) then the score associated with the concerned resource R is updated with the value of 10".

ILLUSTRATION
For an easier understanding, we illustrate our model on a toy example. We first describe the data, then the basic recommendation process, the filtering agents' behaviors, and the manager agent behavior.

Illustrative Example Overview
We consider a M OOC example with 2 Java and 2 Python classes (same class level, C1…C4). Each class is followed by 100 learners (STi) and managed by one tutor, represented by his tutor agent T1…T4. As resources proposed to learners, we consider two video lessons AV1, AV2 and two exercises AE1, AE2, in both cases one for Python and one for Java. Once achieved, the learners give feedback on their activity item (score between 1 and 10). The past evaluations are summarized in the utility matrix which is provided to the recommender system. The process can be described as follows: -The recommender system is trained on the Mu matrix to build the RecoS function. Once trained, the system can score the activities for any new/old learner profile (see Section 4.2); -The filtering agents manage the results obtained from the recommender system to fit their teaching preferences and present the final propositions to the learner (see Section 4.3); -The manager agent gets the feedbacks from the learners and manages the recommender system update mechanism (see Section 4.4).

Initial Recommendation Using Collaborative Filtering
The recommender system is trained from past learners' feedback (see Section 4.4 for update illustration). The SVD dimensionality reduction is performed on the Mu matrix to build learner and item profiles in the SVD latent space. The advantage of using SVD rather than a raw similarity is that it will both generalize and remove repeated information. Both items and learners can be projected in the k-dimensions space generated by the SVD. We will consider here a simple 2-dimension SVD (dimensions D1 and D2). The learner values are given in Table 3, the items (resources) values in Table 4 and the singular values in Table 5.   When the system should provide an activity to a learner, he will compute the score of the items using these dimensions. The score can be computed for any learner , even if it was not in the original matrix (you just should project the new learner in the latent space using the existing projection matrix). For example, if we consider the Learner St3 (or a profile like St3), the score will be the scalar product of the learner coordinates and the item coordinates (weighted by the singular values). These are the scores provided to the filtering agent.

Filtering Agents and the Class Tutors
A filtering agent represents a class managed by a tutor agent. We consider here the T3 agent (a Java class). It will apply mainly three types of filters: Local filters, dependent on the course, the learner state and eventually the tutor, to fit the course and manage the course progression. For example, to ensure that only java items are proposed, the T3 Filtering agent will always have the filter : -If the course has several steps/chapters that should be followed in a specific order, this is where the prerequisite rules will be set (no Chapter 2 videos before a minimal score at Chapter 1) Preference filters. The (human) tutor can personalize the filters to fit its teaching preferences/expertise. For example, the T3 tutor may consider that videos are much more useful than exercises (for whatever reason). It could also be preferences on type of exercises, on some video providers … Anything that appears in the activity description can be used to personalize the result. The preference filters are however capped biases. If a tutor wants more strict rules (like remove entirely a type of exercise he doesn't consider useful), he should send a request to the manager agent to be able to integrate it into its filter rules. We will here consider a simple video-preference rule (set very high for the sake of the example).
Global filters (mainly provided by the manager agent), for example to select the activities the learners can select (see Section 4.4 below). For now, they are empty.
The result of the filters applied on our previous example to propose a new activity to St3 in the Java course T3 is: AV1 was already used by St3, AE1 was removed by the global filter, and AV2 was much increased because of the tutor preferences.
The learner St3 will be presented with first AV2, then AE2. Thus, the result presented to the learner follows his/her deduced preferences (by the recommender system), but also follows the class constraints and the tutor preferences.
At the end of the selected activity (say AV2), the learner gives a feedback (here 1.0 since he doesn't like videos…). This feedback is sent by the learner agent to the manager agent to update the recommender system.

Manager agent and the System Management
First, the manager agent updates the recommender system periodically (each night/week depending on the computation power, the amount of feedbacks and the biases introduced in the recommender system). For example, the new feedback of learner St3 is included in the utility matrix that will be used for the next recommender system training (it will change both the SVD space definition and the utility matrix used to compute the nearest neighbors' preferences).
Second, he can apply global rules that will be sent to the filtering agents. For example, the rule presented in Section 4.3 (change the score if enough feedback are positives). We can also apply rules for specific kind of learners (learners have access to limited type of resources depending on what they paid).
Third, he manages and controls the filtering agents. Filtering agents are mostly free to define their preference filter rules, but some have to be validated (the most restrictive ones), and they are all sent to the manager agents. The manager agent has an overview of all tutor policies and results. Rules can be set to alert in case of problems. For example, if the proportion of bad evaluations for a specific tag is too high. In our example, if too many learners put 2 or bellow to the AV2 video just because the tutor prefers videos, an alert will be raised. The manager can react by changing the maximum bias this Tutor can apply (max. bias to 1 point or 10%). The T3 tutor won't be able to impose videos to learners who don't like them even if he thinks it's best for them.
Finally, the manager agent will manage newcomers and new activities (cold start case). For platform like ours, even newcomers have some data (initial evaluations). But in a more general case, they could be completely unknown. In this case, the manager can let the recommender system recommend the most generally liked activities (by default), and/or set some newcomers filters sent to the filtering agents to impose some initial activities (sponsored activities or introduction activities especially developed to help newcomers), and/or let the tutor agent define the starting scores. The result of these initial activities will help the recommender system to learn the learner preferences. Similarly, new activities scores can be set with filter rules until some feedback allow them to be integrated into the recommender system.

CONCLUSION AND FUTURE WORKS
In this paper, we have presented an agent-based recommender system that aims to assist leaners in their learning process by suggesting relevant learning resources on behalf of their detected gaps or shortcomings.
To this end we have proposed a cooperative multi-agent system made up of a set of autonomous cognitive agents to recommend useful resources to learners. Our recommender agent algorithm is based on an item-to-item approach using SVD for score prediction.
To illustrate our recommendation process, we have proposed a toy example.