HappyMovie: A Facebook Application for ... - IEEE Xplore

4 downloads 34243 Views 529KB Size Report
network Facebook through an application called HappyMovie. This application tries to ... The method used to make the group recom- mendation is based on three .... Facebook. The main page of the application (Figure 1) shows three buttons: ...
2011 23rd IEEE International Conference on Tools with Artificial Intelligence

HappyMovie: A Facebook Application for Recommending Movies to Groups Lara Quijano-Sanchez Complutense University of Madrid [email protected]

Juan A. Recio-Garcia Complutense University of Madrid [email protected]

We have developed a movie group recommender connected to Facebook where the final recommendation is influenced by the personality of each member of the group and the way in which they are connected through their social relationships, basically of friendship, defined in the social network. In this way we can offer a product to a group of people that fits the individual needs of every member and tries to achieve a maximized satisfaction. Note that the proposed methods can be applied to other domains and social networks. Our group recommendation method is explained in Section II. Section III introduces our Facebook application HappyMovie. Finally Section IV concludes the paper.

Abstract—The goal of this paper is to show a movie recommender system for groups of people, integrated in the social network Facebook through an application called HappyMovie. This application tries to mitigate certain limitations in existing group recommender systems, like obtaining the users profile or offering trading methods for users in order to reach a final agreement. The method used to make the group recommendation is based on three important features: personality, social trust and memory of past recommendations. This way we simulate in a more realistic way the argumentation process followed by groups of people when deciding a joint activity. Keywords-Recommender Systems; Groups; Social Networks; Personality; Trust

I. I NTRODUCTION Nowadays, it is very difficult to find a web site that does not provide some type of recommender system to guide users in the acquisition of products. The huge growth in the volume and complexity of information and the wide set of search activities that people can daily perform has unleashed this type of systems. We perform a lot of our everyday activities in the company of other people (like going to restaurants, cinemas...). Group recommendations take into account the interests of many people at the same time. Therefore, it is necessary to study how to combine the preferences of the individuals, prioritizing certain considerations when doing it. There are many existing systems and open lines of research in this area [1], [2], [3]. A new interesting research line has recently emerged related to Social Networks. This is due to the facility that group recommenders have in taking advantage of these networks, by using the information contained in them in order to improve their performance. Group recommendation approaches are typically based on generating an aggregated preference using the user’s individual preferences. As stated in [4] the main approaches are (a) merging the recommendations made for individuals, (b) aggregation of ratings for individuals and (c) constructing a group preference model. Masthoff [5] presents a compilation of the most important preference aggregation techniques. These basic approaches merge the ratings predicted individually for each item to calculate a global prediction for the group. The selection of a proper aggregation strategy is a key element in the success of the recommendation. A matter that we have taken into account when designing our application, as we present in Section II. 1082-3409/11 $26.00 © 2011 IEEE DOI 10.1109/ICTAI.2011.44

Belen Diaz-Agudo Complutense University of Madrid [email protected]

II. G ROUP R ECOMMENDATION METHOD We have developed a group recommendation method which is based on the typical preference aggregation approaches. These approaches [2], [3] aggregate the users individual predicted ratings pred(u, i) to obtain an estimation for the group {gpred(G, i)|u ∈ G}. Then the item with the highest group predicted scoring is proposed. gpred(G, i) =



pred(u, i)

(1)

∀u∈G

Here G is a group of users, which user u belongs to. This function provides an aggregated value that predicts the group preference for a given item i. By using this estimation, our group recommender proposes the set of k items with the highest group predicted scoring. In our proposal, we modify the individual ratings with the personality, trust and satisfaction factors. This way, we modify the impact of the individual preferences as shown in Equation 2.  pred (u, i) gpred(G, i) = ∀u∈G 

pred (u, i)

=



f ( pred(u, i) , pu , tu,v , su ) (2)

∀v∈G

where gpred(G, i) is the group rating prediction for a given item i, pred(u, i) is the original individual prediction for user u and item i, pu is the personality value for user u, tu,v is the trust value between users u and v, and su is the satisfaction of user u within the group. 239

pred (u, i) = ibr(u, i) = pred(u, i) + (1 − pu )  tu,v · ( pred(v, i) − pred(u, i) )

A wide set of aggregation functions has been devised for combining individual preferences [5], being the average and least misery the most commonly used: • Average Satisfaction: Computes the average of the predicted ratings of each member of the group. The function that represents this strategy is: 1  gpred(G, i) = pred (u, i) (3) |G|

