Enrichment of Multi-criteria Communities for Context-aware Recommendations

Recommender systems are designed to help users alleviate the information overload problem by offering personalized recommendations. Most systems apply collaborative filtering to predict individual preferences based on opinions of like-minded people through their ratings on items. Recently, context-aware recommender systems (CARSs) are developed to offer users more suitable recommendations by exploiting additional context data such as time, location, etc. However, most CARSs use only ratings as a criterion for building communities, and ignore other available data allowing users to be grouped into communities. This paper presents a novel approach for exploiting multi-criteria communities to provide context-aware recommendations. The main idea of the proposed algorithm is that for a given context, the significance of multi-criteria communities could be different. So communities from the most suitable criteria followed by a learning phase are incorporated into the recommendation process.


Introduction
The development of the Internet has brought comforts of life, but it also has caused the information overload problem.For example, an e-commerce website can offer up to hundreds or even thousands of items in different categories for a user.As a consequence, the user is frequently confronted with embarrassing situations about what products to buy, what movies to watch, what music to listen to or what books to read, and he/she may find difficult to filter out the irrelevant information and to choose the most suitable items.Thus, Recommender Systems (RSs) are designed to suggest users the items that best fit the user needs and preferences [1], [21], [30].There are many famous applications of RSs in several domains such as book recommendation (e.g., Amazon.com),music and movie suggestions (e.g., Last.fm,Netflix.com,Movielens.org),travel service information (e.g., Tripadvisor.com,Expedia.com),etc.Among RSs techniques, the two most popular categories are contentbased filtering and collaborative filtering.There also has the combination of both called a hybrid approach [8].
Content-based filtering suggests a target user items that are similar in content to the ones he/she liked in the past [20], [22], [28].In this approach, each user possesses a profile describing his/her tastes and preferences depending on application domain, e.g.list of favorite film genres or research fields.Then the system matches profile-item in order to predict user's rating on the item.Content-based filtering gives high performance if items can be properly represented as a set of features.The challenge of this technique is to extract the features of items while for many domains, it is difficult to analyze and represent the content e.g.music and movies.In addition, content-based systems rarely show diversity and serendipity [32], i.e., the user is usually recommended with unsurprising items containing similar content to what the user has felt interested.Collaborative filtering (CF) recommends for a target user items by following opinions of his/her community, i.e. people sharing similar tastes with him/her [7], [14], [16], [29].In order to form communities, CF uses a rating matrix in which each user and each item are associated with a row and a column respectively.Each cell of this matrix corresponds to the rating of the useritem pair describing a degree of user's preference for that item.Then, the decision of whether two users are neighbors depends on the similarity between their sets of ratings.Nowadays, CF is widely applied in the majority of RSs because it requires no prior knowledge of the application domain as well as no content analysis, and leads the user to discover items in new fields [18], [21].
Recently, Context-Aware Recommender Systems (CARSs) have been developed to deal with the limitation of traditional RSs that do not take into account contexts in which items will be recommended, and to make the purpose of recommendation is more specific [2].In some applications, such as recommending a vacation package, movies, or a list of songs, the recommendation may be influenced by many factors besides item features and users' long-term interests.For example, assuming a user needs to find a suitable destination for his vacation, but which site is suggested depends on several factors such as current season, weather, or companion.Obviously, a vacation recommendation in winter can be very different from the one in summer.Similarly, in case of movie suggestions, on weekdays, a user might prefer to watch action films when he is alone, and on weekends, when being with his girlfriend, the user may have a preference in romantic films.Without considering the changing situations, traditional RSs easily fail to generate poor quality recommendations.
In the literature, Dey's definition [12] of contexts is widely adopted [31]: "Context is any information that can be used to characterize the situation of an entity".A RS can consider contexts, e.g.time, location, weather, companion, etc.Based on the moment when contexts are used in the process, CARSs methods are classified into three groups: pre-filtering (contexts are used for data selection before application of standard CF), post-filtering (contexts are incorporated to refine the result of CF), and contextual modeling (contexts are directly integrated to predict user ratings on items) [2].
Generally, users in a CF system are grouped into communities only on the basis of their ratings.Such single-criterion communities approach suffers from the data sparsity problem referring to a situation in which user ratings are insufficient to estimate the similarity between users.In fact, the rating matrix is very sparse because a user usually gives few ratings compared to the number of items on columns of the matrix.The sparsity problem becomes more serious in CARSs using CF because the integration of contexts into the matrix will considerably increase the number of columns while the set of ratings is unchanged [4].Moreover, one user can belong to many groups besides rating community.For example, a researcher can be a member of an expert group, of a romance film club, and so on.Then, he/she can receive various interesting suggestions from those.Thus, in this paper we aim at using all data that are available or effortless to collect such as demographic information or any type of data allowing users to be grouped into multicriteria communities for improving context-aware recommendations.
The remainder of the paper is structured as follows.First, Section 2 summarizes some related work in CF and context-aware recommendations.Next, in Section 3, we present the extended -community spaces model on which we define a context-aware recommendation algorithm.The experiments conducted to evaluate the proposed algorithm are detailed in Section 4, and finally, Section 5 contains the conclusion and some future work.

