Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Table 4.1 depicts an overview of example group recommender applications. Compared to single user recommenders [8], group recommenders are a relatively young research field. There are less commercial applications, and research prototype implementations still dominate. In the following, we will discuss the systems included in Table 4.1. In this context, we take into account (as far as possible) the criteria introduced in Table 2.1.

Table 4.1 Overview of existing group recommender systems—extended version of the overview introduced by Jameson and Smyth [13] (CF = collaborative recommendation, CON = content-based recommendation, UTIL = utility-based recommendation, CRIT = critiquing-based recommendation; P = aggregated profile, I = aggregated items or ratings)

2 Music Recommendation

AdaptiveRadio [4] is a content-based song recommendation environment for groups. A specialty of this environment is that specifically negative preferences of users are taken into account in song recommendations. The underlying idea is that it is often easier to figure out what a user does not like than discovering what a user likes. If there is a need to find solutions (recommendations) that satisfy all group members, such an approach appears to be beneficial [4]. Consensus solutions are items that have been implicitly or explicitly approved by every group member (in terms of ratings). AdaptiveRadio is an environment that broadcasts songs to a group and allows the group members to give feedback on individual songs in terms of dislikes. For a specific group, those songs that are not disliked by one of the group members are recommendation candidates. That is, if some group members dislike a song, it is filtered out. A basic similarity metric that primarily considers songs from the same album as similar is used.

FlyTrap [6] is an environment that designs soundtracks for groups. Radio frequency ID badges let the environment know when users are nearby. The recommendation approach is content-based combined with a voting (aggregation) schema that is followed by user-specific automated agents. The system exploits knowledge about user preferences (e.g., in terms of genres) and the relationship between different song evaluation dimensions represented in terms of MP3 meta-information (for example, how different artists influence each other or what types of transitions between songs users prefer). In FlyTrap, user preference data is derived from information about individual song preferences by a FlyTrap Agent locally installed on a user’s computer.

GroupFun [26, 27] is a group recommender application implemented as a Facebook plugin that recommends playlists for specific events, for example, birthday parties. In GroupFun, the playlists of individual users can be aggregated and recommendations for a specific event are determined on the basis of an advanced aggregation function denoted as probabilistic weighted sum, where the probability of a song being played is derived from a song’s global popularity (represented in terms of a score). The GroupStreamer system originates from the same research group as GroupFun and is currently available as an app in the Google Playstore.

In-Vehicle Multimedia Recommender [38] is a system that recommends multimedia items to a group of passengers. User profiles are exchanged via devices used during a car trip. The system aggregates relevant features from individual user profiles into a central profile that is used for determining recommendations. In the context of music recommendations, features could be general topics such as music styles, but could also be names of performers. Features are assigned a corresponding weight which reflects the importance of a feature for the whole group. Those items (e.g., songs and movies) with the highest overall similarity to the group profile have the highest probability of being recommended. No social-choice-based aggregation functions (see, e.g., [17]) are used in this context.

jXGroupRecommender [5] suggests music and movies to groups. Two basic group recommenders are proposed—one supports the group-based recommendation of songs (jMusicGroupRecommender), the other one supports the recommendation of movies (jMoviesGroupRecommender). Both recommenders are based on the idea of merging the recommendations predetermined for group individuals. The aggregation of individual recommendations is based on the aggregation strategies discussed in Chap. 2.

MusicFX [19] is a music recommendation system to be applied in the context of music consumption in fitness centers—more specifically, the system was built to be applied in the Andersen Consulting Technology Park (ACTP), where the fitness center has about 600 members. User preference information in MusicFX is collected when members fill out an enrollment form upon first joining the fitness center. Preferences are specified on a rating scale [–2/I love this music .. +2/I hate this music] with regard to musical genres such as alternative rock, country, dance, and hits. MusicFX then operates on the genre-level, i.e., does not recommend specific songs. The higher the aggregated popularity of a specific music genre for a group, the higher the probability that a song related to this genre will be selected.

3 Recommendation of Movies and TV Programs

