<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Various aspects of user preference learning and ⋆ recommender systems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Software Engineering, Charles University, Institute of Computer Science, Czech Academy of Science</institution>
          ,
          <addr-line>Prague</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <fpage>56</fpage>
      <lpage>67</lpage>
      <abstract>
        <p>In this paper, we describe area of recommender systems, with focus on user preference learning problem. We describe such system and identify some interesting problems. We will compare how well different approaches cope with some of the problems. This paper may serve as an introduction to the area of user preference learning with a hint on some interesting problems that have not been solved yet.</p>
      </abstract>
      <kwd-group>
        <kwd>user preference learning</kwd>
        <kwd>data mining</kwd>
        <kwd>recommender systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Alan Eckhardt
1 Introduction
User preference learning is an important part of any recommender system. We will
work with a scenario of user searching for some object (we will refer to user as “she”
for not having to distinguish between he and she). Recommendation may help user to
find what she is looking for more quickly and efficiently, because she has not to crawl
through hundreds of products but sees the recommended products on only one or two
pages. Of course, these recommended products may not be an exhaustive list, but they
are a hint for user.</p>
      <p>In Section 2 some important related work is studied, providing also an introduction
to the problematic of user modeling. Then, in Section 3, we describe how user
preferences are modeled in our approach. In Section 4 is described a typical scenario of
recommendation cycle for user. We also describe how our user model is constructed
and ways for estimating usefulness of a user model. In Section 5 are listed some
interesting problems associated with learning of user preferences. Finally, in Section 6
are conclusive remarks and more importantly areas for future work in this field are
proposed.
1.1</p>
      <p>Example
In the whole paper, we will refer to a set of “objects”. These objects are supposed to be
of interest for user, probably she wants to buy one. In our traditional example, user is
⋆ This paper was supported by Czech projects MSM 0021620838 and 1ET 100300517.
buying a notebook. She has some preferences of notebooks, e.g. the maximal price she
is willing to pay, the preferred manufacturer or the size of the display.</p>
      <p>This example is suitable for our approach because notebooks have well defined
attributes that describes the product completely. More about this is in Section 4.1.
1.2</p>
    </sec>
    <sec id="sec-2">
      <title>Notation</title>
      <p>We will work with a set of objects X. Set X can be also viewed as a set of identifiers of
objects (id), which will be often referred to as o. Every object has attributes A1, ..., AN
with domains DA1 , ..., DAN . If we want to specify the value of an attribute Ai for
an object oj , we will use notation Ai(oj ). We will use Xi(a) when denoting a set of
objects for which attribute Ai has the value a. When the attribute will be clear from
context (which will be most of the times), we will use only X(a).
2</p>
      <p>
        Related work
