Improved Collaborative Filtering Recommendation Through Similarity Prediction

Collaborative Filtering (CF) approaches have been widely used in various applications of recommender systems. These methods are based on estimating the similarity between users/items by analyzing the ratings provided by users. The existing methods are often domain-specific and have not considered the time of the ratings being made in the calculation of the similarity. However, users’ preferences vary over time, and so their similarity. In this paper, a novel method is proposed by re-ranking the users/items neighborhood set considering their future similarity trend. The trend of similarity is predicted, and depending on increased/decreased trend, we update the final nearest neighbor sets that are used in CF formulation. This method can be applied on a broad range of CF methods that are based on similarities between users and/or items. We apply the proposed approach on a set of CF algorithms over two benchmark datasets and show that the proposed approach significantly improves the performance of the original CF recommenders. As the proposed method only re-ranks the neighborhood set, it can be applied to any existing non-temporal similarity-based CF recommenders to improve their performance.


I. INTRODUCTION
Providing personalized user experience is a critical issue for product/service providers on the Web. Recommendation systems (RSs) have been developed to deal with this problem by filtering unnecessary information and providing personalized content and service delivery to users. Global industry firms have applied RSs to predict the potential preferences of customers and recommend relevant products/services to them. This approach has improved the user experience and made a huge impact on their commercial success [1]. The existing research papers in the RSs field have mainly focused on movie recommendations [2], [3]. There are also some research works in other domains, such as e-commerce [4], books [5], documents [6], music [7], television programs [8], applications in markets [9], e-learning [10], social network [11], and Web search [12]. The approaches for recommendation can be classified as collaborative filtering (CF), content-based (CB), The associate editor coordinating the review of this manuscript and approving it for publication was Mario Luca Bernardi . and hybrid [13] methods. CF is a widely used approach in RSs, which is based on users' past behavior and the way they have rated items [14]. The main idea for user-based CF is if two users have similar behavior in the past, e.g. have rated some items similarly, they will likely prefer similar items in the future. A user-based CFs consists of three main steps to recommend items which are shown in Fig. 1. These are: i) generating the similarity matrix which contains similarity between all users, ii) selecting top-N users with the highest similarity as a neighborhood set of a target user, and iii) recommending items to the target user from the list of those that highly liked by their neighbors. On the other hand, an item-based CF works based on the similarity between items calculated based on users' ratings of those items.
CF RSs rely on explicit data such as user ratings, or implicit data which is captured from the behavior of users such as viewing or purchasing an item. Along with using rating information, there is other valuable information that is not often considered in classical RSs, including time, device type, and location. Considering such extra information often improves the quality of recommendations [15]- [18]. Using sequences FIGURE 1. The main steps to recommend items by a user-based collaborative filtering recommender system. of ratings and time information can be useful in improving the accuracy of recommendations. Often, users' behaviors and preferences vary over time [19]. Therefore, the time factor can play an important role in providing effective personalized recommendations and consequently improving the accuracy of predictions [17], [20]. Although several studies have been proposed to use temporal information to enhance the performance of the recommender [21], [22], there are still some gaps. First, the existing methods are often domain-specific and do not work across all domains [23]. Time information has not been considered in many of the domain-specific algorithms and proposing a universal method to add temporal information to them may improve their performance. Second, some algorithms have used a time-decay function to decrease the effect of old ratings by decaying their influence [24]- [26]. The issue is that, if users' preferences stay consistent over time for a particular type of items, old ratings related to that type may help to improve the accuracy of prediction; however, such information is lost in the conventional time decaybased algorithms [27]. Third, creating a high-performance and scalable recommendation system is not an easy task in the current era of Web. Typically, very specialized systems are developed to deal with the problem of high-quality recommendations on large datasets [28]. Conventional CF algorithms have the lowest computational complexity, which makes them suitable for large-scale systems, but they are not highly accurate.
To address the above issues, in this manuscript, a novel method is proposed to add valuable time information to similarity-based RSs. The proposed method can be applied to all similarity-based RSs available in the literature to improve the performance of their recommendations. Fig. 1 shows a schematic process of a user-based recommender system. Based on this, we can boost the recommendation performance by either improving the neighbor scoring function in the second step, or by the way this function is used in the recommendation process in the third step, or both [29]. Our proposed method only makes a change in the second step -neighborhood selection -while leaving other steps unchanged. Our algorithm tracks the trend of similarity changes between two users/items to predict whether their similarity will increase or decrease in the future. The algorithm then re-ranks neighbors for each target user/item using the predicted similarity trends so as to get a better neighborhood ranking, which leads to achieving better performance than the original RS. Our experiments on benchmark datasets show that the proposed method significantly improves the performance of many similarity-based CF recommenders.
The rest of the paper is as follows. Related studies are reviewed in Section II. The proposed method is introduced in section III, and section IV shows the experimental results by comparing the performance of some algorithms after and before applying the proposed method. Finally, we conclude our work in Section V.