Happy Movie [29] is a Facebook application that supports the recommendation of movies to groups. A user profile in Happy Movie is based on the dimensions personality, individual user preferences, and trust. Personality information is derived from feedback on a personality questionnaire. Individual users’ preferences with regard to movies are collected by ratings users have to provide before applying the system. Finally, trust information is collected from each Facebook user profile. The recommendation approach integrated in Happy Movie is a so-called delegation-based method where the recommendations of a user’s friend represent recommendation candidates. Their relevance is increased or decreased depending on the personality of the friend and finally weighted depending on the level of trust. For the different recommendation candidates, different preference aggregation functions [17] can be used to determine a final recommendation.

PolyLens [24] is a collaborative filtering based prototype system that recommends movies to groups based on the individual preferences of users. It is an extension to the freely available MovieLens recommender system. PolyLens users are allowed to create groups, receive group invitations, and also receive group-specific movie recommendations. Least Misery is used as aggregation strategy [17] to determine recommendations relevant to a group.

Netflix Group Recommender [3] is a collaborative-filtering-based prototype system that supports the recommendation of movies to groups of users. Predicted ratings are aggregated into a corresponding group rating by determining an average rating. Standard deviation values help to indicate potential disagreements among group members regarding specific recommendation candidates.

4 Recommendation of Travel Destinations and Events

CATS (Collaborative Travel Advisory System) [21] is a critiquing-based recommender system that assists a group of friends trying to jointly plan a skiing vacation. Users can provide individual feedback (in terms of critiques) on recommendations determined on the basis of a group profile which has been aggregated out of the set of individual user preferences. The critiquing approach provided in CATS is incremental critiquing where—in contrast to unit critiquing approaches—all critiques of individual users are taken into account when a new recommendation is determined. In the case of inconsistent preferences, “older” critiques are deleted, i.e., the most recent ones are favored when it comes to maintaining consistency.

EventHelpr Footnote 1 is a publicly-available environment that supports groups in organizing “ad hoc” events. An example is project meetings, where partners are supported in terms of providing information about location, restaurants, hotels, and related events. In addition, meetings have an associated agenda that can be defined by the organizer of the meeting or interactively by the group. In this context, agenda items can be evaluated with regard to their importance and then ranked (utility-based) such that the most important agenda items receive a higher ranking. Further application scenarios of EventHelpr are group travels, workshops and conferences, interactive courses, birthday parties, sport events, and Christmas parties (Fig. 4.1).

Fig. 4.1
figure 1

EventHelpr: group-based decision making in “ad hoc” events

GroupLink [36] is a prototype group recommendation environment that recommends events to promote group members’ face-to-face interactions in non-work settings. The underlying idea is to determine collections of events where the overall utility of a collection is interpreted as the minimum number of interaction opportunities for individual members (best-minimum-connected strategy which is a specific type of Least Misery).

Group Modeler [15] represents a system architecture that supports the creation of group models from a set of individual user models. Different approaches to generate a group model are discussed in [15], where the authors mention museum visits as a typical example of the application of the group recommender.

Intrigue (INteractive TouRist Information GUidE) [1] is a prototype tourist information platform that provides personalized information about tourist attractions. The system recommends sightseeing destinations and itineraries that are selected depending on the preferences of the members of a tourist group (e.g., families with children or groups of elderly). The recommendation approach followed by Intrigue is to construct a group model and then to perform a utility analysis [37] of different items with regard to the preference criteria contained in the group model. The system provides recommendations for subgroups (e.g., one family) and also recommendations assumed to be relevant for the whole group. Intrigue generates explanations as to why certain items are proposed to the group. Importance of user preferences are the major criteria for generating explanations, for example, if a family has a strong preference regarding ancient Roman buildings, amphitheaters could be recommended and the corresponding recommendation would mention the family’s preference for Roman culture.

Travel Decision Forum [12] is a system that supports the cooperative specification of preferences regarding different dimensions of a tourist destination such as room facilities, hotel facilities, sports facilities, leisure activities, health facilities, and country. For example, in the context of health facilities, evaluation attributes could be the importance of having a whirlpool, a sauna, and a massage. The aggregation mechanisms (available are, e.g., average, median, and random choice) used to generate proposals for the group can be selected by the mediator of a decision task. Recommendations are explained in terms of showing the preferences of individual group members. Furthermore, individual group members can explain their satisfaction with regard to certain aspects of a recommendation and—as a response—can adapt their preferences or specify their preferences with regard to the utility of proposals. For example, group members can specify to which extent it is important for them that the preferences of specific other group members are satisfied. A group recommender application for tourist destinations is also introduced by Nguyen and Ricci [22] where user preferences are derived by analyzing group chats related to the range of available alternatives being discussed.

