## 3 Methods
### Recommending Module
#### 3.2.2 Collaborative Filtering Algorithm  
As the learning choice of courses by MOOC learners is largely based on personal interests and capabilities, diversity is an important evaluation indicator in personalized recommendations. Therefore, in Step 3, for each cluster, a learner-based collaborative filtering algorithm (Learner-CF) is used to calculate the comprehensive similarity among learners using the k nearest neighbor algorithm. 1. Learner similarity in course rating preferences  
The improved cosine similarity calculation of course ratings is shown in Equation (5). The larger the absolute value of \(sim_{rate}\big{(}u_{i},u_{j}\big{)}\), the higher the similarity of the course ratings between learner \(u_{i}\) and learner \(u_{j}\). In Equation (5), \(I_{u_{i},u_{j}}\) denotes the intersection of courses rated by learner \(u_{i}\) and learner \(u_{j}\); \(x_{ik}\), \(x_{jk}\) denote the rating of course \(k\) by learner \(u_{i}\) and learner \(u_{j}\), respectively; \(\overline{x}_{k}\) denotes the average rating of course \(k\). \[sim_{rate}\big{(}u_{i},u_{j}\big{)}=\frac{\sum_{k\in I_{u_{i},u_{j}}}(x_{ik}- \overline{x}_{k})\Big{(}x_{jk}-\overline{x}_{k}\Big{)}}{\sqrt{\sum_{k\in I_{ u_{i},u_{j}}}(x_{ik}-\overline{x}_{k})^{2}}\sqrt{\sum_{k\in I_{u_{i},u_{j}}} \big{(}x_{jk}-\overline{x}_{k}\big{)}^{2}}} \tag{5}\]
2. Learner similarity in course attribute preference  The cosine similarity calculation of the course attribute preferences is shown in Equation (6). The larger the value of \(sim_{attr}\big{(}u_{i},u_{j}\big{)}\), the higher the similarity of course attribute preferences between learner \(u_{i}\) and learner \(u_{j}\). In Equation (6), \(A_{u_{i},u_{j}}\) denotes the attribute intersection of courses rated by learner \(u_{i}\) and learner \(u_{j}\); \(x_{ik},x_{jk}\) denote the number of rating times for courses with attribute value \(k\) by learner \(u_{i}\) and learner \(u_{j}\), respectively. \[sim_{attr}\big{(}u_{i},u_{j}\big{)}=\frac{\sum_{k\in A_{u_{i},u_{j}}}x_{ik}x_{ jk}}{\sqrt{\sum_{k\in A_{u_{i},u_{j}}}x_{ik}^{2}}\sqrt{\sum_{k\in A_{u_{i},u_{j}}}x_{ jk}^{2}}}\] (6) (3) Learner similarity in multidimensional capabilities The matching course traits of the cosine similarity calculation of multidimensional capabilities are shown in Equation (7). The larger the value of \(sim_{ability}\big{(}u_{i},u_{j}\big{)}\), the higher the similarity of the multidimensional capabilities between learner \(u_{i}\) and \(u_{j}\). In Equation (7), \(H_{u_{i},u_{j}}\) denotes the intersection of multidimensional capabilities that match the course traits of learner \(u_{i}\) and learner \(u_{j}\); \(x_{ik},x_{jk}\) denote the value of learner \(u_{i}\)'s capability \(k\) and learner \(u_{j}\)'s capability \(k\), respectively. \[sim_{ability}\big{(}u_{i},u_{j}\big{)}=\frac{\sum_{k\in H_{u_{i},u_{j}}}x_{ik}x_{ jk}}{\sqrt{\sum_{k\in H_{u_{i},u_{j}}}x_{ik}^{2}}\sqrt{\sum_{k\in H_{u_{i},u_{j}}}x_{ jk}^{2}}}\] (7) (4) Comprehensive similarity among users According to Equations (5)-(7), \(sim_{rate}\big{(}u_{i},u_{j}\big{)}\) denotes learner similarity of course rating preferences, \(sim_{attr}\big{(}u_{i},u_{j}\big{)}\) denotes learner similarity of course attribute preferences, and \(sim_{ability}\big{(}u_{i},u_{j}\big{)}\) denotes learner similarity of multidimensional capabilities that match course traits. Therefore, the comprehensive similarity between learner \(u_{i}\) and learner \(u_{j}\) is shown in Equation (8); \(\alpha,\ \beta,\ \lambda\) are in the range of \([0,1]\) and satisfy \(\alpha+\beta+\lambda=1\) to balance the influence of similarity in learners' course rating preferences, course attribute preferences, and multidimensional capabilities that match course traits. It is usually necessary to determine the optimal value of the balance factors \(\alpha,\ \beta,\ \lambda\) by testing.