Scholarly article on topic 'A Review of the Role of Sensors in Mobile Context-Aware Recommendation Systems'

A Review of the Role of Sensors in Mobile Context-Aware Recommendation Systems Academic research paper on "Computer and information sciences"

0
0
Share paper
Keywords
{""}

Academic research paper on topic "A Review of the Role of Sensors in Mobile Context-Aware Recommendation Systems"

Hindawi Publishing Corporation International Journal of Distributed Sensor Networks Volume 2015, Article ID 489264, 30 pages http://dx.doi.org/10.1155/2015/489264

Review Article

A Review of the Role of Sensors in Mobile Context-Aware Recommendation Systems

Sergio Ilarri, Ramón Hermoso, Raquel Trillo-Lado, and María del Carmen Rodríguez-Hernández

IIS Department, University of Zaragoza, 50018 Zaragoza, Spain Correspondence should be addressed to Sergio Ilarri; silarri@unizar.es Received 1 June 2015; Revised 9 October 2015; Accepted 12 October 2015 Academic Editor: Kijun Han

Copyright © 2015 Sergio Ilarri et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Recommendation systems are specialized in offering suggestions about specific items of different types (e.g., books, movies, restaurants, and hotels) that could be interesting for the user. They have attracted considerable research attention due to their benefits and also their commercial interest. Particularly, in recent years, the concept of context-aware recommendation system has appeared to emphasize the importance of considering the context of the situations in which the user is involved in order to provide more accurate recommendations. The detection of the context requires the use of sensors of different types, which measure different context variables. Despite the relevant role played by sensors in the development of context-aware recommendation systems, sensors and recommendation approaches are two fields usually studied independently. In this paper, we provide a survey on the use of sensors for recommendation systems. Our contribution can be seen from a double perspective. On the one hand, we overview existing techniques used to detect context factors that could be relevant for recommendation. On the other hand, we illustrate the interest of sensors by considering different recommendation use cases and scenarios.

1. Introduction

The so-called recommendation systems or recommender systems are systems specialized in providing recommendations of interest to users. Typical recommendation systems provide suggestions about films to watch, books to read, products to buy, restaurants, and so forth. Recommendation systems have attracted intensive research attention due to their interest in both e-commerce sites (recommending relevant products to users to increase the benefits and also the customer satisfaction) and information systems in general (providing useful information according to the needs of the users).

Traditional recommendation systems consider a static set of potential items (elements that can be recommended) and try to recommend relevant items to the users. However, recent approaches have highlighted the importance of considering the context of the situation in which the recommendation process takes place, in order to offer more relevant and precise recommendations. This has given rise to the appearance of context-aware recommendation systems

(CARS). These systems can take into account a variety of context factors that may have an impact on the relevance of an item (i.e., make the item more or less relevant), such as, for example, the location of the user, his/her mood, and the activity that he/she is performing.

To determine the context of a recommendation situation, different types of sensors can be used. These sensors can continuously monitor the environment of the user and modify the previously proposed recommendations dynamically and/or automatically trigger new recommendations upon the detection of specific events. However, despite the interest and the importance of the use of sensors in the context of recommendation systems, to the authors' knowledge, there is no in-depth study that relates the fields of sensors and recommendation systems.

In this paper, we present a survey of the state of the art on the use of sensors in recommendation scenarios. We review existing techniques for context detection and different recommendation scenarios and projects that illustrate their use. We have selected an extensive set of papers to try to

Figure 1: Concept map showing the main data topics covered.

ensure suitable representativeness of different techniques and use cases. Besides, we have made sure that popular well-referenced papers significantly related to the topic of our survey are included.

Figure 1 provides an overview of the topics covered in the paper (numbers in brackets indicate specific sections). The structure of the rest of this paper is as follows. In Section 2, we describe the technological context of this survey, including background information on recommendation systems, context-aware recommendations, and sensors. In Section 3, we focus on the problem of context detection and study existing methods for the identification of different context factors. In Section 4, we describe different recommendation use cases that illustrate the use and interest of context detection. In Section 5, we present some perspectives and open issues. Finally, we conclude the paper with Section 6.

2. Technological Context

In this section, we present the technological context of this survey. First, in Section 2.1, we introduce the concept of recommendation system. Then, in Section 2.2, we consider the application of the idea of context-awareness to recommendation systems. Finally, in Section 2.3, we present an overview of the different types of sensors that can be considered.

2.1. Recommendation Systems. Users are frequently overloaded with potential choices regarding aspects such as which book to read next, which film to watch, which research papers to study, and which restaurant could be a good choice for dinner. Recommendation systems or recommender systems (RS) [1-4] come to the rescue and aim at automatically suggesting

relevant items to users. For that purpose, they usually try to estimate the rating (e.g., a numeric score in the range from one to five or simply a "like'Vdislike" characterization) that the user would provide for a specific item; then, depending on the rating estimated, the item is recommended to the user or not (e.g., an item is recommended if the estimated numeric score exceeds a given threshold). Traditional recommendation approaches are usually based on either collaborative filtering or content-based recommendations [2]:

(i) Collaborative filtering approaches exploit the collaboration among several entities (e.g., users) in order to decide appropriate recommendations. For example, user-based collaborative filtering relies on the assumption that a user will very probably like items that other similar users have liked in the past. On the other hand, item-based collaborative filtering considers that a rating for an item can be estimated based on the ratings that the user provided for similar items in the past. These approaches obviously require the definition of an appropriate similarity measure (or, inversely, a distance metric) between users and between items, respectively.

(ii) Content-based approaches suggest relevant items based on the contents of the items (represented as sets of features or attributes), which are compared with a user profile that represents the preferences of the user.

A number of techniques for the different recommendation approaches have been proposed. Moreover, different adjustments can be applied to try to solve some problems exhibited by the traditional approaches [5]. As an example, a typical challenge is the cold start problem [6], which underlies, for example, the difficulty of recommending items

that have not yet been rated; other typical problems are those of spam vulnerability and high dimensionality. Besides, the exclusive use of a single recommendation approach is not always appropriate. Thus, content-based approaches can only be applied when items are well described by using a set of features. Furthermore, offering varied items could be problematic (due to the risk of overspecialization, items different from others that the users liked in the past are hardly recommended to them). Similarly, collaborative filtering has, for example, difficulties in dealing with the sparsity of ratings (items rated by very few users are hardly recommended) and with the potential lack of similar users. To overcome these difficulties, hybrid recommendation systems are proposed as a better solution [2].

Finally, it is interesting to highlight that, from the point of view of the recommendation model, it is possible to distinguish between pull-based recommendations and push-based recommendations. On the one hand, a pull-based recommendation model is a reactive approach that implies suggesting items to a user when the user has explicitly requested recommendations of a certain type of item. On the other hand, a push-based recommendation model is a proactive approach that implicitly recommends relevant items to a user without any explicit request from the user; the recommendation in this case could be triggered by some external event or by an action performed by the user.

2.2. Context-Aware Recommendation Systems. Traditional recommendation approaches face accuracy problems in some cases where elements related to the context are relevant in order to decide appropriate recommendations. For example, the weather conditions should play a key role when deciding whether open-air or indoor activities should be recommended. As another example, recommending to a walking user a restaurant that is located too far away may be inappropriate, even if the recommendation system estimates that the user will appreciate that restaurant. Thus, the relevance of an item depends on the context, which notably involves spatiotemporal criteria (e.g., see [7]) but may also include other context factors.

The study presented in [8] defines the context for a specific application scenario as "any information that can be used to characterize the situation of an entity," where an entity could be "a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves." Other definitions of context have been introduced in works such as [9, 10]. The work presented in [11] emphasizes the fact that the context is part of a process and not just a state. In [12], the context of use is considered to be composed of three dimensions: the end users, the hardware and software computing platform the user has to interact with, and the physical environment of the interaction. The meaning of "context-aware" was defined in [13] by indicating that "a system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user's task." The work presented in [14] highlights such adaptation of the properties of asystemtoimprove theuserinteraction, calledadaptability

when it is initiated by the user and adaptivity/adaptiveness when it is initiated by the system. How to model context has been studied in papers such as [15]. The work presented in [16] focuses on the study of the contexts present in mobile urban environments, as opposed to indoor contexts. Due to the relevance of context information, context-aware computing has aroused significant research attention [17-22]. A popular example of context-aware computing is the services that adapt the information provided to the user according to his/her location, called Location-Based Services (LBSs) [2327].

With the rise of ubiquitous computing, some works have addressed the problem of handling its impact on the recommendation process. For example, a context-aware collaborative filtering system is presented in [28], which tries to recommend appropriate items for the current context based on what other similar users have done in similar contexts. The concept of context-aware recommendation system (CARS) [29-31] has been presented to denote approaches that explore this new research avenue. A pioneer proposal for CARS is [29]. In order to improve the recommendations by exploiting contextual information, the classical 2D paradigm (User x Item space) is extended to a multidimensional recommendation model that offers recommendations based on multiple dimensions (User x Item x Context space). Three different context-aware recommendation paradigms are introduced [30, 32]: (1) prefiltering, where the contextual information is used to filter the dataset before applying traditional recommendation algorithms; (2) postfiltering, where the contextual information is initially ignored and the ratings are predicted using any conventional 2D recommendation system, adjusting as a last step the resulting set of recommendations for each user by using contextual information; and (3) contextual modeling, where the context information is used directly in the modeling technique. As another example, in[33], a graph-based framework is proposed to model and incorporate contextual information into the recommendation process.

Moreover, the concept of mobile CARS or context-aware mobile recommendations [34] can be used to emphasize the relation with mobile computing and ubiquitous systems: mobile users are continuously moving and the context can change very dynamically due to actions performed by the user and/or external events. Thus, the mobility is a key aspect that leads to dynamic contexts, rather than static contexts that could be assumed immutable during the recommendation process. The term UbiCARS has been proposed in [35], highlighting the combination of the characteristics of both ubiquitous systems and CARS. According to [36], additional research is needed to bridge the gap between the fields of mobile computing and recommendation systems.

In these highly dynamic scenarios, proactive (i.e., push-based) recommendation approaches [37] are particularly interesting. Besides, due to the need of capturing the continuous changes in the environment, sensors play a key role to enable the management and exploitation of the available context data.

2.3. Sensors. Sensors of different types are the key elements that allow the detection of context elements that can later be exploited by context-aware recommendation systems. Traditional sensors are physical or hardware sensors, which capture certain raw data from the environment. However, we can also consider the existence of virtual or software sensors [38], which provide higher-level observations usually obtained by fusing the measurements of several sensors (e.g., a location obtained by combining different positioning mechanisms). Moreover, social sensors [39] provide data based on the social media, such as social networks (e.g., Facebook, Foursquare, and Flickr), blogs, or microblogs (e.g., Twitter); as an example, the proposal in [40] exploits microblogs to detect events in the vicinity. As another example, we can consider the user's calendar as a sensor [41]. Finally, it is possible to consider even the existence of human sensors, as they can directly provide interesting data using their own senses or managing other sensors in specific ways; so, humans can provide volunteered geographic information (VGI) [42] or participate in spatial crowdsourcing [43] tasks.

Users with their mobile devices have become an important source of sensor data [44-46], as it is possible to exploit the sensors available in existing smartphones: inertial sensors , compass , GPS , microphone , camera, proximity sensors , ambient light sensors, accelerometers, gyroscope, and so forth. The term collaborative sensing, mobile crowdsensing, or participatory sensing implies the cooperative use of sensors in order to obtain an overall and more complete perspective of the environment [45,47]. The use of collaborative sensing for urban transportation is explored in [48].

Along this survey, we will mention different types of sensors that are considered particularly useful for context-aware recommendation systems.

3. Context Detection

The survey proposed in [34] contains a wide variety of references presenting context-aware recommendation systems for mobile environments. In that review of the state of the art, the authors discuss how the contextual information is collected, with the use of sensors (e.g., GPS, accelerometer, microphone, temperature sensor, and pressure sensor) being an essential element for context detection.

In the following, we start in Section 3.1 by illustrating some typical contextual data that can be of interest for context-aware recommendation systems. Then, we analyze existing techniques proposed to detect different context elements by using sensors. Firstly, in Section 3.2, we overview existing geopositioning techniques. Secondly, in Section 3.3, we present techniques used for the detection of the transportation means used by a mobile user. Thirdly, in Section 3.4, we focus on the detection of the user's mood. Fourthly, in Section 3.5, we tackle the detection of events in transportation. Finally, Section 3.6 is devoted to the identification of the activity that a user is performing. It should be noted that sometimes the measurements of several sensors are combined to obtain the value of a context factor of interest; for example, the approach presented in [49] estimates the

orientation of a mobile device based on data collected by its accelerometer, magnetometer, and gyroscope.

3.1. Examples of Context Data for CARS. An interesting review about context-aware recommendation systems is presented in [50, 51]. The context is characterized by features such as the physical conditions (e.g., lighting, traffic conditions, temperature, weather, and noise levels), computing (e.g., hardware, software, and network), location, time, user features (e.g., interests, goals), social relations (e.g., friends, neighbors, and coworkers), and activity (e.g., tasks, objectives, and actions). Several mechanisms to obtain the contextual information needed are mentioned: explicit sources (the information is entered by the user manually); implicit sources (i.e., data obtained from observations of the user behavior); inference (e.g., data obtained by using statistical or data mining methods); location context (often sensed by using positioning mechanisms such as GPS and Wi-Fi location sensors or by using explicit methods that require scanning RFID tags); computing context, captured implicitly by the mobile device; time context, which can be entered either explicitly if it refers to the time available for a user activity or implicitly by checking the device's internal clock; physical conditions, typically captured implicitly from the environment (e.g., in the case of the noise level sensed by using a microphone); activity context, by using explicit procedures of user interactions, such as manual text input; user context, such as the user's interests that can be obtained, for example, through user interactions with the system; and social relations context, which can be represented either explicitly by a group structure or implicitly by capturing data from the recommendation systems.

As another illustrative example of the type of context data that could be considered, it is interesting to mention the data collected from an Android mobile application called South Tyrol Suggests (STS) (https://play.google.com/store/ apps/details?id=it.unibz.sts.android), which provides context-aware suggestions for accommodations, attractions, events, and restaurants in South Tyrol. Contexts in the dataset available at http://students.depaul.edu/~yzheng8/datasets/ Data_STS.zip are composed of 14 context dimensions: transport way (walking, bicycle, car, and public), weekday (weekday, weekend), mood (happy, sad, active, and lazy), companion (alone, friends, family, girlfriend, and children), time available (half day, one day, and more than one day), knowledge of the surroundings (new to area, returning visitor, and citizen), travel goal (visiting friends, business, religion, healthcare, social event, education, landscape, fun, and activity/sport), distance to the item (far away, nearby), budget (budget traveler, price for quality, high spender, and free), crowdedness of the POI (crowded, not crowded, and empty), season (spring, summer, autumn, and winter), temperature (burning, hot, warm, cool, cold, and freezing), time of the day (morning, noon, afternoon, evening, and night), and weather (clear sky, sunny, cloudy, rainy, thunderstorm, and snowing).

3.2. Geolocalization. The use of the Global Positioning System (GPS) [52, 53] is now widespread and many mobile devices

have a GPS receiver (e.g., current so-called smartphones). With GPS or analogous satellite-based techniques (such as the upcoming European Galileo [54]), it is possible to capture the location of a mobile device with good accuracy.

Nowadays, GPS sensors are available in many different devices, from vehicles to smart cellphones. However, these sensors do not offer good signal readings (or no signal at all) within buildings, as they need a clear satellite view. Nevertheless, there exist other sensor-based techniques that allow positioning a device in those cases in which GPS is not a valid solution. For instance, anchor/beacon techniques provide global coordinates (even in indoor locations) by placing some predefined reference nodes in the environment (with known GPS coordinates) and then estimating the global coordinates of other nodes by exchanging messages [55, 56]. Interesting surveys on indoor positioning methods can be found in [57, 58]. Even in outdoor scenarios, less precise positioning techniques (e.g., network-based positioning [59]) can be applied if a GPS receiver is not available or if the device is in an area with less than four satellites in view or even simply to try to avoid the energy consumption of the GPS receiver.

The location of a mobile device is a key context factor that can be exploited by the so-called location-based recom-mender systems (e.g., [60-64]). An example is the work by Savage et al. [64], in which the authors present a recommendation system that uses different information sources, including the user's location, to obtain proper recommendations. The location is calculated by using the user device's sensors as well as using the user's social network profiles. Another interesting approach with a similar spirit is [63], which exploits location-based information (gathered from the user's mobile device), among other types of information, and then uses a Bayesian network-based model to infer suitable item recommendations. As a final example, the Location-Aware Recommendation System (LARS) [62] uses location-based ratings to provide recommendations.

Some other works focus on the side effects of the use of sensors to locate the user's position. One of these side effects is the privacy concerns that emerged from the automatic geopositioning of users/devices. A novel and remarkable study of the state of the art on this topic is presented in [65].

3.3. Detection of the Transportation Means. Several techniques have been proposed to identify the transportation means (private car, bus, taxi, train, walking, etc.) employed by a user at a certain moment. From the description provided along this section, we can see how the problem of automatic detection of the transportation means has spurred significant research interest, as the transportation mode represents an important contextual element. Although the use of GPS receivers can provide a higher accuracy and finer-grained transportation detection, the use of other types of sensors (accelerometer, wireless signal strength, and barometer) has also been proposed to either reduce the power consumption or avoid relying on more sophisticated sensors.

Table 1 shows a summary of the types of sensors and methods used for the detection of the transportation

mode. In the table, acc stands for accelerometers, bar means barometers, mag indicates magnetometers, and gyro means gyroscopes; regarding the methods applied (data mining/classification algorithms [66]), ANN is a standard abbreviation used for artificial neural networks, BL represents a boosted logistics classifier, HMM is a standard abbreviation used for Hidden Markov Models, HieMM means Hierarchical Markov Models, DT means decision trees, EM denotes an Expectation-Maximization algorithm, Bayes represents a Bayesian classifier (Naive Bayes and/or a Bayesian network), RF denotes Random Forest, SVM is a standard abbreviation used for Support Vector Machines [67], and CRF is a standard abbreviation used for Conditional Random Field.

3.3.1. Wireless-Based Detection of the Transportation Means. The approach presented in [68] infers the type of movement (walking, traveling in a motor car, or remaining in a fixed location) by monitoring the fluctuation of the signal strength levels of GSM (Global System for Mobile Communications) in the current serving and neighboring cells. The classification model proposed is based on the use of an artificial neural network. The authors present an initial experimental evaluation that suggests that these signals may be stable enough for classification in an urban environment. Also based on GSM, three possible mobility states are considered in [69]: stationary, walking, or driving. That work uses a two-stage classification scheme: the first stage tries to determine whether the user is moving or not, and the second stage (applied if the user is considered to be moving) attempts to infer whether the user is walking or driving. A boosted logistics classifier [70] is proposed for both stages.

The LOCADIO (Location from rADIO) system [71] is able to detect whether the user is still or moving, along with his/her expected location, by using information from the Wi-Fi signal strengths and based on a two-state HMM. The approach in [72] combines information about the visibility and signal strength of GSM cell towers and Wi-Fi beacons in order to distinguish between pedestrian movement and vehicle movement by using a decision tree.

