PersTour: A Personalized Tour Recommendation and Planning System Kwan Hui Lim*† , Xiaoting Wang*† , Jeffrey Chan‡* , Shanika Karunasekera* , Christopher Leckie*† , Yehui Chen‡ , Cheong Loong Tan‡ , Fu Quan Gao‡ , Teh Ken Wee‡ * Department of Computing and Information Systems, The University of Melbourne, Australia † Victoria Research Laboratory, NICTA / Data61, Australia ‡ School of Computer Science and Information Technology, RMIT University, Australia {limk2, wangx5}@student.unimelb.edu.au, jeffrey.chan@rmit.edu.au, {karus, caleckie}@unimelb.edu.au, {s3189978, s3473500, s3230007, s3407931}@student.rmit.edu.au ABSTRACT Data Collection/Analysis Touring is a popular but time-consuming activity, due to the need to identify interesting attractions or Places-of-Interest Photo Crawler (POIs) and structure these POIs in the form of a time- Photo Analytics constrained tour itinerary. To solve this challenge, we pro- pose the Personalized Tour Recommendation and Planning (PersTour) system. The PersTour system is able to plan for Tour Recommender a customized tour itinerary where the recommended POIs ACO-based Recommender City/POI and visit durations are personalized based on the tourist’s Data interest preferences. In addition, tourists have the option to indicate their trip constraints (e.g., a preferred start- Recommendation ing/ending location and a specific tour duration) to further Web Service customize their tour itinerary. User Interface CCS Concepts Preferences Input Recommended Tour (Map) •Information systems → Personalization; Recommender systems; Location based services; Data mining; Web appli- cations; Recommended Tour (Listing) Keywords Tour Recommendations; Trip Planning; Personalization; User Interests Figure 1: PersTour System Architecture. 1. INTRODUCTION sTour) System. While there exist various interesting tour Tourism is a popular leisure activity with the main aim of planning applications [14, 4, 13, 11, 2, 10, 15], our PersTour visiting interesting attractions in foreign cities. For a tourist system differs from them in one or more of the following visiting an unfamiliar city, there are numerous challenges ways: (i) tourists are able to select any starting/ending lo- such as: (i) identifying attractions or Places-of-Interest (POIs) cation (instead of a specific POI, which the tourist may be that appeal to his/her interest preferences, rather than sim- unfamiliar with) and PersTour will recommend an itinerary ply visiting popular POIs; (ii) structuring these POIs as that starts/ends at a POI near that selected location; (ii) in a tour itinerary that considers the tourist’s preferences for addition to a personalized itinerary recommendation (com- starting/ending locations and time constraints for touring; prising POIs of interest to the tourist), PersTour also per- and (iii) providing detailed directions on how to get from sonalizes the recommended visit duration at each POI based one POI to another, including recommendations for POI on the tourist’s interest preferences; and (iii) PersTour uses visit durations based on the tourist interest preferences. publicly available geo-tagged photos and Wikipedia to de- To alleviate these challenges faced by tourists, we propose termine POI-related statistics and information. the Personalized Tour Recommendation and Planning (Per- 1.1 Contributions Our main contribution is in developing the PersTour sys- tem (Fig. 1) that is able to recommend POIs that are inter- esting to the tourist and plan these POIs in the form of a tour itinerary. The key features of this system are as follows: • Able to consider tourist trip constraints such as start- Figure 2: User Interface of the PersTour System. ing and ending at specific locations (e.g., near the • Tour Recommendation Component. This back- tourist’s hotel) and having limited time for touring. end component uses the processed POI data (from the Data Collection and Analysis component) for rec- • Utilizes geo-tagged photos and Wikipedia to: (i) de- ommending and planning personalized tour itineraries termine the popularity of POIs; (ii) derive the aver- that are then passed to the User Interface component. age time tourists spend at each POIs; and (iii) classify POIs into distinct categories. • User Interface Component. This front-end com- ponent solicits the trip constraints and interest pref- • Able to recommend tours based on either POI popu- erences from the tourist, then communicates with the larity or tourist interest preferences. In addition, rec- Tour Recommendation component to obtain a person- ommended POI visit durations are tailored based on alized tour itinerary, which is then displayed to the the interest levels of the tourist, i.e., a longer visit du- tourist. ration for POIs that are interesting to the tourist. In the following sections, we will describe each component in greater detail. • Adapted the Ant Colony Optimization algorithm for the purpose of tour recommendation, with considera- 2.1 Data Collection and Analysis Component tions for trip constraints and interest preferences. The Data Collection and Analysis component performs two main tasks, which are: (i) the crawling of geo-tagged • Recommendation results are displayed in an intuitive photos from the Flickr photo sharing website; and (ii) the graphical and textual form (Fig. 2). The graphical analysis of these photos to infer the popularity of POIs, aver- form allows for a quick overview of the tour itinerary age POI visit duration and the interest categories associated on a map, while the textual form provides detailed with each POI. information about getting from one POI to another. Data collection. For the first task, we are interested in all photos taken within a specific city of interest, particularly 2. SYSTEM ARCHITECTURE the associated meta-data such as the latitude/longitude co- Our PersTour system was developed as a web-based ap- ordinates, photo time taken and photo owner/taker.1 The plication with a responsive interface that allows for viewing usefulness of geo-tagged photos for tour recommendation on desktops, tablets or mobile phones. The front-end com- purposes has also been demonstrated in many recent re- ponent was developed using HTML, PHP, jQuery and the search works [3, 8, 12]. A future enhancement would involve Google Maps API [6], while the back-end was developed us- the use of computer vision techniques to analyze the pho- ing Python, Java and PHP. Our PersTour system comprises tos themselves to determine the number of humans in each three main components, namely: photos (i.e., travelling alone, in pairs or larger groups) and demographic details (e.g., age group, gender, etc). • Data Collection and Analysis Component. This 1 back-end component is mainly responsible for the re- While we use Flickr geo-tagged photos for the purpose of this system demonstration, our PersTour system can be eas- trieval of geo-tagged photos and analyzing these photos ily generalized to other photo sharing sites (e.g., Instagram) to infer POI popularity, average POI visit durations or any social media that is tagged with geo-location infor- and POI categories. mation (e.g., geo-tagged tweets). Data analysis. For the second task, we analyze the alignment; and (ii) the cost of travelling from one POI to meta-information of each photo to determine the popularity another is based on a fixed travelling cost and dynamic POI of each POI based on the number of photos taken at each visit duration (personalized based on tourist interest levels). POI, i.e., a proxy for real-life POI visits as the user has to As we currently focus on city tours, we compute travelling visit the POI to take a photo.2 We are also able to deter- costs based on the transport mode of walking but this can mine the amount of time spent visiting each POI based on be extended to other transport modes such as cycling and the time difference between the first and last photo taken cars by changing the appropriate travelling speeds. In most at a POI. Lastly, we utilize Wikipedia to derive the cate- cases, this algorithm takes less than 0.5 seconds to recom- gory (e.g., Shopping, Entertainment, Cultural, Structures, mend and plan a personalized tour. Sports and Parks) that each POI belongs to, based on the Wikipedia article describing the POIs in each city. 2.3 User Interface Component These two tasks (data collection and data analysis) can The User Interface component serves three main respon- then be conducted for each city of interest. Upon comple- sibilities, namely: (i) obtaining user inputs in the form of tion, the results of the analysis are provided to the Tour the tourist’s trip constraints (starting/ending location and Recommendation component, which utilizes the computed available touring time) and their interest preferences; (ii) POI popularity, POI categories, distance between POIs, and communicating with the Tour Recommendation component average POI visit duration for recommending and planing by providing the tourist’s trip constraints and interest pref- tour itineraries. We next discuss the details of the Tour erences, and retrieving the recommended tour itinerary; (iii) Recommendation component. displaying the recommended tour itinerary in an easy to un- derstand visual and textual format. 2.2 Tour Recommendation Component Obtaining user input. For the first task, a tourist can Using the POI-related information provided by the Data pick a preferred starting and ending location by simply click- Collection and Analysis component, the Tour Recommen- ing on any point on the map. Similarly, the tourist can enter dation component recommends and plans a tour itinerary a desired tour start time and select a preferred tour duration. according to the interest preferences and trip constraints of For a more personalized tour, the tourist is also able to indi- the tourist. The interest preferences corresponds to the POI cate their interest preferences via slider bars that represent categories in the city, while trip constraints are in terms of their interest level in the six POI categories (Shopping, En- the tourist’s preferred starting/ending location and available tertainment, Cultural, Structures, Sports and Parks). The touring time. slider bars allow tourists to state their interest level at vary- The back-end tour recommendation algorithm is based ing levels, ranging from “not interested” to “very interested”, on a modified version of the Ant Colony Optimization algo- which is represented by values of 1 and 100, respectively. By rithm [5]. We first discuss the basic Ant Colony Optimiza- default, all interest levels are set to a neutral “neither inter- tion algorithm before describing our proposed modifications ested nor uninterested”, i.e., a value of 50. to adapt it for our purpose of personalized tour recommen- Communication between components. The second dation and planning. The basic Ant Colony Optimization task commences when the tourist clicks on the “Plan Tour algorithm utilizes a number of agents (ants) that start from Itinerary” button. Upon clicking, the User Interface compo- a specific POI with the aim to finding the best path to a nent makes a web service call to the Tour Recommendation desired destination. This algorithm works in the following component, along with the various trip constraints and in- main steps: terest preferences provided. In turn, the Tour Recommen- 1. At the start of the algorithm, all agents initially select dation component invokes its recommendation algorithm to the next POI to visit (based on the utility of visiting plan a personalized tour based on the provided parameters. that POI), until they reach the destination. This personalized tour is then returned to the User Interface component in the form of a JSON response, containing the 2. At the end of Step 1, the best path taken among all recommended POIs and the time to spend at each POI. agents is selected and remembered for a period of time, Displaying recommendation results. For the third before being gradually forgotten. task, the User Interface component parses the returned JSON response for display in a visual and textual format. Utiliz- 3. Steps 1 and 2 are then repeated for a fixed number ing the Google Maps API, the visual representation is in of iterations. The main difference is that the selection the form of waypoints (POIs) that are plotted on a map of the next POI to visit (i.e., Step 1) will be biased and connected lines that indicate the route to take between towards paths that have been taken recently. POIs. The textual representation provides more informa- The intuition behind the Ant Colony Optimization algo- tion on the recommended tour, indicating the time to arrive rithm is that agents are more likely to follow a path that is at and depart each POI, along with the name and category “better” and has been taken recently. This preference sub- of each POI. In addition, the tourist is also able to click on sequently leads to the positive reinforcement of choosing a the “information” icon to the right of each POI for more de- single path over time, resulting in that path being selected as tailed step-by-step directions, i.e., which road to take, how the best solution. Our modifications to the Ant Colony Op- far to travel and which road junctions to turn at. timization algorithm are largely based on our earlier work [7] and include the following: (i) the utility of each POI is based 3. USE CASE SCENARIOS on a combined POI popularity score and tourist interest As part of our system demonstration, we highlight two 2 scenarios where a tourist might use PersTour to obtain a We only use publicly available data and do not release any personal information in our subsequent recommendations. popularity-based and interest-based tour recommendations. 3.1 Popularity-based Tours cater for tour recommendations to groups of tourists with Consider a tourist Alice who is staying at The Sebel Mel- diverse interest preferences, in the same spirit as that of [8]; bourne Flinders Lane and is planning for a tour that starts (iii) automatically build a tourist interest profile, possibly by near her hotel. Using our PersTour system, she can simply analyzing a tourist’s social media posts such as in [1]; and click on the location of her hotel (or anywhere on the map) (iv) apart from POI popularity and tourist interest, also as her desired starting/ending point. Furthermore, Alice se- consider the beauty, peacefulness and enjoyability of routes lects a starting time of 10am, a tour duration of 3 hours taken in a tour [9]. and then clicks on the “Plan Tour Itinerary” button to get Acknowledgments. NICTA is funded by the Australian Gov- a customized tour itinerary recommendation. Based on the ernment through the Department of Communications and the selected starting/ending location, tour start time and pre- Australian Research Council through the ICT Centre of Excel- ferred tour duration, PersTour recommends a set of popular lence Program. The authors thank the anonymous reviewers POIs to visit within Alice’s preferred tour duration. This for their useful comments and the support of Google Australia recommendation is displayed as a graphical tour itinerary through a Google Australia PhD Travel Scholarship. on the map as well as in textual form with detailed informa- tion about the POI visit sequence with the appropriate time to arrive at and depart from each POI. If Alice requires more 5. REFERENCES [1] N. Banerjee, D. Chakraborty, K. Dasgupta, S. Mittal, detailed directions, clicking on the “information” icon beside A. Joshi, S. Nagar, A. Rai, and S. Madan. User interests in each POI listing will display a set of detailed instructions social media sites: an exploration with micro-blogs. In for directions. Proc. of CIKM’09, pages 1823–1826, 2009. [2] I. Brilhante, J. A. Macedo, F. M. Nardini, R. Perego, and 3.2 Interest-based Tours C. Renso. TripBuilder: A tool for recommending Consider another tourist Bob who prefers a more person- sightseeing tours. In Proc. of ECIR’14, pages 771–774, alized tour based on his specific interest preferences. Sim- 2014. [3] I. R. Brilhante, J. A. Macedo, F. M. Nardini, R. Perego, ilar to what Alice has done, Bob also selects his preferred and C. Renso. On planning sightseeing tours with starting/ending point, tour start time and preferred tour TripBuilder. Information Processing & Management, duration. In addition, Bob can indicate his interested pref- 51(2):1–15, 2015. erences via a set of slider bars that correspond to each POI [4] L. Castillo, E. Armengol, E. Onaindı́a, L. Sebastiá, interest categories. For example, Bob is very interested in J. González-Boticario, A. Rodrı́guez, S. Fernández, J. D. Sports and Parks, moderately interested in Shopping and Arias, and D. Borrajo. SAMAP: An user-oriented adaptive Entertainment, and less interested in Structures and Cul- system for planning tourist visits. Expert Systems with Applications, 34(2):1318–1332, 2008. tural. As such, Bob adjusts the slider bars for each POI [5] M. Dorigo, M. Birattari, and T. Stützle. Ant colony interest category accordingly before clicking on the “Plan optimization. IEEE Computational Intelligence Magazine, Tour Itinerary” button. In this case, PersTour takes into 1(4):28–39, 2006. account Bob’s interest preferences and recommends a per- [6] Google. Google maps API, 2016. sonalized tour itinerary comprising POIs that are more likely https://developers.google.com/maps/. to include POIs of the Sports and Parks categories and less [7] K. H. Lim, J. Chan, C. Leckie, and S. Karunasekera. of the Structures and Cultural categories. Similarly, Per- Personalized tour recommendation based on user interests sTour recommends a longer duration to spend at POIs of and points of interest visit durations. In Proc. of IJCAI’15, pages 1778–1784, 2015. the Sports and Parks categories and a shorter duration at [8] K. H. Lim, J. Chan, C. Leckie, and S. Karunasekera. POIs of the Structures and Cultural categories, given Bob’s Towards next generation touring: Personalized group tours. interest preferences. In Proc. of ICAPS’16, pages 412–420, 2016. [9] D. Quercia, R. Schifanella, and L. M. Aiello. The shortest 4. CONCLUSION AND FUTURE WORK path to happiness: Recommending beautiful, quiet, and happy routes in the city. In Proc. of HT’14, pages 116–125, In this paper, we proposed the PersTour system for rec- 2014. ommending and planning personalized tour itineraries. This [10] I. Refanidis, C. Emmanouilidis, I. Sakellariou, A. Alexiadis, system comprises three main components that perform the R.-A. Koutsiamanis, K. Agnantis, A. Tasidou, F. Kokkoras, following functions, namely: (i) a Data Collection and Anal- and P. S. Efraimidis. myVisitPlanner GR: Personalized ysis component that uses geo-tagged photos and Wikipedia itinerary planning system for tourism. In Proc. of to derive POI-related statistics and information; (ii) a Tour SETN’14, pages 615–629, 2014. Recommendation component that uses a modified Ant Colony [11] R. Schaller, M. Harvey, and D. Elsweiler. Recsys for Optimization algorithm to recommend tour itineraries, which distributed events: investigating the influence of recommendations on visitor plans. In Proc. of SIGIR’13, adhere to trip constraints and consider interest preferences; pages 953–956, 2013. and (iii) a User Interface component that uses an intuitive [12] E. Spyrou and P. Mylonas. A survey on flickr multimedia graphical and textual interface to solicit user input and dis- research challenges. Engineering Applications of Artificial play recommendation results. In addition, the PersTour sys- Intelligence, 51:71–91, 2016. tem is able to recommend a suitable starting/ending POI [13] G. Tumas and F. Ricci. Personalized mobile city transport based on a tourist-selected location and also personalizes advisory system. In Information and Communication the recommended POI and visit duration based on tourist Technologies in Tourism, pages 173–183. Springer, 2009. [14] P. Vansteenwegen and D. V. Oudheusden. The mobile interest preferences. tourist guide: An OR opportunity. OR Insight, Some future work to enhance the PersTour system in- 20(3):21–27, 2007. cludes the following: (i) incorporate restaurant visits (e.g., [15] A. Yahi, A. Chassang, L. Raynaud, H. Duthil, and D. H. P. breakfast, lunch and dinner) and consider POI visiting costs Chau. Aurigo: An interactive tour planner for personalized (e.g., entrance fees) as part of tour recommendation; (ii) itineraries. In Proc. of IUI’15, pages 275–285, 2015.