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

Recommender systems support users in the identification of items that fulfill their wishes and needs. As a research discipline, recommender systems has been established in the early 1990s (see, e.g., [1]) and since then has grown enormously in terms of algorithmic developments as well as in terms of deployed applications. A recommender system can be defined as a system that guides users in a personalized way to interesting or useful objects in a large space of possible objects or produces such objects as output [2, 3]. Practical experiences from the successful deployment of recommendation technologies in e-commerce contexts (e.g., www.amazon.com [4] and www.netflix.com [5]) contributed to the development of recommenders in new application domains. Especially such new and upcoming application domains are within the major focus of this chapter.

On an algorithmic level, there exist four basic recommendation approaches. First, content-based filtering [6] is an information filtering approach where features of items a user liked in the past are exploited for the determination of new recommendations. Content-based filtering recommendation is applied, for example, by www.amazon.com for the recommendation of items which are similar to those that have already been purchased by the user. If a user has already purchased a book related to the Linux operating system, new (and similar) books will be recommended to her/him in the future.

Second, collaborative filtering is applied to the recommendation of items such as music and movies [4, 7, 8]. It is based on the concept of analyzing the preferences of users with a similar item rating behavior. As such, it is a basic implementation of word-of-mouth promotion with the idea that a purchase decision is influenced by the opinions of friends and relatives. For example, if user Joe has purchased movies similar to the ones that have been purchased by user Mary then www.amazon.com would recommend items to Joe which have been purchased by Mary but not by Joe up to now. The major differences compared to content-based filtering are (a) no need of additional item information (in terms of categories or keywords describing the items) and (b) the need of information about the rating behavior of other users.

Third, high-involvement items such as cars, apartments, and financial services are typically recommended on the basis of knowledge-based recommendation technologies [2, 9]. These technologies are based on the idea of exploiting explicitly defined recommendation knowledge (defined in terms of deep recommendation knowledge, e.g., as rules and constraints) for the determination of new recommendations. Rating-based recommendation approaches such as collaborative filtering and content-based filtering are not applicable in this context since items are not purchased very frequently. A consequence of this is that no up-to-date rating data of items is available. Since knowledge-based recommendation approaches rely on explicit knowledge representations the so-called knowledge acquisition bottleneck becomes a major challenge when developing and maintaining such systems [9].

Finally, group recommendation [10] is applied in situations where there is a need of recommendations dedicated to a group of users, for example, movies to be watched by a group of friends or software requirements to be implemented by a development team. The major difference compared to the afore mentioned recommendation approaches lies in the criteria used for determining recommendations: while in the case of content-based filtering, collaborative filtering, and knowledge-based recommendation the major goal is to identify recommendations that perfectly fit the preferences of the current user, group recommendation approaches have to find ways to satisfy the preferences of a user group.

The major focus of this book chapter is to give an overview of new and upcoming applications of recommendation technologies and to provide insights into major requirements regarding the development of the next generation of recommender systems. Our work is based on an analysis of research published in workshops, conferences, and journals summarized in Table 1. In this context we do not attempt to provide an in-depth analysis of state-of-the-art recommendation algorithms [11, 12] and traditional applications of recommendation technologies [13] but focus on the aspect of new and upcoming applications [3, 14]. An overview of these applications is given in Table 2.

Table 1 Overview of journals and conferences (including workshops) used as the basis for the literature analysis (papers on recommender system applications 2005–2012)

The remainder of this chapter is organized as follows. In Sects. 26 we provide an overview of new types of applications of recommendation technologies and give working examples. In Sect. 7 we sketch the upcoming generation of recommender systems as Personal Assistants which significantly improve the overall quality of recommendations in terms of better taking into account preferences of users—in this context we discuss major issues for future research.

2 Recommender Systems in Software Engineering

Recommender systems can support stakeholders in software projects by efficiently tackling the information overload immanent in software projects [15]. They can provide stakeholder support throughout the whole software development process—examples are the recommendation of methodological knowledge [16, 17], the recommendation of requirements [18, 19], and the recommendation of code [20, 21].

