Keywords

1 Introduction

E-learning plays a significant role in helping large educational institutions meet their learning and training requirements. Today’s education is increasingly associated with ICT, so educational institutions have a high demand for servers, storage, and software [1].

According to Naik and Madhavi [1], the lack of technology infrastructure can make more damage than good to teachers, students, and the learning experience. Moreover, many educational institutions cannot invest in the software and hardware required for e-learning [2]. Furthermore, due to information overload, it is difficult for learners in the e-learning environment to choose related learning resources, besides, due to the differences in the background and sequential access methods of learners, different learners have different learning needs. Therefore, how to find learning resources quickly and be expanded to mass data storage have become serious problems.

On the one hand, by incorporating the recommendation system into the learning system, there is great potential for personalization, which is beneficial to learners and other learning tools. The e-learning recommendation system targets to predict appropriate gaining knowledge of learning data according to students’ preferences.

On the other hand, the system adopts the current cloud computing technology to deal with the challenges of massive data storage and computing. Cloud computing helps to access servers, storage, and databases from any location in the world and any device with an Internet connection. Cloud service providers such as (Amazon, Google, IBM …) operate and manage underlying cloud infrastructure for these application services, providing and using the resources you need through a web application. Moreover, to these innovative technologies as Serverless computing, Artificial Intelligence, the Internet of Things, and a variety of many other resources are becoming available via cloud computing services.

The purpose of this article is to design a model of a recommender system based on cloud computing that can be integrated to improve the viability of any e-learning system, simplify information access, and personalize learners. The rest of the paper is structured as follows: Sect. 2 outlines the associated work. Section 3 introduces the online learning recommendation system. Section 4 introduces cloud computing, its features, services, and deployment models. Section 5 we describe the architecture of the proposed model. In Sect. 6, gives benefits predicted from E-learning based cloud. We will summarize our work in Sect. 7 and put forward some ideas and future work.

2 Related Works

Recently, the rapid development of information technology has brought about the problem of "data overload", and the research on recommendation systems has attracted more and more attention. The field of use of RS has become endless. It has moved from the field of e-commerce to other fields, such as recommending movies, services, or education in recommended courses.

Dong et al. [3] introduced a personalized hybrid recommendation system. The system can be designed and implemented using Cloud technology, the system uses MapReduce for the execution procedure of proposal algorithms and is developed and deployed into SEUCloud Platform.

Jiang et al. [4] developed a new blog recommendation system based on cloud computing infrastructure. The system uses a Hadoop distributed file system to store massive blog data and adopts the user recommendation algorithm for collaborative filtering in blog search. Simultaneously, they used the cloud-computing platform to deal with the blog grap stages, which significantly enhanced network expandability and service reliability. Nevertheless, the program still has some drawbacks, such as implementing various recommendation algorithms.

Dahdouh et al. [5] proposed a new e-learning system architecture based on a new generation of big data technology implemented in a cloud computing environment.

Zhao [6] discussed several recommendation algorithms and the challenge of traditional recommender systems in big data situation, and then proposed a framework of a distributed and scalable recommender system based on Hadoop on e-commerce. In massive e-commerce, the system can bring a solution to problems of data overload and have a competitive edge for e-commerce with custom marketing.

Bourkoukou et al. [7] proposed an innovative learning method, that is, using a recommendation system to obtain a personalized learning experience by selecting and ranking the most suitable learning items. They presented a new score function to weigh teaching material by obtaining feedback from the student and also collecting preferences from current web log files. In addition, they utilized CF to select a collection of the most appropriate learning objects from the learning object repositories (LOR) focused on the student’s preference collected utilizing their score function.

Though many research have indicated on recommender system, little attention has been given to recommender systems in the field of E-learning based on cloud computing.

3 Recommender System

The main functions of recommender systems permit analyzing user information and amassing valuable records for further predictions. Recommender systems (RSs) are software tools and techniques used to help users find new items or services, like books, music, transportation, or maybe people supported information about the user, or the recommended item [8, 9]. Recommendation systems are usually classified according to the idea of their rating estimation method: collaborative filtering system (rated by user), content-based system (by keyword), and hybrid system (through collaboration and content-based filtering) (Figs. 1 and 2).

Fig. 1.
figure 1

Collaborative filtering recommendation [9]

Fig. 2.
figure 2

Content-based recommendation [9]

Collaborative Filtering System (CF): is frequently used in e-commerce and is one of the most successful recommender systems in e-commerce [6]. Collaborative filtering is a technology (collaboration) that automatically creates automatic predictions (filters) about user interests by collecting preference or taste data from many users. For example, in an E-learning recommendation, CF system tries to find other users who share similar interests, and then recommend their favorite books.

