Abstract
Recommender systems are widely used to provide users with items they may be interested in without explicitly searching. However, they suffer from low accuracy and scalability problems. Although existing clustering techniques have been incorporated to solve these inherent problems, most of them fail to achieve further improvement in recommendation accuracy because of ignoring the correlations between items and the different effects of item attributes on recommendation results. In this article, we propose a novel recommendation algorithm to alleviate these issues to a large extent. First of all, users and items are clustered into multiple cluster subsets based on user-item rating matrix and item attribute deriving from domain experts, respectively. Then we use a selection method relying on item attribute to mine candidate items and only their predictions will be calculated in the next step, which can save the computation time greatly. Furthermore, by weighting the predictions with TF-IDF (Term Frequency-Inverse Document Frequency) weights, the top-N recommendations are generated to the target user for return. Finally, comparative experiments on two real datasets demonstrate that this algorithm provides superior recommendation accuracy in terms of MAE (Mean Absolute Error) and RMSE (Root Mean Square Error).
Introduction
In the age of information overload, the task of choosing meaningful information for the target user can be not only confusing but also time-consuming. Recommender systems (RSs) [1] have thus been developed as indispensable tools in helping people find items they are interested in and filter out uninteresting ones. Over the past few years, RSs have been evolving rapidly. In essence, they can be classified into three categories: content-based filtering, collaborative filtering (CF) and a hybrid method. A content-based recommender system [2, 3] generates recommendations based on discrete features of items, e.g., categories and other attributes. Of course, this strategy requires gathering external information that might not be available or easy to gain. On the other hand, a CF recommender system [4] does not require any detailed information about the attributes of the items or users. Instead, it makes a list of interesting items on the current active user based on the preferences of like-minded users. Usually, the user-item rating information is used to find similar users and their hobbies. These two approaches are often combined to make hybrid RSs [5, 6].
Although CF is generally believed as one of the most successful techniques applied in RSs, it also faces several critical shortcomings. First, the CF methods have difficulty to identify similar neighbors because of insufficient data in the user-item rating matrix, which is also known as the data sparsity problem. Secondly, with the joining of new users or items, the cold start problem happens, as there will be no sufficient data on these new members for the CF to work accurately. Thirdly, since the numbers of users and items grow sharply, CF algorithm will confront scalability problem. In order to eliminate these problems, clustering-based recommendation methods [7] have been developed, which have been proved to improve the quality of RSs. A variety of clustering algorithms can be performed based on users, items or other information, which results in many sub-matrices of the entire user-item rating matrix and clusters of users or items. Then traditional CF approaches can be adopted to cope with the sub-matrices and clusters, which can alleviate the data sparsity and scalability issues to a certain extent.
Existing clustering-based recommendation algorithms are mainly based on two types of information resources: user-item rating matrix and social relations [8]. Meanwhile most of them assume that a user or an item falls into a single cluster [9, 10]. However, it is unreasonable in reality. In most situations, items could have several attributes. For instance, one movie can have multiple genres, such as comedy, history and action. If an item can only be in a cluster, the similar items can only be selected from the fixed size of its cluster, which results in low accuracy and coverage. Therefore existing clustering-based approaches still encounter relatively low recommendation accuracy [10, 11], which has seriously restricted the practical application of clustering-based RSS.
In order to solve the aforementioned issues, in this paper, we design a weighted recommendation algorithm based on Multi-view Clustering of User Similarity and Item Attribute, namely MCUSIA, which can be characterized as follows: Firstly, it focuses on clustering users and items respectively from two different information sources of user-item rating matrix and item attribute. Specifically, we use easily accessible item categories as item attributes, e.g., genres for movies, and an item can be clustered into multiple clusters. In addition, we only predict the meaningful items for target user. Finally, without extra information of users, the item attributes target user prefers can be found and weighted in the process of recommendation. Conceptually, our approach can be regarded as a hybrid recommendation method.
To be specific, the main contributions of this article are: We present a novel recommendation frame of clustering method to cluster users from the view of user similarity and items from the view of item attribute. MCUSIA can filter out lots of items for the current active user if these items have no common attributes with items rated by users within the cluster including target user. In other words, part but not all items are selected as candidate items before computing their predictions, which can greatly reduce the amount of computation and shorten the time in implementing recommendation algorithm. To alleviate the data sparsity problem, we utilize not only the rating and clustering information to evaluate the predictions but also the supporting degree of each candidate item. Furthermore, to highlight user preferences for specific item attributes, we add weight factor into the predicted values of candidate items and recommend items to target user in term of the weighted prediction. We conduct a series of experiments on two real datasets to verify the effectiveness of our approach in comparison with other recommendation algorithm.
The rest of this article is organized as follows. The related work is stated in Section 2. Section 3 discusses our approach in detail. Experimental results are presented in Section 4. Finally, Section 5 concludes our study with future work
Related work
In this section, we review the existing clustering-based recommender systems. Moreover, the major challenges are also discussed.
Clustering-based recommendation methods group users or items into clusters and offer a new way to address the problems of data sparsity, scalability and cold start in CF models [12–14]. Most early works focus on clustering users or items separately and all rely on the similarity of users or items [15, 16]. For instance, Xue et al. [15] apply the K-means algorithm to cluster users and choose the most similar users as the neighbors. Then rating predictions are generated based on ratings in the neighborhood of the current user. Some other works consider clustering users and items simultaneously [17–20]. Pereira et al. [17] provide a co-clustering method to deal with the cold start problem based on learning of user and item attributes. Wu et al. [18] propose a novel and scalable method CCCF which clusters users and items into several subgroups, where similar users and items can be included in a subgroup. Furthermore, a scalable inference algorithm is introduced and experimental results demonstrate its advantages in flexibility and scalability. Ji et al. [19] present a co-clustering algorithm that can cluster the user-item rating matrix into several small matrices with high similarity, which can complement the sparse user-item rating matrix and improve the recommendation accuracy. Although these algorithms have improved accuracy to some extent comparing the traditional CF models, they still face bottlenecks in performance improvement due to relying solely on the information of rating matrix.
Recently, some works are exploring the clustering of other additional information to enhance recommendation performance, such as metadata [21–24], tags [25–28], social relations [8, 29–31] and item attribute [32–34]. Guo et al. [10] propose a probabilistic method to derive a prediction from the views of both user-item rating matrix and trust relationship. This method (namely MV) is proved effectively in resolving the cold start user problem. Moradi et al. [29] design a model-based CF method by applying a novel graph clustering algorithm with trust, including finding sparsest sub-graph, clustering users and items and rating prediction. Ma et al. [30] present a multi-type clustering method MCRec that considers user similarity, item similarity and trust information to further improve the accuracy. From the above, we can see that one of the central roles of the trust information is to resolve the neighbor selection problem. Unfortunately, trust information is hard to obtain in the real datasets. In most trustbased recommender systems, the trust values are implicit values calculated using user-item rating matrix. Therefore, they fail to achieve further improvement in recommendation accuracy and scalability. In addition, they can only deal with the cold start user problem but ignore the cold start item problem. Pirasteh et al. [32] propose a novel method based on movies similarity relying on item attribute correlation, which can improve recommendation performance when data information is sparse. Yu et al. [34] design an attributes coupling based matrix factorization method ACMF by incorporating item attribute information into the matrix factorization model and adopt coupled item similarity to capture the relationship among items [35–37]. Exactly, recommendation algorithms can effectively cope with the cold start item problem after considering item attribute when such information is available. However, recommendation accuracy of existing methods is not improved effectively, since they do not take into account the impact of item attributes on the results of prediction. Obviously, a user preferences are consistent over a certain period of time. Hence, if a user prefers to watch movies with horror attribute, then items with this horror attribute are more attractive to the user. Unlike existing approaches, our study will focus on highlighting user preferences on item attributes.
In summary, existing clustering-based recommendation algorithms mainly focus on user-item rating matrix, and they still face the problems of low accuracy and scalability, which motivate us to develop a better algorithm to improve the performance of clustering-based recommender systems.
The proposed approach
In this section, we describe our presented MCUSIA approach in detail.
Notations
Let U = {U1, U2, ⋯ , U
m
} be the set of users. Let I = {I1, I2, ⋯ , I
n
} be the set of items. Let A = {A1, A2, ⋯ , A
t
} be the set of item attributes. Item attributes are more biased towards categories in this article. As to movies, love, adventure, horror, crime, action, war, suspense can be the set of attributes for movies. In case an item has no explicit category, we can also extract it from other information, such as item features, labels and so on. The rating matrix is denoted as UIRM (User-Item Rating Matrix), where each element RU
u
,I
i
denotes the rating score that user U
u
∈ U gives to item I
i
∈ I. Usually, a higher rating score is assumed to indicate a more favourable feedback from a user for an item. In practice, RU
u
,I
i
can be any integer number from 1 to 5 given by user U
u
, but all the rating data of users used in this paper is normalized as a real number in the range[0, 1]. If user U
u
has no rating score on itemI
i
, then RU
u
,I
i
= 0. We can represent the Matrix UIRM as follows:
For convenience, UIRM is an m by n matrix, where m is the total number of users and n is the total number of items. Each row R U u is named a user U u record and each column is called an item record. R U u = (RU u ,I1, RU m ,I2, ⋯ , RU m ,I n ) is a rating vector corresponding to user U u . The goal of a recommender system is to recommend a personalized list of the items to the target user using the rating matrix.
IIAM is the Item-Item Attribute Matrix, where each element PI
i
,A
k
represents whether item I
i
contains an attributeA
k
. Therefore, PI
i
,A
k
is 1 if item I
i
contains the attribute A
k
and 0 otherwise. Such information can be represented by the following matrix IIAM:
IA (I i ) is the set of attributes that the item I i has. For example, a movie can have multiple attributes, such as action, comedy, adventure and so on. AI (A k ) is the set of items which have the attributeA k . UI (U u ) is the set of items rated by user U u . If user U u rates the items then UI (U u ) = {I i 1 , I i 2 , ⋯ , I i s }. IU (I i ) is the set of users who have rated the item I i . UA (U u ) is the set of attributes which the items rated by user U u have. The cluster containing the user U u is named C user (U u ). The notation C item (A k ) is the cluster of items with the attributeA k .
The brief description of our MCUSIA framework is shown in Fig. 1. Firstly, we use three sets of users, items, item attributes and two matrices UIRM and IIAM as the inputs. We then cluster users based on user similarity to get user clustersC user , and items in view of item attribute to obtain item clustersC item . Thus like-minded users and items with the same attribute are allocated into the same clusters separately. Moreover, the candidate items are mined on account of the above two types of clustering. As to the target user, not all items are involved in computing their predicted values. Accordingly, our approach can save the computing time and improve the scalable of recommender systems to a certain extent. Finally, the top-N recommended items are generated according to the weighted predictions, which are computed and weighted in the light of the two matrices UIRM and IIAM.