Recommendation of Methodological Knowledge. Appropriate method selection is crucial for successful software projects, for example, the waterfall process is only applicable for risk-free types of projects but not applicable for high risk projects. Method recommendation is already applied in the context of different types of development activities such as the domain-dependent recommendation of algorithmic problem solving approaches [16] and the recommendation of appropriate effort estimation methods [17]. These approaches are based on the knowledge-based recommendation paradigm [2, 9] since recommendations do not rely on the taste of users but on well-defined rules defining the criteria for method selection.

Recommendation of Code. Due to frequently changing development teams, the intelligent support of discovering, locating, and understanding code is crucial for efficient software development [21]. Code recommendation can be applied, for example, in the context of (collaborative) call completion (which API methods from a large set of options are relevant in a certain context?) [21], recommending relevant example code fragments (which sequence of methods is needed in the current context?) [22], tailoring the displayed software artifacts to the current development context [23], and classification-based defect prediction [24]. For an in-depth discussion of different types of code recommendation approaches and strategies we refer the reader to [15, 25].

Table 2 Overview of identified recommender applications not in the mainstream of e-commerce applications (Knowledge-based Recommendation: KBR, Collaborative Filtering: CF, Content-based Recommendation: CBR, Machine Learning:ML, Group Recommendation: GR, Probability-based Recommendation: PR, Data Mining: DM)

Recommendation of Requirements. Requirements engineering is one of the most critical phases of a software development process and poorly implemented requirements engineering is one of the major reasons for project failure [51]. Core requirements engineering activities are elicitation and definition, quality assurance, negotiation, and release planning [52]. All of these activities can be supported by recommendation technologies, for example, the (collaborative) recommendation of requirements to stakeholders working on similar requirements [19] and the group-based recommendation of requirements prioritizations [18].

Example: Content-based Recommendation of Similar Requirements. In the following, we will exemplify the application of content-based filtering [6] in the context of requirements engineering. A recommender can support stakeholders, for example, by recommending requirements that have been defined in already completed software projects (requirements reuse) or have been defined by other stakeholders of the same project (redundancy and dependency detection). Table 3 provides an overview of requirements defined in a software project. Each requirement \(req_i\) is characterized by a category, the number of estimated person days to implement the requirement, and a textual description.

Table 3 Example of a content-based filtering recommendation problem: recommendation of similar requirements based on category and/or keyword information
Table 4 Example of a group recommendation problem: recommendation of requirements prioritizations to a group of stakeholders (used heuristics = majority voting)

If we assume that the stakeholder currently interacting with the requirements engineering environment has already investigated the requirement \(req_1\) (assigned to the category database), a content-based recommender system would recommend the requirement \(req_3\) (if this one has not been investigated by the stakeholder up to now). If no explicitly defined categories are available, the textual description of each requirement can be exploited for the extraction of keywords which serve for the characterization of the requirement. Extracted keywords can then be used for the determination of similar requirements [53]. A basic metric for determining the similarity between two requirements is given in Formula 1. For example, sim(req\(_{1}\), req\(_{3}\)) = 0.17, if we assume keywords(req\(_{1}\))= {store, component, configuration, DB} and keywords(req\(_{3}\)) = {tier, DB, independence}.

$$\begin{aligned} sim(req_1,req_2)=\frac{|keywords(req_1)\cap keywords(req_2)|}{|keywords(req_1)\cup keywords(req_2)|}\end{aligned}$$
(1)

