## 2 Related Work
### Improving Recommendations with Clustering and Association Rule Mining  
Context-aware recommender systems[4] try to improve the quality of the recommendations by incorporating data about the current state of a user (position, emotions, personality, etc.) and his/her environment (e.g., weather and traffic conditions), or even the user's social media information (e.g., followers and followees in Twitter). For example, [PERSON] et al. incorporated trust, reputation and user relationships in social communities into a collaborative filtering recommender to provide improved recommendations of tourism products [29].  
One of the possible solutions to the cold start and data sparsity problems in recommender systems is to cluster users or items to gain generalised information about them. For instance, [PERSON] et al. proposed an evolutionary algorithm to cluster user attributes before building a user-item matrix for collaborative filtering [30]. [PERSON] et al. went a step further by combining three clustering processes (based on user trust, user similarity and item similarity) to form the user-item matrix and then using the matrix factorisation model to make predictions [31]. Following the same trend, [PERSON] et al. proposed grouping users by their cognitive similarity, determined by their interest in similar items, to handle the cold start and data sparsity problems [32; 33]. Along the same lines of user similarity, [PERSON] et al. compared the similarity of users via different factors (location visit frequencies, opinions and liked pages) to improve the recommendations [34]. The same authors also considered the sparse location histories of mobile users to find similar users even if a user's trajectory was incomplete [35].  
Another artificial intelligence technique that may be useful in recommender systems is association rule mining (ARM). Rules provide common relationships between items (objects frequently bought together, or POIs frequently visited together), which may be helpful in the recommendation process. For example, the use of association rules has been suggested to recommend songs [36]. More concretely, song clusters are used to build a user's profile, and then rules are mined from the user's listening history to make recommendations that fit his/her preferences.  
The use of ARM in tandem with clustering is a popular concept that has been successfully applied in several fields. [PERSON] et al. proposed this combination to battle data sparsity and cold start problems in e-commerce, using k-means for user-item matrix clustering and mining association rules from Boolean data extracted from user clusters [37]. Similarly, [PERSON] et al. proposed a recommender system in the inter-library domain, to recommend books by assigning users to clusters (built on users' categorical features extracted from library logs) that are attached to association rules mined using decision trees [38]. Despite the popularity of this concept, it has been scarcely applied in the field of tourism. [PERSON] et al. proposed a tourism recommender system based on separate fuzzy clustering of users and POIs, allowing new users and POIs to be assigned to clusters. Users are then matched with previously mined association rules that relate users and their context to POI clusters. However, this system was specifically tailored to the data collected by their application and can not be used out of the bounds of their project [39].  
In the work reported in this paper, we propose a new combination of clustering and association rule mining to improve the recommendations of POIs within a city. It also takes into account the information provided by the users on Twitter.