Overview of our approach.
The most well-known clustering method in recommender systems is the k-means algorithm due to its simplicity and effectiveness. We use this algorithm to cluster users into different groups based on user similarity. For clarity, we use Iu,v = UI (U
u
) ∩ UI (U
v
) denoting the set of items commonly rated by both users U
u
and U
v
. The Pearson correlation coefficient is adopted to calculate user similarity.
Sim (U
u
, U
v
) is the similarity between user U
u
and U
v
, RU
u
,I
i
and RU
v
,I
i
represent the rated values on the item I
i
by user U
u
and U
v
, respectively, while
User clustering algorithm
In this article, we cluster items relying on their attribute. As we known, an item can have several attributes, so an item can be included in multiple item clusters. The item clustering algorithm is designed as Algorithm 2.
Item clustering algorithm
There are usually quite a lot of items in a recommender system. Hence it would be very inefficient if every item needs to be predicted before making recommendations. As we known, if users have similar tastes in the past, they are more likely to have similar preferences for items in the future. Moreover, a user can prefer items which include one or more attributes of items rated by itself in the past. Therefore, in order to save time-consuming, in this paper, we introduce a selection algorithm to filter out uninteresting items and retain meaningful items as candidate items for the current active user. In addition, the final recommendation list will be generated from the set of candidate items rather than items in the whole space.
As to target user U u , the candidate items are mined by algorithm 3 and the set of them is defined as SITEM, shown in Equation (4).
Mining candidate items Algorithm
Mining candidate items Algorithm
The key concept of collaborative filtering recommendation is using ratings of other users that exhibit the most similar behaviour to the target user to estimate the relevance scores for unrated items. Given a userU
u
, the set of similar users is denoted as C
user
(U
u
) via the clustering algorithm of users. Simply, we use Uu,i = C
user
(U
u
) ∩ IU (I
i
) representing the set of users which are clustered into the cluster C
user
(U
u
) and have rated the item I
i
. If U
u
has not expressed rating for an item I
i
, the relevance of I
i
for U
u
is evaluated as follows:
Usually, the intuition is that the more ratings are aggregated into computing the relevance value, the more certain that the value is correct. However, in practice, the number of items is enormous and a normal user rates only a few items, so the following question arises: How to ensure the certainty of the relevance scores associated with the recommended items. Based on this issue, we bring the notation of supporting degree SupD (U
u
, I
i
), which defines the ratio of the number of users that have been clustered into C
user
(U
u
) and rated item I
i
to the cardinality of C
user
(U
u
). More precisely, it is computed in Equation (6).
Let Pred (U u , I i ) be the predicted score corresponding to the predicted preference of Item I i for user U u . Then it is calculated by
The above prediction is computed only considering the rating scores and supporting degree of items but not considering the difference of importance of different item attributes to a user. As a matter of fact, a user may prefer items with a certain attribute, such as a user may like movies with comedy attribute, so the movies with the comedy attribute should be more suitable for the user. Thus, we measure the preference of each user for each attribute by TF-IDF weight, and the weight information is stored in matrix WUAM.
In Equation (8), the preference of U
u
for attribute A
k
is expressed as WU
u
,A
k
computed in Equation (9).
Note that in Equation (9), the first part expresses the percentage of items with attribute A
k
in the given item set UI (U
u
), similar to the notation of term frequency (TF), and the second one represents the exact opposite of popularity of attribute A
k
, similar to inverse document frequency (IDF). Using the above weight matrix, we can add weight factor into the predicted values of candidate items. As to a candidate item I
i
, the weight factor is evaluated as follows:
Correspondingly, the weighted prediction WPred (U
u
, I
i
) of U
u
for Item I
i
is computed in Equation (11).
According to the weighted predictions, we sort the candidate items in decreasing order and recommend the top-N items to the target user U u .
We give a rough analysis on the computational cost of our method here. In our proposed MCUSIA, the main computation is to cluster users and items, and select the candidate items. From algorithm 1, the time complexity of clustering users is O (m * K * z), where m is the number of users, K is the number of user clusters, and z is the average number of items which are rated by two users in a cluster. Hence, z is much less than n. From algorithm 2, the time complexity of clustering items is O (t * n), where t is the number of item attributes and n is the number of items. From algorithm 3, the time complexity is O (p * q * s), where p is the average number of users in a user cluster, q is the average number of items rated by a user, and s is the average number of items in an item cluster. For example, in the following experiments, q is 106 in MovieLens and 403 in HetRec, respectively. Therefore, the time complexity of our method is O (m * K * z) + O (t * n) + O (p * q * s).
Experiments and evaluation
In this section, we conduct comparative experiments with other state-of-the-art approaches on two real world datasets. Experiment results confirm that our approach can improve the performance of recommender systems in terms of MAE and RMSE.
Datasets
Several datasets have been widely used to evaluate the performance of recommender systems, such as Flixster, MovieLens, Netflix, FilmTrust, Epinions, HetRec2011 and so forth. We choose MovieLens100K and HetRec2010 as our datasets to evaluate the proposed algorithm, as only these two contain item attribute information.
The MovieLens100K datasets published by GroupLens research group contains 100,000 ratings from 943 users on 1682 different items, where each user rates at least 20 different items in the range from 1 to 5. On the other hand, the HetRec2011 is an extension of MovieLens and consists of 851,871 ratings from 2,113 users on 10,046 items. Note that the rating scores are normalized as a real number between 0 and 1.
Evaluation metrics
In our experiment, a 5-fold cross validation is adopted. In other words, we split each dataset into five different subsets. Then each time, four of them are used as the training set and the remaining one as the test set. To evaluate the performance of our proposed approach MCUSIA, we conduct a series of experiments on the above two datasets. Two metrics of recommendation accuracy, MAE and RMSE, are adopted for comparing with other recommendation algorithms. Formally,
We implement the following recommendation algorithms for comparison. MCRec: Proposed in [30], which considers multi-type clustering, including trust-based user clustering, similarity-based user clustering and similarity-based item clustering. MV: Proposed in [10], which clusters users using both ratings and trust information. HMCoC: Proposed in [8], which is the most related work. It uses trust information, item implicit correlations and rating matrix to cluster items and users. However, trust information is unavailable in most real datasets and item implicit correlation is inaccurate, while item attribute in our approach is more reliable since it is provided by domain experts. CBMF: Proposed in [3], which groups users and items into different clusters. In this model, content information is directly incorporated into the matrix factorization method to improve the recommendation performance.
In order to make a fair comparison, we set parameters of each approach according to the optimal situation in each experiment. Besides, we use implicit trust value in Ref. [29], as the explicit trust value is not available in our datasets.
Note that the rating values in our comparing experiments are all normalized as real numbers between 0 and 1. Hence, the normalized rating values are used to compute the values of MAE and RMSE. Figure 2 demonstrates the performance comparisons in terms of MAE on different datasets MovieLens and HetRec respectively, where the number of user clusters K is varied. Additionally, RMSE comparisons on MovieLens and HetRec are illustrated in Fig. 3.

