Extracting Geospatial Preferences Using Relational Neighbors

Extracting Geospatial Preferences Using Relational Neighbors


With the increasing popularity of location-based social media applications and devices that automatically tag generated content with locations, large repositories of collaborative geo-referenced data are appearing on-line. Efficiently extracting user preferences from these data to determine what information to recommend is challenging because of the sheer volume of data as well as the frequency of updates. Traditional recommender systems focus on the interplay between users and items, but ignore contextual parameters such as location. In this paper we take a geospatial approach to determine locational preferences and similarities between users. We propose to capture the geographic context of user preferences for items using a relational graph, through which we are able to derive many new and state-of-the-art recommendation algorithms, including combinations of them, requiring changes only in the definition of the edge weights. Furthermore, we discuss several solutions for cold-start scenarios. Finally, we conduct experiments using two real-world datasets and provide empirical evidence that many of the proposed algorithms outperform existing location-aware recommender algorithms.


With the affordable prices of GPS-enabled mobile devices and the success of social networks, location-based social media has become increasingly popular in recent years. Users can upload content, e.g., photos, videos, and text, and annotate that content with geographical identification metadata, typically known as geotags. Geotags act as geographic indexes helping users to organize and retrieve location-specific information. Foursquare1, as an example, is a location-based service where users endorse and share tips about visited points of interest (POI). It reached 725 thousand registered users and 22 million check-ins (i.e. endorsed POIs) in 20102.

Recommender systems (RS) are among the best known techniques for helping users filter out and discover relevant information in large data sets. In the typical scenario, RS algorithms exploit user-item matrices representing user preferences for items, e.g., the rating history of purchased books in Amazon, with the aim of recommending the items most likely to be relevant to the user. While most of the RS work to date has ignored the locations where users demonstrated interest for an item, there are many scenarios in which the geographic context of an item has a direct influence on the preferences of the user for that item. Mao et al. [21], for example, showed that Foursquare users prefer POIs that are nearby the POIs they already visited in the past, while [13] showed that Panoramio users who took pictures in nearby locations in the past, tend to share similar preferences of geographic regions in the future. Efficient extraction and representation of location-specific user preferences are thus essential to decide on what item to recommend.

Location-aware recommender systems suggest relevant geotagged items for a given user within a declared geographic area. Relevance here can assume different notions, depending on the geographic constraints imposed by the user. For example, a user may be interested in objects nearby his previous, current, or future location within a given radius. For example, a first time user visiting the Stanford University campus in Palo Alto, US, might be interested to know what is worth visiting inside the campus, while a second time visitor may want to know what else is worth visiting. Each of these scenarios can lead to various definitions of user preference, hence it is important to know which definition works best for each scenario. The literature concerning location-aware recommender system is still sparse, where the methods are ad-hoc and can not be easily changed to meet the different recommendation scenarios outlined above (e.g. [13]).

In this paper we propose a relational graph for capturing the geographic context of users that suits all the aforementioned recommendation scenarios. We introduce several strategies to represent location-specific user preferences in the graph and show how to derive many recommendation algorithms, including ensembles of them, by only changing the definition of the edge weights. Our contributions are as follows:

  1. We propose a new model for geotagged data that is able to capture both the geographic context of users and their preferences for objects within the declared geographic context.

  2. We introduce new similarity measures that take into account the spatial decisions of users.

  3. We propose a recommendation algorithm based on a relational neighbor graph, that derive many recommendation algorithms and ensembles of them, as special cases, by only requiring changes in the definition of the edge weights.

  4. Finally, we conduct experiments using two datasets in various recommendation scenarios, including cold-start ones, and provide empirical evidence that many of the proposed algorithms outperform existing location-aware recommender algorithms.

The rest of the paper is organized as follows. Section 2 introduces the problem setting. Section 3 presents our relational graph representation of the data, weighting schemes for capturing user geographic preferences, and a recommendation algorithm based on relational neighbors. Section 4 presents the experimental setting and evaluation. Section 5 describes related work, and Section 6 concludes the paper and discusses future work.

2Problem Setting

The recommendation scenario is as follows. A user specifies the geographic region of interest, e.g., a city or a region in that city, and the recommender engine suggests items within the declared geographic region that are likely to be relevant to the user.

So, let be the set of users, the set of regions denoting geographic contexts, and the set of geotagged items. Notice that what is meant by a region is application dependent since regions can assume different geographic shapes, such as point coordinates, circles, lines, and polygons. In this paper we only consider implicit feedback data3, i.e., the set of ternary relations between users, geographic contexts, and geotagged items. The task is then to find a prediction scoring function

