Information Systems 49 (2015) 182–199
Contents lists available at ScienceDirect
Information Systems journal homepage: www.elsevier.com/locate/infosys
Contextual preference mining for user profile construction$ Sandra de Amo a, Mouhamadou Saliou Diallo b,c, Cheikh Talibouya Diop c, Arnaud Giacometti b, Dominique Li b, Arnaud Soulet b a b c
Universidade Federal de Uberlândia, Av. João Naves de Avila 2121 38400-902 Uberlândia, MG, Brazil Université François Rabelais de Tours, 3 Place Jean Jaurès 41029 Blois, France Université Gaston Berger, BP 234, Saint-Louis, Senegal
a r t i c l e in f o
abstract
Article history: Received 5 February 2014 Received in revised form 13 November 2014 Accepted 22 November 2014 Recommended by: F. Korn Available online 3 December 2014
The emerging of ubiquitous computing technologies in recent years has given rise to a new field of research consisting in incorporating context-aware preference querying facilities in database systems. One important step in this setting is the Preference Elicitation task which consists in providing the user ways to inform his/her choice on pairs of objects with a minimal effort. In this paper we propose an automatic preference elicitation method based on mining techniques. The method consists in extracting a user profile from a set of user preference samples. In our setting, a profile is specified by a set of contextual preference rules verifying properties of soundness and conciseness. After proving that the problem is NP-complete, we propose a resolution in 2 phases. The first phase extracts all individual user preferences by means of contextual preference rules. The second phase builds the user profile starting from this collection of rules using a greedy method. To assess the quality of user profiles, we propose three ranking techniques benefiting from these profiles that enable us to rank objects according to user preferences. We evaluate the efficacy of our three ranking strategies and compare them with a well-known ranking method (SVMRANK). The evaluation is carried out through an extensive set of experiments executed on a real-world database of user preferences about movies. & 2014 Elsevier Ltd. All rights reserved.
Keywords: Pattern mining Preference elicitation Contextual preference rule User profile mining
1. Introduction The topic of enhancing database systems with contextaware preference querying functionalities has been attracting a lot of interest in the database community in recent years, due to the variety of applications ranging from e-commerce to personalized search engines where user's preferences are
☆ This work has been financially supported by the French Embassy of Dakar, the Brazilian Research Agencies CNPq, CAPES (SticAmSud Project 016/09) and FAPEMIG. E-mail addresses:
[email protected] (S.d. Amo),
[email protected] (M.S. Diallo),
[email protected] (C.T. Diop),
[email protected] (A. Giacometti),
[email protected] (D. Li),
[email protected] (A. Soulet).
http://dx.doi.org/10.1016/j.is.2014.11.009 0306-4379/& 2014 Elsevier Ltd. All rights reserved.
essential in the system model design. Several important research work has been dedicated to this topic, including research on the development of (1) powerful frameworks for preference modeling and reasoning [1,2] and (2) preference query languages with high declarative and expressive power for personalized database applications [3–6]. However, little work has been dedicated so far to the topic of preference elicitation, that is, in the way user preferences are obtained. This paper is focused on this topic. Elicitation of preferences consists basically in providing the user a way to inform his/her preferences on objects belonging to a dataset, with a minimal effort for him/her. It can be achieved by following different strategies: (a) by using a query interface where users are asked to express their preferences [1], or (b) by capturing implicit user's choices and applying preference mining algorithms [7]. The first alternative is not
S.d. Amo et al. / Information Systems 49 (2015) 182–199
efficient since the users in general are not able to express their preferences in an exact and consistent way. This paper is focused on the second alternative for preference elicitation. We assume our data is constituted by pairwise comparisons. We do not discuss in this paper the way the user informed his/ her choices, knowing that different strategies can be applied [8]. Our method simply assume that pairs of objects expressing the user preferences have been collected somehow. The running example below illustrates the preference mining problem we tackle in this paper. In this example we assume that the user preferences are informed by means of the number of clicks on certain tags. Motivating example. A web service regularly provides recommendation about movies to its subscribers. In order to capture their preferences on films without being too annoying and intrusive, the service offers its subscribers a trial period during which they can freely access information about films. They indicate the films they are interested in by clicking on different tags. For instance, a subscriber can click on tags Action, Spielberg and War to indicate that he/she is interested in obtaining information on films directed by Steve Spielberg, with a script based on a war story, and having a lot of action. His/her clicks are automatically collected during the trial period. The relation D depicted on Table 1 presents some of the access of a subscriber during a trial period. Tags A, B, C, D and E stands for Spielberg, Tom Hanks, Action, Leonardo di Caprio and War respectively. Each ti ði ¼ 1; …; 5Þ represents the set of tags I selected each time the subscriber accessed the service. They are called transactions. Let us suppose that during the trial period the subscriber accessed the service ten times by clicking on the set of tags t1 and only five times by clicking on the set of tags t3. Thus, he/she implicitly indicated that he/she is more interested on films associated to tags t1 than to tags t3 as indicated by the first pair 〈t 1 ; t 3 〉 in relation P depicted in Table 1. Notice that both t1 and t3 contain the tags A(Spielberg) and C(Action). Between them he/she prefers the one containing the tag D(Leonardo di Caprio) than the one containing the tag B(Tom Hanks). So, the following contextual preference rule can be inferred: Between two action movies directed by Spielberg he/she prefers the one played by Leonardo di Caprio than the one played by Tom Hanks. Tags
183
Action and Spielberg constitute the context of the rule. Notice that some pairs of transactions (for instance, 〈t 1 ; t 2 〉) do not appear in relation P, indicating that the number of clicks on each of these sets of tags is the same or differs by a negligible amount of clicks (below a given threshold). In this paper we propose the method ProfMiner for building the profile of a user from a sample of his/her preferences previously captured by the system. A user's profile is specified by a set of contextual preference rules [6] satisfying some interestingness criteria, namely soundness and conciseness. The soundness property guarantees that the preference rules specifying the profiles are in agreement with a large set of the user preferences, and contradicts a small number of them. On the other hand, conciseness implies that profiles are small sets of preference rules. Formally, our problem is to find a set of contextual preference rules that minimizes a cost function that takes into account the soundness criterion. As this problem is NP-complete, our method consists of two separated phases: first, a set of contextual preference rules S is mined; and second a user profile is extracted from S. We argue that our approach based on preference rules has many advantages if compared to other preference models found in the literature. The model is easy to understand and manage due to its conciseness and its qualitative aspect (it is constituted by a set of preference rules and it does not employ score functions explicitly assigning grades to each transaction [9–12]). Moreover, the soundness property guarantees that our method builds user profiles with good predictive properties. Besides introducing the method ProfMiner for building the user profile, we also propose three ranking strategies which make use of the mined profile in order to rank objects according to the user preferences. The purpose of these ranking strategies is not only to show the usefulness of built user profiles but also to assess their quality. We obtain in this way three different ranking methods, all of them using the mined profile coupled with a particular ranking strategy. We compare the accuracy of these ranking methods with each other as well as with a well-known ranking technique (the SVMRANK introduced in [11]) throughout a series of experiments executed on a real-world database of user preferences about movies. Our experiments show that some of our
Table 1 A transactional database and a preference database. D Tid
Transactions
t1 t2 t3 t4 t5
A A A A
C B B
C C
D D E D
B
P Pid
User preferences
p1 p2 p3 p4 p5
〈t 1 ; t 3 〉 〈t 2 ; t 3 〉 〈t 2 ; t 4 〉 〈t 3 ; t 4 〉 〈t 4 ; t 5 〉
184
S.d. Amo et al. / Information Systems 49 (2015) 182–199
ranking strategies present good predictive properties and outperform SVMRANK in several situations. This paper is organized as follows. In Section 2 we discuss some related work. In Section 3 we rigorously define the mining problems we treat in this paper and we demonstrate that this profile construction problem is NP-complete. The two following sections describe the two phases of the ProfMiner method: Section 4 is dedicated to present the first phase, namely the preference rule mining algorithm, whereas Section 5 describe the second phase, namely the user profile construction algorithm. In Section 6 we present three ranking strategies to rank objects according to a user profile. In Section 7 we describe and analyze experimental results on real datasets comparing the efficiency of our three ranking methods constituted by ProfMiner coupled with the three different ranking strategies introduced in the previous section. We also compare these ranking methods with the SVMRANK strategy [11].
2. Related work The Preference Mining Problems. The Preference Mining task can be viewed as two distinct problems: the Label Ranking Learning Problem and the Object Ranking Learning Problem. The Label Ranking Learning Problem aims at predicting an order over a set of labels for a given object [13,14]. One can view the objects as tuples containing information about users: age, education, economic status, city, profession, etc. And the labels represents entities to rank. Labels have no content, they are represented by a single identifier. So, the Label Ranking Learning Problem consists in discovering rules relating user's personal information to the way they rank labels (objects). The work of [14] discusses the differences underlying both problems and proposes a method for label ranking consisting in training a set of binary classifiers. In [13] a method for label ranking learning adapted from a classical method for association rules discovery is proposed. On the other hand, the Object Ranking Learning Problem aims at predicting which is the preferred object between two given objects, based on their properties. So, in this problem, objects are associated to their contents (e.g. color, size, manufacturer, etc). One unique user is considered and the predictions about the preferred objects are related to this unique user. The present paper focus on this latter problem. In what follows, we discuss some related work following this line of research. From now on, when referring to Preference Mining we mean Object Ranking Learning. Methods for Preference Mining can be categorized following different criteria such as Preference Specification (qualitative or quantitative) and Preference Semantics (the Pareto model, conditional preference model). The techniques discussed in this section are inherently distinct. Nevertheless they have a common main goal: given a pair of objects, to predict which one is the most preferred. Qualitative and non-contextual preference models. In a qualitative approach, preferences are specified by a compact set of preference rules from which a preference relation can be inferred. The method we propose in this paper follows a qualitative approach. Some other qualitative approaches are [7,15]. In [7] 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. Another approach to preference mining is presented in [15]. In this work, the authors propose to infer an order on any pair of tuples in the database by using preference samples provided by the user. 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 [7]. In this model, preferences are non-contextual, that is, preferences on values of attributes do not depend on the values of other attributes (the context). Our contextual preference model is more expressive. Another intuitive preference model (but, noncontextual) is the lexicographic preference model (LPM). Unlike the Pareto model, the LPM assumes an order of importance on the attributes that describe the objects in a domain and uses this order to make preference decisions. In [16], a greedy variable permutation algorithm has been proposed to produce one of the LPMs that is consistent with the user's preference samples, if one exists. In [17], the authors propose to extract a collection of different lexicographic models from a set of preferences using a democratic voting system in order to approximate the target model. Qualitative and contextual preference models. In [18], the authors propose an approach for mining contextual preferences using Bayesian Networks and the algorithm CPREFMINER for extracting a Bayesian Preference Network from a set of user's past choices. According to the authors, the main advantage of their algorithm CPREFMINER on ours is the compact preference model which induces a strict partial order. Unlike our preliminary results presented in [19], the mined preference relation produced by one of the three strategies we propose in the present article is a strict partial order over the set of transactions. Moreover, the performance results obtained by our mining algorithm coupled with this ranking strategy are better than those presented in [18]. We are currently working with a new version of CPREFMINER coupled with the range voting strategy. We intend to compare performance results of this new version with those of PROFMINER coupled with the three strategies presented in this paper. The main difference between the last available version of CPREFMINER and the version presented in [18] is that the former admits setvalued attributes. However, it restricts the size of sets considered as values for the attributes. For instance, in the movie dataset, the attribute Actor is sometimes evaluated as a set of 20 to 30 actors. CPREFMINER is very costly when dealing with set-values with more than 5 elements. PROFMINER do not suffer from this drawback. In [20] the authors propose methods for finding contextaware preferences from context logs of users of mobile devices. In this approach, context attributes are fixed (e.g. time, user location) and separated from content, which is represented by a unique attribute C. In our approach, we have different content attributes that can be viewed as context attributes as well. Differently from our approach which extracts a profile for each user constituted by a compact set of contextual preferences rules, in [20], from each training user's device log the proposed method calculates the user's context-aware preference (about activities (content) such as “Play Action Games”,
S.d. Amo et al. / Information Systems 49 (2015) 182–199
“Listen to Soft Music”, etc) represented as a conditional probability. A distribution of common context-aware preferences is used as a content recommendation model for any new user. In our approach, each user has his own profile, independently from other users. Recently, [21] introduced a learning method based on rule ensembles. The proposed conditional rules enables the authors to express the notion of context in the case of ordinal attributes. To extract contextual preference rules similar to ours, it would be necessary to individually consider each value of attribute domains and to constrain the model construction. In [22], the authors propose a method for mining a CP-Net model [23] from a set of preferences supplied by the user. Like in our approach, preference samples are represented by ordered pairs of objects. The goal is to identify a target preference ordering with a binary-valued CP-Net by interacting with the user through a small number of queries. Our method is more flexible and general since it is able to compare sets of items (i.e. transactions with different sizes) and can be also adapted to compare tuples over a relational schema. Moreover, differently from [22] which focuses on learning acyclic CP-Nets (with no contradictions), PROFMINER is flexible enough to deal with contradictory rules. Indeed, our method do not intend to produce a set of consistent rules, as in [18,22]. The ranking strategies used by PROFMINER solve the potential inconsistencies which can appear in the user profile. Quantitative preference models. In contrast with the above work, where preferences are specified following a qualitative approach, in [9,24] algorithms for mining quantitative preferences are proposed. In these works preferences are specified by a score function and the main goal is to find automatically a prediction rule which assigns a score to each tuple of the database. The mining task in this approach is sometimes called learning to rank. Several efficient methods for learning to rank have been proposed so far in the information retrieval domain, including SVMRANK [11], RANKBOOST [10], RANKNET [9] and ADARANK [12]. In all these methods, the learning task is formalized as classification of object pairs in two classes: correctly or incorrectly ranked. Different classification techniques are employed such as SVM (SVMRANK), Boosting (ADARANK, RANKBOOST) and Neural Network trained by a Gradient Descent algorithm (RANKNET). In comparison, our method has the advantage of making explicit the user preferences through the profile. Although our approach is qualitative, we can compare its predictive quality with the one provided by SVMRANK. The experiments presented in Section 7 show that our approach outperforms SVMRANK in several situations.
3. Problem formalization In this section we rigorously formalize the Preference Mining task we intend to solve in this paper. As already said, this task is divided in two subtasks, namely (1) the extraction of a set of contextual preference rules S from a preference database and (2) the extraction of a user profile from S. The second and third subsections of this section are dedicated to formalize each one of these subtasks. The first subsection aims to present the necessary concepts underlying the two subtasks.
185
3.1. Preference database and contextual preference rules Let I be a set of distinct literals called items. An itemset X is a subset of I ðX D I Þ. The language of itemsets corresponds to L ¼ 2I . A transactional dataset D is a multi-set of itemsets in L. Each itemset, usually called transaction, is a database entry. Table 1 presents a transactional dataset D where 5 transactions denoted by t 1 ; …; t 5 are described by 5 items denoted by A; …; E. A preference database P D D D is a set of pairs of transactions representing a sample of user preferences over the dataset D. Intuitively, a user preference 〈t; u〉 A P means that the user prefers the transaction t to the transaction u. Given a user preference 〈t; u〉 A P, t is said to be the preferred transaction (according to the user) and u is said to be the non-preferred transaction (according to the user). Table 1 shows a set of 5 user preferences labeled p1 ; …; p5 . The preference database and the transaction database are both synthesized by a graph as illustrated in Fig. 1. We emphasize that in general P is not necessarily transitive, since the preference database (here, user preferences) is often derived from implicit feedbacks. The main objective of this paper is to extract a user profile from a preference database provided by the user. A user profile is specified by a set of preference rules verifying some interesting properties. Basically a contextual preference rule i þ g i ∣X means that the item i þ is preferred to the item i when the context X occurs.
Definition 1 (Contextual preference rule Agrawal et al. [6]). A contextual preference rule is an expression of the form i þ g i ∣X where X is an itemset of L, i þ and i are items of I ⧹X. The left-hand side of a preference rule specifies the choice while the right-hand side represents the context. For instance, D g E∣AB means that the context AB leads to choose the item D rather than the item E. CPðLÞ denotes the set of the contextual preference rules based on L (we often omit the language when it is implicit in the context). Of course, the interest behind i þ g i ∣X is its ability to compare transactions. A transaction t is preferred to u according to π : i þ g i ∣X, denoted by t g π u, if ðX [ fi þ g D tÞ 4 ðX [ fi g DuÞ 4 ði 2 = tÞ 4 ði þ 2 = uÞ. For instance, ACD is preferred to ABCE according to the contextual preference rule D g E∣A. Naturally, a given contextual preference rule π can agree with a user preference 〈t; u〉 A P (when the preference rule π leads to prefer t rather than u) or contradict 〈t; u〉 A P (when the preference rule πleads to prefer u rather than t). In both cases, we say that the contextual preference rule covers the user preference 〈t; u〉. For instance, the user preference p1 ¼ 〈t 1 ; t 3 〉 in Table 1 is covered by both D g E∣A (in agreement) and B g D∣C (in contradiction).
Fig. 1. A preference graph.
186
S.d. Amo et al. / Information Systems 49 (2015) 182–199
The agreement of a contextual preference rule π in P gathers the set of pairs that are in agreement with π: agreeðπ ; PÞ ¼ f〈t; u〉 A Pjt g π ug. Similarly, the contradiction of a contextual preference rule π in P denotes the set of pairs that are in contradiction with π: contradictðπ ; PÞ ¼ f〈t; u〉 A Pju g π tg. Finally, the cover of a contextual preference rule π in P denotes the set of pairs that are covered by π: covðπ ; PÞ ¼ agreeðπ ; PÞ [ contradictðπ ; PÞ. 3.2. The first subtask: the contextual preference rule mining problem Basically, we adapt the support-confidence framework of association rules by considering that the context X and the preference i þ g i correspond respectively to the antecedent and the consequent of an association rule. Thereby, we analogically define the concept of support, confidence and minimality as interestingness criteria for filtering out nonrelevant contextual preference rules. Let us come back to our running example illustrated in Table 1. The contextual preference rule D g E∣A is more interesting than D g E∣B because D g E∣A agrees with two user preferences (p1 and p2) while D g E∣B agrees with only one ðp2 Þ. This information is brought by the support of a contextual preference rule π which estimates the probability that π agrees with a pair of P.
Definition 2 (Support). The support of a contextual preference rule π in P is defined as: suppðπ ; P Þ ¼
jagreeðπ ; PÞj jPj
Naturally, the interest of a contextual preference rule increases with its support. For instance, as ACD and ABD are preferred to ABCE according to D g E∣A, we obtain suppðD g E∣A; PÞ ¼ jfp1 ; p2 gj=jPj ¼ 0:4. Similarly, suppðD g E∣ B; PÞ ¼ jfp2 gj=jPj ¼ 0:2. So, D g E∣A is more interesting than D g E∣B. Now we also need to evaluate the disagreement between a contextual preference rule and the preference database. That is, among all the user preferences covering a rule, how many are in agreement with that rule? To this end, we define the confidence of a contextual preference rule π with respect to a preference database P as follows: Definition 3 (Confidence). The confidence of to P is defined as conf ðπ ; P Þ ¼
π with respect
jagreeðπ ; PÞj jcovðπ ; PÞj
In other words, the confidence evaluates whether a contextual preference rule contradicts many user preferences. This criterion shows that D g E∣A is more valuable than D g E∣∅ because conf ðD g E∣A; PÞ ¼ 2=2 ¼ 1 whereas conf ðD g E∣∅; PÞ ¼ 2=3. A contextual preference rule exceeding a minimal support σ threshold (resp. a minimal confidence threshold κ ) is
called frequent (resp. reliable). The set of all frequent and reliable contextual preference rules with respect to thresholds σ and κ is denoted by CP σ ;κ ðL; PÞ (or CP σ ;κ in brief). At this point, the support and the confidence discard respectively the infrequent and unreliable contextual preference rules. These interestingness measures evaluate the intrinsic quality of a contextual preference rule, but do not consider the redundancies between several contextual preference rules of CP σ ;κ . Given the example of Table 1, we observe that D g E∣B and D g E∣AB have the same support and the same confidence. Intuitively, the contextual preference rule D g E∣B is more relevant than D g E∣AB because its context is smaller. For this purpose, we introduce the notion of minimal contextual preference rule: Definition 4 (Minimal preference rule). A contextual preference rule i þ g i ∣X is minimal in P iff there is no contextual preference rule i þ g i ∣Y such that Y X and suppði þ g i ∣Y; PÞ ¼ suppði þ g i ∣X; PÞ and conf ði þ g i ∣ Y; PÞ ¼ conf ði þ g i ∣X; PÞ. Typically, the contextual preference rule D g E∣B is minimal, but D g E∣AB is not minimal. Following on, MCP σ ;κ ðL; PÞ (or MCP σ ;κ ) denotes the set of minimal contextual preference rules having its support and confidence respectively greater than σ and κ . In practice, this minimality criterion drastically reduces the number of contextual preference rules. Given a sample preference database, the first problem that we consider deals with the extraction of all interesting preference rules, i.e. those rules which are minimal and have acceptable support and confidence. More precisely: Problem 1 (Preference Rule Mining). Given a preference database P, a minimal support threshold σ and a minimal confidence threshold κ , find the set MCP σ ;κ of minimal interesting contextual preference rules. Given a set of items I where k ¼ jI jZ 2, there exist k ðk 1Þ 2k 2 distinct contextual preference rules. Obviously, a naive enumeration of those preference rules for computing MCP σ ;κ is unfeasible and some pruning criteria are necessary for reducing the search space. In this paper, we are going to take advantage of the downward closure of MCP σ ;0 to reduce the search space. In our preliminary work [19], a levelwise algorithm was used to compute MCP σ ;κ . Unfortunately, due to memory limitation, the extraction of patterns is prohibitive when dealing with a large number of attributes as it is often the case in real datasets. Therefore, we present in Section 4 a depth-first search algorithm inspired from ECLAT [25] and called CONTPREFMINER.
3.3. The second subtask: the user profile construction problem In our approach, a user profile s specified by a set of contextual preference rules which is both concise and sound with respect to the preference samples the user has previously provided. Roughly speaking, the conciseness of a set of preference rules is evaluated by means of its cardinality. On the other hand, we have to precise how we can evaluate the soundness of a set of preference rules. Formally, the soundness criterion will be taken into account by a cost function.
S.d. Amo et al. / Information Systems 49 (2015) 182–199
In Section 3.1, given a preference rule π and a preference database P, we define the set of user preferences in agreement and in contradiction with a rule π. We can extend these notations to a set of rules. Given a set of contextual preference rules Π , we define the set of user preferences in agreement with Π by: agreeðΠ ; PÞ ¼ [ π A Π agreeðπ ; PÞ and the set of user preferences in contradiction with Π by: contradictðΠ ; PÞ ¼ [ π A Π contradictðπ ; PÞ. Then the set of user preferences covered by Π is coverðΠ ; PÞ ¼ agreeðΠ ; PÞ [ contradictðΠ ; PÞ. Using these notations, we can now define the cost of a user profile as follows: Definition 5 (Cost). Given a preference database P and a set of contextual preference rules Π , the cost of Π with respect to P, denoted CostðΠ ; PÞ, is defined by: Cost ðΠ ; P Þ ¼
jP⧹coverðΠ ; PÞj þjcontradictðΠ ; PÞj jPj
Intuitively, the cost of a user profile Π represents the percentage of user preferences in P that are not covered by any rule in Π or are contradicted by some rule in Π . Using this definition, we consider that a user profile is sound if its cost is minimal. We can now define precisely the second main problem we consider in this paper, i.e. the construction of a user profile that is sound and concise with respect to a set of user preferences. Problem 2 (User profile construction). Given a preference database P and a set of contextual preference rules S, select Π DS that is concise and minimizes the cost. Π is called a user profile associated to P. Notice that in this problem statement, S can be any set of preference rules. In practice, S will be the set of all interesting minimal contextual preferences rules, as defined in Problem 1. It is also important to note that with large datasets, the construction of the user profile that is maximally sound is a hard problem. Indeed, it can bee easily seen that our problem is similar to the Positive–Negative Partial Set Cover (7 psc) problem introduced in [26]. Theorem 1. Let PreferenceCover be the decision problem defined as follows:
Input: a tuple 〈P; R; λ〉 where P is a preference database, R is a set of contextual preference rules and 0 r λ r 1. Question: is there Π DR such that CostðΠ ; PÞ r λ? The PreferenceCover problem is NP-complete. Proof. We define a polynomial reduction from the 7 psc decision problem introduced in [26] into PreferenceCover. An instance of 7psc is a tuple 〈N; P; Q; λ〉 where N and P are disjoint sets of negative and positive elements, Q ¼ fQ 1 ; …; Q m g D 2N [ P is a collection of subsets of N [ P and 0 r λ r 1. The goal is to find a collection D D Q such that Cost 7 ðD; N; PÞ r λ where: Cost 7 ðD; N; P Þ ¼
jP⧹ð [ Q i A D Q i Þj þ jN \ ð [ Q i A D Q i Þj jPj
187
Given an instance 〈N; P; Q; λ〉 of 7psc, the transformation to PreferenceCover is defined as follows: for every element e A ð [ Q i A Q Q i Þ, let X e ¼ fiA ½1; mjeA Q i g. If eA N, we define the user preference pe ¼ 〈X e [ f g; X e [ f þg〉. On the other hand, if e A P, we define the user preference pe ¼ 〈X e [ f þ g; X e [ f g〉. Moreover, for every iA ½1; m and e A N, we define the contextual preference rules π i ¼ þ g ∣i and r e ¼ g þ∣X e . By construction, note that every rule πi agrees with the user preferences pe iff eA P \ Q i and contradicts the user preferences pe iff e A N \ Q i . On the other hand, every rule re only agrees with the user preference pe. Given an instance 〈N; P; Q ; λ〉 of 7psc, we can now define the instance 〈P; R; λ〉 of PreferenceCover where P ¼ fpe je A ð [ Q i A Q Q i Þg and R ¼ fπ i jiA ½1; mg [ fr e je A Ng. The transformation can be clearly computed in polynomial time. Now, we have to show that 〈N; P; Q; λ〉 is an instance of 7 psc if and only if the tuple 〈P; R; λ〉 obtained by transformation is an instance of PreferenceCover. Assume that 〈N; P; Q; λ〉 is an instance of 7 psc. It means that there exists a collection D D Q such that Cost 7 ðD; N; PÞ r λ. Let Π ¼ fπ i A RjQ i A Dg [ fr e je A Ng. We can see that:
contradictðΠ ; PÞ ¼ fpe A Pje A N \ ð [ Q A D Q i Þg, which shows that jcontradictðΠ ; PÞj ¼ jN \ ð [ Q A D Q i Þj, and coverðΠ ; PÞ ¼ agreeðΠ ; PÞ [ contradictðΠ ; PÞ ¼ ðfpe A PjeA i
i
P \ ð [ Q i A D Q i Þg [ fpe A Pje A NgÞ [ fpe A Pje A N \ ð [ Q i A D Q i Þg ¼ fpe A Pje A [ Q i A D Q i g [ fpe A Pje A NgÞ which shows that jP coverðΠ ; PÞj ¼ jP ð [ Q i A D Q i Þj.
Thus we have: costðΠ ; PÞ ¼ cost 7 ðD; N; PÞÞ r λ which proves that 〈P; R; λ〉 is an instance of PreferenceCover. We now have to prove the converse, i.e. that if 〈P; R; λ〉 is an instance of PreferenceCover, then 〈N; P; Q; λ〉 is an instance of 7psc. If 〈P; R; λ〉 is an instance of PreferenceCover, it means that there exists a user profile Π D R such that costðΠ ; PÞ r λ. n Let Π ¼ Π [ fr e jeA Ng and D ¼ fQ i A Qjπ i A Π g. Using the same principle as before, we can easily see that n cost 7 ðD; N; PÞ ¼ costðΠ ; PÞ r costðΠ ; PÞ r λ, which shows that 〈N; P; Q; λ〉 is an instance of 7psc and completes the proof. □ Since the construction of a user profile is NP-hard, we propose in Section 5 a heuristic approach based on the same ideas used by associative classification methods such as CBA [27]. More precisely, given a preference database and a set of interesting preference rules, we present an iterative algorithm called PROFILEMINING that returns a set of preference rules Π that is sound, i.e. its cost is minimal. Moreover, we will see that this algorithm uses a parameter k (called minimal agreement threshold) that allows to control the size of the set Π returned. Therefore, it will be possible to find a user profile, that is a set of preference rules Π that is sound and as concise as desired.
4. The algorithm for mining the contextual preference rules As indicated above, we cope with Problem 1 by using a pruning criteria during a depth-first traversal of the search
188
S.d. Amo et al. / Information Systems 49 (2015) 182–199
space CP. For this purpose, we enumerate the contexts according to an order $L . More precisely, we use an arbitrary total order o I over the set of all items and assume contexts are written according to this order. A context X ¼ i1 i2 …il is called a prefix of context Y ¼ i1 i2 …im , denoted by X$L Y, where l r m and items in both contexts are listed according to order o I . For instance, the prefix-contexts of AB are ∅, A and AB; but not B. The partial order $L is useful for benefiting from the support and the minimality to reduce the search space: Proposition 1 (Pruning criteria). If a contextual preference rule i þ g i ∣X is not frequent or is not minimal, then any rule i þ g i ∣Y such that X$L Y is not a frequent and minimal contextual preference rule. Proof. Given i þ and i , the problem is to extract contexts i.e. itemsets. We can therefore use the formalism proposed in [28]. As the support and the confidence are two condensable functions,1 the set of minimal contexts is downward closed (with respect to the inclusion). Since all comparable patterns with respect to the order $L are also comparable with respect to the inclusion, we conclude the proof. □ Proposition 1 affirms that the frequency constraint and the minimality constraint are anti-monotone with respect to $L [29]. Such pruning techniques are natural to integrate in depth-first search algorithm as proposed by Algorithm 1. Algorithm 1. CONTPREFMINER. Input: A preference database P, a minimal support threshold σ , a minimal confidence threshold κ Output: All the prefix-minimal contextual preference rules exceeding σ and κ 1: S≔∅ 2: for all pair of items ði1 ; i2 Þ A I I do 3: s12 ≔suppði1 g i2 ∣∅; PÞ 4: s21 ≔suppði2 g i1 ∣∅; PÞ 5: if s12 Z σ ors21 Z σ then 6: if s12 Z σ ands12 =ðs12 þ s21 Þ Z κ then S≔S [ fi1 gi2 ∣∅g 7: if s21 Z σ ands21 =ðs12 þ s21 Þ Z κ then S≔S [ fi2 gi1 ∣∅g 8: S≔S [ ContEnumðði1 ; i2 Þ; ∅; I 5 fi1 ; i2 g; P; σ ; κ Þ 9: end if 10: end for 11: return S
Basically, CONTPREFMINER builds all the pairs of items ði1 ; i2 Þ and its subroutine CONTENUM (see Algorithm 2) enumerates in a depth-first manner all the contextual preference rules concluding on i1 g i2 or i2 g i1 . Lines 5 in CONTPREFMINER and CONTENUM stop the enumeration of the preference rules if both supports are less than the minimal support threshold (Proposition 1). The prefix-minimality is only evaluated at Line 5 of CONTENUM because all the preference rules based on ∅ are minimal. Besides, a preference rule is not prefix-minimal as soon as a smaller context leads to the same support for concluding on i1 g i2 and i2 g i1 . Finally, the arbitrary order o I is used at Line 8 of CONTENUM for enumerating all the next contextual preference rules according to $L as explained above. 1 A function f is condensable when for any itemsets X D Y, f ðX [ figÞ ¼ f ðXÞ implies that f ðY [ figÞ ¼ f ðYÞ.
Algorithm 2. CONTENUM. Input: A pair of items ði1 ; i2 Þ, a context X, a set of candidate items C, a preference database P, a minimal support threshold σ , a minimal confidence threshold κ Output: All the prefix-minimal contextual preference rules exceeding σ and κ concluding on i1 g i2 or i2 g i1 whose context contains X as prefix 1: S≔∅ 2: for all i A C do 3: s12 ≔suppði1 g i2 ∣X [ fig; PÞ 4: s21 ≔suppði2 g i1 ∣X [ fig; PÞ 5: if ððs12 Z σ Þ 3 ðs21 Z σ ÞÞ 4 ððs12 o suppði1 g i2 ∣XÞÞ 3 ðs21 o suppði2 gi1 ∣XÞÞÞ then 6: if ðs12 Z σ Þ 4 ðs12 =ðs12 þ s21 Þ Z κ ) then S≔S [ fi1 gi2 ∣X [ figg 7: if ðs21 Z σ Þ 4 ðs21 =ðs12 þ s21 Þ Z κ ) then S≔S [ fi2 gi1 ∣X [ figg 8: S≔S [ ContEnumðði1 ; i2 Þ; X [ fig; fc A Cjio I cg; P; σ ; κ Þ 9: end if 10: end for 11: return S
One of the strengths of two phases approaches lies in the soundness and completeness of the pattern mining phase [30] as it is the case with CONTPREFMINER: Theorem 2 (Soundness and completeness). Given a preference database P, minimal thresholds σ and κ , CONTPREFMINER returns all contextual preference rules of CP σ ;κ that are minimal with respect to $L . Proof. Given a rule π ¼ i þ g i ∣X A CP σ ;κ , there is at least one pair of items ði þ ; i Þ or ði ; i þ Þ that is given as input parameter of CONTENUM with an empty context. Then, CONTENUM performs a usual depth-first traversal of the search space for building the context X of π. Note that the halting conditions of Line 5 are safe due to the downward closure of minimal frequent rules (Proposition 1). So, the mining approach is complete. Finally, Lines 6 and 7 guarantee the soundness by filtering out rules whose confidence is insufficient. □ A prefix-minimal contextual preference rule is only minimal according to its prefix contexts. Then, the prefixminimality is less restrictive than minimality and the set of interesting prefix-minimal preference rules is a superset of MCP σ ;κ . In a depth-first search approach, the prefixminimality is easier to evaluate than the minimality. Interestingly, Section 5 will show that the use of prefix-minimal contextual preference rules instead of minimal ones does not affect the profile construction. 5. The algorithm for the user profile construction Basically, the construction of the user profile iterates two main principles over the set S of contextual preference rules returned by CONTPREFMINER until all user preferences in the database are in agreement with at least one preference rule in the profile: (1) select the best contextual preference rule from S and (2) remove in S the unnecessary contextual preference rules. Indeed, even if the minimality criterion removes many redundant contextual preference rules, some superfluous contextual preference rules remain among those returned by CONTPREFMINER. For instance, in our running example the preference rule
S.d. Amo et al. / Information Systems 49 (2015) 182–199
189
Table 2 Rules of MCP 0:2;0:6 ordered according 4 best and profile construction (k ¼1). MCP 0:2;0:6
Profile construction
Cont. pref.
supp
conf
Agreement
D gE∣A
0.4
1
p1,p2
D gC∣∅
0.2
1
p2
A gC∣D
0.2
1
p3
A gD∣C
0.2
1
p4
B g C∣D
0.2
1
p3
D gB∣A
0.2
1
p1
D gE∣B
0.2
1
p2
D gE∣AC
0.2
1
p1
D gB∣∅
0.4
2/3
p1,p5
D gE∣∅
0.4
2/3
p1,p2
D g B∣A (only in agreement with p1) can be removed from MCP 0:2;0:6 (see Table 2) since D g E∣A already agrees with p1 and has a better support (with the same confidence). More generally, a contextual preference rule π provides a substantial value if it agrees with user preferences of P that are not in agreement with other better preference rules. Note that such a kind of iterative process for building a model is quite classical in the literature [31,30].
Step 1
Step 2
Step 3
Step 4
total order) is only used to definitely decide between two indistinguishable rules. Table 2 (the left part) illustrates the best rule order 4 best over the minimal contextual preference rules with σ ¼ 0:2 and κ ¼ 0:6 on our running example. Note that the arbitrary order o CP justifies to arrange A g C∣D before A g D∣C and B g C∣D as well as D g B∣A before D g E∣AC. 5.2. The algorithm PROFILEMINING
5.1. Ordering contextual preference rules The main strategy of the algorithm PROFILEMINING responsible for building user profiles is the ability of selecting the best contextual rule to decide which transaction is the preferred one. The following definition introduces a total order on the set of contextual preference rules MCP. Definition 6 (Best rule order). The best rule order on MCP, denoted by 4 best , is a total order defined for any contextual preferences π and π 0 as
π 4 best π 0 3
8 conf ðπ Þ 4conf ðπ 0 Þor > > > > > conf ðπ Þ ¼ conf ðπ 0 Þand suppðπ Þ 4suppðπ 0 Þor > > > > < conf ðπ Þ ¼ conf ðπ 0 Þand suppðπ Þ ¼ suppðπ 0 Þ andjcontextðπ Þj o jcontextðπ 0 Þjor > > > > > > conf ðπ Þ ¼ conf ðπ 0 Þandsuppðπ Þ ¼ suppðπ 0 Þ > > > : andjcontextðπ Þj ¼ jcontextðπ 0 Þjandπ o π 0 CP
As the profile should contradict at most a very small number of user preferences (in order to have a high precision), the confidence is the most important criterion. The support criterion naturally comes in second place, followed by the size of the context. The fourth criterion (where o CP is an arbitrary
Given a preference database P, a set of contextual preference rules S, a minimal agreement threshold k, PROFILEMINING returns a user profile Π by selecting suitable contextual preference rules from S (see Algorithm 3). Note that the agreement threshold k enables us to adjust the size of the user profile as indicated in Problem 2. The greater the minimal agreement k, the smaller the profile. After initializing the profile (Line 1), the main loop (Lines 2–7) selects the best contextual preference rule according to 4 best (Line 3) and adds it to the profile (Line 4) until that S becomes empty (Line 2). This condition is ensured by the reduction of P (Line 5) and the reduction of S (Line 6). Indeed, a contextual preference rule π is unnecessary with respect to the profile in progress whenever π does not agree with at least k remaining user preferences (i.e. not still in agreement with other preference rules of the profile). Algorithm 3. PROFILEMINING. Input: A preference database P, a set of preference rules S, a minimal agreement k Output: A user profile Π 1: Π ≔∅ 2: while S a ∅ do 3: π best ≔max 4 best S 4:
Π ≔Π [ fπ best g
190 5: 6: 7: 8:
S.d. Amo et al. / Information Systems 49 (2015) 182–199 P≔f〈t; u〉 A Pjt⊁π best ug S≔fπ A Sjsuppðπ ; PÞ Z k=jPjg end while return Π
Table 2 (the right part) illustrates PROFILEMINING on our running example (see Table 1) with S ¼ MCP 0:2;0:6 and k¼1. At the first iteration, Line 3 selects D g E∣A (symbol ) as the best rule according to 4 best (see Table 2). Line 5 removes the user preferences p1 and p2 and then, Line 6 removes 5 contextual preference rules from S (symbol ). Note that D g B∣∅ is preserved because it also covers p5. The second iteration adds Ag C∣D to the profile because it is the best remaining contextual preference rule. This process stops at the end of the 4th iteration because S is empty (see Line 2 of PROFILEMINING). So, the final profile is fD g E∣A; A g C∣ D; A g D∣C; D g B∣∅g. In Section 4, we have shown that CONTPREFMINER does not exactly mine all the minimal contextual preference rules but all the prefix-minimal ones. However, using the prefixminimal or minimal contextual preference rules as input of PROFILEMINING does not impact its output: Proposition 2 (Equivalence). Given a preference database P, minimal thresholds σ ; κ and k, the answers of PROFILEMINING applied on S equals to that on MCP σ ;κ with any set S such that MCP σ ;κ DS D CP σ ;κ . Proof. Given a non-minimal rule π A S, there exists a minimal rule π m A S such that conf ðπ Þ ¼ conf ðπ m Þ and suppðπ Þ ¼ suppðπ m Þ by definition. As the context of πm is smaller than that of π, the minimal rule is always selected. All the rules returned by PROFILEMINING belong to MCP σ ;κ and therefore, Proposition 2 is right. □ Proposition 2 means that the use of interesting minimal, interesting prefix-minimal or all interesting preference rules leads to the same user profile. Indeed, as the relation 4 best ranks a minimal contextual preference rule before a nonminimal one, Line 4 selects a minimal contextual preference rule as πbest. Then, Lines 6 and 7 discard the non-minimal contextual preference rules corresponding to πbest. Of course, the smaller the set S, the faster the PROFILEMINING execution. It would therefore be better to consider the set MCP σ ;κ as input, but the minimal interesting preference rules are particularly expensive to compute in a depth-first traversal. We think that the prefix-minimal rules are a good compromise because they are easy to mine and at the same time, they are significantly fewer than CP σ ;κ . It is difficult to directly assess the quality of extracted profiles. Indeed, due to the NP-hardness of the problem of the user profile construction (Theorem 1), the cost differential between our approximate profile and the optimal profile is difficult to measure experimentally. Moreover, as we discussed in related work, quantitative methods in the literature devoted to the preferences do not build explicit profiles. Therefore we propose to indirectly evaluate our approach by showing that our profiles lead to rankings as good as those of a state-of-the-art method. The next section is dedicated to present this protocol in details. The experiments will be presented in Section 7.
6. Ranking transactions using a preference profile In order to predict between two transactions (t,u) which is the preferred one, it is necessary to benefit from the preference rules that cover these transactions within Π . Let Π 〈t;u〉 denote the set of preference rules that covers the pair of transactions (t,u), i.e. Π 〈t;u〉 ¼ fπ A Π ∣t g π u 3 u g π tg. When a preference rule π A Π 〈t;u〉 induces that t is preferred to u, the confidence of π represents the degree of preference of t with respect to u. The weight of a preference rule πfor evaluating a pair 〈t, u 〉 is then defined by: wπ ðt; uÞ ¼ conf ðπ ; PÞ if t g π u or wπ ðt; uÞ ¼ 1 conf ðπ ; PÞ if u g π t. In this context, the challenge of ranking transactions is to select the right rules in Π 〈t;u〉 and to aggregate their weights.
6.1. Best rule Assume we would like to take advantage of the profile for predicting which is the preferred transaction between CDE and AC (note that they are not present in the initial dataset, see Table 1). A very natural way for determining whether a transaction t is preferred to another u is to use the best contextual preference rule π A Π 〈t;u〉 . The arguments of the previous section justify again to choose the order 4 best as definition of best (see Definition 6). For instance, the best contextual preference rule according to 4 best covering 〈CDE; AC〉 is Ag D∣C that induces AC is preferred to CDE with a confidence of 1. More generally, according to this ranking strategy, we say that a transaction t A L is preferred to a transaction u A L according to a user profile Π , denoted by t g br Π u, if the best rule b in Π (if it exists) gives t g b u. Fig. 2 depicts the preference relation g br Π induced by the best rule order on transactions D. Moreover, each edge 〈t; u〉 is labeled by the confidence of the best rule π which is in agreement with the preference 〈t; u〉. In the following, we denote by brΠ the preference function defined for every transactions ðt; uÞ A L L by:
Π ¼ fD g E∣A; Ag C∣D; A g D∣C; D g B∣∅g
( br Π ðt; uÞ ¼
wπ ðt; uÞ
if there exists a best rule π in Π 〈t;u〉
0:5
otherwise ð1Þ
br Π is a preference function [32]. A value of brΠ which is close to 1 is interpreted as a strong recommendation that t should be ranked before u with respect to the user profile Π . For instance, br Π ðAC; CDEÞ ¼ 1 due to the confidence of A g D∣C which equals to 1.
Fig. 2. Preference relation g br Π induced by the best rule strategy.
S.d. Amo et al. / Information Systems 49 (2015) 182–199
191
6.2. Weighted voting It may seem counterproductive to consider only the best rule when the profile can contain 10 other rules whose conclusion is opposite. Based on this observation, we propose a second alternative which consists in using a weighted voting strategy as proposed in [33]. When comparing two transactions, the idea is to used not only the best rule that covers this pair, but the set of all rules that covers it (i.e. Π 〈t;u〉 ). Of course, each rule is weighted by the confidence in the final recommendation using wπ . In some cases, several minority rules may reconsider the recommendation decided by the best rule. We define the preference function wvΠ as 8 > < 1 ∑ wπ ðt; uÞ if Π 〈t;u〉 a ∅ wvΠ ðt; uÞ ¼ jΠ 〈t;u〉 j π A Π 〈t;u〉 ð2Þ > : 0:5 otherwise Finally, using the preference function wvΠ , we can defined wv the preference relation g wv Π by: t g Π u iff wvΠ ðt; uÞ 4 0:5. Because of the simplicity of our toy example, the preference br relation g wv Π is exactly the same as g Π . The overall aim of a profile is to order transactions. For this wv purpose, the first major drawback of g br Π and g Π is its possible inconsistency. For instance, it is possible that 3 br transactions t, u and v such as t g br Π u and u g Π v lead to br br v g Π t. For instance, the relation g Π based on the profile fA g B∣∅; C g D∣∅; D g E∣∅g gives that AE g br and Π BC br BC g br Π D, but D g Π AE. Such inconsistencies make difficult the ordering of transactions AE, BC and D. The second major wv drawback of g br Π and g Π is their sparseness i.e. many transactions are not comparable. For instance, the relation g br Π based on the profile fD g E∣A; Ag C∣D; A g D∣C; D g B∣∅g cannot decide whether the transaction AC is preferred to BCE or vice versa. Therefore in the next section, we introduce a new ranking strategy, called range voting.
Now, this new preference relation enables us to order ACD before CD because ∑v A T brΠ ðACD; vÞ ¼ 0:5 þ 0:5 þ1 þ 0:5 þ2=3 ¼ 19=6 is greater than ∑v A T br Π ðCD; vÞ ¼ 0:5 þ0 þ 0 þ 0:5 þ 2=3 ¼ 10=6 with T ¼ D. Fig. 3 depicts the order g D;br Π induced by the range voting on our running example D. The first important observation is that the range voting order g T;br Π leads to compare more transactions (see bold lines) as desired for coping with sparseness. Indeed, as range voting satisfies resolvability criterion [35] that ensures a low possibility of tie votes, g T;br Π enables to rank more transactions than g br Π . Furthermore, even if the range voting remains consistent with most of user preferences and the initial preference function pref Π , there is one inverted preference between AB and CD (see dashed line). Without this inversion, the relation would not be transitive. Note that the transactions of D are used as voters by the range voting function to order D in Fig. 3. Following on, when we have to order a set of transactions T, we choose the same set T as voters (e.g. in experimental study, the test data are used as voters). Indeed, this set of voters T guarantees that the order induced by g T;pref can be total. Π We now present the main result about the preference relation g T;pref . Indeed, even if the initial preference funcΠ tion does not induce an order, the corresponding preference relation g T;pref is transitive and hence, is an order: Π is a Proposition 3 (Strict partial order). The relation g T;pref Π strict partial order on L.
6.3. Range voting Regardless of our profile construction and ordering methods, repairing and completing a preference relation to respectively tackle its inconsistency and its sparseness is a challenging task [34]. Instead of directly comparing two wv transactions thanks to the relation g br Π or g Π , we propose to organize a range voting for making decision “who is the best candidate?”. A range voting is a voting system for oneseat elections under which voters in T rate each candidate with a number within 0 and 1 using a preference function like brΠ or wvΠ . The scores for each candidate are summed, and the candidate with the highest value is the winner. Let us consider the two transactions ACD and CD as candidates. The transaction t 3 : ABCE gives only one point to ACD (because brΠ ðACD; ABCEÞ ¼ 1 and br Π ðCD; ABCEÞ ¼ 0); t 5 : AB gives 2=3 to each candidate ACD and AD; and so on. With this vote, ACD receives more votes and then, is preferred to CD. The range voting order formalizes this process: Definition 7 (Range voting order). Given a preference function pref Π , the range voting order for T D L is defined as: u 3 ∑ pref Π ðt; vÞ 4 ∑ pref Π ðu; vÞ t g T;pref Π vAT
Fig. 3. Order induced by the range voting g T;br Π .
vAT
Proof. Irreflexive relation: For any transaction t, one has ∑v A T pref Π ðt; vÞ≯∑v A T pref Π ðt; vÞ. Transitive relation: Given three transactions s, t and u such that s g T;pref t and Π t g T;pref u, Definition 7 gives ∑ pref ðs; vÞ 4∑ pref Π v A T v A T Π Π ðt; vÞ 4∑v A T pref Π ðu; vÞ. Therefore, we have ∑v A T pref Π ðs; vÞ 4 ∑v A T pref Π ðu; vÞ meaning that s g T;pref u. □ Π This crucial proposition explains why the graph provided by Fig. 3 corresponds to a strict partial order on transactions. 6.4. Relating the cost function to precision and recall The goal of this section is to relate our profile construction method based on a Cost function with the precision/recall framework classically used for evaluating classification methods. In the previous subsections we proposed three different preference relations (or ranking strategies) that can be associated to a set of preference rules Π . The predictive quality of a preference relation is evaluated by means of the precision and recall measures introduced in Definition 8 below. These two measures will be used in Section 7 to compare our three ranking techniques with SVMRANK.
192
S.d. Amo et al. / Information Systems 49 (2015) 182–199
〈t; u〉 belongs to P⧹coverðΠ ; PÞ. We obtain that f〈t; u〉 A Pjt⊁ug is included in ðP⧹coverðΠ ; PÞÞ [ contradictðΠ ; PÞ. We then conclude that 1 Recð g ; PÞ r CostðΠ ; PÞ. As by definition Precð g ; PÞ ZRecð g ; PÞ, it is easy to conclude that 1 Precð g ; PÞ r 1 Recð g ; PÞ. □
Definition 8 (Precision and recall). Given a preference database P and a preference relation g over the transactions appearing in P, the precision of g with respect to P, denoted Precð g ; PÞ, is defined by: Precð g ; P Þ ¼
jf〈t; u〉 A Pjt g ugj jf〈t; u〉 A Pjt g u 3 u g tgj
This proposition means that minimizing the Cost function leads to maximizing both recall and precision. Therefore, the goal of the profile construction is consistent with that of the prediction for compatible preference relations.
Moreover, the recall of g with respect to P, denoted Recð g ; PÞ, is defined by: Recð g ; P Þ ¼
jf〈t; u〉 A Pjt g ugj jPj
7. Experimental results
In our approach, the preference relations described in previous sections and the profiles are clearly not separate notions. The following definition attempts to establish a link:
This section presents the experimental study conducted in order to evaluate the performances of our proposal. After the presentation of the datasets in Section 7.1, we describe different types of experiments. First, in Section 7.2, we evaluate the performance of CONTPREFMINER, the algorithm proposed to extract the interesting contextual preference rules. More precisely, we report both the number of extracted rules and the extraction times with respect to different minimal support and confidence thresholds. We also evaluate how the extraction times vary when the size of the preference database increases. Then, in Section 7.3, we present a qualitative study of the user profiles built by PROFILEMINING. In particular, we analyze the conciseness of the user profiles according to the minimal agreement threshold. We also give some examples of extracted profiles, and study the distribution of the preference rules in the user profiles with respect to context sizes. In Section 7.4, we evaluate the soundness of the mined user profiles in term of precision, recall and F-measure using different ranking strategies (Best Rule, Weighted Voting and Range Voting). We also compare the predictive qualities of our approach with one baseline method, SVMRANK [11].
Definition 9 (Compatibility). A preference relation g is compatible with a set of preference rules Π iff for any pair 〈t; u〉 A P, t⊁u implies that there exists π A Π such that u g π t or there is no rule π A Π such that t g π u. This property holds for the best rule and weighted voting strategies but not for the range voting one. Now we give an important result for explaining why user profiles leads to good ranking results: Proposition 4. Let Π be a set of preference rules, g be a preference relation compatible with Π . the following relation holds: 1 Precð g ; PÞ r1 Recð g ; PÞ r CostðΠ ; PÞ Proof. Let us prove 1 Recð g ; PÞ r CostðΠ ; PÞ. Assume that there are two transactions t and u such that t⊁u. As g is compatible with Π , it means that (i) there exists π A Π such that u g π t or (ii) there is no rule π A Π such that t g π u. In case (i), 〈t; u〉 belongs to contradictðΠ ; PÞ and in case (ii),
Table 3 Real world preference databases over movies. User id.
jDj
jI j
jPj
C
user850 user5555 user1701 user5317 user438 user48 user1125 user1496 user4867 user4411 user3942 user5107 user533 user3884 user148 user4054 user123 user5682 user692 user411
504 505 509 513 520 541 544 551 552 553 559 564 565 571 582 583 584 588 591 597
4646 4074 4515 4477 4193 4232 4391 4622 4640 4626 4569 4843 4468 4893 4591 4854 4491 4492 4611 4939
90,740 97,979 87,919 89,989 98,762 93,365 110,026 109,650 97,860 111,208 119,600 116,700 122,757 124,974 120,291 117,342 111,993 127,827 111,754 129,933
0.003 0.01 0.005 0.001 0.005 0.001 0.001 0.005 0.001 0.001 0.001 0.001 0.001 0.01 0.001 0.005 0.003 0.001 0.001 0.005
S.d. Amo et al. / Information Systems 49 (2015) 182–199
193
Fig. 4. Performance of CONTPREFMINER according to: (a) Confidence variation, (b) support variation, (c) support variation and (d) size of preference database. Table 4 Top-10 preference rules discovered from the database User48 (k ¼ 1). Contextual preference rule
supp(%)
conf(%)
1.GEN: Warg GEN: Sport∣GEN: DramaCOU: UnitedStates 2.GEN: History g GEN: Sport∣GEN: Drama 3.GEN: War gGEN: Sport∣YEA: 1990s 4.COM: 20thCenturyFox gCOM: ParamountPictures∣GEN: Sci Fi 5.COM: TriStarPictures g COM: WaltDisneyPictures∣GEN: Comedy 6.GEN: Musical gGEN: Sport∣GEN: Family 7.GEN: History g GEN: Sport∣YEA: 1990s 8.COM: 20thCenturyFox gCOM: Metro Goldwyn MayerðMGMÞ∣GEN: Drama 9.GEN: Western g GEN: Sport∣GEN: Drama 10.COM: WarnerBros:Picturesg COM: Chartoff WinklerProd:∣GEN: Drama
0.41 0.22 0.18 0.13 0.12 0.12 0.12 0.12 0.11 0.13
100 100 100 100 100 100 100 100 100 99.21
Finally, in Section 7.5, we show that our ranking strategy, called Range Voting, outperforms the baseline strategy ORDER-BY-PREF introduced in [32]. Note that all our prototypes have been implemented in C þ þ. Moreover, we have run all experiments on a PC under Linux operating system (CentOS release 6.3), with 32 GB of memory and sixteen 2.40 GHz Genuine Intel(R) Xeon(R) processors with 4 cores. All the data files used in this section and the source code of PROFILEMINING are available at www.info.univ-tours.fr/ soulet/profminer/.
7.1. Real datasets All the experiments have been conducted on real world datasets based on APMD-Workbench [36] automatically built from MovieLens2 and IMDB.3 This dataset consists of 800,156 ratings (ranging from 1 to 5) from 6040 users on
2 3
www.movielens.org www.imdb.com
194
S.d. Amo et al. / Information Systems 49 (2015) 182–199
3881 movies. Each user has rated at least 20 movies, and each movie is described by a set of features such as Genre, Director, Year, Actor, etc. More precisely, in order to evaluate our approach, we extract from the initial dataset 20 datasets of rated movies evaluated by 20 different users. These users are randomly selected among the 140 users that rated between 500 and
600 movies. In order to compare our approach with the baseline method SVMRANK [11], we use the same file format, i.e. each line of the 20 datasets contains first a movie's rating, and then a list of feature/value pairs representing characteristics of the rated movie (Genre, Director, Year, Actor, …). In Table 3, you can see the main characteristics of each dataset, i.e. the number of movies rated by each user jDj, the number
Table 5 Top-10 preference rules discovered from the database User1125 (k ¼1). Contextual preference rule
supp(%)
conf(%)
1.COU: Germany g COU: UnitedStates∣∅ 2.COM: JerseyFilms g COM: 20thCenturyFox∣YEA: 1990s 3.GEN: War gGEN: Thriller∣GEN: ActionGEN: DramaYEA: 1990sLAN: English 4.GEN: War gGEN: Thriller∣GEN: ActionGEN: DramaYEA: 1990s 5.COM: LucasfilmLtd: gCOM: TouchstonePictures∣∅ 6.COM: TriStarPictures g COM: WarnerBros:Pictures∣GEN: Comedy 7.GEN: Warg GEN: Thriller∣GEN: ActionGEN: DramaLAN: English 8.COM: JerseyFilms g COM: ParamountPictures∣YEA: 1990s 9.COM: JerseyFilms g COM: 20thCenturyFox∣∅ 10.COM: JerseyFilms gCOM: UniversalPictures∣∅
0.37 0.11 0.10 0.11 0.10 0.11 0.15 0.11 0.15 0.10%
100 92.86 92.62 90.77 89.6 89.55 89.53 89.21 89.13 88.37
Fig. 5. Percentage of rules according to the size of the context. (a) User48, (b) User1125 and (c) all users.
S.d. Amo et al. / Information Systems 49 (2015) 182–199
of distinct features jI j used to describe the rated movies and the number of comparable pair of movies jPj (two movies are said comparable if their associated ratings are different). In our approach and experiments, it is important to note that Algorithm CONTPREFMINER is trained and tested over a preference database, and not a set of rated objects. However, one can easily build a preference database from a set of rated objects, considering the set of all comparable pairs of objects. 7.2. Preference rule extraction Fig. 4(a) and (b) shows the average numbers of preference rules extracted by CONTPREFMINER from the 20 datasets for increasing values of minimum confidence and support. As the minimum confidence and support increase, we can see that the
195
number of extracted preference rules exponentially decreases. This result is naturally comparable to the results obtained when extracting any type of interesting local patterns. Fig. 4(c) depicts the execution times of CONTPREFMINER when the minimum support varies between 0.1% and 1% (for different fixed values of minimum confidence). We first see that the execution times are almost independent from the values of the minimum confidence, which means that the set of preference rules explored is not pruned by the confidence constraint. On the other hand, we can notice that the effect of support constraint is important. Indeed, the execution time exponentially decreases with the minimum support, which shows that CONTPREFMINER effectively exploits the support constraint to prune the set of preference rules explored. Finally, Fig. 4(d) shows how the runtime varies when the size of the preference databases increases (while fixing minimum support and confidence). In this experiment, we use the dataset of a user that have rated more than 1000 movies. More precisely, the preference database of this user contains more than 700,000 user preferences, and we evaluate the runtime of CONTPREFMINER for different fractions of this preference database. We can see that the runtime linearly increases with the size of the preference database, and that CONTPREFMINER can extract all the interesting preference rules from a preference database containing more than 700,000 preferences in less than one hour. 7.3. Conciseness and main characteristics of the profiles
Fig. 6. Number of preference rules w.r.t k.
In this section, we analyze the conciseness and readability of the user profiles built by PROFILEMINING. We start by analyzing the conciseness of the user profiles according to the minimal
Fig. 7. Efficiency of best rule strategy and weighted voting strategy.
Fig. 8. Efficiency of the ranking strategies.
196
S.d. Amo et al. / Information Systems 49 (2015) 182–199
agreement threshold. Fig. 6 plots the average number of extracted preference rules (from the 20 user's databases) when the minimal agreement threshold k varies from 1 to 3500. First, it is important to note that even with k¼1, the average number of preference rules contained in the user profile is drastically reduced by PROFILEMINING compared to the initial number of preference rules extracted by CONTPREFMINER: from 490 to 203.9. Fig. 6 shows that the size of the user profiles rapidly decreases with k. Indeed, when k is greater than 500, the average size of the user profiles is lower than 50. Moreover, this figure shows that the user profiles can be as concise as desired by the user, which is very important to present understandable user profiles. But what does the mined profiles look like? Tables 4 and 5 list the top-10 preference rules of user profiles discovered from User48 and User1125 preference databases (using PROFILEMINING with k¼1). For example, these profiles show that User48 does not enjoy sport movies (see rules 1,2,3,6,7,9). Rules 4 and 8 show that the user prefers movies from 20th Century Fox company to movies from Paramount Pictures or Metro Goldwyn Mayer (MGM) companies. Rule 5 shows that between two comedy movies, the User48 prefers movies from TriStar Pictures company to those from Walt Disney Pictures company. On the other hand, these profiles shows that User1125 prefers War movies to Thriller movies (see rules 3,4,7). We can also see that between two comedy movies, she/he prefers movie from TriStar Pictures company to those from Warner Bros Pictures company. Finally, rule 5 shows that User1125 unconditionally prefers movies from Lucasfilm Ltd. company to those from Touchstone Pictures company. Finally, Fig. 5(a), (b) and (c) shows the distribution of the preference rules in a user profile according to the size of their contexts (with different fixed values of k). First, we can see Fig. 5(c) that for all users the size of the contexts of the preference rules is always between 0 and 4. More precisely, Fig. 5(a) shows that in the User48 profile, the most numerous rules are the rules with a context of size 1, i.e. with k¼1, 50.47% of the contextual preference rules have a context of size 1. In the User1125 profile, the size of the contexts is even more important. Indeed, with k¼1,500, 59.42% of the preference rules have a context of size 2. Thus, these histograms demonstrate the importance of the usage of context in order to obtain user profiles that are sound (see next section) and concise. These histograms also show that the higher the value of k is, the larger the average size of contexts increases. This phenomenon can be easily explained by the role of parameter
k in PROFILEMINING. Indeed, when k increases, PROFILEMINING extracts less redundant preference rules, which means that it inserts in the user profiles more specific preference rules (rules with larger contexts). 7.4. Precision, recall and F-measure In order to evaluate the soundness of the user profiles built by PROFILEMINING, a stratified 5-fold cross validation protocol is considered. More precisely, let D be an original user dataset, i.e. a list of rated movies with their features. This dataset is partitioned into K ¼5 disjoint subsets D1 ; …; DK which are approximately of the same size and stratified with respect to the ratings (each subset Dk keeps the same proportion of movies of rating i, i ¼ 1; …; 5). For every k ¼ 1; …; K, let P k be the set of user preferences 〈m1 ; m2 〉 where m1 and m2 are rated movies in Dk such that the rating given to m1 is greater than the rating given to m2. The stratified 5-fold cross validation protocol executes K rounds of training and testing, where at each round k, the training preference database is P 1 [ ⋯ [ P k 1 [ P k þ 1 [ ⋯ [ P K and the testing preference database is P k . Thus, it is important to note that at each round, the user preferences involved in the testing set contains no movies involved in the training set. Moreover, note that in our experiments, the metric values (e.g. precision, recall and F-measure) are averaged on the 20 different user databases to yield an overall one. Finally, in
Fig. 10. Differences of precision (Diff_pr), recall (Diff_rec) and F-measure (Diff_fm) between the range voting strategy and the best rule strategy.
Fig. 9. Efficiency of range voting strategy and ORDER-BY-PREF strategy.
S.d. Amo et al. / Information Systems 49 (2015) 182–199
197
Fig. 11. Agreement and completeness rates of g Π T with respect to g br Π . (a) Agreement and (b) completeness.
order to compare the quality of our approach with the result obtained using SVMRANK, we trained this well-known method with different values of parameter C (that controls the tradeoff between training error and margin), i.e. C A f0:001; 0:003; 0:005; 0:01g, and kept the best result to represent the baseline (which is in favor of SVMRANK). Table 3 (see the last column) gives the C parameter for each dataset. 7.4.1. Best rule versus weighted voting In this section, we start to evaluate the soundness of the user profiles built by PROFILEMINING using two different ranking strategies, the Best Rule (BR) and the Weighted Voting (WV) strategies introduced in Section 6. Fig. 7 plots the average precision, recall and F-measure of the 20 user profiles when the minimal agreement threshold k varies from 1 to 3500. We first notice that the performance of the two ranking strategies are very similar. This result can be explained by the principle of construction used by PROFILEMINING to build the user profiles. Indeed, at each iteration, PROFILEMINING removes the unnecessary preference rules in order to reduce the redundancies between preferences rules. Therefore, by construction, each user preference is covered at the end by a very small number of preference rules, which implies that weighted votes are mainly conducted within a very small number of preference rules (most of the time, only one rule which is the best rule). The second important observation is that the predictive quality of the mined profiles can be fairly high. More precisely, the precision always remains very high, while the recall and Fmeasure deeply depend on the minimal agreement threshold, i.e. the size of the user profiles. Moreover, we can see that the precision of the user profiles is always greater than the precision obtained using SVMRANK. However, using the Best Rule (BR) and Weighted Voting (WV) strategies, we notice that the recall and F-measure can strongly decrease when the size of the user profiles decreases, i.e. when k increases. 7.4.2. Best rule versus range voting In Section 6, in order to reduce the inconsistency and sparseness of the preference relations associated with the Best Rule (BR) and Weighted Voting (WV) ranking strategies, we
introduce a third ranking strategy, i.e. the Range Voting (RV) strategy. In this section, we evaluate the benefits of this new ranking strategy compared to the Best Rule (BR) strategy (knowing that the BR and WV strategies are comparable). Fig. 8 reports the average precision, recall and F-measure of the 20 user profiles, using either the Best Rule (BR) strategy or the Range Voting (RV) strategy. The first important observation is that the precision always remains fairly high, i.e. greater than the precision obtained using SVMRANK. On the other hand, whereas the recall strongly decreases when the BR strategy is used and k increases, it is no more the case when the RV strategy is used. Indeed, with values of minimum agreement threshold k less than 2000, the recall always remains greater than the recall obtained using SVMRANK. These results are very important. Indeed, they show that even with very small user profiles (with values of k¼2000, the number of preference rules in the user profiles is less than 30, see Fig. 6), the predictive quality (both precision and recall) of the user profiles is very high. Finally, Fig. 10 details the differences of precision, recall and F-measure using either the Best Rule (BR) strategy or the Range Voting (RV) strategy. It shows that if the precision difference is slightly in favor of the BR strategy when k increases, the recall and F-measure differences highlight the interest of the RV strategy. 7.5. Range voting versus order-by-pref In [32], the authors introduced a new method, called ORDER-BY-PREF (OBP), to build a total order that agrees best with a learned preference relation. It means that this method can be used as a ranking strategy starting from Best Rule ranking. Thus, in this section, we compare the quality of the RV and OBP strategies. Fig. 9 reports the average precision, recall and F-measure of the 20 user profiles, using either the Range Voting (RV) strategy or the ORDER-BY-PREF strategy. It shows that the RV strategy always outperforms the OBP strategy. More precisely, we can see that the precision difference is always in favor of the RV strategy, and that the precision difference increases when k increases, i.e. when the size of the user profiles decreases. Finally, we experimentally characterize the order g Π T induced by the RV or OBP ranking strategies compared to
198
S.d. Amo et al. / Information Systems 49 (2015) 182–199
the preference relation g br Π induced by the BR strategy. Fig. 11 plots the agreement rate and the completeness rate of g Π T with respect to g br Π . The agreement rate defined in [32] measures the proportion of decisions of g br Π remaining true with g Π T : jf〈t; u〉 A T Tjt g u 4 t g br ugj ΠT Π AgreeT g Π T ; g br Π ¼ jf〈t; u〉 A T Tjt g br Π ugj The completeness rate measures the proportion of decisions done by g Π T among indecisions of g br Π: jf〈t; u〉 A T Tjt g u 4 t best ugj ΠT Π CompT g Π T ; g br Π ¼ jf〈t; u〉 A T Tjt best Π ugj where t best Π u t⊁u 4 u⊁t. Interestingly, we can see Fig. 11(a) that the agreement rate between RV and BR strategy is high meaning that g Π T corrects the inconstancies of g br Π by remaining similar with g br Π . Moreover, the performance of the RV strategy is similar to the performance of OBP. On the other hand, the completeness rate plotted by Fig. 11(b) indicates that the RV strategy does not lead to a total order (which is, by definition, the case with the OBP strategy), but this rate is always greater than 0.8. In other words, using the RV strategy, the order g Π T is very less sparse than the preference relation g br Π . More precisely, the number of indecisions is higher when the size of the profile is low. 8. Conclusion and future work In this paper we proposed the method PROFILEMINING for mining user profiles from preference databases. A set of experiments on a real-world database of user preferences about movies showed the efficiency of the method. More interestingly, our approach is the first one to build a readable user profile based on the notion of contextual preference rules. In the last decade, preference mining techniques have been revealed very useful in database research concerning Query Personalization. Preference models extracted from a given sample of user preferences can be stored in repositories which will be queried in order to personalize the answer to an SQL query proposed by this user. In [4,5] the authors propose extensions of SQL with preference operators which uses the user preferences for query-answering personalization. Preference mining techniques can also be very helpful in the development of Recommendation Systems for e-commerce applications. Indeed, as the amount of objects to be recommended grows tremendously, the traditional recommendation system algorithms based on similarity between evaluations provided by other users as well as similarity between the object being evaluated and other objects already evaluated suffer from serious scalability problems. In this context, the development of preference mining techniques allowing the automatic inference of user preferences in the form of a compact profile become relevant. We are currently developing a general framework for building Recommendation Systems based on preference mining techniques. The framework is constituted of different modules, one of these being the Preference Mining Module that can be instantiated with any preference mining technique satisfying some conditions. The framework is currently being tested using
the contextual preference mining algorithms PROFMINER and CPREFMINER [18]. As future work, we finally plan to study the influence of richer training data (for instance, data which take into account the preference degree of an object u over another object v, not only a Boolean condition – prefer/not prefer – as considered in this paper) on the prediction quality of the user profile. References [1] C. Boutilier, R.I. Brafman, C. Domshlak, H.H. Hoos, D. Poole, CP-nets: a tool for representing and reasoning with conditional ceteris paribus preference statements, J. Artif. Intell. Res. 21 (2004) 135–191. [2] N. Wilson, Extending cp-nets with stronger conditional preference statements, in: AAAI, AAAI Press/The MIT Press, 2004, pp. 735–741. [3] J. Chomicki, Preference formulas in relational queries, ACM Trans. Database Syst. 28 (2003) 427–466. [4] S. de Amo, F. Pereira, Evaluation of conditional preference queries, Proc. SBBD 2010. J. Inf. Data Manag. (JIDM) 1 (3) (2010) 521–536. [5] W. Kießling, G. Köstler, Preference sql—design, implementation, experiences, in: Proceedings of the International Conference on Very Large Databases, 2002, pp. 990–1001. [6] R. Agrawal, R. Rantzau, E. Terzi, Context-sensitive ranking, in: SIGMOD Conference, ACM, 2006, pp. 383–394. [7] S. Holland, M. Ester, W. Kießling, Preference mining: a novel approach on mining user preferences for personalized applications, in: PKDD, Lectures Notes in Computer Science, vol. 2838, Springer, 2003, pp. 204–216. [8] R. Song, Q. Guo, R. Zhang, G. Xin, J.-R. Wen, Y. Yu, H.-W. Hon, Selectthe-best-ones: a new way to judge relative relevance, Inf. Process. Manag. 47 (2011) 37–52. [9] C.J.C. Burges, T. Shaked, E. Renshaw, A. Lazier, M. Deeds, N. Hamilton, G.N. Hullender, Learning to rank using gradient descent, in: ICML, vol. 119, ACM, 2005, pp. 89–96. [10] Y. Freund, R. Iyer, R.E. Schapire, Y. Singer, An efficient boosting algorithm for combining preferences, J. Mach. Learn. Res. 4 (2003) 933–969. [11] T. Joachims, Optimizing search engines using click through data, in: KDD, ACM, 2002, pp. 133–142. doi: http://dx.doi.org/10.1145/775047. 775067. [12] J. Xu, H. Li, AdaRank: a boosting algorithm for information retrieval, in: SIGIR, ACM, 2007, pp. 391–398. doi: http://dx.doi.org/10.1145/ 1277741.1277809. [13] C.R. de Sá, C. Soares, A.M. Jorge, P.J. Azevedo, J.P. da Costa, Mining association rules for label ranking, in: PAKDD (2), vol. 6635, Springer, 2011, pp. 432–443. [14] E. Hüllermeier, J. Fürnkranz, W. Cheng, K. Brinker, Label ranking by learning pairwise preferences, Artif. Intell. 172 (2008) 1897–1916. [15] B. Jiang, J. Pei, X. Lin, D.W. Cheung, J. Han, Mining preferences from superior and inferior examples, in: KDD, ACM, 2008, pp. 390–398. [16] M. Schmitt, L. Martignon, On the complexity of learning lexicographic strategies, J. Mach. Learn. Res. 7 (2006) 55–83. [17] F. Yaman, T.J. Walsh, M.L. Littman, M. desJardins, Democratic approximation of lexicographic preference models, in: ICML, vol. 307, ACM, 2008, pp. 1200–1207. [18] S. de Amo, M.L.P. Bueno, G. Alves, N.F.F. da Silva, Mining user contextual preferences, J. Inf. Data Manag. 4 (2013) 37–46. [19] S. de Amo, M.S. Diallo, C.T. Diop, A. Giacometti, H.D. Li, A. Soulet, Mining contextual preference rules for building user profiles, in: A. Cuzzocrea, U. Dayal (Eds.), DaWaK, Lecture Notes in Computer Science, vol. 7448, Springer, 2012, pp. 229–242. [20] H. Zhu, K. Yu, H. Cao, E. Chen, H. Xiong, J. Tian, Mining personal context-aware preferences for mobile users, in: Proceedings of the IEEE 12th International Conference on Data Mining (ICDM), 2012, pp. 1212–1217. [21] K. Dembczyński, W. Kotlowski, R. Slowiński, M. Szelag, Learning of rule ensembles for multiple attribute ranking problems, in: J. Furnkranz, E. Hullermeier (Eds.), Preference Learning, Springer Berlin Heidelberg, 2011, pp. 217–247. doi: http://dx.doi.org/10.1007/978-3-642-14125-6_11. [22] F. Koriche, B. Zanuttini, Learning conditional preference networks, Artif. Intell. 174 (2010) 685–703. [23] C. Boutilier, R. Brafman, H. Hoos, D. Poole, Cp-nets: a tool for representing and reasoning about conditional ceteris paribus preference statements, J. Artif. Intell. Res. 21 (2004) 135–191. [24] K. Crammer, Y. Singer, Pranking with ranking, in: NIPS, MIT Press, 2001, pp. 641–647.
S.d. Amo et al. / Information Systems 49 (2015) 182–199
[25] M.J. Zaki, Scalable algorithms for association mining, IEEE Trans. Knowl. Data Eng. 12 (2000) 372–390. [26] P. Miettinen, On the positive-negative partial set cover problem, Inf. Process. Lett. 108 (2008) 219–221. [27] B. Liu, W. Hsu, Y. Ma, Integrating classification and association rule mining, in: KDD, 1998, pp. 80–86. [28] A. Soulet, B. Crémilleux, Adequate condensed representations of patterns, Data Min. Knowl. Discov. 17 (2008) 94–110. [29] H. Mannila, H. Toivonen, Levelwise search and borders of theories in knowledge discovery, Data Min. Knowl. Discov. 1 (1997) 241–258. [30] A.J. Knobbe, B. Crémilleux, J. Fürnkranz, M. Scholz, From local patterns to global models: the LeGo approach to data mining, in: Proceedings of the LeGo Workshop, 2008, pp. 1–16. URL 〈http://www.ke.informa tik.tu-darmstadt.de/events/LeGo-08/1.pdf〉. [31] B. Bringmann, A. Zimmermann, The chosen few: on identifying valuable patterns, in: ICDM, IEEE Computer Society, 2007, pp. 63–72. [32] W.W. Cohen, R.E. Schapire, Y. Singer, Learning to order things, J. Artif. Intell. Res. 10 (1999) 243–270.
199
[33] W. Li, J. Han, J. Pei, CMAR: accurate and efficient classification based in multiple class-association rules, in: ICDM, IEEE Computer Society, 2001, pp. 369–376. [34] J. Ma, Z.-P. Fan, Y.-P. Jiang, J.-Y. Mao, L. Ma, A method for repairing the inconsistency of fuzzy preference relations, Fuzzy Sets Syst. 157 (2006) 20–33. [35] D.R. Woodall, Properties of preferential election rules, Vot. Matters 3 (1994) 8–15. [36] V. Peralta, D. Kostadinov, M. Bouzeghoub, APMD-workbench: a benchmark for query personalization, in: Proceedings of the CIRSE Workshop, 2009, pp. 38–41.