Abstract
Context aware recommender system has become an area of rigorous research attributing to incorporate context features, thereby increases accuracy while making recommendations. Most of the researches have proved neighborhood based collaborative filtering to be one of the most efficient mechanisms in recommender systems because of its simplicity, intuitiveness and wide usage in commercial domains. However, the basic challenges observed in this area include sparsity of data, scalability and utilization of contexts effectively. In this study, a novel framework is proposed to generate recommendations independently of the count and type of context dimensions, hence pertinent for real life recommender systems. In the framework, we have used k-prototype clustering technique to group contextually similar users to get a reduced and effective set. Additionally, particle swarm optimization technique is applied on the closest cluster to find the contribution of different context features to control data sparsity problem. Also, the proposed framework employs an improved similarity measure which considers contextual condition of the user. The results came from the series of experiments using two context enriched datasets showcasing that the proposed framework increases the accuracy of recommendations over other techniques from the same domain without consuming extra cost in terms of time.
Keywords
Introduction
Researchers and experts in this discipline have strongly confirmed the importance of considering contextual information while making recommendations [3, 21–25]. Context Aware Recommender System (CARS) is attributed to human socialization demeanor and has shown improved accuracy in a wide range of applications such as personalized shopping, movie and music recommendations, mobile services, travel and tourism, learning assistants and social services [2,–4, 19–25]. The contextual information describes the situation of an entity and affects the decision of a user greatly in selection of an item [3, 23]. For example, the following situations can quote the context relevancy in selecting an item: 1) the choice of movie for a person would be different if he is planning to watch it with kids (context) rather than friends (context), 2) A person would select different music playlist if it is a cold winter night (context) instead a hot summer (context) day. Indeed, in this big age of data, it is becoming increasingly difficult to design a CARS that can identify, interpret context and employ the appropriate approach besides handling information overload and its vigorous dissemination.
Typically, the datasets are sparse and the data sparsity increases when they are filtered with contextual factors. Moreover, using too many context features in recommendation methods enhances data sparsity problem and very few context features can fail to bring contextual effects. Therefore handling data sparsity is one of the primary challenges in CARS.
Among all existing techniques, collaborative filtering (CF) based recommender system (RS) is most effective and its quality can be enhanced by considering context information while finding neighborhood set and in similarity measures [3, 25], which are critical components of CF mechanism. Scalability is about handling large amount of data efficiently and effectively. Therefore finding an effective neighborhood set is another big challenge in CF.
Existing context-aware recommenders based on CF model suffers from the following drawbacks: 1) These models form neighborhood set employing similarity measures which are computationally complex and generate an ineffective large set of neighbors [4, 6, 12–16]. 2) The similarity measures used by them do not incorporate contextual conditions of the users [5–8, 22]. 3) Recommendation approaches described by them are evaluated on traditional well known datasets which do not contain sufficient context features to explore the strengths of CARS [5–7, 14–16]. These datasets are not representative enough to test the approaches in any sort of scenario.
Recently, big data has become a serious concern from academia to commercial sites. Therefore the technology to process big data quickly is gaining lot of attention in modern branch of science. The fast processing of big data through clustering is increasingly appreciated in recommender systems. In recent studies, clustering has been proved as a superior technique to filter collaborative algorithms [4–7, 18]. In [6], a novel heterogeneous clustering is presented to group similar users into a cluster for rating prediction by user based CF. A network of heterogeneous individuals which consist of users and items are formed and refined to collect individuals with higher score into a cluster. Koohi and Kiani in [4] proposed a fuzzy c-means clustering technique to form clusters in user neighborhood model and showed its performance comparison with k-means and SOM clustering methods. Fremal and Lecron proposed an item clustering approach based on genres where weighting strategies are used to combine clusters’ evaluations [15]. To the best of our apprehension in this discipline, there have been no studies which include contextual information while clustering to address scalability problem.
Choudhary et al. in [11] designed a multi criteria recommender system to capture all the features including context in recommender system. They found aggregation of similarities on multiple criteria, used PSO to learn weights over different criteria and removed inconsistent ratings to increase the accuracy. Dixit and Jain in [20] designed a context aware framework to control data sparsity problem and utilized context while producing recommendations. For this purpose, they used particle swarm to find the contribution of different context and also employed sparsity based aggregated similarity. Katarya and Verma in [12] suggested a context graph and particle swarm optimization based approach for music recommender system. The later approach uses depth first traversal to traverse all context paths in a graph and particle swarm as optimizer.
Wang et al. in [22] designed a hybrid similarity model where the output of an adjusted Proximity-Significance-Singularity model is corrected using the Kullback-Leibler (KL) divergence as a weighted value. They have empirically shown that it can handle sparse datasets and improves recommendation quality. Chug et al. in [14] proposed a new similarity measure combining user ratings and trust values to generate better recommendation results using CF. Dixit and Jain proposed a new similarity measure and its variants that are suitable for sparse datasets and has overcome the drawbacks of traditional similarity measures [19]. However, the accuracy in similarity computation can be increased if contextual situation is also utilized which is largely ignored in previous studies.
Motivated by the reasons mentioned above, a novel framework is presented here which is as follows: An unsupervised learning technique is implemented to find an effective and smaller set of similar users. This smaller sized set is further used by particle swarm optimization (PSO) tuned model. To accomplish that, we have used k-prototype clustering algorithm which allows clustering those objects that are described by mixed numeric and categorical attributes. This caters to scalability issue. Then PSO is used to weight different context features. To accomplish this task, closest cluster is taken. It helps in generating rather effective context aware recommendations. Furthermore, an improved Euclidean distance formula is used to find similarity between two users which considers contextual situations as well. The proposed framework is evaluated and analysed on two contextually rich datasets from the same domain. These datasets are especially designed to do personalized research in CARS.
The proposed framework can generate recommendations for any context aware problem without being influenced by the number and type of context dimensions. This advocates its suitability for any real life recommender system.
The remaining part of paper is framed as follows. k-prototype clustering algorithm, PSO method and CF technique with some recent studies are emphasized in Section 2. Section 3 discusses the proposed framework in detail. The experimental outcomes and their study are presented in Section 4. At last, some conclusions are inferred from the paper in Section 5 with some future research perspectives.
Background and Related Studies
The k-prototype algorithm
Let O = {O1, O2, …, O
m
} represents a set of m data objects used for clustering and each object O
k
(1 ≤ k ≤ m) has n attributes Att1, Att2, …, Att
n
. The different attributes Att
i
are associated with either numeric or categorical domain of values (Dom (Att
i
)). Numeric domain contains continuous values while categorical domain includes categorical values. An object O
k
representing a structured data is described as a conjunction of attribute-value pairs as follows:
The dissimilarity measure d (O k , Q l ) between prototype of a cluster Q l and data object O k is defined as follows:
The steps to perform clustering in k-prototype algorithm are defined as follows [7]: Using dataset O, select initial prototype for c clusters. Assign every data object in O to that cluster l whose centroid/prototype is closest to the data object after calculating the distance by Equation (2). Then update the centroid of the cluster after every assignment. After all objects in O have been assigned to the clusters, each data object will be re-checked for similarity with prototype of every cluster. If it is found that data object is more closer to some other cluster then assign it to that closer cluster and update the prototype of both clusters. Repeat (3) until no object stops changing the cluster.
PSO is an evolutionary approach where each particle or solution in the swarm possess a position [11, 17, 25]. The particle swarm is initialized with random solutions. Then the particle enters into a search loop to find optimal solution by changing its position and velocity until some condition is satisfied. At each iteration, two best values update each particle in every dimension d. The first one is known as “
The particle dynamics such as velocity and position are updated using two best values i.e. local best and global best as defined by the Equations (3) and (4).