that predicts a preference score for items within certain geographic regions, given a target user. Now, for a given user , and a given geographic context , the topN recommendations can be computed by

where denotes the topN items to be recommended and the set of items within the geographic context . For convenience, we also define as the set of items of user in a given geographic context .

3A Relational Approach

Relational classification refers to an active area of machine learning where classifiers usually consider, additionally to the typical attribute-value data of objects, relational information. A scientific paper, for example, can be connected to another paper that has been written by the same author or because they share common citations. It has been shown that in many classification problems, relational classifiers outperform purely attribute-based classifiers [5]. In particular, Macskassy and Provost [11] showed that simple relational neighbor-based techniques, besides requiring low computational costs, perform competitively to, and in some cases even outperforms, more complex relational methods such as Probabilistic Relational Models and Relational Probability Trees. The basic idea is that the classification of a target instance solely depends on the class labels of related instances of the same type. Since geotagging data is inherently relational, we propose to capture the geographic context of users and items by a relational graph, which, as a side effect, gives us many tools from relational classification that can be directly applied to the location-aware recommendation problem.

In order to easily use neighborhood-based classification methods, similarly to [11], we adopt a homogenous view of the relations in the data. In a homogeneous view we have only one entity type, such that, there is a set of target entities and relations between them. However, as we saw in Section 2, geotagging data forms a set of ternary relations between three different types of entities. Therefore, we first need to convert these ternary relations into the desired homogeneous relations. We do this as follows 4.

3.1Graph Definition

First let denote the set of all distinct user/geographic context combinations in . We now propose to interpret as a graph , where is the set of vertices and the set of edges. We assume that there is an edge between two vertices if they share the same geographic context, i.e.,

For convenience, let and denote the geographic context and the user of node respectively. In other words, we assume that users who share the same geographic region are related to some extent.

Now suppose that John is a first time visitor in Rio de Janeiro, Brazil, and wants to know from other people who already have been in Rio which places are worth visiting there. To continue our example, we denote the pair John/Rio by a colored node in the graph of Figure 1, i.e., the target node for which we want to compute recommendations. John is denoted as and Rio as respectively, and the other nodes connected to it contain the users who already have been in Rio. For computing recommendations, we just need to go through the items of the neighbors and define some selection criterion on which items to recommend.

This idea assumes that entities related to each other, in this case users sharing the same geographic context, are similar and tend to select the same items. Notice that the strength of the similarity depends on the size of the geographic region being considered. If the declared geographic context is a small region, say the Copacabana beach in Rio de Janeiro, then it is more likely that users within this area will be more strongly related to each other than users sharing larger geographic contexts, such as the whole country of Brazil. We can alleviate these effects by defining appropriate weights to each relation, as we will see next.

Figure 1: Example of relational graph for capturing geographic context.
Figure 1: Example of relational graph for capturing geographic context.

3.2Weighting Schemes

In this section we present several weighting strategies for the edges of the relational graph. And as we will see in the next section, each weighting scheme leads to a specific recommendation algorithm, without, however, the need to change the overall algorithm.

Uniform Weighting Here the same weight value is assigned to each edge ( in our case), denoting that each neighbor is of the same importance to the target user. Therefore, the weight for any edge , is defined as . The computational cost for assigning uniform weights to the relations of a target node is in the order of , i.e., a linear scan in the neighbors of , here denoted by .

Correlation Weighting For two nodes , we can represent and as profile vectors, where each component of the vector is a geotagged item and the values denote the preference of a user for an item, i.e.,

We can either construct this vector solely based on the items of the geographic context of interest, or we could consider the items of all geographic contexts. The assumption is that users who have selected the same items within the same geographic contexts are more similar than users who did not. If a user declared interest for some geographic context for which he has not yet selected any item, it will not be possible to compute any correlation similarity with other users, unless we build the profile vectors considering the items of other geographic contexts.

The edge weight between two nodes is finally computed by applying a correlation metric between the desired nodes’ profile vectors, which in our case, is the cosine similarity:

The computational cost for assigning cosine similarities to the relations of a target node is in the order of since we need to compute similarities, each requiring operations.

Geographic Similarity We can use the geographic distances between users’ items to define the strength of their relation. The assumption is that users who select items nearby the items of other users should be closely related. Therefore, for defining the weight between two nodes through geographic similarity, we first calculate the geographic centroids of the set of items of users and . For computing the geographic centroid of a given user , we sum up the coordinates of each geotagged item of user within the declared geographic context , i.e., the items in the set , and divide the resulting sum by the number of items in the set

