Automatic user profiling for intelligent tourist-trip personalisation

Travelling for leisure is very popular, as indicated by an estimated 1.4 billion tourist arrivals globally in 2019, according to the World Tourism Organisation (UNWTO). Since leisure trips are usually short, an efficient holiday activity-planner would be essential. It would make it possible to maximise the tourist’s enjoyment during such trips by assisting the individual in selecting the right places to visit and things to do, according to the person’s preferences.

Travel planning involves processing information ‒ such as opening hours, past visitor reviews, transport options, and costs ‒ from various data sources, which is often very time-consuming. This project presents a tourist-itinerary-recommendation algorithm that would assist users by autonomously generating a personalised holiday plan according to the user’s travel dates and constraints. Furthermore, the system would automatically build a travel-interest profile based on the user’s social media presence. This profile would then be used to recommend itineraries that would be tailored to the user’s interests.

The proposed system uses application programming interfaces (APIs) from popular social media platforms, such as Facebook and Instagram, to gather relevant information – with the user’s permission. The information required includes pages the user likes, pictures posted by the user, and so on. A convolutional neural network (CNN) was used to classify the user’s pictures into their respective travel category, such as ‘Beach’, ‘Clubbing’, ‘Nature’, ‘Museums’ or ‘Shopping’, which was then used to determine the user’s predominant travel-related topics of interest. Both ResNet-18 and Keras sequential models were trained separately on 2 datasets, in order to establish which of the two would be the better one.

The computed travel profile of the user was given the form of a weight vector, which is then used to generate an automated itinerary that would fit the user’s preferences and travel constraints. This weight vector is used to formulate a personalised objective function, used by various metaheuristic and evolutionary algorithms to optimise the plan. This takes into consideration ‘hard’ constraints, such as holiday dates, opening times, and distances between places, and also soft constraints (preferences), such as costs, interests and the user’s preferred pace. The algorithms used at this stage included: particle swarm optimisation (PSO), tabu search, as well as genetic algorithms, and they are evaluated for both their plan quality and performance.

Since the results would be highly personalised, the system was packaged into an application that would allow users to connect with their social media accounts, build a personalised travel plan for a holiday in Malta, and asks the user to assess the quality of the plan with respect to personal preferences and budget.

The user tasked specifically with testing the system was also requested to assess a more generic holiday itinerary without specifying which plan was generated by the system. This was done in order to assess the effectiveness of the personalised holiday-planning algorithm.

Figure 1. Renders from the itinerary generator
Student: Liam Attard
Course: B.Sc. IT (Hons.) Artificial Intelligence
Supervisor: Dr Josef Bajada