5 Recommendation of News and Web Pages

G.A.I.N. (Group Adapted Interaction for News) [25] is a research prototype that supports the recommendation of personalized news to user groups in public spaces (realized via wall displays and mobile displays). The system derives a group user model from individual models and generates a recommendation thereof, based on one of a selection of supported social choice functions [17].

I-Spy [32] is a collaborative search service which acts as a post-processing service for a search engine. It helps to re-rank results based on preferences learned from a user community with similar information needs. In I-Spy, search behaviors of similar users are grouped to identify search context and thus to help to improve the quality of search. In this context, groups are implicit and anonymous and the overall goal is not primarily to support a group decision, but more to exploit knowledge about the preferences of group members to improve the search quality for individual group members.

Let’s Browse [16] also follows the idea of collaborative browsing by providing an agent that supports a group of users in browsing by suggesting items (e.g., web sites) that could be of potential interest to the group. Individual websites are evaluated with regard to their match to the profiles of the currently active users. In other words, the underlying recommendation approach is a content-based one. The similarity metric used is related to a group profile which represents a linear combination of the individual user profiles. Let’s Browse also supports explanations: names of users are shown highlighted and the top terms (keywords) from the user profile are highlighted as are terms common to profiles of other users.

6 Group Recommenders for Healthy Living

Pocket Restaurant Finder [18] is a system that recommends restaurants to groups on the basis of their culinary preferences and the location of the group members.Footnote 2 Group members fill out a profile that includes their preferences regarding restaurants as well as their willingness to travel and limits regarding the amount of money they want to spend. Pocket Restaurant Finder is based on many of the ideas developed in the context of MusicFX [19]. From individual user preferences, Pocket Restaurant Finder derives a group preference for each restaurant. Further discussions on restaurant recommender systems for groups can be found, for example, in Hallström [11].

Xeet is a group decision support environment primarily dedicated to achieving consensus regarding active participation in sports events. Sport events can be announced on different channels such as Facebook or WhatsApp and feedback from potential participants is immediately visible once it is available. The system provides a nice overview of the different user preferences and summarizes the current state of the preferences. This basic recommendation is given to the creator of the event. In this scenario, users are jointly agreeing on whether or not to participate in an event. The recommendation in this context is a yes/no decision (event should take place or not).

7 Group Recommenders in Software Engineering

Software engineering is a group-intensive task where stakeholders often have to make joint decisions [7], for example, regarding the requirements that should be implemented in the next software release or regarding the evaluation (on the meta-level) of a defined set of requirements. IntelliReq [23] is an environment for early requirements engineering, i.e., requirements engineering in the initial phases of a software project (see Fig. 4.2).

Fig. 4.2
figure 2

IntelliReq: an environment for recommendation-enhanced software requirements engineering [23]

In IntelliReq, requirements can be specified on a textual level. Each user can evaluate a requirement with regard to different interest dimensions (risk, feasibility, cost, relevance, priority, and duration). If all stakeholders who are in charge of evaluating a requirement agree on the estimates for the meta-attributes, consensus is visualized by green traffic lights. If no consensus can be achieved, corresponding red or orange lights are shown which indicate that stakeholders have to perform another evaluation cycle. After having evaluated a requirement, each stakeholder is allowed to see the evaluations of the other stakeholders. Basic recommendation functionalities that support requirement evaluation are Majority Voting (MAJ) and Average (AVG) recommendation (see Fig. 4.2). The integrated traffic light metaphor helps to signal need for completion, i.e., to better engage stakeholders in requirements engineering and thus, to increase the quality of requirement models.