II. RELATED WORKS
Temporal information of the ratings is useful metadata, which can help us to track changes in users' behavior and preferences over time [20]. Lee et al. performed an empirical study to show the important effect of temporal information on the performance of recommendations [30]. Several methods have been proposed in the literature to take into account the rating time for recommendations. Some of these methods use a time-decay function to decrease the effect of old ratings in the recommendation process. Ding and Li assigned a weight to each user's rating based on an exponential timedecay function [26]. However, not all recent data are more important than old ones, and if the users' preference stays consistent over time for a particular type of item, neglecting old ratings related to that type may negatively impact the recommendation accuracy [27].
Zimdars et al. first sorted data based on time and then used a decision-tree learning model for recommendation [31]. Ricci and Nguyen considered users' long-term preferences using their past interactions and let users explicitly define a set of stable preferences [32]. The temporal factorization model was used to model the historical data in [33] by Koren to predict ratings of movies in the Netflix dataset. They recognized that users' bias and preference change over time, and proposed an RS by incorporating temporal information into an item-item neighbor modelling. Tang et al. improved the performance of the CF recommender system using movie production years and scaling down candidate sets [34]. The Recommendation accuracy was improved in [35] by considering purchase time and also launch time of items. Karahodza et al. proposed a user-based CF algorithm over movie datasets by considering temporal contextual information, which led to an increase in accuracy [36]. The weight function proposed in their study is based on changes in the group user's preferences over time. In [37], Xia et al. redefined the item-based similarity in a different way based on time-decay and proposed a top-N item-based RS which recommended items dynamically. VOLUME 8, 2020 Lathia et al. proposed a time-based method to update neighborhood sizes automatically instead of setting a fixed size [38]. They formalized the problem as a time-dependent, iterative prediction problem and performed a temporal analysis of the Netflix dataset. They showed that due to the dynamic nature of the data, a certain algorithm with accurate predictions on the Netflix dataset did not show the same behavior with growing data. Chen et al. showed that users' interests and the popularity of topics shift very fast in online social platforms. They used an online ranking technique to propose a topic recommender system to provide the right topics (hashtags) at the right time for Twitter users [39]. Zheng et al. used opinion-mining technology and SVD++ to propose a tourism destination recommender system that considered user sentiment, and employed a temporal dynamics to represent changes of user preference in destinations over time [40]. A taxi recommender system for determining the next cruising location was proposed in [41], which considered the distance between the current location and the recommended location, waiting time for the next passengers, expected fare for the trip and the most likely location to pick up passengers from drivers' points of view.

III. RECOMMENDATION BASED ON IMPROVED SIMILARITY ESTIMATION THROUGH SIMILARITY PREDICTION
In this section, a novel domain-independent recommendation method is proposed based on predicting the similarity trend between users/items. The proposed method can be applied on any existing similarity-based CF recommenders. Although this method works for both user-based and item-based CFs, here we explain the methodology for user-based CF, and one needs a similar adoption to use it for item-based CF. The proposed method works based on rating sequences and predicting the trend of user-user similarity in the future. To this end, users' ratings are first transferred into a formal sequential model, and then a time-window is applied on the sequences to calculate the similarity between users in different timewindows. Having this, a time-series of user-user similarity values are obtained instead of single similarity value. The next step is to obtain the similarity trend using these time series, and then to determine whether a particular similarity value will increase or decrease in the future. After that, we re-rank users' neighborhood sets which are used in the recommendation process using the predicted trends. In the following, we provide details of the above steps.

