%---------------------------------------INTRODUCTION-----------------------------------------------
\vspace{-0.9cm}
\section{INTRODUCTION}
\label{sec:introduction}


A data stream may be seen as a sequence of relational tuples that arrive continuously in variable time. Some typical fields of application for data streams are:  financial market, web applications and sensor data. Traditional approaches for data mining cannot successfully process the data streams mainly due to the potentially infinite volume of data and its evolution over time. Consequently, several data stream mining techniques have emerged to deal properly with this new data format \cite{Domingos:2000:MHD:347090.347107,citeulike:7359992,Vivekanandan:2011:MDS:2036659.2036682}.

Most of the research on preference mining has focused on scenarios in which the mining algorithm has a set of static information on user preferences at its disposal \cite{Jiang:2008:MPS:1401890.1401940,ictai2012}.
   The most crucial issues which make the process of mining in a stream setting much more challenging than in  batch setting are the followings: (1) data are not stored and are not available whenever needed; (2) the mining process has to cope with both limited workspace and limited amount of time; (3) the mining algorithm should be able to produce the best model at any moment it is asked to and using only the training data it has observed so far. For more details see \cite{massive2012}.


As a motivating example on the dynamic character of the user preferences, consider an
 \textit{online news site} that wants to discover the preferences of its users regarding news and make recommendations based on that. User's preferences on news depend on many factors, such as the media in which the news is available, its category, author and keywords. Notice that due to the dynamic nature of news, it is plausible that user's preferences would evolve rapidly with time. It may be the case  that a news category could attract much attention at a particular time of the year, for example, \textit{political} news at election time. Thus, at this time a user can be more interested in \textit{politics} than in \textit{sports}. However, at Olympic Games time, this same user might consider \textit{sports} as his or her favorite news category.

This work focuses on a particular kind of preferences, the \textit{contextual preferences}. Preference Models can be specified under  either  a \textit{quantitative} \cite{CS01}  or  a \textit{qualitative} \cite{ictai2012} framework. In the quantitative formulation, preferences about movies for instance can be elicited by asking the user  to rate each movie.
In the qualitative formulation, the preference model consists in a set of rules specified in a mathematical formalism,  able to express user preferences. In this article, we consider the \textit{contextual preference rules} (cp-rules) introduced in \cite{wilson2004}.
 A cp-rule allows to inform the preference on the values of an attribute depending on the values of other attributes.
%  For instance in our movie database scenario, a user can specify his/her preference concerning the attribute \textit{director} depending on the value of the %attribute \textit{genre}: For movies whose director is \textit{Woody Allen} he/she prefers \textit{comedy} to \textit{suspense} and for movies from director %\textit{Steven Spielberg} he/she prefers  \textit{action} films to \textit{drama}.

Proposals for suitable algorithms to solve the problem of mining user preferences in streams have been little explored in the literature.
\cite{Jembere:2007:MCU:1331740.1331819} presents an approach to mine preferences in an environment with multiple context-aware services, but uses incremental learning only for the context, and not for the user's preferences. \cite{Somefun:2006:FML:1758730.1758739} presents an online method that aims at using aggregated knowledge on the preferences of many customers to make recommendations to individual clients. Finally, \cite{journals:corr:abs-1111-0712} proposes an online learning model that learns through preference feedback, and is especially suitable for web search and recommendation systems. None of them specifically addresses the problem we tackle in the present article.


 In this article we propose two strategies for mining contextual preferences from  preference data samples coming in a stream format. %The preference model built by both strategies is a \textit{bayesian preference network}, which is basically a graph with a set of conditional probabilities rules at each node.
 An extensive set of  experiments  on real data has been designed to compare one of these strategies with two baseline algorithms consisting in adapting well known  classification techniques in streams in order to extract   a \textit{quantitative} preference model from a preference stream. The results show that our strategy is  efficient to mining preferences in streams and outperforms the  accuracy and comparability rate of the baseline algorithms. 