where returns the latitude/longitude coordinate used to geotag item . Now, the geographic distance between and centroids is given by any of the many existing functions for calculating geodetic distances between latitude/longitude coordinates, e.g. the Haversine formula. Here we denote such a function by where and are two coordinates. Finally, we only need to turn the distance into a similarity and bound it to the range , which is done as follows

where is the maximal possible distance between any points in the region of interest and is the geographic centroid of the set of items of user . In other words, when the distance between the items of two users is small, their similarity tend to , and is when the distance equals . Figure 2 illustrates this idea. Noticed that for this to work, we are assuming that users tend to form geographic clusters among the selected items. This was empirically observed in [21] by showing that Foursquare users tend to check-in to POIs that are nearby the POIs they have already visited.

The computational cost of this weighting scheme is in the same order as the correlation weighting above.

Figure 2: Example of geographic similarity. The items of users u_1, u_2, u_3 are represented by triangles, circles and rectangles respectively. Centroids are represented by X and distances by dashed lines. Thus, u_3 would be regarded as more similar to u_1 than u_2.
Figure 2: Example of geographic similarity. The items of users , , are represented by triangles, circles and rectangles respectively. Centroids are represented by “X” and distances by dashed lines. Thus, would be regarded as more similar to than .

Partonomy-Based Similarity The different granularities between geographic contexts can be represented by a hierarchical partonomy, i.e., a graph where vertices are represented by geographic contexts and each edge represents a part-of relation between two geographic regions [13]. For example, a POI is a part of a city, a city is a part of a state, a state is a part of a country, etc. Matyas et al. [13] proposed several similarity measures for capturing user similarities with respect to specific levels of a weighted geographic partonomy. The idea is that if two users are not found to be similar in a lower level of the hierarchy, they may, eventually, be found to be similar in a higher level. For example, even if two users did not visit the same places in some city, they still can be considered to be similar since they have visited the same city. We can use these measures, together with a partonomy, to weigh the relations in our relational graph. Here we just present the best performing measure reported in [13].

The similarity of two users with respect to node is calculated as follows

where and denote the sets of children nodes of in which user and selected items respectively. The similarity is weighted by the function information, which can be seen as the inverse of the popularity of a node. The assumption is that users sharing less popular nodes are more similar than users sharing more popular ones [13].

Now, for computing the similarity of two users with respect to a certain partonomy layer , the following formula is used

where is the set of nodes in the -th layer of the partonomy. This measure was named two-layer similarity in [13] because when computing the similarity of two users in a certain layer, the measure uses the layer immediately below.

Returning the discussion to the weighting of the edges in our relational graph, we can now define the weight of a certain edge in terms of the two-layer similarity, i.e.,

This similarity can be quite expensive to compute, given all the necessary steps described above for weighting the partonomy. Even assuming that the weighted partonomy is given, the complexity for computing the weight between and all its neighbors is still higher than for the other similarities. The computational cost is in the order of

where is the set of children nodes of the -th layer, since for each neighbor, we need to go through all the locations in the -th layer of the partonomy, for each location go through all its children, and finally for each child we need to perform operations.

3.3Recommendation Algorithm

Now, we have all the components for deriving a location-aware recommendation procedure. Algorithm ? describes the overall recommendation process. It receives as input a weighted graph , a user/geographic context pair denoted by , for which we want to generate recommendations, and the number of recommendations to be returned. The algorithm iterates through the neighbors of (line 3), denoted by , and for each neighbor, it iterates through the items within the geographic context of interest (line 4) and accumulates weights in the array scores, that is indexed by items. Finally, it sorts the scores in descending order of weights and presents the top- geotagged items that the target user has not already selected.

Note that if we define all weights to 1, we end up recommending the most popular items within the geographic context of interest. Or if we decide to weigh edges according to the similarities presented in Section 3.2, we end up with many flavors of collaborative filtering-based algorithms.

Assuming that the weighted relational graph is given, the complexity of this algorithm only depends on the computation of a weighted sum of geotagged items, which means passes in the set of items . Hence, the complexity is given by .


In this section we describe our two datasets, geotagged photos from Panoramio, and print jobs from the HP ePrint Mobile Print Location service; the evaluation protocol adopted; and the results for each dataset. We considered three different recommendation scenarios.

