Abstract
Recommender systems promote sales of products and services by helping users alleviate the information overload problem. Collaborative filtering is most extensively used approach to design recommender system. The main idea of collaborative filtering is that recommendation for each active user is received by comparing with the preferences of other users who have rated the product in similar way to the active user. Matrix factorization technique is one of the most widely employed collaborative filtering techniques due to its effectiveness and efficiency in dealing with very large user-item rating matrices. One of the principal disadvantages and challenges of the collaborative filtering type algorithms is content awareness, namely, they use only people’s behavior to produce recommendations and are not aware of the predicted content’s metadata. In this work, we study and compare two ways of incorporating this type of content information directly into the matrix factorization approach. We extend the baseline optimization problem by two techniques. The first one penalizes item and user feature vectors with some small amounts pushing them towards each other in the latent space, and the second one makes two item and user specific latent feature vectors as similar as possible if the two items and users have similar tagging history. The results of the experiments, on the benchmark data sets, show that the proposed model has a better performance compared to some other methods.
Keywords
Introduction
Modern consumers are inundated with choices. Huge selection of products, with unprecedented opportunities are offered by electronic retailers and content providers to meet a variety of special needs and tastes. User satisfaction and loyalty can be increased by matching consumers with the most appropriate products. Therefore, recommender systems which analyze patterns of user interest in products to provide personalized recommendations suiting a user’s taste, have become very popular in recent years. Due to the increasing importance of recommendation, it has become an autonomous research field since the mid 1990s [1]. Recommender systems can be categorized into the following main types [31, 14]:
Content-Based filtering This system recommends items depending on the past activities of the user. A basic process focusing on matching up the features of a user profile, in which interests and preferences are stored, with the features of an item, is used in order to recommend new interesting items to the user. The system tries to recommend items which are similar to the ones a user liked in the past. The term similar can be quantitatively derived according to the domain of the items. For instance, if recommendation is done in book domain since the author of Anna Karenina and War and Peace are same, a user who likes the first one may like the second one also and vice versa [28]. Therefore, Content-based filtering algorithms try to recommend items based on similarity count [32]. Collaborative filtering Collaborative filtering considered as “people-to-people correlation” recommends a particular user those items that other users with similar tastes liked in the past. This approach tries to find peers of users that share similar tastes in the specified domain [38]. Then items that are mostly liked by the peers of the particular user are recommended. Recent article by Feuerverger et al. [5] gives an extensive review and discussion of different collaborative filtering algorithms as well as an up-to-date and comprehensive bibliography. Most collaborative filtering are based on either nearest neighbors or matrix factorization [16]. Although the nearest-neighbor approach is more intuitive, the matrix-factorization approach has gained popularity as a result of the Netflix contest [17]. In particular, we focus on the matrix factorization approach only [5]. Hybrid recommender systems The hybrid filtering is a combination of more than one filtering approach [32]. One motivation behind the collaborative filtering approach is to overcome some common problems associated with above filtering approaches such as cold start, overspecialization, and sparsity problems. The other is to improve the accuracy and efficiency of the recommendation process.
Unlike the content-based methods, collaborative filtering did not require to pick the semantic of the products. Because the collaborative filtering methods try to make predictions based on the past behaviour of other users that are similar to the user. However, collaborative filtering suffers from the following limitations [1, 37, 36].
Data sparsity A modern E-commerce recommender system may include millions of users and millions of items. Even for a very active user may exist a relatively small proportion of items in E-commerce systems. Meanwhile, even the very popular items are rated by only a tiny part of users existing in E-commerce systems. Due to the sparsity of available user activity records, it is difficult for collaborative filtering based recommender systems to discover similar users or similar items according to their rating behaviors. So the personalized recommendations for users can not be generated by the collaborative filtering based recommender systems. This problem, known as the data sparsity problem, is a major issue that leads to negative effects on the recommendation quality of the collaborative filtering based recommender systems. Cold start problem Since collaborative filtering approach does not require extra information on the users or the items, it is capable of recommending an item without understanding the item itself [37]. However, this very advantage leads to the so-called “cold start” problem, which refers to the general difficulty in performing collaborative filtering for users and items that are relatively new. By definition, newer users are those who have not rated many items, so it is difficult to find other users with similar preferences. Likewise, newer items are those which have not been rated by many users, so it is difficult to recommend them to anyone. Scalability In order to make recommendations for users, traditional collaborative filtering based recommender systems need to compute the pairwise similarities among users or among items, whose time complexity of computing similarities grows exponentially with the number of users and the number of items. As the rapidly growing amount of users and items available in E-commerce systems, traditional collaborative filtering algorithms suffer seriously from scalability problems.
In this paper, we try to inherit the advantages of matrix factorization approach as well as cope with the cold start problem by combining matrix factorization approach and content awareness about the indivi-dual items and users. For example, for recipes [6] we may know their ingredient lists; for movies [17] we may know their genres; for users we may know their occupation and ages [20]. Moreover, we focus on ways to take advantage of such content information directly in the matrix factorization approach, not by using a hybrid or two-step algorithm. We extend the baseline optimization problem by two techniques. The first one penalizes item and user feature vectors with some small amounts pushing them towards each other in the latent space, and the second one makes two item and user specific latent feature vectors as similar as possible if the two items and users have similar tagging history.
The rest of this paper is organized as follows. Section 2 introduces related works. Section 3 describes the details of our proposed recommendation algorithms by combining matrix factorization framework with two different user-item content awareness techniques. Experiments are evaluated in Section 4. The paper ends with a brief conclusion.
Many work has been proposed to overcome data sparsity, cold start problem and scalability issues in the research of recommender systems. For instance, in order to deal with the data sparsity issue, Sarwar et al. [34] and Yongli Ren [30] adopted imputation techniques to filling the missing ratings and make the user-item rating matrix dense. However, data imputation has still several unsolved issues, such as how to select the most important missing data to fill in. On the other hand, several clustering techniques based recommendation algorithms have been proposed to cope with the scalability issue [2, 19, 39]. Although clustering techniques based recommendation algorithms can improve the scalability of recommender systems, they often provide less personalized recommendations and often lead to poor accuracy. Another work dealing with the scalability issue refers to item-based techniques holding the promise of allowing CF-based algorithms to scale to large data sets and at the same time produce high-quality recommendations [33]. To overcome cold start problems,various ideas have been proposed. For example, using "filterbots" which are artificial items or users inserted into the system with pre-defined characteristics, have been suggested by Park et al. [27]. For instance, an action-movie filterbot can make recommendations to new users who have only liked one or two action movies. More recently, Zhao et al. [40] suggested shared collaborative filtering, an ensemble technique that aggregates predictions from several different systems. Since one recommender system may have data on user-item pairs that another one does not, it is possible to improve recommendations by sharing information across different systems. Another common approach for dealing with the cold start problem is to fill in the missing ratings with pseudo ratings before applying collaborative filtering. For example, Goldberg et al. [7] did this with principal component analysis. Nguyen et al. [25] did this with rule-based induction, while Melville et al. [21] did this with a hybrid, two-step approach, creating pseudo ratings with a content-based classifier. Moreover, another approach which can be a remedy for the problem of the cold start users is to generate user and item profiles by discovering frequent user-generated tag patterns, and to enrich each individual profile by a two-phase profile enrichment procedure [22].
In the last years, matrix factorization [17, 11] methods have drawn lots of attentions due to their good scalability and predictive accuracy. The performance of matrix factorization methods depends on how the system is modeled to mitigate the data sparsity and over-fitting problems. In [29], an algorithm is proposed based on the classic Multiplicative update rules, which utilizes imputed ratings to overcome the sparsity problem. Active learning algorithms are also effective in reducing the sparsity problem for recommender systems by requesting users to give ratings to some items when they enter the systems. In [9], a matrix factorization model is proposed, which incorporates the classic matrix factorization algorithms with ratings completion inspired by active learning. In addition, matrix factorization technique offers a flexible framework to incorporate additional sources of information to improve the recommendation quality. Koren [17] and Adomavicius [1], argued that additional information, such as social network information, user demographics and item descriptions, may provide useful information for matrix factorization technique to improve the recommendation performance. Following by the hints and with more rich additional sources of information become available, several recommendation approaches are introduced to extend the matrix factorization techniques by utilizing additional information recently. For example, Zhen et al. [41] proposed tag informed collaborative filtering to seamlessly integrate tagging history into the matrix factorization framework. Ma et al. [19] and Jamali and Ester [13] present social recommendation algorithms based on matrix factorization by employing both users’ social network information and rating records. Their experimental results demonstrate that those additional information can be used to improve the recommendation quality. Various additional information has been exploited to improve the quality of recommendation under the matrix factorization framework. Kim et al. [15] incorporated item attributes into an item-based probabilistic model to solve the cold start item problem. Gu et al. proposed a graph regularized nonnegative matrix factorization model for collaborative filtering, by constructing two graphs on the item as well as user side, to utilize the internal and external information [8]. To the best of our knowledge, there exists only one recommendation algorithm [26] which attempts to combine matrix factorization approach and item attribute information to improve the recommendation quality.
The proposed recommender system methodology
Our algorithms are based on the extending the techniques developed in [26] with some extra penalties. In this section, we first give a brief review of the basic matrix factorization method [17, 35]. Then two improvements over the traditional matrix factorization method are provided. Finally, the pseudo-code of the algorithms are presented.
Matrix factorization
Let
The goal of the recommender system is to predict the rating,
where
where
Furthermore, since most entries in
The principal idea of the relative scaling of the penalty terms is that the number of users can differ significantly from the number of items. For instance, the sum of
To sum up, recommender system tries to minimize the regularized squared error on the set of available ratings in order to learn the user and item factor vectors
In this subsection, we focus on a particular type of supplemental information, content information about the individual items and users. For example, for recipes [6] we may know their ingredient lists; for movies [17] we may know movie genres or dates of release, metadata information of users like age, occupation and so on. We focus on two ways to take advantage of such content information directly in the matrix factorization approach, in order to improve the recommendation accuracy of recommender systems. Both approaches use extra penalties with selective shrinkage effects. Suppose that, for each item
Generalized alignment-biased technique
To incorporate
where the subscript “gAB" stands for the “generalized alignment-biased",
where
Since many commercial recommender engines allow users to create personalized tags, Zhen et al. [41] proposed a method to exploit information from these tags. Following the work of Li and Yeung [18], we make two user-specific and two item-specific latent feature vectors as similar as possible if the two users have similar tagging history and the two items have similar attributes by adding a tag-based penalty to the baseline optimization problem:
where the subscript “TG" stands for “tag" indicating where the original idea came from,
With both
for every
for every
We can see that, when compared with Eqs (6)–(7), the selective shrinkage effect is somewhat attenuated in Eqs (8)–(9). This is most clearly seen if we normalize the weights to sum to one, i.e.,
Equations (10)–(11) reveal a curious factor of
The algorithms are initialized with two matrices
for the Tag informed algorithm, and
for the generalized alignment-biased algorithm, where
Similarly, the generalized alignment-biased algorithm can be written as follows:
We have already mentioned that, when both
where
An important property of SVD, which is particularly useful in recommender system, is that it can provide the optimal approximation to the original matrix
So the idea of initialization is that for given
One more step to the final versions of
where entries in
In this section, we will analyze the accuracy of the predictions and recommendations of our proposed generalized alignment-biased (gAB) and Tag informed (TG) algorithms. Several experiments were performed to test the efficiency of the proposed method using two real datasets including MovieLens [23] and NetFlix [24]. We will compare our algorithms with classic SVD algorithm implemented in Matlab, Bayesian Non negative Matrix Factorization (BNMF) method [11], Imputation-based Multiplicative update rules (IMULT) [29], and Enhanced SVD (ESVD) model [9]. As the results of three competing approaches [9, 11, 29] have been lifted from their papers, it was not possible for us to compare our approach with them in some cases. The proposed method is different from state of the art methods in that it includes an initialization step using SVD and applying user and item similarity latent space to guide the iterative solutions to the true ratings. Our method outperforms ESVD, IMFM, and BNMF in all numerical experiments which are lifted from their papers. Moreover, the accuracy of the Tag informed algorithm appears to be less than the generalized alignment-biased algorithm. We think this is due to its much dampened shrinkage effect. All the algorithms were implemented in MATLAB 7.0 on a personal computer equipped with a 3.20 GHz Intel Core i5-4460 processor and 4 GB RAM.
Dataset description
We have used real datasets to conduct the experiment: “MovieLens 1M”, “MovieLens 10M” and “NetFlix”. MovieLens and NetFlix [20] are web-based research recommender systems. The MovieLens datasets, first released in 1998, describe people’s expressed preferences for movies. These preferences take the form of
Quantitative summary of the ratings datasets used. The sole computed column, Density, represents the percentage of cells in the full user-item matrix that contain rating values
Quantitative summary of the ratings datasets used. The sole computed column, Density, represents the percentage of cells in the full user-item matrix that contain rating values
All the required parameters are summarized in Table 2. We examined our algorithms with factorizations of dimension
Parameters summary
Parameters summary
This section represents the results of the proposed algorithms and compares them with some of the recent successful approaches [11, 29, 9]. Analyzing errors of the proposed algorithms in different ways, we conclude that the algorithm Generalized Alignment Biased has a considerable precision in recommendation process. This high precision is resulted by use of the user and item similarity latent space, described in Section 3.3.1.
Accuracy in predictions
The main purpose of recommender systems is to predict rates of new items for a test user that is called ’active user’. In this section we will review two measures in order to analyze the accuracy of our algorithm, Mean Absolute Error (MAE) and Root Mean Square Error (RMSE). We use these metrics to measure the closeness of predicted ratings to the actual ones.
RMSE related to two recommendation algorithms on a subset of 700 users of MovieLens 1M dataset.
Where
RMSE values of gAB, TG and Matlab SVD algorithms for MovieLens 10M dataset for different percentages of user-item matrix data (
MAE values of gAB, TG and Matlab SVD algorithms for MovieLens 10M dataset for different percentages of user-item matrix data (
MAE related to two recommendation algorithms on a subset of 700 users of MovieLens 1M dataset.
Detailed results for a subset of data, 700 users, are depicted in Figs 1 and 2. The two curves shown in Fig. 1 demonstrate different trend of RMSE values for two proposed algorithms on a subset of 700 users in MovieLens 1M dataset. The two types of points in Fig. 2 demonstrate different trend of MAE values for two proposed algorithms. As expected, gAB algorithm produces more accurate recommendations than TG algorithm in terms of RMSE and MAE. This is due to its much dampened shrinkage effect. In order to compare the efficiency of the proposed generalized alignment-biased (gAB) and Tag informed (TG) algorithms with classic SVD algorithm implemented in Matlab with different percentages of the user-item matrix dataset, each time a fraction of the ratings were randomly selected. For example when the selected percentage of data is set to
RMSE values of ESVD, IMULT, BNMF, TG and gAB for 80% of MovieLens 10M dataset as training and different number of latent features (
MAE values of ESVD, IMULT, BNMF, TG and gAB for 80% of MovieLens 10M dataset as training and different number of latent features (
Average RMSE values for ESVD, BNMF, IMULT, TG and gAB for MovieLens and NetFlix datasets with latent feature (
In this section we will study the quality of the recommendations through two popular measures, Precision and Recall. Precision of a recommender system is measured according to the number of high rated items in the recommendation list that the user likes, as stated in the Eq. (17). Actually, the precision measure is defined as the percentage of items correctly recommended over the number of items recommended.
The recall measure is defined as the percentage of items correctly recommended over the number of items that should be recommended.
In Tables 8 and 9 we show the precision and recall for three algorithms gAB, TG, and Matlab SVD. As may be seen, the proposed algorithms gAB and TG provide much better results than Matlab SVD in terms of precision and recall. The results show that quality of gAB algorithm is higher than TG algorithm.
Quality of recommendations measured by Precision (in percentage)
Quality of recommendations measured by Recall (in percentage)
In this paper, we propose two different matrix factorization based collaborative filtering algorithms which are aware of the predicted content’s metadata. Both approaches use extra penalties with selective shrinkage effects which shrink items and users which share common attributes toward each other. The generalized alignment-biased algorithm try to push item and user feature vectors towards each other in the latent space by penalizing them with some small amounts. The Tag informed algorithm with much dampened shrinkage effect, adds a tag-based penalty to the baseline optimization problem which makes two item and user specific latent feature vectors as similar as possible if the two items and users have similar tagging history. Experiments with two data sets have shown that these content-boosted algorithms can achieve better recommendation accuracy. The performance of the Tag informed algorithm appears to be less accurate than the generalized alignment-biased algorithm. We think this is due to its much dampened shrinkage effect.
There are mutual benefits between recommender systems and social platforms. On one hand, social interactions can be extracted and used as input for the recommender system, as it helps to better understand the user interests and information needs. By considering information in social networks, including user preferences, item’s general acceptance, and influence from social friends, the recommendations would be more trusted by users. Using such additional information about users, we can tackle the problem of cold start and sparsity in the rating matrix on which the matrix factorization is applied. On the other hand, recommender systems can help to improve user participation in social systems by recommending new friends or interesting contents such as images, videos, advertisements, and so on. We aim to integrate social relationships and user-generated tags into the user-based collaborative filtering recommender systems based on the matrix factorization technique.