Content-based System: recommends items, related to items that past learners liked. They make suggestions based on personal information and ignore the contributions of other learners [9].

Hybrid System: The hybrid recommendation system combines two or more recommendation techniques to achieve better performance while reducing the disadvantages of a single recommendation technique.

The recommendation system is the most important factor in the field of e-commerce and can be seen in many other fields, such as movies, E-tourism, E-business, E-library, and management science. However, several other areas posing a similar issue, such as those domains related to education and learning objects.

3.1 Recommendation System in E-learning Environment

The E-learning system is a technical development aimed at reforming and adjusting the teaching and interaction of teachers and students through course materials and teaching resources [10], which will not replace traditional methods of education but significantly improve educational efficiency [11]. An e-learning system is a platform, system, or software application for pliant education. The purpose is to improve the quality of learning and teaching: organize content and resources, provide instructional courses, prepare courses, track, record, and manage tasks.

The Fig. 3 shows the components of e-learning systems. There are three layers of traditional e-learning system:

Fig. 3.
figure 3

Components of an E-learning system

Primarily client layer: users can log in to the learning system to learn by using various enabled devices such as (iPad, laptop, desktop, and smartphones). Secondly, the Application layer has many components like (Learning content, online discussion, and virtual classroom, etc.). Finally, the data storage layer of the system enables (learning activities, learner’s profile, courses, logs, and so on).

E-learning is indeed a revolutionary way of teaching and learning in the future, compared to the normal face-to-face style [12]. Today, online learning is becoming more and more popular in organizational and institutional learning for its various e-learning program to learn anywhere, and anytime [7]. However, the great dissimilarity of learners on the Internet presents new defiance for the conventional "one-size-fix-all" approach, in which all learners are equipped with a common collection of learning tools [12]. Even among audiences with seemingly similar backgrounds, learners will have a variety of interests, and learners’ needs and expectations and learning methods brought about by learning interventions are different, so they cannot be treated in a unified manner. It is very important to produce a customize system. In this system, the teaching environment is tailored according to the independent requires, skills and interests of each student, somewhat inverts the traditional instructor/student hierarchy. It provides students with options on how to study to support their curiosity and capacity. Besides, the recommendation in the e-learning environment may be a software agent that attempts to intelligently suggest learning resources to learners who support previous learner activities. The recommendation system in e-learning is a section of information recovery, in which learning resources are filtered and given to learners [13], by using data mining techniques and tools.

The recommendation system in online learning is different from other fields because learners have different characteristics, such as learning styles, learning goals, and changes in experience levels, which may affect learners’ preferences. in addition to that materials interested by learner may not be pedagogically appropriate for them [12]. The recommendation system must also recommend learning materials without affecting the learning process, and the recommended topics must remain in the current learning environment [13].

4 Cloud Computing

Authors in [14] define cloud computing as “a paradigm for permitting everywhere, advantageous, on-demand network get entry to a shared grouping of configurable computing resources that can be immediately conveyed and released with negligible administration exertion or service supplier interaction”.

The cloud architecture incorporates five principle characteristics, three service models, and four deployment models.

4.1 Characteristics

The following aspects summarize the five key characteristics that distinguish the cloud-computing paradigm from other computing methods:

On-demand self-service: Without human contact, the service provider can supply cloud-computing services. In other words, a manufacturing company can supply additional computing services where appropriate without going through the cloud service provider. This can be a virtual machine instances, server time, network storage, and so on;

Broad network access: Cloud services are available through the Internet or private networks and by standard techniques for access.

Resource pooling: Computing resources (processing, storage, memory ...) are aggregated to provide as per the needs of multiple consumers [10].

Rapid elasticity: Can quickly and flexibly configure cloud services and computing platforms, and can be extended to various issues [10]. To the user, the provisioning capacities often seem limitless and can be borrowed in any quantity at any time.

Measured service: Tracking the resource utilization of each application and occupant, it will provide users and resource providers with used accounts.

4.2 Service Model

Although cloud computing has evolved, it is classified basically into three categories: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS):

  • In a SaaS model, a software delivery model in which a service provider manages and allows programs accessible to users over the internet to such customers.

  • In PaaS, an operating system, hardware and network are given to help the application progress (design, implementation, debugging …) [12]. For example Google App Engine and Windows Azure.

  • The IaaS model refers to the computers and servers running code and storing data, and to the wires and appliances linking those devices. For example (processing, storage, networks, and other essential computing resources).

4.3 Deployment Models

Cloud deployment models demonstrate how consumers get access to cloud services. The four deployment models related to cloud computing are as follows:

Private cloud: Provides cloud infrastructure for use by a unique establishment with various consumers [14], And owned by an organization or a third party, whether it is inside or outside the enterprise [15].

Community cloud: Multiple organizations build and provide similar cloud infrastructure and strategies, requirements, values and concerns. A third party provider or one of the organizations in the network may host the cloud infrastructure [15]. Public cloud: Overall population cloud customers use this model, and cloud service providers are fully responsible for the public cloud through their strategies, values and benefits, costs and billing models [15].

Hybrid cloud: is a cloud-computing environment that uses a blend of two or more clouds (community, public or private) to coordinate between the two platforms [15].

5 Proposed Approach for Using Google Cloud in E-learning Recommender System

In this section, we demonstrate the overall architecture of our recommendation system using Google cloud services depicted in Fig 4, which can be divided into four layer: Infrastructure Layer, Cloud Services layer, E-learning layer and user layer.

Fig. 4.
figure 4

Approach for using Google cloud in E-learning recommender system

The infrastructure is the first layer, at the lowest level of cloud service middleware. The infrastructure layer consists of virtualized computing, storage, and network resources. This allows institutions to rent these resources without having to spend money on dedicated servers and network instruments [16].

The second layer represents Cloud services: this layer introduces data preprocessing operations and stages of data readiness:

Processing Data: Raw data cannot be utilized for machine learning development purposes. It must be processed. In GCP, once we move data to Google Cloud Storage or BigQuery, data is obtainable through certain applications and tools for processing as follows: Google Cloud Dataflow: This preparation is a completely overseen administration for changing and improving information in stream and batch modes. Google Dataprep used to look at and change raw data from different as well as enormous datasets into perfect and organized information for additional analysis and processing. Cloud Dataproc enables to running Hadoop clusters on GCP and offers access to Hadoop-ecosystem tools.

Features indicators: This refers to the dataset with the tuned features expected by the model, and developing new features for the model during training and prediction. For example: Score rating, play count, Fraction of video watched and Time on-page.

Cloud machine learning: Use established machine learning techniques or define new operations and methods to develop models such as Matrix factorization and Clustering-based approach, in this section, the AI platform provides the services needed to train and evaluate models in the cloud.

The third layer show E-learning: it represents a software system designed to create a virtual learning environment through which training courses can be delivered, managed and monitored, and access to a range of facilities and arrangements.

User layer: users can log in to Cloud-based education platform like (Moodle, Chamilo, etc.) by using various enabled devices such as (iPad, laptop, desktop, and smartphones).

The pipeline contains the following phases (Fig. 5):

Fig. 5.
figure 5

The cloud ML engine prediction process [11]

(a) The raw data is stored in BigQuery (or in Cloud Storage, for images, documentation, sound, and video). (b) Using Dataflow, data extraction (preparation) and features are performed on a large scale, this produces training sets, assessment and test ready for ML and stored in Cloud Storage. (c) These data sets are stored as files, which is the optimized format for Tensorflow computations. (d) On Cloud MLE, a prediction service is generated using the Model trained. (e) The external application sends data to the deployed model for inference.

6 Benefits Predicted from E-learning Based Cloud

There are plenty benefits by applying cloud-computing technology in eLearning, including:

(a) High availability: by combining mass storage with high-performance computing capacity, this system can provide better level of service. Cloud computing system can identify and remove the packet loss automatically, without disrupting the current functioning of the system. (b) High security: Data is storage intelligently in the cloud-computing model. Based on one or more data centers, administrators manage unified data, assign resources, deploy applications, and manage security. (c) Powerful computing and storage capacity: This requirement may resolve the characteristic of on request Self-service from cloud computing. Large-scale cloud storage offers benefits for consumers to verify the storage capacity they intend to use that is tailored to their institutions' needs and objectives as a cloud-based e-learning consumer. (d) Stronger compatibility with file types: as certain file types in some desktop/cell phones do not open properly, cloud-powered E‐learning systems do not have to worry about these sorts of problems, as cloud based E‐learning apps launch the cloud document. (e) Students benefit more from cloud-based eLearning, as they can improve their skills by taking online courses, attending online exams, receiving feedback from their teacher, and transferring their assessment tasks to their teachers online. (f) Teacher benefits: Teachers can plan for online student assessments, engagement and improved opportunities for students by content management, evaluation reviews, homework and research projects and feedback.

7 Conclusion and Future Works

The key objective of the present research was to design a model of a recommender system for finding better quality resources and reaching the learning goal. At the same time, integrated cloud computing technology can enable educational institutions to extend their services to meet their needs and promote the handling of data and educational resources. Our next work will include implementing our method and applying it to the education of our university Sidi Mohamed Ben Abdellah.