=Paper= {{Paper |id=None |storemode=property |title=A Cloud-based Architecture for an Affective Recommender System of Learning Resources |pdfUrl=https://ceur-ws.org/Vol-945/paper9.pdf |volume=Vol-945 |dblpUrl=https://dblp.org/rec/conf/ltec/LeonyPGK12 }} ==A Cloud-based Architecture for an Affective Recommender System of Learning Resources== https://ceur-ws.org/Vol-945/paper9.pdf
                                 1st International Workshop on Cloud Education Environments (WCLOUD 2012)




       A cloud-based architecture for an affective recommender system of learning
                                        resources


                          Derick Leony, Abelardo Pardo, Hugo A. Parada G., Carlos Delgado Kloos
                                           Department of Telematic Engineering
                                             Universidad Carlos III de Madrid
                                                  Leganés, Madrid, Spain
                                      Email: {dleony, abel, hparada, cdk}@it.uc3m.es



   Abstract—One of the most common functionalities in cloud-              recommender system, given the high level of computational
based learning environments is the recommendation of learning             power required by this kind of processing.
resources. Many approaches have been proposed to deploy rec-                 The rest of the paper is structured as follows: section III
ommender systems into an educational environment. Currently,
there is an increasing interest in including affective information        describes the proposal of a cloud-based architecture for
into the process to generate the recommendations for the                  an affective recommender system of learning resources,
learner. In this paper, we propose a cloud-based architecture             Section IV provides the details of an implementation of
for a system that recommends learning resources according to              the architecture, and section V presents some points for
the affective state of the learner. Furthermore, we provide the           discussion.
details of an implementation of the architecture along with a
discussion on the advantages and disadvantages of the proposal.                              II. R ELATED WORKS
   Keywords-cloud educational environment; learning resource                 Most systems on the internet are currently supported
recommendation; affective recommendation
                                                                          on cloud computing. This trend also is observed in the
                                                                          educational arena. The interest of researchers on cloud in
                      I. I NTRODUCTION
                                                                          learning technologies has increased in last few years. In this
   An important characteristic of learning environments in                section we present some of the most recent works regarding
the cloud is the personalization of the environment according             the application of cloud technology into the learning domain.
to the learner needs, objectives and current situation. Thus,                Cloud technologies are a set of easily accessible and virtu-
the learning environment can adapt its interface, content,                alized resources that can be dynamically adapted allowing an
and capabilities according to personal characteristics of the             optimum resource utilization [4]. A cloud technology allows
learner: current learning objectives, learning achievements,              users access onto different services on internet through
skills, preferences and affective state. In addition, contextual          diverse devices. It also provides service providers with sev-
information is another input for personalization: current                 eral advantages, such as availability, integration of multiple
location, time of the day and available technology.                       services, flexibility and scalability [5]. This makes cloud
   Recommender systems are among the instruments used                     technology an attractive option for deploying applications
to provide learning environments with personalization.                    that require a high level of computational power. Hence
Manouselis et al. [1] provide a review of the approaches                  cloud technology has taken into account to support services
followed so far to implement and deploy recommender                       that offer educational resources to academic communities.
systems in Technology Enhanced Learning (TEL). More re-                      In this sense, in [6] Mikroyannidis states that the cloud
cently, some approaches are including affective information               offers a lot of services for building adaptive and customis-
of the learner, such as the case of the Semantic Affective                able Cloud Learning Environments (CLE). He also explains
Educational Recommender System proposed by Santos and                     how CLEs extend the borders of the learning environments
Boticario [2].                                                            beyond of educational organization. Additionally this work
   In this paper, we present an improvement of the archi-                 proposes a learning scenario based on the use of cloud
tecture presented in [3] of the Learning Resource Affective               learning services. Thus, to take advantage of these features
Recommender (LRAR). The most relevant change for the                      educational institutions are also moving towards providing
cloud context is the deployment of the recommending engine                their services by using cloud technologies. However, in
as an auto-scaling service, which allows to serve several                 the educational domain, services are scarcely adapted and
clients with reasonable response time and performance.                    offered in cloud.
Thus, the recommender engine is transformed into a recom-                    Several approaches of cloud architectures promote im-
mending service based on cloud technologies. The migration                provements to services in the e-learning area by using cloud
to the cloud allows us to improve the scalability of the                  technologies. Thus, they try to overcome challenges faced


                                                                     41
                               1st International Workshop on Cloud Education Environments (WCLOUD 2012)




by educational institutions. In [7] Masud and Huang propose                    III. D ESCRIPTION OF THE ARCHITECTURE
an e-learning cloud architecture to allow the migration                   The purpose of the proposed architecture is to deliver a
of e-learning systems from schools to a cloud computing                set of learning resources meta-data following a Software
infrastructure. They describe an e-learning cloud architecture         as a Service approach. The architecture is composed by
made up of five layers: infrastructure, software resource,             two layers: a service layer that executes the storage and
resource management, service and application. This proposal            recommendation tasks, and a client layer embedded in a
describes a general architecture for e-learning; nevertheless          learning environment. The details of each layer and their
it does not focus on how to implement an e-learning service            communication are described as follows.
in a cloud architecture.
                                                                       A. Service layer
   As CLE appears as a set of available tools on the internet             The service layer is in charge of receiving petitions
that allows ubiquitous access to an academic community, it             from several clients and doing the requested tasks. The
is evident that the existing of Personal Learning Environ-             available tasks are to update the affective information of
ments in the cloud are in an early stage of its developing.            a learner, to update the information of a learning resource,
Currently the CLE has dealt in offering an environment                 and to recommend learning resources for a given learner.
that allows students and teachers easy access to different             The first two tasks represent an administration interface for
tools for producing and consuming academic content. A                  the management of learners’ affective states and learner
related work is also presented by Al-Zoube in [8], where               resources. The third task is the main one in the service and
he proposes a cloud computing based solution for building a            also the one that consumes the most resources.
virtual Personal Learning Environment (PLE). This proposal                The service layer includes two storage elements to keep
consists of allowing the learner access to different tools             the information of the learning resources and the learners’
offered on internet such as iGoogle, Google docs, YouTube,             affective states. The storage of learning resources only
etc. however such as Stein et al. state in [9] public clouds           includes their meta-data and not their content. This decision
generally meet the common base of user requests, but they              relies on the fact that the recommendation service is not
may not be designed to meet educational needs. In addition,            meant to act as a repository of learning resources but just
today learners are demanding specialized learning services in          as a referrer. The format of the database can be any usual
order to improve the learning results. Hence, the educational          specification such as Learning Object Meta-data (LOM), but
domain requires design and deploy services in order to built           this is decided by the implementation of the architecture.
a true educational Cloud.                                                 The storage for learners’ affective state is updated by
   Following the above approach, in [10] Madan et al.                  requests from the client layer. The service is ready to create
present a cloud-based learning service model. This proposal            a new learner profile which consists of the learner identifier,
describes comprehensively the cloud computing services                 current affective state and the record of the used resources
as a key aspect of cloud computing model. The authors                  and the affective state presented when using those resources.
focus on services and available models to be deployed into             The format used to define the affective state is decided by
cloud architecture. They claim that institutions should use            the implementation of the architecture as well. The specifi-
the existing cloud infrastructure offered by companies such            cation EmotionML should be strongly considered because,
Google, Amazon and others. Then educational institutions               although still being a W3C Candidate Recommendation, it
should focus on defining the cloud service layer to imple-             allows flexible and complete definitions of affective states.
ment it into the cloud architecture.                                      Besides the storage elements, the service layer has a
                                                                       recommendation engine cluster. The engine is designed as a
   There is a known necessity of building a CLE based on               cluster because the task to generate recommendations is the
specialized services rather than the traditional tools found in        most expensive in terms of computational resources, which
PLEs. However as the necessities of learning resources and             makes it the critical process to scale. The cluster contains as
services for learners and teachers are variable, we must offer         many instances of a recommending engine node as needed
a service to adapt the PLE in the cloud according to these ne-         to support the service demand at the moment. Each node
cessities. In other words, CLE needs a recommender system              is in charge of analyzing the resources, the affective states
to fill this gap. Recommender systems have been extensively            of a learner and generate assign a relevance score to each
deployed, however few systems operate in the education                 resource not yet seen by the learner.
arena [11]. Then in this work we propose a cloud-based                    The recommendation process within a node follows the
architecture for a system to recommend learning resources              method known as user-based collaborative filtering. In this
according to the affective state of the learner. Thus learners         approach, when a recommendation has to be done for a
will be able to adapt their PLE and CLE. Additionally we               given learner, it first finds a set of the learner’s neighbors,
provide details of the architecture implementation of this             learners with similar patterns of access to resources. The
specialized service.                                                   level of similarity is to identify the neighbors of a learner


                                                                  42
                                1st International Workshop on Cloud Education Environments (WCLOUD 2012)




is defined by a similarity function. In the case of the                  recommendation engine. Figure 1, shows a diagram of the
affective recommendation, the similarity of two learners is              proposed architecture. The layers are displayed from bottom
proportional to the amount of resources accessed by the                  to top.
learners when indicating the same affective state.
   As the recommendations must take into account the af-
fective state of the learner, the collaborative filtering process
had to be extended to include that contextual information.
The set of resources available for recommendation are a
combination of the learning resources with the affective
states. Thus,
                          R=L×A

where R is the set of recommendable resources, L is the
complete set of resources meta-data and A is the complete
set of affective states. The recommendable resources are a
tuple of a resource and an affective state.
    After the learner’s neighborhood is defined, learning re-
sources are sorted based on how relevant they have been
within that neighborhood of users. The resulting list must be
filtered because it contains recommended tuples (resource,
affective state) and the affective state might be any stored
one. Thus, the list of recommended resources are only those
that appear in a tuple where the affective state is the same
one the learner presents at the moment.

B. Client layer
   In the presented architecture, the client layer is repre-
sented by the learning environment that includes recommen-
dations to provide adaptation. The inclusion of recommen-
dations is done by an embedded element deployed within the
learning environment. The embedded element communicates
with the service layer to send and request information related
to the recommendation based on affective states.                         Figure 1.   Architecture of affective recommender system based on the
                                                                         cloud.
   The embedded element sends update information such
as the learner identifier and any change of her affective
state. The element also informs when a learner accesses
a learning resource. Optionally, the embedded element can                       IV. E XPLANATION OF THE IMPLEMENTATION
also be in charge of detecting the learning state of the learner            The environment where we have implemented the af-
and updates the affective state database. Other optional                 fective recommender service is Amazon Elastic Computing
information to send is any action done by the learner;                   Cloud (EC2), which is part of Amazon Web Services (AWS).
this allows to keep track of the learner actions for further             EC2 allows us to define an image that acts as a blueprint
analysis.                                                                to generate several instances of a computer with the same
   There can be two moments when the embedded element                    software configuration. Each one of these instances is what
requests information from the service layer. First, when                 in the definition of the architecture we have called a node.
accessing the learning environment the first time the client                In our implementation, the storage element for learner
requests the last known affective state and the last recom-              resources meta-data is implemented as a database deployed
mended resources. The second moment is right after the                   in the engine MySQL. The same database implements the
affective status of the learner is updated. This is because              learner affective state storage element. Since the data might
a modification of the affective status implies a new set of              be accessed from many nodes of the cluster, the database
recommendations for the learner, so the embedded element                 engine is installed in an independent node, not meant to
requests the list of recommended resources. After fetched,               be part of the recommendation cluster. In order to manage
the list is displayed showing the title and description of each          the information stored in the database, the database node
resource. Then, the learner is able to select a resource based           implements a RESTful web services, while the technology
on its description or on the relevance score given by the                supporting the web application is J2EE.


                                                                    43
                                 1st International Workshop on Cloud Education Environments (WCLOUD 2012)




   The recommendation engine is developed on top of                       by the recommendation service. Currently, the list is based
Apache Mahout machine learning engine. Mahout provides                    on the affective states used by D’Mello et al. in [14]; these
a set of libraries to implement machine learning models such              include frustrated, confused, bored, enthusiastic, motivated
as collaborative filtering, recommender systems, clustering,              and the normal state, meaning that there is no relevant
pattern mining and classifiers. Mahout is implemented in                  affective state at the moment.
Java and this allows a straightforward integration with a                    Resources tab also presents a list of learning resources
web application developed with J2EE. As explained in [12],                ordered by relevance for the learner in her current state.
Mahout is conceived to be scalable through the framework                  Thus, once the learner submits a change on her affective
for distributed processing Apache Hadoop, which allows the                state, the widget send a recommendation request to the af-
definition of clusters of computers with computational and                fective recommender service. When the response is received,
storage capabilities.                                                     the client analyzes the list of resources and embed their
   The algorithms for collaborative filtering use the                     information as the list of recommended resources.
map/reduce paradigm. This paradigm consists in two pro-                      Second section is the Profile tab, where a time-line of
cesses that can be parallelized and distributed among several             the affective states reported by the learner is embedded. Its
computers to increase their speed. The map process gen-                   objective is to provide the learner with a visualization of
erates a sequence of pairs where usually the first element                her emotional changes during the learning activity being
is an entity identifier and the second element is an entity               performed. The log of affective states is also provided by
characteristic that will be needed in a further computation.              the learning resource service.
The reduce process receives the pairs generated by the                       Finally, the Settings tab allows the learner to set her
map process and computes an incremental value associated                  learning objectives. These might be changed during the
with the entity. For example, the first step to identify the              learning activity, which also triggers a change of the learning
neighbors of a learner is to identify the most frequent                   resources that are recommended. Figure 2 presents a screen
occurrences of a pair (affective state, learner resource) for             capture of the widget deployed in ROLE environment, with
each user. In this case, the map process returns a pair with              emphasis on the resources recommended to a frustrated
the syntax (user identifier, (affective state, learner resource)).        learner.
Thus, the entity to identify is the user and the other item
to include is the pair or affective state an resource. The
reduce process receives the same pair and create an array for
each received user. The elements of the array are complex
structures with the syntax ((affective state, learner resource),
count), so that by sorting the array in descendant order by
the second element we obtain the top occurrences of pairs
for the given learner.
   The advantage of using the map/reduce paradigm is that
both process can be done in parallel and in several comput-
ers. This allows the implementation to scale by just creating
a new node with the same characteristics of a previous
recommender node. Hadoop keeps control of the nodes that
are available in the cluster to perform computational and
storage tasks. Thus, we are provided with a simple way to
auto-adjusting the size of the recommender cluster by just
adding or removing nodes according to the service demand.
   For the implementation of the client layer element, a
widget has been developed as a proof-of-concept of a tool
that interacts with the affective recommender service. The
widget has been developed using the Software Development
Kit (SDK) provided by ROLE Project [13]. ROLE aims to
provide the learner with a framework to build her Personal-
ized Learning Environment. The widget is implemented in
JavaScript and HTML, and it follows the OpenSocial Gadget                 Figure 2.   Implementation of the resource visualizer in the ROLE PLE.
specification.
   The widget interface has two functional sections repre-
sented by the tabs. Resources, the main tab, allows the                      A use case that exemplifies the use of the widget is
learner to state her affective state from a static list provided          the following. Alice, a university student whose major is


                                                                     44
                                1st International Workshop on Cloud Education Environments (WCLOUD 2012)




Computer Science, is trying to complete a C programming                  such as the full name or email. Instead, the service can use a
task that she was assigned as homework. She starts working               hashed identifier of the learner and that would not interfere
highly motivated on the initial details of the program and               with the process of recommending learning resources.
she reflects be selecting the Motivated option among the                    Future work consists on evaluating the performance of
affective states available in the widget. The widget com-                the implementation presented in the article. The evaluation
municates the affective state to the recommender service                 objective is to analyze the improvement on the response
and this returns a list of resources suitable for Alice, such            time of a recommendation request to the server. Part of this
as C programming references and the user’s manual of the                 work includes to analyze the correlation between the service
compilation tool. Alice finds the resources helpful and uses             performance and the amount of recommender nodes in the
them to write her code more quickly. As Alice advances                   cluster; this would lead to a set of guidelines for deploying
she realizes that the task is not as easy as she first thought           the recommender service in a real learning scenario.
and that she might even encounter some programming errors                   Another line of work consists in the development of
that she was not expecting, this causes her affective state to           plug-ins to include sensors as a method to populate the
change. When she find that she cannot fix a compilation error            affective state database. Specifically we are working with
she starts feeling frustrated. Thus, she updates her affective           sensors for galvanic skin response and the recognition of
state to Frustrated. Again, the widget communicates the new              face gestures through a video camera. These sensors have
affective state to the recommender service, obtains the list of          been proven to detect affective states with accuracy [15] and
suitable resources and displays them as part of the widget               thus might be improve the recommendation process. They
content. The new list of recommended resources includes                  would also allow the learner to focus on the retrieval and
basic programming concepts and common programming                        use of resources rather than constantly informing her current
errors with their respective solutions (see Figure 2). Alice             affective state. On the same track, it is also intended to
accesses the resources and solves the error of her program.              improve the interface for the learner to provide her affective
After seeing that the widget helps her along the task, Alice             state. Several approaches will be taken in order to obtain
recovers her positive mood and continues her work to finish              contextual information about what provoked a given emotion
the homework.                                                            in the learner and how did the recommendation of resources
                                                                         affect her affective state.
                       V. D ISCUSSION
   Throughout this paper we have pointed the advantages                                       ACKNOWLEDGMENT
of a cloud-based affective recommender system of learning
                                                                            Work partially funded by the EEE project, “Plan Nacional
resources. We have emphasized that the main benefit of us-
                                                                         de I+D+I TIN2011-28308-C03-01”, the “Emadrid: Inves-
ing cloud technologies to deploy an affective recommender
                                                                         tigación y desarrollo de tecnologı́as para el e-learning en
system is the gain of scalability. Nevertheless, there are
                                                                         la Comunidad de Madrid” project (S2009/TIC-1650), and
some issues that must be taken into account as possible
                                                                         “Consejo Social - Universidad Carlos III de Madrid”.
disadvantages of the architecture such as approaches to
caching and privacy issues.
                                                                                                   R EFERENCES
   The first issue is the difficulty to cache results in the
presented architecture. Given that in a cloud recommen-                   [1] N. Manouselis, H. Drachsler, K. Verbert, and E. Duval, “Rec-
dation service the computational workload is distributed                      ommender systems for learning,” SpringerBriefs in Computer
among the nodes of the cluster, one node cannot cache                         Science, 2012.
the recommendation calculate in another node. This issue
                                                                          [2] O. Santos and J. Boticario, “Affective issues in seman-
can be addressed either at the client layer, where the client                 tic educational recommender systems,” in Proceedings of
itself would be in charge of caching the information of                       the 2nd Workshop on Recommender Systems for Technol-
the recommended resources. Another possible approach to                       ogy Enhanced Learning (RecSysTEL 2012). Manouselis, N.,
solve this issue is through the inclusion of a middle layer                   Draschler, H., Verber, K., and Santos, OC (Eds.). Published
                                                                              by CEUR Workshop Proceedings, 2012, pp. 71–82.
that caches and dispatches the recommendations; this layer
would be between the recommendation cluster and the                       [3] D. Leony, A. Pardo, H. A. Parada G., and C. Delgado Kloos,
interface of the service.                                                     “A widget to recommend learning resources based on the
   Another concern is related to privacy issues, since the                    learner affective state,” in Proceedings of the 3rd Workshop on
affective state of the learner is stored in a database accessible             Motivational and Affective Aspects of Technology Enhanced
from several recommender nodes. The key in this issue                         Learning (MATEL 2012)., In process.
is that the recommending nodes are the only elements
                                                                          [4] L. M. Vaquero, L. Rodero-merino, J. Caceres, and M. Lind-
with permission to access the affective state information.                    ner, “A Break in the Clouds: Towards a Cloud Definition,”
Furthermore, the recommender service does not require to                      ACM SIGCOMM Computer Communication Review, vol. 39,
store information that identifies the learner immediately,                    no. 1, pp. 50–55, 2009.



                                                                    45
                                  1st International Workshop on Cloud Education Environments (WCLOUD 2012)




 [5] N. Leavitt, “Is cloud computing really ready for prime time?”
     Computer, vol. 42, no. 1, pp. 15–20, jan 2009.

 [6] M. Alexander, “A Semantic framework for cloud learning en-
     vironments,” In: Chao, Lee ed. Cloud Computing for Teaching
     and Learning: Strategies and Implementation. Hershey, PA:
     IGI Global, pp. 17–31, Apr. 2012.

 [7] X. Huang, “An E-learning System Architecture based on
     Cloud Computing,” International Journal of Advanced Re-
     search in Computer Science and Software Engineering
     (IJARCSSE), vol. 2, pp. 74–78, 2012.

 [8] M. Al-zoube, “E-Learning on the Cloud,” International Arab
     Journal of e-Technology, vol. 1, no. 2, pp. 58–64, 2009.

 [9] S. Stein, J. Ware, J. Laboy, and H. E. Schaffer, “Im-
     proving K-12 pedagogy via a Cloud designed for edu-
     cation,” International Journal of Information Management,
     http://dx.doi.org/10.1016/j.ijinfomgt.2012.07.009 2012.

[10] A. A. Deepanshu Madan, Suneet Kumar, “E-learning based
     on Cloud Computing,” International Journal of Advanced
     Research in Computer Science and Software Engineering
     (IJARCSSE), vol. 2, no. 2, 2012.

[11] K. Verbert, N. Manouselis, X. Ochoa, M. Wolpers, H. Drach-
     sler, I. Bosnic, and E. Duval, “Context-aware Recommender
     Systems for Learning: a Survey and Future Challenges,” To
     appear in IEE Transactions on Learning Technologies, 2012.

[12] S. Owen, R. Anil, T. Dunning, and E. Friedman, Mahout in
     action. Manning Publications Co., 2011.

[13] R. Consortium, “ROLE Project,” http://www.role-project.eu/,
     2009-2012, last visited September 2012.

[14] S. D’Mello, A. Graesser, and R. Picard, “Toward an affect-
     sensitive autotutor,” Intelligent Systems, IEEE, vol. 22, no. 4,
     pp. 53–61, 2007.

[15] R. Picard, Affective computing.    The MIT Press, 2000.




                                                                        46