A. SEQUENTIAL PATTERN REPRESENTATION
To effectively consider the sequence of ratings, a formal representation model for sequential patterns is introduced. This model is based on the order of items rated by the users. Let us consider I as the set of items, U as the set of users, and R as the set of ratings in the system. S u = <x 1 , x 2 , . . . ,x l > represents the sequence of rating for target user u where each x i in this sequence is denoted as (i, r). i ∈ I is an item rated by target user u, and r is its corresponding rating value.

B. PREDICTING SIMILARITY TREND
Algorithms based on user similarity, first extract the neighborhood list for each target user by finding the most similar users, i.e., a subset of users is chosen with the highest similarities as the nearest neighbors for the target user.
In its simplest way, a similarity value between user u and v is calculated by calculating the similarity between their ratings history. The existing CF algorithms have proposed various ways to calculate the similarity between users, and Cosine measure [42] is one of the simplest one which is function as follows: where r u,i is the rating given by user u to item i and I u is the sequence of items in S u . I u ∩I v is the set of items which are rated by both users u and v. The user-user similarity matrix is used to select the set of neighbors for each target user, which are those with the highest similarity values to the target user.
In the proposed method, a time-series of user-user similarity values are obtained instead of single similarity value. This time-series is obtained by calculating the similarity of S u partialized with respect to S v . To this end, we define a dynamic time-window with an initial size of w. Then, we calculate the similarity between u and v based on the items in S v and the first w items in S u . We iteratively increase the size of the time-window and calculate the similarity between u and v until all items in S u are covered. In fact, we expand the size of the time-window step-by-step to involve more recent items of u in calculating similarity. As a result, we have a time-series of similarity values with length of l for user u and v, which is denoted by: where l is the number of iterations to cover all items in S u and calculated as follow: and Sim (u, v) p is the similarity value between u and v in the p-th iteration and calculated as follow: In above, d is the size of the time-window in p-th iteration which is obtained by Eq. 5, and I is the subset of early items in S u with length of d.
, is generated based on the total available ratings of u and v, which is indeed the similarity value calculated by the original Cosine algorithm. For some of the similarity measures like Cosine and Jaccard, we can calculate the similarity values accumulatively, and it does not need to calculate them several times from scratch. In fact, calculations for each iteration can be used to calculate the next value in the time-series, which helps us to prevent a significant increase in the algorithm complexity. It is obvious that by selecting smaller time-windows, the complexity of the proposed algorithm may significantly increase. A pseudocode for the proposed process is shown in Algorithm 1 where simFunction is the similarity function of RS.

Algorithm 1 Obtaining Time-Series of Similarities Between
User u and v 1.
p←p + 1 16. end while  Table 1. In this example, the initial size of the time-window is set to 3, and Cosine correlation is used as a similarity function. As a result, we have three similarity values, one for each time window: 56. these values are similarity values for user u partialized to user v. Using these values, a time-series of similarity is created as ST (u, v) = < 0, 0.11, 0.56 >.