v∈G∧v=u

|G| − 1

In this formula, the individual rating for the item (predu,i ) is modified according to its difference with the ratings of other users (predv,i − predu,i ). This difference takes into account the trust between users (tu,v ). Finally, the accumulated difference is weighted according to our personality in an inverse way (1−pu ). Regarding the impact of our method, we point readers to [6], [7]. These papers report an average improvement of 12% when including personality and social factors in the group recommendation process. To prove this, we tested our methods in the movie recommendation domain with a group of real users. We used groups of different size and personal preferences, where we proved that by using the Delegationbased method or the Influence-based method we do improve the results of the recommendations. We created 3 different group recommender systems, a standard recommender that only aggregates preferences; and two recommenders that reflect our theories, one with the Delegation-based method and the other with the Influence-based method. When we studied the performance of this experiment results confirmed our theories, and showed better results when combining personality, satisfaction and social trust in the group recommendation. Next we present our movie group recommender application HappyMovie.

u∈G



Where pred (u, i) is the predicted rating for each user u, and every item i. gpred(G, i) is the final rating of item i for the group. Least Misery: Considers that a group is as happy as its least happy member. The final list of ratings is the minimum of each of the individual ratings. gpred(G, i) = min pred (u, i) u∈G

(4)

Once we have introduced the typical aggregation approaches we can explain the estimation functions. We use two different methods to compute predi,u , that as we have explained before, is a modification of the predicted rating for a user according to the personality, trust and satisfaction factors. The main ideas of these approaches are explained below: • Delegation-based method: The idea behind this method is that users create their opinions based on the opinions of their friends. The estimation of the delegation-based rating (dbr(u, i)) given an user u and an item i is computed in this way: 1 pred (u, i) = dbr(u, i) =  | v∈G tu,v |  tu,v ·( pred(v, i) + pv )

III. A G ROUP R ECOMMENDATION A PPLICATION OF M OVIES : HappyMovie With our Facebook application HappyMovie we provide group recommendations to users connected through social networks. We have included our previously developed group recommendation methods [6], [7] to a public application where everybody can benefit of it. Next we explain what users can expect of HappyMovie.

(5)

v∈G∧v=u



(6)

In this formula, we take into account the recommendation predv,i of every friend v for item i. This rating is increased or decreased depending on her personality (pv ), and finally it is weighted according to the level of trust (tu,v ). Note that this formula is not normalized by the group size and uses the accumulated personality. Therefore, this formula could return a value out of the ratings range. As we are only interested in giving a final ordered list of the users preferences in the products of a given catalogue, it is not necessary to normalize the results given by our formula. Influence-based method: This method simulates the influence that each friend has in a given person. Instead of creating a new preference, it supposes that the user may modify her preference for an item depending on the preferences given by her friends to the same item, as shown in the following formula:

A. A global view of the application In order to enter to HappyMovie users have just to reproduce what they do to access any other application in Facebook. The main page of the application (Figure 1) shows three buttons: Perform preferences test, Perform personality test and Create new event. Along with these buttons, we can see the number of pending invitations to join events that the user has and the events that she is attending to. However, as we describe next, these options are not always available. In the main page the system checks that the user has answered both the preferences test (see Figure 3) and the personality test (see Figure 2). Until they have been completed, the possibility of creating new events or accepting invitations is

240

disabled. After having answered the two mentioned test, the personality test button disappears (as it can only be answered once). However the preferences test can be accessed at any time. This is because the more accurate idea of the individual preferences of the user that the recommender has, the best prediction the recommender will provide. Under the list of invitations, all the events that the user is attending appear. The system is in charge of erasing the events when the final date has expired and also to erase all the users that were attending to that event. When a user has correctly answered to both tests she has full access to HappyMovie’s functionality, creating new events, inviting friends to events, extending their preferences, see the events..etc. We now proceed to detail each of the different actions that a user can carry out: •