MAE comparison.

RMSE comparison.
The results show that our approach (MCUSIA) achieves better performance than the others in terms of both MAE and RMSE under all conditions. On MovieLens dataset, the best results of MAE and RMSE are achieved when K equals 30. Compared with HMCoC, MV, MCRec and CBMF, MCUSIA decreases MAE by 10.34%, 17.72%, 15.03%, 12.16%, respectively. Accordingly, MCUSIA decreases RMSE by 9.33%, 15.46%, 12.94%, 9.79%, separately. The curves of RSME on two data sets show similar change trends with the transformation of MAE. All these results prove that if the clustering-based recommendation algorithm considers different sources of clustering information, it will outperform the method that only considers single one. Besides, HMCoC and CBMF are superior to MV and MCRec, which indicates that the item feature information is more reliable than trust information in recommender systems.
Specifically, as the value of K increases, the performance of the counterparts on MovieLens and HetRec is decreased accordingly. This is because less likeminded users can be identified within each group when more clusters are designed. However, this phenomenon does not happen in our approach, which will be explained later on.
Figure 4 reports the impacts of parameter α on MAE and RMSE for both datasets. From this figure, we have the following observations: (1) The value of α has an important impact on the recommendation accuracy. (2) As α increases, the values of MAE and RMSE firstly drop down and then increase. This means that the recommendation performance first rise when α increases, and after the parameter α reaches a certain threshold, the performance of MAE and RMSE begin to drop as the parameter α continues to increase. These observations indicate that supporting degree of items is a significant factor for recommendation accuracy. Meanwhile, this observation is consistent with the underlying assumption that the prediction values only considering rating scores are uncertainty.However, supporting degree of items has not been considered in existing methods.