The PSO process.
User based collaborative filtering recommender system generates item recommendations for the target user considering the preferences of similar users called neighbors [3, 19]. The two ways to find the neighborhood set includes clustering algorithms and traditional similarity measures [3, 16]. There are several classical similarity measures defined in the literature [3, 24] including Pearson correlation coefficient and its variant, Adjusted cosine, Jaccard coefficient, Cosine similarity. However, Euclidean distance can also be used for the same purpose. The Euclidean distance function can take other context features into account with rating. Its basic model is given by Equation (5) [11].
However, many new studies have been presented to adapt unsupervised learning, swarm based technique and various similarity measures enhancing the potential of recommender systems.
Ji et al. in [7] described an improved k-prototype clustering technique to group mixed type objects i.e. numeric and categorical and used neighborhood based collaborative filtering for recommendations. Kant and Mahara in [16] provided a fusion of user and item based collaborative filtering technique where they have used bi-clustering approach for neighborhood formation.
Bakshi et al. in [13] used k-means clustering to find a reduced set of effective and similar neighbors. Also, PSO is used to find weighted contribution of local and global similarities to be utilized in neighborhood based collaborative filtering. Their experimental study proved that clustering is an effective way to find suitable neighbors and PSO is better than genetic algorithm from the same domain. Dixit and Jain in [21] proposed a context aware framework to utilize contextual information with explicit and implicit ratings while producing recommendations.
The objective of this section is to present the details of proposed model producing context aware recommendations. The proposed model is based on the effort of supervised and unsupervised learning and its work flow is depicted in Fig. 2. The method accomplishes the task in three phases. Phase I includes neighborhood set generation using k-prototype clustering.