Accepting an invitation: In this page all the pending invitations of the user are shown giving her the possibility to accept or refuse. Create an Event: (See Figure 4) the mechanism is very similar to the one that Facebook has. It consists on four fields which are mandatory: Name of the event, when and where it will take place and last day to join the event (deadline). When users fill up the questionnaire the event is created and it is shown in the main page. Events: This page, as we can see in Figure 5, contains all the corresponding data about the event: Assistants to the event, celebration place, data of the event, deadline data, wall of the event, inviting to friends button, button to erase yourself from the event, button to return to the main page. Everyday the best three new recommendations for the current group that the system finds are proposed, actualizing itself when the movie listing from the selected city changes and/or when a new user enters or leaves the event. Initially a user can invite friends and erase herself from the event, but when the deadline date arrives these two options are disabled, leaving the group fixed as it was in that moment and giving the final three movies to watch. At this point a possibility to vote this final three recommendations will be qualified in order to give a final recommendation. Inviting friends to the event: This action is only possible inside events, giving to the users friends the possibility to join the event. When clicking the button a new questionnaire appears with a list of all the Facebook friends of the user. When the invitation is send, the questionnaire sends right into the Facebook profiles of the selected friends an invitation, giving them the option to accept it and enter to HappyMovie or reject it. This button will only be available while the deadline date of the event has not yet arrived. Erase from an event: It allows the user to erase herself from the event she has previously accepted to join. This option is only shown in the main page of each event,

Figure 1.

HappyMovie Initial Main Page

Figure 2.

Personality test in HappyMovie

and will also be disabled when the deadline date is reached. B. A modular architecture for group recommendations Our goal with HappyMovie is to move the typical local systems into a new class of Web systems where the social relations are taken into account in the process of making recommendations to groups. With this type of applications we are able to offer recommendations to groups for all the people connected to these social networks. Besides we can obtain a lot of information from them without having to bother our users with a lot of questionnaires. It also provides us a lot of feedback that allows us to improve our methodology. The architecture of HappyMovie is represented in Figure 6. The application is divided in seven different modules: TKI Metaphor, Facebook Profile Analysis, Satisfaction Data Base, Web Test, Web Crawling, Content Based Estimation and HappyMovie’s group recommender. Next sections explain what are the basis of each of these modules. 1) TKI Metaphor: There are different tests that can be used in order to obtain the different roles that people play when interacting in a decision making process. The one that we used in our previous studies [6], [7] was the TKI test [8] that consists on 30 multiple choice questions where the user has to decide how she will react in the exposed situation. We can describe an individual’s behaviour along two basic dimensions in conflict situations: (1) assertiveness, the extent

241

Figure 3.

Preferences test in HappyMovie

Figure 5.

Figure 6.

Figure 4.

How to create an activity in HappyMovie

How events look like in HappyMovie

Facebook application architecture

category, while the other one represents all the opposite ones. What the user has to do is to choose with whom of each pair of characters she feels more identified by simple moving an arrow. In order to determine which of the ways of testing the personality is better, the traditional test or the movie metaphor, we performed the following experiment: Our goal was to evaluate if we could replace the TKI test with our metaphor in the personality module. We proved that we enhance the recommendations for a group using TKI test to perform an estimation of the user personality [6], so the new approach should perform equally. We also wanted to study if it is worth replacing the TKI test in order to make the application more usable and entertaining. To evaluate these two goals we measured 3 factors: 1) The time that takes to answer both tests. With this information we determine which one is more dynamic and less tedious. 2) Which of both tests was the one that our users preferred. 3) The difference in the results. We needed to measure if the results of the new test are similar enough to the

to which the person attempts to satisfy her own concerns, and (2) cooperativeness, the extent to which the person attempts to satisfy the other person’s concerns. These two basic dimensions of behaviour define five different modes of responding to conflict situations: Competing, Accommodating, Avoiding, Collaborating and Compromising. Our approach combines these 5 modes to obtain a value representing the users personality. To obtain the score that the user has in each mode, the TKI personality test, proposes 30 situations where the user has to think how she will react. When we asked our users about the test, they described it as tedious, long and not very clear in some of the questions. To make the application more easy going we have studied the possibility of using a movie metaphor as an alternative method to obtain the users personality. This interactive metaphor consists on displaying two movies characters with opposite personalities for each of the five possible categories. One character represents the essential characteristics of the

242

ones provided by the TKI test in order to replace one with the other, because we know that the results of the TKI test are a good estimation of the personality and provide good results with the group recommender system.

