Abstract
At present, college students generally choose courses according to their own interests or understanding of the course, which has a certain subjectivity and blindness. In many cases, students know little about the courses before class, and only rely on the course name to guess the course content, so as to decide whether to take this course. However, the existing studies are mainly aiming at online learning resources which are heterogeneous, these methods cannot be effectively applied to the recommendation of university courses. This paper explores improve collaborative filtering for university application environments, provides a knowledge recommendation algorithm for university elective courses. First, we created individual models of the course and the students based on background information. Next, we use context-based recommendation and “Parent Class Filling” method to reduce the impact of Cold Start and Sparsity problem on the initial stage of the system. Then, recommendations are generated based on the course evaluation model and similarity matrix. We select several commonly used algorithms to achieve the recommendation, and the experimental results proved that the proposed algorithm is accurate and effective.
Introduction
Personalized learning support service shows the modern educational concept of people-oriented. It refers to the activities based on learners’ original knowledge, experience and individual characteristics and aimed at the development of learners’ ability and personality. It is an important research direction of the next generation online learning platform. Personalized learning combines artificial intelligence, big data and other information technologies with traditional education methods, identifies learners’ learning characteristics, provides them with appropriate learning resources and convenient interactive tools, actively records their learning process, evaluates their learning results, and finally promotes learners’ effective learning. Personalized learning is to recommend appropriate learning resources for the right people [1, 2, 3]. However, as with the application of recommendation technology in other fields, data sparseness and cold start problems are important factors affecting the effectiveness of recommendations, and these problems need to be studied deeper.
Honggang Wang and Weina Fu proposed a personalized learning resource recommendation method based on dynamic collaborative filtering algorithm. The method uses dynamic K-Nearest-Neighbors and Slope One algorithm to solve the problems of sparse data and poor scalability [4]. Jiangbo Shu et al. proposed a content-based recommendation algorithm based on Convolutional-Neura-Network (CNN). The major novelty of the proposed recommendation algorithm is that the text information is used directly to make the content-based recommendation without tagging [5]. Diao X et al. proposed a personalized learning resource recommendation framework based on course ontology and the learner’s cognitive ability, recommended learning resources to learners by constructing a learner model based on learning preference and cognitive ability [6]. Zhou Y et al. proposed a novel model of full-path learning recommendation based on clustering and machine learning technique. They clustered a collection of learners and train a Long Short-Term Memory (LSTM) model based on a feature similarity metric to predict their learning paths and performance, then select personalized learning full-paths from the results of path prediction [7].
The existing studies on Online Learning Resources (OLRs) recommendation are primarily aimed at heterogeneous resources on the Internet. The learning resources in colleges and universities have their own particularities compared to the Internet, most of them are systematic and standardized learning resources, and they are more suitable for the application of personalized recommendation algorithms such as collaborative filtering. In order to solve the existing problems of collaborative filtration technology and apply it to the field of education, we combined the advantages of multiple recommendation techniques and proposed a knowledge recommendation algorithm in this paper. The main steps are as follows: First, collect background information of students and courses to build a background information database, collect students’ feedback information on the course and establish a course evaluation information database. Then, based on the background information and the course evaluation information, the course similarity matrix and the student similarity matrix are calculated. In the early stages of system operation, Cold Start Problem and Sparsity Problem may be encountered, we use context-based recommendation and a sparse matrix filling algorithm to solve them. When the system data is sufficient, we combine the advantages of multiple recommendation methods to obtain more accurate recommendation data. The algorithm can improve the success rate of students’ course selection and optimize the learning effect through experiments.
Key technologies and problems
College students generally choose courses according to their own interests or understanding of the course. For example, students guess course content based on basic information such as course name, course credits, lecturer, etc, and decide whether to take the course. Students choose courses in this way, and even with the help of search engines, it is difficult to determine whether the course is suitable for them. It will lead to the inefficiency of students’ learning, and the learning effect will be greatly reduced. Fortunately, education data mining and recommendation systems can solve these problems and help students find what they need in the big data of the curriculum.
Education data mining
(1) Social network analysis: Conduct social network analysis according to individual learning activities and the relationships they jointly establish in the cultural and social environment, including discovering academic cooperation, evaluating social relationships, recommending learning courses, etc., for example, providing suggestions on learning resources and activities by collecting user behavior data [8, 9].
(2) Self-learning behavior: By investigating the use and influence of students on learning resources and evaluation exercises, it provides an effective solution for the online self-learning environment, such as checking the learning effect according to the progress of students’ problem solving, and using data mining to predict how students can convert their intellectual ability into academic skills according to goal setting [10, 11, 12].
Collaborative filtering algorithm
The recommendation system is an intelligent agent system to solve the problem of network information overload, which can filter out the content of interest to the user from a large amount of information and push it to the user. Personalized recommendation technology is an upgrade of recommendation technology, which can recommend different content for different users. The most commonly used personalized recommendation technique is collaborative filtering, it is an information technology based on human psychology and social behavior. The term “Collaborative Filtering” describes predicting a user’s preference for unknown items based on the preferences of a friend with similar interests and preferences. In real life, we often see similar phenomena, such as a person recommending things that he or she feels good to his or her friends, who usually have similar interests [13, 14]. Collaborative filtering was first proposed in 1992 by Goldberg et al. and was first applied to an email filtering system called Tapestry. Another milestone in collaborative filtering, Group Lens lab was also founded in 1992 by the Computer Science Department of the University of Minnesota, it is mainly used for research on recommendation systems, universal computing, online communities, geospatial systems, and digital libraries.
A complete collaborative filtering system consists of three parts: the behavior recording module, the model analysis module and the recommendation module. The Behavior Recording Module is responsible for recording behaviors that can reveal user preferences, such as browsing, favorites, ratings, etc. This part looks simple, but in fact, it needs to be very carefully designed, first to convert the collected data into numerical values, and then to de-denoising, standardization, weighting and other processing. For example, browsing and scoring are not the same, and the perfect behavior record needs to comprehensively consider different user behaviors. The function of the model analysis module realizes the quantification of user behavior records, and uses different recommendation algorithms to build models and describe user preferences. Finally, the recommendation module filters out the items that the target user may be interested in from the content set and recommends them to the user. In order to achieve personalized recommendations, in addition to the recommendation system itself, you need a content set for recommendations. For example, for the music recommendation system, a music library is a content set, and this system is a course selection system for college students, so the content set is the university’s curriculum library. While collaborative filtering is an effective and widely used recommended algorithm, it still has many typical problems to solve:
Cold Start Problem: This problem is also called First Rater Problem, which is divided into new user problem and new item problem. If a new user never evaluates any items in the system, the system cannot understand his interests, find similar users for him, or recommend information for him. Similarly, if a new item has not been used or evaluated and no one knows whether it is good or not, then it will certainly not be recommended. In this way, the recommendation system will not work, so the cold start problem is particularly prominent in the collaborative filtering system [15, 16]. In the course selection system, new courses and newly enrolled students can cause Cold Start Problem. To solve this problem, we use a context-based recommendation method instead of collaborative filtering for new courses and new students. Sparsity Problem: In some large systems, the number of items evaluated by users only accounts for a small part of the total number of items. This is especially true on e-commerce websites, such as the JD.COM online store where users only evaluate a part of millions of goods. The evaluation matrix constructed on such a system would be sparse, it would be difficult to find a similar set of users, and the quality of recommendations would be reduced [17]. In the early stages of system operation, there is not enough grading data in the course selection system, it may cause Sparsity Problem. Some courses are only taken by a small number of students, and some students have also taken only a few courses. In this case, we use a sparse matrix filling algorithm to give some virtual scores to help the collaborative filtering algorithm run. Scalability Problem: Most of the existing collaborative filtering algorithms will increase dramatically with the increase of users and projects. For the large amount of data now, collaborative filtering algorithms will usually encounter serious scalability problems. However, because most of the computing can be done offline and the performance of the computer continues to improve, scalability issues are not particularly serious compared to the above issues [18]. Since students’ grading data for courses is slow to update, there is no need to calculate the similarity between items in real time, and we can reduce the computational load by using regular offline calculations.
Calculate similarity of background information
(1) Information of students, including school number, name, gender, major, grade, and credit score, is obtained through the enrollment system. This information is the basis of course recommendation. Then each student’s information is encapsulated into a vector in the following format: (school number, name, gender, major, grade, academic qualifications, credits completed, GPA …), and then the “Student Background Similarity” is calculated from these vectors. In addition, we should also collect the course information that students have attended and the evaluation of these courses, and store them in the database for future use. For example, we collect the following student information:
Information of students
Information of students
Then we encapsulate Zhang San’s information into vector X
Since there are many data types involved in student attribute vectors, we use Tanimoto coefficient to calculate the similarity, which is expressed as follows:
Tanimoto coefficient is mainly used to calculate the similarity between individuals measured by symbol or boolean value. Therefore, it can’t measure the specific value of the difference, and can only obtain the result of “whether it is the same”. Tanimoto coefficient only cares about whether the common characteristics among individuals are consistent. Tanimoto coefficient, also known as Jaccard coefficient, is equal to the number of items shared by two users, divided by the number of all items covered by two users [19].
According to the Tanimoto coefficient formula, we can calculate the similarity between Zhang San (X vector) and Li Si (Y vector):
The similarity between Zhang San (X vector) and Wang Wu (Z vector) is calculated as follows:
The similarity between Li Si (Y vector) and Wang Wu (Z vector) is calculated as follows:
Thus, the “student background similarity matrix” can be constructed, which is a symmetrical matrix, in which the value is the similarity between student A and student B, and the value is between [0, 1]. The larger the value, the more similar it is. As shown in the following table:
Student background similarity matrix
It can be seen that the similarity between students Zhang San and Wang Wu is higher, so we can recommend Wang Wu’s elective courses to Zhang San or Zhang San’s elective courses to Wang Wu.
(2) Collect course information through the educational administration system, including course number, course name, course credit, course teacher, assessment method and other attributes, package them into course attribute vector (course number, course name, discipline, course credit, course teacher, assessment method, class place …), and then calculate the “course attribute similarity” between courses. The Tanimoto coefficient is also used for calculation. In addition, we should also collect the pre learning courses and post learning courses of the course for subsequent use. For example, the course information we collected is shown in the following table:
Course attribute similarity
Then we encapsulate the information of data structure course into vector M
According to Tanimoto coefficient formula, we can calculate the similarity between data structure (M vector) and Java language (N vector):
The similarity between Java language (M vector) and operating system (O vector) is calculated as follows:
The similarity between Java language (N vector) and operating system (O vector) is calculated as follows:
Thus, the “course attribute similarity matrix” can be constructed, which is a symmetrical matrix, in which the value is the similarity between course A and course B, and the value is between [0, 1]. The larger the value, the more similar it is. As shown in the following table:
Course attribute similarity matrix
It can be seen that the similarity between data structure and operating system courses is higher. We can recommend the operating system course to students who have taken the data structure course, or the data structure course to students who have taken the operating system course.
(1) According to the students’ evaluation of the completed courses, a scoring matrix between students and courses is established. The value in the matrix indicates the students’ preference for the courses, and the items not evaluated are empty or zero.
At the beginning of the system operation, the matrix is sparse matrix, and the recommendation effect of sparse matrix is not good, so it needs to be handled separately. When the matrix has enough values (for example, the effective score of the scoring matrix should be more than 50%), the matrix can be divided into one-dimensional row vectors to calculate the similarity of students’ interest. Here, we use Pearson correlation coefficient to calculate the similarity [20]. The calculation formula is as follows:
In Eq. (8) X is the score vector of one student A, Y is the score vector of another student B,
For example, the user’s scoring matrix for the course is as follows. In order to simplify the calculation, we assume that the scoring matrix is 3 rows and 3 columns, the lowest score is 1, the highest score is 5, and the non-scored courses are zero.
User’s scoring matrix
According to the above matrix, we can get the score vector X
The similarity between student 1 (X vector) and student 3 (Z vector) is:
The similarity between student 2 (Y vector) and student 3 (Z vector) is:
Thus, we can generate a “student interest similarity” matrix, as shown in the table below. The similarity matrix is symmetrical, in which the value is the Pearson correlation coefficient between two students, and the range is [
Student interest similarity
It can be seen that the similarity between student 1 and student 3 is high, so we can recommend the courses they have taken to each other. If student 1 has multiple similar users, you can choose the courses that these students like to recommend, which can improve the accuracy and scope of recommendation.
(2) Similarly, we can extract column vectors according to the above scoring matrix to calculate the similarity between courses and obtain a “course interest similarity” matrix. Get the score vector M
The similarity between course a (M vector) and Course C (O vector) is:
The similarity between course B (N vector) and Course C (O vector) is:
Course interest similarity
It can be seen that the similarity between course A and course B is high, so we can recommend course B to students who take course A or course A to students who take course B. If course A is similar to multiple courses, it can be recommended at the same time, so as to expand the scope of recommendation.
According to the above calculation model, after students log in to the course selection system, the system first selects all courses that meet the course selection scope according to the students’ learning phase. In these courses, the system will calculate a recommended item set A according to “student information similarity”; Calculate a recommended item set B according to “course information similarity”; Calculate a recommended item set C according to the “student interest similarity” matrix; Calculate a recommended item set D according to the “course interest similarity” matrix. Then, compare the elements in the four sets of A, B, C and D, counts the number of times each element is repeated in four sets. Sort elements based on the number of times they repeat, elements with a high number of repetitions are sorted first. If several elements are repeated the same number of times, the newer elements are sorted first. Thus the elements in the four sets are sorted into a sequence, which is the recommended sequence.
Sparse matrix filling algorithm
At the initial stage of the system operation, students have not started to select courses and score courses, and students have less feedback information about courses, the “student interest similarity” matrix and “course interest similarity” matrix are sparse matrices, which cannot be used for similarity calculation. At this time, it is necessary to use a filling algorithm to fill the evaluation matrix, we call this “Parent Class Filling” method.
Since different courses have different majors, and a major may belong to a higher-level discipline, we can always find a suitable higher-level category for the current project from small category to large category. We can use the evaluation of superior courses to estimate the evaluation of this course and fill the course evaluation matrix. Of course, the more we trace back to the superior, the greater the error of the estimated evaluation results may be, but it is still an effective method to improve the quality of sparse matrix recommendation.
For example, suppose that the current student Zhang San’s score on the course is as follows, set the maximum score as 5 points, the minimum score as 1 point, and the blank as no score.
Student Zhang San’s score
Student Zhang San’s score
There are five courses in Zhang San’s scoring vector, of which only advanced mathematics and college Chinese have been selected and scored. Now we need to estimate a score for the other three courses that have not been scored, so as to solve the problem of sparse matrix. First, we need to fill in the scores of Java. According to the principle of the “Parent Class Filling” algorithm, we find the data structure course which is closest to the major of Java course, but the data structure course also has no score. Then we continue to search and find that only advanced mathematics and college Chinese have been scored. Obviously, course advanced mathematics is more similar to course data structure. Then we give the same estimated score of 4 points as that of advanced mathematics. Similarly, we give estimated scores to other courses that are not graded. The processed matrix is as follows. The scores in parentheses are estimated according to the filling algorithm. If later student Zhang San give a real score on the course, the estimated score will be overwritten.
Student Zhang San’s score with estimated score
When the matrix filling algorithm is still unable to solve the sparse matrix problem, the system will recommend based on student and course attributes. This is a recommendation method based on demographic information, such as recommending courses without any preceding courses for computer freshmen. This is the simplest recommendation algorithm, it simply discovers user-related content based on the user’s background information, and then recommends it, but this method is very effective at the beginning of the system.
A common method for evaluating the recommendation system is prediction error analysis, which generally includes the following methods:
Average Error: The average error is the average value of the error, and its calculation formula is:
The expectation of the average error should be zero. If it is not equal to zero, there is an error in the calculation result. The greater the absolute value, the greater the error. When it is greater than 0, it is a positive error, and less than zero is a negative error. Mean Absolute Error: The average absolute error is the average of the absolute value of deviation, the calculation formula is:
Mean Square Error: Mean square error is the mean value of the sum of squares of errors, also known as MSE. Its function is similar to MAE, but the amount of calculation is larger than MAE. Its calculation formula is as follows:
Root Mean Square Error: Root mean square error is the square root of MSE, also known as estimated standard error (RMSE), and its calculation formula is:
Since the calculation process of MAE is simple, and it can better reflect the actual situation of the error between the predicted value and the actual value, we use MAE to measure the accuracy of the system recommendation. The lower the value of MAE, the more accurate the prediction of the system is [21, 22].
In order to compare the effects of different recommendation methods, we chose Demographic-based recommendation, User-based collaborative filtering, Item-based collaborative filtering algorithms to achieve the recommendation system. The source data is from university academic affairs system, the data model mainly includes student information, course information and course rating. Course ratings are automatically generated based on a combination of factors, including student evaluation, browsing time, number of visits, and so on. The course rating range is a consecutive decimal number between
MAE of Demographic-based recommendation
MAE of User-based collaborative filtering
MAE of Item-based collaborative filtering
MAE of paper method
Comparison of the distributions of MAE values.
The proposed course recommendation algorithm in this paper provides a rich attribute label for the course, in addition to the information of the course name, course credits, course teachers and so on, as well as the course subject category, pre-course, post-course, teaching methods, suitable for grade, recommended textbooks and so on. According to the attributes and relationships of the course, when students log in to the system, a number of courses that meet the requirements are recommended based on the background information of the students and the required course credits. The system can improve the efficiency of course selection, make the course selection more targeted, and optimize the learning effect.
Footnotes
Acknowledgments
The authors acknowledge the 2021 school level teaching research project of Hubei Engineering University (Grant: 202140), Ministry of education industry university cooperation collaborative education project (Grant: 201901292015).