In the first scenario, we hide all the geotagged items of each test user in a geographic context, and use the remaining data for trying to predict the removed items. This corresponds to a cold-start scenario where a user has not selected any item in the geographic context of interest. We will refer to this scenario as leave-all-out.

In the second scenario, we remove some geotagged items for each test user, 4 photos in Panoramio and 1 printer provider in ePrint, and use the remaining data for predicting the removed items. This scenario represents those users who already selected some items in a given location but want to know what other items are worth selecting in this location. We will refer to this scenario as leave-some-out

In the third scenario, we have a mix of both scenarios, i.e., some fraction of the users are first time users and the other fraction already have selected some items in the location of interest. This corresponds to a more realistic scenario, and to the best of our knowledge, this is the first time location-aware algorithms are evaluated in this kind of scenario. We will refer to this scenario as leave-some/all-out

4.1Panoramio Experiments

Panoramio is a photo-sharing website from Google where users can upload, geotag, and retrieve photos of landmarks. Each photo in Panoramio is georeferenced using latitude and longitude information. Similarly to [13], we assume that if a user takes a picture in a specific location, then he has some interest in that location. As geographic context of interest we have chosen the city of Rio de Janeiro, which is one of the top touristic places in Brazil, so, it has a large set of photos.

Data Collection and Preparation In order to retrieve the set of photos taken in Rio, we did a spatial search for photos inside the bounding box of Rio using the data access API of Panoramio. We then iterated through each photo in the result set, and retrieved the users who took these photos. For each of these users, we then retrieved the other locations where they took photos, as well as the users and photos in those locations. Then we removed the cities with too little activity from users who also visited Rio. Approximately the top three cities in all the crawled states were kept in the evaluation set. We used the gazetteer of HP Gloe5 to obtain the place names.

In order to use the two-layer-similarity weighting scheme presented in Section 3.2, we built a geographic partonomy, and similarly to [13], we worked with three countries (Brazil, Chile, and USA) as high level nodes, states and cities as intermediary nodes, and geographic clusters as leaf nodes. Our data set contains 35,920 photos (4,906 from Rio) and 7,048 users in total.

In Panoramio the geographic items are represented by latitude and longitude coordinates, hence, it is very difficult for two users to take a picture in the exact same location. Therefore, we adopted the same approach as in [13], where the authors used geographic clusters to represent geographic items. So, instead of recommending individual point coordinates, we recommend regions where users may be interested in taking photos. For computing the clusters, we used the DBSCAN [7] algorithm with the following parameters: Km and . The parameter was set to 1 Km, as we assume that a radius of 1 Km from a given photo is sufficient to establish a geographic similarity between photos, e.g., photos taken at the University of Stanford campus. We tested to set meters without any significant differences in performance, so we do not show those results here. Also, the minimum number of points to form a cluster was set to 3, in order to establish popularity of a given POI. We computed 1,187 clusters, 221 of which are in Rio.

Evaluation Protocol For testing the algorithms, we considered the dense part of the data, i.e., only the users who have taken at least 5 photos in Rio (see Table 1). For the leave-some-out and leave-some/all-out scenarios, we generated 5 random splits of training/test sets and took the average precision and recall on top- recommendation lists over all splits. We have a hit every time a hidden photo is found to belong to some of the recommended geographic clusters. Whenever CF is not able to fill the recommendation list up to 10, we fill up the list with the most popular items that are not already in the recommendation list.

Table 1: Panoramio data for Rio de Janeiro
Training 1,062 4,906
Test 186 3,590

Algorithms We have used several weighting schemes for our relational graph, which resulted in the following recommendation algorithms:

  • Most popular (MP):

    Recommends the most popular geographic clusters in Rio. For doing that, we just apply Uniform Weighting (see Section 3.2) to the graph in Algorithm ?.

  • Intra-Cluster (IC):

    Uses the geographic similarity defined in Section 3.2 for defining intra-cluster similarities between users. The idea is as follows. The weight of any edge is now calculated by summing up for all clusters where and have photos, and dividing the resulting sum by the total number of clusters. After that, we again just need to plug the weighted graph into Algorithm ? for computing recommendations.

  • Collaborative Filtering (CF):

    This is the geographic version of the classic user-based collaborative filtering algorithm. We use the correlation weighting scheme defined in Section 3.2 where profile vectors’ components are the geographic clusters where users took pictures, within and out of the context of interest.

  • Two-Layer (TL):

    This is the algorithm originally introduced in [13]. We weigh the relational graph with the two-layer similarity and plug it into the recommendation algorithm.

  • Correlation + Two-Layer (CF-TL)

    : We found empirically that TL works best for cold-start scenarios, while CF outperforms the other algorithms for non cold-start scenarios (see Figures Figure 3 and Figure 4). This gave us the insight to propose a weighting combination strategy where we weigh each relation differently according to the case presented. If the target user is a cold-start user, we weigh his relations with the two-layer similarity, if not, we use the correlation weighting. The flexibility for combining different weighting schemes in such an easy way is one of the main advantages of our approach.

