Expert Systems with Applications 38(2011)14127-14135 Contents lists available at ScienceDirect Expert Systems with Applications ELSEVIER journalhomepagewww.elsevier.com/locate/eswa Entertainment recommender systems for group of users Ingrid A Christensen", Silvia Schiaffino ISISTAN, Facultad de Ciencias Exactas, UNCPBA, Campus Universitario, Paraje Arroyo Seco, Tandil, Argentina CONICET, Consejo Nacional de Investigaciones Cientificas y Tecnicas, argentina ARTICLE IN F O A BSTRACT ecommender systems are used to recommend potentially interesting items to users in different domains. Nowadays, there is a wide range of domains in which there is a need to offer recommendations Group model reference aggregation to group of users instead of individual users. As a consequence, there is also a need to address the pref- erences of individual members of a group of users so as to provide suggestions for groups as a whole. roup recommender systems present a whole set of new challenges within the field of recommender sys- movies and utilize different methods for the generation of group recommendations: merging recommen dations made for individuals, aggregation of individuals'ratings, and construction of group preference e also describe the results obtained when comparing different group recommendation tech- oth domains G 2011 Elsevier Ltd. All rights reserved. 1 Introduction chap. 20), the authors organize these issues in terms of four subtasks that must(or could) be carried out by group recommenders: obtain- Recommender systems appeared due to the need to provide ing information about user preferences, generating recommenda- assistance to users with a wide variety of potentially tions, providing explanations for these recommendations, helping ems in a given domain, by identifying items that matche users to reach consensus and a final decision the subtask in which preferences, tastes, and needs. These systems are used to researchers have focused thus far is generating recommendations suggestions about interesting items in different doma There are several algorithms or techniques for aggregating indi- -commerce (Schafer, Frankowski, Herlocker, Sen, 2007, chap. vidual models or ratings that can be applied to generate recommen- 9). movies(Miller, Albert, Lam, Konstan, riedl, 2003), tourism dations to group of users, such as: merging recommendations made (Schiaffino Amandi, 2009)and restaurants(Burke, Hammond, for individuals, aggregation of individuals ratings for particular Young. 1996). among others. items, construction of group preference models, maximizing aver- In some cases, the domain in which recommendations are orig- age satisfaction and minimizing misery, among others. Thus, it be- inated suggests the need for personalization techniques for groups comes important to evaluate and compare the different proposa of users, instead of focusing on individual users. For example, in real application domains. application domains such as restaurants, TV programs(Lieberman, In this article we present two group recommender systems 1999: Yu, Zhou, Hao. Gu, 2006), board games, movies(O Connor, called jMusicGroupRecommender and jMoviesGroupRecommender Cosley, Konstan, Ried, 2001), music or tourism tend to be used These systems were built based on a framework we developed more frequently by groups of people rather than by individuals. named GroupRecommendation, which provides techniques to gen Group recommendation expands recommender systems re- erate group recommendations focusing on the three approache search area (ameson Smyth, 2007, chap. 20); as the idea of gener- most widely used in this area: merging recommendations made ating a set of recommendations that satisfy a group of users with for individuals, aggregation of individuals'ratings, and construc to individual recommendations, some new issues have to be consid- and of group preference models. The goal of our work is to analyze ered with group recommendations In Jameson and Smyth(2007, music and movies The rest of the article is organized as follows: Section 2 presents an overview of our proposal and the techniques we will compare author at: SISTAN, Facuitad de ciencias Exactas, UNCPBA Section 3 describes the music group recommender; Section 4 pre Campus Universitario, Paraje Arroyo Seco, Tandil, Argentina. E-mail addresses: ichriste@exa.uniceneduar, christenseningridegmaiLcom(LA sents the movie group recommender; Section 5 describes the exper- Christensen). sschia@exa. unicen eduar (S Schiaffino). imental results obtained when analyzing the hniques in the two 0957-4174/s- see front matter o 2011 Elsevier Ltd. All rights reserved do:10.1016/eswa2011.04221
Entertainment recommender systems for group of users Ingrid A. Christensen ⇑ , Silvia Schiaffino ISISTAN, Facultad de Ciencias Exactas, UNCPBA, Campus Universitario, Paraje Arroyo Seco, Tandil, Argentina CONICET, Consejo Nacional de Investigaciones Científicas y Técnicas, Argentina article info Keywords: Group recommender system Group model Preference aggregation abstract Recommender systems are used to recommend potentially interesting items to users in different domains. Nowadays, there is a wide range of domains in which there is a need to offer recommendations to group of users instead of individual users. As a consequence, there is also a need to address the preferences of individual members of a group of users so as to provide suggestions for groups as a whole. Group recommender systems present a whole set of new challenges within the field of recommender systems. In this article, we present two expert recommender systems that suggest entertainment to groups of users. These systems, jMusicGroupRecommender and jMoviesGroupRecommender, suggest music and movies and utilize different methods for the generation of group recommendations: merging recommendations made for individuals, aggregation of individuals’ ratings, and construction of group preference models. We also describe the results obtained when comparing different group recommendation techniques in both domains. 2011 Elsevier Ltd. All rights reserved. 1. Introduction Recommender systems appeared due to the need to provide assistance to users with a wide variety of potentially interesting items in a given domain, by identifying items that matched a user’s preferences, tastes, and needs. These systems are used to give users suggestions about interesting items in different domains, such as e-commerce (Schafer, Frankowski, Herlocker, & Sen, 2007, chap. 9), movies (Miller, Albert, Lam, Konstan, & Riedl, 2003), tourism (Schiaffino & Amandi, 2009) and restaurants (Burke, Hammond, & Young, 1996), among others. In some cases, the domain in which recommendations are originated suggests the need for personalization techniques for groups of users, instead of focusing on individual users. For example, application domains such as restaurants, TV programs (Lieberman, 1999; Yu, Zhou, Hao, & Gu, 2006), board games, movies (O’Connor, Cosley, Konstan, & Riedl, 2001), music or tourism tend to be used more frequently by groups of people rather than by individuals. Group recommendation expands recommender systems research area (Jameson & Smyth, 2007, chap. 20); as the idea of generating a set of recommendations that satisfy a group of users with possible competing interests is a significant challenge. In relation to individual recommendations, some new issues have to be considered with group recommendations. In Jameson and Smyth (2007, chap. 20), the authors organize these issues in terms of four subtasks that must (or could) be carried out by group recommenders: obtaining information about user preferences, generating recommendations, providing explanations for these recommendations, helping users to reach consensus and a final decision. The subtask in which researchers have focused thus far is generating recommendations. There are several algorithms or techniques for aggregating individual models or ratings that can be applied to generate recommendations to group of users, such as: merging recommendations made for individuals, aggregation of individuals’ ratings for particular items, construction of group preference models, maximizing average satisfaction and minimizing misery, among others. Thus, it becomes important to evaluate and compare the different proposals in real application domains. In this article we present two group recommender systems called jMusicGroupRecommender and jMoviesGroupRecommender. These systems were built based on a framework we developed named GroupRecommendation, which provides techniques to generate group recommendations focusing on the three approaches most widely used in this area: merging recommendations made for individuals, aggregation of individuals’ ratings, and construction of group preference models. The goal of our work is to analyze and compare the different techniques in two different domains: music and movies. The rest of the article is organized as follows: Section 2 presents an overview of our proposal and the techniques we will compare; Section 3 describes the music group recommender; Section 4 presents the movie group recommender; Section 5 describes the experimental results obtained when analyzing the techniques in the two 0957-4174/$ - see front matter 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2011.04.221 ⇑ Corresponding author at: ISISTAN, Facultad de Ciencias Exactas, UNCPBA Campus Universitario, Paraje Arroyo Seco, Tandil, Argentina. E-mail addresses: ichriste@exa.unicen.edu.ar, christenseningrid@gmail.com (I.A. Christensen), sschia@exa.unicen.edu.ar (S. Schiaffino). Expert Systems with Applications 38 (2011) 14127–14135 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
LA Christensen, S Schiaffino/ Expert Systems with Applications 38(2011)14127-14135 Preferences GroupRecommendation Group User 1 Members J Recommendations 思 Preference Itens Aggregation Group Models Correlations Fig. 1. General scheme of the GroupRecommendation framework entertainment domains: Section 6 presents a comparative analysis other items than those ci with higher estimated ratings are compile between the implemented techniques; Section 7 mentions some re- in a short list(Ci). After that, the short lists for each member(C)are lated works; and finally Section 8 presents our conclusions. merged into a group short list(U/G) to recommend to the group as a whol 2. Overview of a group recommender system Because this method is based on the generation of recommen- dations for individuals, it can also be implemented easily as an In this section we will describe a java' rovides extension of an existing recommender system for individuals techniques to generate recommendations within items tend to be explored by groups of users rather tha m 2. 2. Aggregation of individual rai The framework implements the techniques that have shown, thu Another method for generating group recommendations is to recommendations made for individuals: aggregation of individuals' oBtain an aggregate for individual ratings for each candidate items. Firstly, for each candidate item(ci), an estimated rating(rug)is pre- srouprecommendation is founded on different techniques that dicted according to individual member's profiles(m ) Then an generate estimations for those items that were not explored by aggregated rating(R )is computed from the whole set of estimated the group members, based on the specification of individual rat- ratings(ru). Finally, the candidate items with highest predicted rat- ings; and then generate recommendation from these estimations roup Recommendation is easily extensible and adaptable to the The application of this aggregation method requires the choice eds of specific applications that want to incorporate the tech- of particular techniques, since distinct techniques suit different desirable goals, such as total satisfactions or equity. Conflicts niques it pro The main goal of this tool is to provide a set of components from may arise when different goals which developers can build personalized recommender systems these basic aggregation techniques are described below. for group of users. To achieve this, the framework defines the 2.2.1. Multiplicative ing in this creation of This algorithm makes an aggregate rating R multiplying the individuals ratings and recommends the set of candidates with new algorithms. An overview of a group recommender system the highest R. A disadvantage of the multiplicative strategy is that built using GroupRecommendation can be found in Fig. 1. GroupRe emendation implements six techniques for group recommenda- certain individual users(m)might always lose out, because their tion: four aggregation techniques, one merging technique, and opinions happen to be a minority. one that defines a group model. These techniques are described The aggregated rating for a group is obtained using Eg. (1) in the following subsections. Additionally, we present an hybrid technique that combines two of the above approaches. R=ITy (1) 2.1. Merging of individual recommendations A simple method for generating group recommendations is to The goal of maximizing average satisfaction can be achieved by obtain a small number of recommended solutions for each member an aggregation function(ri) that computes some sort of average of and then merge them into a single list. Firstly, for each member the predicted satisfaction for each member(m) to be used as a (m), each candidate item(ci) receives an estimative rating (ry) basis for the selection of candidates items, as shown in Eq(2) according to the member's profile and previous evaluations of R= average()=n∑可
entertainment domains; Section 6 presents a comparative analysis between the implemented techniques; Section 7 mentions some related works; and finally Section 8 presents our conclusions. 2. Overview of a group recommender system In this section we will describe a Java1 framework that provides techniques to generate recommendations within domains where items tend to be explored by groups of users rather than individuals. The framework implements the techniques that have shown, thus far, better performance in existing group recommenders: merging recommendations made for individuals; aggregation of individuals’ ratings; and construction of group preference models. GroupRecommendation is founded on different techniques that generate estimations for those items that were not explored by the group members, based on the specification of individual ratings; and then generate recommendation from these estimations. GroupRecommendation is easily extensible and adaptable to the needs of specific applications that want to incorporate the techniques it provides. The main goal of this tool is to provide a set of components from which developers can build personalized recommender systems for group of users. To achieve this, the framework defines the structure upon which we can implement different group recommendation techniques, simplifying in this way the creation of new algorithms. An overview of a group recommender system built using GroupRecommendation can be found in Fig. 1. GroupRecommendation implements six techniques for group recommendation: four aggregation techniques, one merging technique, and one that defines a group model. These techniques are described in the following subsections. Additionally, we present an hybrid technique that combines two of the above approaches. 2.1. Merging of individual recommendations A simple method for generating group recommendations is to obtain a small number of recommended solutions for each member and then merge them into a single list. Firstly, for each member (mj), each candidate item (ci) receives an estimative rating (rij) according to the member’s profile and previous evaluations of other items than those ci with higher estimated ratings are compile in a short list (Ci). After that, the short lists for each member (Ci) are merged into a group short list (UjCj) to recommend to the group as a whole. Because this method is based on the generation of recommendations for individuals, it can also be implemented easily as an extension of an existing recommender system for individuals. 2.2. Aggregation of individual ratings Another method for generating group recommendations is to obtain an aggregate for individual ratings for each candidate items. Firstly, for each candidate item (ci), an estimated rating (rij) is predicted according to individual member’s profiles (mj). Then an aggregated rating (Ri) is computed from the whole set of estimated ratings {rij}. Finally, the candidate items with highest predicted ratings are recommended. The application of this aggregation method requires the choice of particular techniques, since distinct techniques suit different desirable goals, such as total satisfactions or equity. Conflicts may arise when different goals are pursued; therefore, four of these basic aggregation techniques are described below. 2.2.1. Multiplicative This algorithm makes an aggregate rating Ri multiplying the individuals ratings and recommends the set of candidates with the highest Ri. A disadvantage of the multiplicative strategy is that certain individual users (mj) might always lose out, because their opinions happen to be a minority. The aggregated rating for a group is obtained using Eq. (1): Ri ¼ Yn j¼1 rij ð1Þ 2.2.2. Maximizing average satisfaction The goal of maximizing average satisfaction can be achieved by an aggregation function (Ri) that computes some sort of average of the predicted satisfaction for each member (mj) to be used as a basis for the selection of candidates items, as shown in Eq. (2): Ri ¼ averageðfrijgÞ ¼ 1 n Xn j¼1 rij ð2Þ Fig. 1. General scheme of the GroupRecommendation framework. 1 http://java.sun.com/. 14128 I.A. Christensen, S. Schiaffino / Expert Systems with Applications 38 (2011) 14127–14135
LA. Christensen, S Schiaffino/ Expert Systems with Applications 38(2011)14127-14135 14129 2.2.3. Minimizing misery 3. Recommendation of the set of candidate items with the highest The goal of this algorithm is to minimize dissatisfaction. Even if predicted rating Rp. verage satisfaction among group members is high, recommended items can leave one or more members dissatisfied. Recommenda- There are even more possible methods for the construction of ons by this method are based on the lowest predicted ratings group models than for the aggregation of individual rating, becau or each candidate item(ci), favoring candidate items for which group profiles can take many different for aNe lowest predicted rating for any group member is relatively high In this work, this method was implemented on the basis of the (see Eq. 3)) average resulting of the combination of individual members 2. 4. Hybrid technique 2.2. 4 Ensuring some degree of fairness The goal of this algorithm is to provide a fair degree of satisfac- This technique combines merging of individual reco tion to most of the group members: this goal is usually combined on and multiplicative aggregation. Merging is used to filter candi- with some other goal, for instance the aggregation of individual date items taking only those with the highest rating for each predicted ratings might incorporate a penalty term that mirrors individual member Then, an aggregate rating is obtained multiply the amount of variation among the predicted rating. ing individual ratings for those short listed candidate items. The equation for this algorithm(Eq (4)was combined with the algorithm for maximizing average satisfaction. In the second term, 3. Music recommendation to groups of users w represents the relative importance of fairness Ri=average(r l)-w standard de The music recommender system, jMusicGroupRecommender. was built on top of an application that manages and plays musi 2.3. Construction of group preference files, also developed by us(Christensen, Bugarini, Casamayor, Schiaffino, 2008). This application enables users to visualize, inde The goal of this method is to obtain a group model that repre- catalog, add and organize files in a library using different criteria sents the preferences of the group as a whole and generate recom- as well as to obtain different statistics about the use of the mendations taking into account this group profile through known application recommendation techniques for individuals, such as collaborative example with the different attributes of the songs The following steps describe the process to generate recom- The original system provided recommendations to individual mendation constructing a profile for groups as a whole users using collaborative filtering and considering the similarities among the different songs belonging to different users'libraries To enable the system to make group recommendations, we imple 1. Construction of a preference model M that represents the pre- mented the four subtasks a group recommender system requires rences of the whole group 2. For each candidate item ci, M is used to predict the rating R for btaining information about user preferences, generating recom- the whole group. mendations, providing explanations for these recommendation helping users to reach consensus and a final decision. 幣E 酯 Fig. 2. Snapshot of music recommender system
2.2.3. Minimizing misery The goal of this algorithm is to minimize dissatisfaction. Even if average satisfaction among group members is high, recommended items can leave one or more members dissatisfied. Recommendations by this method are based on the lowest predicted ratings for each candidate item (ci), favoring candidate items for which the lowest predicted rating for any group member is relatively high (see Eq. (3)) Ri ¼ minjrij ð3Þ 2.2.4. Ensuring some degree of fairness The goal of this algorithm is to provide a fair degree of satisfaction to most of the group members; this goal is usually combined with some other goal, for instance the aggregation of individual predicted ratings might incorporate a penalty term that mirrors the amount of variation among the predicted rating. The equation for this algorithm (Eq. (4)) was combined with the algorithm for maximizing average satisfaction. In the second term, w represents the relative importance of fairness Ri ¼ averageðfrijgÞ w standard deviation ð4Þ 2.3. Construction of group preference models The goal of this method is to obtain a group model that represents the preferences of the group as a whole and generate recommendations taking into account this group profile through known recommendation techniques for individuals, such as collaborative filtering or demographic profile. The following steps describe the process to generate recommendation constructing a profile for groups as a whole: 1. Construction of a preference model M that represents the preferences of the whole group. 2. For each candidate item ci, M is used to predict the rating Ri for the whole group. 3. Recommendation of the set of candidate items with the highest predicted rating Ri. There are even more possible methods for the construction of group models than for the aggregation of individual rating, because group profiles can take many different forms. In this work, this method was implemented on the basis of the average resulting of the combination of individual member’s profiles. 2.4. Hybrid technique This technique combines merging of individual recommendation and multiplicative aggregation. Merging is used to filter candidate items, taking only those with the highest rating for each individual member. Then, an aggregate rating is obtained multiplying individual ratings for those short listed candidate items. 3. Music recommendation to groups of users The music recommender system, jMusicGroupRecommender, was built on top of an application that manages and plays music files, also developed by us (Christensen, Bugarini, Casamayor, & Schiaffino, 2008). This application enables users to visualize, index, catalog, add and organize files in a library using different criteria, as well as to obtain different statistics about the use of the application. Fig. 2 is a snapshot of the application that shows a playlist example with the different attributes of the songs. The original system provided recommendations to individual users using collaborative filtering and considering the similarities among the different songs belonging to different users’ libraries. To enable the system to make group recommendations, we implemented the four subtasks a group recommender system requires: obtaining information about user preferences, generating recommendations, providing explanations for these recommendations, helping users to reach consensus and a final decision. Fig. 2. Snapshot of music recommender system. I.A. Christensen, S. Schiaffino / Expert Systems with Applications 38 (2011) 14127–14135 14129
14130 LA Christensen, S Schiaffino/ Expert Systems with Applications 38(2011)14127-14135 For both individual recommendations and groups recommen- dations, the system generates a data model based on the prefer ences created by the user and their interaction with the system. Agregar a Reproduccion2007 This data model maintains the I-generated rating for each jon Reproducir item-user relationship Arjon Editar. 0454 The system can perform estimates for unrated tracks with the 04:33 on Agregar a Lista ●●●@@ help of this data model and the correlations among the items These estimates are use make recom mendations to groups of Eliminar people. The framework generates the estimates for unrated tracks Arjon Calificacion 63 based on the correlation between different items, using the Eg (5) predictedRatinguu correlation*specifiedRatingju) Fig. 3. Qualification of the tracks by users in MusicGroupRecommender. Item similarities are assessed to generate ( individual or group) recommendations. The correlation between two different songs In order to obtain information about users'preferences, this sys- was obtained by computing the similarities of the different attri tem applies two techniques: explicit specification of preferences butes describing both songs. The system instantiates the different and implicit detection. Group members can rate the different techniques implemented in the framework to obtain the group rec- tracks in a library, indicating whether or not they liked a track, ommendation, allowing the selection and comparison in this do- as shown in Fig 3. Those unevaluated tracks are rated as"unde- main. Fig. 4 shows the generation of recommendations through fined". On the other hand, the implicit detection of individual the selection of the algorithm users' preferences is done in two ways The system gives the option to limit the result list to tracks that were never played by any member of the group, i.e the system 1. When users are reproducing files the system considers skipped recommends only tracks unexplored by group members. The sys- undefined"tracks as"disliked". When a track is played for tem allows the user to select the number of recommendations in longer than a predefined threshold, the system considers the the final list. This option may be interesting in the music domain. track as"liked because members can determine the amount of songs, for 2. The system considers the number of times different tracks are example, in relation to playing time played. Thus, a track that was reproduced many times more Next to the recommendation list, the music recommender sys- than another with the same assessment by the user, will have tem provides an explanation for the suggestions, showing the attri- a higher rating. butes of the different tracks that were considered in the similarity acion Grupal grup。1 ■+ Canidae Fus on de los recomendoc oner de los member solo musico sin calicos son de las ecomendacionet de lot mie Agregacon de os ratings ndviduaies lo satisfaction comedic or cierto grado de equidod Fig 4. Selection of group recommendation technique http://usimdbcom/m/title-exa...factioncomedydrama ★★★★★ drama, thriller] Rating ★★★★★ ★★★★★ 加o含含含含 ★★★★★ 神加加曲★★★★一下,mam★★★★★ ttp: //us. imdb ★★★★★ ★★★★★ http://usimdb ★★★★★ http://us.imdb e, thriller ★★★ http://us.imdb.com/m/title-exa...comedy Fig. 5. Qualification of the movies by users in jMoviesGroupRecommender
In order to obtain information about users’ preferences, this system applies two techniques: explicit specification of preferences and implicit detection. Group members can rate the different tracks in a library, indicating whether or not they liked a track, as shown in Fig. 3. Those unevaluated tracks are rated as ‘‘unde- fined’’. On the other hand, the implicit detection of individual users’ preferences is done in two ways: 1. When users are reproducing files the system considers skipped ‘‘undefined’’ tracks as ‘‘disliked’’. When a track is played for longer than a predefined threshold, the system considers the track as ‘‘liked’’. 2. The system considers the number of times different tracks are played. Thus, a track that was reproduced many times more than another with the same assessment by the user, will have a higher rating. For both individual recommendations and groups recommendations, the system generates a data model based on the preferences created by the user and their interaction with the system. This data model maintains the system-generated rating for each item-user relationship. The system can perform estimates for unrated tracks with the help of this data model and the correlations among the items. These estimates are used to make recommendations to groups of people. The framework generates the estimates for unrated tracks based on the correlation between different items, using the Eq. (5) predictedRatingi;u ¼ Pn j¼0 correlationij specifiedRatingju Pn j¼0correlationij ð5Þ Item similarities are assessed to generate (individual or group) recommendations. The correlation between two different songs was obtained by computing the similarities of the different attributes describing both songs. The system instantiates the different techniques implemented in the framework to obtain the group recommendation, allowing the selection and comparison in this domain. Fig. 4 shows the generation of recommendations through the selection of the algorithm. The system gives the option to limit the result list to tracks that were never played by any member of the group, i.e., the system recommends only tracks unexplored by group members. The system allows the user to select the number of recommendations in the final list. This option may be interesting in the music domain, because group members can determine the amount of songs, for example, in relation to playing time. Next to the recommendation list, the music recommender system provides an explanation for the suggestions, showing the attributes of the different tracks that were considered in the similarity Fig. 3. Qualification of the tracks by users in jMusicGroupRecommender. Fig. 4. Selection of group recommendation technique. Fig. 5. Qualification of the movies by users in jMoviesGroupRecommender. 14130 I.A. Christensen, S. Schiaffino / Expert Systems with Applications 38 (2011) 14127–14135
LA. Christensen, S Schiaffino/ Expert Systems with Applications 38(2011)14127-14135 14131 ■+区 M Ju Non Ranked Movies Fig 6 Group recommendation in jMoviesGroupRecommender. calculus, and the rating given by the user that requests the recom- The system is responsible for the administration of user groups. le group. Each user can create his/ her own groups including other system users, who may observe in his/her session all the groups which 4. Movie recommendation to group of users were included. Thus, all group members can request for group re ommendations at any time. The movie recommender system enables users to handle mov- To obtain the group recommendation the users must: ies by varying attributes such as title, directors, actors, release date genres and URL address where movie information can be found, 1. Select the group of users among others. In each user's session the system displays a list of 2. Select the group recommendation technique movies rated by any user with its corresponding rating: a list of 3. Specify if the result is to movies that were never ll the movies contained in the system, which the user can rate watched by any member and a list of movies recommended for that user. The system also 4. specify the number of red enables the creation of group of users in order to recommend mov ies to these groups. As regards the explanation of recommendations, the system dis- To obtain information about each user's preferences the system plays a list of results showing the attributes that influenced the cal- tilizes explicit feedback, since the system can recommend movies culus of the correlation, together with the rating the active user but not play them. Thus, the system trusts the users ratings. No gave to the movie. implicit feedback can be obtained. At this point, the system trusts on the users' evaluations, be- 5. Experimental results cause it assumes that the use of the system is only in order to ob- tain acceptable and consistent recommendations. The range of qualifying varies between 1 and 5 stars(see Fig. 5) In order to compare and analyze the techniques implemented The correlation between two different movies was obtained by computing the similarities of the different attributes y experiment using extensive datasets for both domains: music both movies. The system takes this correlation into accour and movies. Yahoo! Webscope Program- was particularly appropri- erate individual recommendations and rating estimatior ate as it contains numerous users' preferences for a wide range of erate a list of recommendations for a given group. The most candidate items important attribute when calculating the correlation between Ten experiments were designed for each of the domains consid- movies is the genre/s. ered in the present work so as to analyze the behavior of the differ ent recommendation techniques. Each experiment was carried out On the other hand to generate recommendations the system following this procedure: uses the GroupRecommendation framework, enabling the selectio of any of the implemented algorithms(see Fig. 6) 1. obtain a certain number of users from the dataset Each user of the system has definite preferences for certain 2. Create a group with the users selected. movies. The recommender system maintains all the preferences 3. Generate recommendations for the group varying the recom- and generates a data model, which is combined with the correla- tion between the movies to obtain the estimates for unrated mov recommendations(individual or group!y out the various ies. These estimates are used to carr 2http://research.yahoocom/academic_Relations
calculus, and the rating given by the user that requests the recommendation for the whole group. 4. Movie recommendation to group of users The movie recommender system enables users to handle movies by varying attributes such as title, directors, actors, release date, genres and URL address where movie information can be found, among others. In each user’s session the system displays a list of movies rated by any user with its corresponding rating; a list of all the movies contained in the system, which the user can rate; and a list of movies recommended for that user. The system also enables the creation of group of users in order to recommend movies to these groups. To obtain information about each user’s preferences the system utilizes explicit feedback, since the system can recommend movies but not play them. Thus, the system trusts the user’s ratings. No implicit feedback can be obtained. At this point, the system trusts on the users’ evaluations, because it assumes that the use of the system is only in order to obtain acceptable and consistent recommendations. The range of qualifying varies between 1 and 5 stars (see Fig. 5). The correlation between two different movies was obtained by computing the similarities of the different attributes describing both movies. The system takes this correlation into account to generate individual recommendations and rating estimations to generate a list of recommendations for a given group. The most important attribute when calculating the correlation between movies is the genre/s. On the other hand, to generate recommendations the system uses the GroupRecommendation framework, enabling the selection of any of the implemented algorithms (see Fig. 6). Each user of the system has definite preferences for certain movies. The recommender system maintains all the preferences and generates a data model, which is combined with the correlation between the movies to obtain the estimates for unrated movies. These estimates are used to carry out the various recommendations (individual or group). The system is responsible for the administration of user groups. Each user can create his/her own groups including other system users, who may observe in his/her session all the groups which were included. Thus, all group members can request for group recommendations at any time. To obtain the group recommendation the users must: 1. Select the group of users. 2. Select the group recommendation technique. 3. Specify if the result is limited to movies that were never watched by any member of the group. 4. Specify the number of recommendations. As regards the explanation of recommendations, the system displays a list of results showing the attributes that influenced the calculus of the correlation, together with the rating the active user gave to the movie. 5. Experimental results In order to compare and analyze the techniques implemented within the GroupRecommendation framework it was necessary to experiment using extensive datasets for both domains: music and movies. Yahoo! Webscope Program2 was particularly appropriate as it contains numerous users’ preferences for a wide range of candidate items. Ten experiments were designed for each of the domains considered in the present work so as to analyze the behavior of the different recommendation techniques. Each experiment was carried out following this procedure: 1. Obtain a certain number of users from the dataset. 2. Create a group with the users selected. 3. Generate recommendations for the group varying the recommendation technique. Fig. 6. Group recommendation in jMoviesGroupRecommender. 2 http://research.yahoo.com/Academic_Relations. I.A. Christensen, S. Schiaffino / Expert Systems with Applications 38 (2011) 14127–14135 14131