User preference modeling was very nicely described in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and also in a more general
view in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In Figure 1 (which was taken from [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) are various components of
preference modeling. Model is how user preferences are understood – for our purposes Total
order of outcomes (or objects) will be most suitable. That means we can create a list of
all objects ordered according to user preferences. Language is a way for user to express
her preferences. It may be a rating of an object, as V (o) in Figure 1, or a query to the
system etc. Language is explored in Section 4.1.
      </p>
      <p>The most interesting part for us is Interpretation, where the information from user is
somehow transformed into Model, e.g. the total order of outcomes. However, because of
intuition, we will slightly change the notation – we will refer to the method for creating
the total order as “user model” or “user preference model”. Interpretation may be also
viewed as learning phase, where a user preference model is constructed.</p>
      <p>In the following two sections, two alternative ways of user modeling are described
along with their possible interpretations. First, qualitative models are based on
comparing two objects between them, and second, quantitative models are based on evaluation
of a single object with a scoring function.
2.1</p>
    </sec>
    <sec id="sec-3">
      <title>Qualitative approaches</title>
      <p>Preference relations are the most used and studied qualitative approach. There is a huge
amount of related work in the field of preference relations. Preference relations
represent preferences as a relation between two objects, it is usually assumed that this
relation creates some pre-order on X. There are typically three relations, P are strict
preferences, I represents indistinguishability of objects or equality of preference and
R is union of P and I meaning that it represents non-strict preferences. For example
P (o1, o2) means that o1 is strictly preferred to o2, I(o1, o2) on the other hand means
that o1 and o2 have the same preference and finally R(o1, o2) means that o1 is preferred
or equal to o2.</p>
      <p>
        Preference relations in database systems and their integration into SQL by
preference queries was studied by Chomicki in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Also Kießling contributed to this field
with [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ].
      </p>
      <p>
        A different approach was suggested by Kießling in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. This approach is
based on the idea of preference relations but it uses relations over attribute values rather
than relations over whole objects. This is more like our approach based on fuzzy logic.
However Kießling does not use scoring functions but uses special predicates POS, NEG
etc. to represent relation between two attribute values. An example from [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] is from
the area of cars: POS(transmission, automatic) and NEG(make, Ferrari) meaning that
automatic transmission is preferred to any other type and any maker is preferred to
Ferrari.
      </p>
      <p>
        As for learning of preference relations, a great contribution is from Fu¨rnkranz and
Hu¨llermeier [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
2.2
      </p>
      <p>Quantitative approaches
The other approach, also adopted by us, is quantitative. It sorts objects by a score
defined by a scoring function. This approach is arguably less expressive than the
qualitative one – it can not express e.g. a cycle in preferences. There are also some very
interesting works in this area.</p>
      <p>
        Content based models Content based models uses attributes of object for construction
of scoring function. For example Fagin in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] proposed a way of combining numerous
fuzzy inputs. Another classical work is from Agrawal [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Collaborative filtering Besides content based models, such as the one presented in
Section 3, there is another widely used user model that is based on the preferences of
other users. Collaborative filtering was proposed in early 90’s in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and further
developed. One of the well-known systems using collaborative filtering is GroupLens [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ].
      </p>
      <p>Collaborative filtering is based on the idea of similarity of users. When we want to
know how user u1 will like object o1, one way is to look how other people liked o1.
Amazon.com succeeds in describing this approach in one sentence “Customers Who
Bought This Item Also Bought...”.</p>
      <p>The better way is to restrict only to those users that are similar to u1. The similarity
may be computed in various way, the most common is the similarity of ratings of objects
other than o1. Other possibility is to compute the similarity of user profiles – e.g. find
managers, from 25 to 30, divorced, with interest in psychology and computer science.
There is a hidden assumption that similarity in profile imply similarity in preferences,
which may not be always true.
3</p>
      <p>
        User model based on fuzzy logic
In this section, we describe user model we are using. This model is based on a scoring
function that assigns every object a score that represents the rating of that object. User
rating of an object is a fuzzy subset of X , i.e. a function R(o) : X → [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], where 0
means least preferred and 1 means most preferred. Our scoring function is divided into
two steps.
      </p>
      <p>
        Local preferences In the first step, which we call local preferences, every attribute
value of object o is normalized using a fuzzy set fi : DAi → [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]. The meaning is that
1 represents most preferred value and 0 stands for the least preferred value. These fuzzy
sets are also called objectives or preferences over attributes. With this transformation,
      </p>
      <p>
        N
the original space of objects’ attributes Y DAi is transformed into [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]N . Moreover,
i=1
we know that the object with transformed attribute values equal to [1, ..., 1] is the most
preferred object. It probably does not exist in the real world, though. On the other side,
the object with values [0, ..., 0] is the least preferred, which is more probable to be found
in reality.
      </p>
      <p>
        Global preferences In the second step, called global preferences, the normalized
attributes are aggregated into the overall score of the object using an aggregation function
@ : [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]N → [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]. Aggregation function is also often called utility function.
      </p>
      <p>Aggregation function may take different forms; one of the most common is
weighted average, as in the following formula:
@(o) = (2 ∗ fP rice(o) + 1 ∗ fDisplay (o) + 3 ∗ fHDD(o) + 1 ∗ fRAM (o))/7,
where fA are fuzzy sets for normalization of attribute A.</p>
      <p>
        Another totally different approach was proposed in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. It uses the training dataset
as partitioning of normalized space [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]N . For example, if we have an object with
normalized values [0.4, 0.2, 0.5] with rating 3, every other object with better attribute
values (e.g. [0.5, 0.4, 0.7]) is supposed to have rating at least 3. In this way, we can find
the highest lower bound on any object with unknown rating. In [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] was also proposed
a method for interpolation of ratings between the objects with known ratings and even
using the ideal (non-existent) virtual object with normalized values [1, ..., 1] with
rating 6.
      </p>
      <p>In other words, we can say that the pareto front is constructed in the first step. Pareto
front is a set of objects that are not dominated by any other object. We say that object
o1 dominates object o2 iff ∀i = 1, ..., N : fi(o1) &gt; fi(o2), i.e. o1 is better in every
attribute than o2. In the second step, we choose the best object from the pareto front.
4</p>
      <p>
        A recommender system
A recommender system tries to help user to find the object she is looking for. It is
necessary for user to transfer some information about her preferences to the system. It is
convenient for user to describe her preferences in an intuitive and simple way. The more
complex user interface is, the more structured information the system gets but much less
users will use it (according to [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], as little as 9 out of 260 people provided a feedback
to their system). This fact also penalizes preference relations – user is supposed to
compare two objects, but the number of couples is quadratic to the number of objects.
      </p>
      <p>There is an example how a recommender system may work in Figure 2. System
presents user with a set of objects S0. User rates some of these objects and this
information is sent back to the system as feedback U0. User model is constructed from user’s
ratings and a personalized set S1 is sent to user. Again, user rates some objects (U1) and
system updates its user model and sends S2 and this cycle may go on until user is
satisfied or bored. In Section 4.1 various possible types of feedback from user are studied.
In Section 4.3 and 4.2 the construction and update of user model is described.</p>
      <sec id="sec-3-1">
        <title>Recommender system</title>
        <p>Construction of
user model
Update of
user model
S0
S1
S2
...</p>
      </sec>
      <sec id="sec-3-2">
        <title>User</title>
        <p>U0
U1</p>
        <p>User decision</p>
        <p>making
User decision
making</p>
        <p>Fig. 2. A use of a recommender system in steps.
Database with
other users
preferences</p>
        <p>Analysis of
ratings
Collaborative
filtering
Analysis of
behaviour</p>
        <p>Direct
query</p>
      </sec>
      <sec id="sec-3-3">
        <title>Combination of different methods</title>
        <sec id="sec-3-3-1">
          <title>Ratings</title>
        </sec>
        <sec id="sec-3-3-2">
          <title>Behaviour</title>
        </sec>
        <sec id="sec-3-3-3">
          <title>Queries</title>
        </sec>
        <sec id="sec-3-3-4">
          <title>Restrictions of attributes</title>
          <p>The process of recommendation is in Figure 3. User does some actions with the
system, which are processed by various components of the system. You can see that
some inputs may be processed by multiple components. There are three examples in the
figure – analysis of user behaviour, collaborative filtering, analysis of ratings and direct
query. Each of these components then creates user model which is used for prediction of
preference of all objects. Some models, like collaborative filtering, use the information
about other users or other additional information. All these models are then combined
together to provide most precise recommendation for user. Furthermore, when the
system identifies some of the situation discussed in 5, it can favour the model that behaves
best in this situation or the other way round. Collaborative filtering is not good when
there is a small number of users, so if that is the case, it can be disfavoured.</p>
        </sec>
        <sec id="sec-3-3-5">
          <title>Recommended system</title>
        </sec>
        <sec id="sec-3-3-6">
          <title>User</title>
        </sec>
        <sec id="sec-3-3-7">
          <title>Recommendation of objects</title>
          <p>4.1 Input from user
From the information user provides to the system, her user model is built. User model
should be capable to determine which objects user will like or to what degree an object
will be preferred. The construction of user model is of most interest for us. We are
working with user ratings. These ratings user associates to a small number of objects.
This is key aspect of user model construction – it can not be expected that user will rate
hundreds of objects. When doing experiments, we often limit the size of training set to
40 objects.</p>
          <p>Other approaches may expect different forms of information from user other than
ratings. For example for preference relations, comparisons between two objects is the
expected input. The full-text query issued by user may be also viewed as a source of
information about what user wants – document retrieval uses queries as its only
information from user.</p>
          <p>
            Datasets There exists publicly available datasets of user ratings such as Netflix [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. In
these datasets exist users with even thousands of ratings. Unfortunately, most of these
datasets have a very small number of attributes.
          </p>
          <p>
            – Books [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ] - have author, title, year of publication and publisher. It contains 433 670
ratings with non-zero rating from 77 805 users.
– Jokes [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ] - have no attributes, except the text of the joke itself. It contains 4.1
million of ratings by 73 421 users.
– Films [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ], [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] - have many attributes (from IMDB [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]) but they are complicated.
          </p>
          <p>One film can have many actors, many producers, many directors etc. The normal
attributes such as length of a film are not determined easily, because they differ
across countries, editions or releases. Movielens contains 10 million ratings from
71 567 users. Netflix contains over 100 million ratings.</p>
          <p>All this is data from users who were using a system for a long time, several years in
most cases.</p>
          <p>
            Behaviour analysis User behaviour interpretation was studied in [
            <xref ref-type="bibr" rid="ref21">21</xref>
            ] and [
            <xref ref-type="bibr" rid="ref22">22</xref>
            ].
Because user tends not to give very much information about herself, the interpretation of
her behaviour may provide a useful information that supports the explicit actions she
had done (such as ratings of objects). There are many events that can be monitored, such
as the time spent on a web page with details of an object, clicking on a page, scrolling
down a document, filtering the content of the page, issuing a query etc. These actions
are then interpreted as if they were motivated by her preferences, e.g. the longer user
stays on a page, the more preferred is the object on that page. When user browses the
shop by categories or restricts values of some attribute, it is a clear statement what she
likes. For example when user narrows her search to notebooks with display size 14”,
we can deduce that 14” is the best size of display. This information helps when
creating local preferences (in Section 4.2). The order in which such restrictions are applied
may represent importance of attributes. Typical counter-example against interpretation
of behaviour is when user is going for a coffee, leaving the browser open on that page,
or a user searching for an object for a friend (see also Section 5 for this issue).
          </p>
          <p>In following sections, we outline some methods for creating local and global
preferences, which are contributions we made to this area in the past.
4.2</p>
          <p>
            Learning local preferences
The acquisition of local preferences differs for different types of attributes. For nominal
attributes, we use a method based on representative value that is computed from user
ratings [
            <xref ref-type="bibr" rid="ref11 ref13">11, 13</xref>
            ].
          </p>
          <p>
            For numerical attributes, the problem is more complicated – there is usually only
one object with value a. A typical example is price – there is often only one notebook
with price e.g. 941$. We can stick with traditional methods such as linear regression,
where the input is formed from the ratings of objects and their prices. However linear
regression may be affected by the distribution of data, but we want a function that
corresponds to real values across the whole domain, not only there where are most
values. Because of this, we proposed a way of using representants for numerical domain
in [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ].
          </p>
          <p>
            Lately, we identified another problem with numerical domains. It may happen that
a value of another attribute, often nominal, affects the normalization of a numerical
attribute. For example, when flying with British Airways, you may prefer lower price,
because the comfort is fine in economy class, but with Aeroflot, you may prefer higher
price because the overall comfort is worse. This phenomenon is related to ceteris paribus
preferences [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ] and CP-nets [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ].
4.3
          </p>
          <p>
            Learning global preferences
Method called “Statistical” was described in [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] and in [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ]. It is based on the
evaluation of distribution of ratings across attribute domain DA and from this distribution it is
possible to derive weight that A plays in the decision process of user. Then the weighted
average with these weights is used as aggregation function.
          </p>
          <p>
            When constructing scoring function called “Instances” that uses the objects from
training set as lower bounds (from [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ]), there is little to do. It does not need any
further transformation or analysis. This is unfortunately balanced by a more complicated
computation during evaluation of new objects.
4.4
          </p>
          <p>How to measure usefulness of a recommender system
In this section we identify several ways of measuring usefulness of a recommender
system. As in data-mining, we adopt the idea of training (T r) and testing sets (T s). User
model is constructed from objects in training set and then its performance is measured
on testing set. In the following, the real preference of an object o will be denoted as
R(o) and preference user model estimates as Rb(o).</p>
          <p>RMSE RMSE stands for root mean squared error. It is widely used as error measure in
data-mining community. It is computed as qPo∈T s (Rb(o) − R(o))2/|T s|.</p>
          <p>When considering user preferences, we introduced a modified RMSE, weighted
RMSE. It associates more weight to the preferred objects than to the non-preferred.
The formula is qPo∈T s R(o) ∗ (Rb(o) − R(o))2/ Po∈T s R(o). The less is RMSE, the
better the system performs.</p>
          <p>Tau coefficient Tau coefficient is known in economy. It is used to measure the
similarity of the ordered lists of objects. It is assumed that both lists contain the same set of
objects. For our purpose, we compare the ordering of objects by real user preferences
R(o) with the ordering user model would make Rb(o).</p>
          <p>Tau coefficient is based on concordant and discordant pairs. A pair (o1, o2), (p1, p2)
is concordant, if sgn(R(o1) − R(o2)) = sgn(Rb(p1) − R(p2)), where sgn is signum
b
function. Then the coefficient is computed as τ = 12nnc(−n−nd1) where nc is number of
concordant pairs, nd is the number of discordant pairs and n is the number of objects in
lists. The higher Tau coefficient is, the better for the system.</p>
          <p>We can apply weighting scheme to Tau coefficient, too. Objects with higher real
preferences will matter more than objects with low preference, when comparing the
two orderings.</p>
          <p>ROC curves ROC curve is a method for capturing the performance of a system under
different conditions. In terms of classification of positive and negative examples, it tells
how the recall (the ratio between the number of correctly classified positive objects and
the total number of positive objects) of the system increases if we relax the ratio of
correctly classified negative objects and the number of all negative objects.</p>
          <p>The problem here is that we do not have a simple positive-negative scenario. Ratings
have typically the domain {1,2,3,4,5}. The possible solution is to consider several cuts
in this domain and measure at each of these cuts. We can take as positive objects with
rating 5 and the rest as negative. Then, objects with ratings 5 and 4 will be considered
positive and the rest as negative etc. In this way, we will get 5 different ROC curves.
Amount of information required from user Another important characteristic of a
recommender system is amount of information that is required from user. Possible
approaches are described in Section 4.1. Often, the higher precision of a system is
outweighed by a larger investment from user. But the intuition says that few users will
be willing to perform complicated tasks, no matter the increase of helpfulness of the
system. The less information the system needs from user, the better for user.
Improvement in user ease of work with the system The main task of recommender
systems is to help the user. All the above mentioned measures are good because they
can be computed analytically, but they cannot capture the real improvement for user.
This improvement can be only given by the real user working with the various
recommender systems and comparing them between them. There are some problems with this
comparison
– Every man perceives the ease of work differently. There should be a large number
of people testing the systems to be compared to evaluate overall suitability.
– The system has to be implemented including the user interface. Different methods
work with different inputs from the user and they have to be able to monitor these
inputs.
– People testing the system has to have a motivation to work with the system. If they
are not, they would not be critical or they would apply some criteria irrelevant in
the real usage of the system. This is most difficult to achieve.</p>
          <p>Interesting problems of recommender systems
In this section, some interesting problems are described. All these problems relate to
user preference learning and can be viewed as the main contribution of this paper,
besides the introductory part.</p>
          <p>Cold start When a system is based on user ratings, it has serious troubles in the
beginning of its existence. This problem is most pronounced for collaborative filtering-based
system, because they need a lot of rating from a lot of users for making correct
predictions. For content based recommendation, this is not much of a problem because the
accuracy of recommendation does not depend on the number of users of the system.
The following issue however affect both approaches.</p>
          <p>New user When a new user starts using the system, it is hard to recommend something
because the system has little information about her. This issue may be overcome with a
default user profile, but this solution is not personalized enough.</p>
          <p>
            There is a possibility to learn something quickly about a new user – it is by choosing
a good set S0 in Figure 2. When there are very different objects in S0, we can learn
immediately what user certainly does not like and what area is of her interest. When S0
is constructed randomly, there is a higher possibility that there would not be any object
the area of user’s interest. Suitable S0 may be found for example using clustering.
Identifying context for user When a user works with the system, it is assumed that
she searches for some object she wants. But there are other possible motives such as
scanning the area or finding some object for a friend. This context of work deeply
influences user behaviour and may severely damage existing user model.
Small rating scale Typical rating is expressed on the scale {1,2,3,4,5}. When having
thousands of objects, this scale is far too small for capturing the ordering among the best
objects. We proposed a method Phases for overcoming this obstacle in [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ], but it is not
a complete analyze and there are many more aspects of this problem. Phases are suited
for a single session, for long-term usage there should be another way of differentiating
among the objects with rating 5.
          </p>
          <p>This problem could be of course solved by enlarging the scale of ratings to e.g.
{1,...,100} but its benefit is questionable. Will user really feel the difference between
ratings 64 and 65? Will user be able to apply it consistently?
Negative preferences In our model, 0 means the lowest preference. When a
manufacturer ASUS has the preference 0, it penalizes the notebook, but in the overall score it
may be outweighed by other attributes which are more preferred by user. Negative
preferences are typically more stronger than this – a notebook made by ASUS is strongly
disregarded. The strength may be expressed by the weight of the attribute, but it is no
solution, because for other manufacturers, this attribute may not have such a big weight.
Our task is to model a better way of penalizing objects with a highly non preferred value
and the way of expressing such strong negative preference.
Time dimension Main problem with acquisition of user preferences is the small size of
training data. When user is using the system for a longer period, the training data may
get bigger. But here comes a new problem – user preferences are typically unstable.
What user preferred a month ago may not be good today. But the high rating user
provided a month ago is the same high rating provided today.</p>
          <p>There is a need to find a method for penalization of older ratings or promotion of
newer ones. The system needs to guess whether to apply the penalization at all – maybe
the preferences stay the same when buying a house, but they may change quickly for a
movie.
6</p>
          <p>Conclusion
We have described a recommender system and identified several interesting issues and
problems that occur during user model construction. The main contribution is the
suggestion of several possible ways how to measure helpfulness of a recommender system.
The experimental evaluation is often lacking in more theoretical focused papers. Also
the list of some problems or typical situations in recommender systems may be inspiring
for searching of their solutions. We hope that this analysis would be helpful to anyone
new in recommender systems and user modeling field.
6.1</p>
          <p>Issues for future work
All problems in Section 5 are worth studying, but we would like to address the two last
problems in near future – that of Negative preferences and Time dimension.</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>1. The internet movie database</article-title>
          . http://www.imdb.com/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>2. Movielens dataset. http://www.grouplens.org/node/73.</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>3. Netflix dataset. http://www.netflixprize.com.</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <article-title>Preference handling an introductory tutorial</article-title>
          . http://www.cs.bgu.ac.il/ brafman/tutorial.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Improving</given-names>
            <surname>Recommendation Lists Through Topic Diversification</surname>
          </string-name>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          and
          <string-name>
            <given-names>E. L.</given-names>
            <surname>Wimmers</surname>
          </string-name>
          .
          <article-title>A framework for expressing and combining preferences</article-title>
          .
          <source>SIGMOD Rec</source>
          .,
          <volume>29</volume>
          (
          <issue>2</issue>
          ):
          <fpage>297</fpage>
          -
          <lpage>306</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>C.</given-names>
            <surname>Boutilier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. I.</given-names>
            <surname>Brafman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Poole</surname>
          </string-name>
          .
          <article-title>Cp-nets: A tool for representing and reasoning with conditional ceteris paribus preference statements</article-title>
          .
          <source>Journal of Artificial Intelligence Research</source>
          ,
          <volume>21</volume>
          :
          <year>2004</year>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Chomicki</surname>
          </string-name>
          .
          <article-title>Preference queries. CoRR, cs</article-title>
          .
          <source>DB/0207093</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>J.</given-names>
            <surname>Chomicki</surname>
          </string-name>
          .
          <article-title>Preference formulas in relational queries</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>28</volume>
          (
          <issue>4</issue>
          ):
          <fpage>427</fpage>
          -
          <lpage>466</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>J.</given-names>
            <surname>Doyle</surname>
          </string-name>
          .
          <article-title>Prospects for preferences</article-title>
          .
          <source>Computational Intelligence</source>
          ,
          <volume>20</volume>
          :
          <fpage>111</fpage>
          -
          <lpage>136</lpage>
          (
          <issue>26</issue>
          ), May
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Eckhardt</surname>
          </string-name>
          .
          <article-title>Inductive models of user preferences for semantic web</article-title>
          . In J. Pokorny´,
          <string-name>
            <surname>V.</surname>
          </string-name>
          <article-title>Sna´sˇel, and</article-title>
          K. Richta, editors,
          <source>DATESO</source>
          <year>2007</year>
          , volume
          <volume>235</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>108</fpage>
          -
          <lpage>119</lpage>
          . Matfyz Press, Praha,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Eckhardt</surname>
          </string-name>
          , T. Horva´th, D. Marusˇcˇa´k, R. Novotny´, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Vojta</surname>
          </string-name>
          <article-title>´sˇ. Uncertainty issues in automating process connecting web and user</article-title>
          . In P. C. G. da Costa, editor,
          <source>URSW '07 Uncertainty Reasoning for the Semantic Web - Volume</source>
          <volume>3</volume>
          , pages
          <fpage>97</fpage>
          -
          <lpage>108</lpage>
          . The 6th International Semantic Web Conference,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>A.</given-names>
            <surname>Eckhardt</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>Horva´th, and</article-title>
          <string-name>
            <given-names>P.</given-names>
            <surname>Vojta</surname>
          </string-name>
          <article-title>´sˇ. Learning different user profile annotated rules for fuzzy preference top-k querying</article-title>
          . In H. Prade and V. Subrahmanian, editors,
          <source>International Conference on Scalable Uncertainty Management</source>
          , volume
          <volume>4772</volume>
          of Lecture Notes In Computer Science, pages
          <fpage>116</fpage>
          -
          <lpage>130</lpage>
          ,
          <string-name>
            <surname>Washington</surname>
            <given-names>DC</given-names>
          </string-name>
          , USA,
          <year>2007</year>
          . Springer Berlin / Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>A.</given-names>
            <surname>Eckhardt</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>Horva´th, and</article-title>
          <string-name>
            <given-names>P.</given-names>
            <surname>Vojta</surname>
          </string-name>
          <article-title>´sˇ. PHASES: A user profile learning approach for web search</article-title>
          . In T. Lin,
          <string-name>
            <given-names>L.</given-names>
            <surname>Haas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Motwani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Broder</surname>
          </string-name>
          , and H. Ho, editors,
          <source>2007 IEEE/WIC/ACM International Conference on Web Intelligence - WI</source>
          <year>2007</year>
          , pages
          <fpage>780</fpage>
          -
          <lpage>783</lpage>
          . IEEE,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Eckhardt</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Vojta</surname>
          </string-name>
          <article-title>´sˇ. Considering data-mining techniques in user preference learning</article-title>
          .
          <source>In 2008 International Workshop on Web Information Retrieval Support Systems</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          .
          <article-title>Combining fuzzy information from multiple systems</article-title>
          . pages
          <fpage>216</fpage>
          -
          <lpage>226</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>J. Fu</surname>
          </string-name>
          <article-title>¨rnkranz and E. Hu¨llermeier. Pairwise preference learning and ranking</article-title>
          .
          <source>In In Proc. ECML-03</source>
          , Cavtat-Dubrovnik, pages
          <fpage>145</fpage>
          -
          <lpage>156</lpage>
          . Springer-Verlag,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>D.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nichols</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. M.</given-names>
            <surname>Oki</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Terry</surname>
          </string-name>
          .
          <article-title>Using collaborative filtering to weave an information tapestry</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>35</volume>
          (
          <issue>12</issue>
          ):
          <fpage>61</fpage>
          -
          <lpage>70</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. S. Holland,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ester</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Kiessling</surname>
          </string-name>
          .
          <article-title>Preference mining: A novel approach on mining user preferences for personalized applications</article-title>
          .
          <source>In Knowledge Discovery in Databases: PKDD</source>
          <year>2003</year>
          , pages
          <fpage>204</fpage>
          -
          <lpage>216</lpage>
          . Springer Berlin / Heidelberg,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. E.
          <string-name>
            <surname>Hu</surname>
          </string-name>
          <article-title>¨llermeier and</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Fu</surname>
          </string-name>
          <article-title>¨rnkranz. Learning preference models from data: On the problem of label ranking and its variants</article-title>
          . In G. D.
          <string-name>
            <surname>Riccia</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Dubois</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Kruse</surname>
          </string-name>
          , and H. Lenz, editors,
          <source>Preferences and Similarities</source>
          , pages
          <fpage>283</fpage>
          -
          <lpage>304</lpage>
          . Springer-Verlag,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>T.</given-names>
            <surname>Joachims</surname>
          </string-name>
          .
          <article-title>Optimizing search engines using clickthrough data</article-title>
          .
          <source>In KDD '02: Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          , pages
          <fpage>133</fpage>
          -
          <lpage>142</lpage>
          , New York, NY, USA,
          <year>2002</year>
          . ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>T.</given-names>
            <surname>Joachims</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Granka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hembrooke</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Gay</surname>
          </string-name>
          .
          <article-title>Accurately interpreting clickthrough data as implicit feedback</article-title>
          .
          <source>In SIGIR '05: Proceedings of the 28th annual international ACM SIGIR conference on Research and development in information retrieval</source>
          , pages
          <fpage>154</fpage>
          -
          <lpage>161</lpage>
          , New York, NY, USA,
          <year>2005</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>G. K. Eigentaste</surname>
          </string-name>
          :
          <article-title>A constant time collaborative filtering algorithm</article-title>
          .
          <source>Information Retrieval</source>
          ,
          <volume>4</volume>
          :
          <fpage>133</fpage>
          -
          <lpage>151</lpage>
          (
          <issue>19</issue>
          ),
          <year>July 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>W.</given-names>
            <surname>Kiessling</surname>
          </string-name>
          .
          <article-title>Foundations of preferences in database systems</article-title>
          .
          <source>In VLDB '02: Proceedings of the 28th international conference on Very Large Data Bases</source>
          , pages
          <fpage>311</fpage>
          -
          <lpage>322</lpage>
          . VLDB Endowment,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. W. Kiessling and
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Ko¨stler. Preference sql: design, implementation, experiences</article-title>
          .
          <source>In VLDB '02: Proceedings of the 28th international conference on Very Large Data Bases</source>
          , pages
          <fpage>990</fpage>
          -
          <lpage>1001</lpage>
          . VLDB Endowment,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Middleton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Shadbolt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Roure</surname>
          </string-name>
          .
          <article-title>Capturing interest through inference and visualization: Ontological user profiling in recommender systems</article-title>
          .
          <source>In K-CAP2003</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>A. M. Rashid</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Albert</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Cosley</surname>
            ,
            <given-names>S. K.</given-names>
          </string-name>
          <string-name>
            <surname>Lam</surname>
            ,
            <given-names>S. M.</given-names>
          </string-name>
          <string-name>
            <surname>McNee</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <string-name>
            <surname>Konstan</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Riedl</surname>
          </string-name>
          .
          <article-title>Getting to know you: learning new user preferences in recommender systems</article-title>
          .
          <source>In IUI '02: Proceedings of the 7th international conference on Intelligent user interfaces</source>
          , pages
          <fpage>127</fpage>
          -
          <lpage>134</lpage>
          , New York, NY, USA,
          <year>2002</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>G. H.</given-names>
            <surname>Wright</surname>
          </string-name>
          .
          <article-title>The logic of preference reconsidered</article-title>
          .
          <source>In Theory and Decision</source>
          , volume
          <volume>3</volume>
          , pages
          <fpage>140</fpage>
          -
          <lpage>169</lpage>
          ,
          <year>1972</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>