Results Figure 3 depicts the results for the leave-some-out scenario. Notice that when there is enough data available, CF outperforms all the other methods. The Intra-Cluster recommender, although worse than CF and TL, is better than MP in all cases. This indicates that the geographic similarity indeed is able to capture some preferences of the user, under the assumption that users tend to like the items of other users that are nearby the items they have selected in the past.

Figure 4 shows the results for the leave-all-out. Notice that TL is the winner in this scenario. This is in line with the results of [13], where they showed that geographic partonomies can help to improve the recommendations in cold-start scenarios. Notice that since we remove all the photos of all test users in the context of interest, we just have one possible split of training/test, and thus cannot compute standard deviations and plot error bars.

Figure 3: Evaluation on leave-some-out scenario.
Figure 3: Evaluation on leave-some-out scenario.
Figure 4: Evaluation on leave-all-out scenario.
Figure 4: Evaluation on leave-all-out scenario.

In Figure 5 we show the results of the leave-some/all-out scenario when 50% of the test users are cold-start users. In this case, the combination method CF-TL is slightly better, both in precision and recall, than the other methods. But when 70% of ther users are cold-start users (see Figure 6) the superiority of CF-TL becomes more evident. We also evaluated this scenario when 30% of the users are cold-start users, but since there was no significant differences in performance in comparison to 50% of cold-start users, we do not show those results here.

Figure 5: Evaluation on the leave-some/all-out scenario when half of the users are cold-start users.
Figure 5: Evaluation on the leave-some/all-out scenario when half of the users are cold-start users.
Figure 6: Evaluation on the leave-some/all-out scenario when 70% of the users are cold-start users.
Figure 6: Evaluation on the leave-some/all-out scenario when 70% of the users are cold-start users.

4.2HP ePrint Experiments

The HP ePrint Mobile Print Location (MPL) 6 service allows smartphone users to print documents, photos, web pages and emails directly to public print providers, such as business centers at hotels and airports, and dedicated copy and print service stores. Users can query for providers near their current location and then submit a print job upon which a pickup code is generated. This code can then be used in the store to obtain the printout.

Data Preparation Our dataset contains a 5-month trace of all print jobs sent through the service. To protect business sensitive information the users as well as providers were anonymized. Furthermore, the volume was obfuscated using a bootstrap inspired sampling algorithm that takes uniform random samples with replacement of print jobs from the original dataset and replays them with the original timestamp randomly modified up to one week from the original job submission. We sampled 100k print jobs in this way, and then extracted all the entries that occurred in Manhattan (about 2,580). Each entry comprises the user id of the user submitting the print job, the provider id of the provider receiving the print job, the timestamp of the print job and the latitude and longitude of the print provider location.

Evaluation Protocol Here the geographic items are print providers and in contrast to Panoramio, the POIs are well defined, and therefore we do not need to compute geographic clusters. We chose Manhattan as the geographic context of interest because of its large volume of printing activity.

Here we used the leave-one-out protocol, i.e., for each user we randomly removed one of the items and used the rest for computing recommendations. We considered all the users who have used at least one print provider, i.e., all users in Manhattan, for our test set. due to the nature of the data set, we only evaluate the leave-some/all-out scenario, where some users are cold-start users and others not. Furthermore, we ignore users for which the recommendation list is empty. Since we only hide one photo, we do not compute precision, because this would be the same as recall up to a multiplicative constant. Thus, we only compute the average recall over ten random splits of training/test. Again, due to the nature of this dataset we only evaluated the MP and CF algorithms for top- recommendations. Whenever CF is not able to fill the recommendation list up to 10, we fill up the list with the most popular items that are not already in the recommended list.

Results Figure 7 shows the results for MP and CF in ePrint. The error bars represent one standard deviation. We can see that the most popular item algorithm outperforms the collaborative filtering algorithm consistently, in particular for long recommendation lists. Given the relative short period this service has been on the market it is dangerous to draw too many conclusions from this behavior, but there are two lessons to be learned from this result. First, we could easily adapt our algorithm to generate useful recommendations for a use case vastly different than the Panoramio application, by just simply applying a different weighting scheme. Second, a very simple popularity-based recommendation engine can do very well, and deploying sophisticated collaborative filtering techniques may not always be the best choice.