Example: Group-based Recommendation of Requirements Prioritizations. Group recommenders include heuristics [10] that can help to find solution alternatives which will be accepted by the members of a group (with a high probability). Requirements prioritization is the task of deciding which of a given set of requirements should be implemented within the scope of the next software release—as such, this task has a clear need of group decision support: a stakeholder group has to decide which requirements should be taken into account. Different heuristics for coming up with a group recommendation are possible, for example, the majority heuristic proposes a recommendation that takes the majority of requirements-individual votes as group recommendation (see Table 4). In contrast, the least misery heuristic recommends the minimum of the requirements-individual ratings to avoid misery for individual group members. For a detailed discussion of different possible group recommendation heuristics we refer the reader to [10].

3 Recommender Systems in Data and Knowledge Engineering

Similar to conventional software development, knowledge-based systems development suffers from continuously changing organizational environments and personal. In this context, recommender systems can help database and knowledge engineers to better cope with the size and complexity of knowledge structures [30, 33]. For example, recommender systems can support an improved understanding of the knowledge base by actively suggesting those parts of the knowledge base which are candidates for increased testing and debugging [26, 33]. Furthermore, recommender systems can propose repair and refactoring actions for faulty and ill-formed knowledge bases [27, 29]. In the context of information search, recommender systems can improve the accessibility of databases (knowledge bases) by recommending queries [30].

Knowledge Base Understanding. Understanding the basic elements and the organizational structure of a knowledge base is a major precondition for efficient knowledge base development and maintenance. In this context, recommender systems can be applied for supporting knowledge engineers, for example, by (collaboratively) recommending constraints to be investigated when analyzing a knowledge base (recommendation of navigation paths through a knowledge base) or by recommending constraints which are related to each other, i.e., are referring to common variables [26].

Knowledge Base Testing and Debugging. Knowledge bases are frequently adapted and extended due to the fact that changes in the application domain have to be integrated into the corresponding knowledge base. Integrating such changes into a knowledge base in a consistent fashion is time-critical [9]. Recommender systems can be applied for improving the efficiency of knowledge base testing and debugging by recommending minimal sets of changes to knowledge bases which allow to restore consistency [28, 33]. Popular approaches to the identification of such hitting sets are model-based diagnosis introduced by Reiter [54] and different variants thereof [28].

Knowledge Base Refactoring. Understandability and maintainability of knowledge bases are important quality characteristics which have to be taken into account within the scope of knowledge base development and maintenance processes [55]. Low quality knowledge structures can lead to enormous maintenance costs and thus have to be avoided by all available means. In this context, recommender systems can be applied for recommending relevant refactorings, i.e., semantics-preserving structural changes of the knowledge base. Such refactorings can be represented by simple constraint rewritings [29] or by simplifications in terms of recommended removals of redundant constraints, i.e., constraints which do not have an impact on the semantics of the knowledge base [27].

Recommender Systems in Databases. Chatzopoulou et al. [30] introduce a recommender application that supports users when interactively exploring relational databases (complex SQL queries). This application is based on collaborative filtering where information about the navigation behavior of the current user is exploited for the recommendation of relevant queries. These queries are generated on the basis of the similarity of the current user’s navigation behavior and the navigation behavior of nearest neighbors (other users with a similar navigation behavior who already searched the database). Fakhraee et al. [31] focus on recommending database queries which are derived from those database attributes that contain the keywords part of the initial user query. In contrast to Chatzopoulou et al. [30], Fakhraee et al. [31] do not support the recommendation of complex SQL queries but focus on basic lists of keywords (keyword-based database queries).

Example: Collaborative Recommendation of Relevant Constraints. When knowledge engineers try to understand a given set of constraints part of a knowledge base, recommender systems can provide support in terms of showing related constraints, for example, constraints that have been analyzed by knowledge engineers in a similar navigation context. In Table 5, the constraints {constraint\(_{1..4}\)} have already partially been investigated by the knowledge engineers {knowledge engineer\(_{1..3}\)}. For example, knowledge engineer\(_{1}\) has already investigated the constraints constraint\(_{1}\) and constraint\(_{3}\). Collaborative filtering (CF) can exploit the ratings (the rating = 1 if a knowledge engineer has already investigated a constraint and it is 0 if the constraint has not been investigated up to now) for identifying additional constraints relevant for the knowledge engineer.