The proposed framework.
Using reduced training set, Phase II learns the weights of different context features using particle swarm optimization. Phase III generates predictions and recommendations employing a modified Euclidean distance formula which incorporates context too.
The computational flow in the proposed model begins with k-prototype clustering algorithm. The neighbors in the recommender systems are usually found using traditional similarity measures but they are computationally complex and ineffective for sparse datasets. Such methods suffer from scalability problem since they need to process large amount of training samples. Clustering overcome these issues and organize users of the database into clusters such that each cluster contains highly similar users. Then neighbors of a user are found from that cluster with whom it possesses high degree of similarity. The well known and most effective technique used for clustering is k-means algorithm [4, 5]. The major limitation with k-means algorithm is that it works on numeric values and cannot cluster objects with categorical attributes. While k-modes algorithm uses a simple matching dissimilarity measure to cluster objects with categorical attributes. It uses frequency based method to update modes unlike means. k-prototypes is one of the principal algorithm to cluster objects having mixed numeric and categorical type attributes. One more reason to opt for k-prototype algorithm is that it is simple to implement and does not require complex data structure. It remains stable even on complete change of data.
The k-prototype algorithm computes distance between a rating preference (data object) and each cluster prototype/centroid by comparing all attributes of the rating preference and cluster centroid using brute force method. Then the data object is assigned to the cluster with closest centroid. For example, let C1 and C2 are two clusters with centroid (3,3,A,B) and (9,4,C,D) respectively. The distance of object O1 = (5, 3, A, B) from centroid/prototype of C1 is calculated as: for numeric attributes, (5 -3) 2 + (3 - 3) 2 = 4 and for categorical attribute, A = A ⇛ 0, B = B ⇛ 0, so 0 + 0 =0. The total distance of O1 from C1 is 4. Similarly, distance of O1 from C2 is 18. Hence, O1 will be assigned to C1 as it is closer. Further, centroid of the cluster is updated after each assignment. Once all the data objects are allocated then each data object is re-checked whether it is closer to some other cluster or not. If it is found closer to some other cluster then it is re-assigned to the closer one and centroid of both clusters are updated. The details of the k-prototype algorithm are mentioned in subsection 2.1 and dissimilarity between two mixed type objects is described by Equation (2). To avoid favor which can be given to either type of attribute, μ1 is used. A small value of μ1 implies that numeric attributes dominate and larger value of μ1 let the categorical attributes dominate. Hence we have explored different values of μ1 with respect to cost and it is set as 0.6 after careful analysis.
PSO in learning weights of context features
The application uses PSO process as illustrated by Fig. 1 to find weighting vector controlling the contribution of different context features (see Section 2). All context features are not equally influential and hence affects accuracy of CARS. It is used in similar work by Ujjin and Bentley in [17] based on user based collaborative filtering and proved to be an outperforming one than genetic algorithm. In this phase PSO is applied on the cluster which is closest to active user instead the whole training dataset to control scalability problem. The algorithmic details of PSO learning process are mentioned in subsection 2.2. Particle representation and fitness function remains constant throughout the whole learning process. In this study, the vector of weights obtained for different context features are real values in the range 0 and 1.The fitness function f
i
for ith particle in the swarm is defined by Equation (7) [17, 25].
Here, termination condition for PSO algorithm is set as predefined number of iterations.
The rating prediction function utilized in the framework employs a modified Euclidean distance based similarity measure and weighted contextual similarity between two users. The weighting values obtained from PSO are used to control the contribution of ratings in different parts of collaborative filtering algorithm. It gives more relevance to those ratings during recommendations which are contextually more identical, hence increasing accuracy in context aware recommendations [21, 25].
The weighted contextual similarity denoted by O
w
(c1, c2, w) is used in the different components of the prediction algorithm and is defined by Equation (8).
Suppose the weighting vector (of different context features) obtained using PSO is given as: w = {0.2, 0.5, 0.8, 0.6, 0.7}. c1 and c2 represent context vector of u1 and u2 respectively. Using Table 1 and Equation (8), the value of contextual similarity is computed as:
Rating assignment scenario to an item i
The above computation also shows that we can use all the context features with their significance rather than selecting few of them.
In DCW, the neighborhood is formed from those users who had rated item i and hold contextual similarity greater than threshold but, we have used clustering method to find neighbors. Although Pearson correlation coefficient similarity is used in most of the prediction algorithms including DCW approach [25] but in this study, we have used a modified Euclidean distance formula given by Equation (9) to measure the similarity which considers contextual information also. To maintain consistency, μ1 is kept as 0.6.
The formula to be used by active user a to predict rating for an item i is given by Equation (10) that employs weighted contextual similarity (see Equation (8)) in different components to weight the rating. The similarity measure used in Equation (10) is described by Equation (9). In Equation (9), I (a, t) represents set of common rating items of active user a and neighbor t. The overall distance dis (a, t) between two users is the average distance between all attributes including ratings on all commonly rated items. Since distance and similarity are inversely related so simple transformation between two metrics is used. In Equation (10), N a represents the neighborhood of active user a which consists of those users from the closest cluster who have rated item i for which prediction is to be made.
For the experiments, we have chosen two contextually rich global datasets which are specifically designed to do personalization research in context aware scenario. One of them is LDOS-CoMoDa dataset that belongs to movie domain and is not publicly available. But it can be availed by requesting the concerned analysts and researchers at University of Ljubljana. The eminent researcher to be contacted to access dataset is andrej.kosir@lucami.fe.uni-lj.si. The description of this dataset can be found in previous paper [1]. IncarMusic dataset contains music tracks recommended to passengers touring together and is publicly available. The detailed description of the datasets are presented in subsection 4.1. Matlab version 2014a is used as application software. The following issues are addressed to observe and analyze the proposed framework. Does the proposal contribute towards the problem of scalability from which collaborative systems suffer? Is it able to alleviate sparsity problem and bring contextual effects in recommendations? Is the proposed framework representative enough to produce recommendations in any context scenario?
Experimental setup, metrics used and parameters
We use the following contextually rich datasets to work in the field of CARS: LDOS-CoMoDa. This dataset consist of 2296 ratings (1-5) collected from 121 users for 1232 items. The number of context attributes, user attributes and item attributes are 12, 4 and 11 respectively. IncarMusic.(https://github.com/irecsys/CARSKit/tree/master/context-aware_data_setsKit/tree/master/context-aware_data_sets). It contains 4012 ratings given by 42 users to 139 items. Both number of contexts and item attributes are 8 while there is 1 user attribute.
We have made 3-fold cross validation for experimentation. One fold randomly chosen is employed as test set and other two act as training sets. In unsupervised learning phase, we have implemented k-prototype clustering algorithm on both datasets (using training set) for different values of k. The algorithm is iterated till stability for 100 independent runs and for each value of k. Fig. 3(a) and (b) demonstrates MAE values vs. number of clusters using LDOS-CoMoDa and IncarMusic dataset. The best (minimum) value obtained is 3 (no. of clusters) for LDOS-CoMoDa and 5 (no. of clusters) in case of IncarMusic dataset. The cluster whose centroid is closest to the active user is chosen for training set. The same reduced training set or cluster is used by particle swarm optimization process to determine weighting vector (weights of context features) to be used in prediction formula. The parameters used by PSO algorithm are listed in Table 2. Best costs attained in different iterations are illustrated by Fig. 4(a) and (b). The experimented approaches are evaluated using Predictive accuracy and Classification accuracy metrics.

Comparison of K-means and K-prototype clustering in terms of MAE using proposed method on two datasets: (a) LDOS-CoMoDa (b) IncarMusic.

Best Cost (fitness value) obtained for 100 different iterations using following dataset: (a) LDOS-CoMoDa (b) IncarMusic.
Parameters used by PSO algorithms
The Predictive accuracy measures the quantitative accuracy of a predicted value and measures the deviation of predicted rating from the actual rating specified by the active user. Two well known metrics, MAE (Mean absolute error) and RMSE (Root mean square error) are selected for the same purpose.
MAE is computed by Equation (11):
Similarly, RMSE is defined in Equation (12):
Classification accuracy tells the qualitative performance i.e. the confidence of a user on recommender system which is measured by Precision (P@10), Recall (R@10) and F1-score (F1@10) for top-10 items in this study. A relevant item is assumed to be one which is predicted more than equal to 4 while using both datasets.
Precision is defined as proportion of recommended items in top-n that are considered relevant. On the other hand Recall is the proportion of relevant items in top-n that are recommended. Precision, Recall and F1-score are computed as given by Equations (13)–(15).
To compare our approach, we have used four other approaches based on user neighborhood CF. All the approaches are evaluated using both LDOS-CoMoDa and IncarMusic datasets.
The following example illustrates the working of k-prototype clustering algorithm (described in section 2.1) and similarity computation between two users/objects as described by Equation (9).
Consider the dataset given in Table 3 with five data objects having two numeric (A1, A2) and two categorical (A3, A4) attributes. The number of clusters to be defined are k = 2.
Dataset scenario
Dataset scenario
Step 1: Let the initial centroids for two clusters are: C1 = (1, 4, C, D) with object O2 and C2 (5, 3, A, C) with object O4. The value of μ1 is assumed as 1.
Step 2: At each step, the distance between two objects is calculated by Equation (2). For example distance between O1 and O2 is 4 obtained as: for numeric attributes, (2 -1) 2 + (3 - 4) 2 = 2 and for categorical attributes, 1 + 1 =2 because C ≠ A implies 1 and D ≠ B also gives 1. Similarly, distance between O1 and O4 is 10 i.e. for numeric attribute, (2 -5) 2 + (3 - 3) 2 = 9 and for categorical attribute, 0 + 1 =1 because A = A implies 0 and B ≠ C gives 1. Since 4<9, therefore O1 is assigned to cluster C1. After that, centroid of C1 is updated as ((1+2)/2, (3+4)/2) representing numeric attributes and (A,B) towards categorical attributes i.e. using the value having maximum frequency. Table 4 represents the status update of each cluster and its centroid after every assignment.
Status update of two clusters
Step 3: Again the distance of O1, O2, O3, O4 and O5 from centroid of C1 and C2 are calculated and no change is found.
Step 4: Stop.
Furthermore, the similarity between two objects O1 and O2 is computed as:
During experimentation, recommendation performance of the proposed approach is examined using k-means and k-prototype clustering in first phase. Fig. 3(a) and (b) illustrate the comparison of two clustering techniques in terms of MAE values with respect to different number of clusters when applied on proposed method. It clearly shows that the k-prototype is more accurate probably because it considers all contextual factors while clustering. The parameter k plays an important role and control the degree of similarity. It is worth noting in Fig. 3(a) that the optimal value for MAE is achieved using 3 clusters with movie dataset and 5 clusters in case of IncarMusic dataset (see Fig. 3(b)) by both clustering techniques. The minimum (optimal) values reported in Fig. 3(a) are 0.6958 and 0.7208 with k-prototype and k-means respectively. On the contrary, the optimal values plotted are 0.5967 (for k-prototype) and 0.6108 (for k-means) in Fig. 3(b). It is interesting to note that similar trend is seen in MAE values vs. number of clusters using movie and music datasets (except the case when 3 and 7 clusters are used).
The cluster whose centroid is closest to active user is used by PSO to find weights of different context features. The run time required by PSO depends on the number of context features (dimensions) and density of ratings. More dimensions imply that more parameters need to be learned and more density leads to more calculations in finding best cost. Best costs attained in different iterations are illustrated by Fig. 4(a) and (b). It is clearly seen in Fig. 4(a) and (b) that best cost has achieved stability after 52 iterations in LDOS-CoMoDa dataset and 31 iterations in IncarMusic dataset. The reason behind this observation is that PSO is an optimizer and moves towards optimum on each iteration i.e. finding its local best and global best. It is also noted that the best cost attained across all ratings using movie dataset is 0.6862 and music dataset is 0.5889 which happens to be the closest to the MAE values in the proposed technique. This shows its performance accuracy.
Table 5 lists the best results obtained during 10 independent runs w.r.t. all approaches. The tabulated values clearly show the proposed approach has achieved MAE as 0.6958, RMSE as 0.8167 and F1-score as 0.8009 in movie dataset while MAE as 0.5896, RMSE as 0.7493 and F1-score as 0.4991 in music dataset which are best gained results. It is worth to recall here that lower the value, better is the performance in case of MAE and RMSE. In case of F1-score, higher value represents more accuracy. The reason might be that first k-prototype finds effective clusters and then the closest cluster to active user gets appropriate weighting vector and hence predict ratings more accurately.
Summarized best results in terms of MAE, RMSE, P@10, R@10 and F1@10 w.r.t. compared approaches using two datasets
Summarized best results in terms of MAE, RMSE, P@10, R@10 and F1@10 w.r.t. compared approaches using two datasets
The F1-score values in all 10 independent runs of the compared approaches show that the proposed approach is superior than all others (see Fig. 5(a) and (b)). Fig. 6(a) illustrates that PSO based (non-clustering) approach (MAE ≥ 0.7244) is the closest competitor of the proposed method (MAE ≥ 0.6958) than the situation when only clustering is used (MAE ≥ 0.7708). Similar pattern of results are shown by Fig. 6(b). The reason could be that though clustering is able to find good neighbors but, PSO can more effectively utilize optimal contribution of ratings.

Comparison among different approaches on recommendation accuracy (F1@10) using two datasets: (a) LDOS-CoMoDa (b) IncarMusic.

Comparison among different approaches on predictive accuracy (MAE) using the following datasets: (a) LDOS-CoMoDa (b) IncarMusic.
The performance in terms of RMSE of the compared techniques in different runs are explored by Fig. 7(a) and (b) and it is observed that different strategies show best RMSE in different runs. For example, in Fig. 7(a) it is, 0.8167 (proposed) in sixth run, 0.9255 (DCW via PSO) in fifth run and 0.9362 (DCR via BPSO) in tenth run. However, similarity is seen in performance pattern of MAE and RMSE. In Fig. 7(a), the values are 0.6958 (proposed) in sixth run, 0.7244 (DCW via PSO) in fifth run and 0.7489 (DCR via BPSO) in tenth run. Hence, it proves that the proposed context aware approach is superior than other compared approaches.

Comparison among different approaches on predictive accuracy (RMSE) two datasets: (a) LDOS-CoMoDa (b) IncarMusic.
Figure 8(a) and (b) represent the CPU running time (in sec.) of the proposed method across 10 independent runs. The average running time collected over 10 runs using movie dataset is 50.92 sec. which is far less than DCW via. PSO (closest competitor) i.e. 129.432 sec. k-means based CF approach (CPU time 41.345 sec.) is nearest to the proposed method in terms of running time but predictive accuracy is not comparable (in case of LDOS-CoMoDa dataset). Similar trend is seen in CPU time using IncarMusic dataset. Hence the proposed method contributes towards scalability problem of collaborative filtering algorithm.

CPU time analysis of the proposed approach using two datasets: (a) LDOS-CoMoDa (b) IncarMusic.
As a result, the proposed framework successfully contributes towards the formation of reduced size training set which builds model for PSO based context aware prediction algorithm to produce more accurate recommendations without spending extra time. Thereby it can be stated that the proposed framework is representative enough to produce context aware recommendations in any contextual situation.
The main issues of the context aware collaborative filtering methods such as data sparsity, scalability and utilization of contextual information are addressed in this paper. Finding similar and effective neighbors with commendable efficiency is a challenging task. k-prototype clustering which works on mixed type attributes found an effective cluster of such users, although few clusters are competitive. This unsupervised learning not only produces an efficient neighborhood set for prediction algorithm but also provides a reduced and effective training set for PSO algorithm to find weights of context features. Utilization of best cluster makes the CPU faster by 60% to produce recommendations. The incorporation of weighted context features have increased the accuracy with respect to other compared schemes. Therefore, the proposed framework contributes towards majors concerns in this domain such as scalability, sparsity and generation of recommendations in any context scenario.
The future scope includes the usage of some other clustering techniques to find training set. Also some other methods can be applied to weight context features to acquire more accurate recommendations.