C. OBTAINING SIMILARITY TREND BETWEEN USERS
Time series forecasting is to predict the future trend using historical data [43]. In this paper, we aim at predicting whether the trend of similarity between users will increase or decrease in the near future. This is indeed one step ahead prediction. However, we often do not have many data points in our time-series to use sophisticated prediction methods. Therefore, this limits the choice of prediction methods. Many sophisticated methods require enough data points to create a prediction model with reasonable accuracy, which is not the case here. Often under limited data constraint, testing, and validation processes are hard if not impossible. Any model with more than one or two parameters often produces poor forecasts due to the overfitting problem and the estimation error [44]. Linear Regression is one of the most widely known techniques in learning predictive modelling [45]. In this technique, the dependent variable is continuous, the independent variable(s) can be continuous or discrete, and the nature of the regression line is linear. In the general problem of linear regression, assume that we want to model some observed data point D in a linear function. D is denoted as follow: where the X i 's are independent and defined on an interval λ and the Y i 's are generated by the regression model, Here, β 0 is the intercept which is a constant number, β 1 is a square-integrable function on λ denoting the slop function, and ε is error. The best-fit line can be easily obtained by Least Square method, which works by minimizing the sum of the squares of the vertical deviations from each data point to the line. Here, we predict the trend of similarity by calculating β 1 VOLUME 8, 2020 which is the slope of the fitted line. For each user pair u and v, first we define data points D as follows: where ST (u, v) p is the obtained similarity by considering the p-th time-window and w p is its position in sequence ST (u, v) with length l. We denote the slop of fitted line to D (u, v) data points by SimTrend(u,v), which indeed indicates the future trend of the similarity between u and v. SimTrend (u,v) shows whether the similarity trend is upward or downward.
The downward trend shows that the similarity will likely decrease in the future, while the upward trend indicates increased similarity in the future. We do this process for all pairs of users in the system. As a result, we have SimTrend, which is a user-user matrix of similarity trends in the system.
In the example shown in Table 1, we use the classical user-based CF with similarity values obtained by Cosine correlation. Fig. 3 shows the proposed method to obtain the future trend of similarity between users u and v. In this example, SimTrend(u,v) is positive and takes an upward trend. Therefore, based on our proposed method, we predict that their future similarity, Sim f (u, v), will increase.

D. OBTAINING THE NEAREST NEIGHBORHOOD SET
The aim of this step is to re-rank users in the nearest neighborhood set using the similarity trend obtained in the previous step. In a similarity-based RS, the neighborhood list for each target user is extracted by finding its most similar users. Thus, a subset of users with the highest similarities is chosen as the nearest neighbors, which are then used to predict ratings for items not yet rated by the target user. Our idea here is that users with upward similarity could be better neighbors than those with downward trends. Thus, we strengthen (weaken) upward (downward) similarities.
With these assumptions, the similarity between two users in terms of trend and value can be categorized in one of following classes: i) upward and positive (UP), ii) upward and negative (UD), iii) downward and positive (DP) and iv) downward and negative (DN). Our hypothesis is that the most similar users to a target user, in order of preference are UP, UD, DP and then DN. Each item in these lists has a membership degree which is stored in WUP, WUD, WDP, and WDN, respectively. The membership degree for users u and v is equal to their original similarity value, the one that is stored in Sim (u, v) l .
In the next step, we obtain the final ranking list of neighbors of target user u, denoted by neighbor u . To this end, first we sort the items in each class based on their importance weight and obtain neighbor u by concatenating lists from higher priority to lower ones as follow: (9) where UP u , UD u , DP u , DN u are classes for user u. The main difference between classical methods and our method is the way we rank neighbors. While classical methods rank users based on the original similarity value, our proposed method ranks them regarding their future similarity trend and also their similarity values.

E. RECOMMENDATION
The last step is to use the updated neighborhood to provide recommendation lists to target users. In the proposed user-based RS, first the neighborhood list for each target user u is selected from Top_P items in neighbour u and denoted by K u . In the next step, they are used to predict ratings for items not yet been rated by u. The user-based CF obtains the predicted rating of item j for the target user u as: where K u,j is the set of users in K u who have rated item j,r u is the average ratings made by user u and Sim (u, e) l is the last similarity value in ST(u, e). Note that we do not change anything with the recommendation process but only re-rank the similarity values based on the predicted trend of the similarity. This results in choosing more effective neighbors for target users leading to improved performance of recommendations. The same approach can be applied to item-based CF. To this aim, the similarity between items is calculated in different time-window, and then similarity trends between items are used to update neighborhood sets. In the last step, after predicting the rates of the unseen items for the active user, the algorithm selects those of the Top_N items to be recommended.