Related work
As discussed above, CF recommends items based on feedbacks of people having similar preferences with a target user.CF techniques use the set of ratings which have been known in advance to estimate the rating function f: User x Item  Rating, where Rating is the domain of ratings (e.g., five-star scale, or {like, dislike}).The task of rating prediction is to estimate the (user, item) pairs which have not been rated yet by users.
CF techniques are divided into two main categories according to their algorithms to form communities [1], [7], [21].Memory-based or neighborhood-based techniques require no computation at model building time, as they provide predictions based on ratings of the closest neighbors, i.e. they compute at the request time [7], [10], [11], [29].Model-based techniques use previous user activities to first learn a predictive model that is later used to generate predictions [6], [13], [17].The main advantages of former techniques are simplicity (relatively simple to implement), efficiency (no costly training phase), justifiability (users better understand the recommendation and its relevance), and stability (without having to re-train the system) [11].However, some potential drawbacks of memory-based approach are sensitive to data sparseness and cannot be pre-computed for fast online recommendation.On the contrary, modelbased algorithms are typically faster at the request time though they might have expensive learning or updating phase.Hence model-based methods can be preferable when recommendation speed is a critical factor.
Latent factor models, such as Matrix Factorization (MF), solve the recommendation task by decomposing the rating matrix and learning latent factor for each user and item in the data [19].This approach is based on the assumption that both users and items can be transformed to the same latent factor space with a reduced number of factors.Methods based on latent factors infer the characteristic of data without exactly knowing each feature.In this way, the rating matrix R is decomposed into two matrices P and Q.Each row of P represents the strength of the association between a user and features and each column of Q describes the strength of the relation between an item and features.The task of the MF is to find two matrices P and Q and their product approximates R Q T x P. Factorization models have become one of the preferred approaches to CF, especially when combined with neighborhood models [18].
Rather than to exploit ratings as a unique criterion to form communities, some work proposes multi-criteria communities approaches.Squicciarini et al. [34] present a multi-criteria model to deal with multiple aspects of users' profiles.First, based on Apriori algorithm, the authors introduce a modified method to automatically group each user's contact into social circles with common characteristics.Next, the system will use grouping information to recommend the appropriate privacy setting for a new contact or a new uploaded item.In other words, when a target user uploads a new object (an item or a contact), the system looks for the social group which is most likely to deal with the object in the similar way as the user.Then, the privacy settings adopted by the found social group are considered as the base for predicting policies for the new object.In fact, this approach exploits various interesting properties of social network to partition users such as education background, hobbies, relationship, privacy preferences, etc., so this brings a lot of benefits.Alternatively, Nguyen et al. [24] propose the -community Spaces Model based on rough sets theory, where  denotes a given user similarity factor.By using the relationships between criteria, this approach allows estimating the missing -communities for new users via a rule-based induction process.
In general, all of traditional CF approaches ignore information about contextual situations in which suggested items will be consumed.Hence, up to date, several studies propose extensions for CF in order to incorporate contextual information into recommendation process.