3.3.2. GPS-Based Detection of the Transportation Means. The approach presented in [74] (which extends a previous conference paper presented in [73]) exploits GPS data and information about the available streets or footpaths to detect one of the following transportation modes: bus, foot, car, and building. Different speed patterns are expected for each of the modes: walking velocity for the foot mode and high and low speeds for the bus and car modes. The "building" mode is a special case representing the loss of the GPS signal, which leads to the assumption that the user is located inside a building (not moving). The proposal is based on the use of a Hierarchical Markov Model. Three levels are considered in the hierarchical activity model: (1) the novelty model (the user is either behaving normally, in a way that is consistent with previous patterns, or doing something new), (2) the person's next goal (e.g., the workplace) and the user's current trip segment, and (3) the transportation mode level. This work extends a previous approach by the authors [75], where

6 International Journal of Distributed Sensor Networks

Table 1: Examples of sensors used for transportation mode detection.

Work GSM Wi-Fi GPS Sensors acc bar mag gyro Methods

[68] X ANN

[69] X BL

[71] X HMM

[72] X X DT

[73, 74] X HieMM, EM

[75] X HMM, EM

[76] X Bayes, DT, RF, and ANN

[77-79] X DT, SVM, Bayes, and CRF

[80] X SVM

[81] X Speed-based algorithm

[82] X HMM, AdaBoost

[83, 84] X X SVM

[85, 86] X X DT, HMM

[87] X Height-based algorithm

[88] X X X SVM

a nonhierarchical model is proposed; as [75] does not use the concept of significant location, it cannot predict the highlevel goal of a person, and therefore the model is not so accurate.

The approach presented in [76] uses exclusively information about the GPS location of the mobile user (provided by his/her smartphone) and knowledge about the underlying transportation network in order to infer the transportation means. Several classification algorithms are used to determine the transportation means: Bayesian network, decision tree, Random Forest, Naive Bayes, and Multilayer Perceptron. The authors report in their experiments an accuracy exceeding 93.5% with the best classification method (Random Forest), which implies an improvement of 17% over an approach that only uses GPS information (average speed, average acceleration, average heading change, and average GPS position accuracy) and an improvement of 9% over [73,74]. The approach is able to distinguish between different transportation modes such as car, bus, aboveground train, walking, bike, and stationary.