Table 5 Example of a collaborative recommendation problem. The entry ij with value 1 (0) denotes that fact that knowledge engineer\(_{i}\) has (not) inspected constraint\(_{j}\)

User-based CF [7] identifies the k-nearest neighbors (knowledge engineers with a similar knowledge navigation behavior) and determines a prediction for the rating of a constraint the knowledge engineer had not to deal with up to now. This prediction can be determined, for example, on the basis of the majority of the k-nearest neighbors. In the example of Table 5 knowledge engineer\(_{2}\) is the nearest neighbor (if we set k = 1) since knowledge engineer\(_{2}\) has analyzed (or changed) all the constraints investigated by knowledge engineer\(_{1}\). At the same time, knowledge engineer\(_{1}\) did not analyze (change) the constraint constraint\(_{4}\). In our example, CF would recommend the constraint\(_{4}\) to knowledge engineer\(_{1}\).

4 Recommender Systems for Configurable Items

Configuration can be defined as a basic form of design activity where a target product is composed from a set of predefined components in such a way that it is consistent with a set of predefined constraints [56]. Similar to knowledge-based recommender systems [2, 9], configuration systems support users in specifying their requirements and give feedback in terms of solutions and corresponding explanations [57]. The major difference between configuration and recommender systems is the way in which these systems represent the product (configuration) knowledge: configurators are exploiting a configuration knowledge base whereas (knowledge-based) recommender systems are relying on a set of enumerated solution alternatives (items). Configuration knowledge bases are especially useful in scenarios with a large number of solution alternatives which would make an explicit representation extremely inefficient [57].

In many cases, the amount and complexity of options presented by a configurator outstrips the capability of a user to identify an appropriate solution. Recommendation technologies can be applied in various ways to improve the usability of configuration systems, for example, filtering out product features which are relevant for the user [57, 58], proposing concrete feature values and thus helping the user in situations where knowledge about certain product properties is not available [57], and by determining plausible repairs for inconsistent user requirements [33].

Selecting Relevant Features. In many cases users are not interested in specifying all the features offered by a configurator interface, for example, some users may be interested in the GPS functionality of digital cameras whereas this functionality is completely uninteresting for other users. In this context, recommender systems can help to determine features of relevance for the user, i.e., features the user is interested to specify. Such a feature recommendation can be implemented, for example, on the basis of collaborative filtering [32].

Determining Relevant Feature Values. Users try to avoid to specify features they are not interested in or about which they do not have the needed technical knowledge [57]. In such a context, recommender systems can automatically recommend feature values and thus reduce the burden of interaction for the user. Feature value recommendation can be implemented, for example, on the basis of collaborative filtering [7, 57]. Note that feature value recommendation can trigger biasing effects and—as a consequence—could also be exploited for manipulating users to select services which are not necessarily needed [59].

Determining Plausible Repairs for Inconsistent Requirements. In situations where no solution can be found for a given set of customer requirements, configuration systems determine a set of repair alternatives which guarantee the recovery of consistency. Typically many different repair actions are determined by the configurator which makes it nearly infeasible for the user to find one which exactly fits his/her wishes and needs. In such a situation, knowledge-based and collaborative recommendation technologies can be exploited for personalizing the user requirements repair search process [33].

Table 6 Example of collaboratively recommending relevant features. A table entry \(x\) denotes the order in which a user specified values for the given features

Example: Collaborative Recommendation of Features. Table 6 represents an interaction log which indicates in which session which features have been selected by the user (in which order)—in session\(_1\), feature\(_1\) was selected first, then feature\(_3\) and feature\(_2\), and finally feature\(_4\). One approach to determine relevant features for (the current) user in session\(_5\) is to apply collaborative filtering. Assuming that the user in session\(_5\) has specified the features\(_{1,2}\), the most similar session would be session\(_2\) and feature\(_3\) would be recommended to the user since it had been selected by the nearest neighbor (user in session\(_2\)). For a discussion of further feature selection approaches we refer the reader to [57].