PlanitPoker Footnote 3 is a tool that supports, for example, effort estimation processes related to software requirements. Players of a game are allowed to articulate their estimates, where possible effort values correspond to Fibonacci numbers. The game enforces repeated estimation iterations until consensus regarding the effort of a software requirement is achieved. Note that the tool is not restricted to application in requirements engineering, but is generally applicable in scenarios where groups of users are engaged in a kind of estimation task. PlanitPoker does not have a dedicated recommendation component; the recommendation can be considered as the output of the process (Fig. 4.3).

Fig. 4.3
figure 3

PlanitPoker: an environment for group-based effort estimation

8 Domain-Independent Group Recommenders

Choicla Footnote 4 [34] is a domain-independent commercially available system for the support of choice tasks that focuses on the ranking and selection of items, for example, deciding which restaurant to visit for a dinner, deciding on a set of requirements to be implemented in the next software release, deciding on a software system to purchase, or deciding the date of the next group meeting (see Fig. 4.4). Group recommender systems play a central role in the support of such tasks. In Choicla, Average Voting (AVG) and prospect theory [14] are used to determine group recommendations.

Fig. 4.4
figure 4

Choicla: a domain-independent decision support environment

In scenarios where alternatives (items) are described in terms of different dimensions (see Fig. 4.4), Choicla supports a utility analysis approach for groups which is based on multi-attribute utility theory. When deciding, for example, on a specific accounting software to be purchased by a company, corresponding interest dimensions could be coverage of needed functionalities, trust in the provider of the software, economy, and technological fitness. Individual users rate alternatives with regard to these dimensions and then Average (AVG) aggregation heuristics are used to aggregate individual user evaluations into one overall group evaluation with regard to a specific dimension of an item.

Doodle Footnote 5 [30] (see Fig. 4.5) is a domain-independent commercially available system that supports different types of group decisions. The major focus of Doodle is to support decisions regarding the dates of certain events (e.g., meetings in a company or Christmas parties). Individual preferences of group members are defined in terms of different support levels. For example, “yes”, “yes, if needed”, and “no” are typical answers used when scheduling a meeting. In Doodle, the basic mechanism to integrate preferences is Majority Voting (MAJ), for example, dates that received the highest number of yes or yes, if needed answers can be considered as recommended alternative. However, Doodle does not provide recommendations but limits itself to the visualization of the current status of the decision process.

Fig. 4.5
figure 5

Doodle: a domain-independent decision support environment

ChoiclaWeb Footnote 6 (see Fig. 4.6) is a domain-independent commercially available decision support environment with the goal of supporting a broader range of choice tasks including ranking and selection, configuration, release planning, and sequencing. This basically covers the advanced choice scenarios discussed in Chap. 7. ChoiclaWeb also includes basic feedback mechanisms in terms of polls, questionnaires, and elections.

Fig. 4.6
figure 6

ChoiclaWeb: a domain-independent decision support environment

9 Conclusions and Research Issues

In this chapter, we gave an overview of different environments that include some kind of group recommendation functionality. Each environment has been analyzed with regard to specific characteristics of group recommender systems. In addition to domain-independent environments, the major application domains considered in this analysis were movies and TV programs, tourism destinations and events, news and web pages, healthy living, and software engineering. A major open issue in the context of group recommender research is the availability of publicly available datasets that provide a basis for the development and comparison of different group recommendation approaches. What already exists for single user recommendation domains, for example, in terms of the MovieLens datasetFootnote 7 should also be made available for group recommendation scenarios. Such datasets can serve as a driving force for new recommender-related research developments. There are also a couple of new application areas for group recommender systems. For example, the OpenReq Footnote 8 research project focuses on the development of recommendation and decision technologies that support different kinds of requirements engineering processes [10]. A related issue is the scoping of product lines, i.e., to decide which features should be included in a new product line [31]. Another application domain for group recommendation technologies is sports, for example, recommendation technologies could be used to recommend training sessions for teams depending on the current team configuration / team members currently participating in a training. An example thereof is a tennis training session where players with different strengths and weaknesses are participating. In the context of the Internet of Things (IoT) [2], there are various application scenarios for group recommendation technologies [9]. For example, in in-store purchasing scenarios, product information and infomercials must be personalized for the users currently near the screen hardware. Similar scenarios exist in the context of public displays where information has to be adapted to the users in the surrounding area. A privacy-related challenge in this context is to identify the relevant user information in a manner that users would find acceptable.