For instance, if the user liked comedy movies in the past, the system will recom- ..... As sparsity is a big challenge faced by recommendation systems in general, we considered ..... Kumar, V., Tan, P-N., Steinbach, M.: Introduction to Data Mining.
Towards a Tunable Framework for Recommendation Systems based on Pairwise Preference Mining Algorithms Sandra de Amo and Cleiane Goncalves Oliveira Federal University of Uberlandia, Faculty of Computer Science, Uberlandia, Brazil http://www.facom.ufu.br
Abstract. For nowadays users, the tasks of searching and chosing for items in the web that most fulfill their expectations have becoming more and more overwhelming due to the huge amount of information available. Recommender Systems (RS) emerged as indispensable tools in this information overload scenario in order to filtering out what could be potentially interesting to the user. Several techniques for building RS have been proposed so far, based on different strategies. Data Mining techniques have successfully been used in RS research in order to mitigate the well-known item cold-start challenge. However, the mining techniques used are generally classical classification algorithms used to predict user evaluations on individual items. In this article, we present PrefRec, a general framework for developing RS using Preference Mining and Preference Aggregation techniques. We focus on Pairwise Preference Mining techniques allowing to predict which, between two objects, is the preferred one. These specific techniques have far better performance than algorithms originally designed for classification tasks. A preliminary empirical study for analyzing the influence of the different factors involved in each of the five modules of PrefRec is presented. Keywords: recommender systems, preference mining, contextual preferences, preference aggregation
1
Introduction
In recent years the use of Recommendation Systems (RS) has become ubiquitous due to their capacity of predicting and recommending products (items) which fit the user’s needs or taste with great probability. The most popular approach is the Collaborative Filtering (CF) ([16, 10]). The main idea behind CF is that to recommend items to a given user u (referred as the active user ) the system takes into account the past purchases or past evaluations of other users who have similar taste to u. The two primary techniques of collaborative filtering are the neighborhood methods and latent factor models. The RS method that won the famous Netflix competition is based on matrix factorization [10], one
2
S. de Amo, C.G. Oliveira
of the most successful realizations of latent factor models. However, CF RS faces some important challenges. Users normally evaluate few items and so the available data concerning the active user is sparse. Moreover, an item to be recommended should be evaluated by users having similar taste as the active user. Consequently, an item that has never been evaluated before by other users will never be recommended (the so-called item cold-start challenge). The well-known technique Content-Based (CB) ([12, 14]) aims at overcoming the item cold-start challenge faced by the CF RS. The idea behind a CB RS is to recommend items similar to those evaluated by the active user in the past. For instance, if the user liked comedy movies in the past, the system will recommend comedies in the future. The recommendations are based on the intrinsic characteristics of the items. CB RS frequently use mining techniques originally designed for classification tasks in order to predict active user evaluations for new items not evaluated in the past. Although in a minor scale, the item coldstart challenge is also faced by CB RS. Most advanced RS used in nowadays commercial applications are not purely CF or purely CB. They usually employ some kind of hybridization, mixing CF and CB techniques in such a way that the drawbacks of the former are compensated by the advantages of the latter and vice-versa [4]. In this article we present PrefRec, a general framework for developing hybrid Recommendation Systems based on Pairwise Preference Mining and Preference Aggregation techniques. Such techniques aim at optimizing the item cold-start issue faced by the RS in general, achieving better accuracy then some wellknown hybrid RS. The general architecture of PrefRec comprises five modules, the main ones being the Preference Mining (PM) and the Preference Aggregation (PA) modules. The PM module assumes as input a preference sample represented as pairs of items (i1 , i2 ) and a degree of preference d (meaning that the user prefers item i1 to item i2 with a degree d). PM returns a preference model which will be used to recommend new items for similar users. In this article we focus on the Contextual Preference Model (CP Model) ([1, 2]) due to its accuracy and the fact that it takes into account the user context. To the best of our knowledge no hybrid RS exists based on pairwise preference mining techniques and allowing to support different preference models, including contextual ones.
2
Related Work
Preference Mining. Methods for Preference Learning can be categorized following different criteria such as Preference Specification (qualitative or quantitative) and Preference Semantics (the pareto model, conditional preference model). Preference Mining techniques normally used in existing Recommender Systems are based on the quantitative approach, where preferences are specified by a score function associating ratings to each item. In this approach the main goal is to find automatically a prediction rule which assigns a score to each tuple of the database. It is important to emphasize that in existing Recommender Systems, simpler techniques originally designed for classification tasks are used instead of more sophisticated preference mining techniques.
PrefRec: A Development Framework for Recommendation Systems
3
The PrefRec framework presented in this article is designed to deal with preference mining techniques based on the qualitative approach. In this approach, preferences are specified by a compact set of preference rules from which a preference relation can be inferred. Some other qualitative approaches are [8, 9, 1, 2]. Only the three latter take the user context into account. In [8] the authors propose a technique for mining user preferences whose underlying model is the pareto preference model. Such preference rules are obtained from log data generated by the server when the user is accessing a web site. In [9] the authors propose using preference samples provided by the user to infer an order on any pair of tuples in the database. Such samples are classified into two categories, the superior and inferior samples and contain information about some preferred tuples and some non-preferred ones. From these rules, an order is inferred on the tuples. The underlying preference model is the pareto preference model as in [8]. Recommender Systems. In the last decade a plethora of techniques and strategies for recommender systems has been proposed. Several surveys are available which facilitate the introduction to this new exciting research area for a newcomer: see for instance [16, 7, 14, 4] for comprehensive surveys on CF RS, CF neighborhood-based RS, CB RS and Hybrid CB respectively. Due to space limitation, we restrict our discussion on hybrid recommendation systems which are closer to our proposal. In [13] users are associated to profiles represented by their evaluations on items. Profiles are clustered according to their similarity. In order to recommend items to an active user, his profile is built and compared to the centroid of each cluster, differently from our approach where preference aggregation techniques are used in order to find a consensus in each cluster. In [15] the Content-Boosted Collaborative Filtering (CBCF) RS is introduced. This RS focuses on mitigating the sparsity problem commonly faced in a recommendation scenario. As in [13] preference input data are user’s evaluations on items. Firstly, by applying a Naive Bayes classifier on the users input data, the missing ratings are predicted, differently from our preference mining approach which extracts a preference model from the sparse input data and directly uses this model for predicting recommendations for new users. Then the preference input data of the active user are compared to the preference input data of each training user, differently from our approach where the active user is compared only with a few consensual representatives.
3
The PrefRec Framework
In this section we present the details of the PrefRec framework constituted by five modules, namely: (1) the Preference Representation Module; (2) the Clustering Module; (3) the Preference Aggregation Module; (4) the Preference Mining Module and (5) the Recommendation Module. The former four modules work offline and the last one executes online. Figure 1 illustrates the general schema of the PrefRec framework, the interactions between the five modules as well as their respective input and output. 1. The Preference Representation Module. The objective of this module is to pre-process the preferences samples of each user which will be used later
4
S. de Amo, C.G. Oliveira
Module 5 User evaluations
Module 1
a set of preference User Preference matrices Representation
Module 2 Clustering: Profiles Construction a set of Clusters C1, C2, ..., Ck
Recommendation Model M
a set of consensus preference matrices θ1, θ2, ..., θk
Preference Mining Module 4
Recommendation Model M
Recommendation
New User evaluations (few) A sequence of ranked new items (recommended)
Aggregating Preferences: Finding Consensus
Module 3
Phase 1: The Construction of the Recommendation Model (offline)
Phase 2: Recommendation (online)
Fig. 1. The PrefRec General Schema
to produce recommendations for a new user u. PrefRec assumes the existence of a set of users U (each user is represented by an identifier), a set I of items and a set R of users evaluations on items in I. Each item is a tuple over schema (itemid , A1 , A2 , ..., Ak ) where itemid is the item identifier, and Ai are item attributes. Each user evaluation is a triple (ui , ij , rij ) where rij is the evaluation (rating) given by user ui to the item with identifier ij . The input of Module 1 is the set R. The output of this module is a set of matrices, one for each user u. Differently from the usual way as preferences of a user u are represented in state-of-art RS (a set of pairs (item,rating) as illustrated in Figure 2(a)), we represent the preferences of a user u by a n × n matrix (Mpref ), where n is the cardinality of I. The element Mpref i,j is a number r ∈ [0, 1] representing the fact that user u prefers item i to item j with a degree of preference r. Figure 2(b) illustrates the matrix of preferences of user u that is returned by Module 1 when it receives the input illustrated in Figure 2(a) (for user u). Item rating i1 5 i2 3 i3 * i4 1 (a)
i1 i2 i3 i4 i1 0.50 0.63 * 0.83 i2 0.37 0.50 * 0.75 i3 * * 0.50 * i4 0.17 0.25 * 0.50 (b)
Fig. 2. (a) The ratings provided by user u (b) The output Mpref corresponding to the preferences of user u
There are different functions that execute the task of Module 1. In [5] a family of functions hn is proposed. The current version of PrefRec supports this family n of functions given by hn (x) = xnx+1 . The one we used in the experiments and whose results are illustrated in Figure 2(b) is h1 . The element Mpref i,j of the rating(i) matrix of preferences for user u is given by h( rating(j) ), where rating(i) is the evaluation provided by user u on item i as input.
PrefRec: A Development Framework for Recommendation Systems
5
Module 2: The Clustering Module. The objective of this module is to group the users according to their preferences. The module receives as input a set of preference matrices (one for each user) and returns a set of clusters {C1 , C2 , ..., Cn }, where each cluster Ci is constituted by a set of preference matrices which are similar in some sense. So, the matrices of a cluster Ci represent users who are supposed to have similar tastes. In the next module (the Preference Aggregation Module), a consensus matrix will be extracted from each cluster Ci . This consensus matrix is called the profile of cluster Ci . These profiles will be used in the Recommendation Module, in order to recommend items to a new user. Two factors are crucial in Module 2: the distance function and the clustering algorithm. PrefRec supports different distance functions (Euclidean, Manhattan, Cosseno, Dice, Jacquard) and three clustering algorithms based on different clustering paradigms: K-Means, Cure and DBSCAN [11]. In the experiments presented in this article, we considered the DBSCAN clustering algorithm with the cosseno distance. Module 3: The Preference Aggregation Module. The objective of this module is to produce a preference consensus for a group of users having similar tastes. The module receives as input a set of preference matrices P and returns a unique preference matrix θ (called the preference consensus of the group) obtained by applying an aggregation operator on P. In fact, the aggregation operator is applied at each position (i, j) of the input matrices, aggregating their respective values at this position. The element θi,j is calculated by applying an aggregation operator on the set {MP refi,j | MP ref ∈ P}. Five aggregation operators are implemented in the current version of PrefRec, namely: arithmetic mean, weighted mean, fuzzy most quantifier, at least half quantifier, as many as possible quantifier. The three later operators were introduced in [5]. In the experiments presented in this paper, we considered the arithmetic mean as aggregation operator. Other preference aggregation operators (for instance, those based on voting systems) can be easily added to the pool of implementations for Module 3. The preference aggregation step is crucial in the process of building the Recommendation Model, since the preference consensus will be used in the next module for extracting the preference model associated to the whole group. This unique preference model will predict the preferences of any user whose past evaluations fit the preference consensus of this group. Module 4: The Preference Mining Module. This is the last step in the construction of the Recommendation Model. The objective of this module is to build a preference model for each cluster Ci in the output produced by Module 2. A preference model for cluster Ci is any function which is capable to predict, given two items i1 and i2 , which one is preferred by users whose taste fit the consensual taste of cluster Ci . Module 4 receives as input a set of (consensual) preference matrices Θ = {θ1 , ..., θk } (one for each cluster) and returns a set of preference models {P 1 ,...,P k }. Each P i is obtained by applying a preference mining algorithm on θi .
6
S. de Amo, C.G. Oliveira
The current version of PrefRec implements two preference mining algorithms, namely CPrefMiner [1] and CPrefMiner*. Both algorithms produces as output a preference model constituted by a set of contextual preference rules. This preference model takes into account the user context and assumes that the preferences on objects depends of the user context. CPrefMiner* is a refinement of CPrefMiner and uses a voting technique for optimizing the predictions. For details on this technique, please see [3]. The main hypothesis of this work is that the preference mining algorithm is the most important factor impacting the accuracy of the Recommendation Model produced by our methodology PrefRec. In fact, as shown in the next section, the large gap in accuracy between CPrefMiner and CPrefMiner* reflects on the accuracy of the Recommendation Model. The experimental tests carried out by considering variants of the factors of the other modules had no significant impact on the accuracy of the final Recommendation Model. We refer to XPrefRec the PrefRec method instantiated by considering preference mining algorithms that produces a contextual preference model, like CPrefMiner, CPrefMiner* (used in the experiments presented in this article) or ProfMiner [2]. Contextual Preference Model. The details on this model as well as on the mining algorithm CPrefMiner can be found in [1]. Briefly, a contextual preference model is a set of rules of the form: A1 = a1 ∧ . . . Am = am → X = x1 ≻ X = x2 where A1 , ..., Am , X are item attributes. The left side of the rule is called the context and the right side is the preference on the values of the attribute X. This rule reads: if the values of the attributes A1 , . . . , Am are respectively a1 , . . . , am then I prefer x1 to x2 for the attribute X. Remark that the preferences on X depends on the values of the context attributes. A contextual preference model is capable to compare items: given two items i1 and i2 , the model is capable to predict which one is the preferred [1]. The Recommendation Model. After the execution of Module 4, the recommendation model is finally built. It is constituted by a set M = {(θ1 ,P 1 ),. . ., θk ,P k )}, where for each i = 1, ..., k, θi is the consensual preference matrix associated to cluster Ci and P i is the preference model extracted from θi . Module 5: The Recommendation Module. The objective of this module is to use the recommendation model M in order to recommend items to new users. It is executed online, differently from the previous ones which are executed offline. The algorithms used in the following steps are the same used in modules 1, 3 and 4 during the construction of M: (1) Given an active user u and a (small) set Ru of evaluations provided by u on items in I, the first task of Module 5 consists in obtaining the preference matrix Mpref u corresponding to Ru ; (2) The similarity between Mpref u and each consensual preference matrix θi is calculated. Let θu be the preference matrix most similar to Mpref u ; (3) Consider the preference model P u corresponding to θu ;(4) P u is used to infer the preference between pairs of items in I which have not been evaluated by the user u in the past. From this set of pairs of items (i, j) indicating that user u prefers item i to item j one can built a ranking by applying the algorithm Order
PrefRec: A Development Framework for Recommendation Systems
7
By Preferences introduced in [6]. Thus, the output of Module 5 is a sequence (ranking) < i1 , i2 , ..., in > where item ik is preferred or indifferent to item im iff k < m.
4
Experimental Results
4.1
Preparing the Experiments
The Datasets. The datasets used in the experiments have been obtained from the GroupLens Project1 . The original data are of the form (UserId, FilmId, rating). More details about the movies, namely Genre, Actors, Director, Year and Language have been obtained by means of a crawler which extracted this information from the IMDB website2 . We chose a set U of 296 users and a set I of 262 movies. The users in U have been chosen based on the fact that they evaluated a significant amount of movies in I. The total amount of user evaluations is 67971. Of course, there are users which do not evaluated some of the movies in I, otherwise we would have 77553 (= 262 × 296) evaluations. So, our basic dataset of user evaluations (with 67971 evaluations) has 12% of sparsity. This dataset is denoted by DB100 (the value 100 means that DB100 is the dataset containing the minimum sparsity considered in our experiments (= 12%)). As sparsity is a big challenge faced by recommendation systems in general, we considered five other datasets obtained from DB100 by eliminating from it a certain amount of evaluations. For instance, DB90 was obtained by eliminating 10% of the evaluations in DB100 in a stratified way: for each user, 10% of each rating given by this user have been eliminated. Figure 3(a) shows the datasets with their respective sparsity with respect to the original dataset DB100 . BD N. de Evaluations DB100 67.971 BD90 61.143 DB80 54.423 DB70 47.464 DB60 40.831 DB50 33.344 (a)
Sparsity 12.35% 21.16% 29.82% 38.80% 47.35% 57.00%
Accuracy Coverture precisao recall pC rC DBScan 76.10% 73.85% 63.16% 49.96% CURE 75.02% 71.64% 63.22% 48.57% DB100
(b)
Fig. 3. (a) The Datasets (b) Finding the “best” clustering algorithm
The Experiments Protocol. The framework PrefRec has been validated offline under a 5-cross-validation protocol: The set of users U was divided in 5 parts. At each iteration one of the parts was taken as test users (the active users) and the other four parts are taken as the training users. These 5 iterations are called the user iterations. Besides these external iterations we have internal 1 2
www.grouplens.org imdb.com
8
S. de Amo, C.G. Oliveira
iterations: Inside each user iteration, for each active user u, the set of movies I was divided into 5 parts as follows: the movies in I evaluated by u are distributed in a stratified way into the 5 parts according to the ratings u associated to these movies. These internal iteractions are called the item iteractions. The Quality Criteria. Two quality criteria are considered in our experiments: accuracy and coverture. We briefly describe them below. Accuracy. The recommendation model M is validated according to its capacity of making good predictions. Pairs of films in the test part of the item iteractions are given to M and it is requested to predict which one is preferred by the current active user. The precision of M is the percentage of good predictions among all the predictions made by M. The recall is the percentage of good predictions among the amount of pairs of movies in the current iteraction. The final precision and recall of M are obtained by considering the arithmetic mean of precision and recall of each user. Coverture. The recommendation model M is validated according to its capacity of making good predictions about preferences on items that have not been evaluated by any training user. That is, how M face the cold-start challenge. For each active user, let us consider the set of movies in the original database (of the project GroupLens) not belonging to I and that have been evaluated by this user. Now we take 10% of the movies which were evaluated with rating 1, 10% which were evaluated with rating 1 receberam nota 2, and so on. Only the ratings given by the user are considered. For this set of movies and for this active user, precision and recall are evaluated like before. The precision and recall with respect to the coverture measure are obtained by taking the arithmetic mean of all the individual measures of precision and recall for each active user, calculated considering new items as described above. 4.2
Analyzing the Different Factors.
In this section we show the results of the experiments aiming at establishing a preliminary empirical analysis on the impact of the different factors acting in the four modules responsible for the construction of the Recommendation Model. At the end of this study we come up with a first instantiation of the method PrefRec (called XPrefRec), which presented very satisfactory performance concerning accuracy, coverture and time execution. Figure 4 presents the factors impacting at each module. The column Values shows the implementations currently available in each module concerning the different factors. The column Basic Default corresponds to the implementation considered in the tests for finding the best implementation in previous rows. The value presenting the best results are showed in column Best and are used in the experiments for detecting the best values for next factors. For instance, in order to find the best representation function in row 3, we carried out a series of experiments by instantiating the factors in rows 1 to 2 with the corresponding best values already found and factors in rows 4 to 5 with the corresponding basic default values. All experiments carried out for coming up with this preliminary “best” instantiation XPrefRec have been executed on the less sparse dataset DB100 . The
PrefRec: A Development Framework for Recommendation Systems
9
other datasets are used later in the experiments for comparing XPrefRec with the baseline CBCF. Factors impacting the quality of the Recommendation Model Factor Values Basic Default Best Normalization Function hn (n ≥ 1) h1 h1 Distance Function Euclidean, Dice, Cosseno Cosseno Manhattan, Cosseno, Jacquard Module 2 Clustering Algorithm K-Means, K-Means DBSCAN Cure, DBSCAN Module 3 Aggregation Operator Arith.Mean, Arith. Mean Arith. Mean Weighted Mean, Fuzzy Most, At Least Half, As Many as Poss. Module 4 Pref. Mining Algorithm CPrefMiner, CPrefMiner CPrefMiner* CPrefMiner* Modules Module 1 Module 2
Fig. 4. Factors impacting the quality of the Recommendation Model
Finding the best values in rows 1 and 2. The results of the experiments are not shown since they are not statistically significant: the difference in accuracy and coverture between the different instantiations of PrefRec are negligible. So, we decided to consider the values corresponding to the simpler functions. Finding the best value in row 3: Choice of the Clustering Algorithm. The results of the experimets are shown in Figure 3(b). We only present the results concerning Cure and DBSCAN. The performance of K-Means was much inferior to Cure and DBSCAN. Notice that DBSCAN achieved the best results concerning accuracy. Both algorithms presented bad coverture recall and very similar and satisfactory coverture precision. For that reason, we decided to consider DBSCAN as our “best” alternative for this factor. Finding the best value in row 4: Choice of the Aggregation Operator. The results of the experiments are shown in Figure 5(a). Notice that the arithmetic and weighted mean achieved the best results concerning both accuracy and coverture. The differences between their results are not significant. The weighted mean presents a slightly superior performance concerning the coverture measures. Nevertheless, the three fuzzy quantifiers have not shown good results. Based also on its simplicity, we decided to consider the arithmetic mean as the “best” alternative for the aggregation operator. DB100 A.Mean W.Mean F. Most A.L. Half A.M. Poss
Acuraccy Coverture precision recall precision recall 76.10% 73.85% 63.16% 49.96% 75.97% 73.71% 63.22% 50.12% 63.82% 60.69% 56.92% 43.50% 63.47% 60.41% 57.83% 43.79% 63.83% 60.53% 59.05% 44.11%
Accuracy Coverture pG rG pC rC CPMiner 76.10% 73.85% 63.16% 49.96% CPMiner* 89.16% 88.49% 79.30% 78.79% DB100
(b)
(a) Fig. 5. (a) Finding the “best” aggregation operator (b) Finding the “best” preference mining algorithm
10
S. de Amo, C.G. Oliveira
Finding the best value in row 5: Choice of the Preference Mining Algorithm The experiments in this module presented are the most interesting. They allow to conclude that the most crucial phase in the PrefRec method is the Preference Mining phase. The choice an algorithm presenting good accuracy results individually has a significant impact in the performance of the methodology. For the time being we tested two alternatives for this module: the CPrefMiner and CPrefMiner* algorithms. The results are shown in Figure 5(b). Notice that both quality measures are affected by the better performance of CPrefMiner*. All measures are above 78%. The coverture measure for CPrefMiner* is significantly better than the one achieved by CPrefMiner. Thus, a good choice of a preference mining algorithm is crucial to successfully deal with the item coldstart problem. 4.3
Comparing XPrefRec and the Baseline CBCF
In order to validate the instantiation XPrefRec of our framework, we chose as baseline the CBCF recommendation system introduced in [15]. The reason for this choice are the following: (1) both systems adopt a hybrid approach mixing CF and CB techniques; (2) both systems are focused on reducing the item coldstart effect; (3) both systems uses mining techniques. The systems XPrefRec and CBCF differ from each other in several points, the most important being the following: (1) CBCF uses a classifier for predict the missing ratings in the input data. XPrefRec uses a preference mining algorithm in order to build a set of preference models which will be used in the final recommendation model; our preference mining algorithm is executed on pairs of items and aims at predicting which item is preferred to the other; a classifier is executed on a set of items and aims at predicting the rating (class) of each item3 ; (2) CBCF compares the active user with the entire set of training users; in XPrefRec on the contrary the active user is compared with a far more restricted number of consensual user representatives; (3) and finally, the most important point: the “recommendation model” built by CBCF involves the set of (training) users evaluations with the missing ratings predicted by the classifier; on the other hand, the recommendation model built by XPrefRec is a small set of preference models, where each preference model is a compact set of contextual preference rules. Accuracy and Coverture. The results about the accuracy and coverture of both methods are shown in Table 1. The experiments have been executed on six different datasets with different sparsity rate (see Figure 3(a) for details on the datasets). The accuracy results achieved by XPrefRec are much superior than those achieved by CBCF. This is due mainly by the quality of the mining technique adopted by each recommendation method. As said before, predicting ratings by means of a classifier is not a good strategy for mining the user preferences. Even for dataset DB50 (with 57% of missing data), XPrefRec achieves accuracy 3
As argued in [1], classifiers are not suitable for preference mining tasks, since users frequently evaluate items by comparing them with other ones.
PrefRec: A Development Framework for Recommendation Systems
11
Table 1. Performance: XPrefRec versus CBCF
Datasets DB100 DB90 DB80 DB70 DB60 DB50
Accuracy precision recall XPrefRec CBCF XPrefRec CBCF 89.16% 70.64% 88.49% 70.64% 87.71% 69.59% 85.10% 69.59% 83.32% 64.88% 83.12% 64.88% 80.38% 62.47% 78.39% 62.47% 77.20% 52.07% 68.56% 52.07% 75.95% 37.39% 66.10% 37.39%
Coverture precision recall XPrefRec CBCF XPrefRec CBCF 79.30% 61.19% 78.79% 61.16% 78.74% 61.60% 76.90% 61.57% 73.28% 61.25% 73.07% 61.23% 72.84% 64.72% 66.21% 64.72% 73.19% 60.89% 45.83% 60.87% 74.63% 51.00% 40.40% 50.98%
results above 66%, while the results of CBCF for this sparse dataset are under 40%. Concerning the coverture, the capacity of the systems to deal with the item cold-start effect, XPrefRec is far better than CBCF for all datasets, except for the two last ones where the coverture recall is better for CBCF. Execution Time. The task of building the recommendation model in XPrefRec consists in four steps as described in the general schema of the framework (Figure 1). In CBCF this task consists mainly in predicting the missing values of the input data. The recommendation task in both systems consists in two main phases: (1) checking the collaborators, that is comparing the active user evaluations with the evaluation of the training users and (2) making the recommendation. The execution time of the three steps (building the model, checking the colaborators and making the recommendation) are shown in Figure 6. The recommendation in both methods consists in constructing a ranking of 50 items among 1300 items. Execution Time XprefRec CBCF Building the model 6 m 19 s 54 min 14 s Checking the colaborators 19 ms 3 s 386 ms Making the recommendation 69s 627 ms 16 min 27 s
Fig. 6. Execution Time: XPrefRec versus CBCF
Other quality measures. We also compared the performance of XPrefRec and CBCF with respect to their capacity of recommending unpopular items (novelty) and their capacity of recommending items with characteristics never experienced by the user before (serendipity). CBCF presented slightly better results concerning these two criteria.
5
Conclusion
In this paper we proposed PrefRec, a general framework for implementing Recommendation Systems, based on a hybrid approach using Pairwise Preference Mining and Preference Aggregation techniques. PrefRec is flexible and can easily incorporate new pairwise preference mining algorithms and preference aggregation techniques. In the short term we intend to elaborate a more rigorous
12
S. de Amo, C.G. Oliveira
factorial design of PrefRec, studying the effects of the different factors involved in each module. Acknowledgements. We would like to thank the Brazilian Research Agencies CAPES, FAPEMIG and CNPq for supporting this work.
References 1. de Amo, S., Bueno, M. L. P., Alves, G., Silva, N.F.:CPrefMiner: An Algorithm for Mining User Contextual Preferences Based on Bayesian Networks, pp.114-121. ICTAI, (2012). 2. de Amo, S., Diallo, M.S., Diop, C.T., Giacometti, A., Li, H.D., Soulet, A.: Mining Contextual Preference Rules for Building User Profiles. In: 14th International Conference on Data Warehousing and Knowledge Discovery - DaWaK 2012, Viena. LNCS 7448. p. 229-242. 3. de Amo, S., Diallo, M.S., Diop, C.T., Giacometti, A., Li, H.D., Soulet, A.: Contextual Preference Mining for User Profile Construction. To appear, (2014). 4. Burke, R.: Hybrid Recommender Systems: Survey and Experiments. In User Modeling and User-Adapted Interaction, Volume 12, Issue 4, November 2002, pp. 331 370. 5. Chiclana, F., Herrera, F., Herrera-Viedma, E.: Integrating multiplicative preference relations in a multipurpose decision-making model based on fuzzy preference relations. Fuzzy Sets and Systems. 122, 277–291 (2001). 6. Cohen, W. W., Schapire, R. E., Singer, Y.: Learning to Order Things. Journal of Artificial Intelligence Research, Volume 10 Issue 1, January 1999, pp. 243-270. 7. Desrosiers, C., Karypis, G.: A Comprehensive Survey of Neighborhood-based Recommendation Methods. In Recommender Systems Handbook, Springer, 2011, pp. 107-144. 8. Holland, S., Ester, M., Kießling, W.: Preference mining: A novel approach on mining user preferences for personalized applications. In PKDD, volume 2838 of LNCS, pages 204–216. Springer, 2003. 9. Jiang, B., Pei, J., Lin, X., Cheung, D. W., Han, J. : Mining preferences from superior and inferior examples. In KDD, pages 390–398. ACM, 2008. 10. Koren, Y., Bell, R., Volinsky, C.: Matrix Factorization Techniques for Recommender Systems. Journal Computer, Vol. 42(8), August 2009 pp. 30–37, IEEE Computer Society Press. 11. Kumar, V., Tan, P-N., Steinbach, M.: Introduction to Data Mining. AddisonWesley, 2006. 12. Lieberman, H.: Letizia: An Agent That Assists Web Browsing. In: Proceedings of the 14th International Joint Conference on Artificial Intelligence - Volume 1, pp. 924-929. IJCAI’95, San Francisco (1995) 13. Lops, P., de Gemmis, M., Semeraro, G.: A Content-collaborative Recommender That Exploits WordNet-based User Profiles for Neighborhood Formation. User Modeling and User-Adapted Interaction. 17, 217–255 (2007). 14. Lops, P., de Gemmis, M., Semeraro, G. : Content-based Recommender Systems: State of the Art and Trends. In Recommender Systems Handbook, Springer 2011, pp 73-105. 15. Melville, P., Mooney, R. J., Nagarajan, R.: Content-boosted Collaborative Filtering for Improved Recommendations, pp. 187-192. American Association for Artificial Intelligence, Menlo Park (2002). 16. Su, X., Khoshgoftaar, T. M.: A survey of collaborative filtering techniques. In Journal Advances in Artificial Intelligence, Volume 2009, January 2009.