Figure 7: MP vs. CF in HP ePrint.
Figure 7: MP vs. CF in HP ePrint.

5Related Work

Related work falls into three broad categories: relational classification and similarity measures, location-aware methods, and methods focusing on improving the computational scalability of the model building and execution phases.

Relational Classification and Similarity Measures Relational classification has been applied to areas where entities are linked in an explicit manner, like hypertext documents, such that the class of a target instance only depends on the class of its related instances [16]. In [12] we presented a relational neighbor classification approach in the ECML/PKDD Discovery Challenge 2009, which was about tag recommendations. Similarly to that work, in this paper we formulate the recommendation problem in a relational neighbor framework where geographic contexts link entities represented by user/location pairs.

In [13] a new similarity measure for computing location recommendations based on a non-overlapping hierarchical taxonomy of locations is presented. The key idea is that co-activity in locations can be better captured if you zoom out to larger and larger locations. Similar to our work they use a panoramio data set to evaluate their algorithm. However, their model assumes a cold-start user is making the query, i.e. a user who has no trace in the geographic context of the query. The reliance on a place taxonomy is also more restricting than our general model.

Jeh and Widom define SimRank in [9]. The SimRank similarity measure is as the name suggests highly influenced by the more famous PageRank [1] algorithm. The general idea is that “two objects are similar if they are referenced by similar objects” [9]. This definition recursively propagates similarity through a relational graph to leverage structural context in addition to the more traditional use of object content and attribute information. In our work akin to the model used in [13], we also have a recursive, relation-based definition of similarity but in the form of hierarchical geographic contexts. For faster computation we simplify the similarity model to not be recursive between leaf-nodes within the same geographic context in our graph. Our evaluations show that this can be done without any loss of accuracy if the user who requested the recommendation already has an activity trace within the geographic context for which the recommendation is sought. Minkov and Cohen [14] also explore relational properties among objects to compute similarity scores. They focus on the problem of effectively searching in graphs comprised of interrelated objects of various types. They propose effective random-walk based procedures to evaluate the Personal PageRank measure [1], a measure that takes into account the scope of the query in addition to the well-known random surfer assumption of the original PageRank algorithm.

Location-aware Methods In [21] a standard user-based collaborative filtering approach is extended with a novel mechanism of geographic influence based on a statistical model of how likely a user is to check-in to two places based on their distance. The geographic model is a distributional assumption (power law) fitted to real data sets from two popular check-in services.

A number of studies have looked at timestamped GPS traces to predict future locations within very restricted geographic regions [4]. Markov models and tensor factorization models are fit to the data and non-personalized predictions of the most likely next location or the most likely activity given a location and time are produced. There is a lot of novel work on automatically detecting geographic context in these papers but the general approach cannot be replicated easily in our scenario since we do not have the same luxury of rich traces as we mainly focus on implicit feedback as input. Relying on GPS traces is furthermore a privacy concern and has scalability and power consumption implications. We produce more personalized recommendations given user-user similarities as opposed to just looking at the most popular or most frequent behavior. Furthermore large Markov models and tensor factorization algorithms tend to be very costly to compute, which would therefore need to be done in an off-line setting whereas we also target real-time recommendations.

Bayesian networks have also been studied to model and learn patterns in location, time and weather contexts for individual users in [15]. However, compared to our model these models tend to be complex and require expert human knowledge to construct, and furthermore they are not tractable. [2] applies a center of mass model to detect and recommend locations and POIs. This work was before the check-in systems era so now we could just more easily query the check-in services for this information. In [8] user-user based CF with location pre-filtering is employed in an explicit voting scenario. The cold start problem is solved by generating random recommendations using pseudo users. We address the problem by incorporating out-of geo context similarities for in-context recommendations which is less ad-hoc.

In our previous work in [19] we studied popularity inferred recommendations based on location, friends and tag prefiltering using both explicit and implicit feedback. In this work we extend that model to provide personalized recommendations similar to the work in [18] but with a new model that incorporates location, and distance metrics directly in the evaluation graph as opposed to relying on ad-hoc and costly pre and post filtering.