An approach to detect the transportation mode from raw GPS data is proposed in [79], based on a point-based segmentation method, an inference model, and a postprocessing algorithm based on conditional probability. Different inference techniques are evaluated: decision trees, SVM, Bayesian networks, and CRF [89]. The segmentation method implies finding change points by detecting walk segments from a trip. The postprocessing mechanism attempts to increase the accuracy of the transportation prediction by computing conditional probabilities, as the probability of a transportation mode for segment i depends on the transportation mode for segment (-1. The previous method is later improved in [77, 78] by incorporating feature selection and a graph-based postprocessing mechanism (extending the non-graph-based postprocessing mechanism described in [79]). Regarding the selection of features, the authors conclude that

features such as the heading change rate, the velocity change rate, and the stop rate are more robust and informative than the traditional speed and acceleration features.

Finally, SVMs are also used, along with GPS data, in the proposal presented in [80], which considers a classification problem with the following transportation modes: car, walk, cycle, underground, train, and bus.

3.3.3. Other Sensor-Based Approaches for the Detection of the Transportation Means. As using the GPS receiver consumes a significant amount of battery, other proposals try to benefit from lower-power sensors such as the smart-phone's accelerometer. Thus, for example, Google provides an accelerometer-based context detection algorithm [81] that belongs to the Google Play API. It runs at low power and can distinguish between four different transportation modes: idle, walking, vehicle, and cycling.

The proposal in [82] also exploits the accelerometer. It advocates a three-stage hierarchical classification framework by decomposing the problem of transportation mode detection into subtasks, which go from a coarse-grained classification (a kinematic motion classifier distinguishes between pedestrian movement and other modalities) towards a fine-grained distinction of the transportation modality (a stationary classifier that determines whether the user is stationary or in a motorized transport and a motorized classifier that distinguishes among bus, train, metro, tram, and car). The classification approach is based on the use of HMM and adaptive boosting (AdaBoost).

There are also approaches that combine the use of GPS and the accelerometer, such as the Future Urban Mobility Survey (FMS) application [83, 84], which applies SVM to detect one of these transportation modes: walking, car, bus, subway, bicycle, or motorbike. Another approach that exploits the GPS receiver and an accelerometer is presented in [85,86]. This classification approach is based on a decision

International Journal of Distributed Sensor Networks Table 2: Examples of sensors used for mood detection.

cam sound phys acc IS PS Mob BP txt

[90] X X

[91-94] X

[95] X XX

[96] X

[97] XX

[98] X XX

[99, 100] X X

[101] X

[102] X

[103,104] X

tree followed by a first-order discrete HMM, and it is able to detect (with more than 90% accuracy) whether the user is stationary, walking, running, biking, or moving in a motorized transport.

A proposal for transportation mode detection using only a smartphone's barometer at low sampling rate is presented in [87]. The authors distinguish among three possible states: idle, walking, and vehicle. The advantage of this approach is that it can distinguish with good accuracy those different states while consuming a small amount of energy.

Finally, in [88], the authors propose the use of a sensor hub configured with three motion sensors: an accelerome-ter, a gyroscope, and a magnetometer. SVMs are used for classification. It is shown how this proposal can minimize the power consumption while maintaining a high accuracy in detecting the following transportation modes: motorcycle, car, bus, metro, and high-speed rail (HSR).

3.4. Mood Detection. In the field of affective computing (AC), much of the existing research is related to the problem of emotion (or mood) detection [105, 106]. Table 2 shows a summary of some types of sensors used for the detection of emotions. In the table, cam means cameras/video, sound represents sound sensors/microphones, phys means physiological sensors (measuring the heart rate, blood pressure, respiration, etc.), acc stands for accelerometers, IS means inertial sensors (e.g., accelerometers, inertial gyroscopes), PS means pressure sensors, Mob represents different types of mobile phone or tablet sensors (this may include its accelerometer, GPS, and microphone), BP means behavioral patterns (e.g., patterns related to the usage of mobile apps or email history patterns), and txt means the interpretation of text messages (sentiment analysis).

The survey presented in [107] is an example of the interest in affective computing and contains a wide variety of main emotion theories and emotion detection systems. In that survey, the proposals analyzed make use of different sensors to determine the emotions. For example, we can consider a video camera and microphone sensors [90]; physiological sensors, like the use of electromyography (EMG) to measure facial muscle tension, photoplethysmograph to determine

the blood volume pressure (BVP), skin conductance to determine the electrodermal activity (EDA), and the hall effect respiration sensor [92, 93]; pressure-sensitive mice that contains force-sensitive resistors; wireless Bluetooth skin conductance sensors able to sense skin conductance signals; and pressure sensors for capturing the user posture on a seat to detect frustration [95]. Furthermore, there exist some interesting works on facial expression sensing, by using conductance bracelets, pressure mice, and posture analysis [108].

Along the same lines, the authors of [91] use biosignal sensors for emotion recognition. Specifically, they use the EMG sensor at the zygomaticus major muscle to detect the smiles and laugh, the EDA sensor for determining the anger emotion, and the BVP sensor to capture cardiac activity patterns when the user presents strong emotions.

In [97], the authors study how to capture the emotion automatically from arm movements for music retrieval in mobile devices. To sense the arm motion, they use 3D inertial sensors embedded in a wireless handheld device. According to the authors, this is comparable to the motion-capture technology available in smartphones.

In order to collect physiological and emotional data in everyday life, an extensive study is carried out in [109]. Participants in the study used during five days a system set containing wireless galvanic skin response (GSR) sensors, heart rate (HR) meters, and activity sensors, as well as a mobile phone. A similar goal is pursued regarding the framework MoodMiner [98]; to obtain the mood in the daily life of a person, MoodMiner only uses internal mobile phone sensors, such as its accelerometer, sound, GPS, and light sensors.

A physiological sensor attached to the user's body is used in [94] to try to detect and transmit the user's emotions through an online chat. The authors indicate that it is difficult to capture valence information (the type of emotion) from physiological sensors, and therefore they propose a combined solution: using a manually specified animation tag to determine the valence information and exploiting physiological data to detect the intensity of the emotion.

State-of-the-art methodologies related to the problem of emotion detection are discussed in [96]. Moreover, the authors proposed a system that detects several emotional states (e.g., neutral, stressed, and excited) based on the sitting position of the user, by using an accelerometer sensor embedded in the mobile device.

A mobile application called Face2Mus, which streams music from online radio stations based on the users' emotions, is proposed in [100]. The emotion is inferred by applying emotion recognition algorithms applied to the user's facial images, which are captured by using the mobile device's camera. Another image-based system for emotion recognition is presented in [99], which identifies human emotions based on full-body skeletal movements captured byusingvideo-based sensor technology. Besides image-based techniques, sound-based approaches can also be applied. So, in a music environment, [101] proposed a system for emotion detection (e.g., excited, angry, happy, sad, calm, sleepy, bored, annoyed, or tender) from live piano audio.

Whereas all the previous techniques use different types of physical sensors, the MoodScope system [102] tries to determine the mood of a user based on the way he/she uses his/her smartphone. Specifically, it exploits communication history patterns (phone calls, text messages, and email) and activity records (patterns in the browsing history, application usage, and location history) by applying supervised machine learning techniques.

It is also possible to directly use social sensors to try to infer the mood of the user. For instance, in [103], emotions are captured from user textual interaction, through chat analysis or the processing of other dialog messages. Along the same lines, the authors of [104] study the relation between natural language and affective information. They propose a formal model for the understanding of the emotions contained in text messages. This idea is useful for chat applications, since the user may have an empathic response automatically. Techniques used for sentiment analysis or opinion mining [110,111], which are natural language processing techniques, which support inferring the attitude of a user when he/she writes a certain text (e.g., positive, negative, or neutral), could also be used as a basis to detect the overall mood of a user.

3.5. Event Detection in Transportation. A wide number of sensors, both fixed on the roads and carried by vehicles, can provide interesting information for context-aware recommendation in the context of transportation. Table 3 shows a summary of some types of sensors typically used. In the table, LD stands for loop detectors, cam means cameras/image sensors/stereo sensors, mag indicates magnetometers, ES indicates environmental sensors, beac indicates wireless beacons, SS represents social sensors, and HS indicates human sensors. Besides, we denote by Rd the cases where the sensors are on the roads and Vh the cases where they are on the vehicles.

3.5.1. Fixed Sensors on the Roads. Typical sensors available on the roads are those aimed at capturing traffic information (speed or traffic density), such as single and double loop detectors [112-114] or traffic surveillance cameras [115117]. Usually, centralized approaches are used: the obtained information is transmitted to a Traffic Management Center (TMC).

An alternative approach for traffic monitoring is presented in [118], which is based on the use of wireless sensor networks: sensor nodes located at road intersections capture traffic information and transfer it to an access point using radio communications. Regarding the specific type of sensor used, a magnetometer is embedded in each sensor node, which detects distortions of the Earth's field caused by large ferrous objects (e.g., vehicles). The approach based on wireless sensors with a magnetometer is argued to imply less cost and intrusion (other types of sensors may disrupt traffic during installation and maintenance).

As another example of the use of magnetometers, we can mention the work presented in [119], which proposes placing sensor nodes equipped with magnetic sensors every few meters along both sides of a road. These sensor nodes

form an ad hoc network to exchange information about cars moving along the roads (detected by the magnometers). The goal is to keep a consistent and up-to-date view of local road-state information (relative positions and speeds of the vehicles), communicating this information to the vehicles to allow them to detect dangerous situations.

The use of wireless sensor networks for traffic monitoring is also proposed in works such as [120], which emphasizes that thanks to the collaboration of numerous devices it is possible to ensure a proper analysis of a vehicular traffic situation. The authors present an algorithm that, based on the values provided by magnetic sensors on the ground, activate and deactivate cameras dynamically depending on the real monitoring needs in a given area. Studies such as [121] highlight the interest of wireless sensor networks to obtain information concerning the condition of roads and the state of traffic.

Besides magnetometers, other traffic measurement approaches can be considered. Thus, [122] uses image sensors and is able to measure the speeds of vehicles on up to four lanes simultaneously. Similarly, vision sensors are also used in

[123], which presents and evaluates three different algorithms for speed estimation.

It should be noticed that although traffic monitoring is a key application of road sensors, fixed sensors could also detect and monitor other interesting situations. For example, fixed sensors on parking spots can provide information about their status; a popular example is SFPark in San Francisco

[124].

3.5.2. Sensors Embedded in Vehicles. Vehicles can also carry a variety of sensors that can be used to measure a wide range of environmental values, such as the humidity and the presence of obstacles or hazards on the roads. Indeed, according to [125], "today's luxury cars have more than 100 sensors per vehicle." We can distinguish three main uses of sensors aboard vehicles: traffic monitoring, cooperative surveillance and monitoring, and event detection.

Firstly, regarding traffic monitoring, it should be noted that using a fixed infrastructure of sensors is usually expensive and nonflexible (they cannot move once installed) and offers limited coverage (e.g., see [126,127]). Therefore, other alternatives propose the use of vehicles as mobile sensors (e.g., [126,128-130]). So-called probe vehicles (e.g., taxis and buses) could collect traffic data in a city by periodically reporting their speed and location to a central server for later aggregation [126]. Different types of sensors can be used by the vehicles to obtain the relevant information (e.g., see [131]). Besides probe vehicles, floating cars (e.g., patrol cars) can also be mobile sensors [128], with the additional advantage that the path of these floating vehicles could potentially be adjusted according to the traffic monitoring requirements.

Besides traditional centralized mobile traffic sensing approaches, which use cellular communications, other alternatives imply the use of VANETs (Vehicular Ad Hoc Networks) [140, 141], which imply the use of ad hoc and short-range wireless communications dynamically. As an example, in [130], vehicles in urban areas exploit the beacons received

Table 3: Examples of sensors used for event detection in transportation.

Work LD cam Sensors mag ES beac SS HS GPS Source Rd Vh Goal

[112-114] X X Traffic

[115-117] X X Traffic

[122,123] X X Traffic

[118,119] X X Traffic

[120] X X X Traffic

[124] X X Parking

[130,132] X X Traffic

[133,134] X X X Traffic

[135] X X X Monitoring

[136-138] X X X Monitoring

[139] X X Parking

from other neighboring vehicles and digital maps to estimate the traffic density in their neighborhood. A fixed support infrastructure could also be used as a complement to these approaches, as in the case of the V2X-D architecture [132], which combines vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communications to estimate the traffic density, based on the number of beacons received by vehicles and fixed support nodes on the roads and information extracted from digital road maps. Besides traditional hardware sensors, social sensors (specifically, social media feeds) could also be used to provide more accurate traffic information (e.g., see [133,134,142]).

Secondly, concerning cooperative surveillance and monitoring, different types of sensors on the vehicles could be used to monitor the environment. For example, we can consider the use of cameras to capture images that could be relevant in a crime investigation or chemical detection sensors to detect poisonous substances in the environment [135]. Several proposals have highlighted the interest of using VANETs for environment monitoring (e.g., [136-138]), assuming that vehicles are equipped with the needed sensors. As an example, the Gotcha system [137] exploits taxi cabs as collectors of environmental data (e.g., concentrations of CO2, ozone, etc.); the sensing module aboard cars includes the following sensors: a GPS receiver, a temperature sensor, a humidity sensor, a barometer, a 3-axis accelerometer, a 3-axis gyroscope, a 3-axis magnetometer, a CO sensor, a CO2 sensor, an O3 sensor, and a PM (Particulate Matter) 2.5 sensor. The proposal presented in [143] tries to estimate the conditions of the road surface by using acceleration sensors located in vehicles belonging to the public transport system. The exchange of multimedia information captured by vehicles (e.g., traffic videos or images) [144, 145] is another example of cooperative surveillance.

Finally, different types of sensors can be used to detect specific events that may be of interest for drivers or for their safety. For example, the lack of vigilance of a driver can be detected with oculometers. A slippery road could be detected by using optical sensors, cameras, and also more sophisticated approaches exploiting cooperative sensing among different vehicles (e.g., see [146]). Crash sensors located in

different areas of the car can detect collisions and deploy the air bag if necessary. Furthermore, a variety of sensors can be used to detect obstacles on the road [147]; for example, [148] uses stereo sensors, but other approaches are based on the use of radar or sonar sensors. Assuming that the vehicle is equipped with a smartphone, smartphone-based techniques can be applied to automatically detect parking and unparking events without user intervention (e.g., see [149153]); in other approaches, the vehicles act as mobile sensors with the capability to detect parking spaces (e.g., see [154, 155]), for example, thanks to the use of ultrasonic sensors. Finally, the driver as a human sensor can also play a key role to signal events of interest, such as available parking spaces (e.g., see [139] or parking-assistance applications such as Google's Open Spot, which is no longer available). Interesting reviews on automotive sensors are presented in [156-158].

3.6. Activity Detection. In this section, we overview some methods that have been proposed to detect the activity that the user is performing. Table 4 shows a summary of the methods. In the table, acc stands for accelerometers, gyro means gyroscopes, sound represents sound sensors/microphones, cam means cameras, press indicates tape-on/pressure sensors, mag indicates magnetometers, grav denotes gravity sensors, and phys means physiological sensors (heart rate, respiration, etc.); regarding the methods applied, Gauss means Gaussian membership functions, Bayes represents a Bayesian classifier, DT means decision trees, SSL represents sound source localization algorithms, RMM is a standard abbreviation used for Relational Markov Models, DT2 means decision trees and decision tables, and kM means k-medoids.

In [159], the authors study how to improve the activity recognition by modifying the hardware, the recognition method, and the position of wearable sensors. The proposed method detects unit motions (sitting and standing) and several types of walking behavior (walking on the ground, going up a stairway, or going down a stairway). An accelerometer and gyroscope are used to measure the acceleration and angle of the user's waist, and a digital compass allows determining the four azimuth headings (N, E, S, and W).

Table 4: Examples of sensors used for activity detection.

Work acc gyro sound cam press sensors GPS RFID mag grav phys Methods

[159] X X Gauss

[160] X Bayes

[161] X DT

[162] X ANN

[163] X SSL

[164] X Bayes

[165] X RMM

[166] X HMM

[167] X CRF

[168] X X X X DT, ANN

[169] X X X X Bayes, DT2

[170] X X ANN, tree

[171] X X X SVM

[172] X SVM, kM

In [160], the activity performed by the user is identified by using several acceleration sensors distributed over his/her body. Several types of activities are considered: sitting, standing, walking, writing on a whiteboard, typing on a keyboard, and shaking hands. A Bayesian classifier is used to classify the acceleration data into different classes. A total of twelve three-dimensional accelerometers are used by the authors in their experimental evaluation.

Five biaxial accelerometers worn on different parts of the body are used in [161] to detect physical activities by using decision tree classifiers. Twenty different types of home activities are considered, including walking, sitting and relaxing, standing still, watching TV, reading, working on a computer, eating or drinking, climbing stairs, and vacuuming.

A single X-Y accelerometer kept in a trouser pocket and neural networks are used in [162] to detect the activity of the user. The different types of activities considered are walking, running, sitting, walking upstairs, walking downstairs, and standing. According to the experimental evaluation performed by the authors, even with a single accelerometer it is possible to infer the activity of the user with a good accuracy (85-90%).

A sound source localization (SSL) system in a real-life home setting collects sounds produced at home (e.g, sounds from cooking, dining, and conversation environments) and localizes them [163]. Therefore, it could potentially support the recognition of specific activities at home and summarize the habits of users by using additional input from sensors like a camera or a speaker identification system. A Sound Event Map is developed to help the homeowner to knowwhat happened in his/her house from the sound events.

A set of tape-on sensors (state-change sensors) is used in [164] to obtain information about the use of objects at home (doors, drawers, toilets, showers, electronic appliances, etc.) in order to detect the activities performed. Naive Bayesian classifiers are then used to detect activities such as preparing breakfast, preparing lunch, preparing a beverage, bathing,

dressing, doing laundry, grooming, dressing, and going out to work, to cite some examples.

A framework for sensor-based activity recognition is proposed in [165] based on RMM. The framework estimates the labels of activities (e.g., AtHome, AtWork, Shopping, DiningOut, Visiting, and Others) given a sequence of GPS locations visited by a person. As future work, the authors proposed two possible improvements: integrating information from other wearable sensors (e.g., microphones or accelerometers) and estimating a person's indoor activities from RFID (Radio Frequency Identification) sensor data. This proposal is extended in [166] with the purpose of enhancing the scope and accuracy of the activity recognition, by efficiently exploiting global features such as statistics related to the number of times a certain activity occurs. In that previous work [165,166], the aim of the authors is to develop a probabilistic temporal model that can extract high-level activities from sequences of GPS readings by using generative models such as HMM. In [167], the authors investigate the applicability of the discriminative model CRF for GPS-based activity recognition.

Another remarkable work is [168], in which some methods to classify everyday activities are presented. Specifically, the authors studied the way to recognize activities and the careful selection of sensors useful for that purpose, analyzing the kind of signal processing and classification necessary. They collected realistic context data from many different sensors (accelerometers, physiological sensors, etc.) and used different classifiers (based on decision trees and artificial neural networks) to discriminate among seven target classes: lying, sitting/standing, walking, Nordic walking, running, rowing, and cycling. The work presented in [169] pursues a similar aim, distinguishing different activities: slow, normal, and rush walking, running, standing, and sitting. In this case, the activity recognition is achieved through mobile phone sensors (acceleration, gravity, linear acceleration, magnetometer, and gyroscope) without interfering in the user's

lifestyle; different classifiers (Naive Bayes, decision table, and decision tree) are considered and evaluated.

The recognition of physical activities and sports practiced is the focus of the study presented in [170], given that it can help to promote a healthy lifestyle. Specifically, the authors use 3D accelerometers on the hip and wrist and GPS data. For activity detection, they use a hybrid classifier including artificial neural networks and a tree structure. The following are some examples of the activities considered: lying down, sitting, standing, walking, running, cycling with an exercise bike/with a regular bike, and playing football.

An approach based on neural networks to estimate hospital workers' activities (e.g., clinical case assessment, patient care, personal activities, classes and certification, preparation, information management, tracking, and coordination) by using contextual information (e.g., the physical location, time of each action, artifacts used, and the people with whom users collaborate) is presented in [173]. To capture the contextual information, the authors propose several methods and technologies ranging from the use of simple sensors (e.g., RFID tags) to complex systems that combine information from different sources. Neural networks are used to estimate the activity performed by the user. The use of RFID for activity detection is also considered in other proposals, such as [174].

The proposal in [171] develops a smartphone-based human-activity recognition approach. By using only three sensors commonly available on smartphones (the accelerom-eter sensor, the pressure sensor, and the microphone), it is able to recognize 15 different types of activities with high accuracy: walking, walking on a treadmill, running, running on a treadmill, going upstairs, going downstairs, riding an elevator up, riding an elevator down, hopping, riding a bike, being idle (sitting/standing), watching TV, vacuuming, driving a car, and riding a bus. To achieve its goal, it uses SVM and applies techniques to optimize the use of energy and provide fast responses. Another approach that also exploits sensors available on mobile phones (particularly, the accelerometer) and SVM, along with a k-medoids clustering method, is presented in [172].

To conclude this section, it is also interesting to mention proposals that apply data fusion techniques to manage the uncertainty associated with the measurements performed by multiple sensors in a smart home [175, 176]. The goal is to be able to more precisely determine the activity performed. As an example, [175] relies on the Dempster-Shafer theory of evidence and the Equally Weighted Sum operator to reach consensus and take into account all the multidimensional information available (provided by sensors measuring light, sound, contact, and motion).

4. Recommendation Use Cases

In this section, we illustrate the key role played by sensors, as detectors of different context elements (as described in Section 3), in a number of relevant recommendation use case scenarios (see Table 5 for a brief summary of some illustrative approaches). We start in Section 4.1 with the scenario of

tourism. Then, e-health is the focus of Section 4.2. We consider e-learning in Section 4.3. We continue with recommendations in the context of transportation in Section 4.4. We tackle mobile shopping and product recommendation in Section 4.5. The problem of recommending applications and services in mobile computing is the subject of Section 4.6. The recommendation of documents in digital libraries is briefly considered in Section 4.7. Finally, we conclude with some references to other use cases in Section 4.8.

4.1. Tourism. We can find in the literature a wide range of approaches presenting recommendation systems that use information collected from sensors to obtain suitable recommendations in tourism domains. A good example is the work presented in [177,178], where the use of infrastructures of wireless sensor networks (WSNs) around tourist spots is proposed to offer mobile users a suitable and affordable means for exchanging tourist information and ratings about Points of Interest (POIs) via their mobile devices. With this information, it is possible to personalize recommendation for users by using a collaborative filtering approach, resulting in an accurate tourist guide for the user.

Another interesting approach is illustrated by the COMPASS mobile tourism application [179], which is able to suggest tourist activities based on the current context. This context is assessed by positioning the user through the available sensors in the mobile device (GPS receiver). Then, this location is used as a hard constraint when considering which activities fit better the user preferences. A similar work is presented in [180], where the authors put forward a method to issue tourist recommendations based on the users' GPS coordinates and textual comments attached to various locations. The authors use data mining techniques over available location features and activity-activity correlations from geographical databases and the web. Similarly, the Cyberguide project [181] presents a method to generate tourist recommendations based on the user's current location (collected by any means) combined with the history of past locations.

Following the same trend, some approaches attempt to recommend tourist guides from location information tagged by users using their mobile devices. For instance, in [182], the authors present an interactive trip planning system based on geotagged photos. This information is then used to suggest customized travel route plans according to the users' preferences. Geographical information is used along with other features such as the time when the visit takes place, the weather conditions, and textual travel logs. Similar approaches are used in [183-187], also using the user's location-based information to deliver recommended tourist activities.

A system that offers location-aware recommendations for personalized point-to-point paths is presented in [211]. The system outputs intermediate points in order to define the path to follow. Analogously, a location-based recommendation system that includes a mobile 3D GIS (Geographic Information System) architecture allowing the users to visualize

Table 5: Examples of recommendation use cases and approaches.

Use case

Tourism

E-learning

Transport

Shopping

Mobile apps

Digital libraries

Others

Overview

A variety of methods have been proposed to recommend locations (interesting places) and activities to tourists. As an example, we could highlight the COMPASS application [179], the Cyberguide project [181], and the approach presented in [180]. Interesting surveys on context-aware systems and recommendations in tourism can be found in [188,189].

Efforts have been invested in developing systems for caring for patients and promoting healthy lifestyles. These systems can provide relevant information, advice, recommended activities, or personalized E-health healthcare services. For example, we can highlight the MOPET system [190] and the middleware for

pervasive elderly home care presented in [191]. Other interesting studies include [176] and a survey on ambient assisted living tools for older adults [192].

Improving the learning process by using systems that recommend appropriate educative material, activities, contents, courses, and even other student peers is a topic that has also attracted significant research attention. Examples of interesting systems are TenseITS [193] and the ontology-based approach presented in [194]. Relevant surveys on recommendation systems for learning are presented in [195,196]. Driver-assistance systems attempt to improve the comfort and safety of drivers by offering them appropriate recommendations. The interest of recommending appropriate context-dependent driving routes is emphasized in [197]. The development of systems that recommend suitable parking spaces is also another hot topic, where we can highlight techniques such as [198], which guides drivers towards areas with a good probability of finding a parking spot, and other approaches to avoid competition, analyzed in [199]. Finally, information about different types of events [200, 201] can be provided to the drivers.

This case covers the recommendation of products to mobile users. As an example, the SMMART system [202] can be highlighted.

It has been suggested that mobile apps and services should be recommended based on the locations of the users that liked or used those applications. As relevant examples, the proposal in [203] and the AppJoy system [204] can be mentioned.

The recommendation of suitable materials in digital libraries is another interesting topic. As interesting examples of recommendation systems for digital libraries, we could highlight [205, 206]. Research challenges are analyzed in [207].

Music recommendation [208], recommendation systems for bank customers [209], and task recommenders [210], among others, are other examples of recommendation use cases.

the outcomes of the recommendation processes in 3D maps is presented in [212].

Another relevant application is the one presented in [213], which describes a system to filter out tourist information delivered to the user based on the combination of an Event-Based System (EBS) and a Location-Based Service (LBS) for mobile environments.

Along the same lines, but with a different flavor, the proposal in [214] uses information collected by users' sensors to identify different locations. The information gathered focuses on human mobility (e.g., GPS sensors, check-in or access sensors, and movement sensors) along with some predefined POIs in a certain city. With this information, a framework called DRoF ("Discovers Regions of different Functions") is able to discover regions of different functional activities in the city, such as educational areas, leisure locations, or business districts. This outcome might be used, for example, to allow a recommendation system to filter out some activities taking place in a nonconvenient area or those that are far enough to be taken into account.

In [215], the authors present a context-aware recommendation system for mobile devices incorporating different types of information collected by sensors, namely, the user's location, trajectory, and speed (while the user is driving), in order to assess recommendations about POIs. From all the potential POIs, the recommendation system filters out

POIs according to the contextual information and then passes them to a traditional hybrid recommendation system that returns the recommended POIs according to the user's preferences.

It is also interesting to mention the approach presented in [216] in which, besides the typical location-based data, other contextual factors, such as the weather, time, social media sentiment, and user preferences, are used in order to offer more accurate recommendations.

Another contextual-aware approach is iTravel [217], a context-aware recommendation system for the mobile tourism domain in which users can detect other tourists around in the same area. Moreover, it also provides an on-the-fly infrastructure allowing information exchange (messages, photos, location, etc.). This peer-to-peer information exchange makes the recommendation process more dynamic and can adapt better to possible changes in the environment.

The work presented in [218] describes a methodology for context-aware recommendation systems which explicitly requests users to estimate the influence of different contextual factors (weather, season, location, etc.) affecting the user rating on a tourism activity.

The context-aware recommendation system proposed in [64], called I'm feeling LoCo, recommends places to visit to mobile users. With this purpose, the system considers the user profile and the places nearby. The preferences of

a user are inferred automatically, by considering the context information related to the places visited by the user (e.g., tags and categories associated with the places). Moreover, the nearby constraints are applied taking into account the user's current mode of transportation (e.g., driving a car, riding a bicycle, or walking), which is obtained from the accelerometer signal and the GPS speed data. Before applying these constraints, the mode of transportation is transformed into a user activity (e.g., biking, walking, or driving) by using classification techniques (e.g., decision trees).

The context-aware mobile recommendation system VISIT [216] hybridizes approaches of collaborative filtering and content-based filtering with contextual information (e.g., location, time, weather, social media sentiment, and personalization). The location is sensed by using GPS, GSM, and Wi-Fi, while the weather conditions are obtained from the World Weather Online API (http://www.world-weatheronline.com/api/). Moreover, sentiment analysis is applied on Twitter messages in real time to determine the current "mood" of each touristic attraction (e.g., positive, negative, or neutral). A user's description (such as his/her age, gender, relationship status, and number of children) is captured from social network data, which is particularly relevant when no information about the user's previous history is available.

Magitti [219] is an activity-based context-aware mobile recommendation system. It infers the user's activity (e.g., eating, shopping, seeing, doing, or reading) based on context information (e.g., current time, location, weather, and store hours) and patterns of the user behavior (e.g., places visited, web browsing, and communications with friends). Based on that, it then suggests relevant recommendations about nearby venues (e.g., stores, restaurants, parks, and movies) in an urban environment. Machine learning techniques are used to predict the interests of the user.

The authors of [220] describe a context-aware recommendation framework to suggest POIs (e.g., restaurants, bars, and shops), train schedules, and touristic information to the users, by identifying the user's current context (e.g., weather, location, urbanization level, movement, company, available time, battery level, physical activity, and proximity) from several sensors (e.g., accelerometer, GPS, proximity sensor, and cell ID) embedded into mobile devices. Some approaches focus on a specific type of POI; for example, a restaurant recommender for tourists in the city of Taipei is presented in [221].

A context-aware recommendation model for indoor museums is presented in [222]. Context in this case is a compilation of data sensed inside the museum, along with statistics about the visitors. Data mining techniques are used to filter this information and provide new visitors with more accurate suggestions.

Interesting surveys on context-aware systems and recommendations in tourism can be found in [188, 189].

4.2. Ambient Assisted Living and Pervasive Health. Some efforts have been done towards the use of context information to improve the living conditions and lifestyle, usually based

on the use of a variety of sensors and wireless sensor networks [223]. A clear example of this is compiled in [191], where a middleware for pervasive elderly home care is presented. As explained in [176], which presents a laboratory used to train elderly people to handle interfaces for assisted living and to evaluate the usability and suitability of those interfaces, a variety of sensors can be used for ambient intelligence in assisted living; these include ambient sensors, position tracking technologies (such as RFID tags), intelligent household appliances (e.g., cups that notify drinking activities), and vital data monitoring devices, among others. A survey on ambient assisted living tools for older adults is presented in [192].

One of the main problems in the healthcare domain is the automatic personalization of relevant information (or healthcare services) to patients based on the changing context (e.g., lifestyle, heart rate, surrounding situations, activity, and current position) [224]. Consequently, the hybridization of research fields, such as context-aware computing, recommendation systems, and ubiquitous computing, plays an important role. Different efforts have been carried out in this direction.

An example is the MOPET system [190] which is a wearable system that provides motivation to perform certain activities (e.g., increase or reduce the jogging speed and different types of exercises) and provides safety and health advice in outdoor environments, based on the current context. The system exploits real-time kinematic information from sensors (e.g., the 3D accelerometer and GPS) to determine the heart rate and position of the user.

An architecture for a mobile and personalized information service in a hospital scenario, called MobiDay, is proposed in [225]. It provides personalized context-dependent messages about the disease or the current task of the patient, so improving the communication between the medical staff and the patient. The system employs recommendation techniques for the generation of personalized messages (e.g., the next activity of the patient is blood test), by using contextual information (e.g., the patient's position, his/her current activity, and the user's previous message historical record). The patient's location is obtained by using RFID techniques.

Another interesting work is Motivate [226], a context-aware mobile recommendation system that promotes a healthy lifestyle. It recommends different kinds of useful advice to the user (e.g., take a break, walk/cycle to a park, and go to a museum), by considering the location of the user, the activities in the user's agenda (e.g., go to work, work, have lunch, go home, have dinner, and busy), the time (e.g., the start and end time of an activity), and the weather (e.g., bad, fair, and good) as context parameters. The location of the user is determined by using a GPS receiver. The system also exploits a database that contains geographic information concerning green places (e.g., parks, lakes, and forests) provided by OpenStreetMap (https://www.openstreetmap.org/), as well as some other interesting places, such as shopping centers, markets, cinemas, and museums. Finally, the weather conditions are obtained from the website of Weather Underground (http://www.wunderground.com/), labeling it as bad

(e.g., if it is rainy or chilly), fair (e.g., if it is cloudy), or good (e.g., if it is sunny).

Another architecture to provide personalized healthcare services has been proposed in [224]. Domain ontologies are used to model the static context (e.g., user profile, preferences) as well as the dynamic context (e.g., blood pressure, temperature). Sensors are typically employed forming a Body Sensor Network (BSN), such as in the case of heart rate monitors, oximeters (to measure the blood oxygen level), spirometers (to measure the amount of air inspired and expired by the lungs), and accelerometers and gyroscopes (to measure movements). Furthermore, wireless sensor networks are used to obtain environmental data (e.g., the temperature) to measure physical parameters of a person.

As a final example, MusicalHeart [227] is a biofeedback-based context-aware music recommendation system for smartphones. It recommends songs to help the user maintain a target heart rate, by using the history of his/her heart's response, the activity level, the desired heart rate, and his/her social collaboration. In order to monitor the heart rate and the activity level of the user while listening to music, a microphone-based wearable sensing platform, called Septimu, is developed.

4.3. E-Learning. The use of recommendation systems in the context of e-learning has also attracted significant research attention. Indeed, for example, an experimental study that shows that incorporating context-awareness in ubiquitous learning systems has a positive effect on the learning effectiveness can be found in [228]. The proposal in [229], which presents a UML-based modeling extension to represent relationships between context and learning activities, emphasizes the key role played by the learner's context in designing an appropriate learning process. According to [196], rather than just recommending learning resources that other users with similar interests have used, the recommendation must also respect the actual learning situation of the learner, including his/her learning history, environment, timing, and accessible resources.

An example of context-aware recommendation system for learning is MOBIlearn [230]. It carries out context-aware recommendations of content, questions, and communication with other learners by considering the proximity between learners and the question chosen (by the learner) from a predefined list. In order to identify the nearest object, an ultrasound positioning system is used.

Another example is the TANGO system for vocabulary learning, which is described in [231]. It detects the objects around the learner by using RFID tags and provides the learner with suitable educational information for that context.

TenseITS [193] is a mobile intelligent language learning environment for Chinese learners of English. The system considers the user's current context (e.g., the location, the available study time, and the current noise level at that location) to recommend learning resources. An example with the same flavor is presented in [232], in which the authors propose to use activity recognition technology to provide

learners with contextual information related to an outdoor learning environment.

For context-aware e-learning, an ontology-based semantic recommendation approach is proposed in [194]. During the recommendation process, the system considers the knowledge represented in ontologies about the learner, the content, and the domain learned. The ontology related to the learner's knowledge represents the user context information about the current location, the available learning time, the knowledge about a subject, the learning goal, the learning style, and the learning interests.

PERKAM [233] recommends educational materials and peer learners who are nearby, by using RFID to detect the learner's environmental objects and his/her location. The system also allows the learners to share knowledge, interact, collaborate, exchange individual experiences, and visualize the objects that surround the learner, the learning resources space, and the distance to possible helping peers.

CALS [234] is a learning system that recommends appropriate learning activities (e.g., formal assessments, review activities, and work discussions) on a mobile device. It is able to detect the current context and adapt the learning activities according to the learning style of the student. The contextual information is obtained from the scheduled events database (e.g., the time available for learning) and from two sensors (the GPS and a microphone, to detect the location and noise level, resp.).

The PALLAS [235] system recommends language learning resources based on the context; for example, if the learner is studying a certain language and architecture, the system could recommend resources related to appropriate buildings in the vicinity. It uses static parameters to build a profile of the learner (e.g., age, skill level, native language, interests, and courses taken) and contextual environment parameters (e.g., location, time, date, and mobile device used by the learner).

In [236], the work is focused on the automatic extraction of contextualized user profile data in Web 2.0 resource-sharing platforms for e-learning. In order to provide context-sensitive recommendations, the authors propose to identify interesting topics from social metadata provided by the community of users. This approach is an example of a system that infers the context of activities from the user's interactions with tools and resources.

The study presented in [237] analyzes the roles of context-awareness and adaptation in mobile learning. Several context dimensions are considered: the identity of the learner, the spatiotemporal dimension (location and time), the facility's dimension (computers and mobile devices available, communication networks, and sensors), the activity's dimension, the learner's dimension (emotional state, background), and the community's dimension (the social aspects of learning).

It should be noted that whereas most recommendation systems for e-learning focus on recommending educative materials and/or activities, other elements can also be recommended. For example, [238] presents a framework to recommend suitable peers based on three dimensions: the knowledge potential, the social proximity, and the technical contexts. As another example, [239] uses ontologies and

semantic techniques to recommend courses that could help users to cover their competency gaps.

Several other examples of recommendation systems for e-learning could be mentioned, but it is not the purpose of this section to provide an exhaustive description of the work in this area. The interested reader can find a survey on recommendation systems for Technology Enhanced Learning (TEL) in [195], with a critical view of the actual implementation of the systems, centered on the particularities of this application domain and on a discussion of evaluation perspectives and future challenges. Another interesting survey on recommendation systems for learning is presented in [196].

4.4. Transportation. In this section, we review some proposals that recommend to drivers different types of items that are relevant in the context of transportation. First, we analyze some proposals that recommend navigation paths. Then, we focus on the recommendation of parking spaces. Finally, we consider other types of recommendations that are interesting in transportation.

4.4.1. Recommendation of Navigation Paths. A classical application in the context of transportation is to recommend appropriate routes to drivers. By optimizing the routes followed by the drivers, not only the travel times but also the fuel consumption and pollution can be reduced. Ideally, route recommendation approaches should take into account the preferences of the driver when computing appropriate routes (e.g., to select, among the candidate paths, the fastest path or simply a path that the driver will find pleasant). Other criteria could also be included in the optimization problem. For example, the proposal in [240] considers also the presence of critical services such as hospitals and schools, in order to avoid congestion on the road segments affecting those services. The provided recommendations should obviously try to avoid traffic congestion and distribute the drivers in order to avoid congestion rerouting problems (the path recommendations can actually cause congestion if the same routes are recommended to many drivers) [241, 242]. Moreover, rather than just computing a path once before the trip starts, approaches that dynamically recompute the optimal path, by taking into account external events, are preferred.

Some approaches are based on the use of a central server that acts as traffic management system, collecting traffic information and then providing path recommendations to drivers (e.g., [241, 243]). However, centralized approaches where the optimal path is computed in a central server are subject to some disadvantages, as the server becomes a single point of failure and besides usually those approaches have difficulties keeping the central database updated with real-time data [244]. To solve these problems, distributed approaches have also been proposed (e.g., [244, 245]), which avoid the bottleneck of a centralized site by distributing the estimation of optimal paths to the vehicles themselves and/or to fixed nodes such as RSUs (Road Side Units). As an example, a distributed approach that recommends paths that minimize

both the traveling time and the distance is proposed in [244], assuming that an RSU is available at each intersection.

The PROCAB (Probabilistically Reasoning from Observed Context-Aware Behavior) method presented in [197] can be used to learn appropriate context-dependent driving routes from taxi drivers (considered as expert users with good knowledge of the existing alternative navigation paths).

Finally, it is interesting to mention that some proposals focus on offering specific simple driving recommendations to drivers, rather than whole routes. For example, the approach presented in [246] can recommend to a driver to keep a larger security distance to the predecessor vehicle, with the goal of globally avoiding traffic jams.

4.4.2. Recommendation of Parking Spaces. Parking is a hard problem that implies a significant amount of inconveniences (time wasted, fuel consumption and pollution, and traffic congestion). Therefore, several projects and applications focus on the problem of recommending suitable parking spaces to drivers that are searching for parking. Ideally, a parking space recommendation system should exhibit the following features [247]:

(i) Consideration of the overall purpose of the trip and not just parking as an isolated activity. Thus, we should expect it to be integrated with the GPS-based navigation system, and the final target location should be considered to select a suitable parking space. Moreover, the recommendation should be multimodality-aware, as a car may need to be parked near an intermediate point to visit within a longer trajectory.

(ii) Adaptation to dynamic context changes. It should exploit available real-time information that could signal the existence of specific events that may affect the recommendation process (e.g., a soccer match depleting the parking space resources in the area) and other constraints (e.g., time-based parking restrictions).

(iii) Support of different methods to detect available parking spaces, such as fixed magnetic sensors on the road, crowdsourcing information directly provided by drivers, and sensors in the cars.

(iv) Recommendation of different types of parking spaces, including on-street/curbside parking, private parking spaces and garages, and home parking spaces (offered for rental by the owners during specific time periods).

Unfortunately, to the authors' knowledge, such a general recommendation system for parking spaces has yet to be developed. Usually, what we find in the literature are proposals for specific scenarios and/or types of parking spaces.

When recommending suitable parking spaces to a driver, different elements could be considered. For example, the recommendation system could try to minimize the walking distance from the parking space to the final destination, the time needed to reach the parking space, its cost (in case it is not free), or the friendliness of the area surrounding the parking spot. These could be seen as soft constraints whose

relative importance may depend on the preferences of the driver. Moreover, we could also have hard constraints, such as the size of the parking space (if the vehicle to be parked is large). Nevertheless, it is interesting to highlight that a soft constraint such as the interest of minimizing the time needed to reach the parking space is not only a matter of preferences: the larger this amount of time, the higher the probability that the parking space is occupied in the meanwhile by another vehicle. The reason is that parking spaces represent scarce resources subject to competition, which means that they can have very limited spatiotemporal relevance.

A recommendation system for parking spaces should take the competition among drivers into account when providing recommendations: if the same parking space is recommended to multiple drivers, as only one driver will be able to occupy the parking space, the other drivers will actually be frustrated and potentially incur an additional delay during thesearch. Otherwisestated, usingarecommendation system that does not consider competition, the final amount of time spent to park could actually increase in comparison with the time that a driver would have needed in a context where parking spaces are not recommended [248-250]. The study presented in [199], which surveys data management issues in the context of VANETs, presents several techniques that can be applied to minimize the competition problem in the access to suitable parking spaces.

A first possibility to solve the competition problem is to use a reservation protocol that allows drivers to allocate a parking space. These proposals are usually restricted to scenarios where an existing support infrastructure controls the way the parking spaces are occupied, such as pay parking facilities [251]. Most reservation approaches, such as the Centrally Assisted Parking Search (CAPS) approach [249] or [252], are centralized. Nevertheless, there are also some decentralized proposals. Among these, we can highlight the protocol proposed in [253], where the information about an available parking space is provided to a single driver interested in the parking space.

Another strategy to handle competition is to simply assume that a higher competition will decrease the chances of successfully occupying a parking spot. For example, in [254], the idea is to compute a route that goes through all the parking spaces considered available. As another example, in [255, 256], several approaches are studied, including one where vehicles move towards areas with a higher density of parking spaces rather than to closer parking spaces.

Other proposals focus on tagging the recommendations of parking spaces with a score that indicates the likelihood to successfully occupy each recommended parking space. For example, in [257], parking lots periodically disseminate their status (e.g., their availability and arrival rate), which the vehicles can use to estimate the probability of parking space availability when the vehicle arrives there. The proposal in [198] emphasizes the interest of considering aggregate information to guide drivers towards areas where the probability to find an available parking space is high, instead of towards a specific parking space (that may be available now but could be occupied soon). Information collected about available parking spaces is summarized in [258], with the goal

of learning the overall availability of parking spaces in certain areas and periods.

4.4.3. Recommendation of Road Events. To conclude this section, it is interesting to mention that any data that an information system communicates to a driver could be seen as a recommendation, in the sense that it is considered by such a system as useful for the driver. Particularly, in driver-assistance and transportation systems, this information usually arises in the form of events, which signal the occurrence ofspecific situations, such as accidents, traffic congestion, fuel prices, available parking spaces, emergency vehicles such as ambulances, obstacles in the road, and the risky behavior of other drivers (e.g., strange maneuvers).

Based on mobility features, we can consider four different types of events [200]. An available parking space is an example of a stationary non-direction-dependent event, since it is static and may interest vehicles close to it independently of their current direction. A warning about an accident or an obstacle on the road is a stationary direction-dependent event because its location is fixed and only those vehicles that are going towards it will find it relevant, not the vehicles close to its location but moving in the opposite direction. Messages warning vehicles of a driver behaving strangely on a two-way road are mobile non-direction-dependent events: they concern all the vehicles that are likely to meet that driver, regardless of their direction of movement. Finally, a classical example of a mobile direction-dependent event would be an emergency vehicle broadcasting a message for other vehicles to yield the right of way.

Moreover, events can also be classified depending on the potential interest that a driver may have in reaching them [201]. On the one hand, attraction events are events that the driver would like to meet based on his/her current interests/goals and/or preferences; examples of attraction events are parking spaces, petrol stations, and so forth. On the other hand, repulsion events are events that should be avoided whenever possible because they imply difficulties; classical examples of repulsion events are accidents, traffic jams, a slippery road, a road blocked, and so forth.

Recommendation approaches that provide information about events must evaluate the potential relevance of the events for the driver, which is a measure of the interest of that data item for a specific driver. Only information about relevant events should be shown to the driver. The relevance of events is usually based on spatiotemporal criteria, as a given event is usually relevant only within a specific spatial region and for a certain time interval [199]. For example, in the case of information about an available parking space, an interested vehicle must determine whether it is close enough to the reported parking space and whether the amount oftime elapsed since the space was released is small enough; this is because the relevance of the parking space is a measure of the likelihood that the space will still be available when the vehicle arrives there.

4.5. Mobile Shopping and Products. Context-aware recommendation systems have also been applied in the context

of shopping. In this section, we summarize some existing approaches. Moreover, the interested reader is referred to an overview about recommendation systems in shopping environments provided in [259].

Historically, the first approach that we would like to reference is presented in [260], where a recommendation system for virtual shopping centers is proposed. The system detects purchase intention patterns by mining historical data of target customers. Then, it uses location-aware techniques to track the typical path of customers and so recommend items on their way. A more sophisticated approach is provided in [261], where the authors present a shopping assistant service based on customer's behavior log data. Their proposal uses ubiquitous sensors, such as RFID tags or cameras, to learn the personal behavior of the customers. With this information, they use a collaborative filtering recommendation algorithm to display personal recommendations for customers. More recently, [262] presented a prototype of a mobile app able to recommend products based, among other factors, on the locations of users and items.

From a store's perspective, recommendations might be commercial advertisements in a shopping center. As an example, [263] presents a context-aware content-provision service in which the system detects the context and determines suitable content to be sent to the final user (i.e., the potential customer). In this case, the context includes the location of the user, detected by using RFID tags distributed all over the shopping center. With a similar spirit, the SMMART system presented in [202] sends promotions to mobile users and is able to adapt to their changing preferences.

A recommendation system based on client-server architecture for product recommendation in a shopping mall is presented in [264]. The mall uses the recommender to suggest services in which the customers might be interested, according to their preferences. The client application exchanges messages with the recommender server in order to make these recommendations feasible.

4.6. Applications and Services in Mobile Computing. Mobile users are often overwhelmed with options concerning mobile applications that can be useful to perform a certain task. For this reason, developing recommendation systems for mobile applications is attracting significant interest (e.g., a barcode scanner application can be recommended in contexts such as shopping malls or bookstores [265]).

An example of recommendation system for mobile applications which incorporates context information (such as the user's current location) is developed and described in [203]. It recommends mobile applications that were installed in similar contexts by other users. For the acquisition of the user location, the authors propose to use GPS-enabled devices (e.g., mobile phones with an external GPS receiver connected through a Bluetooth interface).

A recommender system for mobile applications called appazaar is presented in [265]. It recommends applications to mobile users based on the actual usage of the applications (e.g., when an application was installed, used, or deleted) in different contexts as a relevance measure. According to

the authors, the traces of the contextual information can be captured implicitly with sensors (e.g., in the case of the location, acceleration, and noise level) on mobile devices and enriched with external data (e.g., Geographic Information Systems), meteorological services (e.g., to obtain the temperature), or social networks (e.g., to identify nearby friends). Moreover, it is also possible to use context information manually provided by the user (e.g., a textual description of the current situation of the user).

AppAware [266] provides location-based recommendations to the user based on which applications other users in his/her vicinity are using. Specifically, it makes the user aware of the applications installed by other nearby users, thus helping them to discover interesting applications. The underlying assumption is that the user is mainly interested in applications that are particularly useful in his/her current location (e.g., travel-related applications, applications concerning the city the user is visiting).

The COReS (Context-aware, Ontology-based Recommender system for Service recommendation) system [267] tries to benefit from the synergy between recommender systems and context-aware computing in order to recommend suitable services. It follows an ontology-based approach where domain ontologies are used to enrich the description of the context information available. COReS combines content-based and collaborative recommendations with techniques such as stereotypes and knowledge-based approaches. Instead of considering a unified user profile, it fragments the user profile according to different domains.

A prototype for context-based recommendation of mobile applications is presented in [268]. The goal of the authors is to allow providing recommendations even for first-time users whose preferences are still unknown by the system. For that purpose, they initially simply apply location-based recommendations. In other words, at the beginning, applications are recommended based on a location, which can be the current location of the user or a location selected by him/her (e.g., by clicking on a map the user may indicate his/her interest in going to a certain location and therefore his/her potential interest in applications relevant to that location). Once the user starts using the system, his/her preferences can be learnt (based on application usage) and then a recommendation method combining user-based collaborative filtering and context-based recommendation can be applied.

As a final example, the AppJoy system [204] applies item-based collective filtering to recommend applications based on the actual usage of the applications by the users, rather than simply considering the number of downloads or requiring user ratings.

4.7. Documents in Digital Libraries. Since the term digital library (DL) became popular in the 90s decade, technologies and approaches for this kind of systems have evolved. Initially, this term was used to refer to traditional libraries where information services were used to manage and support diverse tasks such as tracking the location of physical materials (e.g., books and magazines). Nowadays, due to the popularization

of the digital media, modern digital libraries either integrate digital resources into their collections or only manage digital resources, usually distributed among different systems. In this context, it is claimed that new digital library systems must consider the physical interaction and context-awareness [269].

Thus, in [269], a system using sensor technology is proposed to provide focused access to digital resources by taking into account the physical context, such as the topics covered in books in the shelves the users are next to and the contents of the books they are currently reading. Besides, several challenges are identified in [269] as obstacles to the development of context-aware libraries: (1) indoor location sensing technologies are not as mature as outdoor systems such as GPS; (2) context-awareness often requires significant changes in the structure and organization of digital library systems, which may be unaffordable in many cases; and (3) understanding user interactions even in traditional digital (and even print) libraries is poor.

To mitigate those problems, advances have been developed in the last few years. Particularly, RFID and Bluetooth technologies have been incorporated to help with indoor positioning. Other approaches process images from cameras (fixed or mobile) to detect the locations. Moreover, techniques based on augmented reality have also been incorporated [270].

Several other proposals have focused on the development of recommendation systems in the context of digital libraries. For example, we could highlight [271], which presents a content-based book recommendation system based on the use of information retrieval techniques and machine learning for text categorization. A graph-based approach that combines content-based and collaborative recommendation techniques is described in [205]. Similarly, a hybrid approach combining both techniques is also proposed in [206]; although the authors focus on the recommendation of research papers, they argue that the same idea could be applied for other types of digital libraries. Also in the context of research, a fuzzy linguistic recommender system is presented in [272]; rather than focusing on research papers or books, it focuses on the concept of Google waves, which are common spaces where resources and users can fit and work together (due to shared interest in a research topic). The CYCLADES [273] system provides recommendations based on user and/or community profiles. As a final example, PORE [274] is an ontology-based recommendation system: it builds personal ontologies for clients of a digital library, which capture their interests based on the books they borrow, and then a keyword-based matching method is used to determine a preference score of a book for a given user. Several research challenges for the development of recommendation systems for digital libraries are analyzed in [207].

4.8. Other Recommendation Use Cases. So far, we have focused on several application scenarios for recommendation systems that have attracted significant research attention. Nevertheless, we would also like to briefly mention other relevant recommendation scenarios.

For example, [208] tackles the problem of music recommendation for daily activities (working, studying, running, sleeping, walking, and shopping); to detect the activity of the user, the hour of the day, accelerometer data, and a measure of the noise in the environment (audio data provided by the microphone) are considered. Another music recommendation system, called CA-MRS, is presented in [275]; this system applies a fuzzy Bayesian network to infer the context with probabilities, and then a scoring module computes a score based on the user preferences by context. A novel probabilistic model for music recommendation is presented in [208], where the ubiquitous system built uses real-time sensor data (provided by the user's smartphone) to automatically infer the user's activity (e.g., working, studying, running, sleeping, walking, and shopping). Then, the system recommends songs matching the inferred activity based on music content analysis. Finally, the system presented in [276] recommends music based on the songs that similar users have listened to in the past in similar contexts.

In [209], a context-aware mobile recommendation system for banking environments is presented. It analyzes the current context to recommend places (restaurants, supermarkets, cinemas, etc.) to a set of bank customers. The authors consider the following context dimensions: social, location, and user contexts. The social context is obtained by using data mining techniques applied on banking data. Moreover, the location of the user is useful to filter the places located near the user. The maximum distances allowed between the user and the places are dynamically selected and will depend on whether the user is walking or driving, which is determined by considering collected sensor data (e.g., the velocity).

As another example, a context-aware gas station rec-ommender for VANETs is presented in [277, 278]. Finally, the TASKREC system [210] is an activity recommender that proposes feasible and relevant tasks to perform based on the current situation and environment capabilities.

To conclude this section, we would like to mention two other interesting aspects related to context-aware recommendation systems: data mining for user profiling and push-based approaches. Regarding data mining, in [279], the authors exploit user context logs to extract personal context-aware preferences. The context logs are recorded on the mobile devices through multiple sensors (e.g., GPS) and are composed of several context records, which contain information about the time, the context at that time, and so forth. There exist also some interesting works on push-based recommendations. For example, an evaluation of mobile user interfaces to achieve proactivity in context-aware recommendation systems is carried out in [280]. The system is designed to provide push-based recommendations to the user when the current situation seems appropriate (e.g., automatic recommendation of a restaurant when the user is walking near a restaurant that fits his/her preferences and lunch time is approaching). During the recommendation process, the system considers the user context, the temporal context (e.g., the current time), the geographical context (e.g., thedistancetothe availablePOIs), and thesocialcontext (e.g., if the user is alone or not). The user context is inferred from sensor data (e.g., the detection that the user is now walking)

and the state of the mobile device (e.g., the detection that the device is in flight mode).

5. Perspectives and Open Issues

In this section, based on the literature reviewed and on our own experience, we analyze some perspectives and trends that we believe will beof particular interest in the near future:

(i) Massive Amounts of (Open) Sensor Data. The amount of sensor data that can be exploited for recommendation will continue increasing. One reason is that there is an increasing availability of sensors of different types. Moreover, the availability of sensor data and existing regulations and proposals to release data for the benefit of citizens are key contributors to this data increment. In particular, governments and municipalities are pushing the publication of open data (e.g., values provided by sensors that measure different elements in a city, such as the air quality, available parking spaces, and the location of buses). The work presented in [281] uses the term open sensor data to refer to the sensor data released by local governments, which represents a movement towards exploiting existing wireless sensor networks in the cities. Sensor networks are identified in [282] as key components of smart cities.

(ii) Sensor Interoperability. Given the expected high availability of sensor data and particularly open sensor data, we believe that the use of standard data formats, vocabularies, and schemas for sensor representation becomes essential. The concept of Semantic Sensor Web [283] advocates annotating sensor data with semantic metadata to support interoperability and, at the same time, provide additional information about the measurements provided by sensors. For this purpose, the use of the SSN (Semantic Sensor Network) ontology [284] is expected to play a key role. This ontology supports an unambiguous representation of the capabilities, measurement processes, observations, and deployment of sensors. According to [284], previous standards such as SensorML [285] (http://www.sensorml.com/), proposed by the OGC (Open Geospatial Consortium), "provide syntactic interoperability" but an "additional layer is required to address semantic compatibility." The semantic annotation of sensor data can also enable automatic inferences [286].

(iii) Challenges for Mobile Context-Aware Recommendation Systems. To fully realize the concept of mobile context-aware recommendation systems, several obstacles need to be overcome. Beyond the study of diverse problems of traditional recommendation systems (still under research), there are others specific to context-aware recommendation approaches. For example, sometimes it is not easy to determine which context factors are relevant regarding the decision about whether a certain item should or not be

recommended [218]. Moreover, more research efforts are needed to close the gap between the fields of mobile computing and recommendation systems, as emphasized in [36]. These two fields have evolved independently but offer many opportunities for cross-fertilization. The development of mobile context-aware recommendation systems is still in an early stage. A major difficulty for testing recommendation approaches is the scarce availability of recommendation datasets that include context information.

(iv) Intensive Exploitation of Social Sensors. Works such as [287] consider the interest of integrating diverse mobile, social, and sensing input streams into context-aware systems. The proposal described in [39] advocates the integration of social sensing and pervasive services. As another example, CAROMM (Context-Aware Real-time Open Mobile Miner) [288] correlates real-time sensory information with social data extracted from Twitter and Facebook. Despite the interest of exploiting social sensors, we believe that there is still a large research avenue ahead. Whereas exploiting social network connections to offer personalized recommendations has been explored in some works (e.g., see [289]), recommendation approaches that exploit live dynamic social interactions among users in a social network are yet to be deployed.

(v) Privacy. Data acquired by sensors in mobile devices may present a different degree of sensitivity. Users might be reluctant to share some information, such as their location at some time slots or specific places, or the trajectory followed between two points, data regarding health issues, and economic expenses. Therefore, context-aware recommender systems might allow users to define different levels of privacy for the data stored in their mobile devices. To the best of our knowledge, no work in the field of CARS focuses on this issue. With this in mind, we strongly believe that the community should carry out significant progress in this research area in a short-mid term period.

(vi) Security. Even when the user allows exchanging data (obtained by sensors), the storage space in the mobile device as well as the data communications must be kept safe. In other words, the sensitive data should not be accessed by third parties. Different attacks and possible solutions are summarized in [290]. Although this is an orthogonal matter, specific work on it should be addressed by CARS practitioners.

(vii) Dealing with Uncertainty. Some contextual information gathered from sensors might suffer from inaccuracy or lack of precision. As an example, although the quality of sensors and devices has improved over the last years, detecting the location of a user still entails some precision loss. Depending on the quality of the device, the GPS sensors may have an expected error varying from some centimeters to some meters.

While in some domains (such as in traffic route planning) this error is negligible, in others (e.g., navigation for blind people), it is a key issue to deal with. The same could apply to other contextual data, such as the weather forecast for an area or the mood a user has at a certain point in time. Therefore, this uncertainty must be present when processing contextual information. In sensor networks' localization, this is indeed an important factor; along these lines, [291] shows a Bayesian method to analyze the lower bound of the localization uncertainty in sensor networks. There is also literature on trust and reputation for recommender systems [292]. However, computing suitable trust values for contextual information is still a niche to explore. These trust values could then be considered to appropriately weigh possible suggestions during the recommendation process.

(viii) Decentralized Approaches. We believe that approaches that can adapt themselves to situations where a fixed centralized support infrastructure is not available will be developed. On the one hand, a distributed context detection system could be considered; as an example, the Triveni system [293] considers the exchange of context information among devices using wireless ad hoc networks. On the other hand, the ideal framework envisaged in [36] considers the possibility of peer-to-peer recommendations in mobile ad hoc networks.

As illustrated above, there are several challenges but also exciting opportunities to fully exploit the capabilities of a wide range of sensors that measure context data that can be used to obtain more accurate recommendations.

6. Conclusions

In this paper, we have carried out an extensive review of the literature on the use of sensors for context-aware recommendation. To our knowledge, this is the first attempt to survey a significant variety of works on this topic. Firstly, we classified different sensor-based approaches according to the type of data the sensors collect: geolocalization, detection of the transportation means, mood detection, event detection in transportation, and activity detection. We emphasized the type of context that can be extracted from sensors and then exploited by the recommendation systems. Then, we explored different proposals that develop recommendation systems that need sensors in order to suggest accurate recommendations in different domains, including tourism, ambient assisted living and pervasive health, e-learning, transportation, mobile shopping and products, applications and services in mobile computing, documents in digital libraries, and others (e.g., music recommendation). We finally concluded by discussing some open issues and avenues for this line of research, exposing some problems still mainly unexplored.

Conflict of Interests

The authors declare that there is no conflict of interests

regarding the publication of this paper.

Acknowledgments

This work was supported by the CICYT Project TIN2013-

46238-C4-4-R and DGA-FSE. The authors thank the support

of a Banco Santander scholarship held by Maria del Carmen

Rodríguez-Hernández.

References

[1] G. Adomavicius and A. Tuzhilin, "Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions," IEEE Transactions on Knowledge and Data Engineering, vol. 17, no. 6, pp. 734-749, 2005.

[2] J. Bobadilla, F. Ortega, A. Hernando, and A. Gutiérrez, "Recommender systems survey," Knowledge-Based Systems, vol. 46, pp. 109-132, 2013.

[3] P. Resnick and H. R. Varian, "Recommender systems," Communications of the ACM, vol. 40, no. 3, pp. 56-58,1997.

[4] F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, Eds., Recom-mender Systems Handbook, Springer, 2011.

[5] M. Balabanoviá and Y. Shoham, "Content-based, collaborative recommendation," Communications of the ACM, vol. 40, no. 3, pp. 66-72,1997.

[6] A. I. Schein, A. Popescul, L. H. Ungar, and D. M. Pennock, "Methods and metrics for cold-start recommendations," in Proceedings of the 25th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR '02), pp. 253-260, ACM, Tampere, Finland, August 2002.

[7] O. Wolfson, B. Xu, H. Yin, and N. Rishe, "Resource discovery using spatio-temporal information in mobile ad-hoc networks," in Web and Wireless Geographical Information Systems: 5th International Workshop, W2GIS 2005, Lausanne, Switzerland, December 15-16, 2005. Proceedings, vol. 3833 of Lecture Notes in Computer Science, pp. 129-142, Springer, Berlin, Germany, 2005.

[8] A. K. Dey, "Understanding and using context," Personal and Ubiquitous Computing, vol. 5, no. 1, pp. 4-7, 2001.

[9] P. Dourish, "What we talk about when we talk about context," Personal and Ubiquitous Computing, vol. 8, no. 1, pp. 19-30,

[10] W. Woerndl and J. Schlichter, "Introducing context into recommender systems," in Proceedings of the AAAI Workshop on Recommender Systems in E-Commerce, pp. 138-140, Association for the Advancement of Artificial Intelligence (AAAI), July 2007.

[11] J. Coutaz, J. L. Crowley, S. Dobson, and D. Garlan, "Context is key," Communications of the ACM, vol. 48, no. 3, pp. 49-53,

[12] G. Calvary, J. Coutaz, D. Thevenin, Q. Limbourg, L. Bouillon, and J. Vanderdonckt, "A unifying reference framework for multi-target user interfaces," Interacting with Computers, vol. 15, no. 3, pp. 289-308, 2003.

[13] G. D. Abowd, A. K. Dey, P. J. Brown, N. Davies, M. Smith, and P. Steggles, "Towards a better understanding of context and context—awareness," in Handheld and Ubiquitous Computing, vol. 1707 of Lecture Notes in Computer Science, pp. 304-307, Springer, Berlin, Germany, 1999.

[14] V. G. Motti and J. Vanderdonckt, "A computational framework for context-aware adaptation of user interfaces," in Proceedings of the 7th IEEE International Conference on Research Challenges in Information Science (RCIS '13), pp. 1-12, IEEE, Paris, France, May 2013.

[15] T. Strang and C. Linnhoff-Popien, "A context modeling survey," in Proceedings of the 1st International Workshop on Advanced Context Modelling, Reasoning and Management (UbiComp '04), pp. 1-8, September 2004.

[16] S. Tamminen, A. Oulasvirta, K. Toiskallio, and A. Kankainen, "Understanding mobile contexts," Personal and Ubiquitous Computing, vol. 8, no. 2, pp. 135-143, 2004.

[17] M. Baldauf, S. Dustdar, and F. Rosenberg, "A survey on context-aware systems," International Journal of Ad Hoc and Ubiquitous Computing, vol. 2, no. 4, pp. 263-277, 2007.

[18] G. Chen and D. Kotz, "A survey of context-aware mobile computing research," Tech. Rep. TR2000-381, Department of Computer Science, Dartmouth College, Hanover, NH, USA, 2000.

[19] L. Han, J. P. Salomaa, J. Ma, and K. Yu, "Research on context-aware mobile computing," in Proceedings of the 22nd International Conference on Advanced Information Networking and Applications Workshops/Symposia (AINA '08), pp. 24-30, Okinawa, Japan, March 2008.

[20] C. Perera, A. Zaslavsky, P. Christen, and D. Georgakopoulos, "Context aware computing for the internet of things: a survey," IEEE Communications Surveys and Tutorials, vol. 16, no. 1, pp. 414-454, 2014.

[21] B. N. Schilit, N. Adams, and R. Want, "Context-aware computing applications," in Proceedings of the 1st Workshop on Mobile Computing Systems and Applications, pp. 85-90, IEEE, Santa Cruz, Calif, USA, December 1994.

[22] J.-Y. Hong, E.-H. Suh, and S.-J. Kim, "Context-aware systems: a literature review and classification," Expert Systems with Applications, vol. 36, no. 4, pp. 8509-8522, 2009.

[23] S. Ilarri, A. lllarramendi, E. Mena, and A. Sheth, "Semantics in location-based services—guest editors' introduction for special issue," IEEE Internet Computing, vol. 15, no. 6, pp. 10-14, 2011.

[24] S. Ilarri, E. Mena, and A. lllarramendi, "Location-dependent query processing: where we are and where we are heading," ACM Computing Surveys, vol. 42, no. 3, pp. 12:1-12:73, 2010.

[25] I. A. Junglas and R. T. Watson, "Location-based services," Communications of the ACM, vol. 51, no. 3, pp. 65-69, 2008.

[26] B. Rao and L. Minakakis, "Evolution of mobile location-based services," Communications of the ACM, vol. 46, no. 12, pp. 61-65, 2003.

[27] J. Schiller and A. Voisard, Location Based Services, Morgan Kaufmann, 2004.

[28] A. Chen, "Context-aware collaborative filtering system: predicting the user's preference in the ubiquitous computing environment," in Location- and Context-Awareness, T. Strang and C. Linnhoff-Popien, Eds., vol. 3479 of Lecture Notes in Computer Science, pp. 244-253, Springer, Berlin, Germany, 2005.

[29] G. Adomavicius, R. Sankaranarayanan, S. Sen, and A. Tuzhilin, "Incorporating contextual information in recommender systems using a multidimensional approach," ACM Transactions on Information Systems, vol. 23, no. 1, pp. 103-145, 2005.

[30] G. Adomavicius and A. Tuzhilin, "Context-aware recommender systems," in Proceedings of the 2nd ACM Conference on Recommender Systems (RecSys '08), pp. 335-336, ACM, Lousanne, Switzerland, October 2008.

[31] Z. Yujie and W. Licai, "Some challenges for context-aware recommender systems," in Proceedings of the 5th International Conference on Computer Science and Education (ICCSE '10), pp. 362-365, IEEE, Hefei, China, August 2010.

[32] G. Adomavicius and A. Tuzhilin, "Context-aware recommender systems," in Recommender Systems Handbook, pp. 217-253, Springer, New York, NY, USA, 2011.

[33] H. Wu, K. Yue, X. Liu, Y. Pei, and B. Li, "Context-aware recommendation via graph-based contextual modeling and postfiltering," International Journal of Distributed Sensor Networks, vol. 2015, Article ID 613612,10 pages, 2015.

[34] Q. Liu, H. Ma, E. Chen, and H. Xiong, "A survey of context-aware mobile recommendations," International Journal of Information Technology and Decision Making, vol. 12, no. 1, pp. 139172, 2013.

[35] C. Mettouris and G. A. Papadopoulos, "Ubiquitous recommender systems," Computing, vol. 96, no. 3, pp. 223-257, 2014.

[36] M. del Carmen Rodríguez-Hernández and S. Ilarri, "Pull-based recommendations in mobile environments," Computer Standards & Interfaces, 2015.

[37] W. Woerndl, J. Huebner, R. Bader, and D. Gallego-Vico, "A model for proactivity in mobile, context-aware recommender systems," in Proceedings of the 5th ACM Conference on Recommender Systems (RecSys '11), pp. 273-276, ACM, Boston, Mass, USA, October 2011.

[38] S. Kabadayi, A. Pridgen, and C. Julien, "Virtual sensors: abstracting data from physical sensors," in Proceedings of the International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM '06), pp. 587-592, New York, NY, USA, June 2006.

[39] A. Rosi, M. Mamei, and F. Zambonelli, "Integrating social sensors and pervasive services: approaches and perspectives," International Journal of Pervasive Computing and Communications, vol. 9, no. 4, pp. 294-310, 2013.

[40] M.-D. Albakour, C. Macdonald, and I. Ounis, "Identifyinglocal events by using microblogs as social sensors," in Proceedings of the 10th Conference on Open Research Areas in Information Retrieval (OAIR '13), pp. 173-180, ACM, Lisbon, Portugal, 2013.

[41] T. Lovett, E. O'Neill, J. Irwin, and D. Pollington, "The calendar as a sensor: analysis and improvement using data fusion with social networks and location," in Proceedings of the 12th International Conference on Ubiquitous Computing (UbiComp '10), pp. 3-12, September 2010.

[42] M. F. Goodchild, "Citizens as sensors: the world of volunteered geography," GeoJournal, vol. 69, no. 4, pp. 211-221, 2007.

[43] L. Kazemi and C. Shahabi, "GeoCrowd: enabling query answering with spatial crowdsourcing," in Proceedings of the 20th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (SIGSPATIAL GIS '12),pp. 189198, Redondo Beach, Calif, USA, November 2012.

[44] A. T. Campbell, S. B. Eisenman, N. D. Lane, E. Miluzzo, and R. A. Peterson, "People-centric urban sensing," in Proceedings of the 2nd Annual International Workshop on Wireless Internet (WICON '06), pp. 1-14, ACM, August 2006.

[45] R. K. Ganti, F. Ye, and H. Lei, "Mobile crowdsensing: current state and future challenges," IEEE Communications Magazine, vol. 49, no. 11, pp. 32-39, 2011.

[46] N. D. Lane, E. Miluzzo, H. Lu, D. Peebles, T. Choudhury, and A. T. Campbell, "A survey of mobile phone sensing," IEEE Communications Magazine, vol. 48, no. 9, pp. 140-150, 2010.

[47] J. Burke, D. Estrin, M. Hansen et al., "Participatory sensing," in World Sensor Web Workshop (WSW), pp. 1-5, ACM, 2006.

[48] S. Ilarri, O. Wolfson, and T. Delot, "Collaborative sensing for urban transportation," IEEE Data Engineering Bulletin, vol. 37, no. 4, pp. 3-14, 2014.

[49] J. Goslinski, M. Nowicki, and P. Skrzypczynski, "Performance comparison of EKF-based algorithms for orientation estimation on Android platform," IEEE Sensors Journal, vol. 15, no. 7, pp. 3781-3792, 2015.

[50] N. Y. Asabere, "A framework for context-aware recommendation in mobile social learning," Advanced Engineering and Applied Sciences, vol. 3, no. 1, pp. 10-16, 2013.

[51] N. Y. Asabere, "Towards a viewpoint of Context-Aware Recommender Systems (CARS) and services," International Journal of Computer Science and Telecommunications, vol. 4, no. 1, pp. 1029, 2013.

[52] P. Enge and P. Misra, "Special issue on global positioning system," Proceedings of the IEEE, vol. 87, no. 1, pp. 3-15,1999.

[53] B. Hofmann-Wellenhof, H. Lichtenegger, and J. Collins, Global Positioning System—Theory and Practice, Springer-Verlag, 5th edition, 2001.

[54] E. Thielmann, "Galileo—the European GPS: state of play of the European global navigations satellite system and cooperation with Australia," ANU Centre for European Studies Briefing Paper Series, vol. 5, no. 2, pp. 1-16, 2014.

[55] J. Ortiz, C. R. Baker, D. Moon, R. Fonseca, and I. Stoica, "Beacon location service: a location service for point-to-point routing in wireless sensor networks," in Proceedings of the 6th International Symposium on Information Processing in Sensor Networks (IPSN '07), pp. 166-175, Cambridge, Mass, USA, April 2007.

[56] R. Zhang, H. Zhao, and M. A. Labrador, "The Anchor Location Service (ALS) protocol for large-scale wireless sensor networks," in Proceedings of the 1st International Conference on Integrated Internet Ad hoc and Sensor Networks (InterSense '06),May2006.

[57] Y. Gu, A. Lo, and I. Niemegeers, "A survey of indoor positioning systems for wireless personal networks," IEEE Communications Surveys and Tutorials, vol. 11, no. 1, pp. 13-32, 2009.

[58] H. Liu, H. Darabi, P. Banerjee, and J. Liu, "Survey of wireless indoor positioning techniques and systems," IEEE Transactions on Systems, Man and Cybernetics—Part C: Applications and Reviews, vol. 37, no. 6, pp. 1067-1080, 2007.

[59] G. Sun, J. Chen, W. Guo, and K. J. R. Liu, "Signal processing techniques in network-aided positioning: a survey of state-of-the-art positioning designs," IEEE Signal Processing Magazine, vol. 22, no. 4, pp. 12-23, 2005.

[60] M. del Carmen Rodríguez-Hernández, S. Ilarri, R. Trillo-Lado, and R. Hermoso, "Location-aware recommendation systems: where we are and where we recommend to go," in Proceedings of the Workshop on Location-Aware Recommendations, Co-Located with the 9th ACM Conference on Recommender Systems (LocalRec-RecSys '15), vol. 1405, pp. 1-8, Vienna, Austria, September 2015, http://ceur-ws.org/.

[61] M.-H. Kuo, L.-C. Chen, and C.-W. Liang, "Building and evaluating a location-based service recommendation system with a preference adjustment mechanism," Expert Systems with Applications, vol. 36, no. 2, pp. 3543-3554, 2009.

[62] J. J. Levandoski, M. Sarwat, A. Eldawy, and M. F. Mokbel, "LARS: a location-aware recommender system," in Proceedings of the 28th International Conference on Data Engineering (ICDE '12), pp. 450-461, Washington, DC, USA, April 2012.

[63] M.-H. Park, J.-H. Hong, and S.-B. Cho, "Location-based recommendation system using Bayesian users preference model in mobile devices," in Ubiquitous Intelligence and Computing, pp. 1130-1139, Springer, 2007.

[64] N. S. Savage, M. Baranski, N. E. Chavez, and T. Hollerer, "I'm feeling LoCo: a location based context aware recommendation system," in Advances in Location-Based Services, Lecture Notes in Geoinformation and Cartography, pp. 37-54, Springer, Berlin, Germany, 2012.

[65] M. Conti, J. Willemsen, and B. Crispo, "Providing source location privacy in wireless sensor networks: a survey," IEEE Communications Surveys and Tutorials, vol. 15, no. 3, pp. 12381280, 2013.

[66] I. H. Witten, E. Frank, and M. A. Hall, Data Mining: Practical Machine Learning Tools and Techniques, Morgan Kaufmann Publishers, San Francisco, Calif, USA, 3rd edition, 2011.

[67] C. Cortes and V. Vapnik, "Support-vector networks," Machine Learning, vol. 20, no. 3, pp. 273-297,1995.

[68] I. Anderson and H. Muller, "Context awareness via GSM signal strength fluctuation," in Proceedings of the 4th International Conference on Pervasive Computing, pp. 27-31, Dublin, Ireland, 2006.

[69] T. Sohn, A. Varshavsky, A. LaMarca et al., "Mobility detection using everyday GSM traces," in Proceedings of the 8th International Conference on Ubiquitous Computing (UbiComp '06), vol. 4206 of Lecture Notes in Computer Science, pp. 212-224, Springer, 2006.

[70] J. Friedman, T. Hastie, and R. Tibshirani, "Additive logistic regression: a statistical view of boosting," The Annals of Statistics, vol. 28, no. 2, pp. 337-407, 2000.

[71] J. Krumm and E. Horvitz, "LOCADIO: inferring motion and location from Wi-Fi signal strengths," in Proceedings of the 1st Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services (MOBIQUITOUS '04), pp. 413, Boston, Mass, USA, August 2004.

[72] M. Y. Mun, D. Estrin, J. Burke, and M. Hansen, "Parsimonious mobility classification using GSM and WiFi traces," in Proceedings of the 5th Workshop on Hot Topics in Embedded Networked Sensors (HotEmNets '08), pp. 1-5, ACM, June 2008.

[73] L. Liao, D. Fox, and H. Kautz, "Learning and inferring transportation routines," in Proceedings of the 19th National Conference on Artifical Intelligence (AAAI '04), pp. 348-353, AAAI Press, San Jose, Calif, USA, July 2004.

[74] L. Liao, D. J. Patterson, D. Fox, and H. Kautz, "Learning and inferringtransportation routines," Artificial Intelligence, vol. 171, no. 5-6, pp. 311-331, 2007.

[75] D. J. Patterson, L. Liao, D. Fox, and H. Kautz, "Inferring high-level behavior from low-level sensors," in UbiComp 2003: Ubiquitous Computing: 5th International Conference, Seattle, WA, USA, October 12-15, 2003. Proceedings, vol. 2864 of Lecture Notes in Computer Science, pp. 73-89, Springer, Berlin, Germany, 2003.

[76] L. Stenneth, O. Wolfson, P. S. Yu, and B. Xu, "Transportation mode detection using mobile phones and GIS information," in Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (GIS '11), pp. 54-63, ACM, Chicago, Ill, USA, November 2011.

[77] Y. Zheng, Y. Chen, Q. Li, X. Xie, and W.-Y. Ma, "Understanding transportation modes based on GPS data for web applications," ACM Transactions on the Web, vol. 4, no. 1, pp. 1-36, 2010.

[78] Y. Zheng, Q. Li, Y. Chen, X. Xie, and W.-Y. Ma, "Understanding mobility based on GPS data," in Proceedings of the 10th International Conference on Ubiquitous Computing (UbiComp '08), pp. 312-321, ACM, Seoul, Republic of Korea, September 2008.

[79] Y. Zheng, L. Liu, L. Wang, and X. Xie, "Learning transportation mode from raw GPS data for geographic applications on the

web," in Proceedings of the 17th International Conference on World Wide Web (WWW '08), pp. 247-256, ACM, Beijing, China, April 2008.

[80] A. Bolbol, T. Cheng, I. Tsapakis, and J. Haworth, "Inferring hybrid transportation modes from sparse GPS data using a moving window SVM classification," Computers, Environment and Urban Systems, vol. 36, no. 6, pp. 526-537, 2012.

[81] Google, "Google's activity recognition API," October 2015, https://developers.google.com/android/reference/com/google/ android/gms/location/ActivityRecognitionApi.

[82] S. Hemminki, P. Nurmi, and S. Tarkoma, "Accelerometer-based transportation mode detection on smartphones," in Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems (SenSys '13), pp. 13:1-13:14, ACM, Rome, Italy, November 2013.

[83] C. Carrion, F. Pereira, R. Ball et al., "Evaluating FMS: a preliminary comparison with a traditional travel survey," in Proceedings of the 93rd Transportation Research Board Annual Meeting, pp. 1-14, Transportation Research Board (TRB), Washington, DC, USA, January 2014.

[84] C. D. Cottrill, F. C. Pereira, F. Zhao et al., "Future mobility survey," Transportation Research Record, vol. 2354, pp. 59-67, 2013.

[85] S. Reddy, J. Burke, D. Estrin, M. Hansen, and M. Srivastava, "Determining transportation mode on mobile phones," in Proceedings ofthe 12th IEEE International Symposium on Wearable Computers (ISWC '08), pp. 25-28, Pittsburgh, Pa, USA, October 2008.

[86] S. Reddy, M. Mun, J. Burke, D. Estrin, M. Hansen, and M. Srivastava, "Using mobile phones to determine transportation modes," ACM Transactions on Sensor Networks, vol. 6, no. 2, article 13, 2010.

[87] K. Sankaran, M. Zhu, X. F. Guo, A. L. Ananda, M. C. Chan, and L.-S. Peh, "Using mobile phone barometer for low-power transportation context detection," in Proceedings of the 12th ACM Conference on Embedded Networked Sensor Systems (SenSys '14), pp. 191-205, Memphis, Tenn, USA, November 2014.

[88] M.-C. Yu, T. Yu, S.-C. Wang, C.-J. Lin, and E. Y. Chang, "Big data small footprint: the design of a low-power classifier for detecting transportation modes," Proceedings of the VLDB Endowment, vol. 7, no. 13, pp. 1429-1440, 2014.

[89] J. D. Lafferty, A. McCallum, and F. C. N. Pereira, "Conditional random fields: probabilistic models for segmenting and labeling sequence data," in Proceedings of the 18th International Conference on Machine Learning (ICML '01), pp. 282-289, Morgan Kaufmann Publishers, Williamstown, Mass, USA, June-July 2001.

[90] L. S. Chen, T. S. Huang, T. Miyasato, and R. Nakatsu, "Multimodal human emotion/expression recognition," in Proceedings ofthe 3rd IEEE International Conference on Automatic Face and Gesture Recognition, pp. 366-371, IEEE, Nara, Japan, April 1998.

[91] F. Canento, A. Fred, H. Silva, H. Gamboa, and A. Louren9o, "Multimodal biosignal sensor data handling for emotion recognition," in Proceedings of the 10th IEEE SENSORS Conference (SENSORS '11), pp. 647-650, Limerick, Ireland, October 2011.

[92] A. Haag, S. Goronzy, P. Schaich, and J. Williams, "Emotion recognition using bio-sensors: first steps towards an automatic system," in Affective Dialogue Systems, vol. 3068 of Lecture Notes in Computer Science, pp. 36-48, Springer, Berlin, Germany, 2004.

[93] R. W. Picard, E. Vyzas, and J. Healey, "Toward machine emotional intelligence: Analysis of affective physiological state,"

IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 23, no. 10, pp. 1175-1191, 2001.

[94] H. Wang, H. Prendinger, and T. Igarashi, "Communicating emotions in online chat using physiological sensors and animated text," in Proceedings ofthe Extended Abstracts on Human Factors in Computing Systems, pp. 1171-1174, ACM, Vienna, Austria, April 2004.

[95] A. Kapoor, W. Burleson, and R. W. Picard, "Automatic prediction of frustration," International Journal of Human-Computer Studies, vol. 65, no. 8, pp. 724-736, 2007.

[96] R. B. Hossain, M. Sadat, and H. Mahmud, "Recognition of human affection in Smartphone perspective based on accelerometer and user's sitting position," in Proceedings ofthe 17th International Conference on Computer and Information Technology (ICCIT '14), pp. 87-91, Dhaka, Bangladesh, December 2014.

[97] D. Amelynck, M. Grachten, L. V. Noorden, and M. Leman, "Toward e-motion-based music retrieval a study of affective gesture recognition," IEEE Transactions on Affective Computing, vol. 3, no. 2, pp. 250-259, 2012.

[98] Y. Ma, B. Xu, Y. Bai, G. Sun, and R. Zhu, "Dailymood assessment based on mobile phone sensing," in Proceedings of the 9th International Workshop on Wearable and Implantable Body Sensor Networks (BSN '12), pp. 142-147, IEEE, London, UK, May 2012.

[99] A. Kapur, A. Kapur, N. Virji-Babul, G. Tzanetakis, and P. F. Driessen, "Gesture-based affective computing on motion capture data," in Affective Computing and Intelligent Interaction, vol. 3784 of Lecture Notes in Computer Science, pp. 1-7, Springer, 2005.

[100] Y. Rizk, M. Safieddine, D. Matchoulian, and M. Awad, "Face2Mus: a facial emotion based Internet radio tuner application," in Proceedings ofthe 17th IEEE Mediterranean Electrotech-nical Conference (MELECON '14), pp. 257-261, IEEE, Beirut, Lebanon, April 2014.

[101] A. van't Klooster and N. Collins, "In a state: live emotion detection and visualisation for music performance," in Proceedings of the 14th International Conference on New Interfaces for Musical Expression, pp. 545-548, Goldsmiths, University of London, London, United Kingdom, 2014.

[102] R. Likamwa, Y. Liu, N. D. Lane, and L. Zhong, "MoodScope: building a mood sensor from smartphone usage patterns," in Proceedings of the 11th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys '13), pp. 389-402, ACM, Taipei, Taiwan, June 2013.

[103] C. Ma, H. Prendinger, and M. Ishizuka, "Emotion estimation and reasoning based on affective textual interaction," in Affective Computing and Intelligent Interaction, vol. 3784 of Lecture Notes in Computer Science, pp. 622-628, Springer, 2005.

[104] M. A. M. Shaikh, P. Helmut, and M. Ishizuka, "A cognitively based approach to affect sensing from text," in Proceedings of the International Conference on Intelligent User Interfaces (IUI '06), pp. 303-305, ACM, Sydney, Australia, February 2005.

[105] R. W. Picard, Affective Computing, MIT Press, 2000.

[106] R. W. Picard, "Affective computing: challenges," International Journal of Human Computer Studies, vol. 59, no. 1-2, pp. 55-64, 2003.

[107] R. A. Calvo and S. D'Mello, "Affect detection: An interdisciplinary review of models, methods, and their applications," IEEE Transactions on Affective Computing, vol. 1, no. 1, pp. 18-37, 2010.

[108] I. Arroyo, D. G. Cooper, W. Burleson, B. P. Woolf, K. Muldner, and R. Christopherson, "Emotion sensors go to school," in Proceedings of the Conference on Artificial Intelligence in Education: Building Learning Systems that Care: From Knowledge Representation to Affective Modelling, vol. 200, pp. 17-24, IOS Press, 2009.

[109] J. Healey, L. Nachman, S. Subramanian, J. Shahabdeen, and M. Morris, "Out of the lab and into the fray: towards modeling emotion in everyday life," in Pervasive Computing, vol. 6030 of Lecture Notes in Computer Science, pp. 156-173, Springer, 2010.

[110] B. Liu and L. Zhang, "A survey of opinion mining and sentiment analysis," in Mining Text Data, pp. 415-463, Springer, 2012.

[111] B. Pang and L. Lee, "Opinion mining and sentiment analysis," Foundations and Trends in Information Retrieval, vol. 2, no. 1-2, pp. 1-135, 2008.

[112] B. Coifman and S. Kim, "Speed estimation and length based vehicle classification from freeway single-loop detectors," Transportation Research Part C: Emerging Technologies, vol. 17, no. 4, pp. 349-364, 2009.

[113] Y.-K. Ki and D.-K. Baik, "Model for accurate speed measurement using double-loop detectors," IEEE Transactions on Vehicular Technology, vol. 55, no. 4, pp. 1094-1101, 2006.

[114] W.-H. Lin, J. Dahlgren, and H. Huo, "An enhancement to speed estimation using single loop detectors," in Proceedings of the IEEE International Conference on Intelligent Transportation Systems (ITS '03), vol. 1, pp. 417-422, Shanghai, China, October 2003.

[115] D. J. Dailey, F. W. Cathey, and S. Pumrin, "An algorithm to estimate mean traffic speed using uncalibrated cameras," IEEE Transactions on Intelligent Transportation Systems, vol. 1, no. 2, pp. 98-107, 2000.

[116] T. N. Schoepflin and D. J. Dailey, "Dynamic camera calibration of roadside traffic management cameras for vehicle speed estimation," IEEE Transactions on Intelligent Transportation Systems, vol. 4, no. 2, pp. 90-98, 2003.

[117] T. Evan and C. Jing, "Vehicular traffic density estimation via statistical methods with automated state learning," in Proceedings of the IEEE Conference on Advanced Video and Signal Based Surveillance (AVSS '07), pp. 164-169, IEEE, London, UK, September 2007.

[118] S. Coleri, S. Y. Cheung, and P. Varaiya, "Sensor networks for monitoring traffic," 2004, http://wnl.ku.edu.tr/uploads/ 1/0/5/9/10590997/trafficsensor_allerton2004.pdf.

[119] M. Karpinski, A. Senart, and V. Cahill, "Sensor networks for smart roads," in Proceedings of the 4th Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom '06), pp. 306-310, IEEE, Pisa, Italy, March 2006.

[120] M. Collotta, G. Pau, V. M. Salerno, and G. Scata, "Wireless sensor networks to improve road monitoring," in Wireless Sensor Networks—Technology and Applications, chapter 15, pp. 323-346, InTech, Rijeka, Croatia, 2012.

[121] F. Losilla, A. J. Garcia-Sanchez, F. Garcia-Sanchez, and J. Garcia-Haro, "On the role of wireless sensor networks in intelligent transportation systems," in Proceedings of the 14th International Conference on Transparent Optical Networks (ICTON '12), pp. 1-4, IEEE, Coventry, UK, July 2012.

[122] M. Litzenberger, A. N. Belbachir, N. Donath et al., "Estimation of vehicle speed based on asynchronous data from a silicon retina optical sensor," in Proceedings of the IEEE Intelligent Transportation Systems Conference (ITSC '06), pp. 653-658, IEEE, Toronto, Canada, September 2006.

[123] D. Bauer, A. N. Belbachir, N. Donath et al., "Embedded vehicle speed estimation system using an asynchronous temporal contrast vision sensor," EURASIP Journal on Embedded Systems, vol. 2007, Article ID 082174, 2007.

[124] SFMTA, "SFpark," San Francisco Municipal Transportation Agency (SFMTA), October 2015, http://sfpark.org/.

[125] B. Fleming, "Sensors? A forecast [automotive electronics]," IEEE Vehicular Technology Magazine, vol. 8, no. 3, pp. 4-12,2013.

[126] Z. Li, Y. Zhu, H. Zhu, and M. Li, "Compressive sensing approach to urban traffic sensing," in Proceedings of the 31st International Conference on Distributed Computing Systems (ICDCS '11), pp. 889-898, IEEE, Minneapolis, Minn, USA, July 2011.

[127] N. Zhu, Y. Liu, S. Ma, and Z. He, "Mobile traffic sensor routing in dynamic transportation systems," IEEE Transactions on Intelligent Transportation Systems, vol. 15, no. 5, pp. 22732285, 2014.

[128] R. Du, C. Chen, B. Yang, N. Lu, X. Guan, and X. Shen, "Effective urban traffic monitoring by vehicular sensor networks," IEEE Transactions on Vehicular Technology, vol. 64, no. 1, pp. 273-286, 2015.

[129] B. Hull, V. Bychkovsky, Y. Zhang et al., "CarTel: a distributed mobile sensor computing system," in Proceedings of the 4th International Conference on Embedded Networked Sensor Systems (SenSys '06), pp. 125-138, ACM, Boulder, Colo, USA, November 2006.

[130] J. A. Sanguesa, M. Fogue, P. Garrido et al., "An infrastructureless approach to estimate vehicular density in urban environments," Sensors, vol. 13, no. 2, pp. 2399-2418, 2013.

[131] A. Thiagarajan, L. Ravindranath, K. LaCurts et al., "VTrack: accurate, energy-aware road traffic delay estimation using mobile phones," in Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems (SenSys '09), pp. 85-98, ACM, Berkeley, Calif, USA, November 2009.

[132] J. Barrachina, J. A. Sanguesa, M. Fogue et al., "V2X-d: a vehicular density estimation system that combines V2V and V2I communications," in Proceedings of the 6th IFIP/IEEE Wireless Days Conference (WD '13), pp. 1-6, Valencia, Spain, November 2013.

[133] B. Pan, Y. Zheng, D. Wilkie, and C. Shahabi, "Crowd sensing of traffic anomalies based on human mobility and social media," in Proceedings of the 21st ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (GIS '13), pp. 334-343, ACM, Orlando, Fla, USA, November 2013.

[134] R. Varriale, S. Ma, and O. Wolfson, "VTIS: a volunteered travelers information system," in Proceedings of the 6th ACM SIGSPATIAL International Workshop on Computational Transportation Science (IWCTS '13), pp. 13-18, ACM, Orlando, Fla, USA, November 2013.

[135] U. Lee, B. Zhou, M. Gerla, E. Magistretti, P. Bellavista, and A. Corradi, "Mobeyes: smart mobs for urban monitoring with a vehicular sensor network," IEEE Wireless Communications, vol. 13, no. 5, pp. 52-57, 2006.

[136] O. Urra, S. Ilarri, E. Mena, and T. Delot, "7th international conference on practical applications of agents and multi-agent systems (PAAMS 2009), volume 55 of the series advances in intelligent and soft computing pp 557-566," in Using Hitchhiker Mobile Agents for Environment Monitoring, vol. 55 of Advances in Intelligent and Soft Computing, pp. 557-566, Springer, Berlin, Germany, 2009.

[137] X. Xu, P. Zhang, and L. Zhang, "Gotcha: a mobile urban sensing system," in Proceedings of the 12th ACM Conference on

Embedded Networked Sensor Systems (SenSys '14), pp. 316-317, ACM, Memphis, Tenn, USA, November 2014.

[138] K. D. Zoysa and C. Keppitiyagama, "BusNet—a sensor network built over a public transport system," in Proceedings of the 4th European Conference on Wireless Sensor Networks (EWSN '07), Parallel and Distributed Systems Report Series, Report Number PDS-2007-001, pp. 9-10, Parallel and Distributed Systems Section, Delft University of Technology, Delft, The Netherlands, January 2007.

[139] B. Hoh, T. Yan, D. Ganesan, K. Tracton, T. Iwuchukwu, and J.-S. Lee, "TruCentive: a game-theoretic incentive platform for trustworthy mobile crowdsourcing parking services," in Proceedings of the 15th International IEEE Conference on Intelligent Transportation Systems (ITSC '12), pp. 160-166, IEEE, Anchorage, Alaska, USA, September 2012.

[140] H. Hartenstein and K. P. Laberteaux, "A tutorial survey on vehicular ad hoc networks," IEEE Communications Magazine, vol. 46, no. 6, pp. 164-171, 2008.

[141] S. Olariu and M. C. Weigle, Eds., Vehicular Networks: From Theory to Practice, CRC Press, 2009.

[142] S. Djahel, R. Doolan, G.-M. Muntean, and J. Murphy, "A communications-oriented perspective on traffic management systems for smart cities: challenges and innovative approaches," IEEE Communications Surveys & Tutorials, vol. 17, no. 1, pp. 125151, 2015.

[143] K. De Zoysa, C. Keppitiyagama, G. P. Seneviratne, and W. W. A. T. Shihan, "A public transport system based sensor network for road surface condition monitoring," in Proceedings of the Workshop on Networked Systems for Developing Regions (NSDR '07), pp. 9:1-9:6, ACM, Kyoto, Japan, August 2007.

[144] X. Li, H. Huang, X. Yu, W. Shu, M. Li, and M.-Y. Wu, "A new paradigm for urban surveillance with vehicular sensor networks," Computer Communications, vol. 34, no. 10, pp. 11591168, 2011.

[145] O. Wolfson and B. Xu, "A new paradigm for querying blobs in vehicular networks," IEEE Multimedia, vol. 21, no. 1, pp. 48-58, 2014.

[146] M. Kutila, M. Jokela, J. Burgoa, A. Barsi, T. Lovas, and S. Zangherati, "Optical roadstate monitoring for infrastructure-side co-operative traffic safety systems," in Proceedings of the IEEE Intelligent Vehicles Symposium (IV '08), pp. 620-625, IEEE, Eindhoven, The Netherlands, June 2008.

[147] A. Discant, A. Rogozan, C. Rusu, and A. Bensrhair, "Sensors for obstacle detection—a survey," in Proceedings of the 30th International Spring Seminar on Electronics Technology (ISSE '07), pp. 100-105, IEEE, Cluj-Napoca, Romania, May 2007.

[148] R. Labayrade and D. Aubert, "In-vehicle obstacles detection and characterization by stereovision," in Proceedings of the 1st International Workshop on In-Vehicle Cognitive Computer Vision Systems (IVC2VS '03), pp. 13-19, Graz, Austria, 2003.

[149] K.-C. Lan and W.-Y. Shih, "An intelligent driver location system for smart parking," Expert Systems with Applications, vol. 41, no. 5, pp. 2443-2456, 2014.

[150] S. Ma, O. Wolfson, and B. Xu, "UPDetector: sensing park-ing/unparking activities using smartphones," in Proceedings of the 7th SIGSPATIAL International Workshop on Computational Transportation Science (IWCTS '14), pp. 76-85, ACM, Dallas/Fort Worth, Tex, USA, November 2014.

[151] A. Nandugudi, T. Ki, C. Nuessle, and G. Challen, "PocketParker: pocketsourcing parking lot availability," in Proceedings of the

ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp '14), pp. 963-973, ACM, Seattle, Wash, USA, September 2014.

[152] S. Nawaz, C. Efstratiou, and C. Mascolo, "Parksense: a smart-phone based sensing system for on-street parking," in Proceedings of the 19th Annual International Conference on Mobile Computing and Networking (MobiCom '13), pp. 75-86, ACM, Miami, Fla, USA, October 2013.

[153] B. Xu, O. Wolfson, J. Yang, L. Stenneth, P. S. Yu, and P. C. Nelson, "Real-time street parking availability estimation," in Proceedings of the 14th International Conference on Mobile Data Management (MDM '13), vol. 1, pp. 16-25, Milan, Italy, June 2013.

[154] S. Mathur, T. Jin, N. Kasturirangan et al., "ParkNet: drive-by sensing of road-side parking statistics," in Proceedings of the 8th Annual International Conference on Mobile Systems, Applications and Services (MobiSys '10), pp. 123-136, ACM, San Francisco, Calif, USA, June 2010.

[155] W.-J. Park, B.-S. Kim, D.-E. Seo, D.-S. Kim, and K.-H. Lee, "Parking space detection using ultrasonic sensor in parking assistance system," in Proceedings of the IEEE Intelligent Vehicles Symposium (IV '08), pp. 1039-1044, IEEE, Eindhoven, The Netherlands, June 2008.

[156] S. Abdelhamid, H. S. Hassanein, and G. Takahara, "Vehicle as a mobile sensor," Procedia Computer Science, vol. 34, pp. 286-295,2014, Proceedings of the 9th International Conference on Future Networks and Communications (FNC '14)/The 11th International Conference on Mobile Systems and Pervasive Computing (MobiSPC '14)/Affiliated Workshops.

[157] W. J. Fleming, "Overview of automotive sensors," IEEE Sensors Journal, vol. 1, no. 4, pp. 296-308, 2001.

[158] F. Niewels, S. Knoop, R. Jordan, and T. Michalke, "In-vehicle sensors," in Encyclopedia of Automotive Engineering, pp. 1-27, John Wiley & Sons, 2014.

[159] S.-W. Lee and K. Mase, "Activity and location recognition using wearable sensors," IEEE Pervasive Computing, vol. 1, no. 3, pp. 24-32, 2002.

[160] N. Kern, B. Schiele, and A. Schmidt, "Multi-sensor activity context detection for wearable computing," in Ambient Intelligence, E. Aarts, R. W. Collier, E. van Loenen, and B. de Ruyter, Eds., vol. 2875 of Lecture Notes in Computer Science, pp. 220-232, Springer, Berlin, Germany, 2003.

[161] L. Bao and S. S. Intille, "Activity recognition from user-annotated acceleration data," in Pervasive Computing, A. Fer-scha and F. Mattern, Eds., vol. 3001 of Lecture Notes in Computer Science, pp. 1-17, Springer, 2004.

[162] C. Randell and H. Muller, "Context awareness by analysing accelerometer data," in Proceedings of the 4th Intenational Symposium on Wearable Computers (ISWC '00), pp. 175-176, IEEE, October 2000.

[163] X. Bian, G. D. Abowd, and J. M. Rehg, "Using sound source localization in a home environment," in Pervasive Computing, vol. 3468 of Lecture Notes in Computer Science, pp. 19-36, Springer, Berlin, Germany, 2005.

[164] E. M. Tapia, S. S. Intille, and K. Larson, "Activity recognition in the home using simple and ubiquitous sensors," in Pervasive Computing, A. Ferscha and F. Mattern, Eds., vol. 3001 of Lecture Notes in Computer Science, pp. 158-175, Springer, Berlin, Germany, 2004.

[165] L. Liao, D. Fox, and H. Kautz, "Location-based activity recognition using relational Markov networks," in Proceedings of

the 19th International Joint Conference on Artificial Intelligence (IJCAI '05), pp. 773-778, Morgan Kaufmann, August 2005.

[166] L. Liao, D. Fox, and H. Kautz, "Location-based activity recognition," in Advances in Neural Information Processing Systems (NIPS), vol. 18, pp. 787-794, Neural Information Processing Systems Foundation, 2006.

[167] L. Liao, D. Fox, and H. Kautz, "Hierarchical conditional random fields for GPS-based activity recognition," in Robotics Research, vol. 28 of Springer Tracts in Advanced Robotics, pp. 487-506, Springer, 2007.

[168] J. Parkka, M. Ermes, P. Korpipâa, J. Mantyjârvi, J. Peltola, and I. Korhonen, "Activity classification using realistic data from wearable sensors," IEEE Transactions on Information Technology in Biomedicine, vol. 10, no. 1, pp. 119-128, 2006.

[169] H. Martin, A. M. Bernardos, J. Iglesias, and J. R. Casar, "Activity logging using lightweight classification techniques in mobile devices," Personal and Ubiquitous Computing, vol. 17, no. 4, pp. 675-695, 2013.

[170] M. Ermes, J. Pârkkâ, J. Mantyjârvi, and I. Korhonen, "Detection of daily activities and sports with wearable sensors in controlled and uncontrolled conditions," IEEE Transactions on Information Technology in Biomedicine, vol. 12, no. 1, pp. 20-26, 2008.

[171] A. M. Khan, A. Tufail, A. M. Khattak, and T. H. Laine, "Activity recognition on smartphones via sensor-fusion and KDA-based SVMs," International Journal of Distributed Sensor Networks, vol. 2014, Article ID 503291,14 pages, 2014.

[172] Q. V. Vo, M. T. Hoang, and D. Choi, "Personalization in mobile activity recognition system using K-medoids clustering algorithm," International Journal of Distributed Sensor Networks, vol. 2013, Article ID 315841,12 pages, 2013.

[173] J. Favela, M. Tentori, L. A. Castro, V. M. Gonzalez, E. B. Moran, and A. I. Martinez-Garcia, "Activity recognition for context-aware hospital applications: issues and opportunities for the deployment of pervasive networks," Mobile Networks and Applications, vol. 12, no. 2-3, pp. 155-171, 2007.

[174] J. R. Smith, K. P. Fishkin, B. Jiang et al., "RFID-based techniques for human-activity detection," Communications of the ACM, vol. 48, no. 9, pp. 39-44, 2005.

[175] X. Hong, C. Nugent, M. Mulvenna, S. McClean, B. Scotney, and S. Devlin, "Evidential fusion of sensor data for activity recognition in smart homes," Pervasive and Mobile Computing, vol. 5, no. 3, pp. 236-252, 2009.

[176] T. Kleinberger, M. Becker, E. Ras, A. Holzinger, and P. Muller, "Ambient intelligence in assisted living: enable elderly people to handle future interfaces," in Universal Access in HumanComputer Interaction. Ambient Interaction, C. Stephanidis, Ed., vol. 4555 of Lecture Notes in Computer Science, pp. 103-112, Springer, Berlin, Germany, 2007.

[177] D. Gavalas and M. Kenteris, "A web-based pervasive recommendation system for mobile tourist guides," Personal and Ubiquitous Computing, vol. 15, no. 7, pp. 759-770, 2011.

[178] M. Kenteris, D. Gavalas, and A. Mpitziopoulos, "A mobile tourism recommender system," in Proceedings of the 15th IEEE Symposium on Computers and Communications (ISCC '10), pp. 840-845, IEEE, Riccione, Italy, June 2010.

[179] M. V. Setten, S. Pokraev, and J. Koolwaaij, "Context-aware recommendations in the mobile tourist application COMPASS," in Adaptive Hypermedia and Adaptive Web-Based Systems, vol. 3137 of Lecture Notes in Computer Science, pp. 235-244, Springer, 2004.

[180] V. W. Zheng, Y. Zheng, X. Xie, and Q. Yang, "Collaborative location and activity recommendations with GPS history data,"

in Proceedings of the 19th International World Wide Web Conference (WWW '10), pp. 1029-1038, ACM, Raleigh, NC, USA, April 2010.

[181] G. D. Abowd, C. G. Atkeson, J. Hong, S. Long, R. Kooper, and M. Pinkerton, "Cyberguide: a mobile context-aware tour guide," Wireless Networks, vol. 3, no. 5, pp. 421-433,1997.

[182] X. Lu, C. Wang, J.-M. Yang, Y. Pang, and L. Zhang, "Photo2Trip: generating travel routes from geo-tagged photos for trip planning," in Proceedings of the 18th ACM International Conference on Multimedia (MM '10), pp. 143-152, ACM, Firenze, Italy, October 2010.

[183] I. Amendola, F. Cena, L. Console et al., "UbiquiTO: a multidevice adaptive guide," in Mobile Human-Computer Interaction (MobileHCI),vol. 3160 of Lecture Notes in Computer Science,pp. 409-414, Springer, 2004.

[184] R. P. Biuk-Aghai, S. Fong, and Y.-W. Si, "Design of a recommender system for mobile tourism multimedia selection," in Proceedings of the 2nd International Conference on Internet Multimedia Services Architecture and Applications (IMSAA '08), pp. 1-6, IEEE, Bangalore, India, December 2008.

[185] T. Horozov, N. Narasimhan, and V. Vasudevan, "Using location for personalized POI recommendations in mobile environments," in Proceedings of the International Symposium on Applications and the Internet (SAINT '06), pp. 124-129, IEEE, Phoenix, Ariz, USA, January 2006.

[186] A. Pashtan, R. Blattler, A. Andi, and P. Scheuermann, "CATIS: a context-aware tourist information system," in Proceedings of the 4th International Workshop of Mobile Computing, pp. 1-7, Rostock, Germany, June 2003.

[187] C.-C. Yu and H.-P. Chang, "Personalized location-based recommendation services for tour planning in mobile tourism applications," in E-Commerce and Web Technologies, vol. 5692 of Lecture Notes in Computer Science, pp. 38-49, Springer, Berlin, Germany, 2009.

[188] D. Gavalas, C. Konstantopoulos, K. Mastakas, and G. Pantziou, "Mobile recommender systems in tourism," Journal of Network and Computer Applications, vol. 39, no. 1, pp. 319-333, 2014.

[189] W. Schwinger, C. Griin, B. Proll, W. Retschitzegger, and A. Schauer-Huber, "Context-awareness in mobile tourism guides—a comprehensive survey," Tech. Rep., Johannes Kepler University Linz, Linz, Austria, 2005.

[190] F. Buttussi and L. Chittaro, "MOPET: a context-aware and user-adaptive wearable system for fitness training," Artificial Intelligence in Medicine, vol. 42, no. 2, pp. 153-163, 2008.

[191] H. K. Pung, T. Gu, W. Xue et al., "Context-aware middleware for pervasive elderly homecare," IEEE Journal on Selected Areas in Communications, vol. 27, no. 4, pp. 510-524, 2009.

[192] P. Rashidi and A. Mihailidis, "A survey on ambient-assisted living tools for older adults," IEEE Journal of Biomedical and Health Informatics, vol. 17, no. 3, pp. 579-590, 2013.

[193] Y. Cui and S. Bull, "Context and learner modelling for the mobile foreign language learner," System, vol. 33, no. 2, pp. 353367, 2005.

[194] Z. Yu, Y. Nakamura, S. Jang, S. Kajita, and K. Mase, "Ontology-based semantic recommendation for context-aware e-learning," in Ubiquitous Intelligence and Computing, vol. 4611 of Lecture Notes in Computer Science, pp. 898-907, Springer, Berlin, Germany, 2007.

[195] N. Manouselis, H. Drachsler, R. Vuorikari, H. Hummel, and R. Koper, "Recommender systems in technology enhanced learning," in Recommender Systems Handbook, pp. 387-415, Springer, 2011.

[196] K. Verbert, N. Manouselis, X. Ochoa et al., "Context-aware recommender systems for learning: a survey and future challenges," IEEE Transactions on Learning Technologies, vol. 5, no. 4, pp. 318-335, 2012.

[197] B. D. Ziebart, A. L. Maas, A. K. Dey, and J. A. Bagnell, "Navigate like a cabbie: probabilistic reasoning from observed context-aware behavior," in Proceedings of the 10th International Conference on Ubiquitous Computing (UbiComp '08), pp. 322331, ACM, September 2008.

[198] M. Caliskan, D. Graupner, and M. Mauve, "Decentralized discovery of free parking places," in Proceedings of the 3rd ACM International Workshop on VehicularAdHocNetworks (VANET '06), pp. 30-39, ACM, Los Angeles, Calif, USA, September 2006.

[199] S. Ilarri, T. Delot, and R. Trillo, "A data management perspective on vehicular networks," IEEE Communications Surveys & Tutorials, 2015.

[200] T. Delot, N. Cenerario, and S. Ilarri, "Vehicular event sharing with a mobile peer-to-peer architecture," Transportation Research Part C: Emerging Technologies, vol. 18, no. 4, pp. 584598, 2010.

[201] T. Delot, S. Ilarri, N. Cenerario, and T. Hien, "Event sharing in vehicular networks using geographic vectors and maps," Mobile Information Systems, vol. 7, no. 1, pp. 21-44, 2011.

[202] S. Kurkovsky and K. Harihar, "Using ubiquitous computing in interactive mobile marketing," Personal and Ubiquitous Computing, vol. 10, no. 4, pp. 227-240, 2006.

[203] W. Woerndl, C. Schueller, and R. Wojtech, "A hybrid recommender system for context-aware recommendations of mobile applications," in Workshops in Conjunction with the 23rd International Conference on Data Engineering (ICDE '07), pp. 871878, IEEE, Istanbul, Turkey, April 2007.

[204] B. Yan and G. Chen, "AppJoy: personalized mobile application discovery," in Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services (MobiSys '11), pp. 113126, ACM, Bethesda, Md, USA, June-July 2011.

[205] Z. Huang, W. Chung, T.-H. Ong, and H. Chen, "A graph-based recommender system for digital library," in Proceedings of the 2nd ACM/IEEE-CS Joint Conference on Digital Libraries (JCDL '02), pp. 65-73, ACM, July 2002.

[206] R. Torres, S. M. McNee, M. Abel, J. A. Konstan, and J. Riedl, "Enhancing digital libraries with TechLens," in Proceedings of the 4th ACM/IEEE Joint Conference on Digital Libraries (JCDL '04), pp. 228-236, IEEE, Tucson, Ariz, USA, June 2004.

[207] A. F. Smeaton and J. Callan, "Personalisation and recommender systems in digital libraries," International Journal on Digital Libraries, vol. 5, no. 4, pp. 299-308, 2005.

[208] X. Wang, D. Rosenblum, and Y. Wang, "Context-aware mobile music recommendation for daily activities," in Proceedings of the 20th ACM International Conference on Multimedia (MM '12), pp. 99-108, Nara, Japan, November 2012.

[209] D. Gallego and G. Huecas, "An empirical case of a context-aware mobile recommender system in a banking environment," in Proceedings of the 3rd FTRA International Conference on Mobile, Ubiquitous, and Intelligent Computing (MUSIC '12), pp. 13-20, IEEE, Vancouver, Canada, June 2012.

[210] C. C. Vo, T. Torabi, and S. W. Loke, "Towards context-aware task recommendation," in Proceedings of the Joint Conferences on Pervasive Computing (JCPC '09), pp. 289-292, Taipei, Taiwan, December 2009.

[211] G. Tumas and F. Ricci, "Personalized mobile city transport advisory system," in Information and Communication Technologies

in Tourism 2009: Proceedings of the International Conference in Amsterdam, The Netherlands, 2009, pp. 173-183, Springer, Vienna, Austria, 2009.

[212] J. M. Noguera, M. J. Barranco, R. J. Segura, and L. Martinez, "A mobile 3D-GIS hybrid recommender system for tourism," Information Sciences, vol. 215, pp. 37-52, 2012.

[213] A. Hinze, A. Voisard, and G. Buchanan, "Tip: personalizing information delivery in a tourist information system," Information Technology & Tourism, vol. 11, no. 3, pp. 247-264, 2009.

[214] J. Yuan, Y. Zheng, and X. Xie, "Discovering regions of different functions in a city using human mobility and POIs," in Proceedings ofthe 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD '12), pp. 186-194, Beijing, China, August 2012.

[215] M. J. Barranco, J. M. Noguera, J. Castro, and L. Martinez, "A context-aware mobile recommender system based on location and trajectory," in Management Intelligent Systems, vol. 171 of Advances in Intelligent Systems and Computing, pp. 153-162, Springer, Berlin, Germany, 2012.

[216] K. Meehan, T. Lunney, K. Curran, and A. McCaughey, "Context-aware intelligent recommendation system for tourism," in Proceedings of the IEEE International Conference on Pervasive Computing and Communications (PerCom '13), pp. 328-331, IEEE, San Diego, Calif, USA, March 2013.

[217] W.-S. Yang and S.-Y. Hwang, "ITravel: a recommender system in mobile peer-to-peer environment," Journal of Systems and Software, vol. 86, no. 1, pp. 12-20, 2013.

[218] L. Baltrunas, B. Ludwig, S. Peer, and F. Ricci, "Context relevance assessment and exploitation in mobile recommender systems," Personal and Ubiquitous Computing, vol. 16, no. 5, pp. 507-526, 2012.

[219] V. Bellotti, B. Begole, E. H. Chi et al., "Activity-based serendipitous recommendations with the magitti mobile leisure guide," in Proceedings ofthe SIGCHI Conference on Human Factors in Computing Systems (CHI '08), pp. 1157-1166, ACM, Florence, Italy, April 2008.

[220] T. De Pessemier, S. Dooms, and L. Martens, "Context-aware recommendations through context and activity recognition in a mobile environment," Multimedia Tools and Applications, vol. 72, no. 3, pp. 2925-2948, 2014.

[221] H.-W. Tung and V.-W. Soo, "A personalized restaurant recommender agent for mobile e-service," in Proceedings ofthe IEEE International Conference on e-Technology, e-Commerce and e-Service (EEE '04), pp. 259-262, March 2004.

[222] I. Liiv, T. Tammet, T. Ruotsalo, and A. Kuusik, "Personalized context-aware recommendations in SMARTMUSEUM: combining semantics with statistics," in Proceedings of the 3rd International Conference on Advances in Semantic Processing (SEMAPRO '09), pp. 50-55, Sliema, Malta, October 2009.

[223] H. Alemdar and C. Ersoy, "Wireless sensor networks for healthcare: a survey," Computer Networks, vol. 54, no. 15, pp. 2688-2710, 2010.

[224] G. Fenza, D. Furno, and V. Loia, "Hybrid approach for context-aware service discovery in healthcare domain," Journal of Computer and System Sciences, vol. 78, no. 4, pp. 1232-1247,2012.

[225] P. Lamber, A. Girardello, F. Ricci, and M. Mitterer, "MobiDay: a personalized context-aware mobile service for day hospital workflow support," in Proceedings ofthe 4th AIME International Workshop on Personalization for e-Health, pp. 15-19, Verona, Italy, July 2009.

[226] Y. Lin, J. Jessurun, B. de Vries, and H. Timmermans, "Motivate: towards context-aware recommendation mobile system for

healthy living," in Proceedings of the 5th International Conference on Pervasive Computing Technologies for Healthcare (Pervasive-Health '11), pp. 250-253, IEEE, Dublin, Ireland, May 2011.

[227] S. Nirjon, R. F. Dickerson, Q. Li et al., "MusicalHeart: a hearty way of listening to music," in Proceedings of the 10th ACM Conference on Embedded Networked Sensor Systems (SenSys '12), pp. 43-56, ACM, Toronto, Canada, November 2012.

[228] S.-L. Wang and C.-Y. Wu, "Application of context-aware and personalized recommendation to implement an adaptive ubiquitous learning system," Expert Systems with Applications, vol. 38, no. 9, pp. 10831-10838, 2011.

[229] M. Derntl and K. A. Hummel, "Modeling context-aware e-learning scenarios," in Proceedings of the 3rd IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom '05), pp. 337-344, IEEE, March 2005.

[230] P. Lonsdale, C. Baber, M. Sharples et al., "Context awareness for MOBIlearn: creating an en-gaging learning experience in an art museum," in Mobile Learning Anytime Everywhere, pp. 115-118, 2004.

[231] H. Ogata and Y. Yano, "Context-aware support for computer-supported ubiquitous learning," in Proceedings of the 2nd IEEE International Workshop on Wireless and Mobile Technologies in Education, pp. 27-34, IEEE, Jungli, Taiwan, March 2004.

[232] D.-R. Chen, M.-Y. Chen, T.-C. Huang, and W.-P. Hsu, "Developing a mobile learning system in augmented reality context," International Journal of Distributed Sensor Networks, vol. 2013, Article ID 594627, 7 pages, 2013.

[233] M. M. El-Bishouty, H. Ogata, and Y. Yano, "PERKAM: personalized knowledge awareness map for computer supported ubiquitous learning," Educational Technology & Society, vol. 10, no. 3, pp. 122-134, 2007.

[234] J. Yau and M. Joy, "A context-aware and adaptive learning schedule framework for supporting learners' daily routines," in Proceedings of the 2nd International Conference on Systems (ICONS '07), p. 31, IEEE, Martinique, France, April 2007.

[235] S. A. Petersen and J.-K. Markiewicz, "PALLAS: personalised language learning on mobile devices," in Proceedings of the 5th IEEE International Conference on Wireless, Mobile, and Ubiquitous Technology in Education (WMUTE '08), pp. 52-59, IEEE, Beijing, China, March 2008.

[236] R. Schirru, S. Baumann, M. Memmel, and A. Dengel, "Extraction of contextualized user interest profiles in social sharing platforms," Journal of Universal Computer Science, vol. 16, no. 16, pp. 2196-2213, 2010.

[237] Y.-K. Wang, "Context awareness and adaptation in mobile learning," in Proceedings of the IEEE International Workshop on Wireless and Mobile Technologies in Education (WMTE '04), pp. 154-158, March 2004.

[238] Y. Zheng and Y. Yano, "A framework of context-awareness support for peer recommendation in the e-learning context," British Journal of Educational Technology, vol. 38, no. 2, pp. 197210, 2007.

[239] P. Montuschi, F. Lamberti, V. Gatteschi, and C. Demartini, "A semantic recommender system for adaptive learning," IT Professional, vol. 17, no. 5, pp. 50-58, 2015.

[240] M. B. Younes and A. Boukerche, "A performance evaluation of a context-aware path recommendation protocol for vehicular ad-hoc networks," in Proceedings of the IEEE Global Communications Conference (GLOBECOM '13), pp. 516-521, IEEE, Atlanta, Ga, USA, December 2013.

[241] S. Inoue, K. Shozaki, and Y. Kakuda, "An automobile control method for alleviation of traffic congestions using inter-vehicle

ad hoc communication in lattice-like roads," in Proceedings of the IEEE Globecom Workshops, pp. 1-6, IEEE, Washington, DC, USA, November 2007.

[242] M. B. Younes and A. Boukerche, "A traffic balanced mechanism for path recommendations in vehicular ad-hoc networks," in Proceedings of the IEEE Global Communications Conference (GLOBECOM '13), pp. 45-50, Austin, Tex, USA, December 2013.

[243] K. Collins and G.-M. Muntean, "A vehicle route management solution enabled by wireless vehicular networks," in Proceedings oftheIEEEINFOCOM Workshops, pp. 1-6, IEEE, Phoenix, Ariz, USA, April 2008.

[244] M. B. Younes, G. R. Alonso, and A. Boukerche, "Time-distance path recommendation mechanisms for VANETs," in Proceedings of the 2nd ACM International Symposium on Design and Analysis ofIntelligent Vehicular Networks and Applications (DIVANet '12), pp. 75-79, Paphos, Cyprus, October 2012.

[245] J. W. Wedel, B. Schunemann, and I. Radusch, "V2X-based traffic congestion recognition and avoidance," in Proceedings of the 10th International Symposium on Pervasive Systems, Algorithms, and Networks (SPAN '09), pp. 637-641, IEEE, Kaohsiung, Taiwan, December 2009.

[246] F. Knorr, D. Baselt, M. Schreckenberg, and M. Mauve, "Reducing traffic jams via VANETs," IEEE Transactions on Vehicular Technology, vol. 61, no. 8, pp. 3490-3498, 2012.

[247] S. di Martino, R. Fitzpatrick, S. Ilarri, and O. Wolfson, "Happy-Parking," in Reportfrom Dagstuhl Seminar13512: Social Issues in Computational Transportation Science, vol. 3, pp. 120-121, 2014.

[248] E. Kokolaki, M. Karaliopoulos, and I. Stavrakakis, "Value of information exposed: wireless networking solutions to the parking search problem," in Proceedings of the 8th International Conference on Wireless on-Demand Network Systems and Services (WONS '11), pp. 187-194, IEEE, Bardonecchia, Italy, January 2011.

[249] E. Kokolaki, M. Karaliopoulos, and I. Stavrakakis, "Opportunistically assisted parking service discovery: now it helps, now it does not," Pervasive and Mobile Computing, vol. 8, no. 2, pp. 210227, 2012.

[250] E. Kokolaki, M. Karaliopoulos, and I. Stavrakakis, "Leveraging information in parking assistance systems," IEEE Transactions on Vehicular Technology, vol. 62, no. 9, pp. 4309-4317, 2013.

[251] G. Yan, W. Yang, D. B. Rawat, and S. Olariu, "SmartParking: a secure and intelligent parking system: observations from the IEEE IV 2010 symposium," IEEE Intelligent Transportation Systems Magazine, vol. 3, no. 1, pp. 18-30, 2011.

[252] Y. Geng and C. G. Cassandras, "New 'smart parking' system based on resource allocation and reservations," IEEE Transactions on Intelligent Transportation Systems, vol. 14, no. 3, pp. 1129-1139, 2013.

[253] T. Delot, S. Ilarri, S. Lecomte, and N. Cenerario, "Sharing with caution: managing parking spaces in vehicular networks," Mobile Information Systems, vol. 9, no. 1, pp. 69-98, 2013.

[254] V. Verroios, V. Efstathiou, and A. Delis, "Reaching available public parking spaces in urban environments using ad-hoc networking," in Proceedings of the 12th IEEE International Conference on Mobile Data Management (MDM '11), vol. 1, pp. 141-151, IEEE, Lulea, Sweden, June 2011.

[255] D. Ayala, O. Wolfson, B. Xu, B. Dasgupta, and J. Lin, "Parking slot assignment games," in Proceedings of the 19th ACM SIGSPA-TIAL International Conference on Advances in GeographicACM SIGSPATIAL (GIS '11), pp. 299-308, November 2011.

[256] D. Ayala, O. Wolfson, B. Xu, B. DasGupta, and J. Lin, "Parking in competitive settings: a gravitational approach," in Proceedings of the 13th IEEE International Conference on Mobile Data Management (MDM '12), pp. 27-32, IEEE, Bengaluru, India, July 2012.

[257] A. Klappenecker, H. Lee, and J. L. Welch, "Finding available parking spaces made easy," Ad Hoc Networks, vol. 12, no. 1, pp. 243-249, 2014.

[258] D. Zekri, B. Defude, and T. Delot, "Building, sharing and exploiting spatio-temporal aggregates in vehicular networks," Mobile Information Systems, vol. 10, no. 3, pp. 259-285, 2014.

[259] R. Anacleto, N. Luz, A. Almeida, L. Figueiredo, and P. Novais, "Shopping center tracking and recommendation systems," in Soft Computing Models in Industrial and Environmental Applications, 6th International Conference SOCO 2011, vol. 87 of Advances in Intelligent and Soft Computing, pp. 299-308, Springer, Berlin, Germany, 2011.

[260] T. Kim and S. C. Park, "One-to-one customized brand recommendation in virtual shopping mall," in Proceedings of the IEEE International Conference on Management of Innovation and Technology (ICMIT '00), vol. 2, pp. 659-663, IEEE, Singapore, 2000.

[261] S. Sae-Ueng, S. Pinyapong, A. Ogino, and T. Kato, "Consumer-friendly shopping assistance by personal behavior log analysis on ubiquitous shop space," in Proceedings of the 2nd IEEE Asia-Pacific Services Computing Conference (APSCC '07), pp. 496503, Tsukuba, Japan, December 2007.

[262] B. Lamche, Y. Rodl, and W. Wörndl, "Context-aware recommendations for mobile shopping," in Proceedings of the Workshop on Location-Aware Recommendations, Co-Located with the 9th ACM Conference on Recommender Systems (LocalRec-RecSys '15), vol. 1405, pp. 21-27, 2015, http://ceur-ws.org/.

[263] Y. Yokohata, Y. Yamato, M. Takemoto, E. Tanaka, and K. Nishiki, "Context-aware content-provision service for shopping malls based on ubiquitous service-oriented network framework and authentication and access control agent framework," in Proceedings of the 3rd IEEE Consumer Communications and Networking Conference (CCNC '06), vol. 2, pp. 1330-1331, Las Vegas, Nev, USA, January 2006.

[264] G. Hussein, "Mobile recommender system analysis & design," in Proceedings of the 1st International Conference on Networked Digital Technologies (NDT '09), pp. 14-19, Ostrava, Czech Republic, July 2009.

[265] M. Boöhmer, G. Bauer, and A. Kruöger, "Exploring the design space of context-aware recommender systems that suggest mobile applications," in Proceedings of the 2nd Workshop on Context-Aware Recommender Systems (CARS '10), pp. 1-5, Barcelona, Spain, September 2010.

[266] A. Girardello and F. Michahelles, "AppAware: which mobile applications are hot?" in Proceedings of the 12th International Conference on Human-Computer Interaction with Mobile Devices and Services (Mobile HCI '10), pp. 431-434, ACM, Lisbon, Portugal, September 2010.

[267] A. C. M. Costa, R. S. S. Guizzardi, G. Guizzardi, and G. P. Filho, "COReS: context-aware, ontology-based recommender system for service recommendation," in Proceedings of the Workshop on Ubiquitous Mobile Information and Collaboration Systems (UMICS '07) in Conjunction with the 19th International Conference on Advanced Information Systems Engineering (CAiSE '07), 2007.

[268] C. Davidsson and S. Moritz, "Utilizing implicit feedback and context to recommend mobile applications from first use," in

Proceedings of the ACM Workshop on Context-Awareness in Retrieval and Recommendation (CaRR '11), pp. 19-22, ACM, Palo Alto, Calif, USA, February2011.

[269] G. Buchanan, "The fused library: integrating digital and physical libraries with location-aware sensors," in Proceedings of the 10th Annual Joint Conference on Digital Libraries (JCDL '10), pp. 273-282, ACM, Gold Coast, Australia, June 2010.

[270] M. Jervis and M. Masoodian, "Visualization of physical library shelves to facilitate collection management and retrieval," in Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS '13), pp. 133-138, ACM, June 2013.

[271] R. J. Mooney and L. Roy, "Content-based book recommending using learning for text categorization," in Proceedings of the 5th ACM Conference on Digital Libraries (DL '00), pp. 195-204, San Antonio, Tex, USA, June 2000.

[272] J. Serrano-Guerrero, E. Herrera-Viedma, J. A. Olivas, A. Cerezo, and F. P. Romero, "A google wave-based fuzzy recommender system to disseminate information in University Digital Libraries 2.0," Information Sciences, vol. 181, no. 9, pp. 1503-1516, 2011.

[273] H. Avancini, L. Candela, and U. Straccia, "Recommenders in a personalized, collaborative digital library environment," Journal of Intelligent Information Systems, vol. 28, no. 3, pp. 253-283, 2007.

[274] S.-C. Liao, K.-F. Kao, I.-E. Liao, H.-L. Chen, and S.-O. Huang, "PORE: a personal ontology recommender system for digital libraries," Electronic Library, vol. 27, no. 3, pp. 496-508, 2009.

[275] H.-S. Park, J.-O. Yoo, and S.-B. Cho, "A context-aware music recommendation system using fuzzy Bayesian networks with utility theory," in Fuzzy Systems and Knowledge Discovery, L. Wang, L. Jiao, G. Shi, X. Li, and J. Liu, Eds., vol. 4223 of Lecture Notes in Computer Science, pp. 970-979, Springer, Berlin, Germany, 2006.

[276] J. Lee and J. C. Lee, "Context awareness by case-based reasoning in a music recommendation system," in Ubiquitous Computing Systems, H. Ichikawa, W.-D. Cho, I. Satoh, and H. Youn, Eds., vol. 4836 of Lecture Notes in Computer Science, pp. 45-58, Springer, 2007.

[277] W. Woerndl, M. Brocco, and E. Robert, "Context-aware recommender systems in mobile scenarios," International Journal of Information Technology and Web Engineering, vol. 4, no. 1, pp. 67-85, 2009.

[278] W. Woernd and R. Eigner, "Collaborative, context-aware applications for inter-networked cars," in Proceedings of the 16th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE '07), pp. 180-185, IEEE, Evry, France, June 2007.

[279] H. Zhu, E. Chen, H. Xiong, K. Yu, H. Cao, and J. Tian, "Mining mobile user preferences for personalized context-aware recommendation," ACM Transactions on Intelligent Systems and Technology, vol. 5, no. 4, article 58, 2015.

[280] D. Gallego, W. Woerndl, and G. Huecas, "Evaluating the impact of proactivity in the user experience of a context-aware restaurant recommender for Android smartphones," Journal of Systems Architecture, vol. 59, no. 9, pp. 748-758, 2013.

[281] A. Domingo, B. Bellalta, M. Palacin, M. Oliver, and E. Almirall, "Public open sensor data: revolutionizing smart cities," IEEE Technology and Society Magazine, vol. 32, no. 4, pp. 50-56,2013.

[282] M. Oliver, M. Palacin, A. Domingo, and V. Valls, "Sensor information fueling open data," in Proceedings of the 36th

Annual IEEE International Computer Software and Applications Conference Workshops (COMPSACW '12), pp. 116-121, Izmir, Turkey, July 2012.

[283] A. Sheth, C. Henson, and S. S. Sahoo, "Semantic sensor web," IEEE Internet Computing, vol. 12, no. 4, pp. 78-83, 2008.

[284] M. Compton, P. Barnaghi, L. Bermudez et al., "The SSN ontology of the W3C semantic sensor network incubator group," Web Semantics: Science, Services and Agents on the World Wide Web, vol. 17, pp. 25-32, 2012.

[285] Open Geospatial Consortium, "OpenGIS Sensor Model Language (SensorML) implementation specification," 2007, http:// portal.opengeospatial.org/ files/?artifact_id=21273.

[286] W. Wei and P. Barnaghi, "Semantic annotation and reasoning for sensor data," in Smart Sensing and Context, vol. 5741 of Lecture Notes in Computer Science, pp. 66-76, Springer, Berlin, Germany, 2009.

[287] A. Beach, M. Gartrell, X. Xing et al., "Fusing mobile, sensor, and social data to fully enable context-aware computing," in Proceedings of the 11th Workshop on Mobile Computing Systems and Applications (HotMobile '10), pp. 60-65, Annapolis, Md, USA, February 2010.

[288] W. Sherchan, P. P. Jayaraman, S. Krishnaswamy, A. Zaslavsky, S. Loke, and A. Sinha, "Using on-the-move mining for mobile crowdsensing," in Proceedings of the 13th IEEE International Conference on Mobile Data Management (MDM '12), pp. 115124, IEEE, Bengaluru, India, July 2012.

[289] A. Machanavajjhala, A. Korolova, and A. D. Sarma, "Personalized social recommendations: accurate or private," Proceedings of the VLDB Endowment, vol. 4, no. 7, pp. 440-450, 2011.

[290] H. Chan and A. Perrig, "Security and privacy in sensor networks," Computer, vol. 36, no. 10, pp. 103-105, 2003.

[291] H. Wang, L. Yip, K. Yao, and D. Estrin, "Lower bounds of localization uncertainty in sensor networks," in Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP '04), vol. 3, pp. 917-920, IEEE, May 2004.

[292] P. Massa and P. Avesani, "Trust-aware recommender systems," in Proceedings of the 1st ACM Conference on Recommender Systems (RecSys '07), pp. 17-24, October 2007.

[293] R. Yus, P. Pappachan, P. K. Das, T. Finin, A. Joshi, and E. Mena, "Semantics for privacy and shared context," in Proceedings of the 2nd Workshop on Society, Privacy and the Semantic Web— Policy and Technology (PrivOn '14), vol. 1316 of CEUR Workshop Proceedings, CEUR-WS.org, Riva del Garda, Italy, October 2014.