<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0717-5000</journal-id>
<journal-title><![CDATA[CLEI Electronic Journal]]></journal-title>
<abbrev-journal-title><![CDATA[CLEIej]]></abbrev-journal-title>
<issn>0717-5000</issn>
<publisher>
<publisher-name><![CDATA[Centro Latinoamericano de Estudios en Informática]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0717-50002015000200008</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[Let’s go to the cinema!: A movie recommender system for ephemeral groups of users]]></article-title>
</title-group>
<aff id="A01">
<institution><![CDATA[,Universidad de la República Facultad de Ingeniería ]]></institution>
<addr-line><![CDATA[Montevideo ]]></addr-line>
<country>Uruguay</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>08</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>08</month>
<year>2015</year>
</pub-date>
<volume>18</volume>
<numero>2</numero>
<fpage>8</fpage>
<lpage>8</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_arttext&amp;pid=S0717-50002015000200008&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_abstract&amp;pid=S0717-50002015000200008&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_pdf&amp;pid=S0717-50002015000200008&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[Going to the cinema or watching television are social activities that generally take place in groups. In these cases, a recommender system for ephemeral groups of users is more suitable than (well-studied) recommender systems for individuals. In this paper we present a recommendation system for groups of users that go to the cinema. The system uses the Slope One algorithm for computing individual predictions and the Multiplicative Utilitarian Strategy as a model to make a recommendation to an entire group. We show how we solved all practical aspects of the system; including its architecture and a mobile application for the service, the lack of user data (ramp-up and cold-start problems), the scaling fit of the group model strategy, and other improvements in order to reduce the response time. Finally, we validate the performance of the system with a set of experiments with 57 ephemeral groups.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[Ir al cine, o ver la televisión, son actividades sociales que por lo general se llevan a cabo en grupos. En estos casos, un sistema de recomendaciones para grupos efímeros de usuarios es más adecuado que los (bien estudiados) sistemas de recomendaciones para individuos. En este trabajo se presenta un sistema de recomendaciones para grupos de usuarios que van al cine. El sistema utiliza el algoritmo ”Slope One” para calcular predicciones individuales y una estrategia utilitaria multiplicativa para unificar esas predicciones en una recomendacion grupal. Mostramos cómo solucionamos todos los aspectos prácticos del sistema; incluyendo su arquitectura y una aplicación móvil para el servicio, los problemas que surgen de la falta de datos de usuarios, los problemas de escalamiento, y otras mejoras con el fin de reducir el tiempo de respuesta. Finalmente, validamos el rendimiento del sistema con un conjunto de experimentos con 57 grupos efímeros.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[recommender systems]]></kwd>
<kwd lng="en"><![CDATA[ephemeral group recommendation]]></kwd>
<kwd lng="en"><![CDATA[collaborative filtering]]></kwd>
<kwd lng="en"><![CDATA[Slope One]]></kwd>
<kwd lng="en"><![CDATA[utilitarian strategy]]></kwd>
<kwd lng="es"><![CDATA[sistemas de recomendación]]></kwd>
<kwd lng="es"><![CDATA[grupos efímeros]]></kwd>
<kwd lng="es"><![CDATA[filtros colaborativos]]></kwd>
<kwd lng="es"><![CDATA[Slope One]]></kwd>
<kwd lng="es"><![CDATA[estrategia utilitaria]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <div class="maketitle">    <h2 class="titleHead" style="font-size:14pt">Let&#8217;s go to the cinema! A movie recommender system for ephemeral groups of users</h2>     <div class="author" > <span  class="ptmb7t-x-x-120">Guillermo Fern</span><span  class="ptmb7t-x-x-120">ández, Waldemar L</span><span  class="ptmb7t-x-x-120">ópez, Bruno Rienzi, and Pablo Rodr</span><span  class="ptmb7t-x-x-120">íguez-Bocca</span> <br />                 <span  class="ptmr7t-x-x-120">Universidad de la Rep</span><span  class="ptmr7t-x-x-120">ública, Facultad de Ingenier</span><span  class="ptmr7t-x-x-120">ía,</span> <br />                           <span  class="ptmr7t-x-x-120">Montevideo, Uruguay, 11300,</span> <br />                      <span  class="cmsy-10x-x-120">{</span><span  class="ptmri7t-x-x-120"><a href="mailto:walopez@fing.edu.uy">walopez</a>, <a href="mailto:brienzi@fing.edu.uy">brienzi</a>, <a href="mailto:@fing.edu.uy">prbocca</a></span><span  class="cmsy-10x-x-120">}</span><span  class="ptmri7t-x-x-120">@fing.edu.uy </span></div><br />     <div class="date" ></div>    </div>        <div  class="abstract"  >     <div class="center"  > <!--l. 520-->    <p class="noindent" >     <div class="minipage">    <div class="center"  > <!--l. 520-->    <p class="noindent" > <!--l. 520-->    <p class="noindent" ><span  class="ptmb7t-">Abstract</span></div> <!--l. 539-->    ]]></body>
<body><![CDATA[<p class="noindent" >Going to the cinema or watching television are social activities that generally take place in groups. In these cases, a recommender system for ephemeral groups of users is more suitable than (well-studied) recommender systems for individuals. In this paper we present a recommendation system for groups of users that go to the cinema. The system uses the Slope One algorithm for computing individual predictions and the Multiplicative Utilitarian Strategy as a model to make a recommendation to an entire group. We show how we solved all practical aspects of the system; including its architecture and a mobile application for the service, the lack of user data (ramp-up and cold-start problems), the scaling fit of the group model strategy, and other improvements in order to reduce the response time. Finally, we validate the performance of the system with a set of experiments with 57 ephemeral groups.  <!--l. 520-->    <p class="noindent" ><span  class="ptmb7t-">Abstract in Spanish or Portuguese</span>  <!--l. 539-->    <p class="noindent" > Ir al cine, o ver la televisión, son actividades sociales que por lo general se llevan a cabo en grupos. En estos casos, un sistema de recomendaciones para grupos efímeros de usuarios es más adecuado que los (bien estudiados) sistemas de recomendaciones para individuos. En este trabajo se presenta un sistema de recomendaciones para grupos de usuarios que van al cine. El sistema utiliza el algoritmo &#8221;Slope One&#8221; para calcular predicciones individuales y una estrategia utilitaria multiplicativa para unificar esas predicciones en una recomendacion grupal. Mostramos cómo solucionamos todos los aspectos prácticos del sistema; incluyendo su arquitectura y una aplicación móvil para el servicio, los problemas que surgen de la falta de datos de usuarios, los problemas de escalamiento, y otras mejoras con el fin de reducir el tiempo de respuesta. Finalmente, validamos el rendimiento del sistema con un conjunto de experimentos con 57 grupos efímeros. </div></div> </div> <!--l. 569-->    <p class="noindent" ><span  class="ptmb7t-">Keywords: </span>recommender systems, ephemeral group recommendation, collaborative filtering, Slope One, utilitarian strategy. <br  class="newline" />Keywords in Spanish:sistemas de recomendación, grupos efímeros, filtros colaborativos, Slope One, estrategia utilitaria.<br  class="newline" />Submitted: 2014-11-11. Revised: 2015-04-07. Accepted: 2015-07-12.     <h3 class="sectionHead"><span class="titlemark">1    </span> <a   id="x1-10001"></a>Introduction</h3> <!--l. 4-->    <p class="noindent" >In recent years consumption of on-demand multimedia content over the Internet has greatly increased, with a great deal of contents available through streaming platforms and services such as Netflix&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbanerjee2014:ott-bypass">1</a><a id="br1">]</a></span>, YouTube&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xdavidson2010:youtube-recsys">2</a><a id="br2">,</a>&#x00A0;<a  href="#Xzhou2010:impact-of-youtube">3</a><a id="br3">]</a></span>, Amazon Instant Video&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:amazoninstantvideo">4</a><a id="br4">]</a></span>, Hulu&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbanerjee2014:ott-bypass">1</a><a id="br1">]</a></span>, Crackle&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:crackle">5</a><a id="br5">]</a></span>(for video streaming) or Spotify&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xkreitz2010:spotify">6</a><a id="br6">]</a></span>, Deezer&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:deezer">7</a><a id="br7">]</a></span>, Google Play Music&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:googleplaymusic">8</a><a id="br8">]</a></span>, Napster&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:streaming:napster">9</a><a id="br9">]</a></span> (for music streaming), to name only a few. While this is positive, it is more difficult for the consumer to choose the most suitable content for its preference. Be able to suggest and to arrange somehow this content, and facilitate the user the task of select a content from an almost infinite universe of possibilities are common objectives and current hot research topics. As shown in previous research&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>, to find the best content for an individual could be a difficult problem. In this work, we study an even greater challenge: to find the best option for a set of individuals or group. Following the literature &#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2011:combining-indiv-models">11</a>,&#x00A0;<a  href="#Xmasthoff2004">12</a>,&#x00A0;<a  href="#Xoconnor2001">13</a>,&#x00A0;<a  href="#Xbernier2010">14</a>,&#x00A0;<a  href="#Xgorla2013:probabilistic-group-recommendation">15</a>,&#x00A0;<a  href="#Xnajjar2014:differential-neighborhood-selection">16</a>,&#x00A0;<a  href="#Xboratto2012:groups-classification">17</a>,&#x00A0;<a  href="#Xpopescu2013">18</a><a id="br18">]</a></span>, we know that the problem is more complex when the group cannot be properly characterized, for example when the group is ephemeral (i.e. there is no previous knowledge about the group and the group will dissolve in the near future). <!--l. 25-->    <p class="indent" >   Therefore, in this article we will board the problem of recommender systems for ephemeral groups. Specifically, we will raise the construction of a prototype of a mobile application that users can use to form ephemeral groups in order to go to the cinema; and of course, the application will help them in the selection process of what movie to watch. As explained in the following sections, our proposed prototype combines a preference prediction algorithm for individuals with a group&#8217;s recommendation strategy, in order to recommend the best movies for each group. In order to validate the performance of our recommendation system, we perform a preliminary set of experiments with 57 ephemeral groups. Obtaining promising results, getting over <img  src="/img/revistas/cleiej/v18n2/2a080x.png" alt="98.2%  "  class="math" > of groups accept one of the three main system recommendations. <!--l. 39-->    <p class="indent" >   Despite that the focus of this paper is to present the developed recommendation system, we show how we solved all practical aspects of the system; including its architecture, the mobile application to offer the service, and several particular problems solved during the implementation. In the following, we present the contents of this paper. <!--l. 44-->    <p class="indent" >   In Section&#x00A0;<a  href="#x1-20002">2<!--tex4ht:ref: sec:relwork --></a>, we present the related work and we describe the basic concepts about recommender systems, deepening into the Slope One algorithm and the Multiplicative Utilitarian Strategy. Then, in Section&#x00A0;<a  href="#x1-150003">3<!--tex4ht:ref: sec:recommender --></a> we present some relevant aspects of the implementation of our recommender system, including, how we solved some problems such as the ramp-up and the cold start problem, or the scaling problem intrinsic of the Multiplicative Utilitarian Strategy, and how we improved the performance of Slope One algorithm in time and storage, doing a partial load of the Slope One matrix and other variants of the basic algorithm. Section&#x00A0;<a  href="#x1-200004">4<!--tex4ht:ref: sec:calibrating --></a> presents the first calibrations and performance evaluations of our recommender system. In Section&#x00A0;<a  href="#x1-240005">5<!--tex4ht:ref: sec:mobileAppAndArch --></a>, we show an end-user oriented mobile application designed to leverage the recommender system. Users can create events (going to the cinema), invite other users to join the event, receive recommendations about a cinema listing, and evaluate individual or group predictions. We evaluate the performance of the application in Section&#x00A0;<a  href="#x1-270006">6<!--tex4ht:ref: sec:expresults --></a>. With the help of more than <img  src="/img/revistas/cleiej/v18n2/2a081x.png" alt="50  "  class="math" > experiments with real groups of users (of size between <img  src="/img/revistas/cleiej/v18n2/2a082x.png" alt="2  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a083x.png" alt="6  "  class="math" > individuals), we validate the effectiveness and efficiency of our prototype. Last, in Section&#x00A0;<a  href="#x1-430007">7<!--tex4ht:ref: sec:conclusion --></a> we resume the main conclusions of the work.    <h3 class="sectionHead"><span class="titlemark">2    </span> <a   id="x1-20002"></a>Related Work</h3> <!--l. 11-->    <p class="noindent" >Large work has been done in recommender systems for individuals. In&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>, Ricci, F. et al. distinguishes between six different classes of recommendation approaches based on different knowledge sources: <span  class="ptmri7t-">content-based</span>, <span  class="ptmri7t-">collaborative filtering</span>, <span  class="ptmri7t-">demographic</span>, <span  class="ptmri7t-">knowledge-based</span>, <span  class="ptmri7t-">community-based </span>and <span  class="ptmri7t-">hybrid</span>. This classification, which provides a taxonomy that has become a classical way of referring to and distinguishing among recommender systems for individuals, can be summarized as follows&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>:      <ul class="itemize1">      <li class="itemize"><span  class="ptmri7t-">Collaborative  Filtering:  </span>it  is  considered  the  most  popular  and  widely  implemented  technique.  It  provides      recommendations using only information about rating profiles for different users. In one of its forms, since there      are some variants which will be discussed later in this section, this technique locates peer users with a rating      history similar to the current user and provides recommendations using this notion of neighborhood. In this      work we will use a collaborative filtering technique, and this class will be introduced in next Subsection&#x00A0;<a  href="#x1-30002.1">2.1<!--tex4ht:ref: CFRS --></a>.      </li>      <li class="itemize"><span  class="ptmri7t-">Content-based:  </span>it  provides  recommendations  from  two  sources:  the  features  associated  with  items  and  the      ratings that the user has given them. It learns to recommend items that are similar to the ones that the user      liked  in  the  past.  The  similarity  of  items  is  computed  based  on  the  features  associated  with  the  compared      items. Therefore, the recommendation problem is solved as a user-specific classification problem and it learns a      classifier for the user&#8217;s likes and dislikes based on item features.       </li>      <li class="itemize"><span  class="ptmri7t-">Demographic: </span>it generates recommendations based on a demographic profile of the user. Recommended items      can be provided for different demographic niches, by combining the ratings of users in those niches.      </li>      <li class="itemize"><span  class="ptmri7t-">Knowledge-based:  </span>it  provides  recommendations  based  on  inferences  about  the  user&#8217;s  profile.  Usually,  this      knowledge is provided to the particular case, and sometimes contain explicit functional knowledge about how      certain item features meet user needs.      </li>      <li class="itemize"><span  class="ptmri7t-">Community-based: </span>it is a new type of recommendation technique based on the preferences of the users friends.      It performs well in special cases, when items (or users) are highly dynamic, or when the user ratings of specific      items are highly varied (i.e. controversial items).</li>    </ul> <!--l. 38-->    ]]></body>
<body><![CDATA[<p class="noindent" >Also, the taxonomy adds an extra <span  class="ptmri7t-">Hybrid </span>technique that combines these pure techniques in order to improve accuracy or efficiency comparing it with each technique separately. For example, since all the learning-based techniques (collaborative filtering, content-based and demographic) suffer from the cold-start problem (described in Section&#x00A0;<a  href="#x1-150003">3<!--tex4ht:ref: sec:recommender --></a>), the combination with a knowledge-based technique makes it possible to reduce the impact of that problem. For a detailed explanation of possible hybrid techniques, please read&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xburke2007:hybrid-recommender">19</a><a id="br19">]</a></span>. <!--l. 46-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">2.1    </span> <a   id="x1-30002.1"></a>Collaborative Filtering Recommender Systems for users</h4> <!--l. 49-->    <p class="noindent" >Recommender systems using collaborative filtering technique (CFRS) take ratings made by users over items as input for the recommendation algorithm. They consider the ratings assigned by the user for whom the recommendation is being generated and the recommendations made by the other users. CFRS relate two different entities: items and users. Traditionally, there have been two main approaches to facilitate such a comparison: <span  class="ptmri7t-">model-based methods </span>and <span  class="ptmri7t-">neighborhood methods</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a>,&#x00A0;<a  href="#Xkoren2010:factorintheneighbors">20</a><a id="br20">]</a></span>. These approaches are presented in the next subsections. Also, some others works have been implemented in order to solve some problems that traditional algorithms have had in particular contexts. In subsection&#x00A0;<a  href="#x1-60002.1.3">2.1.3<!--tex4ht:ref: sssec:OtherApproachesForCFRS --></a> we dedicated some lines to them. <!--l. 59-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">2.1.1    </span> <a   id="x1-40002.1.1"></a>Model-based methods</h5> <!--l. 60-->    <p class="noindent" >They use the gathered information to make an off-line model which is then used to make predictions more efficiently&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbreese1998">21</a><a id="br21">]</a></span>. Cluster Model, Latent Factor models and Bayesian Networks are some alternatives of this approach. In&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbreese1998">21</a><a id="br21">]</a></span>, you can find a complete description and a study that compares them. It is worth noting, that Cluster Model, for instance, reaches a complexity order of <img  src="/img/revistas/cleiej/v18n2/2a084x.png" alt="O(1)  "  class="math" > for the prediction function&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xcandillier2009:state">22</a><a id="br22">]</a></span>. Latent Factor models, such as matrix factorization (aka, singular value decomposition), is a new approach of CFRS that transforms both, items and users, to the same latent factor space&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xkoren2009:matrix-factorization">23</a><a id="br23">,</a>&#x00A0;<a  href="#Xkoren2011:advancesincf">24</a><a id="br24">,</a>&#x00A0;<a  href="#Xgorla2013:probabilistic-group-recommendation">15</a><a id="br15">]</a></span>. The latent space tries to explain ratings by characterizing both items and users on factors automatically inferred from ratings. Recent studies show that this approach has a high accuracy, and offers a number of practical advantages. <!--l. 72-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">2.1.2    </span> <a   id="x1-50002.1.2"></a>Neighborhood methods</h5> <!--l. 73-->    <p class="noindent" >They focus on the notion of similarity (the neighborhood) of items or, alternatively, of users. The neighborhood of a user is built from users whose profiles are similar to his or her profile, considering ratings on common items that are shared by them to make the comparison. Similarly, the neighborhood of an item is the set of other items similar to it, and the comparison is based on common ratings that users have made. Accordingly, the rating of an item for a given user can be predicted based on the ratings given by the neighborhood of users and items. In&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xcandillier2009:state">22</a><a id="br22">]</a></span>, Candillier et. al. explain that there are two main approaches within CF Neighborhood methods: user-based, and item-based. <!--l. 80-->    <p class="indent" >   User-based and item-based approaches use the notion of neighborhood between users and items respectively to compute the predicted rating of a user over an item. There are different measures of similarity to assess how similar a pair of users or a pair of items are. A similarity measure is presented as a measure of relevance between two vectors. When values of these vectors are related to a user model, it is called user-based similarity measure; otherwise, it is called item-based similarity measure&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xgong2010">25</a><a id="br25">]</a></span>. With respect to the computation, the main difference between user-based and item-based approaches is how the vectors are taken from the user-item matrix of ratings. In the first case, the similarity is computed over the rows of the matrix, while in the second, the calculation is performed over the  columns&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsarwar2001">26</a><a id="br26">]</a></span>. Some most used similarity measures used are: Pearson Correlation, Cosine Vector, Adjusted Cosine Vector, Quadratic Difference, Simple Matching Coefficient, Jaccard Coefficient, Extended Jaccard (Tanimoto) Coefficient, Spearman Rank Correlation, Mean Squared Difference, Minkowski distance (where Euclidean distance is a particular case), the City Block metric, and the Supremum distance. Historically, Pearson Correlation has been generally recognized as the best similarity measure&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>, but recent investigations show that the performance of such measures depended greatly on the data&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>. In our work we have implemented the Slope One algorithm, which unlike other collaborative filter algorithms, does not handle the concept of similarity. For that reason, we will not go into detail about the similarity measures mentioned above. You can read about it in detail in&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>. <!--l. 110-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">2.1.3    </span> <a   id="x1-60002.1.3"></a>Other approaches for CFRS</h5> <!--l. 112-->    <p class="noindent" >In particular contexts, traditional algorithms have had some problems, sometimes making almost impossible to execute quickly, in real-time and without losing quality. For that reason some variations in collaborative filtering have appeared. The <span  class="ptmri7t-">Slope One</span> algorithm and the <span  class="ptmri7t-">Amazon&#8217;s item-to-item Collaborative Filtering </span>are two examples of these new approaches. The item-to-item Collaborative Filtering was implemented by Amazon after testing and realizing that traditional algorithms did not perform well enough with their massive data sets (tens of millions of customers and millions of distinct catalog items). Unlike traditional collaborative filtering, the computation for the Amazon&#8217;s algorithm scales independently of the number of customers and number of items. It produces recommendations in real-time, scales to massive data sets, and generates high quality recommendations&#x00A0;<span class="cite">&#x00A0;[<a  href="#XLinden2003itemtoitem">27</a><a id="br27">]</a></span>. Rather than matching the user to similar customers, item-to-item collaborative filtering matches each of the user&#8217;s purchased and rated items to similar items, then combines those similar items into a recommendation list&#x00A0;<span class="cite">&#x00A0;[<a  href="#XLinden-Collaborative-1998">28</a><a id="br28">]</a></span>. Both, the Slope One and the item-to-item algorithms, use an offline computed item-to-item matrix in order to generate recommendations quickly and in real time. In the case of the item-to-item algorithm this matrix maintains the information for knowing how similar are items between them. On the other hand, the Slope One algorithm uses an item-to-item matrix for knowing how much more an item is liked over another item on average. Because for computing the entries of the matrix, both algorithms consider only users who have rated (or purchased in the case of the item-to-item algorithm) both items, then the recommendation is very quick, depending only on the number of items that the user has purchased or rated. You can deepen in the item-to-item algorithm in&#x00A0;<span class="cite">&#x00A0;[<a  href="#XLinden2003itemtoitem">27</a><a id="br27">]</a></span> and&#x00A0;<span class="cite">&#x00A0;[<a  href="#XLinden-Collaborative-1998">28</a><a id="br28">]</a></span>. The next subsection explains the algorithm used in our work: Slope One. <!--l. 134-->    ]]></body>
<body><![CDATA[<p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">2.2    </span> <a   id="x1-70002.2"></a>Slope One algorithm</h4> <!--l. 137-->    <p class="noindent" ><span  class="ptmri7t-">Slope One </span>is a family of algorithms from the CFRS category that tries to solve some of the common problems that have other recommendation algorithms. It was introduced in 2005 by Daniel Lemire and Anna Maclachlan in&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xlemire2005">29</a><a id="br29">]</a></span>. That paper lists the five main objectives of the algorithm:      <ol  class="enumerate1" >      <li    class="enumerate" id="x1-7001x2.2">Easy to deploy and maintain. Easy to interpret.      </li>      <li    class="enumerate" id="x1-7002x2.2">Instant update. If new ratings arrive, all predictions are changed instantly.      </li>      <li    class="enumerate" id="x1-7003x2.2">Efficient at query time. Queries can be executed quickly, the cost is the storage space it requires.      </li>      <li    class="enumerate" id="x1-7004x2.2">Users with few recommendations, will receive good recommendations.      </li>      <li    class="enumerate" id="x1-7005x2.2">Reasonable accuracy with simplicity and ability to scale.</li>    </ol> <!--l. 160-->    <p class="noindent" >Several studies&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xlemire2005">29</a>,&#x00A0;<a  href="#XmahoutInAction2010">30</a>,&#x00A0;<a  href="#Xmarschik2010evaluation">31</a>,&#x00A0;<a  href="#Xli2014:optimized-slope-one">32</a><a id="br32">]</a></span> show that these objectives are reached: it offers excellent quality (with a performance closer to the best known recommender algorithm, including common user-based and item-based approaches), and it needs the lowest computational time. Consequently, the Slope One algorithm was chosen for this work. <!--l. 165-->    <p class="indent" >   According to its authors, the algorithm operates under the principle of differential popularity between items (instead of handle the concept of similarity). This principle can be defined as the average of rating differences, indicating how much more an item is liked over another item on average, considering for the calculation only those users who rated both items. For example, if we have <img  src="/img/revistas/cleiej/v18n2/2a085x.png" alt="n "  class="math" > items in our system, and the users who have rated items <img  src="/img/revistas/cleiej/v18n2/2a086x.png" alt="{i,i}   1 2 "  class="math" > are <img  src="/img/revistas/cleiej/v18n2/2a087x.png" alt="{u ,u ,u }   1 2  3 "  class="math" >, we define the ratings  vector for user <img  src="/img/revistas/cleiej/v18n2/2a088x.png" alt="u "  class="math" > as <img  src="/img/revistas/cleiej/v18n2/2a089x.png" alt="Ru ={ru1,ru2,...,run} "  class="math" > where <img  src="/img/revistas/cleiej/v18n2/2a0810x.png" alt="rui &#x2208;Ru  "  class="math" > represents the rating of user <img  src="/img/revistas/cleiej/v18n2/2a0811x.png" alt="u "  class="math" > over the item <img  src="/img/revistas/cleiej/v18n2/2a0812x.png" alt="i "  class="math" >. Then, if we have <img  src="/img/revistas/cleiej/v18n2/2a0813x.png" alt="v1 = {3,4,...},v2 = {5,4,...} "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0814x.png" alt="v3 ={4,1,...} "  class="math" > the average ratings are <img  src="/img/revistas/cleiej/v18n2/2a0815x.png" alt="4  "  class="math" > (<img  src="/img/revistas/cleiej/v18n2/2a0816x.png" alt="(3+ 5+ 4)&#x2215;3  "  class="math" >) and <img  src="/img/revistas/cleiej/v18n2/2a0817x.png" alt="3  "  class="math" > (<img  src="/img/revistas/cleiej/v18n2/2a0818x.png" alt="(4+ 4+1)&#x2215;3  "  class="math" >) for <img  src="/img/revistas/cleiej/v18n2/2a0819x.png" alt="i1  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0820x.png" alt="i2  "  class="math" > respectively. Then, the average of rating differences for both items is <img  src="/img/revistas/cleiej/v18n2/2a0821x.png" alt="1  "  class="math" > (only considering the ratings given by users who have rated both items). This difference can be understood as a 1-point advantage of <img  src="/img/revistas/cleiej/v18n2/2a0822x.png" alt="i1  "  class="math" > over <img  src="/img/revistas/cleiej/v18n2/2a0823x.png" alt="i2  "  class="math" >. <!--l. 198-->    <p class="indent" >   <span  class="ptmri7t-">Slope One </span>uses this average of rating differences to predict the rating a user would give to an item that has not yet rated. Considering the values of the previous example, if we know that a user has rated <img  src="/img/revistas/cleiej/v18n2/2a0824x.png" alt="i1  "  class="math" > with <img  src="/img/revistas/cleiej/v18n2/2a0825x.png" alt="4  "  class="math" >, then we would predict the rating over <img  src="/img/revistas/cleiej/v18n2/2a0826x.png" alt="i2  "  class="math" > with a value of <img  src="/img/revistas/cleiej/v18n2/2a0827x.png" alt="3  "  class="math" >, maintaining the linear relationship between the two items (<img  src="/img/revistas/cleiej/v18n2/2a0828x.png" alt="i1  "  class="math" > is liked in average one point more than <img  src="/img/revistas/cleiej/v18n2/2a0829x.png" alt="i2  "  class="math" >). If we repeat this reasoning considering all the items the user has already rated and the average of rating differences for these items against the item to predict, then we could refine the prediction value for the user by averaging predictions resulting from consider each of the items already rated. Now, with this consideration we formally present the <span  class="ptmri7t-">Slope One prediction function </span>for a user <img  src="/img/revistas/cleiej/v18n2/2a0830x.png" alt="u "  class="math" > over an item <img  src="/img/revistas/cleiej/v18n2/2a0831x.png" alt="i "  class="math" > with this formula:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a0832x.png" alt="pict" ><a   id="x1-7006r1"></a></div> <!--l. 214-->    <p class="indent" >   where <img  src="/img/revistas/cleiej/v18n2/2a0833x.png" alt="Su- {i} "  class="math" > represents all items rated by user <img  src="/img/revistas/cleiej/v18n2/2a0834x.png" alt="u "  class="math" > except item <img  src="/img/revistas/cleiej/v18n2/2a0835x.png" alt="i "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a0836x.png" alt="ruj  "  class="math" > represents the rating for user <img  src="/img/revistas/cleiej/v18n2/2a0837x.png" alt="u "  class="math" > over the item <img  src="/img/revistas/cleiej/v18n2/2a0838x.png" alt="j "  class="math" >, and <img  src="/img/revistas/cleiej/v18n2/2a0839x.png" alt="devij  "  class="math" > represents the average of deviation for ratings considering items <img  src="/img/revistas/cleiej/v18n2/2a0840x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0841x.png" alt="j "  class="math" >, which is calculated using the following formula:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a0842x.png" alt="pict" ><a   id="x1-7007r2"></a></div> <!--l. 225-->    <p class="indent" >   where <img  src="/img/revistas/cleiej/v18n2/2a0843x.png" alt="{   }   Uij "  class="math" > denotes the set of users who rated both items <img  src="/img/revistas/cleiej/v18n2/2a0844x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0845x.png" alt="j "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a0846x.png" alt="|Uij| "  class="math" > is the number of users in the set, <img  src="/img/revistas/cleiej/v18n2/2a0847x.png" alt="rui  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0848x.png" alt="ruj  "  class="math" > the ratings of user <img  src="/img/revistas/cleiej/v18n2/2a0849x.png" alt="u "  class="math" > over the items <img  src="/img/revistas/cleiej/v18n2/2a0850x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0851x.png" alt="j "  class="math" > respectively. <!--l. 229-->    ]]></body>
<body><![CDATA[<p class="indent" >   To meet the goal of being efficient at query time, the implementations of <span  class="ptmri7t-">Slope One </span>perform an off-line pre-processing stage to build an initial matrix with the <img  src="/img/revistas/cleiej/v18n2/2a0852x.png" alt="devij  "  class="math" > values computed for all pair of items <img  src="/img/revistas/cleiej/v18n2/2a0853x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0854x.png" alt="j "  class="math" > for which there are at least one user who has rated them both. This matrix can be updated quickly each time a new rating arrives&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xlemire2005">29</a><a id="br29">]</a></span>. Thus, considering that the rest of the prediction formula is computed on-line, all predictions are changed instantly, thus fulfilling the goal that refers to the instant update. <!--l. 239-->    <p class="indent" >   The above paragraphs explain the basic scheme of <span  class="ptmri7t-">Slope One </span>computation. As detailed in the original work of <span  class="ptmri7t-">Slope</span> <span  class="ptmri7t-">One</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xlemire2005">29</a><a id="br29">]</a></span>, there are at least two other schemes to show: the <span  class="ptmri7t-">Weighted Slope One </span>scheme and the <span  class="ptmri7t-">Bi-Polar Slope One </span>scheme. In the <span  class="ptmri7t-">Weighted Slope One </span>scheme, the popularity of the items, i.e. the known ratings, are taken into account. The basic assumption is that if we have more ratings about an item, we can predict with better accuracy using this item. To exemplify this point, let us assume that we want to predict the rating over the item <img  src="/img/revistas/cleiej/v18n2/2a0855x.png" alt="i "  class="math" > by a user <img  src="/img/revistas/cleiej/v18n2/2a0856x.png" alt="u "  class="math" >, and we know that the user <img  src="/img/revistas/cleiej/v18n2/2a0857x.png" alt="u "  class="math" > rated items <img  src="/img/revistas/cleiej/v18n2/2a0858x.png" alt="j "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0859x.png" alt="k "  class="math" >. If there are much more users that rated both <img  src="/img/revistas/cleiej/v18n2/2a0860x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0861x.png" alt="j "  class="math" > against <img  src="/img/revistas/cleiej/v18n2/2a0862x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0863x.png" alt="k "  class="math" >, it makes more sense to expect better confidence in the linear relationship between <img  src="/img/revistas/cleiej/v18n2/2a0864x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0865x.png" alt="j "  class="math" > than the relationship between <img  src="/img/revistas/cleiej/v18n2/2a0866x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0867x.png" alt="k "  class="math" >. This idea is not encompassed in the prediction Equation (<a  href="#x1-7006r1">1<!--tex4ht:ref: eq_p_ui --></a>), which can be improved consequently through the following weighted formula:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a0868x.png" alt="pict" ></div> <!--l. 250-->    <p class="indent" >   where <img  src="/img/revistas/cleiej/v18n2/2a0869x.png" alt="|Uij| "  class="math" > denotes the number of users who rated both items <img  src="/img/revistas/cleiej/v18n2/2a0870x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0871x.png" alt="j "  class="math" >. <!--l. 252-->    <p class="indent" >   The <span  class="ptmri7t-">Bi-Polar Slope One </span>scheme is an improvement over the <span  class="ptmri7t-">Weighted Slope One </span>scheme, that takes into account the confidence of ratings over pairs of items (as the weighted version), and a bi-polar classification (like/dislike) of users over items. Formally, we split the rating set of user <img  src="/img/revistas/cleiej/v18n2/2a0872x.png" alt="u "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a0873x.png" alt="Su  "  class="math" >, into two sets of rated items: <img  src="/img/revistas/cleiej/v18n2/2a0874x.png" alt=" like  {         --} Su  =  i&#x2208;Su|rui &#x003E; Ru "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0875x.png" alt=" dislike  {        --} Su   =  &#x2208; Su|rui &#x003C; Ru "  class="math" >, where <img  src="/img/revistas/cleiej/v18n2/2a0876x.png" alt="-- Ru  "  class="math" > is the average rating values provided by user <img  src="/img/revistas/cleiej/v18n2/2a0877x.png" alt="u "  class="math" >. Also, the set of users who rated both items <img  src="/img/revistas/cleiej/v18n2/2a0878x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0879x.png" alt="j "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a0880x.png" alt="Uij  "  class="math" >, is splitted accordingly: <img  src="/img/revistas/cleiej/v18n2/2a0881x.png" alt="      {             } Uilikje=  useru|i,j&#x2208; Slikue "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0882x.png" alt="        {              } Uidijslike=  useru|i,j &#x2208;Sduislike "  class="math" >. Using these splitted sets, the <span  class="ptmri7t-">Bi-Polar Slope One </span>scheme restricts the set of ratings that are used in the prediction and deviation formulas. First, in the deviation formula (improve over  Equation (<a  href="#x1-7007r2">2<!--tex4ht:ref: eq_dev_ij --></a>)), only deviations between two liked items or deviations between two disliked items are taken into account:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a0883x.png" alt="pict" ></div> <!--l. 266-->    <p class="indent" >   a similar equation defines <img  src="/img/revistas/cleiej/v18n2/2a0884x.png" alt="   dislike devij  "  class="math" >. Second, in the prediction formula (improve over Equation (<a  href="#x1-7006r1">1<!--tex4ht:ref: eq_p_ui --></a>)), only deviations from pairs of users who rated both item <img  src="/img/revistas/cleiej/v18n2/2a0885x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a0886x.png" alt="j "  class="math" > and who share a like or dislike of item <img  src="/img/revistas/cleiej/v18n2/2a0887x.png" alt="j "  class="math" > are used to predict ratings for item <img  src="/img/revistas/cleiej/v18n2/2a0888x.png" alt="i "  class="math" >:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a0889x.png" alt="pict" ></div> <!--l. 283-->    <p class="indent" >   As explained in Section&#x00A0;<a  href="#x1-150003">3<!--tex4ht:ref: sec:recommender --></a>, we will use a new variant of the basic scheme (inspired in the weighted version) that reduces the amount of items considered for computation, in order to improve performance. As our set of items is relatively small, a premise of our work was to not develop the solution over big-data software, like in&#x00A0;<span class="cite">&#x00A0;[<a  href="#XmahoutInAction2010">30</a><a id="br30">]</a></span>, in order to obtain portability and fast scripting programming. <!--l. 291-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">2.3    </span> <a   id="x1-80002.3"></a>Group Recommender Systems</h4> <!--l. 294-->    ]]></body>
<body><![CDATA[<p class="noindent" >Unlike other activities such as using the computer, reading a book or listening to music, going to the cinema or watching television are social activities that generally take place in groups. Livingstone &amp; Bovill in their research report called <span  class="ptmri7t-">Young people, new media</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xlivingstone2002young">33</a><a id="br33">]</a></span> state that television is the medium that is more frequently shared with the family, topping the list of activities that parents share with their children, and also that more than two thirds of children watch their favorite shows with someone else, usually a family member. Therefore, in this context, it is essential to have recommender systems that generate recommendations for an entire group of individuals. <!--l. 302-->    <p class="indent" >   Compared with recommender systems for individuals, few systems have been developed that take into account a set of individuals to generate recommendations&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2004">12</a>,&#x00A0;<a  href="#Xmasthoff2011:combining-indiv-models">11</a><a id="br11">]</a></span>. One of these is <span  class="ptmri7t-">PolyLens</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xoconnor2001">13</a><a id="br13">]</a></span> (extension of <span  class="ptmri7t-">MovieLens</span>), a research project from the Minnesota University that recommended movies for small groups of users. The study of <span  class="ptmri7t-">PolyLens </span>has helped to understand the considerations that must be taken into account when developing systems for groups. Another highly recognized system in this category is <span  class="ptmri7t-">MusicFX</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmccarthy1998">34</a><a id="br34">]</a></span>, whose main objective is to select radio stations in a fitness club. To choose the radio station, <span  class="ptmri7t-">MusicFX </span>takes into account the preferences of musical genres of those who are developing their workout at that time. Some other known systems that generate recommendations for groups are: <span  class="ptmri7t-">Intrigue </span>(recommends places for groups of tourists), <span  class="ptmri7t-">The Travel Decision Forum </span>and <span  class="ptmri7t-">The Collaborative Advisory Travel System </span>(both help a group of users to choose a joint holiday), and <span  class="ptmri7t-">YU&#8217;S TV recommender </span>(TV program recommender for groups), you can read more about them in&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>. <!--l. 317-->    <p class="indent" >   In&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbernier2010">14</a><a id="br14">]</a></span>, Bernier et. al. explain the two main approaches for providing recommendations to a group of users: <span  class="ptmri7t-">group model</span> <span  class="ptmri7t-">based </span>and <span  class="ptmri7t-">individual recommendation merging</span>. These approaches differ from each other on how the recommender applies aggregation of individual information. <!--l. 321-->    <p class="indent" >   In the case of <span  class="ptmri7t-">Individual Recommendation Merging</span>, an individual recommendation is made for each group member and then the results are aggregated &#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbernier2010">14</a>,&#x00A0;<a  href="#Xgorla2013:probabilistic-group-recommendation">15</a>,&#x00A0;<a  href="#Xnajjar2014:differential-neighborhood-selection">16</a><a id="br16">]</a></span>. The purpose of this approach is to present a set of items to the entire group that be the merging of the items preferred by each member of the group &#x00A0;<span class="cite">&#x00A0;[<a  href="#Xboratto2012:groups-classification">17</a><a id="br17">]</a></span>. An algorithm that implements this approach typically will have two stages. In a first stage, for each group member, the system predicts the user&#8217;s rating on each item that the user has not yet rated and the set of items <img  src="/img/revistas/cleiej/v18n2/2a0890x.png" alt="Ci  "  class="math" > with the highest prediction is selected. Finally, in the second stage, the list of items to recommend to the group is constructed as the merging of the <img  src="/img/revistas/cleiej/v18n2/2a0891x.png" alt="Cis "  class="math" > of each member &#x00A0;<span class="cite">&#x00A0;[<a  href="#Xboratto2012:groups-classification">17</a><a id="br17">]</a></span>. <!--l. 327-->    <p class="indent" >   In our work we have chosen a <span  class="ptmri7t-">Group Model Based </span>approach in order to implement a group recommendation strategy, by building the group profile using the individual profile of each member of the group. With this approach, a group recommender system considers the preferences of each individual in the group with some criterion that maximizes the happiness of the group (also called group&#8217;s satisfaction). The concept of group happiness can vary, it sometimes  corresponds to the average of preferences of the members, and other times to the happiest (and least happy) member, etc.. There are different strategies (many of them inspired by the <span  class="ptmri7t-">Social Choice Theory </span>and the <span  class="ptmri7t-">Voting Theory</span> &#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2004">12</a>,&#x00A0;<a  href="#Xpopescu2013">18</a>,&#x00A0;<a  href="#Xhastie05therobust">35</a><a id="br35">,</a>&#x00A0;<a  href="#Xtaylor1995mathematics">36</a><a id="br36">]</a></span>) and different algorithms to compute the happiness value according to the definition we use. All these algorithms have as their main input the individual satisfaction prediction for users who make up the group. The work in&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbernier2010">14</a><a id="br14">]</a></span> classifies the recommendation strategies in the following categories: majority-based (consider only the most popular items), consensus-based (consider all group member preferences), and borderline (consider only a subset of items, belonging to a subgroup of members). Below, we describe some strategies with outstanding features as representatives of this categorization: <span  class="ptmri7t-">plurality voting</span>, <span  class="ptmri7t-">the least misery</span>, <span  class="ptmri7t-">the most respected person</span>, and <span  class="ptmri7t-">utilitarian</span>.    <h5 class="subsubsectionHead"><span class="titlemark">2.3.1    </span> <a   id="x1-90002.3.1"></a>Plurality voting</h5> <!--l. 356-->    <p class="noindent" >This strategy also known as <span  class="ptmri7t-">first past the post </span>(or by its initials <span  class="ptmri7t-">PPTP </span>or <span  class="ptmri7t-">FPP</span>) belongs to the majority-based classification according to&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbernier2010">14</a><a id="br14">]</a></span>. We present it because of its simplicity and intuitiveness. Each person votes for his or her preferred alternative, then the alternative with the most number of ratings wins. If required to choose a set of alternatives, the method can be repeated, firstly to choose the first alternative, then voting for the second, and so on. A disadvantage of this strategy is that it violates the <span  class="ptmri7t-">Condorcet Winner Criterion </span>which is one of the desirable properties of social choice procedures&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xtaylor1995mathematics">36</a><a id="br36">]</a></span>. <!--l. 365-->    <p class="indent" >   An alternative meets the <span  class="ptmri7t-">Condorcet Winner Criterion </span>if when compare it with each of the others, is the preferred one. More formally, given the alternatives <img  src="/img/revistas/cleiej/v18n2/2a0892x.png" alt="{a1,a2,...,an} ai  "  class="math" > is an alternative that meets the <span  class="ptmri7t-">Condorcet Winner Criterion </span>if for all <img  src="/img/revistas/cleiej/v18n2/2a0893x.png" alt="j "  class="math" > such that <img  src="/img/revistas/cleiej/v18n2/2a0894x.png" alt="1&#x2264; j&#x2264; n, "  class="math" > <img  src="/img/revistas/cleiej/v18n2/2a0895x.png" alt="i&#x2044;= j "  class="math" >, then <img  src="/img/revistas/cleiej/v18n2/2a0896x.png" alt="preferred(ai,aj)= ai  "  class="math" >. Given this definition, consider the following scenario in a hypothetical election:      <ul class="itemize1">      <li class="itemize">30% prefer <img  src="/img/revistas/cleiej/v18n2/2a0897x.png" alt="A "  class="math" > before <img  src="/img/revistas/cleiej/v18n2/2a0898x.png" alt="B "  class="math" > before <img  src="/img/revistas/cleiej/v18n2/2a0899x.png" alt="C "  class="math" >      </li>      <li class="itemize">30% prefer <img  src="/img/revistas/cleiej/v18n2/2a08100x.png" alt="C "  class="math" > before <img  src="/img/revistas/cleiej/v18n2/2a08101x.png" alt="A "  class="math" > before <img  src="/img/revistas/cleiej/v18n2/2a08102x.png" alt="B "  class="math" >      </li>      <li class="itemize">40% prefer <img  src="/img/revistas/cleiej/v18n2/2a08103x.png" alt="B "  class="math" > before <img  src="/img/revistas/cleiej/v18n2/2a08104x.png" alt="A "  class="math" > before <img  src="/img/revistas/cleiej/v18n2/2a08105x.png" alt="C "  class="math" ></li>    </ul> <!--l. 375-->    <p class="indent" >   If we apply the <span  class="ptmri7t-">Plurality Voting </span>strategy, then <img  src="/img/revistas/cleiej/v18n2/2a08106x.png" alt="B "  class="math" > would be the winning option with 40% of the votes, although 60% prefers <img  src="/img/revistas/cleiej/v18n2/2a08107x.png" alt="A "  class="math" > before <img  src="/img/revistas/cleiej/v18n2/2a08108x.png" alt="B "  class="math" >. This simple example shows that while alternative <img  src="/img/revistas/cleiej/v18n2/2a08109x.png" alt="B "  class="math" > is the winner, <img  src="/img/revistas/cleiej/v18n2/2a08110x.png" alt="B "  class="math" > is not the most preferred alternative and shows clearly the disadvantage of this strategy to violate the <span  class="ptmri7t-">Condorcet Winner</span> <span  class="ptmri7t-">Criterion</span>. <!--l. 379-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">2.3.2    </span> <a   id="x1-100002.3.2"></a>The least misery</h5> <!--l. 381-->    ]]></body>
<body><![CDATA[<p class="noindent" >This strategy was chosen in the design of <span  class="ptmri7t-">PolyLens</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xoconnor2001">13</a><a id="br13">]</a></span> and belongs to the borderline classification according to&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbernier2010">14</a><a id="br14">]</a></span>. For each alternative, the lowest rating given by any individual is considered, then the results are sorted in descending order and the alternative that tops the list is the winner. The idea of this strategy is that the happiness of the group is dictated by the happiness of the least happy member. While in small groups it could be a good alternative, it has the disadvantage that for large groups it could happen that an item is never chosen as the winner because there is one member who hates it, despite the fact that a huge majority would love it&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xkasari1992">37</a><a id="br37">,</a>&#x00A0;<a  href="#Xsite:netflix">38</a><a id="br38">]</a></span>.    <h5 class="subsubsectionHead"><span class="titlemark">2.3.3    </span> <a   id="x1-110002.3.3"></a>The most respected person</h5> <!--l. 395-->    <p class="noindent" >This strategy also known as <span  class="ptmri7t-">Dictatorship </span>belongs to the borderline classification according to&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbernier2010">14</a><a id="br14">]</a></span>. We find it interesting to mention this strategy because, despite its simplicity, it has performed very well in the evaluation of different strategies according to&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsenot2011">39</a><a id="br39">]</a></span>, only improved by the <span  class="ptmri7t-">utilitarian strategy</span>. The strategy consists in considering only the ratings given by the most respected person in the group, without regard to the ratings or opinions of the rest. That would be a typical scenario when a guest is watching TV with the usual members of a family or when it is the birthday of any individual in the group&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2004">12</a><a id="br12">]</a></span>.    <h5 class="subsubsectionHead"><span class="titlemark">2.3.4    </span> <a   id="x1-120002.3.4"></a>Utilitarian</h5>  <!--l. 406-->    <p class="noindent" >This strategy takes its foundations from the <span  class="ptmri7t-">Utilitarianism ethical theory</span>, which has been used in different areas and disciplines such as philosophy, economics or political science. The <span  class="ptmri7t-">Utilitarianism</span>, as an ethical theory, holds that any action should seek the greatest happiness for the greatest number of individuals and that actions which are right in proportion to that tend to promote happiness&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmill1863utilitarianism">40</a><a id="br40">]</a></span>. It is important to note that to apply this approach, it might be necessary to take an action that does lose happiness to few individuals with the objective of maximizing overall happiness. This is a problem to be faced by individuals who enjoy greater happiness when applying this theory and that few are able to consent. <span  class="ptmri7t-">Stuart Mill </span>in&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmill1863utilitarianism">40</a><a id="br40">]</a></span> summarizes this problem with its famous phrase <span  class="ptmri7t-">&#8221;It is better to be a human being dissatisfied than a pig satisfied; better to be Socrates dissatisfied than a fool</span> <span  class="ptmri7t-">satisfied&#8221;</span>. <!--l. 420-->    <p class="indent" >   In order to apply these principles in a group recommendation strategy, utility values are used to measure the happiness of each individual in each alternative. These values generally correspond to the ratings assigned (if they are known) or individually predictions for the alternative. There are two versions of this strategy, the <span  class="ptmri7t-">additive</span> and <span  class="ptmri7t-">multiplicative</span>, and both belong to the consensus-based classification according to&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xbernier2010">14</a><a id="br14">]</a></span>. In the <span  class="ptmri7t-">additive</span> <span  class="ptmri7t-">utilitarian </span>version, the sum of the utility values for each individual is computed for each alternative. Alternatives are then sorted in descending order according to the result of the sum. We should note that if we perform the average of the utility values for each alternative, the order of the list remains the same, so this strategy is also known as the <span  class="ptmri7t-">Average strategy</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff02modelinga">41</a><a id="br41">]</a></span>. The item that tops the list is the one that maximizes the happiness of the group (note that it could possibly be more than one) and, by generalizing, we say that if an item <img  src="/img/revistas/cleiej/v18n2/2a08111x.png" alt="i1  "  class="math" > is before an item <img  src="/img/revistas/cleiej/v18n2/2a08112x.png" alt="i2  "  class="math" > in the list, then <img  src="/img/revistas/cleiej/v18n2/2a08113x.png" alt="i1  "  class="math" > is more recommendable for the group than <img  src="/img/revistas/cleiej/v18n2/2a08114x.png" alt="i2  "  class="math" >, according to this strategy. In the <span  class="ptmri7t-">multiplicative utilitarian </span>version, the product of the utility values for each individual is computed for each alternative. Alternatives are then sorted in descending order according to the result of the product. Although this version is very similar to the additive version, the result list can be very different as can be seen in the example summarized in Table&#x00A0;<a  href="#x1-13002r2">2<!--tex4ht:ref: tab:example2 --></a>. <!--l. 439-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">2.3.5    </span> <a   id="x1-130002.3.5"></a>Analysis of the strategies</h5>        <div class="table">  <!--l. 443-->    <p class="indent" >   <a   id="x1-13001r1"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;1: </span><span   class="content">Two items <img  src="/img/revistas/cleiej/v18n2/2a08115x.png" alt="{i1,i2} "  class="math" > predicted for three users <img  src="/img/revistas/cleiej/v18n2/2a08116x.png" alt="{u1,u2,u3} "  class="math" ></span></div><!--tex4ht:label?: x1-13001r1 -->     <div class="center"  > <!--l. 446-->    ]]></body>
<body><![CDATA[<p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08117x.png" alt="|---|--|--| |u&#x2215;i-|i1-|i2-| |u1--|1-|2-| |u2--|1-|2-| -u3---5--3-- " ></div></div>     </div><hr class="endfloat" />    </div>        <div class="table">  <!--l. 460-->    <p class="indent" >   <a   id="x1-13002r2"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;2: </span><span   class="content">Recommendation&#8217;s result by strategy</span></div><!--tex4ht:label?: x1-13002r2 -->     <div class="center"  > <!--l. 463-->    <p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08118x.png" alt="|----------------|------------| |Strategy-----------|Recommendeditem-| |PluralityVoting-------|i2-----------| |LeastMisery---------|i2-----------| |TAheddMitoivsetrUestiplitecarteiadnperson-|i1iori--------| |MultiplicativeUtilitarian--|1i2--2--------| ------------------------------- " ></div></div>     </div><hr class="endfloat" />    </div> <!--l. 478-->    <p class="indent" >   Table&#x00A0;<a  href="#x1-13002r2">2<!--tex4ht:ref: tab:example2 --></a> summarizes these four group strategies with an example to see which item would be the recommended in each case. Suppose three users <img  src="/img/revistas/cleiej/v18n2/2a08119x.png" alt="{u1,u2,u3} "  class="math" > for whom the system predicts the values <img  src="/img/revistas/cleiej/v18n2/2a08120x.png" alt="1  "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a08121x.png" alt="1  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a08122x.png" alt="5  "  class="math" > respectively on the item <img  src="/img/revistas/cleiej/v18n2/2a08123x.png" alt="i1  "  class="math" >, and <img  src="/img/revistas/cleiej/v18n2/2a08124x.png" alt="2  "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a08125x.png" alt="2  "  class="math" >, and <img  src="/img/revistas/cleiej/v18n2/2a08126x.png" alt="3  "  class="math" > on the item <img  src="/img/revistas/cleiej/v18n2/2a08127x.png" alt="i2  "  class="math" >, as shown in the Table&#x00A0;<a  href="#x1-13001r1">1<!--tex4ht:ref: tab:example --></a>. Also suppose that <img  src="/img/revistas/cleiej/v18n2/2a08128x.png" alt="u3  "  class="math" > is the most respected person in the group. If we decide to use the <span  class="ptmri7t-">Plurality Voting </span>strategy then <img  src="/img/revistas/cleiej/v18n2/2a08129x.png" alt="i2  "  class="math" > would be the winner because <img  src="/img/revistas/cleiej/v18n2/2a08130x.png" alt="i2  "  class="math" > is the first option for <img  src="/img/revistas/cleiej/v18n2/2a08131x.png" alt="u1  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a08132x.png" alt="u2  "  class="math" >, and only <img  src="/img/revistas/cleiej/v18n2/2a08133x.png" alt="u3  "  class="math" > would prefer <img  src="/img/revistas/cleiej/v18n2/2a08134x.png" alt="i1  "  class="math" > instead of <img  src="/img/revistas/cleiej/v18n2/2a08135x.png" alt="i2  "  class="math" >. If the <span  class="ptmri7t-">Least Misery </span>strategy is used then <img  src="/img/revistas/cleiej/v18n2/2a08136x.png" alt="i2  "  class="math" > would be the winner too, in this case because the lowest prediction for <img  src="/img/revistas/cleiej/v18n2/2a08137x.png" alt="i1  "  class="math" > is 1 and for <img  src="/img/revistas/cleiej/v18n2/2a08138x.png" alt="i2  "  class="math" > is 2, so when the lowest values for each alternative are ordered in descending, <img  src="/img/revistas/cleiej/v18n2/2a08139x.png" alt="i2  "  class="math" > is at the head of the list, so it is the winner option. In case of using <span  class="ptmri7t-">The Most Respected Person </span>strategy and supposing that <img  src="/img/revistas/cleiej/v18n2/2a08140x.png" alt="u3  "  class="math" > is the most respected person, <img  src="/img/revistas/cleiej/v18n2/2a08141x.png" alt="i1  "  class="math" > would be the recommended item because is the preferred option for <img  src="/img/revistas/cleiej/v18n2/2a08142x.png" alt="u3  "  class="math" >. Finally, if we apply the <span  class="ptmri7t-">Additive Utilitarian </span>strategy for both items we get the value of <img  src="/img/revistas/cleiej/v18n2/2a08143x.png" alt="7  "  class="math" > to express the happiness of the group, creating a draw in the value of the prediction on both items. In contrast, if we use the <span  class="ptmri7t-">Multiplicative Utilitarian</span> strategy we get a happiness value of <img  src="/img/revistas/cleiej/v18n2/2a08144x.png" alt="5  "  class="math" > for <img  src="/img/revistas/cleiej/v18n2/2a08145x.png" alt="i1  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a08146x.png" alt="12  "  class="math" > for <img  src="/img/revistas/cleiej/v18n2/2a08147x.png" alt="i2  "  class="math" >, breaking the draw in the happiness values that are predicted. <!--l. 490-->    ]]></body>
<body><![CDATA[<p class="indent" >   Unlike other strategies such as the <span  class="ptmri7t-">Least Misery </span>and the <span  class="ptmri7t-">Average Without Misery</span>, <span  class="ptmri7t-">Utilitarian </span>strategy has the disadvantage (in both versions: additive and multiplicative) that minorities are not taken into account. This is worse in big groups, because in small groups each individual opinion has a large impact&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2004">12</a>,&#x00A0;<a  href="#Xbernier2010">14</a><a id="br14">]</a></span>. On the other hand, the <span  class="ptmri7t-">Utilitarian</span> strategy is the one that has achieved the best results in the evaluation of different strategies according to&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsenot2011">39</a><a id="br39">]</a></span>. In particular, <span  class="ptmri7t-">multiplicative </span>strategy is the best performing strategy, according to&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff02modelinga">41</a><a id="br41">]</a></span> and&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xricci2011:handbook">10</a><a id="br10">]</a></span>. Moreover, it provides adequate privacy for individuals&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span>, which is another desirable feature for a group recommendation strategy&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span>. For these reasons, the <span  class="ptmri7t-">multiplicative utilitarian </span>strategy was the one we have chosen to implement in our work. <!--l. 503-->    <p class="indent" >   Finally, to end this section on group recommendations devote a few paragraphs to the privacy issues for groups of individuals.    <h5 class="subsubsectionHead"><span class="titlemark">2.3.6    </span> <a   id="x1-140002.3.6"></a>Privacy considerations</h5> <!--l. 507-->    <p class="noindent" >Privacy is an important factor to generate recommendations for groups, especially if, in pursuit of transparency, the system indicates that a particular item is shown because a particular member of the group is interested in it&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span>. The use of personal data may be disclosed or not to users. Different implementations could deal with this issue in different ways, such as making this information available to users, leaving the control to each individual user or hiding it completely&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xoconnor2001">13</a><a id="br13">]</a></span>. Few studies and experiments have been aimed at the study of privacy in group recommendations. Two of the most important works on the subject are <span  class="ptmri7t-">PolyLens</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xoconnor2001">13</a><a id="br13">]</a></span>, and the investigation performed by <span  class="ptmri7t-">Judith Masthoff  </span>and <span  class="ptmri7t-">Albert Gatt </span>in&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span>. In&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xoconnor2001">13</a><a id="br13">]</a></span>, reaction of users to loss of privacy was studied. In <span  class="ptmri7t-">PolyLens</span>, most groups were small, many compounds for close friends, so privacy was not a major problem and users were willing to yield some privacy to get the benefits of group recommendations. Finally,&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xoconnor2001">13</a><a id="br13">]</a></span> concludes that more work is required in the future to understand the behavior of other types of groups. <!--l. 523-->    <p class="indent" >   <span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span> investigates the effect on privacy of different group aggregation strategies and describes three methods to improve privacy. The first one consists in giving the user the possibility to indicate the degree of privacy (between 0 and 1) of each rating given to each item. The second one is about providing the ability to use different user profiles depending on the situation and context (individual, family, friends, etc). The third method consists in the use of anonymity. <span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span> concludes that using the <span  class="ptmri7t-">Least Misery </span>strategy should be avoided and indicates it is fine to use the <span  class="ptmri7t-">multiplicative utilitarian </span>strategy. Finally,&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span> proposes to add a virtual member (with their own tastes) to the group in order to improve privacy. Thus, it would add a bit of casuistry to the recommendations, and the result of a recommendation could never be attributed to a particular individual because there is always the possibility that it has been influenced by the virtual user. <!--l. 1-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">3    </span> <a   id="x1-150003"></a>Our Cinema Recommender System</h3> <!--l. 4-->    <p class="noindent" >Justified by previous works, we decide to use the <span  class="ptmri7t-">Slope One </span>algorithm in order to predict individual recommendations, and combine them into a group recommendation using the <span  class="ptmri7t-">multiplicative utilitarian strategy</span>. In this Section, we present the most relevant implementation details of our recommendation system. Firstly, we present the <span  class="ptmri7t-">Ramp-up </span>and <span  class="ptmri7t-">Cold Start </span>problems, that are two intrinsic problems to recommender systems and the solution we implemented. Then, we continue to present another problem, specific to the <span  class="ptmri7t-">Slope One </span>algorithm, and referring to the big data process required in order to compute the matrix of rating differences. We show some relevant properties about this matrix and how we took advantage of them in order to perform a partial load of this matrix, with the aim of reducing the recommendation time and the required space to less than a half. Finally, we consider a variation for the <span  class="ptmri7t-">Slope One </span>algorithm in order to improve the recommendation time and we show  an intrinsic scaling fit problem of <span  class="ptmri7t-">multiplicative utilitarian strategy </span>and a possible solution for dealing with it. <!--l. 18-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">3.1    </span> <a   id="x1-160003.1"></a>Ramp-Up and Cold Start problems</h4> <!--l. 21-->    <p class="noindent" >The <span  class="ptmri7t-">Ramp-Up </span>problem&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xburke99">43</a><a id="br43">]</a></span> occurs when, in a newly launched system, there is insufficient information to generate good recommendations. That is, the system must know about the decisions of users to ensure the quality of future recommendations. <span  class="ptmri7t-">CFRS </span>suffer from this problem because they receive as input the history of user ratings on items. Similarly, while the system is running at steady state, <span  class="ptmri7t-">Cold Start </span>happens when a new user arrives at the system without any previously rated item, making it difficult for the system to infer his preferences. <!--l. 28-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-16001r1"></a>      ]]></body>
<body><![CDATA[<div class="center"  > <!--l. 29-->    <p class="noindent" > <!--l. 30-->    <p class="noindent" > <img src="/img/revistas/cleiej/v18n2/2a08f1.jpg"><br />     <div class="caption"  ><span class="id">Figure&#x00A0;1: </span><span   class="content">System prompts the user to rate (configured to rate at least ten movies).</span></div><!--tex4ht:label?: x1-16001r1 --> </div>  <!--l. 34-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 36-->    <p class="indent" >   To solve these problems we make an initial load using the <span  class="ptmri7t-">MovieLens 10M dataset</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:movieLens10M">44</a><a id="br44">]</a></span>, with data from anonymous users, items and scores. Once this dataset is loaded, we use these data to initialize the matrix of average of rating differences used by the <span  class="ptmri7t-">Slope One </span>algorithm. Thus, taking advantage of the benefits of the <span  class="ptmri7t-">Slope One </span>algorithm, new users must just rate a few movies when they enter the system for the first time (Figure&#x00A0;<a  href="#x1-16001r1">1<!--tex4ht:ref: coldStartSuggestRateImg --></a>), so that the algorithm can find entries in the matrix of average of rating differences and start generating good recommendations for the user.    <h4 class="subsectionHead"><span class="titlemark">3.2    </span> <a   id="x1-170003.2"></a>Partial load for the Slope One Matrix</h4> <!--l. 46-->    <p class="noindent" >As mentioned in Section&#x00A0;<a  href="#x1-70002.2">2.2<!--tex4ht:ref: sec:slopeone --></a>, <span  class="ptmri7t-">Slope One </span>algorithm uses as its input a matrix of size <img  src="/img/revistas/cleiej/v18n2/2a08148x.png" alt="N "  class="math" >x<img  src="/img/revistas/cleiej/v18n2/2a08149x.png" alt="N "  class="math" >, where <img  src="/img/revistas/cleiej/v18n2/2a08150x.png" alt="N "  class="math" > is the number of items in the system. In a movies domain, <img  src="/img/revistas/cleiej/v18n2/2a08151x.png" alt="N "  class="math" > can be very large. For example, the <span  class="ptmri7t-">MovieLens 10M</span> <span  class="ptmri7t-">dataset</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:movieLens10M">44</a><a id="br44">]</a></span> has more than <img  src="/img/revistas/cleiej/v18n2/2a08152x.png" alt="10000  "  class="math" > movies (and it only considers movies until 2009), therefore, the matrix should have more than <img  src="/img/revistas/cleiej/v18n2/2a08153x.png" alt="100  "  class="math" > million entries. This is the price that <span  class="ptmri7t-">Slope One </span>pays in order to make recommendations in an efficient way, but it can become a problem if you do not have good storage capacity or if you have limitations on the size of the used database. For example, in this work, we use a <span  class="ptmri7t-">SQL Server Express 2008 R2 </span>database which limits the database size to 4GB. For this reason we decided to perform a partial load of the matrix, as follows. <!--l. 64-->    <p class="indent" >   Each element of the matrix used by <span  class="ptmri7t-">Slope One </span>indicates how much more an item is liked than another on average, specified by <img  src="/img/revistas/cleiej/v18n2/2a08154x.png" alt="devij  "  class="math" >, and is computed according to Equation&#x00A0;(<a  href="#x1-7007r2">2<!--tex4ht:ref: eq_dev_ij --></a>). It is easy to see that <img  src="/img/revistas/cleiej/v18n2/2a08155x.png" alt="devji = - devij  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a08156x.png" alt="devii = 0  "  class="math" > happen for all item <img  src="/img/revistas/cleiej/v18n2/2a08157x.png" alt="i "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a08158x.png" alt="j "  class="math" >. These properties classify our matrix as an antisymmetric matrix, since it is a square matrix which fulfills that its transpose is equal to its negative (<img  src="/img/revistas/cleiej/v18n2/2a08159x.png" alt="At = - A "  class="math" >). This observation is important because it allows us to load only the upper part of the matrix, because the rest of the values can be computed. <!--l. 91-->    <p class="indent" >   To perform the initialization process, we built an application that iterates over all movies in the <span  class="ptmri7t-">MovieLens 10M</span> <span  class="ptmri7t-">dataset</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:movieLens10M">44</a><a id="br44">]</a></span>, and for each one, computes and stores the value of average of rating differences with the rest of the movies that have a greater identifier. To consider only greater identifiers ensures us that only the upper part of the matrix will be loaded (given the antisymmetric property), and it allows us to save significant space for storage and to reduce the size of the matrix to less than a half, which also helps us to improve performance of queries to solve the prediction algorithm and therefore the recommendations. <!--l. 115-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">3.3    </span> <a   id="x1-180003.3"></a>Variant for the Slope One algorithm</h4> <!--l. 119-->    ]]></body>
<body><![CDATA[<p class="noindent" >The Equation&#x00A0;(<a  href="#x1-7006r1">1<!--tex4ht:ref: eq_p_ui --></a>) specifies the predicted rating of user <img  src="/img/revistas/cleiej/v18n2/2a08160x.png" alt="u "  class="math" > over the item <img  src="/img/revistas/cleiej/v18n2/2a08161x.png" alt="i "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a08162x.png" alt="p   ui  "  class="math" >. In this computation, we can see that the number of items rated by the user affects the execution time of the algorithm. If we define <img  src="/img/revistas/cleiej/v18n2/2a08163x.png" alt="N "  class="math" > as the size of set <img  src="/img/revistas/cleiej/v18n2/2a08164x.png" alt="S "  class="math" >, the formula for <img  src="/img/revistas/cleiej/v18n2/2a08165x.png" alt="p  ui  "  class="math" > has <img  src="/img/revistas/cleiej/v18n2/2a08166x.png" alt="O(N)  "  class="math" >. If we use a lower value for <img  src="/img/revistas/cleiej/v18n2/2a08167x.png" alt="N "  class="math" >, the number of operations will be less. On the other hand, the <span  class="ptmri7t-">Weighted</span> <span  class="ptmri7t-">Slope One algorithm</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xlemire2005">29</a><a id="br29">]</a></span> weighted the most rated movies, assuming that these can contribute to a better result. Following this approach, we reduce the set <img  src="/img/revistas/cleiej/v18n2/2a08168x.png" alt="S - {i}  u "  class="math" >, re-defined as <img  src="/img/revistas/cleiej/v18n2/2a08169x.png" alt="S&#x2032;- {i}  u "  class="math" >, where <img  src="/img/revistas/cleiej/v18n2/2a08170x.png" alt="S&#x2032;  u  "  class="math" > is the subset of items from <img  src="/img/revistas/cleiej/v18n2/2a08171x.png" alt="S  u  "  class="math" > that have the greatest number of ratings. In Section&#x00A0;<a  href="#x1-200004">4<!--tex4ht:ref: sec:calibrating --></a> we analyze the performance of the algorithm and the prediction time, taking the size of <img  src="/img/revistas/cleiej/v18n2/2a08172x.png" alt="S&#x2032;  u  "  class="math" > as the main variable. Thus, in the rest of this document, we will use the prediction, <img  src="/img/revistas/cleiej/v18n2/2a08173x.png" alt="p  ui  "  class="math" >, defined as:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a08174x.png" alt="pict" ><a   id="x1-18001r3"></a></div> <!--l. 147-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">3.4    </span> <a   id="x1-190003.4"></a>Scaling problem of Multiplicative Utilitarian Strategy</h4> <!--l. 150-->    <p class="noindent" >The algorithm that we used to generate group recommendations from individual recommendations is the multiplicative utilitarian. This is so because this algorithm has performed well in similar scenarios, and because it preserves the privacy of individual ratings&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmasthoff2006inpursuit">42</a><a id="br42">]</a></span>. For this strategy, we use <img  src="/img/revistas/cleiej/v18n2/2a08175x.png" alt="pui  "  class="math" > prediction as utilitarian value for a user <img  src="/img/revistas/cleiej/v18n2/2a08176x.png" alt="u "  class="math" > over an item <img  src="/img/revistas/cleiej/v18n2/2a08177x.png" alt="i "  class="math" >. In this way we define the happiness prediction function (or satisfaction) of the group <img  src="/img/revistas/cleiej/v18n2/2a08178x.png" alt="G "  class="math" > over an item <img  src="/img/revistas/cleiej/v18n2/2a08179x.png" alt="i "  class="math" > as:         <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a08180x.png" alt="pict" ><a   id="x1-19001r4"></a></div> <!--l. 166-->    <p class="indent" >   If we compute the group happiness on a set of items, we can establish an order of preference of the group on that set of items. If ordered in descending preference, we obtain the recommendation for one or more items for the group <img  src="/img/revistas/cleiej/v18n2/2a08181x.png" alt="G "  class="math" >. Thus, we have solved the recommendation of items for a group. <!--l. 170-->    <p class="indent" >   Since in our system users rate movies and receive individual predictions on a scale of <img  src="/img/revistas/cleiej/v18n2/2a08182x.png" alt="1- 5  "  class="math" >, and as individual prediction is the utilitarian value for the group strategy, we can see that the minimum value of happiness for <img  src="/img/revistas/cleiej/v18n2/2a08183x.png" alt="Gi "  class="math" > is <img  src="/img/revistas/cleiej/v18n2/2a08184x.png" alt="1  "  class="math" > and its maximum value is <img  src="/img/revistas/cleiej/v18n2/2a08185x.png" alt="5n  "  class="math" >, where <img  src="/img/revistas/cleiej/v18n2/2a08186x.png" alt="n "  class="math" > is the number of members of the group <img  src="/img/revistas/cleiej/v18n2/2a08187x.png" alt="G "  class="math" >. This is a problem, because we want that the prediction for the group has the same range of values on a scale of <img  src="/img/revistas/cleiej/v18n2/2a08188x.png" alt="1 - 5  "  class="math" >. Therefore, we have to define a new function <img  src="/img/revistas/cleiej/v18n2/2a08189x.png" alt="PGi  "  class="math" > as the average rating prediction (between 1 and 5) for a group <img  src="/img/revistas/cleiej/v18n2/2a08190x.png" alt="G "  class="math" > over an item <img  src="/img/revistas/cleiej/v18n2/2a08191x.png" alt="i "  class="math" >. Then, we can try to compute the average concept of a sum at the product level, which is known as <span  class="ptmri7t-">geometric mean</span>. The <span  class="ptmri7t-">geometric mean </span>of a set of <img  src="/img/revistas/cleiej/v18n2/2a08192x.png" alt="n "  class="math" > positive numbers is the <img  src="/img/revistas/cleiej/v18n2/2a08193x.png" alt="nth  "  class="math" > root of the product of all the numbers in the set. It has the advantage that considers all distribution values and extreme values have less influence than on the arithmetic mean. It has the disadvantage that it is not determined if any value in the set is <img  src="/img/revistas/cleiej/v18n2/2a08194x.png" alt="0  "  class="math" > or if the result of the product is negative and the cardinality of the set is even. Anyway, these potential drawbacks do not apply to our context because the possible values to multiply are always between <img  src="/img/revistas/cleiej/v18n2/2a08195x.png" alt="1  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a08196x.png" alt="5  "  class="math" >. Therefore, in this work, the group prediction equation takes the form:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a08197x.png" alt="pict" ><a   id="x1-19002r5"></a></div> <!--l. 232-->    <p class="indent" >   where <img  src="/img/revistas/cleiej/v18n2/2a08198x.png" alt="n "  class="math" > is the number of users in the group.    <h3 class="sectionHead"><span class="titlemark">4    </span> <a   id="x1-200004"></a>Recommender System Calibration and Performance</h3> <!--l. 4-->    <p class="noindent" >Our main objective is to get a good group recommendation in near real-time. As we said before, in order to implement the group recommendation strategy we use the <span  class="ptmri7t-">multiplicative utilitarian </span>strategy, which considers the preference of each individual in the group by calculating the product of the individual predictions as the happiness value for the group. Therefore, the individual prediction algorithm strongly determines the final total time for the recommendation. Next, we will detail the experimental results obtained when studying the following measures:      <ul class="itemize1">      <li class="itemize"><span  class="ptmri7t-">performance </span>of the individual prediction algorithm,      </li>      <li class="itemize">total <span  class="ptmri7t-">time </span>to solve the final recommendation for the entire group (expressed in <img  src="/img/revistas/cleiej/v18n2/2a08199x.png" alt="hh:mm :ss "  class="math" > format).</li>    ]]></body>
<body><![CDATA[</ul> <!--l. 19-->    <p class="noindent" >In order to measure the performance of the individual prediction algorithm, we used the <span  class="ptmri7t-">Mean Absolute Error (MAE)</span>. <span  class="ptmri7t-">MAE </span>is a metric that measures the average deviation between the prediction for users over items and the real rating that those users enter to the system. It is formally defined as follows:        <div class="align"><img  src="/img/revistas/cleiej/v18n2/2a08200x.png" alt="pict" ><a   id="x1-20001r6"></a></div> <!--l. 30-->    <p class="indent" >   where <img  src="/img/revistas/cleiej/v18n2/2a08201x.png" alt="rui  "  class="math" > is the rating of user <img  src="/img/revistas/cleiej/v18n2/2a08202x.png" alt="u "  class="math" > over item <img  src="/img/revistas/cleiej/v18n2/2a08203x.png" alt="i "  class="math" >, <img  src="/img/revistas/cleiej/v18n2/2a08204x.png" alt="pui  "  class="math" > is the prediction value for the same user and item, and <img  src="/img/revistas/cleiej/v18n2/2a08205x.png" alt="|T| "  class="math" > is the number of elements in the set <img  src="/img/revistas/cleiej/v18n2/2a08206x.png" alt="{(u,i)|&#x2203;rui} "  class="math" >. <!--l. 34-->    <p class="indent" >   As a first approach to measure performance and time, we ran the algorithm to recommend <img  src="/img/revistas/cleiej/v18n2/2a08207x.png" alt="10  "  class="math" > items for a group of <img  src="/img/revistas/cleiej/v18n2/2a08208x.png" alt="7  "  class="math" > users. We evaluated the results for both algorithms: the original <span  class="ptmri7t-">Slope One </span>algorithm and the variant we implemented. As expected, we observed that the total time to predict the recommendation varies with the amount of recommended items. We ran these tests using an <span  class="ptmri7t-">Intel Core i7 1.6 GHz, 4GB RAM, OS Windows 7 Home Premium </span>and a <span  class="ptmri7t-">SQL Server Express 2008</span> <span  class="ptmri7t-">R2 </span>database. The dataset used was the <span  class="ptmri7t-">MovieLens 10M dataset</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:movieLens10M">44</a><a id="br44">]</a></span>, which has the distribution presented in  Table&#x00A0;<a  href="#x1-20002r3">3<!--tex4ht:ref: tab:dist --></a>.        <div class="table">  <!--l. 41-->    <p class="indent" >   <a   id="x1-20002r3"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;3: </span><span   class="content">Number of ratings and users in MovieLens 10M dataset.</span></div><!--tex4ht:label?: x1-20002r3 -->     <div class="center"  > <!--l. 44-->    ]]></body>
<body><![CDATA[<p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08209x.png" alt="|-------------|----------|-------| |-Numberofratings--|Numberofusers-|Percentage-| |-between20and40--|---21055----|--30.14--| |-between41and80--|---17485----|--25.03--| |bbeettwweeeenn81101anadnd110020-|---44831962----|--66.9.020--| |between121and160-|---5325----|--7.62--| |between161and200-|---3420----|--4.89--| |between201and500-|---6695----|--9.58--| |between501and750-|---2031----|--2.91--| |between751and1000-|---791----|--1.13--| --M-orethan1000-------4038-------5.78--- " ></div></div>     </div><hr class="endfloat" />    </div>    <h4 class="subsectionHead"><span class="titlemark">4.1    </span> <a   id="x1-210004.1"></a>Performance of the Slope One algorithm</h4> <!--l. 66-->    <p class="noindent" >We ran the <span  class="ptmri7t-">Slope One </span>algorithm taking a sample of users from the full dataset, keeping the distribution percentages for ratings as shown in the Table&#x00A0;<a  href="#x1-20002r3">3<!--tex4ht:ref: tab:dist --></a>. The obtained results were as follows: <img  src="/img/revistas/cleiej/v18n2/2a08210x.png" alt="MAE  = 0.69169  "  class="math" > and Total time <img  src="/img/revistas/cleiej/v18n2/2a08211x.png" alt="= 00:05 :05  "  class="math" >. The error in these results is consistent with the expected error, according to previous studies in&#x00A0;<span class="cite">&#x00A0;[<a  href="#XmahoutInAction2010">30</a><a id="br30">]</a></span> and&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xmarschik2010evaluation">31</a><a id="br31">]</a></span>. However, when we observe the time required to compute the recommendation for the entire group, we see that it is not an acceptable time for an interactive system. <!--l. 92-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">4.2    </span> <a   id="x1-220004.2"></a>Performance of the Slope One variant</h4> <!--l. 93-->    <p class="noindent" >As we explained in Section&#x00A0;<a  href="#x1-180003.3">3.3<!--tex4ht:ref: sec:slopeOneVariant --></a>, with the aim of improving the response time of recommendation, we implemented a variant of the <span  class="ptmri7t-">Slope One </span>algorithm. In order to analyze the results of this implementation we took a sample of users from the full dataset, keeping the distribution percentages for ratings as shown in the Table&#x00A0;<a  href="#x1-20002r3">3<!--tex4ht:ref: tab:dist --></a> (like in the previous experiment for the common <span  class="ptmri7t-">Slope</span> <span  class="ptmri7t-">One </span>implementation). Then we define the input variable <span  class="ptmri7t-">N </span>representing the size of <img  src="/img/revistas/cleiej/v18n2/2a08212x.png" alt="S&#x2032;  u  "  class="math" > in the Equation&#x00A0;(<a  href="#x1-18001r3">3<!--tex4ht:ref: eq_p2_ui --></a>) (<img  src="/img/revistas/cleiej/v18n2/2a08213x.png" alt="S&#x2032;  u  "  class="math" > is the set of items with the highest number of ratings among the items that user <img  src="/img/revistas/cleiej/v18n2/2a08214x.png" alt="u "  class="math" > has rated). By varying <img  src="/img/revistas/cleiej/v18n2/2a08215x.png" alt="N "  class="math" >, we obtain the results shown in the Table&#x00A0;<a  href="#x1-22001r4">4<!--tex4ht:ref: tab:result1 --></a>.     <div class="table">  <!--l. 109-->    <p class="indent" >   <a   id="x1-22001r4"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;4: </span><span   class="content">Recommendation times and prediction quality (<img  src="/img/revistas/cleiej/v18n2/2a08216x.png" alt="MAE "  class="math" >) for different values of number of items <img  src="/img/revistas/cleiej/v18n2/2a08217x.png" alt="N "  class="math" >.</span></div><!--tex4ht:label?: x1-22001r4 -->     <div class="center"  > <!--l. 112-->    ]]></body>
<body><![CDATA[<p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08218x.png" alt="|----|------|------|------|------| |-N--|-20---|--40---|--80---|-100--| |Time-|00:01:52-|00:05:07-|00:06:55-|00:09:35-| -MAE--0.68568--0.68722--0.68984--0.69210-- " ></div></div>     </div><hr class="endfloat" />    </div> <!--l. 123-->    <p class="indent" >   The results show that reducing the number of ratings used in the algorithm, we can improve performance without a large cost in quality. We confirm that the total time for generating the recommendation decreases in proportion to <img  src="/img/revistas/cleiej/v18n2/2a08219x.png" alt="N "  class="math" >. Then, according to the results obtained, we decided to set the size of <img  src="/img/revistas/cleiej/v18n2/2a08220x.png" alt="S&#x2032;u  "  class="math" > to <img  src="/img/revistas/cleiej/v18n2/2a08221x.png" alt="N = 20  "  class="math" >.    <h4 class="subsectionHead"><span class="titlemark">4.3    </span> <a   id="x1-230004.3"></a>Amount of recommendable items</h4> <!--l. 134-->    <p class="noindent" >If we consider only the <img  src="/img/revistas/cleiej/v18n2/2a08222x.png" alt="20  "  class="math" > items with the highest number of ratings among the items that user <img  src="/img/revistas/cleiej/v18n2/2a08223x.png" alt="u "  class="math" > has rated, computing the recommendation for a group with <img  src="/img/revistas/cleiej/v18n2/2a08224x.png" alt="U "  class="math" > users, over a catalog of <img  src="/img/revistas/cleiej/v18n2/2a08225x.png" alt="M "  class="math" > items, has an order of <img  src="/img/revistas/cleiej/v18n2/2a08226x.png" alt="O(M)xO (U )x20  "  class="math" > (using the group recommendation algorithm defined in Equations&#x00A0;(<a  href="#x1-19002r5">5<!--tex4ht:ref: eq_P_Gi --></a>) and&#x00A0;(<a  href="#x1-18001r3">3<!--tex4ht:ref: eq_p2_ui --></a>)). Therefore, reducing <img  src="/img/revistas/cleiej/v18n2/2a08227x.png" alt="M "  class="math" >, we get an even smaller recommendation time. As a disadvantage, we have that possible recommendations will be bounded, since we are restricting the co-domain of the recommendation function. The recommendation time for <img  src="/img/revistas/cleiej/v18n2/2a08228x.png" alt="N = 20  "  class="math" >, taking as variable the number of items <img  src="/img/revistas/cleiej/v18n2/2a08229x.png" alt="M "  class="math" > that can be recommended is presented in Table&#x00A0;<a  href="#x1-23001r5">5<!--tex4ht:ref: tab:result2 --></a>.     <div class="table">  <!--l. 142-->    <p class="indent" >   <a   id="x1-23001r5"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;5: </span><span   class="content">Recommendation times for <img  src="/img/revistas/cleiej/v18n2/2a08230x.png" alt="N = 20  "  class="math" > and different values of number of items <img  src="/img/revistas/cleiej/v18n2/2a08231x.png" alt="M "  class="math" >.</span></div><!--tex4ht:label?: x1-23001r5 -->     <div class="center"  > <!--l. 145-->    <p class="noindent" >     ]]></body>
<body><![CDATA[<div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08232x.png" alt="|---|------|------|-------|------| |M--|--100--|--250--|--500---|-1000--| -Time--00:00:04--00:00:07--00:00:12--00:00:23- " ></div></div>     </div><hr class="endfloat" />    </div> <!--l. 155-->    <p class="indent" >   As we already mentioned, our work has as its main objective to recommend movies from cinema listings for a group of users, so <img  src="/img/revistas/cleiej/v18n2/2a08233x.png" alt="M "  class="math" > corresponds to the movies in the cinema listings for the date range in which the group intends to go to the cinema. In this way, we significantly decrease the recommendation time compared to the scenario of the whole catalog, and it validates our initial intuition on the no need of a big-data software in order to perform the task. <!--l. 160-->    <p class="indent" >   This approach is also applicable to other contexts than cinema listings, where the subset of candidate movies could be created from some pre-filter (e.g. gender), which allows the user to guide the recommender system, and thus preventing the system from considering those results that the user already knows will not be of interest for him or her. For other applications where the time taken to generate the recommendation is not something critical (sending weekly suggestions to users subscribed via email for example), then there would be no problem in considering the whole catalog and there would not need to limit the value of <img  src="/img/revistas/cleiej/v18n2/2a08234x.png" alt="M "  class="math" >. As we see, depending on the context for which the recommendation is used, It may make sense to consider the entire catalog or just a subset of it. Therefore, in our implementation, the set of items to recommend is an input parameter to the recommendation algorithm, which, in the specific case of going to the cinema, is the set of movies in the cinema listings within the range of dates that the group intends to go to the cinema.    <h3 class="sectionHead"><span class="titlemark">5    </span> <a   id="x1-240005"></a>The Mobile Application and the System Architecture</h3> <!--l. 4-->    <p class="noindent" >In order to test and validate our recommender system for ephemeral groups, we developed a full functional prototype that helps end-users to plan going to the cinema in group. The prototype is formed by a mobile application and a central backend, that are explained in this section. <!--l. 8-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">5.1    </span> <a   id="x1-250005.1"></a>The Mobile Application</h4> <!--l. 10-->    <p class="noindent" >The mobile application is designed for end-user usage of the recommender system. Users can create events (going to the cinema), invite other users to join the event, receive recommendations about a cinema listing, and evaluate individual or group predictions. It is a prototype for mobile devices which consists of a HTML5 view that accesses the system&#8217;s functionality through a RESTFul API and uses frameworks for mobile devices trying to maximize the usability and user experience. Authentication is done through username and password on the local system or using some account from a social network (e.g. Facebook). Using HTML5 allows us to improve portability, maintenance, and reduce development times, because the same HTML5 application can be run on any modern mobile device without having to reprogram (in a different language) a native client for each different type of device.  <!--l. 23-->    <p class="indent" >   <a   id="x1-25004r2"></a><hr class="float">    <div class="float"  >  <img src="/img/revistas/cleiej/v18n2/2a08f2.jpg">     <br> <a   id="x1-25001r1"></a> <span  class="ptmr7t-x-x-80">(a)  Add a new event to</span> <span  class="ptmr7t-x-x-80">go to the cinema in the</span> <span  class="ptmr7t-x-x-80">mobile application.</span>     <br>  <img src="/img/revistas/cleiej/v18n2/2a08f3.jpg">     ]]></body>
<body><![CDATA[<br>  <a   id="x1-25002r2"></a> <span  class="ptmr7t-x-x-80">(b)                       Details</span> <span  class="ptmr7t-x-x-80">of an event in the mobile</span> <span  class="ptmr7t-x-x-80">application.</span>     <br>  <img src="/img/revistas/cleiej/v18n2/2a08f4.jpg">     <br><a   id="x1-25003r3"></a> <span  class="ptmr7t-x-x-80">(c)  Information  details</span> <span  class="ptmr7t-x-x-80">of a movie in the mobile</span> <span  class="ptmr7t-x-x-80">application.</span>      <br>       <div class="caption"  ><span class="id">Figure&#x00A0;2: </span><span   class="content">The Mobile Application interface.</span></div><!--tex4ht:label?: x1-25004r2 -->     </div><hr class="endfloat" /> <!--l. 42-->    <p class="indent" >   The prototype allows users to create events. Each event defines a start and an end date that the system uses to obtain entries from movie listings within that date range and generates recommendations from these entries. The event&#8217;s owner chooses a set of users from the friend list and the system sends them an invitation to participate in the event. Then, guest users accept or reject the invitation and therefore, in this way, the ephemeral group for going to the cinema is formed. Figure&#x00A0;<a  href="#x1-25001r1">2(a)<!--tex4ht:ref: new_event --></a> shows the interface of new events. The system predicts the rating for the ephemeral group confirmed until the time for each movie and sorts these predictions in descending order, from the most recommended to the least recommended. With each user that accepts an invitation, the system immediately updates the recommendation for the group, taking into account the preferences of the new member. Figure&#x00A0;<a  href="#x1-25002r2">2(b)<!--tex4ht:ref: event --></a> shows the detail of an event and the system recommendations for the current group within the movie listings. Then, each user can see all the options from the movie listings, have access to the detailed information of each movie (Figure&#x00A0;<a  href="#x1-25003r3">2(c)<!--tex4ht:ref: movie_detail --></a>), watch a trailer, read the reviews, and finally select one to watch. This information is shared with other group members. Thus, in addition to generating recommendations, the system helps the group in the final decision of which movie to watch, sharing information about preferences. In&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xjameson2007">45</a><a id="br45">]</a></span>, it is explained that this final decision is a critical piece of information that should be managed by recommender systems. Therefore, using the system&#8217;s recommendations to the group, having the possibility to check the details of each movie from the movie listings and having shared the user preferences on the different alternatives for each member, the group decides which movie to see at the cinema. Once the event is finished, each user can rate the movie that was seen, directly from the same mobile application, providing feedback to the system through the input of new ratings. The system will use these ratings to improve future recommendations for both the user and the groups that he or she integrates.    <h4 class="subsectionHead"><span class="titlemark">5.2    </span> <a   id="x1-260005.2"></a>The System Architecture</h4> <!--l. 95-->    <p class="noindent" >The system architecture has two main components: a generic service recommender and a movie recommendation system that uses the generic service. The generic recommender service has as its main purpose implementing the algorithms for individual and group recommendations that were previously discussed. This generic service is abstracted from any particular object type to recommend, so it recommends items in a generic way. On the other hand, the movie recommender system is in charge of context items and give a semantic domain in movies and cinema. It executes the data access components, business logic and exposes the business services through a service interface for higher layers in a service-oriented architecture (SOA). <!--l. 105-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-26001r3"></a>      <div class="center"  > <!--l. 106-->    ]]></body>
<body><![CDATA[<p class="noindent" > <!--l. 107-->    <p class="noindent" > <img src="/img/revistas/cleiej/v18n2/2a08f5.jpg"><br />     <div class="caption"  ><span class="id">Figure&#x00A0;3: </span><span   class="content">High level picture of the system architecture.</span></div><!--tex4ht:label?: x1-26001r3 --> </div>  <!--l. 111-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 113-->    <p class="indent" >   For the implementation of our prototype, we use a single server running the recommendations, but it might as well have several of these and a load balancer to scale up the solution so as to improve response times for recommendations. For example, in the case of group recommendations, the possibility of increasing these servers would allow to split group into as many subgroups as servers become available, and thus, request predictions concurrently to each server for a specific subgroup. Then, it would be sufficient to process final results in the master application server. <!--l. 120-->    <p class="indent" >   As shown in Figure&#x00A0;<a  href="#x1-26001r3">3<!--tex4ht:ref: globalSystsemImg --></a>, there are other important components as part of the solution. The extract, transform, and load (ETL) processes are in charge of loading meta-data and content sources from external suppliers. To achieve this, and in order to make it extensible to any other provider, we used the concept of input adapter. These adapters are responsible for getting the data from external sources, transforming them and loading them into our system using a common model structure. This common model must be well known by all adapters. As we mentioned in Subsection&#x00A0;<a  href="#x1-250005.1">5.1<!--tex4ht:ref: sec:mobileApp --></a>, each group member can check the details of the different movies in the cinema listings, as part of the help that the system provides to the group to decide which movie to see. This information has been imported by the ETL process, using meta-data from IMDB (and with the IMDbPY package&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:imdbpy">46</a><a id="br46">]</a></span>). Also, we keep the detail of the meta-data of each movie obtained from IMDb from the 10681 titles from Movielens, initially loaded as part of the dataset used to solve the problem of lack of data already mentioned in Section&#x00A0;<a  href="#x1-160003.1">3.1<!--tex4ht:ref: resolvingLackOfDataProblems --></a>. Should be noted that mapping between IMDb and MovieLens titles is not direct. We identified two required transformations to apply to the titles obtained from MovieLens prior to searching in IMDb:      <ol  class="enumerate1" >      <li    class="enumerate" id="x1-26002x5.2">remove the year of publication as part of the title of the movie,      </li>      <li    class="enumerate" id="x1-26003x5.2">identify the occurrence of <span  class="ptmri7t-">A, An, The, La, Le, Les </span>after the title, relocate them at the beginning and remove the      initial coma.</li>    </ol> <!--l. 150-->    <p class="noindent" >If search recovers more than one result, the identifiers are not synchronized automatically and they are stored in a temporary structure for <span  class="ptmri7t-">candidates identifiers </span>waiting to be finally resolved by human intervention. Finally, it is important to note that although this process is defined for an initial load, it also applies to synchronize new movies that are added to the cinema listings. <!--l. 165-->    <p class="indent" >   To implement the playback of movie trailers the system uses several ETL processes for content sources. Each adapter solves the particularities of a content supplier to extract, normalize and save the information needed to play the content, such as the input adapter of IVA Trailers which implements data access protocol Open Data Protocol (OData) to query over its data model. As part of the solution we also develop a content suppliers managment that allows to easily incorporate views for playback. It just requires to name the view with the supported supplier&#8217;s identifier. Each view knows how to interpret the information loaded by the ETL and resolves whether it must use the supplier&#8217;s player or use your own, do a redirect, mount an iframe or do whatever it takes. <!--l. 173-->    <p class="indent" >   Finally, in terms of communication between these components, we define a RESTFul API for communication between the mobile application and the movie recommender server, using JSON for the serialization of the exchanged messages. Communication between the movie recommender server and the generic recommender service is achieved through the use of SOAP web services.    <h3 class="sectionHead"><span class="titlemark">6    </span> <a   id="x1-270006"></a>Experimental Validation</h3> <!--l. 4-->    ]]></body>
<body><![CDATA[<p class="noindent" >In this section we will explain the tests and the results obtained when subjecting our system to recommend and make predictions to real groups of users that pretend to go to the cinema. We will begin by describing the test&#8217;s construction, then we will present the main data collected and the result obtained, both individually and for groups of users. <!--l. 9-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">6.1    </span> <a   id="x1-280006.1"></a>Test Description</h4> <!--l. 12-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">6.1.1    </span> <a   id="x1-290006.1.1"></a>Individuals</h5> <!--l. 15-->    <p class="noindent" >We invite six individuals to participate in the tests. On the main characteristics of these individuals we have that four of them are Uruguayan males: two students and two teachers of computer engineering; and two are Argentinian females outside the computer field: a music teacher and a high school student with a major in humanities. The ages range between 23 and 35. We  will identify the users by the letters <span  class="ptmri7t-">A</span>, <span  class="ptmri7t-">B</span>, <span  class="ptmri7t-">C</span>, <span  class="ptmri7t-">D</span>, <span  class="ptmri7t-">E </span>and <span  class="ptmri7t-">F</span>. <!--l. 21-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">6.1.2    </span> <a   id="x1-300006.1.2"></a>Groups</h5> <!--l. 24-->    <p class="noindent" >We make all the possible combinations of these individuals in order to generate groups of 2, 3, 4, 5 and 6 members. In total, we generate 57 groups, and Table&#x00A0;<a  href="#x1-30001r6">6<!--tex4ht:ref: tab:tabGrCount --></a> shows the number of groups by size.        <div class="table">  <!--l. 28-->    <p class="indent" >   <a   id="x1-30001r6"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;6: </span><span   class="content">Number of groups by size. The number of groups for a specific size <span  class="ptmri7t-">k</span>, corresponds to the combination value <img  src="/img/revistas/cleiej/v18n2/2a08235x.png" alt="( )  6k = k!(66!-k)!  "  class="math" >.</span></div><!--tex4ht:label?: x1-30001r6 -->     ]]></body>
<body><![CDATA[<div class="center"  > <!--l. 32-->    <p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08236x.png" alt="|-------|-----------| |Groupsize-|Numberofgroups-| |--2----|----15-----| |--3----|----20-----| |--45----|----165-----| |--6----|----1------| -------------------- " ></div></div>     </div><hr class="endfloat" />    </div>    <h5 class="subsubsectionHead"><span class="titlemark">6.1.3    </span> <a   id="x1-310006.1.3"></a>Cinema listings</h5> <!--l. 49-->    <p class="noindent" >We generate a fictitious cinema listings for 14 days. The movies for each day are taken from existing movies in the system catalog for the years 2007 and 2008. These movies correspond to the latest movies loaded into the <span  class="ptmri7t-">MovieLens 10M</span> <span  class="ptmri7t-">dataset</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xsite:movieLens10M">44</a><a id="br44">]</a></span>. We only consider a subset of the movies for these years, the selection criterion pursued the objective of considering movies with higher amounts of information available in the system, in order to facilitate and help each individual during the process of choosing the film they prefer to see. The movie listings information included the following data: poster, title, genre, director, writer, cast, country, language, synopsis, and the link to the trailer. A total of <img  src="/img/revistas/cleiej/v18n2/2a08237x.png" alt="169  "  class="math" > films are considered, with <img  src="/img/revistas/cleiej/v18n2/2a08238x.png" alt="11  "  class="math" > to <img  src="/img/revistas/cleiej/v18n2/2a08239x.png" alt="13  "  class="math" > movies for each day. <!--l. 59-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">6.1.4    </span> <a   id="x1-320006.1.4"></a>Procedure</h5> <!--l. 61-->    <p class="noindent" >In order to avoid the cold start problem, we request each individual to rate (in the scale <img  src="/img/revistas/cleiej/v18n2/2a08240x.png" alt="1 - 5  "  class="math" >) between <img  src="/img/revistas/cleiej/v18n2/2a08241x.png" alt="10  "  class="math" > to <img  src="/img/revistas/cleiej/v18n2/2a08242x.png" alt="20  "  class="math" > movies that they have watched previously. The movies in this training list are part of the system catalog and are not part of the test cinema listings. Once the user profile for each individual based on these initial ratings is calibrated, we send each user the following information: the groups which they belong to, the days they must go to the cinema with each group, the cinema listings for each day and the movies details. As a second stage of the test, we ask the individuals that for each day and each group, indicate us their degree of preference for each movie, also on a scale of 1 to 5 where:      <ul class="itemize1">      <li class="itemize">1 = <span  class="ptmri7t-">&#8221;I wouldn&#8217;t go in no way&#8221;</span>      </li>      <li class="itemize">2 = <span  class="ptmri7t-">&#8221;I wouldn&#8217;t go&#8221;</span>      </li>      <li class="itemize">3 = <span  class="ptmri7t-">&#8221;Go or not is irrelevant for me&#8221;</span>      </li>      <li class="itemize">4 = <span  class="ptmri7t-">&#8221;I would go&#8221;</span>      </li>      <li class="itemize">5 = <span  class="ptmri7t-">&#8221;I would love to go&#8221;</span></li>    </ul> <!--l. 77-->    <p class="indent" >   An important point to note here is that this value is estimated for each individual based on the cinema listings information and trailers provided. That is, it indicates the degree of preference of the individual to go to the cinema to watch the movie with the group without actually knowing if they will like it after watching it. Later, we will use this information in order to validate our recommender system for individuals. <!--l. 90-->    <p class="indent" >   Finally, we ask each of the individuals, on the basis of the explicit preferences for each day and groups in which he or she participated, to indicate for each of the first three movies recommended by the system, whether they thought that the recommendation was good or not. That is, if it found that the group recommendation generated by the system is useful for the group. We also ask each individual for each day, to indicate whether their favorite movie for the day is actually the movie that the system understands is the most recommended for them. Later, we will use this information in order to validate our recommender system for groups and individuals. <!--l. 99-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">6.2    </span> <a   id="x1-330006.2"></a>Evaluation Methodology</h4> <!--l. 102-->    ]]></body>
<body><![CDATA[<p class="noindent" >In this section we present the methodology we have used in order to evaluate the results of our tests. First, we present the individual evaluation method used to measure whether the individual recommendations were successful or not. Second, we present a group evaluation method for the same purpose, but considering all the groups that have been formed for the test. For both, we will follow a similar approach to the <span  class="ptmri7t-">T-Check method</span>&#x00A0;<span class="cite">&#x00A0;[<a  href="#Xtcheck">47</a><a id="br47">]</a></span> used for technologies evaluation, but supplanting the design stage of a solution and the implementation of prototypes for the design and implementation of the tests we have presented in the subsection&#x00A0;<a  href="#x1-280006.1">6.1<!--tex4ht:ref: sec:testDesc --></a>. Therefore, we will define some hypotheses that we a priori consider that should be fulfilled to consider the system useful for individuals and groups, then we will define the criteria to use in order to evaluate whether the hypotheses are fulfilled or not, and finally (and already at the next section), we will evaluate  whether our hypotheses are fulfilled or not based on the tests performed and the evaluation criteria that we have defined. <!--l. 113-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">6.2.1    </span> <a   id="x1-340006.2.1"></a>Evaluation method for individuals</h5> <!--l. 114-->    <p class="noindent" >Following are the hypotheses and the evaluation criteria that we have defined to test the usefulness of our system individually. The hypothesis are:      <ul class="itemize1">      <li class="itemize"><span  class="ptmri7t-">Individual  hypothesis  1  (IH1)</span>:  Predictions  made  by  the  system  are  similar  to  the  explicit  preferences  that      individuals have indicated a priori for each movie in the cinema listings.      </li>      <li class="itemize"><span  class="ptmri7t-">Individual  hypothesis  2  (IH2)</span>:  The  movie  that  the  system  understands  is  the  most  recommended  for  each      individual for each day, usually coincides with the movie that the individual would choose to go to watch as first      choice.</li>    </ul> <!--l. 123-->    <p class="indent" >   And the evaluation criteria considered are:      <ul class="itemize1">      <li class="itemize"><span  class="ptmri7t-">Evaluation criteria 1 for individual hypothesis 1 (IH1-C1)</span>: This first criterion proposes the MAE calculation      for each individual and then calculating the overall MAE as an average of these. We are going to accept that the      hypothesis is fulfilled if the global value for the individual MAE is similar to the expected value according to      the studies of performance for the <span  class="ptmri7t-">Slope One </span>algorithm mentioned in Section&#x00A0;<a  href="#x1-210004.1">4.1<!--tex4ht:ref: subsec:slopeOneResults --></a>, i.e. similar to <img  src="/img/revistas/cleiej/v18n2/2a08243x.png" alt="0.779  "  class="math" >.      </li>      <li class="itemize"><span  class="ptmri7t-">Evaluation criteria 1 for individual hypothesis 2 (IH2-C1)</span>: This second approach is to compare for each day      and each individual if the first choice that each individual chooses explicitly as the movie that they would go      to see, coincides with the movie that system understand is most recommended for the individual for that day,      i.e. the movie that tops the list of recommendations for the individual for that day. Then, the evaluation criterion      used is based on the responses of individuals during the test when they are prompted to indicate whether their      favorite movie for the day is actually the movie that the system understands is the most recommended for them.      We are going to accept that the hypothesis is fulfilled based in this criterion if at least at half of the cases the      system guesses the user&#8217;s first preferred option.</li>    </ul> <!--l. 140-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">6.2.2    </span> <a   id="x1-350006.2.2"></a>Evaluation method for groups</h5> <!--l. 141-->    <p class="noindent" >Following are the hypotheses and the evaluation criteria that we have defined to test the usefulness of our system at group level. The hypothesis are:      <ul class="itemize1">      <li class="itemize"><span  class="ptmri7t-">Group hypothesis 1 (GH1)</span>: There is a high degree of acceptance in groups for system&#8217;s recommendations.      </li>      <li class="itemize"><span  class="ptmri7t-">Group hypothesis 2 (GH2)</span>: The usefulness of the system does not depend on group size. The system is useful      regardless of group size (considering typical groups that goes to the cinema between 2 and 5 or 6 individuals).</li>    </ul> <!--l. 149-->    <p class="indent" >   And the evaluation criteria considered are:      <ul class="itemize1">      <li class="itemize"><span  class="ptmri7t-">Evaluation criteria 1 for group hypothesis 1 (GH1-C1)</span>: This first criterion proposes the computation of the      percentage of acceptance of each group that goes to the cinema to watch the movie that the system understands      is the most recommended for this group based on the cinema listings for the day. We are going to accept that      the hypothesis is fulfilled based in the following criterion: if at least at a half of the groups, the acceptance      percentage to the system&#8217;s first recommendation reaches or exceeds half of the individuals in the group.      </li>      <li class="itemize"><span  class="ptmri7t-">Evaluation criteria 2 for group hypothesis 1 (GH1-C2)</span>: This second criterion proposes the calculation of the      percentage of acceptance of each group to the movie that was the most accepted movie by individuals in the      group considering the three system recommendations for this group and day. We are going to accept that the      hypothesis is fulfilled based in this criterion: if at least <img  src="/img/revistas/cleiej/v18n2/2a08244x.png" alt="90%  "  class="math" > of the groups, the acceptance percentage to the      system&#8217;s first three recommendations reaches or exceeds half of the individuals in the group. That is, only in      <img  src="/img/revistas/cleiej/v18n2/2a08245x.png" alt="10%  "  class="math" > of groups the absolute majority is not reached.       </li>      <li class="itemize"><span  class="ptmri7t-">Evaluation criteria 1 for group hypothesis 2 (GH2-C1)</span>: We will use the concept of percentile to verify that the      percentages of acceptance (either to the first recommendation option or to the most accepted alternative within      the three recommended items) are similar regardless of the sizes of the groups. For each group size we will plot      the acceptance percentages for percentiles on a scale of 10 and we will observe the behavior of each graph. We      are going to accept that the hypothesis is fulfilled based in this criterion if functional values follow the same      trend for all sizes of groups plotted.</li>    ]]></body>
<body><![CDATA[</ul> <!--l. 176-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">6.3    </span> <a   id="x1-360006.3"></a>Validation and Results for Individuals</h4> <!--l. 180-->    <p class="noindent" >Here are the results for individuals. We present the results organized according to individual evaluation criteria that were defined in the previous section.    <h5 class="subsubsectionHead"><span class="titlemark">6.3.1    </span> <a   id="x1-370006.3.1"></a>Validation of IH1-C1</h5> <!--l. 186-->    <p class="noindent" >For each user and entry in the cinema listings we compute the error obtained by comparing the prediction of the system vs. the explicit user preference. Figure&#x00A0;<a  href="#x1-37001r4">4<!--tex4ht:ref: fig:IH1-C1 --></a> summarizes the results obtained when computing the MAE for each user individually. The overall MAE (average) is <img  src="/img/revistas/cleiej/v18n2/2a08246x.png" alt="1.102  "  class="math" >. It is similar, but worse, than the reference value <img  src="/img/revistas/cleiej/v18n2/2a08247x.png" alt="0.779  "  class="math" >. The standard deviation between absolute estimations is <img  src="/img/revistas/cleiej/v18n2/2a08248x.png" alt="0.766  "  class="math" >, therefore our MAE is in the confidence interval of the expected value (we do not have information about confidence interval in reference works). So, we accept that the hypothesis <span  class="ptmri7t-">IH1 </span>is fulfilled based in this criterion, and therefore, we verify that the predictions made by the system for each user are similar to explicit preferences that users had indicated during the test. As a complementary information, two main differences are in our procedure compared to previous works, that would justify the deviation in MAE estimation. First, the MAE&#8217;s computation is done based on explicit preferences that individuals have indicated previously than watch the movie, and in previous works these values are the preference after watch the movie. Second, we only use 10-20 movies in order to avoid the cold start problem, where previous works have shown that they needed much more information in training stage. <!--l. 216-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >  <a   id="x1-37001r4"></a>      <div class="center"  > <!--l. 217-->    <p class="noindent" > <!--l. 218-->    <p class="noindent" > <img src="/img/revistas/cleiej/v18n2/2a08f6.jpg"><br />     <div class="caption"  ><span class="id">Figure&#x00A0;4: </span><span   class="content">Individual MAE computation by user: mean and standard deviation. Blue line is the overall MAE (average), <img  src="/img/revistas/cleiej/v18n2/2a08249x.png" alt="1.102  "  class="math" >.</span></div><!--tex4ht:label?: x1-37001r4 --> </div>  <!--l. 222-->    ]]></body>
<body><![CDATA[<p class="indent" >   </div><hr class="endfigure">    <h5 class="subsubsectionHead"><span class="titlemark">6.3.2    </span> <a   id="x1-380006.3.2"></a>Validation of IH2-C1</h5> <!--l. 228-->    <p class="noindent" >In order to evaluate this criterion we consider the responses of each individual during the test when they were prompted to indicate whether their favorite movie for the day was actually the movie that the system understood was the most recommended for them. Table&#x00A0;<a  href="#x1-38001r7">7<!--tex4ht:ref: tab:tabSysGuessByDayAndUser --></a> shows the users&#8217; responses, where the computed system&#8217;s hits percentage to the first user option based on these answers is <img  src="/img/revistas/cleiej/v18n2/2a08250x.png" alt="43.75%  "  class="math" >, that does not reach the value of acceptance proposed <img  src="/img/revistas/cleiej/v18n2/2a08251x.png" alt="50%  "  class="math" > (although is very close). Therefore, considering this criterion, we could not accept hypothesis <span  class="ptmri7t-">IH2 </span>as valid. Analyzing what happen, we identify that in many cases, when system does not hit which option would be the user&#8217;s first choice, we have that in general the movie that the system understands is the best option for the user, has a very close explicit preference for the option that is first choice for the user, but that because user answers only <span  class="ptmri7t-">&#8220;Yes / No&#8221;</span>, then when user marks negatively a recommendation from the system, we can not appreciate how close the system was to guess, we can only say if the system was right or not strictly, which is quite strong. Therefore, we propose to observe what happen if we modify the question, asking individuals if their first choice coincides with some of the movies that the system understands are the two most recommended movies for the individual. Now, under this new premise and as we can see in Table&#x00A0;<a  href="#x1-38002r8">8<!--tex4ht:ref: tab:tabSysGuessByDayAndUserR2 --></a>, we found that the hit&#8217;s percentage is <img  src="/img/revistas/cleiej/v18n2/2a08252x.png" alt="58.75%  "  class="math" > surpassing the <img  src="/img/revistas/cleiej/v18n2/2a08253x.png" alt="50%  "  class="math" > that we set as minimum value for the acceptance criteria. And in case of considering the three most recommended movies for the user, as seen in the Table&#x00A0;<a  href="#x1-38003r9">9<!--tex4ht:ref: tab:tabSysGuessByDayAndUserR3 --></a>, in <img  src="/img/revistas/cleiej/v18n2/2a08254x.png" alt="67.5%  "  class="math" > of cases the system is correct that some of these films is the first choice of the individual. Given these results, we can say that our hypothesis <span  class="ptmri7t-">IH2 </span>is not valid, but the following similar hypothesis <span  class="ptmri7t-">IH2&#8217; </span>is valid: the movie that a user would choose to go to see as first choice, usually is one of the two movies that the system understands are the most recommended for this individual and this day. This observation highlights the importance that our system should present at least the first two recommendations, and not just the first one.        <div class="table">  <!--l. 262-->    <p class="indent" >   <a   id="x1-38001r7"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;7: </span><span   class="content"><img  src="/img/revistas/cleiej/v18n2/2a08255x.png" alt="43.75%  "  class="math" > hits to the first user option. Where <span  class="ptmri7t-">y </span>means <span  class="ptmri7t-">&#8220;yes, the system has guessed my first option&#8221;</span>, <span  class="ptmri7t-">n </span>means <span  class="ptmri7t-">&#8220;no, the system has not guessed my first option&#8221;</span>, and dash <span  class="ptmri7t-">- </span>indicates that <span  class="ptmri7t-">&#8220;for that day, the user did not participate</span> <span  class="ptmri7t-">in the test&#8221;</span>.</span></div><!--tex4ht:label?: x1-38001r7 -->     <div class="center"  > <!--l. 267-->    <p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08256x.png" alt="|---|--------------------------------------------| |user|--|--|--|--|--|--|--|day|--|--|---|---|--|---| |---|1-|2-|3-|4-|5-|6-|7-|8-|9-|10|-11-|12-|13-|14-| |A--|y-|n-|y-|y-|n-|y-|y-|y-|n-|n-|-y-|n--|y-|-y-| |BC--|nn-|nn-|y--|ny-|nn-|nn-|nn-|yn-|nn-|nn-|-yn-|ny--|yn-|-yy-| |D--|n-|n-|n-|y-|n-|y-|y-|y-|n-|y-|-y-|y--|y-|-y-| |E--|n-|n-|y-|y-|--|n-|n-|n-|y-|--|-y-|n--|n-|-n-| -F---n--n--y-----n--n--n--n--n--y---y--n---y---y-- " ></div></div>     </div><hr class="endfloat" />    </div>        <div class="table">  <!--l. 284-->    ]]></body>
<body><![CDATA[<p class="indent" >   <a   id="x1-38002r8"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;8: </span><span   class="content"><img  src="/img/revistas/cleiej/v18n2/2a08257x.png" alt="58.75%  "  class="math" > hits to the first user option considering first two recommendations. Where <span  class="ptmri7t-">y</span>, <span  class="ptmri7t-">n </span>and <span  class="ptmri7t-">- </span>indicates the same than Table&#x00A0;<a  href="#x1-38001r7">7<!--tex4ht:ref: tab:tabSysGuessByDayAndUser --></a>.</span></div><!--tex4ht:label?: x1-38002r8 -->     <div class="center"  > <!--l. 287-->    <p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08258x.png" alt="|---|--------------------------------------------| |user|--|--|--|--|--|--|--|day|--|--|---|---|--|---| |---|1-|2-|3-|4-|5-|6-|7-|8-|9-|10|-11-|12-|13-|14-| |A--|y-|n-|y-|y-|n-|y-|y-|y-|n-|n-|-y-|n--|y-|-y-| |BC--|yn-|nn-|y--|yy-|nn-|nn-|nn-|yy-|ny-|yy-|-yn-|yy--|yn-|-yy-| |D--|n-|n-|n-|y-|n-|y-|y-|y-|y-|y-|-y-|y--|y-|-y-| |E--|n-|n-|y-|y-|--|y-|n-|n-|y-|--|-y-|n--|n-|-n-| -F---n--n--y-----n--y--y--n--n--y---y--y---y---y-- " ></div></div>     </div><hr class="endfloat" />    </div>        <div class="table">  <!--l. 304-->    <p class="indent" >   <a   id="x1-38003r9"></a><hr class="float">    <div class="float"  >       <div class="caption"  ><span class="id">Table&#x00A0;9: </span><span   class="content"><img  src="/img/revistas/cleiej/v18n2/2a08259x.png" alt="67.5%  "  class="math" > hits to the first user option considering first three recommendations. Where <span  class="ptmri7t-">y</span>, <span  class="ptmri7t-">n </span>and <span  class="ptmri7t-">- </span>indicates the same than Table&#x00A0;<a  href="#x1-38001r7">7<!--tex4ht:ref: tab:tabSysGuessByDayAndUser --></a>.</span></div><!--tex4ht:label?: x1-38003r9 -->     ]]></body>
<body><![CDATA[<div class="center"  > <!--l. 307-->    <p class="noindent" >     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v18n2/2a08260x.png" alt="|---|--------------------------------------------| |user|--|--|--|--|--|--|--|day|--|--|---|---|--|---| |---|1-|2-|3-|4-|5-|6-|7-|8-|9-|10|-11-|12-|13-|14-| |A--|y-|n-|y-|y-|y-|y-|y-|y-|n-|n-|-y-|n--|y-|-y-| |BC--|yy-|ny-|y--|yy-|nn-|yn-|nn-|yy-|ny-|yy-|-yn-|yy--|yn-|-yy-| |D--|y-|n-|n-|y-|n-|y-|y-|y-|y-|y-|-y-|y--|y-|-y-| |E--|n-|n-|y-|y-|--|y-|n-|n-|y-|--|-y-|n--|n-|-n-| -F---n--n--y-----n--y--y--y--y--y---y--y---y---y-- " ></div></div>     </div><hr class="endfloat" />    </div>    <h4 class="subsectionHead"><span class="titlemark">6.4    </span> <a   id="x1-390006.4"></a>Validation and Results for Groups</h4> <!--l. 328-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">6.4.1    </span> <a   id="x1-400006.4.1"></a>Validation of GH1-C1</h5>  <!--l. 331-->    <p class="indent" >   <a   id="x1-40005r5"></a><hr class="float">    <div class="float"  >      <br> <img src="/img/revistas/cleiej/v18n2/2a08f7.jpg"> <a   id="x1-40001r1"></a>  <a   id="x1-40002r2"></a>     <br> <img src="/img/revistas/cleiej/v18n2/2a08f8.jpg">     <br> <a   id="x1-40003r3"></a> <img src="/img/revistas/cleiej/v18n2/2a08f9.jpg">     <br> <img src="/img/revistas/cleiej/v18n2/2a08f10.jpg"> <a   id="x1-40004r4"></a> </div>  <br />     ]]></body>
<body><![CDATA[<div class="caption"  ><span class="id">Figure&#x00A0;5: </span><span   class="content">Histogram (a) and the empirical cumulative distribution (b) of the percentage of acceptance of each group that goes to the cinema to watch the movie that the system understands is the most recommended movie for this group. Histogram (c) and the empirical cumulative distribution (d) of the percentage of acceptance of each group that goes to the cinema to watch the movie that was the most accepted movie by individuals in the group considering the three system recommendations for this group and day.</span></div><!--tex4ht:label?: x1-40005r5 -->     </div><hr class="endfloat" /> <!--l. 357-->    <p class="noindent" >Figures&#x00A0;<a  href="#x1-40001r1">5(a)<!--tex4ht:ref: fig:GH1-C1-h --></a> and &#x00A0;<a  href="#x1-40002r2">5(b)<!--tex4ht:ref: fig:GH1-C1-cdf --></a> show the histogram and the empirical cumulative distribution of the groups&#8217;s acceptance to watch the movie that the system understands is the most recommended movie for this group. <img  src="/img/revistas/cleiej/v18n2/2a08261x.png" alt="71.9%  "  class="math" > of groups accept the first recommendation, therefore we accept that the hypothesis is fulfilled based in this criterion.    <h5 class="subsubsectionHead"><span class="titlemark">6.4.2    </span> <a   id="x1-410006.4.2"></a>Validation of GH1-C2</h5> <!--l. 364-->    <p class="noindent" >Figures&#x00A0;<a  href="#x1-40003r3">5(c)<!--tex4ht:ref: fig:GH1-C2-h --></a> and &#x00A0;<a  href="#x1-40004r4">5(d)<!--tex4ht:ref: fig:GH1-C2-cdf --></a> show the histogram and the empirical cumulative distribution of the groups&#8217;s acceptance to watch the movie that was the most accepted movie by individuals in the group considering the three system recommendations for this group and day. As expected, a larger value of acceptance than GH1-C1 is obtained. In this case, <img  src="/img/revistas/cleiej/v18n2/2a08262x.png" alt="98.2%  "  class="math" > of groups accept one of the three main system recommendations. Therefore, we accept that the hypothesis is fulfilled based in this criterion. <!--l. 371-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">6.4.3    </span> <a   id="x1-420006.4.3"></a>Validation of GH2-C1</h5> <!--l. 374-->    <p class="noindent" ><hr class="figure">    <div class="figure"  >  <a   id="x1-42001r6"></a>      <div class="center"  > <!--l. 375-->    <p class="noindent" > <!--l. 376-->    <p class="noindent" > <img src="/img/revistas/cleiej/v18n2/2a08f11.jpg"><br />     <div class="caption"  ><span class="id">Figure&#x00A0;6: </span><span   class="content">Empirical cumulative distributions (by group size) of the percentage of acceptance of each group that goes to the cinema to watch the movie that the system understands is the most recommended movie for this group.</span></div><!--tex4ht:label?: x1-42001r6 --> </div>  <!--l. 381-->    ]]></body>
<body><![CDATA[<p class="noindent" ></div><hr class="endfigure"> <!--l. 383-->    <p class="indent" >   Figure&#x00A0;<a  href="#x1-42001r6">6<!--tex4ht:ref: fig:GH2-C1 --></a> shows the empirical cumulative distributions (by group size) of the percentage of acceptance of each group that goes to the cinema to watch the movie that the system understands is the most recommended movie for this group. There is no change in behavior between group sizes, therefore we accept that the hypothesis is fulfilled based in this criterion.    <h3 class="sectionHead"><span class="titlemark">7    </span> <a   id="x1-430007"></a>Conclusion</h3> <!--l. 5-->    <p class="noindent" >In this paper, we present a system that recommend movies from cinema listing to ephemeral groups. To offer recommendations to ephemeral groups is a new research area and it has several practical applications beyond our particular case. In our work, we combine a group model based strategy with a collaborative filtering algorithm for individuals. As collaborative filtering we use the Slope One algorithm in order to compute individual predictions, and as group model we use the multiplicative utilitarian strategy as the technique to join predictions into a recommendation to the group. <!--l. 14-->    <p class="indent" >   We study in depth the application of these techniques to our specific problem, including the solution of practical problems and few improvements applicable to the particular case. As particular problems, we solve the ramp-up problem and the cold start problem, and we use the geometric mean in order to fit the scale of the multiplicative utilitarian strategy. As improvements, we implement the full system in a small server without the use of big-data software, we modify the computation of individual predictions in order to have a faster response (without loss of quality) and in order to allow the use of very useful pre-filters in the query. <!--l. 22-->    <p class="indent" >   We create a full prototype of the system, and we validate it in a real scenario with <img  src="/img/revistas/cleiej/v18n2/2a08263x.png" alt="57  "  class="math" > groups of sizes between <img  src="/img/revistas/cleiej/v18n2/2a08264x.png" alt="2  "  class="math" > and <img  src="/img/revistas/cleiej/v18n2/2a08265x.png" alt="6  "  class="math" > members. For this scenario, we measure the effectiveness of our solution for individual and group recommendations. We validate that our predictions for individuals are similar to the explicit preferences that individuals have indicated a priori for each movie in the cinema listings, and one of the main three recommendations coincides in <img  src="/img/revistas/cleiej/v18n2/2a08266x.png" alt="67.5%  "  class="math" > of cases with the movie that the individual would choose to go to watch as their first choice. And more importantly, we validate that our recommendations for groups have a high degree of acceptance (<img  src="/img/revistas/cleiej/v18n2/2a08267x.png" alt="98.2%  "  class="math" > of groups accept one of the three main system recommendations), and it does not depend on the group size (considering a typical group size of moviegoers between 2 and 6 individuals). <!--l. 31-->    <p class="indent" >   We expect to transform our prototype into a service, because it is close to a production software: as end-user interface we use a mobile application following the standard HTML5 with good response times, the authentication is done via common social networks, extra information about movies is downloaded from IMDb, and many other features. <!--l. 1-->    <p class="indent" >     <h3 class="likesectionHead"><a   id="x1-440007"></a>References</h3> <!--l. 2-->    <p class="noindent" >         <div class="thebibliography">         <p class="bibitem" ><span class="biblabel">   [<a href="#br1">1</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xbanerjee2014:ott-bypass"></a>A.&#x00A0;Banerjee,  P.&#x00A0;Rappoport,  and  J.&#x00A0;Alleman,  &#8220;Forecasting  video  cord-cutting:  The  bypass  of  traditional     pay  television,&#8221;  in  <span  class="ptmri7t-">Demand  for  Communications  Services  -  Insights  and  Perspectives</span>,  ser.  The  Economics     of  Information,  Communication,  and  Entertainment,  J.&#x00A0;Alleman,  i.&#x00A0;M.&#x00A0;P.  NÃ-ShÃ<sup class="textsuperscript"><span  class="ptmr7t-x-x-90">o</span></sup>illeabhÃ¡in,  and  P.&#x00A0;N.     Rappoport, Eds.    Springer US, 2014, pp. 59&#8211;82.     </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">   [<a href="#br2">2</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xdavidson2010:youtube-recsys"></a>J.&#x00A0;Davidson,   B.&#x00A0;Liebald,   J.&#x00A0;Liu,   P.&#x00A0;Nandy,   T.&#x00A0;V.   Vleet,   U.&#x00A0;Gargi,   S.&#x00A0;Gupta,   Y.&#x00A0;He,   M.&#x00A0;Lambert,     B.&#x00A0;Livingston,  and  D.&#x00A0;Sampath,  &#8220;The  youtube  video  recommendation  system,&#8221;  in  <span  class="ptmri7t-">Proceedings  of  the  2010</span>     <span  class="ptmri7t-">ACM Conference on Recommender Systems, RecSys 2010, Barcelona, Spain, September 26-30, 2010</span>, 2010, pp.     293&#8211;296. [Online]. Available: <a href="http://doi.acm.org/10.1145/1864708.1864770">http://doi.acm.org/10.1145/1864708.1864770</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br3">3</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xzhou2010:impact-of-youtube"></a>R.&#x00A0;Zhou, S.&#x00A0;Khemmarat, and L.&#x00A0;Gao, &#8220;The impact of youtube recommendation system on video views,&#8221; in     <span  class="ptmri7t-">Proceedings of the 10th ACM SIGCOMM Conference on Internet Measurement 2010, Melbourne, Australia -</span>     <span  class="ptmri7t-">November 1-3, 2010</span>, 2010, pp. 404&#8211;410. [Online]. Available: <a href="http://doi.acm.org/10.1145/1879141.1879193">http://doi.acm.org/10.1145/1879141.1879193</a>      </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br4">4</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:amazoninstantvideo"></a>Amazon, &#8220;Amazon instant video,&#8221; <a href="http://www.amazon.com/Instant-Video/b?node=2858778011">http://www.amazon.com/Instant-Video/b?node=2858778011</a>, last access:     2015-03-29.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br5">5</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:crackle"></a>Crackle,  &#8220;Crackle  home  page,&#8221; <a href="http://www.crackle.com">http://www.crackle.com</a>,  last  access:  2015-03-29.  [Online].  Available:     <a href="http://www.crackle.com">http://www.crackle.com</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br6">6</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xkreitz2010:spotify"></a>G.&#x00A0;Kreitz and F.&#x00A0;Niemelä, &#8220;Spotify &#8211; large scale, low latency, P2P music-on-demand streaming,&#8221; in <span  class="ptmri7t-">IEEE</span>     <span  class="ptmri7t-">Tenth International Conference on Peer-to-Peer Computing, P2P 2010, Delft, The Netherlands, 25-27 August</span>     <span  class="ptmri7t-">2010</span>, 2010, pp. 1&#8211;10. [Online]. Available: <a href="http://dx.doi.org/10.1109/P2P.2010.5569963">http://dx.doi.org/10.1109/P2P.2010.5569963</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br7">7</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:deezer"></a>&#8220;Deezer - Discover music you&#8217;ll love,&#8221; <a href="http://www.deezer.com/">http://www.deezer.com/</a>, last access: 2015-03-29. [Online]. Available:     <a href="http://www.deezer.com/">http://www.deezer.com/</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br8">8</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:googleplaymusic"></a>&#8220;Google   Play   Music,&#8221;   <a href="https://play.google.com/music/">https://play.google.com/music/</a>,   last   access:   2015-03-29.   [Online].   Available:     <a href="https://play.google.com/music/listen">https://play.google.com/music/listen</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br9">9</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:streaming:napster"></a>Napster, &#8220;Rhapsody home page,&#8221; <a href="http://www.napster.com/">http://www.napster.com/</a>, napster has joined Rhapsody! Millions of songs     to play as much as you want, Last access: 2015-03-29. [Online]. Available: <a href="http://www.rhapsody.com/">http://www.rhapsody.com/</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br10">10</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xricci2011:handbook"></a>F.&#x00A0;Ricci, L.&#x00A0;Rokach, B.&#x00A0;Shapira, and P.&#x00A0;Kantor, <span  class="ptmri7t-">Recommender Systems Handbook</span>.    New York Dordrecht     Heidelberg London: Springer Publishing Company, Incorporated, 2011.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br11">11</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmasthoff2011:combining-indiv-models"></a>J.&#x00A0;Masthoff,  &#8220;Group  recommender  systems:  Combining  individual  models,&#8221;  in  <span  class="ptmri7t-">Recommender  Systems</span>     <span  class="ptmri7t-">Handbook</span>, F.&#x00A0;Ricci, L.&#x00A0;Rokach, B.&#x00A0;Shapira, and P.&#x00A0;B. Kantor, Eds.    Springer US, 2011, pp. 677&#8211;702.     </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">  [<a href="#br12">12</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmasthoff2004"></a>&#8212;&#8212;,   &#8220;Group   modeling:   Selecting   a   sequence   of   television   items   to   suit   a   group   of   viewers,&#8221;     <span  class="ptmri7t-">User   Modeling   and   User-Adapted   Interaction</span>,   vol.&#x00A0;14,   no.&#x00A0;1,   pp.   37&#8211;85,   2004.   [Online].   Available:     <a href="http://dx.doi.org/10.1023/B3AUSER.0000010138.79319.fd">http://dx.doi.org/10.1023/B3AUSER.0000010138.79319.fd</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br13">13</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xoconnor2001"></a>M.&#x00A0;O&#8217;Connor, D.&#x00A0;Cosley, J.&#x00A0;A. Konstan, and J.&#x00A0;Riedl, &#8220;Polylens: A recommender system for groups of     users,&#8221; in <span  class="ptmri7t-">Proceedings of the Seventh Conference on European Conference on Computer Supported Cooperative</span>     <span  class="ptmri7t-">Work</span>,  ser.  ECSCW&#8217;01.     Norwell,  MA,  USA:  Kluwer  Academic  Publishers,  2001,  pp.  199&#8211;218.  [Online].     Available: <a href="http://dl.acm.org/citation.cfm?id=1241867.1241878">http://dl.acm.org/citation.cfm?id=1241867.1241878</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br14">14</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xbernier2010"></a>C.&#x00A0;Bernier, A.&#x00A0;Brun, A.&#x00A0;Aghasaryan, M.&#x00A0;Bouzid, J.&#x00A0;Picault, and C.&#x00A0;Senot, &#8220;Topology of communities for     the collaborative recommendations to groups,&#8221; in <span  class="ptmri7t-">Information Systems and Economic Intelligence - SIIE&#8217;2010</span>,     Sousse, Tunisie, 2010, p. 6 p. [Online]. Available: <a href="http://hal.archives-ouvertes.fr/hal-00546932">http://hal.archives-ouvertes.fr/hal-00546932</a>      </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br15">15</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xgorla2013:probabilistic-group-recommendation"></a>J.&#x00A0;Gorla,  N.&#x00A0;Lathia,  S.&#x00A0;Robertson,  and  J.&#x00A0;Wang,  &#8220;Probabilistic  group  recommendation  via  information     matching,&#8221; in <span  class="ptmri7t-">22nd International World Wide Web Conference, WWW &#8217;13, Rio de Janeiro, Brazil, May 13-17,</span>     <span  class="ptmri7t-">2013</span>, 2013, pp. 495&#8211;504. [Online]. Available: <a href="http://dl.acm.org/citation.cfm?id=2488432">http://dl.acm.org/citation.cfm?id=2488432</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br16">16</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xnajjar2014:differential-neighborhood-selection"></a>N.&#x00A0;Najjar  and  D.&#x00A0;Wilson,  &#8220;Differential  neighborhood  selection  in  memory-based  group  recommender     systems,&#8221; 2014. [Online]. Available: <a href="https://www.aaai.org/ocs/index.php/FLAIRS/FLAIRS14/paper/view/7854">https://www.aaai.org/ocs/index.php/FLAIRS/FLAIRS14/paper/view/7854</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br17">17</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xboratto2012:groups-classification"></a>L.&#x00A0;Boratto,   &#8220;Group   recommendation   with   automatic   detection   and   classification   of   groups,&#8221;   Ph.D.     dissertation, Universita&#8217; degli Studi di Cagliari - Dipartimento di Matematica e Informatica, 03 2012, tutor: Carta,     Salvatore M.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br18">18</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xpopescu2013"></a>G.&#x00A0;Popescu,  &#8220;Group  recommender  systems  as  a  voting  problem,&#8221;  in  <span  class="ptmri7t-">Online  Communities  and  Social</span>     <span  class="ptmri7t-">Computing</span>,  ser.  Lecture  Notes  in  Computer  Science,  A.&#x00A0;Ozok  and  P.&#x00A0;Zaphiris,  Eds.     Springer  Berlin     Heidelberg, 2013, vol. 8029, pp. 412&#8211;421. [Online]. Available: <a href="http://dx.doi.org/10.1007/978-3-642-39371-6-46">http://dx.doi.org/10.1007/978-3-642-39371-6-46</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br19">19</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xburke2007:hybrid-recommender"></a>R.&#x00A0;Burke,  &#8220;The  adaptive  web,&#8221;  P.&#x00A0;Brusilovsky,  A.&#x00A0;Kobsa,  and  W.&#x00A0;Nejdl,  Eds.     Berlin,  Heidelberg:     Springer-Verlag,   2007,   ch.   Hybrid   Web   Recommender   Systems,   pp.   377&#8211;408.   [Online].   Available:     <a href="http://dl.acm.org/citation.cfm?id=1768197.1768211">http://dl.acm.org/citation.cfm?id=1768197.1768211</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br20">20</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xkoren2010:factorintheneighbors"></a>Y.&#x00A0;Koren, &#8220;Factor in the neighbors: Scalable and accurate collaborative filtering,&#8221; <span  class="ptmri7t-">ACM Trans. Knowl. Discov.</span>     <span  class="ptmri7t-">Data</span>, vol.&#x00A0;4, no.&#x00A0;1, pp. 1:1&#8211;1:24, Jan. 2010. [Online]. Available: <a href="http://doi.acm.org/10.1145/1644873.1644874">http://doi.acm.org/10.1145/1644873.1644874</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br21">21</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xbreese1998"></a>J.&#x00A0;S. Breese, D.&#x00A0;Heckerman, and C.&#x00A0;Kadie, &#8220;Empirical analysis of predictive algorithms for collaborative     filtering,&#8221;   in   <span  class="ptmri7t-">Proceedings   of   the   Fourteenth   Conference   on   Uncertainty   in   Artificial   Intelligence</span>,   ser.     UAI&#8217;98.    San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1998, pp. 43&#8211;52. [Online]. Available:     <a href="http://dl.acm.org/citation.cfm?id=2074094.2074100">http://dl.acm.org/citation.cfm?id=2074094.2074100</a>     </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">  [<a href="#br22">22</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xcandillier2009:state"></a>L.&#x00A0;Candillier, K.&#x00A0;Jack, F.&#x00A0;Fessant, and F.&#x00A0;Meyer, &#8220;State-of-the-art recommender systems,&#8221; in <span  class="ptmri7t-">Collaborative</span>     <span  class="ptmri7t-">and Social Information Retrieval and Access: Techniques for Improved User Modeling</span>.   Hershey, PA, USA: IGI     Global, 2009, p.&#x00A0;22.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br23">23</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xkoren2009:matrix-factorization"></a>Y.&#x00A0;Koren, R.&#x00A0;Bell, and C.&#x00A0;Volinsky, &#8220;Matrix factorization techniques for recommender systems,&#8221; <span  class="ptmri7t-">Computer</span>,     vol.&#x00A0;42, no.&#x00A0;8, pp. 30&#8211;37, 2009.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br24">24</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xkoren2011:advancesincf"></a>Y.&#x00A0;Koren and R.&#x00A0;Bell, &#8220;Advances in collaborative filtering,&#8221; in <span  class="ptmri7t-">Recommender Systems Handbook</span>, F.&#x00A0;Ricci,     L.&#x00A0;Rokach, B.&#x00A0;Shapira, and P.&#x00A0;B. Kantor, Eds.    Springer US, 2011, pp. 145&#8211;186.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br25">25</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xgong2010"></a>S.&#x00A0;Gong, &#8220;A collaborative filtering recommendation algorithm based on user clustering and item clustering,&#8221;     <span  class="ptmri7t-">Journal of Software</span>, vol.&#x00A0;5, no.&#x00A0;7, pp. 745&#8211;752, 2010.      </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br26">26</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsarwar2001"></a>B.&#x00A0;Sarwar,  G.&#x00A0;Karypis,  J.&#x00A0;Konstan,  and  J.&#x00A0;Riedl,  &#8220;Item-based  collaborative  filtering  recommendation     algorithms,&#8221; in <span  class="ptmri7t-">Proceedings of the 10th International Conference on World Wide Web</span>, ser. WWW &#8217;01.    New     York, NY, USA: ACM, 2001, pp. 285&#8211;295. [Online]. Available: <a href="http://doi.acm.org/10.1145/371920.372071">http://doi.acm.org/10.1145/371920.372071</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br27">27</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XLinden2003itemtoitem"></a>G.&#x00A0;Linden, B.&#x00A0;Smith, and J.&#x00A0;York, &#8220;Amazon.com recommendations: item-to-item collaborative filtering,&#8221;     <span  class="ptmri7t-">Internet Computing, IEEE</span>, vol.&#x00A0;7, no.&#x00A0;1, pp. 76&#8211;80, Jan 2003.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br28">28</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XLinden-Collaborative-1998"></a>G.&#x00A0;Linden,  J.&#x00A0;Jacobi,  and  E.&#x00A0;Benson,  &#8220;Collaborative  recommendations  using  item-to-item  similarity     mappings,&#8221; 1998, patent no. US 6.266.649. [Online]. Available: <a href="http://www.freepatentsonline.com/6266649.pdf">http://www.freepatentsonline.com/6266649.pdf</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br29">29</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xlemire2005"></a>D.&#x00A0;Lemire  and  A.&#x00A0;Maclachlan,  &#8220;Slope  one  predictors  for  online  rating-based  collaborative  filtering,&#8221;  in     <span  class="ptmri7t-">Proceedings of SIAM Data Mining (SDM&#8217;05)</span>, 2005.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br30">30</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XmahoutInAction2010"></a>R.&#x00A0;Anil,  S.&#x00A0;Owen,  T.&#x00A0;Dunning,  and  E.&#x00A0;Friedman,  <span  class="ptmri7t-">Mahout  in  Action</span>,  Manning  Publications  Co.  Sound     View Ct. 3B Greenwich, CT 06830, 2010. [Online]. Available: <a href="http://manning.com/owen/">http://manning.com/owen/</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br31">31</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmarschik2010evaluation"></a>P.&#x00A0;Marschik, &#8220;Evaluation of collaborative filtering algorithms,&#8221; <span  class="ptmri7t-">Doktorska disertacija</span>, 2010.     </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">  [<a href="#br32">32</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xli2014:optimized-slope-one"></a>Q.&#x00A0;Li, S.&#x00A0;Han, Y.&#x00A0;Li, and Q.&#x00A0;Ren, &#8220;Threshold optimized slope one algorithm based book recommendation,&#8221;     in <span  class="ptmri7t-">Advances in Communication Technology and Application</span>.    WITPRESS LTD., dec 2014. [Online]. Available:     <a href="http://dx.doi.org/10.2495/CTA140341">http://dx.doi.org/10.2495/CTA140341</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br33">33</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xlivingstone2002young"></a>S.&#x00A0;Livingstone, <span  class="ptmri7t-">Young People and New Media: Childhood and the Changing Media Environment</span>.    SAGE     Publications, 2002. [Online]. Available: <a href="http://books.google.com.uy/books?id=nR3aAAAAMAAJ">http://books.google.com.uy/books?id=nR3aAAAAMAAJ</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br34">34</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmccarthy1998"></a>J.&#x00A0;F.   McCarthy   and   T.&#x00A0;D.   Anagnost,   &#8220;Musicfx:   An   arbiter   of   group   preferences   for   computer     supported  collaborative  workouts,&#8221;  in  <span  class="ptmri7t-">Proceedings  of  the  1998  ACM  Conference  on  Computer  Supported</span>     <span  class="ptmri7t-">Cooperative  Work</span>,  ser.  CSCW  &#8217;98.     New  York,  NY,  USA:  ACM,  1998,  pp.  363&#8211;372.  [Online].  Available:     <a href="http://doi.acm.org/10.1145/289444.289511">http://doi.acm.org/10.1145/289444.289511</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br35">35</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xhastie05therobust"></a>R.&#x00A0;Hastie and T.&#x00A0;Kameda, &#8220;The robust beauty of majority rules in group decisions,&#8221; <span  class="ptmri7t-">Psychological Review</span>,     p. 508, 2005.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br36">36</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xtaylor1995mathematics"></a>A.&#x00A0;Taylor, <span  class="ptmri7t-">Mathematics and Politics: Stgrategy, Voting, Power and Proof</span>, ser. Textbooks in mathematical     sciences.    Springer-Verlag, 1995. [Online]. Available: <a href="http://books.google.com.uy/books?id=jistymXGwUYC">http://books.google.com.uy/books?id=jistymXGwUYC</a>      </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br37">37</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xkasari1992"></a>S.&#x00A0;Kasari, H.;&#x00A0;Nurmi, &#8220;Tv audience segments based on viewing behaviour,&#8221; in <span  class="ptmri7t-">Proceedings of Worldwide</span>     <span  class="ptmri7t-">broadcast audience research symposium</span>.    ESOMAR , Amsterdam: ACM, 1992, pp. 175&#8211;192.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br38">38</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:netflix"></a>Netflix,  &#8220;Netflix  -  Watch  TV  Shows  Online,  Watch  Movies  Online,&#8221;  <a href="http://www.netflix.com">http://www.netflix.com</a>,  last  access:     2012-04-23.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br39">39</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsenot2011"></a>C.&#x00A0;Senot,  D.&#x00A0;Kostadinov,  M.&#x00A0;Bouzid,  J.&#x00A0;Picault,  and  A.&#x00A0;Aghasaryan,  &#8220;Evaluation  of  group  profiling     strategies,&#8221;  in  <span  class="ptmri7t-">Proceedings  of  the  Twenty-Second  International  Joint  Conference  on  Artificial  Intelligence</span>     <span  class="ptmri7t-">-   Volume   Volume   Three</span>,   ser.   IJCAI&#8217;11.      AAAI   Press,   2011,   pp.   2728&#8211;2733.   [Online].   Available:     <a href="http://dx.doi.org/10.5591/978-1-57735-516-8/IJCAI11-454">http://dx.doi.org/10.5591/978-1-57735-516-8/IJCAI11-454</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br40">40</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmill1863utilitarianism"></a>J.&#x00A0;Mill,        <span  class="ptmri7t-">Utilitarianism</span>.          Parker,        Son        and        Bourn,        1863.        [Online].        Available:     <a href="http://books.google.com.uy/books?id=lyUCAAAAQAAJ">http://books.google.com.uy/books?id=lyUCAAAAQAAJ</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br41">41</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmasthoff02modelinga"></a>J.&#x00A0;Masthoff,  &#8220;Modeling  a  group  of  television  viewers,&#8221;  in  <span  class="ptmri7t-">Proceedings  of  the  Workshop  Future  tv,  in</span>     <span  class="ptmri7t-">Intelligent Tutoring Systems Conference</span>, 2002, pp. 34&#8211;42.     </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">  [<a href="#br42">42</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xmasthoff2006inpursuit"></a>J.&#x00A0;Masthoff and A.&#x00A0;Gatt, &#8220;In pursuit of satisfaction and the prevention of embarrassment: affective state in     group  recommender  systems,&#8221;  <span  class="ptmri7t-">User  Modeling  and  User-Adapted  Interaction</span>,  vol.&#x00A0;16,  no.  3-4,  pp.  281&#8211;319,     2006. [Online]. Available: <a href="http://dx.doi.org/10.1007/s11257-006-9008-3">http://dx.doi.org/10.1007/s11257-006-9008-3</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br43">43</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xburke99"></a>R.&#x00A0;Burke,     M.&#x00A0;Claypool,     A.&#x00A0;Gokhale,     T.&#x00A0;Miranda,     P.&#x00A0;Murnikov,     and     D.&#x00A0;Netes,     &#8220;Integrating     Knowledge-based and Collaborative-filtering Recommender Systems,&#8221; in <span  class="ptmri7t-">Proceedings of Workshop on AI and</span>     <span  class="ptmri7t-">Electronic Commerce</span>.    AAAI, 1999. [Online]. Available: <a href="http://citeseer.nj.nec.com/burke99integrating.html">http://citeseer.nj.nec.com/burke99integrating.html</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br44">44</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:movieLens10M"></a>G.&#x00A0;R.      at&#x00A0;the      University&#x00A0;of      Minnesota,      &#8220;MovieLens      10M/100k      Data      Set      README,&#8221;     <a href="http://www.grouplens.org/system/files/ml-10m-README.html">http://www.grouplens.org/system/files/ml-10m-README.html</a>, last access: 2012-04-23.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br45">45</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xjameson2007"></a>A.&#x00A0;Jameson and B.&#x00A0;Smyth, <span  class="ptmri7t-">The Adaptive Web: Methods and Strategies of Web Personalization</span>.    Springer,     2007.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br46">46</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsite:imdbpy"></a>IMDbPY, &#8220;Imdbpy,&#8221; <a href="http://imdbpy.sourceforge.net/">http://imdbpy.sourceforge.net/</a>, last access: 2013-11-30.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br47">47</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xtcheck"></a>L.&#x00A0;Wrage and G.&#x00A0;Lewis, &#8220;T-check: Low-cost approach to technology evaluation (cmu/sei-2010-tn-069),&#8221;     Software Engineering Institute, Carnegie Mellon University, Tech. Rep., 2010. </p>     </div>           ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Banerjee]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Rappoport]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Alleman]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Forecasting video cord-cutting: The bypass of traditional pay television]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Alleman]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[N-Shilleabhin]]></surname>
<given-names><![CDATA[M. P.]]></given-names>
</name>
<name>
<surname><![CDATA[Rappoport]]></surname>
<given-names><![CDATA[P. N.]]></given-names>
</name>
</person-group>
<source><![CDATA[Demand for Communications Services - Insights and Perspectives: The Economics of Information, Communication, and Entertainment]]></source>
<year>2014</year>
<page-range>59-82</page-range><publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Davidson]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Liebald]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Nandy]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Vleet]]></surname>
<given-names><![CDATA[T. V.]]></given-names>
</name>
<name>
<surname><![CDATA[Gargi]]></surname>
<given-names><![CDATA[U]]></given-names>
</name>
<name>
<surname><![CDATA[Gupta]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[He]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Lambert]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Livingston]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Sampath]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The youtube video recommendation system]]></article-title>
<source><![CDATA[Proceedings of the 2010 ACM Conference on Recommender Systems]]></source>
<year>2010</year>
<page-range>293-296</page-range><publisher-loc><![CDATA[Barcelona ]]></publisher-loc>
<publisher-name><![CDATA[RecSys]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Zhou]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Khemmarat]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Gao]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The impact of youtube recommendation system on video views]]></article-title>
<source><![CDATA[Proceedings of the 10th ACM SIGCOMM Conference on Internet Measurement]]></source>
<year>Nove</year>
<month>mb</month>
<day>er</day>
<page-range>404-410</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="">
<source><![CDATA[Amazon: Amazon instant video]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<source><![CDATA[Crackle: Crackle home page]]></source>
<year>2015</year>
<month>-0</month>
<day>3-</day>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kreitz]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Niemelä]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Spotify - large scale, low latency, P2P music-on-demand streaming]]></article-title>
<source><![CDATA[IEEE Tenth International Conference on Peer-to-Peer Computing]]></source>
<year>Augu</year>
<month>st</month>
<day> 2</day>
<page-range>1-10</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<source><![CDATA[Deezer - Discover music you’ll love]]></source>
<year>2015</year>
<month>-0</month>
<day>3-</day>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<source><![CDATA[Google Play Music]]></source>
<year>2015</year>
<month>-0</month>
<day>3-</day>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<collab>Napster</collab>
<source><![CDATA[Rhapsody home page]]></source>
<year>2015</year>
<month>-0</month>
<day>3-</day>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ricci]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Rokach]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Shapira]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Kantor]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[Recommender Systems Handbook: New York Dordrecht Heidelberg London]]></source>
<year>2011</year>
<publisher-name><![CDATA[Springer Publishing Company]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Masthoff]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Group recommender systems: Combining individual models]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Ricci]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Rokach]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Shapira]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Kantor]]></surname>
<given-names><![CDATA[P. B.]]></given-names>
</name>
</person-group>
<source><![CDATA[Recommender Systems Handbook]]></source>
<year>2011</year>
<page-range>677-702</page-range><publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Masthoff]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Group modeling: Selecting a sequence of television items to suit a group of viewers]]></article-title>
<source><![CDATA[User Modeling and User-Adapted Interaction]]></source>
<year></year>
<volume>14</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>37-85</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[O’Connor]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Cosley]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Konstan]]></surname>
<given-names><![CDATA[J. A.]]></given-names>
</name>
<name>
<surname><![CDATA[Riedl]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Polylens: A recommender system for groups of users]]></article-title>
<source><![CDATA[Proceedings of the Seventh Conference on European Conference on Computer Supported Cooperative Work]]></source>
<year>2001</year>
<page-range>199-218</page-range><publisher-loc><![CDATA[MA ]]></publisher-loc>
<publisher-name><![CDATA[Kluwer Academic Publishers]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bernier]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Brun]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Aghasaryan]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Bouzid]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Picault]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Senot]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Topology of communities for the collaborative recommendations to groups]]></article-title>
<source><![CDATA[inInformation Systems and Economic Intelligence: SIIE’2010]]></source>
<year>2010</year>
<page-range>6</page-range><publisher-loc><![CDATA[Sousse ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gorla]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Lathia]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Robertson]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Probabilistic group recommendation via information matching]]></article-title>
<source><![CDATA[in22nd International World Wide Web Conference]]></source>
<year>May </year>
<month>13</month>
<day>-1</day>
<page-range>495-504</page-range><publisher-loc><![CDATA[Rio de Janeiro ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Najjar]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Wilson]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Differential neighborhood selection in memory-based group recommender systems]]></source>
<year>2014</year>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Boratto]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Group recommendation with automatic detection and classification of groups: Ph.D. dissertation]]></source>
<year>03 2</year>
<month>01</month>
<day>2</day>
<publisher-name><![CDATA[Universita’ degli Studi di Cagliari]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Popescu]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Group recommender systems as a voting problem]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Ozok]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Zaphiris]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[in Online Communities and Social Computing: Lecture Notes in Computer Science]]></source>
<year>2013</year>
<volume>8029</volume>
<page-range>412-421</page-range><publisher-loc><![CDATA[BerlinHeidelberg ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Burke]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The adaptive web]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Brusilovsky]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Kobsa]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Nejdl]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
</person-group>
<source><![CDATA[]]></source>
<year>2007</year>
<page-range>377-408</page-range><publisher-loc><![CDATA[BerlinHeidelberg ]]></publisher-loc>
<publisher-name><![CDATA[Springer-Verlag]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Koren]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Factor in the neighbors: Scalable and accurate collaborative filtering]]></article-title>
<source><![CDATA[ACM Trans: Knowl. Discov. Data]]></source>
<year>24, </year>
<month>Ja</month>
<day>n.</day>
<volume>4</volume>
<page-range>1:1-1</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Breese]]></surname>
<given-names><![CDATA[J. S.]]></given-names>
</name>
<name>
<surname><![CDATA[Heckerman]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Kadie]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Empirical analysis of predictive algorithms for collaborative filtering]]></article-title>
<source><![CDATA[Proceedings of the Fourteenth Conference on Uncertainty in Artificial Intelligence]]></source>
<year>1998</year>
<page-range>43-52</page-range><publisher-loc><![CDATA[San Francisco^eCA CA]]></publisher-loc>
<publisher-name><![CDATA[Morgan Kaufmann Publishers Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Candillier]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Jack]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Fessant]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Meyer]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[State-of-the-art recommender systems]]></article-title>
<source><![CDATA[in Collaborative and Social Information Retrieval and Access: Techniques for Improved User Modeling]]></source>
<year>2009</year>
<page-range>22</page-range><publisher-loc><![CDATA[PA ]]></publisher-loc>
<publisher-name><![CDATA[Hershey]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Koren]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Bell]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Volinsky]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Matrix factorization techniques for recommender systems]]></article-title>
<source><![CDATA[Computer]]></source>
<year>2009</year>
<volume>42</volume>
<numero>8</numero>
<issue>8</issue>
<page-range>30-37</page-range></nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Koren]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Bell]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Advances in collaborative filtering]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Ricci]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Rokach]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Shapira]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Kantor]]></surname>
<given-names><![CDATA[P. B.]]></given-names>
</name>
</person-group>
<source><![CDATA[in Recommender Systems Handbook]]></source>
<year>2011</year>
<page-range>145-186</page-range><publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B25">
<label>25</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gong]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A collaborative filtering recommendation algorithm based on user clustering and item clustering]]></article-title>
<source><![CDATA[Journal of Software]]></source>
<year>2010</year>
<volume>5</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>745-752</page-range></nlm-citation>
</ref>
<ref id="B26">
<label>26</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sarwar]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Karypis]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Konstan]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Riedl]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Item-based collaborative filtering recommendation algorithms]]></article-title>
<source><![CDATA[inProceedings of the 10th International Conference on World Wide Web]]></source>
<year>2001</year>
<page-range>285-295</page-range><publisher-loc><![CDATA[NY ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B27">
<label>27</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Linden]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Smith]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[York]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Amazon.com recommendations: item-to-item collaborative filtering]]></article-title>
<source><![CDATA[Internet Computing, IEEE]]></source>
<year>Jan </year>
<month>20</month>
<day>03</day>
<volume>7</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>76-80</page-range></nlm-citation>
</ref>
<ref id="B28">
<label>28</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Linden]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Jacobi]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Benson]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<source><![CDATA[Collaborative recommendations using item-to-item similarity mappings]]></source>
<year>1998</year>
</nlm-citation>
</ref>
<ref id="B29">
<label>29</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lemire]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Maclachlan]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Slope one predictors for online rating-based collaborative filtering]]></article-title>
<source><![CDATA[inProceedings of SIAM Data Mining: SDM’05]]></source>
<year>2005</year>
</nlm-citation>
</ref>
<ref id="B30">
<label>30</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Anil]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Owen]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Dunning]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Friedman]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<source><![CDATA[Mahout in Action]]></source>
<year>2010</year>
<publisher-name><![CDATA[Manning Publications Co]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B31">
<label>31</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Marschik]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[Evaluation of collaborative filtering algorithms]]></source>
<year>2010</year>
</nlm-citation>
</ref>
<ref id="B32">
<label>32</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[Q]]></given-names>
</name>
<name>
<surname><![CDATA[Han]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Ren]]></surname>
<given-names><![CDATA[Q]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Threshold optimized slope one algorithm based book recommendation]]></article-title>
<source><![CDATA[inAdvances in Communication Technology and Application]]></source>
<year>dec </year>
<month>20</month>
<day>14</day>
</nlm-citation>
</ref>
<ref id="B33">
<label>33</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Livingstone]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Young People and New Media: Childhood and the Changing Media Environment]]></source>
<year>2002</year>
<publisher-name><![CDATA[SAGE Publications]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B34">
<label>34</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[McCarthy]]></surname>
<given-names><![CDATA[J. F.]]></given-names>
</name>
<name>
<surname><![CDATA[Anagnost]]></surname>
<given-names><![CDATA[T. D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Musicfx: An arbiter of group preferences for computer supported collaborative workouts]]></article-title>
<source><![CDATA[inProceedings of the 1998 ACM Conference on Computer Supported Cooperative Work]]></source>
<year>1998</year>
<page-range>363-372</page-range><publisher-loc><![CDATA[New York ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B35">
<label>35</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hastie]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Kameda]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The robust beauty of majority rules in group decisions]]></article-title>
<source><![CDATA[Psychological Review]]></source>
<year>2005</year>
<page-range>508</page-range></nlm-citation>
</ref>
<ref id="B36">
<label>36</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Taylor]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Mathematics and Politics]]></source>
<year>1995</year>
<publisher-name><![CDATA[Springer-Verlag]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B37">
<label>37</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kasari]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Nurmi]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Tv audience segments based on viewing behaviour]]></article-title>
<source><![CDATA[in Proceedings of Worldwide broadcast audience research symposium]]></source>
<year>1992</year>
<page-range>175-192</page-range><publisher-loc><![CDATA[Amsterdam ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B38">
<label>38</label><nlm-citation citation-type="">
<source><![CDATA[Netflix - Watch TV Shows Online, Watch Movies Online]]></source>
<year>2012</year>
<month>-0</month>
<day>4-</day>
</nlm-citation>
</ref>
<ref id="B39">
<label>39</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Senot]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Kostadinov]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Bouzid]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Picault]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Aghasaryan]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Evaluation of group profiling strategies]]></article-title>
<source><![CDATA[inProceedings of the Twenty-Second International Joint Conference on Artificial Intelligence]]></source>
<year>2011</year>
<page-range>AAAI Press</page-range><page-range>2728-2733</page-range></nlm-citation>
</ref>
<ref id="B40">
<label>40</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mill]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Utilitarianism: Parker, Son and Bourn]]></source>
<year>1863</year>
</nlm-citation>
</ref>
<ref id="B41">
<label>41</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Masthoff]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Modeling a group of television viewers]]></article-title>
<source><![CDATA[in Proceedings of the Workshop Future tv: in Intelligent Tutoring Systems Conference]]></source>
<year>2002</year>
<page-range>34-42</page-range></nlm-citation>
</ref>
<ref id="B42">
<label>42</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Masthoff]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Gatt]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[In pursuit of satisfaction and the prevention of embarrassment: affective state in group recommender systems]]></article-title>
<source><![CDATA[User Modeling and User-Adapted Interaction]]></source>
<year>2006</year>
<volume>16</volume>
<page-range>281-319</page-range></nlm-citation>
</ref>
<ref id="B43">
<label>43</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Burke]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Claypool]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Gokhale]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Miranda]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Murnikov]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Netes]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Integrating Knowledge-based and Collaborative-filtering Recommender Systems]]></article-title>
<collab>AAAI</collab>
<source><![CDATA[Proceedings of Workshop on AI and Electronic Commerce]]></source>
<year>1999</year>
</nlm-citation>
</ref>
<ref id="B44">
<label>44</label><nlm-citation citation-type="book">
<source><![CDATA[MovieLens 10M/100k Data Set README]]></source>
<year>2012</year>
<month>-0</month>
<day>4-</day>
<publisher-name><![CDATA[University of Minnesota]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B45">
<label>45</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jameson]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Smyth]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[The Adaptive Web: Methods and Strategies of Web Personalization]]></source>
<year>2007</year>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B46">
<label>46</label><nlm-citation citation-type="">
<source><![CDATA[Imdbpy]]></source>
<year>2013</year>
<month>-1</month>
<day>1-</day>
</nlm-citation>
</ref>
<ref id="B47">
<label>47</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wrage]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Lewis]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[T-check: Low-cost approach to technology evaluation]]></source>
<year>2010</year>
<publisher-name><![CDATA[Carnegie Mellon University]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