others Facebook walls. We have adjusted the weights of these factors when calculating the trust after an experiment with real users where they indicated us the real trust that they had between each other. The trust calculation is done every time that a user joins an event with all of the users who are also attending to it. It is only calculated one time for each pair of users. However, these values are updated periodically as Facebook profiles keep changing and so does the trust between two persons. 3) Satisfaction Data Base: In this module we store all the recommendations made for every user and group. Having recommendations with memory allows our system to avoid repeating previous recommendations, and ensures a certain degree of fairness. If one member accepts a proposal that she is not interested in, next time she will have some kind of preference. In the long run all the members of the group will be equally satisfied. The storage of the satisfaction consists on a data base where a value that represents the satisfaction of each user is stored. This value can later be applied to our recommendation formulas and modify the final result, giving a bigger influence to those users who are less satisfied. The satisfaction measure is updated every time that a user gets a recommendation. We recall that when a user joins an event, and the deadline date has expired, she has the possibility of rating the three proposed movies. These ratings are stored in the data base and reflect how happy the user is with the obtained recommendations. Later on, in order to calculate the final global satisfaction of the group or the new satisfaction value of the user we just need to compare the results obtained in this test with the final proposed movie (This final movie is the one that has obtained the higher scoring in average). 4) Web Test: The goal of this preferences test is to know the taste in movies of users. When the individual recommendation is made these preferences will be taken into account discriminating the different movies according to the users preferences of actors, genre... In order to complete the test, users must rate at least 20 movies with a 5 star voting system, the progress of each user rating movies is shown at the top of the preferences test with a bar. Users have the possibility of modifying their ratings each time they use the application as new movies are periodically added to the test. This way we allow our users to build a more solid and up to date profile of their individual preferences. Consequently, this fact will have a positive impact in the performance of the recommender system. They also have the possibility of not rating every movie in the test either because they have not seen it or because they do not want to. 5) Web Crawling: This module searches the web and finds the movie listing of the city that has been selected. Once it has that information it obtains the description of each of the movies in the movie listing. Later, it analyses all the descriptions and extracts all the data required to define the movie. Each specific characteristic of the movie is a field that

To analyse these factors we asked 50 users to answer to both tests, marking which one they preferred and specifying how long it took to answer each one. The results that we obtained are: •

• •

It took an average of 15 minutes to answer to the TKI test and 5 minutes to complete the movie metaphor test. So the movie metaphor is proved to be more dynamic and less tedious. 100% of the users pointed out that they preferred the movie metaphor test. We compared the results that the TKI test provided for the five different personality modes (Competing, Accommodating, Avoiding, Collaborating and Compromising) with the results that the movie metaphor test offered for those five categories. The test that we used was the Mean Absolute Error (MAE) [9]. The average of the MAE results with the five personality modes was of 0.24 in a range of [0,2], which means an estimated error of 12%.

From these results we can conclude that it is possible replace the TKI personality test with the movie metaphor test because it provides a good estimation of the personality mode and it is suitable for our recommendation method. Additionally this test makes the application more usable and entertaining, from the users’ point of view. 2) Facebook Profile Analysis: This trust module is the module that has more benefits due to embedding the application in a social network. Previously, with a standalone application, the task of obtaining the data required to compute the trust between users was very tedious. Now, we are able to calculate the trust between users extracting the specific information from each of their own profiles in the social network. Users in Facebook can post on their profiles a huge amount of personal information that can be analysed to compute the trust with other users: likes and interests, personal information, pictures, games... We have used the method proposed in our previous studies [6], [7] to calculate the trust between users. The use of social networks and trust when building a recommender system is not new [10], [11]. To perform this task we reviewed several existing works [12], [13] and selected the most relevant and feasible factors. In order to move from theory to practice it is important to take into account that these elements are not easy to quantify and that obtaining them is limited by the purchasing power that Facebook APIs give us. In HappyMovie we analyse the following factors: common friends, pictures in common, common interests (music, movies, series..) and comments on each

243

recommendation algorithm adapts itself to the personality distribution of the group, its size and other characteristics.

the individual recommender contrasts. The recovered items, with all their specific information, are sent to the Content Based Estimation module and to the group recommender module as they are the products to be recommended. 6) Content Based Estimation: This is the individual recommender module, it is built using the jCOLIBRI framework extension to build recommender systems [14] and follows a content based approach [15] that uses descriptions of the products to be recommended and returns the collection of products that are more similar to the aimed product. As it is a content based recommender system it manages a case base of products, and the recommender compares all the considered items to be recommended with this case base. This case base is different for each user and has the information retrieved from the Web Test module.