Context-aware recommendations
Recently, CARSs introduce contextual information into rating matrix with an extended definition of rating function f: User x Item x Context  Rating where Context is a set of possible values for contextual information associating with the application.In this way, the three most common paradigms for incorporating contexts into RS are pre-filtering, post-filtering and contextual modeling.
Pre-filtering uses contexts to filter out irrelevant ratings before 2D user-item paradigm is applied.Item splitting is considered as one of the most efficient pre-filtering approaches [4].Baltrunas and Ricci propose and evaluate the benefit of the item splitting method where each item is split into several virtual items based on the different contexts in which these items can be consumed.User splitting is based on a similar idea of item splitting, which considers one user as two different users if this user shows markedly different preference in a context [9].Baltrunas and Amatriain [3] made the first attempt to examine user splitting by proposing "micro-profiles" where a single user profile is split into several contextual sub-profiles representing the user's preference in each context.Following this method, the recommendation process will use these micro-profiles instead of a single user profile.User item splitting which applied item and user splitting together is a new approach proposed in [37].The authors try to explore the role of emotion in CARSs by using all three context-aware splitting approaches, and then they empirically compare predictive performance of these methods.The experiments of splitting approaches reveal the importance of emotions in CARSs by showing the improvement in recommendation performance.More specifically, user item splitting outperforms the others, and EndEmo feature which denotes the emotion of users after watching a movie is the top first selected contextual feature for both item splitting and user splitting methods.In addition, through the empirical comparison of two these methods, the authors figure out that since emotions are generated and owned by users, they are more dependent on user than on items, so user splitting works better than item splitting for emotional dataset.
The major advantage of pre-filtering approach is that it allows deployment of the numerous traditional recommendation techniques.The limitation of contextual pre-filtering paradigm, however, is exploiting only user data acquired in the target context, so this paradigm is likely to suffer from the sparsity problem when contextual information is not dense in the data.There are several current solutions for dealing with this problem [9], [35], [36].
Zheng et al. [35] propose the differential context relaxation.The main idea of the proposed algorithm is to separate a rating prediction into components and then to apply different aspects of the target context to each part.This is essential for the approach to find the optimum set of contextual features which becomes a matter of finding a relaxation of these contextual constraints.The experiments show when the data sparsity occurs, this relaxation method was helpful.Recently, Codina et al. [9], set the purpose of their paper, which assesses context similarity relied on available users' ratings for prefiltering recommendation.The authors believe that the two similar contextual situations will influence the user's rating behavior in a similar way.This means that their algorithm will use all ratings acquired in contextual situations that semantically similar to the target context.For example, in the recommendation of places of interest, similar weather conditions such as cold and rainy may have a positive effect on users' ratings for indoor places like museums, and a negative effect for outdoor places.
Note that, the idea of computing the similarity of contexts also has been applied by Zheng et al. [36], but they use in different way.More specifically, the algorithm computes the similarity of contexts, then selects the neighbors for users by comparing their contexts for rating item i with a target context c if the context similarity greater than a threshold.Finally, the authors apply the differential context weighting in which the contribution of each contextual variable is weighted rather than selected.
In post-filtering, contexts are incorporated after computing recommendation with 2D methods.Paniello et al. [27] consider two post-filtering methods Weight and Filtering that penalize the recommendation of items with few ratings in the target context.They also try to figure out when it is better to use pre-filtering or post-filtering.With empirical comparison of different paradigms, the authors conclude that the best approach to use (pre-or post-filtering) really depends on a given application.In particular, the experimental results show that when the post-filtering method is realized in the right way, it becomes the best contextual method.On the contrary, it can be the worst one.Overall, in comparison with prefiltering, pos-filtering is not much affected by the sparsity problem, yet the serious shortcoming of the latter approach is that it merely refines but cannot overturn results created by 2D methods.This means post-filtering paradigm will be useful to deal with false acceptance cases and not be efficient in false rejection.
For contextual modeling, contexts are used directly in recommender function as an explicit predictor of a user's rating for an item.One of the recent methods is proposed in [15].The researchers predict contexts that are suitable for a given set of songs in which the user shows an interest during an interaction.To more details, they will capture the changing contextual states of the user based on the sequence of songs belonging to a play list or an active interaction session with the system.
With the rise of MF approach in 2D recommendation algorithms, many researchers follow this approach for context-aware recommendation.Shi et al. [33] extend the classical MF by first computing movie-to-movie similarity based on mood tags and then incorporating additional information to the prediction model.Baltrunas et al. [5] have explored a modeling approach in which the recommendation algorithm is based on a factor model and extended with parameters explicitly demonstrating the impact of the selected conditions on predicted rating.Other contributions to the contextual modeling approach are two contextualizing models proposed by Odic et al. which are described in the next section.

Contextualizing latent factor models
In [26], Odic et al. propose two ways to incorporate contexts into MF: contextualizing users' biases as in (1) and users' latent features as in (2) where ˆ( , , ) r u i c is the rating prediction from user u for item i in context c; , b u and b i are global ratings, user's and item's biases respectively; b u (c) is a user's bias in context c; two vectors i q  and u p  are item's and user's latent features respectively; and ( ) ˆ( , , ) .( ) Both above methods are inherent in the characteristics of model-based approaches, so their advantages are excellent at detecting the relationship between user's interest in each context and latent factors, and in a given context, they are generally effective at estimating overall structure relating to most or all users and items.However, one of their shortcomings is that in some contexts, they often ignore the strong association among a small set of closely related users or items which neighborhood techniques do best.
In summary, all the preceding CARS methods are mainly based on ratings as the unique factor in collaboration, and ignore the fact that users' preferences could be affected by multi-criteria communities while some existing multi-criteria models have not been integrated contextual information into recommendation process.Thus, this paper focuses on exploiting multicriteria communities which are incorporated contexts for improving the quality of context-aware recommendations.In the scope of our research, we aim to measure the impact of multi-criteria communities in each context by means of off-line experiments and prove the effectiveness of utilizing the relationship between these communities and contexts in CARS.