The GeoFolk system [20] was designed to take both geographic context and text features into account for various information retrieval tasks such as tag recommendation, content classification and clustering. Experiments show that combining both textual and geographic relevance leads to more accurate results than using the two factors in isolation. Although our methods and use case targets are quite different from this work, the empirical evidence of the influence geographic context has on information retrieval is promising and serves as motivation for our work.

Computational Scalability Popular and accurate recommender system methods such as those based on matrix factorization can incure very high model building as well as execution overhead, in particular as more contextual factors beyond users and items are taken into account. As a result there have been many attempts at improving the computational scalability of pre-existing methods.

In [18] the general issue of complex and high-latency model building and execution for location-based recommendations is addressed. To achieve real-time performance [18] and [6] pre-filter based on location and [22] pre-filters based on friends to reduce the complexity of the models. As opposed to pre- or post-filtering context we make contextual paramaters an inherent part of our graph model to allow interesting combinations of various types of context in an efficient way.

In [17] a fast context-aware recommendation algorithm is proposed that maintains the features of state-of-the-art multi-tensor matrix factorization while bringing down the complexity of the previously known algorithms from exponential to linear growth in problem size. The main idea is to solve the least-squares optimization problem for each model parameter separately. Our method in contrast achieves scalability by not utilizing any complex matrix factorization.

6Conclusions and Future Work

In this paper we introduced a relational graph for capturing the geographic preferences of users with the purpose of generating personalized recommendations in services with geotagged content. We also presented several weighting schemes for representing different types of user preferences in the proposed graph. Furthermore, we propose a recommendation algorithm template that is sufficiently generic to derive many traditional and new location-aware recommendation algorithms, including combinations of them, by only requiring changes in the definition of the edge weights. Assuming the graph is given, the algorithm requires modest computational effort since it runs linearly in the number of neighbors. We have tested the proposed algorithms with two real-world datasets, geotagged photos from Panoramio and print jobs from the HP ePrint Mobile Print Location service, and showed how our model easily suits many different recommendation scenarios.

We also gained insights about which notion of similarity works best for a set of scenarios. In cold-start scenarios a geographic partonomy seems to be a good alternative, whereas when there is enough data available the plain location-aware collaborative filtering algorithm yields the best result. In response to this finding, we proposed to combine a partonomy-based similarity measure with the cosine similarity by weighting individual relations in the graph according to the type of the user, i.e., cold-start versus non cold-start. By doing this, we achieved better recall and precision in particular in scenarios where there are many cold-start users.

As future work, we plan to incorporate temporal aspects in the model, such that the items to be recommended match the temporal context of the user. For example, it may not make as much sense to recommend ski resorts in New York during the summer as it would to make the same recommendation during the peak winter season. Another natural extension of our work would be to assign the weights in our graph based on the strength of the social ties between the users, e.g. based on their declared or implied social networks. Finally, we plan to investigate machine learning approaches for learning optimal weights based on the location-aware recommendation task at hand.