R EFERENCES [1] J. F. McCarthy and T. D. Anagnost, “MusicFX: An arbiter of group preferences for computer aupported collaborative workouts,” in CSCW ’98. ACM, 1998, pp. 363–372. [2] J. Masthoff and A. Gatt, “In pursuit of satisfaction and the prevention of embarrassment: affective state in group recommender systems,” User Modeling and User-Adapted Interaction, vol. 16, no. 3-4, pp. 281–319, 2006. [3] M. O’Connor, D. Cosley, J. A. Konstan, and J. Riedl, “Polylens: a recommender system for groups of users,” in ECSCW’01, USA, 2001, pp. 199–218. [4] A. Jameson and B. Smyth, “Recommendation to groups,” in The Adaptive Web, Methods and Strategies of Web Personalization, ser. Lecture Notes in Computer Science, vol. 4321. Springer, 2007, pp. 596–627.

C. Testing Stage For the realization of the testing stage we counted with the collaboration of a group of friends who have Facebook accounts. We asked them use our application to create events to go to the cinema. The testing consisted in performing all the different possible actions that the application has to offer, and the results of all of them have been positive, being our application fully operative at the moment.

[5] J. Masthoff, “Group modeling: Selecting a sequence of television items to suit a group of viewers,” User Modeling and User-Adapted Interaction, vol. 14, no. 1, pp. 37–85, 2004. [6] L. Quijano-S´anchez, J. A. Recio-Garc´ıa, and B. D´ıaz-Agudo, “Personality and social trust in group recommendations,” in Conference on Tools with Artificial Intelligence, ICTAI’10. IEEE Computing Society, 2010, pp. 121–126.

IV. C ONCLUSIONS

[7] L. Quijano-S´anchez, J. Recio-Garc´ıa, B. D´ıaz-Agudo, and G. Jim´enez-D´ıaz, “Social factors in group recommender systems,” in ACM-TIST, TIST-2011-01-0013. in press, 2011.

In this paper we have presented our Facebook application HappyMovie, a group recommender system based on the personality of each user and the trust among the people in the group. Our application benefits from the data stored in the social network Facebook, and uses it to complete the information about users that our system needs. In our previous works [6], [7] we presented a standalone group recommender. The contribution of our current work is embedding the application in Facebook, making it more reachable to everybody who has an account in it, and taking advantage of the social network information about its users. We have also modified our previous technique of obtaining the personality of each user and proved that with our new method, that consists on a movie metaphor test, our users are more satisfied because they spend less time answering the tests in order to build their recommender profile. Moreover, it is possible to replace the TKI test, that is the one that we used previously, with the new one because the results obtained with both tests are equitable. In our work we have employed a lot of different aggregation functions to generate the recommendations for groups. We have also implemented two different methods to perform the group recommendation, the delegation based method and the influence based method. Any of these methods or aggregations functions can be chosen to operate in HappyMovie. We plan to evaluate the impact of these aggregation functions in the accuracy of our approach and to include them in our adaptive group recommender, where the

[8] K. Thomas and R. Kilmann, Thomas-Kilmann Conflict Mode Instrument. Tuxedo, N.Y., 1974. [9] J. L. Herlocker, J. A. Konstan, L. G. Terveen, and J. T. Riedl, “Evaluating collaborative filtering recommender systems,” ACM Trans. Inf. Syst., vol. 22, no. 1, pp. 5–53, 2004. [10] J. A. Golbeck, “Computing and applying trust in web-based social networks,” Ph.D. dissertation, College Park, MD, USA, 2005, chair-Hendler, James. [11] P. Avesani, P. Massa, and R. Tiella, “A trust-enhanced recommender system application: Moleskiing,” in SAC ’05: Proceedings of the 2005 ACM symposium on Applied computing. NY, USA: ACM, 2005, pp. 1589–1593. [12] E. Gilbert and K. Karahalios, “Predicting tie strength with social media,” in CHI ’09: Proceedings of the 27th international conference on Human factors in computing systems. ACM, 2009, pp. 211–220. [13] J. Golbeck, “Combining provenance with trust in social networks for semantic web content filtering,” in Provenance and Annotation of Data, IPAW ’06, ser. Lecture Notes in Computer Science, vol. 4145. Springer, 2006, pp. 101–108. [14] B. D´ıaz-Agudo, P. A. Gonz´alez-Calero, J. A. Recio-Garc´ıa, and A. A. S´anchez-Ruiz-Granados, “Building cbr systems with jcolibri,” S. C. P., vol. 69, pp. 68–75, 2007. [15] M. J. Pazzani and D. Billsus, “Content-based recommendation systems,” in The Adaptive Web, 2007, pp. 325–341.

244