Methodology
The underlying ideas of our approach are that a user can be associated with multiple communities including the group computed from the rating matrix in order to receive more interesting suggestions, and the influence of these communities on recommendations to the user in a particular context could be different.For example, in the context "alone at home on weekend", a researcher will probably watch movie "Gone with the wind" following the opinion of his/her classical romance movie fan club while "at cinema with friends in workday", he/she may like movie "Star Wars" according to the suggestion of his/her colleagues.This example shows that the user can discover potential interesting movie genres by making use of different communities.
In our approach, a CARS can use features in users' profiles as criteria for grouping users into multiple communities, so it is necessary to determine which criterion is most suitable for generating recommendations to users in each context.In other words, we need to define a pre-order on the set of criteria for each context, and then propose a context-aware recommendation algorithm based on these pre-orders.
In the next section, from an adoption of basic concepts of the -community spaces model [24] we propose an extension of this model with an integration of contextual information, as well as a definition of a pre-order on the set of criteria according to their relevance in the particular context.Finally, we present a CF algorithm which incorporates the extended model into context-aware recommendation process.

Extension of the -community Spaces Model
In the -community spaces model [24], the authors define U as a set of users and A as a set of available user similarity factors (or criteria).For example, in the MovieLens dataset [23], age, occupation, favorite genre, and ratings are such criterion .For each   A, there is an equivalence relation  () on U: where (u) is the value of criterion  taken by user u.
For example, (u  (occupation) u')  occupation(u) = occupation(u'): two users u and u' have the same profession.Any equivalence class with respect to  () denoted ( ) k G  is called an -community, and the -community space denoted  () is the quotient set of U by the relation  () .
In this model, every user u will be associated with a personal position vector P(u) as in (4), defining each  i -space, G (i) (u), which is the community that he/she belongs to., ( All position vectors are grouped into -community In our approach, we assume that the importance of  will vary by context c which consists of a set of contextual feature values.We denote context c = (c 1 , …, c t ) where c i is the value of i th feature.For example, there are two contextual features {location, day type}, and contexts could be (at cinema, weekend), (at home, workday), etc.In traditional CF, G () (u) is considered for calculating the prediction of user u on item i for all contexts.For our context-aware recommendation algorithm presented later on, we define G () (u, i, c) as the -community contains only users similar to user u based on criterion , and have rated item i under context c.Note that Starting from the idea that the role of each criterion is not identical in a given context, we will establish a priority on the set of criteria A for each context.This contextual priority is represented by a pre-order on the set A defined as follow: where errorRate(, c) is error rate of a certain algorithm applied on -communities to give recommendations for context c.Note that this value can be calculated in training phase of the algorithm, and   c ' means  is more appropriate than ' for the context c.

Generation of Context-aware Recommendations
Following the extended model presented above, in order to generate context-aware recommendations to a target user u, we propose EMC (Enrichment of Multi-criteria Communities) algorithm which is defined on the basis of finding the prior -community for a given context.Generally, if the community is based on only singlecriterion, it might suffer from the sparsity problem when there are no or few neighbors meeting constraints.Thus, to provide better recommendations, EMC will incorporate various enrichment methods for the prior -community in case few users have rated on items in the context.

EMC Algorithm
In principle, a CARS using CF relies only on one singlecriterion community to compute prediction of a target user on items for all contexts.In contrast, the prediction for a given context in EMC algorithm is calculated from the community with respect to the criterion having the highest priority in this context by the pre-order defined as in (5).Thus, with different contexts, there are generally alternative suitable criteria for them.For example, when "at cinema in workday", the community associating with age criterion could be the prior, but when "at home on weekend" the community built from favorite genre may be chosen to generate recommendations.EMC algorithm has four steps as illustrated in Figure 1.Step 1: Select the prior -community for the context.The first step aims to identify the most suitable criterion  for the context.In general, after EMC algorithm has been defined, it can be applied on a training set containing items rated by users to establish a particular priority for each context based on the pre-order as in (5).Thus, the community G () (u) according to the highest priority criterion  is selected as result for this step.
Note that the priorities on the set of criteria for all contexts can be computed in a pre-process step and stored in secondary memory, and G () (u) can also be created offline by different methods depending on the nature of .If  is a simple criterion as a demographic feature, neighbors of user u can be identified by  () in (3).On the other hand, with a complex criterion  like favorite genre or ratings, certain measures such as cosine, Euclidean distance or Pearson correlation are used for computing the similarity between users [11].
Step 2: Refine the selected -community.After the prior -community G () (u) has been selected in Step 1 for the given context c, the second step is to refine it by taking contextual information into account.Rather than consider all neighbors who have rated the item i, this step filters out users who give ratings on item i in contexts which are different from c. G () (u, i, c) denotes the -community that contains only users similar to user u based on criterion , and have rated item i under context c.The rating prediction in the last step described later on will depend on opinions of neighbors belonging to this refined community.
The refinement step is indispensable because it is difficult to construct offline context-aware communities in advance.There are two main reasons for this difficulty.First, user's communities often pertain to his/her long-term preferences.Moreover, as the more contexts are used, the more excessive amount of memory will be required to maintain the neighborhood list per context.
Step 3: Enrich the -community.In general, the number of users in the prior -community after refining step G () (u, i, c) could be insufficient for the calculation of prediction, and this might cause the performance to be degraded.Focusing on the sparsity problem, in this step, we introduce two methods for community enrichment before generating prediction.
Enrichment from similar communities.According to the assumption that to gain more confident about contextaware prediction, the number of users in the refined -community G () (u, i, c) needs to reach a certain threshold  max .This means that in this step, when the size of G () (u, i, c) is less than the threshold  max , the algorithm will complete it with other communities of the user u, which are closest to G () (u, i, c).To estimate the similarity between G () (u, i, c) and another community G (') (u, i, c), we compute the deviation from the average rating in context c of these two communities defined as in ( 6) where ( , , ) r u c  is the average rating of G () (u, c) containing neighbors of user u who give ratings in context c.The less the deviation is, the more similar these communities are.
We define G (*) (u, i, c) as the enriched community after merging users from other closest communities.First, G (*) (u, i, c) is initialized by G () (u, i, c).Next, the algorithm will find the closest community G (') (u, i, c) to G () (u, i, c), and then merge G (*) (u, i, c) with G (') (u, i, c).The enrichment process is repeated until it gathers sufficient community size.
Notably, there is a limitation to this enrichment method in case communities with low similarity may add noise to the predictions.Thus, only users coming from communities G (') (u, i, c) which the similarity with G () (u, i, c) is greater than a similarity threshold  are inserted into G (*) (u, i, c).Formally, the set of criteria A is reformulated as follows: ) where: This means that G (*) (u, i, c) will be only supplemented by communities built from criteria in A + until its size reaches the threshold  max .In case that all criteria in A + are used for the enrichment process, but the size of G (*) (u, i, c) is still below  max ,we then have to apply the next enrichment method presented later on.
Enrichment following the priority of criteria.In this method, to select other appropriate communities of the user u for the supplement to the G (*) (u, i, c), the algorithm makes use of the priority on the set of criteria, or more precisely, the one of criteria belong to A -, which has been calculated in training phase.
To be more specific, when there is a shortage of users within G (*) (u, i, c) after applying the first enrichment method, the algorithm will merge the users in the closest communities from the higher to lower priorities.The process of merging will repeat until the number of users in the G (*) (u, i, c) is greater than the threshold  max .
Remember that the priorities have to comply with the preorder on the set of criteria by context.When G (*) (u, i, c) gathers a sufficient community size or there is not any left in A -, G (*) (u, i, c) will be applied to generate predictions in the final step.
For example, in the context c = (at cinema, with friends) we have occupation as the prior criterion selected in the first step.In other words, the community with respect to occupation is the prior community.Suppose that after the refining step, the size of the prior community G (occupation) (u, i, c) is 15, e.g. less than the threshold  max = 50.Therefore, we will apply the first enrichment method with supposed community similarities as follows: With  = 0.05, we have A + = {genre} and A -= {ratings, age}.After G (*) (u, i, c) is initialized by G (occupation) (u, i, c) and enriched by G (genre) (u, i, c), if the size of G (*) (u, i, c) still does not cross the threshold  max , we will use the second method which follows the order of criteria in A - as: age  c ratings, so the community G (*) (u, i, c) will be supplemented with age community and then, with ratings one, if necessary.
In this step, we simply prefer the similarity enrichment method to the pre-order one since once the similarity of communities is sufficiently high; the accuracy of the algorithm will increase sharply [25].To conclude, by using hybridization of multi-criteria communities, EMC algorithm aims to alleviate the sparsity problem in CARSs.
Step 4: Generate rating prediction.From the point of view that sometimes user's preference for items depends on contexts, and in some cases it is not affected by contexts at all.That means, the user may favor some items in a particular context, and he/she is also likely to prefer other items despite the context.Thus, we propose a formula for the prediction of user preference on item i in context c by combining non-context and context-sensitive parts as long-term and short-term preferences respectively with a weighting parameter .

ˆˆ( , , ) . ( , , ) (1 ). ( , )
Ctx nonCtx For the non-context part, EMC applies MF which is one of the most successful methods of latent factor models [19].The main idea is the rating matrix will be factorized regardless of contexts to predict the rating of user u for item i. Elements of i q  in ( 9) indicate the importance of factors in item i, and elements of u p  measure the influence of the factors on user's preferences.
The context-sensitive part in (8) will rely on the refined community calculated from the Step 2 if it reaches the confidence threshold  max , otherwise the enriched community G (*) (u, i, c) after Step 3 will be applied.The computation of this part will be varied by the nature of the prior criterion.For the community initially generated in Step 1 from a simple criterion + such as demographic feature, the value of ( )  ˆ( , , ) can be estimated as the average rating given to item i under context c by user's neighbors founded in Step 2 or Step 3 as in (10) where r(u', i, c) is the rating of user u' on item i in context c. here sim(u, u') is a similarity between two users and ( , ) r u c is the average baseline rating of user u in context c.The details of EMC algorithm with the enrichment methods are described in Figure 2.
Regarding the trade-off between context-sensitive and non-context parts, using the parameter  aims to support the assumption that the larger G () (u, i, c) is, the more influence of the context c on preference of user u for item i is, and vice versa.Then, the value of  will depend on the size of exceeds a threshold  max , then  will be made to approach 1, and conversely, if |G () (u, i, c)| is less than another threshold  min , then  will be driven to approach zero.In case |G () (u, i, c)| is in [ min ,  max ],  will be made in the neighborhood of 0.5.

Experiments and Discussion
We conducted several experiments to show how the recommendation is affected by selecting prior communities in each context, and to evaluate the performance of the proposed algorithm.More details, the experiments are intended to deal with three questions:  Q1: Can single-criterion ratings communities always give high accuracy recommendation in all contexts? Q2: Do multi-criteria communities affect the accuracy of contextual prediction? Q3: How is the performance of the proposed algorithm compared with others in literature?

Experimental Setup
The preparation for our experiments involves preprocessing dataset, setting the value of parameters, and choosing competitive algorithms as well as evaluation metric.

Dataset
Our experiments are conducted on the MovieLens dataset [23], which consists of 100,000 ratings assigned by 943 users on 1,682 movies pertaining to 19 genres.To gain reliable results, we used predefined training and testing sets from MovieLens.Data was partitioned 80% for training and the remaining 20% for testing rating prediction.

Experimental protocol
Notably, since MovieLens dataset does not contain contextual information, apart from user-movie rating matrix, we applied the method inferring contexts used in [31].The inference of contextual features day type (workday or weekend) and season when a user watched a movie relies on timestamps of ratings.The contextual feature location where a movie was seen (at cinema or at home) is inferred through a combination of the dates of when a movie was shown in a cinema and the creation time of rating.Inferring of location is based on the assumption that movies rated within two months of their cinema premiere date have been seen in the cinema; otherwise they are assumed to have been seen at home.This assumption is questionable, however it does matter that we get different contexts for our experiments and ignore their significance.After inferring process, we have three contextual features {location, day type, season}, so the set of contexts C = {(workday, at home, spring), (weekend, at cinema, winter), …}.We also considered the distribution of ratings per context, and eliminated some contexts because of very low ratings.In fact, there are a few ratings in the context at cinema, so location has been excluded from the list of features.The exclusion of location feature does not affect our experimental results because we take into account the number of contexts rather than the number of features.Then, it remains eight contexts: c 1 = (workday, spring), c 2 = (workday, summer), c 3 = (workday, fall), c 4 = (workday, winter), c 5 = (weekend, spring), c 6 = (weekend, summer), c 7 = (weekend, fall), and c 8 = (weekend, winter).
Let us briefly present the computation of -communities used in our experiments, we defined four criteria: age, occupation, favorite genre, and ratings from the MovieLens dataset.For age, the set of users was split into 7 segments: under 18, 18-24, 25-34, 35-44, 45-49, 50-55, and over 55 as predefined by MovieLens provider; for occupation, users were grouped into 21 categories by using their information in dataset.Communities with respect to favorite genre and ratings criteria were formed by two-step clustering process detailed in [24].For favorite genre, the vectors reflect the interest of user u for 19 movie genres.Therefore, they are 19-dimension vectors with one dimension w(u, g i ) shows a level of user u interest in genre g i .This weight relies on two main factors.They are the numbers of movies belonging to g i that user u has rated and the average of these ratings.The cosine was used to measure the similarity between these vectors.For ratings, the vectors are row vectors in the or |G (*) (u, i, c)| is less than  min then  is in [0, 0.5) to present the domination of non-context part in predicting users' ratings, so  was set to the middle value 0.25.In other case, we used  to keep the balance of two parts, so it was equal 0.5.Following a learning process, we chose 0.05 as the value for the similarity threshold .
For MF in non-context part, the regularization parameter, learning rate and dimensionality of the latent user and movie features were assigned to 0.015, 0.01 and 10 respectively.Note that these values were also used in experiments of other compared algorithms.
Regarding the choice of competitive algorithms, first we used context baseline predictor (UIC baseline) [19] which is the combination of pre-filtering approach and baseline predictor (12).This means that, with a given context c, this method selects from the initial set of ratings only those referring to the context c, then generates the Users x Items matrix containing only the data pertaining to context c, and applies 2D baseline predictor.Here  is the overall average rating; b u (c) and b i (c) are user and item biases in context c respectively.ˆ( , , ) ( ) ( ) Other competitors are two algorithms proposed by Odic et al. detailed in Section 2.2.The reasons for the choice are that both apply MF as similarly as our algorithm does and give high accuracy predictions.
Finally, in order to assess the quality of recommendations, we used Normalized Root Mean Square Error (NRMSE) as an evaluation measure for the predicted ratings [32], and our experiments evaluated the accuracy for top 5, top 10, top 15, top 20, top 25 and top 30 of recommendations.

Results and discussion
As mentioned above, we conducted three experiments to verify the assumption that the selection of prior communities in a particular context will affect the recommendation quality and to evaluate the effectiveness of the proposed algorithm.According to these experiments, the obtained results are encouraging.

Experiment 1: Significance of criteria by context
First, we applied EMC algorithm which is in turn based on communities built from age, favorite genre, occupation and ratings to observe the impact of criteria in each context.The experimental results from Figure 3 demonstrate that in many contexts, ratings communities do not provide a better recommendation than the others.
Notably, a smaller NRMSE value means a better performance.Although in context 5, communities initialized from ratings achieve the best results, they cannot retain this performance in remaining contexts.More details, in three contexts 1, 3 and 6 the prior communities with respect to favorite genre criterion dominate the others.The prior communities generated from age criterion outperform the others in two contexts 4 and 8, and the ones according to occupation criterion outweigh the others in the remaining contexts.As expected, using the most appropriate communities improves the accuracy of EMC method over the one built from ratings.
From this experiment, we observed the variation of winners in all contexts.To more fully understand why the dominant criterion is varied in each context, we performed an analysis on multi-criteria communities and observed that the criterion will probably become the most suitable one in the specific context when the shortage of users within the refined community built from it in Step 2 is not considerable.In other words, there are cases that the refined -community itself has enough users to ensure the confidence of prediction, or it needs to be completed with only the communities from the top of suitable criteria, but not more than two multi-criteria communities.We also found out that due to the sparsity problem the recommendation quality goes down significantly when the number of users belonging to the prior -community such as ratings community is very low.In some contexts, merging too many communities into the prior -community will decrease the prediction accuracy because of the noise.
In summary, for the first research question Q1, the results demonstrate that single-criterion ratings communities do not always give the best performance in all contexts due to the sparsity problem.In addition, the variation of the winners for contexts gives a positive answer for the second research question Q2 that there is no superior criterion for all contexts and consolidates our assumption that the influence of multi-criteria communities on the recommendation quality will be varied according to a given context.In other words, if we choose the better -communities for the context, the recommendation performance will markedly increase, otherwise it will get worse.Regarding the last question Q3 about the performance of EMC algorithm, we start with applying this algorithm without the third step, which is called CRMC algorithm in [25] to demonstrate the influence of the enrichment process.Based on the results in Figure 4, we observed that with using the enrichment step properly, -communities in EMC algorithm achieve the best results in almost every context, so the enrichment helps accelerate the performance of multi-criteria communities sharply.In general, most -communities benefit from the enrichment process; however, there are few others that are negatively influenced by it.Figure 4 illustrates that communities built from ratings bring the worst accuracy in all contexts if they are not enriched.The reason for this phenomenon is that the shortage of users within ratings communities is too severe, so when the recommendation is relied only on these communities, the quality will reduce considerably.

EAI
Moreover, in three contexts 3, 5 and 8, all -communities with being enriched in EMC obtain the better results than the ones without in CRMC.In the remaining contexts, the third step also directly contributes to the performance improvement of dominant criterion as well as of the majority of other ones such as genre, age and ratings in contexts 1, 4 and 6.In these contexts, there are only communities built from occupation after being enriched produce worse results than the originals.Following our experimental results, we figure out that the original size of occupation communities approximates the threshold  max , so the enrichment to these communities causes the predictive results to be affected by noise.Similarly, in two contexts 2 and 7, after applying the third step, only communities with respect to age and genre respectively impair their performance.However, in such cases, determining the prior criterion in Step 1 such as genre for the contexts 1 and 6, occupation for the contexts 2 and 7, and age for the context 4 can solve this problem.In brief, through this experiment, the obtained results make us certain that applying community enrichment techniques will be helpful.

EAI
In comparison of two enrichment methods, computing the similarity of communities becomes less effective when the difference in average rating of the prior community G () (u, c) and the one of other communities is quite large.More precisely, if the similarity between G () (u, i, c) and the closest community G (') (u, i, c) is too low, this method is likely to be negatively affected by the noisy contextual information.In such cases, the second method using the priority of criteria should be chosen as its advantage is to fully exploit the order of criteria.
By contrast, the benefit of the first enrichment method is that when the similarity of other communities with the prior community G () (u, c) is sufficiently large to ensure the precision, applying the former becomes a better choice because it reflects the impact of context on average rating of communities.In addition, it prevents the total dependence on the order of criteria in a particular context when this order is out of date and need to be retrained.5 from which we can see that in all contexts, the proposed algorithm outperforms the competitors.The domination of EMC algorithm in all contexts indicates that the exploitation of multi-criteria communities will bring up additional benefits for context-aware recommendation.More details, EMC achieved the best performance in eight contexts while UIC baseline was the worst.The proposed algorithm also outperforms both users' biases and users' latent feature methods.The reason for the improvement is when contextual information acts as noise inserted into the data, the contextualizing latent models may not distinguish between the noise and the dependency of latent features in contexts.In contrast, the benefit of EMC algorithm is balancing non-contextual model such as MF and contextual neighborhood model by adjusting weighting parameter , so they can detect localized relationships between multi-criteria communities and contexts as well as exploit the overall ratings without contexts.By this way in some cases they can alleviate the impact of noisy contextual information.
To sum up, based on the reported results, we could conclude that the performance improvements of EMC algorithm derive from the combination of multi-criteria communities approach and from two enrichment methods used in recommendation process.Furthermore, applying the enrichment process in all contexts sometimes does not get better performance because of the addition of noise.This limitation can be reduced by using an appropriate value for the similarity threshold  from a learning phase.

Conclusion
In this paper, we present a novel approach which combines matrix factorization with multi-criteria communities rather than only exploits single-criterion ratings communities for generating context-aware recommendations.The main ideas are that a CARS can use features in profiles as criteria for partitioning users, and the influence of criteria will vary according to the specific context.Based on an extension of -community spaces model in which a pre-order on the set of criteria is defined by context, we introduce the EMC algorithm for generating context-aware predictions.
The experimental results show that using multi-criteria communities in EMC algorithm for context-aware recommendations is better than approaches exploiting only single-criterion ratings communities.EMC helps solve the sparsity problem in CARSs.When the number of users in ratings communities is too small, exploiting other multi-criteria communities will take priority over the ones from ratings.Overall, when the prior community is deficient in the number of neighbors, community enrichment methods are integrated into recommendation process to improve the recommendation quality.
In the future, we aim to apply the proposed algorithm in the domain of music recommendation in which the influence of contexts becomes more evident.For example, with the "Endless love" song, a user prefers listening to it when he/she feels happy, but does not when he/she gets upset.Moreover, we will investigate experimental research on the trade-off between context-sensitive and non-context parts in the prediction of user preferences as well as explore different methods used to compute similarity between G () (u, i, c) and G (') (u, i, c).Finally, most current context-aware algorithms mainly focus on the precision as recommendation quality.In fact, following user's objectives, he/she might prefer the others such as diversity, novelty, etc.Thus, we will investigate the incorporation of contextual information into multiobjective recommendation.

10 )
In case the prior community is initialized from a complex criterion * in Step 1, the context-sensitive part is computed by the popular user-based collaborative recommendation formula:

Figure 2 .
Figure 2. Algorithm description for the EMC

10 Figure 3 . 2 :
Figure 3.Comparison of criteria in EMC algorithmExperiment 2: Enrichment of multi-criteria communitiesRegarding the last question Q3 about the performance of EMC algorithm, we start with applying this algorithm without the third step, which is called CRMC algorithm in[25] to demonstrate the influence of the enrichment process.Based on the results in Figure4, we observed that with using the enrichment step properly,

11 Figure 4 .
Figure 4. Influence of the enrichment process in EMC algorithm

12 Experiment 3 :
Comparison of algorithmsAs for the question Q3, we continue comparing the different algorithms in term of predictive accuracy as determined by NRMSE.The results of algorithm comparison are reported in Figure

Table 1 .
Example of -community table with |A| = 4 [24]e (see Table1), this shows that a user will have different neighbors depending on .For example, the user u 2 has P(u 2 ) = (25-34, Engineer, Comedy, Group#2), and regarding age criterion, u 2 and u 3 are in the same community while u 1 is the neighbor of user u 2 according to favorite genre and ratings criteria.Communities are computed in various ways relying on the nature of , and we use similar methods proposed by Nguyen et al.[24]to form communities.
Enrichment of Multi-criteria Communities for Context-aware Recommendations rating matrix.Pearson correlation was used as a distance metric to compute the similarity of users.Regarding parameters of the algorithm, we chose 20 and 50 as the values of  min and  max respectively because EAI Endorsed Transactions on Context-Aware Systems and Applications 01-09 2014 | Volume 1 | Issue 1 | e3 EAI European Alliance for Innovation