5 Recommender Systems for Persuasive Technologies

Persuasive technologies [60] aim to trigger changes in a user’s attitudes and behavior on the basis of the concepts of human computer interaction. The impact of persuasive technologies can be significantly increased by additionally integrating recommendation technologies into the design of persuasive systems. Such an approach moves persuasive technologies forward from a one-size-fits all approach to a personalized environment where user-specific circumstances are taken into account when generating persuasive messages [61]. Examples of the application of recommendation technologies in the context of persuasive systems are the enforcement of physical activity while playing computer games [34] and encouraging software developers to improve the quality of their software components [35].

Persuasive Games. Games focusing on the motivation of physical activities include additional reward mechanisms to encourage players to perform real physical activities. Berkovsky et al. [34] show the successful application of collaborative filtering recommendation technologies [7] for estimating the personal difficulty of playing. This recommendation (estimation) is exploited to adapt the difficulty level of the current game session since the perceived degree of difficulty is correlated with the preparedness of a user to perform physical activities.

Persuasive Software Development Environments. Software development teams are often under the gun of developing software components under high time pressure which often has a direct impact on the corresponding software quality. However, in the long term software quality is strongly correlated with the degree of understandability and maintainability. In this context, software quality improvements can be achieved by recommendation technologies, for example, knowledge-based recommenders can be applied to inform programmers about critical code segments and also recommend actions to be performed in order to increase the software quality. Pribik et al. [35] introduce such an environment which has been implemented as an Eclipse plugin (www.eclipse.org).

Table 7 Collaborative filtering based determination of personal game difficulty levels. A table entry \(x\) denotes the time a user needed to complete a certain game task

Example: Collaborative Estimation of Personal Game Level Difficulties. Table 7 depicts a simple example of the application of collaborative filtering to the determination of personal difficulty levels. Let us assume that the current user in session\(_5\) has already completed the tasks 1..3; by determining the nearest neighbor of session\(_5\) we can infer a probable duration of task\(_4\): session\(_1\) is the nearest neighbor of session\(_5\) and the user of session\(_1\) needed seven time units to complete task\(_4\). This knowledge about the probable time efforts needed to complete a task can be exploited to automatically adapt the complexity level of the game (with the goal to increase the level of physical activity [34]).

6 Further Applications

Up to now we discussed a couple of new and innovative application domains for recommendation technologies. Admittedly, this enumeration is incomplete since it does not reflect wide-spread e-commerce applications—for a corresponding overview the interested reader is referred to [4, 13]. In this section we discuss further new and upcoming application domains for recommendation technologies that have been identified within the scope of our literature analysis.

Recommender Systems for Smart Homes. Smart homes are exploiting information technologies to improve the quality of life inside the home. Leitner et al. [36] show the application of knowledge-based recommendation technologies in the context of ambient assisted living (AAL) scenarios where on the one hand recommenders are applied to the design a smart home, on the other hand to control the smart home equipment. During the design phase of a smart home, the user is guided through a preference construction process with the final outcome of a recommendation of the needed technical equipment for the envisioned smart home. For already deployed smart home installations recommendation technologies support the people living in the smart home by recommending certain activities such as activating the air conditioning or informing other relatives about dangerous situations (e.g., for some relevant time period the status of the elderly people living in the house is unclear). A further application of recommendation technologies within the context of AAL is reported by LeMay et al. [37] who introduce an application of collaborative recommendation technologies for supporting the control of complex smart home installations.

