1. Introduction
Cultural tourism market is evolving towards a dimension of complete satisfaction of the tourist’s needs, enhancing on one hand the centrality of the cultural aspect within a 360° travel experience and, on the other, a greater attention to the choice of your own “tourist itinerary,” accompanied, according to the context [
1], with all the necessary services (transport, catering, etc.) [
2]. The tourist also shows a growing need to play an active role in the tourist experience, integrating the cultural contents of a tour with personal contents that often are shared with the “community.” The viral distribution of information, the profound changes in the traveler’s decision-making process and the expansion of the knowledge tools available to all connected users are now, more than ever, the main levers of change [
3].
In this regard, this document aims to describe the development of innovative solutions to support tourists in order to offer advanced and highly-customizable services, able to allow, through the use of new technologies, a more engaging use of information, stimulating and attractive compared to current ways.
In particular, the proposed work shows a “Content/API (Application Program Interface) Economy Platform” that allows content-generating actors (organizations such as Superintendences, museums, communities, or companies and individual users) and content users (Authorities, Companies of services and, above all, final users) to operate by means of a broker-platform. Through this platform, it is possible to search for contents within a Knowledge Base and, through the automatic composition (orchestration) of services, to activate in a controlled way the access and fruition of the information contained in it. The management methods include the control of the entire life cycle of the Knowledge Base, which provides for the collection, storage, classification, and availability of content through the application of policies that also govern the methods of “consumption” of the data, using the services available [
4,
5].
The platform is capable to offer services able to adapt in real-time to the users’ needs. In particular, is able to provide both “mono-thematic” access channels of the available data (for example, tourist portals for museums or mobile applications for individual Cultural Authorities) and containers “multi-thematic” which, by using distributed information, allow the construction of advanced services, oriented towards providing richer experiences (cultural tours in different museums, information on particular historical periods with data contained in different archives, etc.).
The system, which will be described, has the purpose of recommending a wide range of services that can help the user in daily life, best managing the time and resources, offering an surrounding environment overview and satisfying current and future needs. In particular, the intention is to improve the experience of a tourist and to project it quickly into the new world in which he lives [
6,
7,
8].
The article is structured as follows, the next paragraph will deal with analyzing the related works, and this paragraph is followed by a motivational example paragraph. Subsequently, the proposed approach and the architecture of the proposed system will be presented. Finally, the experimental results will be shown and conclusions will be discussed.
2. Related Works
For some years the profile of tourists has changed profoundly, moving from traditional tourism to tourism 2.0 [
9]. Consider a tourism scenario in which an application for mobile devices helps travelers by providing content on attractions and services available in the areas visited. To select personalized content, the app surely can take into account the user’s current position, but another important aspect concerns their preferences related to the activities they intend to carry out (cinema, theatre, concerts) and on the means of transport of which they may need (bus, car, train). To be able to propose adequate experiences and services, it can also be useful to know if the user travels alone, in pairs, with his family, with a group of friends, or if he has special needs, possibly related to a disability. These are just a few examples of data relating to the context in which the traveler is located that can help select and appropriately cut the information and functionality of the application.
In particular, describing into the details an application, which takes advantage of context awareness, two specific functionalities can be imagined: a “Cicerone smart” and the creation of a personalized and dynamic tour itinerary. The use of the term “Cicero,” as a synonym of tourist guide, was born when Roman citizens, improvising as local guides, began to accompany the wealthy visitors of Rome among its archaeological wonders, demonstrating an oratory ability to remember the famous lawyer Roman Marco Tullio Cicerone. Using the “Cicerone” of Rome as a reference model, the “Cicerone smart” aims to simulate all those functions necessary to tell the territory that a potential tourist is visiting. The main objective is to encourage him to visit, through the story, pointing out new points of interest during his tour.
A feature of this type explores the possibility of using digital storytelling techniques in combination with those that concerning context-aware computing [
10] to control the evolution and presentation of information to the user based on different types of context. In this way, a modern tourist guide can be implemented that allows the dynamic delivery of different narrative contents (textual and multimedia) appropriately integrated, not necessarily predetermined, and adhering to the needs and dynamic behavior of users.
In [
11], Young proposed an interactive narrative architecture that “re-designs” the events of history, using planning. In the wake of Young’s work, many adaptive narrative theories have developed that make use of user modelling algorithms to predict its actions and trigger events, in real-time and according to the context.
One of the first examples of application in this sector is represented by Reading Glove [
12], an interactive and adaptive narrative system that uses an intelligent recommender system. The reasoning engine of the system guides users through history, using three different recommendation methods: random ones, those based on the content of the story, and user-based recommendations. The recommender system; therefore, acts as a sort of “expert narrator”, which follows the reader through narration.
A further example is “framework for adaptive storytelling” [
13], a system that allows the history development around interests and preferences information of users. This system updates the user model based on its interests through a profiling module. The story is composed of a series of related events and the event-selection module determines which content is more akin to the user’s interests to choose the right event for the progression of the story.
In [
14], instead, the goal was to try to build an empathic adaptive narrator. The system aims to use the emotional expressions generated by an avatar due to the responses of listeners that are monitored in real-time. Using various devices and sensors, the system wants to encode the listener’s positive and negative emotions in runtime modifying narrative techniques.
Furthermore, it is then possible to identify several “collaborative” and “social” storytelling that have the purpose of entertainment, teaching, and fruition of cultural heritage; among these, we want to mention Casting [
15], a software system that supports the audio-based narration of collaborative groups in the creation of non-linear stories. Casting consists of a client and a web portal. In particular, the client allows users to create a project team, add audio recordings, connect audio recordings, and select and publish a linear story. Client users can retrieve the latest version of the story and synchronize their changes locally. The Web portal, on the other hand, allows users to publish podcasts and discuss, comment, vote, and re-use audio-based stories.
The user experience, taking advantage of the territorial and thematic mobility and localization, can also renew itself by using the physical environment as a background and plot based on which to articulate and define stories that wind along the urban topography [
16].
In order to identify a personalized story suited to the needs of large numbers of tourists and visitors, the proposed work is directed towards the definition of appropriate models and fruition solutions that make the visit experience more engaging and immersive. In particular, there is the realization of technological solutions for modulating information and, in general, services according to users and the context, for the generation of narrative contents consistent with the experiential mission of the visit.
In particular, it is possible to notice that often the main problems to deal with concern the intrinsic complexity of the operations that must be performed by the user to plan an entire tourist-cultural itinerary and make all the necessary choices, navigating among a multitude of information and services.
In this regard, there are many studies on the systems of recommendation for tourism. The problem of recommending tourist routes to users is addressed, for example, in [
17], where a model framework able to recommend sequences of tourist activities with interesting results has been analyzed and presented. Furthermore, in [
18] the authors propose a recommendation system for tourist route planning based on smart attributes. This recommendation engine is; therefore, able to exploit not only pre-set attributes, but also other attributes generated by analyzing the user experience. In [
19], on the other hand, a platform (POST-VIA 360) designed to collect data on tourist visits using pervasive techniques is presented. In particular, this platform, after collecting data on the first visit of the tourist, is able to support him in planning tourist routes related. Through this platform, the authors attempt to underline the importance of “loyalty” within the world of tourism, obtaining interesting results through the use of contextual and bio-inspired approaches. Particular interest lies in user data, in order to provide increasingly tailored responses [
20], and context data. In [
21], context-based architectures of recommendation systems for the enhancement of cultural heritage are proposed. These systems are able to incubate large quantities of information, sometimes coming from heterogeneous sources, and plan the tourist activities to be proposed according to the users’ behavior, combining them with contextual information collected by appropriate sensor networks.
With regard to the issue of data management within e-tourism systems for the enhancement of cultural heritage, Petrina et al. [
22] presented a recommender system able to guide the tourist by managing a body of historical data. In this system, the data are organized through a sort of dynamic and customized database, through which it is possible to establish contextual and semantic relationships through historical objects. Through the latter, it is possible to provide personalized recommendations in the field of smart space.
Finally, the issue of managing large amounts of data, which could be produced by the dynamic integration between stakeholders and e-tourism platforms, is addressed in [
23], whereby how Smart Tourism Destinations could improve the tourism experience through personalized and dynamically-updated services is analyzed. Additionally, in this sense, an interesting problem is the one related to the problems of information overload. In this regard, in [
24] a recommender system is proposed, which is able to provide customized information based on user preferences. This system is also able to embed contextual information and user preferences through ontological approaches that aim to improve the recommendation process.
3. Motivating Example
For a person who is in a touristic place, it is important to have the possibility to find an itinerary among the points of interest that the place offers and to know its history to have a conscious vision of the cultural attractions present. So, as soon as he arrives in a new location, a tourist will need to know, in broad terms, the characteristics of the place and the reasons for which it is worthy of interest: Through the services provided by the platform described below, he can immediately get a description of the place and then go into all the details. Furthermore, a trip does not always allow you to have the right time to visit completely the chosen destination and it is in these cases that you are faced with the difficult selection of the attractions that will actually be visited. In this scenario, the tourist can not only exploit the knowledge previously acquired to visit the points of greatest historical importance, but also view the impressions that the latter have left in the other visitors, automatically detected through, for example, Sentiment Analysis techniques. Another classic circumstance is that of being faced with the planning of one’s own activities and visits; in this case, through the platform, tourists can obtain dynamic itineraries based on their personal tastes and parameters related to the current context. During the planning of the itinerary, the platform must always adapt itself to resource measurement dashboards that the user has made available (for example, time, budget, number of visiting group members, and age). The platform is; therefore, able not only to perceive the whole context, but also to react to it, giving appropriate answers to the user in terms of services. Imagine, for example, that during the trip there are adverse weather conditions: In this case, the system has the possibility of rejecting the attractions that are outdoors and proposing only indoor services.
In this tourist scenario, the platform can be developed in mobile applications or “Trip Designer”, which build a travel itinerary by collecting the various steps of the itinerary automatically from predefined folders, or through a Chabot, which maintains, using natural language processing and context recognition techniques, a logical discussion with the user in order to respond to specific tourist needs. The platform will not have to limit itself to providing a simple list of the data found on a specific place. Rather, it will have to present them in such a way that the user can be an active part of it in order to scrutinize its past, present, and future, behaving like a modern tourist guide, exploiting also social networks; for years now an integral part of everyday life and huge information sources. For all these reasons, it must be able to enclose the set of functionalities oriented to the construction of an ecosystem to share and consult contents describing the touristic/cultural heritage, exploiting, as mentioned, a Knowledge Base.
The reference model also envisages the possibility of offering expert users (individuals or members of accredited Tourist Authorities and/or Cultural Authorities) the opportunity to build an “unusual proposal” that includes a trip and/or stay together with an experience particular to live in a particular location. The platform will take care of the users that generate the content, managing the contact, the qualification, the insertion of the proposal (description, duration, what will be experienced, what you will have—gadgets, gifts, guides—presentation of the proposal, maximum capacity, cost, place of departure and place of arrival, etc.), approval and publication of “unusual” proposals, and subsequent dissemination with control of costs, payment, and feedback from consumers (final users and/or tour operators).
4. The Proposed Approach
The proposed approach aims to pursue a service innovation based on an architecture of high scientific and technological content. As highlighted in the introduction section, the main purpose of this architecture is related to the automatic selection of adaptive services to the needs of the context and its users.
In particular, the characteristics of innovation mainly concern the information content to be made available to end users through the orchestration of services, proposing three different points of view:
4.1. Context Representation
There is a need to transmit useful information in a given context to different categories of users at a certain point in time; in particular, it is necessary to give life to an architecture that presents a high degree of Context Awareness. The knowledge of the context in which the user is located allows, in fact, to offer a wide range of services that can help him in everyday life (e.g., during personal life or work business), managing the time and resources he has at his disposal, revealing to him what is around, and satisfying his needs. The real-time knowledge of the context in which the user finds himself, through his representation in the form of graphs, allows; therefore, strongly personalized services (“tailored”) able to take into account countless aspects as well, for example, the mood of the user through analysis of the Affective Computing. For this reason, the application fields can be the most diverse: cultural heritage, tourism, e-government, e-learning, etc.
Context Awareness should be understood as a set of technical features capable of giving added value to services in different application segments. Context Aware Computing applications can exploit, in our case, these features to present context information to the user or to propose an appropriate selection of actions. To obtain a better representation of several features; therefore, formalism of the representation of the context will be adopted, able to define, in detail, the needs of the user in the environment in which he is acting, through an approach of the type: where, why, when, how [
25]. Everything will be declined through the state-of-the-art technologies present in the sector.
In particular, the representation of the context can take place through the use of formal models of representation, such as the context dimension tree (CDT). This tree-based view is able to describe all the possible contexts that can be had within an application domain, through the definition of a tree consisting of a triad where its root is indicated with , represent the set of nodes of which it is composed, and the set of arcs joining these nodes. In detail, the nodes inside the CDT are divided into two categories, that of the dimension nodes and that of the concept nodes. The first type of node describes a possible size of the application domain; the second, vice versa, represents one of the possible values that a dimension can take. The children of the root node, which represent the “top dimension,” are all dimension nodes and for each of them a subtree may exist; leaf nodes must be concept nodes. A dimension node can have, for children, only concept nodes and, in the same way, a concept node can have, for children, only dimension nodes. Defined, at this point, each “context element” as a “dimension = value” assignment, a context will be indicated as a combination, through the use of an , of different elements of context.
Based on the use of this type of representation, the proposed methodology consists of three main phases: The design phase of the context tree, which represents the identification of significant context elements for the application considered; the phase of defining partial views, which consists of associating each of these with a different portion of the data; the composition phase of the global views, in which an elaboration of answers to the questions is made.
6. The Proposed App
Based on the proposed architecture, an application prototype was developed: A hybrid mobile application, designed and implemented, together with a server-side component, as described above. The App was designed to support tourists visiting Salerno, a city in the Campania region of Italy. In this experimental phase, the main services and API contents potentially useful for tourists were identified. The App also collected information from social environments by adapting the proposed itinerary, taking into account the communities and interests of the user.
6.1. Services Definition
The definition phase of the services was implemented following three main operations: obtaining information on the current location, searching for resources in the area, and acquiring the profile and interests of the user. To this end, some Web services accessible through APIs were identified and enriched, where possible, by specific services implemented for the city of Salerno. These services mainly exploited the data of the content providers that are inserted in the Knowledge Base and updated through a Web management platform (Service Management Module).
At beginning, the user’s location was determined by the GPS sensor on the mobile device. In particular, it was necessary to use a reverse geocoding service (i.e., the process to turn geographical coordinates into a “human-readable” address) made available by the Google Maps API. Then, to obtain the description of the location, based on the position detected, it was decided to use the information of Wikipedia, using specifically the MediaWiki’s RESTful Web service API: A convenient access to services, data, and metadata through HTTP requests. Wikipedia pages are often associated with coordinates of reference and the approach proposed exploited this property; when you search for a page related to a country or a city, you get the one closest to the user’s coordinates. In particular, the description of the city of Salerno could be enriched by integrating some ad hoc services that recalled the information shared by Content Providers and suitable for specific types of users.
The story to be presented was then enhanced by inserting the experiences of other users, using mainly the comments released on TripAdvisor. In this regard, resources were searched using the “map” method of the TripAdvisor API, which allows you to search for attractions (museums, sports facilities, shops, …), hotels, and restaurants through, respectively, the methods “map_attractions,” “map_hotels,” “map_restaurant” and, more generally, the method “location_mapper.” With regard to the city of Salerno, the user could also obtain the main points of interest included in the Knowledge Base and managed by Content Providers using the Service Management Module.
Finally, for the customization of information, it was necessary to collect data relating to users. The main objective was to access the user’s social data to retrieve, for example, his profile, his LIKEs, his friends, his favorite events and places; this was done through the use of the Facebook API and the analysis of some main methods, such as “user_likes,” “user_friends,” “user_events,” and “tagged_places”. These data were then integrated and updated with implicit data, obtained from the user’s behavior, and explicit data, obtained through the manual updating of the user’s profile.
6.2. Recommendation Model
The data processing phase was necessary in order to recommend the right content and services. In particular, in the proposed prototype, this phase is served to recommend certain routes, identifying the resources of greatest interest to a user.
In order to determine the user’s interests, as well as the categories to be recommended, its most recent LIKEs on Facebook pages were taken into consideration: Each LIKE corresponds to a specific subcategory to be associated with a category of TripAdvisor, for example, to a LIKE on a page relating to an art gallery or a painter will correspond an occurrence of the category “museum”. Using the proposed approach, it was possible to calculate the number of occurrences and obtain the preferred categories of interest; then, based on the indexes of recommendation obtained, the user will be offered a personalized list of resources.
To model the system, we have chosen to use an ontological representation: An oriented and labelled graph model for the representation of Web resources. In particular, the ontology is made up of Classes and Properties: The Classes can be considered as groupings of Individuals sharing the same characteristics; the Classes are intended as binary relations between Individuals (instances of classes) or between Individuals and Values. The basic unit; therefore, is given by the so-called statement (i.e., a triple of the type: Subject–Predicate–Object).
On the basis of what has been said, it has been possible to define the graph shown in
Figure 3. As can be seen, the ontological model proposed consists of six nodes representing the classes of the domain of interest:
User is a consumer of the system (examples of instances of user: Dominic, Frank, Mark, …);
Friend is a friend of the user;
Interest is a type of interest that is associated with a user’s LIKE (instances of interest: school, university, pizza, night club, …);
Category represents a set of interests (e.g., cultural, restaurant, nightlife, …);
Place is any place, represented by a couple of geographical coordinates, to which are associated TAGs of users (Salerno, University of Salerno, …);
Resource is any resource, with a specific category, that can be proposed to the user (the Greek Temples of Paestum, the restaurant “Gusto Italiano”, …).
Nodes are linked by arcs, which represent properties between classes:
has_friend: A user can have one or more friends;
has_like: A user may be interested in one or more types of interest;
has_category: Each type of interest is associated with one or more categories;
is_proposed: Categories are proposed to the user;
was_in: A user has been in a certain place;
is_near: A place is near a resource;
is_in: A user can be in a resource;
is_recommended: Resources are recommended to the user.
Starting from the ontological model consisting of concepts (nodes) and relationships (arcs), a system has been defined by attributing to each semantic relationship a value between 0 and 1 (weighted graph):
α = weight_ui represents the number of LIKEs of a user (u) regarding a specificy type of interest (i) (α ≥ 0, α ∈ N);
β = weight_ic is the conformity degree between a type of interest (i) and a category (c) (0 ≤ β ≥ 1);
γ = weight_cu represents the recommender degree of a category (c) and a users (u) (γ ≥ 0);
δ = weight_uf represents the degree of friendship between a user (u) and a friend of the user (f) (0 ≤ δ ≥ 1, with δ = 1 if u = f);
ε = weight_up is the number of TAG of the user (u) at the place (p) (ε ≥ 0, ε ∈ N);
ζ = weight_pr is the proximity degree of a place (p) to a resource (r) (0 ≤ ζ ≥ 1, with ζ = 1 if p ≡ r);
η = weight_ur represents the proximity of a user (u) to a resource (r) (0 ≤ η ≥ 1, with η = 1 if u is in r);
θ = weight_ru represents the degree of recommendation of a resource (r) to a user (θ ≥ 0).
Finally, it was possible to implement a reasoner able to recommend resources to the user based on the categories of interest and identified resources, using two main indexes:
- -
Icat: Index related to the liking of a category;
- -
Ires: Index related to the liking of a resource.
In particular, the rating index for a category (Icat) represents the interest of a user in a specific category. It is calculated considering the number of LIKEs of the user and his friends related to social pages. This index is associated with a type of interest and the index of correspondence of this to the category itself, dividing by all friends, if the user has no interest in that category, or, if not, by the number of friends who have interest in the category considered. Subsequently, the category index is normalized, in order to consider the sum of the indexes of all categories for that particular user.
Particular interest was placed on the calculation of the degree of friendship, or on the weight of the relationship between two users. In this regard, not all friends affect the user in the same way and, for this reason, you should consider an index of friendship between users: The more a user is a friend with another, the more the interests of the friend will affect the liking of a category for the user himself. To do this, you must first be aware that friendship is not necessarily a reflective relationship (i.e., it is possible that user A considers user B as “best friend,” while user B considers user A as a “friend”). In particular, the weight of the friendship between two users can be calculated as a sum of multiplications between the number of each communication parameter (LIKEs, messages, tags) and their weight.
The recommendation index of a resource (Ires) represents, instead, the potential liking of the user towards a specific resource. It is defined by the normalized category index, the proximity of the resource by the user, the rating of the resource, and the proximity of the resource from the places tagged by the user and all his friends.