{'fraction_non_alphanumeric': 0.022768965145138664, 'fraction_numerical': 0.004280421567569512, 'mean_word_length': 5.037350705754615, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 1, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Rumi: An Intelligent Agent Enhancing Learning Management Systems Using Machine Learning Techniques

The dramatic improvement of information and communication technology (ICT) has made an evolution in learning management systems (LMS). The rapid growth in LMSs has caused users to demand more advanced, automated, and intelligent services. This paper discusses how Artificial Intelligence and Machine Learning techniques are adopted to fulfill users’ needs in a social learning management system named “CourseNetworking”. The paper explains how machine learning contributed to developing an intelligent agent called “Rumi” as a personal assistant in CourseNetworking platform to add personalization, gamification, and more dynamics to the system. This paper aims to introduce machine learning to traditional learning platforms and guide the developers working in LMS field to benefit from advanced technologies in learning platforms by offering customized services.

LMS includes various criteria from course management systems and content management systems to instructional management systems [5]. LMSs exceed traditional schooling to the point that they provide functionalities beyond instructional content such as management tracking, personalized instruction, and integration across the system [6].
LMSs have been developed from course systems that were originally introduced in the late 1990s and evolved to make a modern school experience [7]. They are now playing a significant part in enriching and facilitating learning all around the world, especially after the Covid-19 pandemic when the on-campus learning experience was no longer an option. The learning management systems lost prominence in recent years because they were considered by certain institutions as simple repositories [8]. But Covid-19 pandemic changed this vision completely and LMSs got more attention as a medium that allows students and teachers to maintain interaction with their academic institutions [8].
When LMSs first emerged, vendors had many opportunities to offer various services and features to satisfy users and define a basic structure for learning management systems. After the release of the first versions, users started getting smarter about their needs which elevated their expectations from LMSs. The change in demand led to the second phase of evolution in learning management systems [9].
LMSs have evolved a lot during the past few years. As online platforms evolved and with technology growing into our daily lives, people become more aware of their expectations from learning platforms and personalization became one of the most significant needs of users. Personalization can be defined as a process that changes the functionality, interface, information access, content, or distinctiveness of a system to increase its relevance to an individual or a category of individuals [10].
To meet the elevating user expectations, learning platforms must develop and transform continuously. This would not happen without the help of advanced technologies and techniques. One of the widely adopted technologies to achieve improvement in every domain is Artificial Intelligence (AI). Artificial intelligence is the intelligence demonstrated by machines instead of the human brain [11]. An Artificial Intelligence (AI) program is called Intelligent Agent. An Intelligent agent can perceive its environment and is capable of taking flexible actions that maximize the chance of reaching its goals and meeting the objectives [11] [12].
Intelligent agents are a new paradigm for developing software applications.
Agent-based computing has been considered the next significant breakthrough Journal of Software Engineering and Applications in software development [13], and the new revolution in software [12] [14]. To make this breakthrough, intelligent agents must be responsive, proactive, and most importantly, social [12]. Intelligent agents have made great changes in a variety of fields like virtual assistants helping customer support, electronic mail filtering agents helping information management, patient monitoring agents improving health care systems, etc.
An integral part of an intelligent agent is learning. To fulfill the learning process, machine learning is used to develop intelligent agents. Machine learning is defined as a field of study that gives computers the ability to learn without being explicitly programmed [15]. It is one of today's most rapidly growing technical areas, lying at the intersection of computer science and statistics, and the core of artificial intelligence [16]. Machine learning describes a set of techniques that are commonly used to solve a variety of real-world problems [17]. Machine learning has several applications from pattern recognition [18] to signal prediction [19].
CourseNetworking is a learning management system introducing Artificial Intelligence and machine learning techniques to learning platforms. It gives a personalized learning experience with a taste of entertainment to the users by an intelligent agent named "Rumi". CourseNetworkig exceeds traditional platforms which could not offer customized content and personalized services to the users.
Rumi is designed to be a social personal assistant, a cool friend, and a caring buddy to all learners on CourseNetworking. Rumi increases engagement, adds more productivity to the systems using machine learning techniques, facilitates the learning process for students and lessens teaching milestones for teachers. This paper argues how machine learning can be adopted by learning management systems to provide a better learning experience to the users. We first introduce CourseNetworking and Rumi, then we explain how we employed machine learning to design a more personalized learning platform.
However, public SNSs raise questions about student privacy [32] [33] and distractions when a platform also serves other purposes [34] [35]. Designed as an academic networking platform, CN came in to solve these problems. The sociocultural nature of CN also addresses several challenges that traditional LMSs face, including the issues with deriving learning motivation, engagement, and retention [36] [37]. CN is a combination of SNS and LMS, drawing the strengths 1 https://www.thecn.com. Journal of Software Engineering and Applications from both types of platforms. As mentioned in the CN White Paper [38], CN not only supports course management but also connects learners and courses for new learning opportunities.
The mission of CN is to change the way the world learns through social, engaging, and global learning. In order to accomplish this goal, CN supports a series of unique features, such as posting and reflection, personalized networking tools, gamified reward systems (called "Anar Seeds"), digital badges and certificates, global classrooms, and a lifelong social ePortfolio. In order for the platform to serve global users and scale, it is hosted in the cloud through Amazon Web Services (AWS) and built upon a NoSQL data structure.
The CN platform was first launched in 2012 with seed funding from Indiana University. It was then developed, studied, and commercialized at IUPUI Cy-berLab 2 , a university-affiliated educational technology laboratory with over three decades of experience in eLearning research and development. As of summer 2022, CN has over two million users from over 160 countries. The user population ranges from high school, college students, to professionals, with the majori-  course and participate in course learning activities, they will need to enter a course from the left menu that will take them to the LMS portion of the CN.  Rumi is powered by Artificial Intelligence (AI) and machine learning algorithms. It offers a series of services to end users, such as announcements, community and connection recommendations, learning and teaching tips, and others. IUPUI CyberLab team has been continuously refining existing algorithms and adding new services to Rumi.

Intelligent Agent Rumi
Rumi was launched within CN, which makes CN among one of the first LMSs and ePortfolio platforms that provide AI and machine learning integrated services. In fact, Rumi is designed to be potentially employed by any learning platform. It could be developed as an LTI plug-in later to be integrated within open source LMSs such as Moodle and Sakai or within commercial LMSs and ePortfolio systems.
The concept of Rumi was first introduced in [44]. This paper suggests that multiple intelligent agents perform teaching and learning tasks on behalf of teachers and learners. These intelligent agents may perform as a teaching assistant, a tutor, or a secretary. They can communicate with end users through a combination of text, graphics, speech, and facial expression, and voice recognition.
Based on history, Rumi was a famous 13th-century Persian sage and poet who represented knowledge and wisdom. To bring the intelligent agent emotionally closer to end users, we designed the persona of our Rumi as an intelligent and modern-looking male in his mid 30's. He plays the roles of a digital mentor, personal teaching assistant, career advisor, caring classmate, and cool friend.

Rumi, Personalization, and Machine Learning
Nowadays, every research and development task has an element of artificial intelligence. One of the most important subsets of AI is machine learning. Machine learning is now making a significant contribution to all areas more than ever and it has enhanced the success pace in each of them from detecting Alzheimer's disease in medical fields [45] to self-driving cars [25]. Learning management systems (LMS) are no exception. Employing machine learning in LMS can make a great paradigm shift and start a new age in the LMS area by fulfilling users' elevated expectations. One of the newly shaped user expectations is personalization. Personalization is becoming the primary success factor in every domain, especially social media.
Advances in technology have made users demand to receive more personalized experiences which has made personalization more important than ever. Personalized content saves time for users by providing relevant content and appears to be designed for each user individually. Personalized content captures user preferences and interests. It improves the user experience and enhances user loyalty by offering value to them. As personalization becomes more of an expected norm across all types of online platforms and services each year [46], numerous companies are taking advantage of interactive technology to personalize their interactions with users [47].
Personalization is one of the most outstanding factors in increasing engagement, especially in Learning Management Systems. Utilizing a personalized learning platform equips students, teachers, and all other users with an advanced tool to spur engagement and receive relevant messages and content.
The integration of personalization in various products turned rapidly from an unnecessary luxury to a commodity that is expected by customers [46]. The expectation made all companies adopt personalization so they would not fall behind the curve. Personalization is employed in CourseNetworking as the primary objective of the intelligent agent "Rumi" to meet elevated user expectations. It must be mentioned that personalization is not the only goal of Rumi. Rumi offers other services with different objectives too.
Personalization agents can be used in different ways. One of them is agents used as advice-giving systems to provide recommendations to each individual and another is the agents generating personalized content based on the user's profile [47]. Rumi delivers personalized experiences in two ways, first by offering customized announcements and messages to the user, and second by considering user preferences while making any recommendations. This is where machine learning and AI come into the picture. Personalization is one of the key applications in machine learning with widespread usage in various industries [46]. Machine Learning offers a set of different techniques allowing one-to-one personalization.
Machine learning algorithms use statistical and probabilistic approaches to analyze datasets to find trends. Finding these trends helps the algorithms learn the preferences and interests of the users and recommend contents, tips, connections, etc. based on their interests.
Rumi is developed to be user-centered by benefitting from several machine learning algorithms. Rumi uses the users' information to get to know the user better. The algorithm behind each personalized service requires different set of data to work on. Some services need the profile information such as institution and major while another service needs users posts and shared content. Each service uses different type of machine learning technique based on its goal. The algorithms get the relevant data as input, process the data and learn the preferences, then they make recommendations by using mathematical approaches. Journal of Software Engineering and Applications More details about Rumi services are further explained in Section 6.

Rumi Services
In this section, we briefly explain what services machine learning integration can bring into learning management systems and how machine learning techniques can help eLearning platforms. Each of these services is explained below to briefly explain what services can be added to LMSs if they adopt machine learning and to show how artificial intelligence can contribute to developing new services in a learning platform.

Announcements
Rumi announcements send critical updates and information to end users, such as upcoming system maintenance, important campus events, and school schedule updates. Figure 3 is an example of Rumi announcements. Since Rumi announcements appear on the very top of each page, they are hard to miss. In addition, Rumi announcements are given the highest priority over all other services. This means when there is a new announcement, it will show up as the first message when the user visits the site. Both CN admins and institution admins have permission to create Rumi announcements. While creating an announcement, admins can specify its importance level. CN admin announcements are given higher priority over institution admin announcements, and announcements labeled with a higher importance level appear prior to announcements with a lower importance level.

Tips
Tips feature is a core service of Rumi. It gives users, both students, and instructors, individualized advice about CN features, learning and teaching practices, and resources. Currently, these tips are created by the CN team. They can be added, revised, or removed anytime. An example of a CN feature tip is that if a learner has edited their ePortfolio but never created a showcase, Rumi will show up introducing the showcase feature and providing a tutorial for the user to follow to create a showcase.  Through AI algorithms, Rumi's tips present two characteristics: individualized and helpful. This means that tips delivered to end users are specifically targeted to their needs. The following mechanics are implemented to ensure relevancy and helpfulness of tips to each CN user. First, Rumi looks into user usage data.
An example would be if the system's data shows that a user has not used a helpful feature, Rumi will provide a tip about that feature. Second, Rumi leverages keyword tagging to recommend relevant resources. CN supports hashtags in various places, even in assignments, quizzes, and gradebook. If a student receives a low score on an assignment tagged #CellStructure, Rumi will introduce additional materials about cell structure to the student to learn more about the topic.
Third, the priority engine pushes out the most critical tips first, ensuring the helpfulness of the tips. When there are multiple relevant tips to suggest, the ones with a higher assigned priority level will show up first. Last, Rumi takes feedback from users to continuously improve the quality of his recommendations. If a user reports that they already know a tip, the tip will stop showing up to the user.
An example of Rumi providing a tip to the user is shown below in Figure 4.

Community Recommendation 6
CourseNetworking offers a network where users with similar interests can be grouped in a "community". A community in CN is defined as a group of people sharing similar interests. Users can interact in these groups through sharing posts, polls, comments, or any documents and photos. They can also rate and react to posts and events to maintain the dynamics of social interaction on CN.
A community can be created by each user if it is not created before. This feature allows users to make communities around any topic that they are interested in Figure 4. Rumi giving tips to the user. 6 The section is a summary of a study [48] by Emad Rahmaniazad while working as a graduate student at IUPUI CyberLab. Journal of Software Engineering and Applications which is one of the great characteristics of CN. If the community already exists, any interested user can join it since all communities are publicly available on CN.
Communities get their names from the common interest of their members. It can be a skill, a major, an institution, an event, a location, etc. A tag with the community's name would be added to the top of the user's home feed when they create or join a community as shown in Figure 5. Users can filter their home feed content by clicking on the community tag they desire. By doing so, they can check out the content related to the community tag they clicked on. For instance, a user interested in "python" can create or join the "python" community and a tag with the name "python" would appear on their home feed. The user can access the content on the python community by clicking on its tag on the home feed.
Communities make a great opportunity for CN users to communicate, discover and socialize. Analyzing CN data revealed the fact that a significant portion of users has neither created nor joined a community. Also, the majority of the communities have very few members. To address this issue, the Community Recommendation service is offered by Rumi as shown in Figure 6. Rumi connects people as an intelligent agent and makes them more engaged. The more engaged users are, the more productive the social network is.
To encourage users to join a community, recommendations must be associated with their taste, personality, major, skill set, etc. Machine learning techniques are employed to find the most suitable communities for each user to recommend.  To achieve this purpose, a modified version of item-to-item CF [49] called Neighboring Collaborative Filtering (NCF) is adopted and improved by utilizing a feedback structure. The name is derived from the general idea, which selects popular tags among the user's neighbors as community recommendations. The neighbors of a target user are accounts that are related to that user in some way.
Sharing various features can cause two users to be related including similar skills, location, field of study, organization, etc. Out of all these factors, the most influential ones including the field of study, previously joined communities, and social engagement are selected to define whether two individual users are considered neighbors.

Quote Competition 7
CN users can add a tagline to their profile's bio section. It can be a motivating sentence or a quote from a famous person. Quote Competition is a service offered by Rumi based on the users' tagline, promoting gamification and adding a taste of entertainment to the platform. The competition is as follows: a pair of two quotes are shown to each user so they can choose the one they like more. If the user likes none of the quotes, they can request to get a new pair of quotes to vote. Each quote corresponds to a tagline that users submitted on CN. This service is shown in Figure 7.
During each round, Rumi picks a pair of quotes for each user from a pool consisting of all user-submitted taglines on CN except the user's own tagline, quotes that were shown to that user before, and eliminated quotes. Rumi has a specific instruction to choose two quotes from the pool. The first quote is the one in the pool which is shown to users by Rumi less than others. The one that has the closest win rate (score/views) to the first quote is picked as the second quote that must compete with the first one. Users can check out quotes' rankings and their own tagline rank by viewing a table called "Leaderboard".
A score is assigned to each quote as a metric used for comparison among multiple quotes. Users preferring one quote to another, increments the winning Figure 7. Quote competition service offered by Rumi. 7 The section is a summary of a study [50] by Amirreza Salamat while working as a graduate student at IUPUI CyberLab. Journal of Software Engineering and Applications quote's score by one, while the other quote will have its score decremented by one. At the same time, the view counts of both quotes are incremented by one as they are both viewed by the user. Thus, if a user skips the first pair and opts for a new pair of quotes, the scores will remain unchanged, but the view count will increment by one for both quotes.
A new metric called win rate is calculated using score and view counts. The quotes with loss counts exceeding a certain threshold will be pulled out of the available quotes pool and eliminated from the competition. This group of quotes is referred to as eliminated quotes.
As the game progresses, more quotes are pulled out and fewer ones remain.
The process goes on until only 50 quotes remain in the competition.
Rumi stores user feedback in the competition and finds the quotes that users like the most by ranking them based on the votes each receives from users. The ranking process takes place based on an ELO rating system [51]. Interaction records can be used as the label for training a neural network to reach a better understanding of the quote types each user prefers.

Connection Recommendation
Friend recommendation in social networks has been widely studied in recent years, which mainly focuses on social relationships and user interests [52]. Facebook, Twitter, Instagram, and many other social platforms offer friend recommendations to users using machine learning algorithms.
Rumi recommends friends to the users on CN as a service named "Connection Recommendation". The service helps users get linked to each other and find new friends, connect to their classmates, get to know other students at their university, etc.
There are several factors to consider while choosing the right user to recommend to another one, including field of study, job position, age, nationality, language, gender, etc. However, some of these factors are more important than others, and they vary from one platform to another.
CN is a learning environment. Users use CN to learn, communicate, improve their skills, or share their achievements. This purpose helps narrow down the factors to consider for friend recommendations. Based on this purpose, the most important aspects of an ePortfolio for making a connection are determined by the IUPUI CyberLab team including skills, institution, location, etc.
To make more relevant recommendations, Rumi applies some rules in addition to filtering ePortfolios. As an example, Rumi does not recommend a user to another unless they have at least one mutual skill in their ePortfolio. Rumi does not recommend users whose ePortfolio is not visible to the other user. Also, users without profile pictures or bio are removed from Rumi's recommendation pool since they do not provide enough information to the other user to decide whether they want to make a connection or not.
Rumi then sorts recommendations based on the user activity, Premium mem-bership status, last activity date, etc. Users who are more active on CN get more chances to be reached by other users using the connection recommendation service.
Other than recommending similar users, Rumi is capable of considering user preferences determined directly by the user himself (Figure 8). To put in other words, users can set preferences other than their permanent interests to get connection recommendations. This feature is designed for the users who want to connect to the users with specific features in their ePortfolio. Assume a physics student using Rumi. Typically, she gets users majoring in physics as connection recommendations. But then there is a time when she needs help with a task in her programming course. She wants to get connected to someone majoring in computer engineering to ask for help. Rumi allows her to set new preferences for connection recommendation service to get a new set of recommendations.
Users can decide whether to connect to a recommended user using a follow button or skip the recommendation (Figure 9). Rumi receives the feedback and learns users' permanent preferences based on that. The feedback helps Rumi make more relevant future recommendations.

Hashtag Recommendation
With the growth of blogging services, millions of posts are being generated on various platforms each second. Access to a large amount of content arises the need for an efficient way of filtering and categorizing the data. On social networks and microblogging services, users usually use hashtags, types of labels, or metadata tags, to make it easier to find messages with a specific theme or content [53].
Users on CN can create and share posts containing texts, documents, images, etc. They have access to all public posts, and they can view private posts shared with them on their home feed. This large amount of data makes users confused while looking for content they are interested in. Hashtags are innovative tools that become handy to overcome this challenge. They help to classify messages, improve searchability, and allow the organization to link messages to existing knowledge and action communities [54].
Not all users add a hashtag to the posts they share on CN. The reason behind this issue varies from being unaware of the hashtag concept to a lack of time to add proper hashtags to the content. As a personal assistant, Rumi takes the responsibility to suggest related hashtags to label the users' posts. Rumi provides users with a list of possible hashtags before they finalize and submit their posts.
Users can review the recommended hashtags and choose none or multiple ones from Rumi's recommendation list to label their content. With these hashtags, users can easily search and manage their historical posts and track others' posts [55].
Rumi is under development to recommend related hashtags to the content users create using a pop-up window containing a list of recommended hashtags.
To do so, keyword extraction methods and hashtag recommendation algorithms in machine learning are compared for performance evaluation on CN content.

Conclusion
Great achievements in information technology and communication have led to higher-level user expectations in Learning Management Systems including Cour-seNetworking. One of the advanced technologies helping companies meet user expectations is machine learning. This paper argues how machine learning can contribute to enhancing learning management systems, fulfilling user demands, and introducing a new age of e-learning. Machine learning techniques are employed in CN to create an intelligent agent named "Rumi" to personalize services and add more entertainment and dynamics to the system. Rumi has brought more engagement and personalized learning to CourseNetworking and, potentially, other learning platforms in the near future.