# AI-Based Learning Recommendations: Use in Higher Education +
## 2 LXP Architecture: Design and Implementation
### Moodle Plug-Ins  
We have created various plug-ins to enhance Moodle and provide various recommendations to learners, which are explained in the following sections.  
Figure 4 shows the different plug-ins of the project integrated with Moodle. These plug-ins are as follows:  
* Session-Based Recommendation Plug-in: One of the extensions that we have developed is the session-based recommendation plug-in. It displays the list of learning resources (\(v\)) based on clicks (\(a\)) of a learner for a particular session. It utilizes the interfaces exposed by the Communication Module to retrieve recommendations.
* Similar Items Plug-in: The next extension to Moodle is a block plug-in named 'Similar Items' to display resources that are similar to particular learning resources. The similarity is calculated using AI-based Recommender Modules. The plug-in also utilizes the interfaces exposed by the Communication Module.  
Figure 3: Architecture of the Recommender Component. There is a bi-directional dependency between the Recommender Component and Moodle.  
* Trending Items Plug-in: The trending items plug-in lists current popular learning resources using an algorithm that analyzes trends. It identifies and lists the most frequently accessed learning resources by tracking the learner's interaction with various courses. Only the user interaction (\(o\)) is stored, not the user information.
* Rating Plug-in: Moodle provides a rating system for forums, databases, and glossaries; however, it does not have this feature for other learning resources. To address this gap, a new Moodle plug-in was developed. This plug-in allows learners to rate various learning resources using a one-to-five star scale. Additionally, learners can provide reviews such as \"This Portable Document Format (PDF) covers the current topic extensively and is easy to understand\". The plug-in also computes and displays the average ratings anonymously, helping the learners to benefit from each other's experiences, thus fostering a collaborative learning environment.
* Best Rated Items Plug-in: This plug-in displays a list of learning resources that are highly rated by the cohorts. It depends on the Rating plug-in, as it reuses the stars from the Rating plug-in.
* Content Curation Plug-in: When you have a platform that offers various learning resources, using forums and databases, it is only logical to have a centralized place where learners and lecturers can add relevant and high-quality external learning resources. For this purpose and for the purpose of collaborating between lecturers and learners, it was crucial to have an additional plug-in to curate external learning resources. In addition, encouraging collaboration among learners by curating shared resources can grow a sense of community and collective learning. Furthermore, having a content curation database ensures that only relevant, accurate, and high-quality resources are available and fosters collaborative learning that results in increased productivity and improved performance [20].  
Figure 4: The architecture of internal components, dependencies, and data flow in Moodle. The chatbot depends on the LLM-Proxy and the recommendation plug-ins depend on the Recommender Component.  
* Chatbot with Recommendations: The main reason for implementing a basic chat system is to offer recommendations to students when they ask questions and get answers from the chat system. The chatbot uses Large Language Models (LLMs) and Retrieval-Augmented Generation (RAG) to offer responses primarily through the resources that are available in the course, thus reducing hallucinations. Through RAG, we extract information about the learning resources and provide links to similar curated learning resources.