IV. EXPERIMENTAL RESULTS
In this section, we study the performance of some classical and state-of-the-art CF recommendation algorithms using the proposed update rule for the similarity. To evaluate the recommendation results, we split the ratings into a training set, and a test set. Time-unaware RSs mostly split data randomly, however in time-aware RSs the order of ratings is important [46]. To perform the experiments in this work, first all ratings are sorted according to their timestamps in an ascending order. Then, 20% of the most recent ratings are selected for testing and the rest are taken as the training set. Similar approach has already been used in previous time-aware RSs, e.g. [18], [19], [47]- [49].

A. BENCHMARK ALGORITHMS
We consider the following benchmark algorithms: 1) Cosine (COS) [42]: Cosine is one of the most popular similarity measures for CF RSs to evaluate how much two users are correlated. The Cosine similarity between is calculated by (1).

2) Pearson Correlation Coefficient (PCC): Pearson is an
improved version of Cosine measure by adding an average of ratings to calculations. Pearson Correlation reflects the similarity between users more accurate than Cosine and is one of the most popular measures used in classical similarity-based CF RSs [50].
wherer u is the average rating of user u for co-rated items represented by set I .

3) Spearman Rank Correlation (SRC): is a statistical mea-
sure of the strength of a monotonic relationship between paired data [51]. The following formula is used to calculate the Spearman Rank Correlation: where d u,v is the difference between the ranks of corresponding variables, and n is the number of items in common itemset I . 4) Jaccard: that takes into account the number of common preferences between two users. Jaccard does not consider the rating values but the number of items being rated. Two users are more similar if they have more commonly rated items [52].
5) Jaccard-Pearson Correlation Coefficient (JPCC): this measure calculates the combination of Jaccard and Parson Correlation Coefficient to get better similarity value. JPCC is obtained as follow: 6) Constrained Pearson Correlation Coefficient (CPCC): it is the same as PCC, but instead of the average ratings co-rated by both users, it uses the median value for rating scale [53].
where r med is the median value for the rating scale. 7) Jaccard-Constrained Pearson Correlation Coefficient (JCPCC): obtains similarity between two users using the combination of Jaccard and Constrained Pearson Correlation Coefficient, which is calculated as follows: 8) Jaccard-Spearman Rank Correlation (JSRC): obtains similarity between two users using the combination of Jaccard and Spearman Rank Correlation which is calculated as follows: 9) Jaccard-Cosine (JCOS): calculates the similarity between users with combining Jaccard Cosine Correlation which is calculated as follows: 10) Weighted Pearson Correlation Coefficient (WPCC): the size of the common item set is not taken into account in the classical Pearson correlation coefficient. To resolve this issue, Weighted Pearson Correlation Coefficient has been proposed [54]. If two users have fewer than F commonly rated items, a weight w u,v is applied to their correlation. If there are more than F co-rated items, w u,v is set to one. WPCC for users u and v is calculated as follows: where w u,v is obtained as follows: where n is the number of co-rated items. 11) Proximity-Impact-Popularity (PIP): This similarity measure considers three different aspects which are proximity (the simple arithmetic difference between two ratings), impact (how strongly an item is preferred or disliked by buyers) and popularity (giving bigger value to similarity for ratings that are further from the average rating of a co-rated item) [55]. Finally, PIP similarity is obtained by merging them as follows: 2020  12) New heuristic similarity model (NHSM): This similarity measure considers the fact that different users have different preference scale [56]. NHSM is a combination of JPSS and User Rating Preference URP) similarity measures, which is based on mean and variance of the users' rating. NHSM values range is between 0 to 1 and calculated as follows: 13) Adjust Cosine (ACOS): This similarity measure considers the difference in the rating scale used by each user [55]. ACOS similarity subtracts the average rating of user u for all the items rated by user u and is obtained as follows: wherer u is the average rating of all items rated by user u. 14) Mean Squared Difference (MSD): considers the absolute ratings to calculate the similarity [56]. MSD is obtained as follow: 15) Multi-level Collaborative Filtering (MLCF): divides the similarity calculated by PCC into different levels and improves the accuracy of the recommendations by adding constraints to each level [57]. In this algorithm, predefined thresholds (t 1 , t 2 , t 3 , t 4 ) represent the constraints on the number of co-rated items for each level. The similarity between users in this method is calculated as follow: where T is the total number of co-rated items, x and y are real positive numbers which are different at each level.