Impact of different α.
Figure 5 shows the experimental results on MovieLens100K and HetRec2010 with varying value K, respectively. From this figure, we can clearly see that as the parameter K increases, the values of MAE and RMSE decrease at first and then begin to rise. As we known, the greater value of K, the more clusters are generated. The possible reason is that when K is small, the number of users in the same cluster is too large, which will introduce much noise into the process of recommendation because of the weight factor. When K arrives at a certain threshold, the performance is improved to an optimal value. And then continually increasing K will result in degrading recommendation performance, since users in the same cluster are not enough to recommend the interesting items for the active user. Furthermore, we can see that the fluctuation of accuracy performance on MovieLens is larger than on HetRec. In our consideration, this is because the ratings of each user on MovieLens are less than on HetRec, thus the change of the number of clusters has a greater impact on it.

The effect of varying value K.
Finally, we make the following conclusions from the above experimental evaluation. Firstly, the incorporation of item attribute information is effective in improving the performance of recommendation accuracy. Secondly, all experimental results show the performance is better on HetRec than on MovieLens, which is because the average number of ratings per user on HetRec is higher. Thirdly, the cold start item problem can be solved effectively by item attribute information in our algorithm.
In the last few years, recommender systems play an important role in the web. In this paper, we propose a weighted recommendation algorithm based on multi-view clustering of user similarity and item attribute. Specifically, item attribute information is used to cluster items. Moreover, supporting degree of items is introduced to compute the prediction values, and the TF-IDF weight factor is employed in the process of recommendation. Experimental results demonstrate that our proposed algorithm outperforms the state-of-the-art recommendation methods.
The present work requires both user-item ratings and item attribute information, so it is suitable for the real datasets where such information is available. In other words, the proposed clustering approach may be applicable to situations where item feature can be excavated. Otherwise it does not apply. Thus, one potential limitation of our work is that we only consider the explicit item attribute but not consider the implicit one. For future research, we intend to extract more attribute information of items to improve the performance of our algorithm, such as the current popularity of items. Moreover, we will discuss whether social relations of users are benefiting to improve the recommendation accuracy in the future.
Footnotes
Acknowledgments
This work is supported by the National Natural Science Foundation of China (No. 61602162), Doctoral Fund of Hubei University of Technology (No. BSQD2019020), and Scientific Research Fund of Hubei Provincial Department of Education B2017042.