People Recommender. Social networks such as facebook.com or linkedin.com are increasingly popular communication platforms. These platforms also include different types of recommender applications that support users in retrieving interesting music, travel destinations, and connecting to other people. Recommendations determined by these platforms are often exploiting the information contained in the underlying social network [62]. A new and upcoming application which exploits the information of social networks is the identification of crime suspects. In this context, social networks are representing the relationships between criminals. The CrimeWalker system introduced by Tayebi et al. [38] is based on a random-walk based method which recommends (provides) a list of the top-k potential suspects of a crime. Similar to CrimeWalker, TechLens is a recommender system which focuses on the recommendation of persons who could act—for example—as reviewers within the scope of a scientific conference organization. In contrast to CrimeWalker, the current version of TechLens does not exploit information from social networks—it is based on a collaborative filtering recommendation approach. Yuan et al. [42] present their approach to the recommendation of passenger hotspots, i.e., the recommender system is responsible for improving the prediction quality of hotspots and with this decreases the idle time of taxi drivers. Finally, Hoens et al. [40] present their approach to the recommendation of physicians—the major goal behind this application is to provide mechanisms which improve the quality of physician selection which otherwise is based on simple heuristics such as the opinion of friends or the information found on websites.

RFID based Recommenders. Personalized services become ubiquitous, for example, in tourism many destinations such as museums and art galleries are providing personalized access to help customers to better cope with the large amount of available services. An alternative to force users to explicitly declare their preferences before receiving a recommendation of potentially interesting services is to observe a user’s navigation behavior and—on the basis of this information—to infer plausible recommendations. Such a recommendation approach is in the need of location and object information in order to be able to store the user navigation behavior. A collaborative filtering based handheld guide for art museums is introduced in [41] where Radio-frequency Identification (RFID) serves as a basis for preference data acquisition. RFID is a non-contact tracking system which exploits radio-frequency electromagnetic fields to transfer tag data for the purposes of object identification and object tracking [63].

Help Agents. Howto’s are an important mechanism to provide guidance for users who are non-experts in a certain problem domain—such a support can be implemented, for example, on the basis of recommendation technologies [64]. One example for such a type of help agent is SmartChoice which is a (content-based) recommender system that supports representatives of low-income families in the choice of a public school for their children. Such a recommendation support is crucial since in many cases (a) parents do not dispose of detailed knowledge about the advantages and disadvantages of the different school types and (b) a false decision can have a very negative impact on the future life of the children. Another example of a help agent is Personal Choice Point [44] which is a financial service recommendation environment focusing on the visualization of the impact of different financial decisions on a user’s life. Hammer et al. [45] present MED-StyleR which is a lifestyle recommender dedicated to the support of diabetes patients with the goal of improving care provision, enhancing the quality of a patient’s life, and also to lower costs of public health institutions and patients. Another lifestyle related recommender application is presented by Pinxteren et al. [46] which focuses on determining health-supporting recipes that also fit the lifestyle of the user. In the same line, Wiesner and Pfeifer [47] introduce a content-based recommender application dedicated to the identification of relevant health information for a specific user.

Recommender Systems in Open Innovation. Integrating consumer knowledge into a company’s innovation processes (also denoted as Open Innovation [65]) is in many cases crucial for efficient new product and service development. Innovation process quality has a huge impact on the ability of a company to achieve sustainable growth. Innovations are very often triggered by consumers who are becoming active contributors in the process of developing new products. Platforms such as sourceforge.net or ideastorm.com confirm this trend of progressive customer integration. These platforms exploit community knowledge and preferences to come up with new requirements, ideas, and products. In this context, the size and complexity of the generated knowledge (informal descriptions of requirements and ideas as well as knowledge bases describing new products on a formal level) outstrips the capability of community members to retain a clear view. Recommender systems can provide help in terms of finding other users with similar interests and ideas (team recommendation [48]) and to (semi-) automatically filter out the most promising ideas (idea mining [49, 50]).

7 Issues for Future Research