16) Jaccard Mean Squared Difference (JMSD):
This combines MSD and Jaccard to obtain a new similarity measure. It is defined as follows [58]: 17) Sigmoid function based on Pearson Correlation Coefficient (SPCC): is a modified form of PCC [59]. This measure is an exponential version of PCC, and users with a smaller number of co-rated items have a weaker similarity. SPCC is obtained as follow: 18) Item-based CF (ICF): is a form of collaborative filtering that works based on the similarity between items [60]. Similarities between items are calculated using one of several similarity measures in the literature like Cosine. Then these similarity values are used to predict ratings for unseen items of a target user. The details of the experiments are presented in the following sections.

B. DATASET
Movielens and Goodreads are two well-known benchmark datasets used in the experiments to verify the effectiveness of the proposed method [61], [62]. Movielens dataset contains 1682 movies, 943 users, and 100,000 different ratings. Goodreads dataset contains ratings of nearly 47,000 users over around 2 million books. We randomly chose 800 anonymous users for our experiment, who rated more than 40 books. The total number of books rated by these users is about 83,000 titles, and the total number of ratings is 126,881. The rating values are integer numbers in the range of 1 (bad) to 5 (excellent). While rating density in Movielens dataset is 6.30%, Goodreads dataset is heavily sparse with a rating density of only 0.18%. Applying the proposed method on these datasets allow us to evaluate the performance on dataset with different densities.

C. EVALUATION METRICS 1) PRECISION
Precision metric evaluates the accuracy of recommendations. Precision of recommending N items to user u is denoted by P u (N ) and defined as the percentage of relevant items in the recommendation list of user u. Precision of a system that recommends N items to its users is shown by with P(N ) and is calculated as: where TestSet is the part of the dataset that we assume as a test set.

2) RECALL
Recall for a target user u is the number of relevant recommended items to the total number of relevant items and is denoted by Recall u . Recall for a system with M users is defined as follow:

3) F1 SCORE
Since recall and precision metrics are inversely correlated and are also dependent on the number of recommended items, researchers have often used the combination of them to evaluate RSs:

D. RESULTS
As mentioned, to perform the experiments in this work, first, the ratings are sorted based on the time, and then the first 80% of the ratings are selected as the training set, and the remaining data is used as the test set. To generate the result for the proposed method, the initial size of time-window is set to 20. With this setting, the average number of iterations to compute the time-series for each pair of users in Movielens and Goodreads dataset are 4.24 and 6.33, respectively. As it mentioned earlier, it does not need to calculate the similarity measures, the obtained value in each iteration can be used to calculate the value for the next iteration. This approach prevents the time complexity of the algorithm blowing out.
Our experiments show that the runtime of the proposed algorithm is at most three times more than the original algorithm. The results of the experiments for Movielens and Goodreads dataset are reported in Tables 2 and Table 3, respectively. As one can see from these results, the proposed method significantly improved the classical algorithms and outperformed the original methods over these datasets, especially in Movielens. For example, some algorithms, such as MLCF, PCC, ICF, experienced more than 30% improvements. Although classical algorithms such as COS, PCC, and ICF have the worse results in terms of precision, by applying the proposed method, their precision improved about 36%, 40% and 63%, respectively. Moreover, these algorithms experienced 24%, 29% and 63% improvement, respectively in terms of recall. From Table 2 we can see that all modified version of algorithms outperformed their original ones in terms of F1 metric. For example, the performance of MLCF and ACOS in terms of F1 was improved by 25% and 23%, respectively. Table 3 compares the performance of the original algorithms and their improved versions over Goodreads dataset. The highest improvements in terms of precision are in MSD and ACOS algorithms. Besides, the results also show that the modified version of algorithms surpassed their original ones over recall and F1 metrics; JMSD and JPCC are two good examples that experienced about 10% improvement in terms of recall. Compared with original ICF and MSD, our proposed model obtained 18% and 11% better performance over F1.
As one can see from these results, we have different levels of improvement for different similarity measures. Indeed, the quality of collaborative filtering recommendations is related to how the similarity metrics are defined, e.g. how complete they can describe the relationship between users. For example, PCC takes the average of ratings made by the user into consideration, but COS take each user as a vector without considering their average of ratings. On the other hand, the performance of similarity metrics and recommendations is highly dependent on the problem parameters such as number of users, number of items, sparsity level, etc., [63]- [65]. Mentioned parameters vary according to the size of the timewindow, which affects the calculated similarity value in each iteration, and consequently causes various improvement levels at the time of using different similarity measures. Unlike many state-of-the-art recommendation methods providing better accuracy over classical CF algorithms, our proposed method does not significantly increase the computational complexity of the original algorithm and also don't change their similarity calculation and recommendation proposed methods is the update provided on the neighborhood selection step. This is an important issue for online RSs in particular, in which one has to deal with billions of uses, items, and ratings. process. The only difference between the original and in some cases, one has also to deal with lots of changes in a short period of time to keep the recommendation up-to-date for customers. Simple CF algorithms, e.g. classical user-based CF, has found the greatest success in real large-scale datasets, and the proposed method can be simply integrated with them without significantly increasing computational burden on them. Our experimental results showed that applying the proposed method on simple and basic algorithms can add valuable temporal information to them, and consequently lead to significant performance improvement. Furthermore, unlike many other temporal methods in the literature, the proposed method is not domain-specific and according to the experiment results, it can be applied to any similarity-based CF recommendation algorithm.

V. CONCLUSION
In this paper, a novel recommendation approach is proposed to effectively consider temporal information of ratings provided by the users in the recommendation process. To this end, first the ratings are converted to a sequential pattern based on the time of the rating. Then, a time-series of similarities between a pair of users over time is generated, which is used to predict the trend of similarity between them in the future.
In a similarity-based RS, a subset of users/item with the highest similarities is first selected as the nearest neighbors for each user/item in the dataset, and then are used in the recommendation process. It is a fact that users' preferences vary over time, and so their similarity. Although several studies have been proposed to use temporal information in similarity-based RSs, these methods are often domainspecific. Some of them have used time-decay functions to decrease the effect of old ratings, which is not effective approach if users' preferences stay consistent over time for a particular type of item. In this case, old ratings may help to improve the accuracy of prediction.
In this work, we proposed a universal and domainindependent method for adding temporal information to any non-temporal RS. To this end, we predict the future similarity trend between all users/items and then re-ranking their neighborhood sets by giving more (less) priority to users/items with upward (downward) trends. The updated neighborhood sets are used within the target RS to recommend items. As such, the proposed method can be applied to any CF recommendation algorithm that is based on user-user and/or item-item similarity estimation. As the proposed method only make some small modification to the neighborhood selection step of the recommendation process, it does not significantly increase the computational complexity of the original RS algorithm. Our experiments on two benchmark movies and book recommendation datasets showed that this simple trick could significantly improve accuracy of many existing and state-of-the-art CF algorithms. According to the experiment results, the proposed method in some cases could improve accuracy by more than 50%. YONGLI REN received the Ph.D. degree in information technology from Deakin University, Geelong, VIC, Australia. He is currently a Lecturer with the Computer Science and Information Technology, School of Science, RMIT University, Melbourne, VIC, Australia. His research interests include data analytics, user modeling, personalization, and recommender systems. He has won the Alfred Deakin Medal for Doctoral Thesis 2013 at Deakin University, and the Best Paper Award at the IEEE/ACM ASONAM 2012 Conference.