Acknowledgements This work was supported by a cooperation with Hewlett-Packard Brasil Ltda. using incentives of Brazilian Informatics Law (Law No. 8.2.48 of 1991). We would also like to thank Christina Aperjis, Sitaram Asur and Mao Ye for insightful comments on our work.


  1. http://foursquare.com/
  2. http://mashable.com/2010/03/29/foursquare-growth-numbers/
  3. Although our framework can trivially support explicit feedback as well.
  4. relational classification is possible with heterogenous node types as well as has been demostrated in [9] and [14] but the added complexity defeats our goal of fast model building and evaluation.
  5. http://www.hpgloe.com/
  6. http://www.hp.com/go/eprintmobile


  1. The anatomy of a large-scale hypertextual web search engine.
    S. Brin and L. Page. In Proceedings of the seventh international conference on World Wide Web 7, WWW7, pages 107–117, Amsterdam, The Netherlands, The Netherlands, 1998. Elsevier Science Publishers B. V.
  2. Pilgrim: A location broker and mobility-aware recommendation system.
    M. Brunato and R. Battiti. In PERCOM ’03: Proc. of the First IEEE International Conference on Pervasive Computing and Communications, pages 265–. IEEE Computer Society, 2003.
  3. Predicting future locations using prediction-by-partial-match.
    I. Burbey and T. L. Martin. In MELT ’08: Proc. of the first ACM international workshop on Mobile entity localization and tracking in GPS-less environments, pages 1–6. ACM, 2008.
  4. Mining significant semantic locations from gps data.
    X. Cao, G. Cong, and C. S. Jensen. Proc. VLDB Endow., 3:1009–1020, September 2010.
  5. Enhanced hypertext categorization using hyperlinks.
    S. Chakrabarti, B. Dom, and P. Indyk. SIGMOD Rec., 27(2):307–318, 1998.
  6. differs: A mobile recommender service.
    L. Del Prete and L. Capra. In MDM ’10: Proc. of the 2010 Eleventh International Conference on Mobile Data Management, pages 21–26. IEEE Computer Society, 2010.
  7. A density-based algorithm for discovering clusters in large spatial databases with noise.
    M. Ester, H. peter Kriegel, J. S, and X. Xu. pages 226–231. AAAI Press, 1996.
  8. Using location for personalized poi recommendations in mobile environments.
    T. Horozov, N. Narasimhan, and V. Vasudevan. In Proc. of the International Symposium on Applications on Internet, pages 124–129. IEEE Computer Society, 2006.
  9. Simrank: a measure of structural-context similarity.
    G. Jeh and J. Widom. In Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, KDD ’02, pages 538–543, New York, NY, USA, 2002. ACM.
  10. Link-based classification using labeled and unlabeled data.
    Q. Lu and L. Getoor. In Proceedings of the ICML Workshop on The Continuum from Labeled to Unlabeled Data in Machine Learning and Data Mining, 2003.
  11. A simple relational classifier.
    S. A. Macskassy and F. Provost. In MRDM ’03: Proceedings of the Second Workshop on Multi-Relational Data Mining at KDD-2003, pages 64–76, 2003.
  12. Relational classification for personalized tag recommendations.
    L. B. Marinho, C. Preisach, and L. Schmidt-Thieme. In Proc. of the ECML/PKDD Discovery Challenge, volume 497 of CEUR-WS.org, 2009.
  13. A spatial user similarity measure for geographic recommender systems.
    C. Matyas and C. Schlieder. In K. Janowicz, M. Raubal, and S. Levashkin, editors, GeoSpatial Semantics, volume 5892 of Lecture Notes in Computer Science, pages 122–139. Springer Berlin / Heidelberg, 2009.
  14. Improving graph-walk-based similarity with reranking: Case studies for personal information management.
    E. Minkov and W. W. Cohen. ACM Trans. Inf. Syst., 29:4:1–4:52, December 2010.
  15. Location-Based Recommendation System Using Bayesian User’s Preference Model in Mobile Devices.
    M.-H. Park, J.-H. Hong, and S.-B. Cho. pages 1130–1139. 2007.
  16. Relational ensemble classification.
    C. Preisach and L. Schmidt-Thieme. In ICDM ’06: Proc. of the 6th International Conference on Data Mining, pages 499–509. IEEE Computer Society, 2006.
  17. Fast context-aware recommendations with factorization machines.
    S. Rendle, Z. Gantner, C. Freudenthaler, and L. Schmidt-Thieme. In Proceedings of the 34th international ACM SIGIR conference on Research and development in Information, SIGIR ’11, pages 635–644, New York, NY, USA, 2011. ACM.
  18. Real-time location-aware collaborative filtering of web content.
    T. Sandholm and H. Ung. In CaRR ’11: Proc. of the 2011 Workshop on Context-awareness in Retrieval and Recommendation, pages 14–18. ACM, 2011.
  19. Global budgets for local recommendations.
    T. Sandholm, H. Ung, C. Aperjis, and B. A. Huberman. In RecSys ’10: Proc. of the fourth ACM conference on Recommender systems, pages 13–20. ACM, 2010.
  20. Geofolk: latent spatial semantics in web 2.0 social media.
    S. Sizov. In Proceedings of the third ACM international conference on Web search and data mining, WSDM ’10, pages 281–290, New York, NY, USA, 2010. ACM.
  21. Exploiting geographical influence for collaborative point-of-interests recommendation.
    M. Ye, P. Yi, W.-C. Lee, and D.-L. Lee. In SIGIR ’11: Proc. of the 34th ACM SIGIR Conference. ACM, 2011.
  22. Location recommendation for location-based social networks.
    M. Ye, P. Yin, and W. C. Lee. In Proc. of the 18th SIGSPATIAL International Conference on Advances in Geographic Information Systems, GIS ’10, pages 458–461. ACM, 2010.
  23. Collaborative location and activity recommendations with GPS history data.
    V. W. Zheng, Y. Zheng, X. Xie, and Q. Yang. In WWW’10: Proc. of the 19th international conference on World Wide Web, pages 1029–1038. ACM, 2010.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description