Recommendation technologies have been successfully applied for almost two decades primarily with the goal of increasing the revenue of different types of online services. In most of the existing systems the primary focus is to help to achieve business goals, rarely the viewpoint of the customer is taken into account in the first place [66]. For example, www.amazon.com recommenders inform users about new books of interest for them; a more customer-centered recommendation approach would also take into account (if available) information about books that have been bought by friends or relatives and thus are potentially available for the customer [66]. As a consequence, we are in the need of new recommendation technologies that allow more customer-centered recommendation approaches. In this context, the following research challenges have to tackled.

Focusing on the User Perspective. There are many other scenarios quite similar to the above mentioned www.amazon.com one where the recommender system is clearly focused on increasing business revenues. For example, consumer packaged goods (CPG) are already offered on the basis of recommender systems [67], however, these systems are domain-specific, i.e., do not take into account information regarding goods and services offered by the grocer nearby. Digital camera recommenders recommend the newest technology but in most cases do not take into account the current portfolio of the user, for example, if a user has a complete lens assortment of camera provider \(X\) it does not make sense to recommend a new camera of provider \(Y\) in the first place. An approach which is in the line of the idea of a stronger focus on the quality of user support is the RADAR personal assistant introduced by Faulring et al. [68] that supports multi-task coordination of personal emails.

Sharing Recommendation Knowledge. Besides commercial interests, one of the major reasons for the low level of customer orientation of todays recommender solutions is the lack of the needed recommendation knowledge. In order to recommend books already read by friends the recommender would need the information of the social network of the customer. The global availability of CPG goods information seems to be theoretically possible but is definitely in the need of a corresponding cloud and mobile computing infrastructure. More customer-centered recommender systems will follow the paradigm of personal assistants which does not focus on specific recommendation services but rather provides an integrated and multi-domain recommendation service [66, 69]. Following the idea of ambient intelligence [70], such systems will be based on global object information [63, 71] and support users in different application contexts in a cross-domain fashion.

Context Awareness. New recommendation technologies will intensively exploit the infrastructure of mobile services to determine and take into account the context of the current user [11]. Information such as the users shorttime and longterm preferences, geographical position, movement data, calendar information, information from social networks can be exploited for detecting the current context of the person and exploit this information for coming up with intelligent recommendations [72].

Unobtrusive Preference Identification. Knowledge about user preferences is a key preliminary for determining recommendations of relevance for the user. A major issue in this context is the development of new technologies which allow the elicitation of preferences in an unobtrusive fashion [7375]. The three major modalities to support such a type of preference elicitation are the detection of facial expressions, the interpretation of recorded speech, and the analysis of physiological signals. An example of the derivation of user preferences from the analysis of eye tracking patterns is presented by Xu et al. [76] who exploit eye tracking technologies by interpreting attention times to improve the quality of a content-based filtering recommender. An approach to preference elicitation from physiological signals is presented by Janssen et al. [77] who exploit the information about skin temperature for measuring valence which is applicable to mood measurement.

Psychological Aspects of Recommender Systems. Building efficient recommendation algorithms and the corresponding user interfaces requires a deep understanding of human decision processes. This goal can be achieved by analyzing existing psychological theories of human decision making and their impact on the construction of recommender systems. Cosley et al. [78] already showed that the style of item rating presentation has a direct impact on a users’ rating behavior. Adomavicius et al. [79] showed the existence of anchoring effects in different collaborative filtering scenarios. With their work, Adomavicius et al. [79] confirm the results presented by Cosley et al. [78] but they show in more detail in which way rating drifts can have an impact on the rating behavior of a user. As already mentioned, recommendation technologies improve the quality of persuasive interfaces [34, 35]. Future recommenders should exploit the information provided by the mentioned preference elicitation methods [77].

8 Conclusions

With this chapter we provide an overview of new and upcoming applications of recommendation technologies. This overview does not claim to be complete but is the result of an analysis of work published in recommender systems related workshops, conferences, and journals. Beside providing insights into new and upcoming applications of recommendation technologies we also provide a discussion of issues for future research with the goal of advancing the state of the art in recommender systems which is characterized by a more user-focused and personal assistance based recommendation paradigm.