Tourist Attraction Recommendation Service: An Approach,
Architecture and Case Study
Alexander Smirnov
1,2
, Andrew Ponomarev
1,2
and Alexey Kashevnik
1,2
1
St. Petersburg’s Institute for Informatics and Automation of the RAS, 14
th
Line, 39, St. Peterburg’s, Russian Federation
2
ITMO University, Kronverksky, 49, St. Peterburg’s, Russian Federation
Keywords: Recommendation System, Tourism, Context-awareness, Collaborative Filtering, Point-of-interest,
Knowledge, Ontology.
Abstract: The paper proposes a complex multi-model approach to recommendation systems design in the domain of
tourist information support. Specifically, it proposes to construct a recommendation system as a
composition of loosely coupled modules, implementing both personalized and non-personalized methods of
recommendations and a coordination module responsible for adaptation of the whole system to the specific
tourist and situation context.
1 INTRODUCTION
Tourism has become one of the largest and fastest-
growing economic sectors in the world. Despite
occasional shocks, it has shown virtually
uninterrupted growth. International tourist arrivals
have increased from 527 million in 1995 to 1133
million in 2014. International tourism receipts
earned by destinations worldwide have surged from
US$ 415 billion in 1995 to US$ 1245 billion in 2014
(World Tourism Organization, 2015). Moreover, the
number of international tourist arrivals worldwide is
expected to increase by an average of 3.3% a year
over the period 2010 to 2030 (ibid.).
At the same time, there are some structural and
behavioral changes in tourism highly connected to
the development of Internet and Information
Technologies. The increasing use of ICTs in tourism
services allows tourists to take a more active role in
the production of tourism products, being no longer
satisfied with standardized products. The
”postmodern tourist”' with differentiated life-styles,
individual motives and specific interests demands
products tailored accordingly to stated preferences
(Berka, T. and Plößnig, M., 2004).
All that makes the problem of tourists’
information support more actual than ever.
Therefore, information (and search) services of all
kinds that can help in collecting information about
the trip being planned and provide tourist with
information needed during the trip are becoming
more and more popular. One of the functions
typically provided by those services is
recommendation of attractions based on tourist’s
preferences and current conditions (weather,
transport, etc.).
Systems intended to mitigate a choice problem
leveraging (implicit or explicit) subjective
preferences received a name of “recommendation
systems”. The variety of techniques to build, deploy
and assess this kind of systems separated into a
specific research area in the mid-90s of XX century.
Approaches to build recommendation systems
are usually classified according to the kind of input
data that is used for recommendations. Most popular
are two of them (Adomavicius G. and Tuzhilin A.,
2005): collaborative filtering and content-based. In
the former one the only information that is available
are ratings that users assigns to objects. In the latter,
input information is formed by structured
representation of items and a vector of user’s ratings.
There are several more approaches: demographic
recommendation systems, knowledge-based
recommendation systems, social-based
recommendation systems, but they are less used.
Dependence on a specific type of information
causes limitations in applying each of
recommendation techniques. For example,
collaborative filtering cannot be used when the
number of ratings is small, but just after start of any
recommendation system the set of ratings is usually
empty, hence the so called “cold start” problem.
Smirnov, A., Ponomarev, A. and Kashevnik, A.
Tourist Attraction Recommendation Service: An Approach, Architecture and Case Study.
In Proceedings of the 18th International Conference on Enterprise Information Systems (ICEIS 2016) - Volume 2, pages 251-261
ISBN: 978-989-758-187-8
Copyright
c
2016 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
251
Similarly, the structured representation of items
needed for content-based methods might be
available for one regions (in tourist recommender
systems) and be missing for others.
This paper proposes multi-model approach,
which prescribes creation of a family of
recommendation modules, based on various
principles and relying on different types of input
information. Coordination of the modules and
composing an aggregate recommendations list,
taking into account current situation, is performed
by a coordination module. Employed basic models
range from knowledge-based fuzzy rules to
collaborative filtering and coordination module
leverages fuzzy inference to evaluate each basic
model in the current context.
There is a prototype implementation of the
recommendation service, functioning as a part of
tourist information support system «TAIS – Mobile
Tourist Guide” (Smirnov et al., 2014).
2 RECOMMENDATION
SYSTEMS IN TOURIST
INFORMATION SUPPORT
Key premises to employ recommendation systems in
some domain are, first, abundance of choice
complicating decision-making, and second,
significant subjectivism in decision-making. Tourist
in an unfamiliar environment (city, country)
frequently face both of the premises: abundance of
attractions to visit and uncertainty in which of them
to visit to gain most positive experience from the
stay. This explains the attention that is paid to tourist
information support in recommendation systems
community. Besides, social sciences research reveals
the importance of decision support systems in
tourism, caused by large number of aspects that need
to be paid attention to: tourist mobility, high risk and
uncertainty in unfamiliar environment, distributed
nature of information sources and several other
factors (Gretzel, 2011).
Main directions and achievements in tourist
recommendation systems design are summarized in
review papers (Kabassi, 2010) (systems before fall
2009) and (Borràs et al., 2014) (2008-2014). These
studies reveal that nowadays in tourist
recommendation systems all modern
recommendation techniques are used. Collaborative
filtering, content-based and demographic ones are
the most widely employed.
There is also another branch of research that may
be relevant to tourist recommendation system
community. It is media stream analysis, employed
e.g. for point-of-interest (POI) detection (see, e.g.,
Han and Lee, 2015). In some sense, this technique
can be interpreted as an “open form” of
collaborative filtering. Openness here means that
this technique does not implement functionality of
user’s feedback collection typically present in
recommendation systems; instead, it relies on some
external feedback source, namely, social media
event stream. A common idea of this kind of
systems is that geo-tagged images are interpreted as
some signs that a user who posted them enjoyed the
place or view. Additional analysis can help make
further inference, e.g., Han and Lee (2015) try to
distinguish images made by tourists (which are
mostly relevant for making recommendations to
tourists) from images made by local population by
analysing attributes of the image poster’s account in
Flickr (the primary media event stream for that
system). In (Crandall et al., 2009) city attractions are
visualized based on the analysis of images from
photo sharing service. In (Marcus et al., 2011)
methods are proposed to detect actual events taking
place in city based on the Twitter stream.
Photo2Trip system (Lu et al., 2010; Yin et al., 2010)
makes step further; based on the analysis of
sequences of geo-tagged photos from public photo
sharing sites, Photo2trip identifies and recommends
typical tourist trips.
To the best of authors’ knowledge, there are no
systems trying to integrate “classical”
recommendation approaches (e.g., content-based,
collaborative filtering) with emerging “open form”
non-personalized recommendation techniques based
on the social media event stream analysis.
3 MULTI-MODEL APPROACH
FOR RECOMMENDATION
SYSTEMS DESIGN
As it was noted earlier, there is a set of well-known
approaches to make recommendations. Main
criterion for distinguishing between them is the kind
of information used in the respective approach. Each
existing approach inevitably bears some advantages
and disadvantages. In the recommendation systems
research specific consequences of disadvantages
have received metaphorical (usually) names: “cold
start problem”, “grey sheep problem”. The former
one refers to impossibility of a recommendation
system that is based solely on historical data, to
ICEIS 2016 - 18th International Conference on Enterprise Information Systems
252
make recommendations to new users (without any
historical data associated with them) or recommend
new items (not rated by any user yet). The latter one
refers to difficulties in dealing with non-typical
users. These problems on a higher level are
consequences of incompleteness of input data and
assumptions that are immanent to recommendation
systems.
As each of the “pure” approaches to making
recommendations is based on its own set of input
data, it is natural to compensate paucity of
information of one type (more difficult to obtain) by
information of some other type, leveraging several
“pure” approaches simultaneously. This is how
hybrid recommendation systems work.
Hybridization may touch different levels of the
system. For example, one of the most popular forms
of hybridization is “collaboration via content”
(Blanco-Fernández et al., 2008), which is based on
collaborative filtering, but similarity measure
between users is modified in such a way that it
considers not only ratings, but also similarity of
some semantic attributes of users. “Collaboration via
content” is an example of “deep” hybridization as it
transforms the algorithm of one of “pure”
approaches, adding to it some new information. An
example of “shallow” hybridization is an ensemble
of recommendation systems that work independently
with their results merged.
In this paper, recommendation system is built by
similar “shallow” hybridization. The system
includes several independent modules, each of them
implementing one recommendation algorithm
(mostly, “pure” ones, as they are more tried-and-
tested). Along with recommendation modules, the
system includes coordination module that merges
recommendations generated by “pure” algorithms,
using knowledge about their strong and weak sides
and current situation. For example, if there are not so
many ratings in the database, then recommendations
of collaborative filtering module will likely be
regarded as not reliable. Advantage of this modular
construction is the simplicity of adding new
recommendation modules – it requires mapping its
input specification on the information model of the
system and (in some cases) modifying the
coordination module. Coordination module is
intentionally designed as configurable.
Recommendation service provides POI
recommendations on two levels: non-personalized
and personalized. Personalized recommendations are
usually preferable, but their generation requires
information about user-item interactions. If this
information is not available, the service falls back to
non-personalized recommendations, that requires
only aggregate information about item popularity,
For example, if there is no information about users’
preferences, then upon trip to St. Petersburg it is
only possible to recommend popular tourist
locations like Hermitage museum, Peter and Paul
fortress, or St. Isaac’s Cathedral, and these
recommendations can be made only on the basis of
the statistics of visiting. If, however, the user stated
in her profile that she is interested in engineering,
and it is known that she visited Centre Pompidou
during her trip to Paris and enjoyed it, then it is
possible to recommend Central Railway Museum,
Central Museum of Communications, or Erarta
Museum of Contemporary Art.
However, on both levels POI recommendation
may, and usually should be context-aware. In the
non-personalized recommendations level context-
awareness stands for using a stratified and time-
bound data for making recommendations. Non-
context-aware non-personalized recommendations
would be based on overall visiting statistics
(actually, for all time). The simplest form of context-
awareness in this case, would be making
recommendations on yearly statistics data, which
would help to identify and recommend places that
are most popular now recently. The more elaborate
form is making stratified samples, attributing visitors
to days of week, months of year, country of origin
etc. On the other hand, non-context-aware
personalized recommendations are well-known
classical collaborative filtering in the space of solely
user-item ratings, or content-based methods
matching users to some features of items. Context-
awareness would usually mean attributing each
rating set by the user to some kind of external
conditions and limiting ratings used for
recommendations to those, which are attributed to
similar conditions.
3.1 Non-personalized
Recommendations
For non-personalized recommendations that are
most actual in the paucity of preferences data, the
TAIS’s attractions recommendation service
leverages the publicly available geo-tagged stream
of events (photos and tweets). As it was discussed
earlier, non-personalized recommendations are
based on visiting statistics data. There are three
potential sources of these data: a) the data can be
collected by the tourist application itself (TAIS in
this case); b) the data can be queried for from be
local authorities or POI administration; c) the data
Tourist Attraction Recommendation Service: An Approach, Architecture and Case Study
253
can be mined from the global stream of public data.
The source (a) is the most convenient as the data can
be collected with all the needed context attributes
and in the most appropriate form and granularity,
however, it requires a huge number of users and
cannot be employed by a newly created application.
The source (b) relies on the communication with
external entities (local authorities and museums
administration) and is very laborious. It can be
appropriate for a local application, e.g.
St. Petersburg local city guide, but hardly can be
implemented for a global recommendation service
that should work in every location worldwide.
Moreover, it is not suitable for recommending
architectural POIs, publicly available observation
places, as there might be no administration to collect
visiting statistics. With all the drawbacks of (a) and
(b) for making a globally active POI
recommendation service, the option (c) becomes
viable. With the dissemination of camera and GPS-
equipped mobile devices, widening mobile internet
coverage and the forming of new information
processing habits, publicly available stream of geo-
tagged events is becoming more and more affluent.
There are many scientific publications showing
various ways of leveraging this live source of human
activity: from events and opinion detection to, a
more relevant to the topic of this paper, POI
detection and recommendation. However, this
stream obviously bear some bias that must be taken
into account. E.g., it is produced by active users of
social networks and owners of modern smart-
phones. Target users of mobile tourist guide are
obviously a subset of smart-phone owners, but
actually not necessarily are active users of social
networks, so there still is a chance of biased
inference.
In the working prototype of the recommendation
service Flickr is used as a source of geo-tagged
photos. Each geo-tagged photo is interpreted as an
evidence that some user has visited certain
geographical location. In contrast with classical
recommendation systems, making photo doesn’t
express explicitly user’s attitude to the object in the
frame. So, not necessarily making photo is
equivalent to marking the place with “like” or
setting it a good rating. However, as the research on
geo-tagged social media reveals, geo-tags are
concentrated around attractive landmarks and can be
used to detect them.
As TAIS application is targeted on the support of
tourists during trip, it is important to differentiate
between photos that are likely to be done during trip
from those that are done, for example, at the work,
after work and even during weekend by local
population. In this work the approach described in
(Han and Lee, 2015) is adopted. It is based on the
analysis of Flickr user’s profile, specifically its
location attribute. This attribute value designates a
location that is perceived as home for a user.
Therefore, all the photos that are not associated
(taken farther than 30km) with this location are
considered to be done on trip and are processed by
the procedure of popular tourist places detection.
Therefore, a context of a photo for the non-
personalized recommendation includes:
- date and local time when photo was taken with
derivate values;
- photo poster’s home location.
As it was discussed earlier, photo poster’s home
location is used to select relevant photos, whereas
date and time are used to build spatio-temporal map
of location popularity.
All the area is split on rectangles approximately
100x100 meters (10
-4
degrees latitude and variable
range in longitude, depending on the latitude), then
the number of tourist photos in each rectangle is
counted, taking into consideration local time the
photo was taken and its derivative attributes: day of
week, time of day and season. This number is
attributed to all POIs that are located in the
rectangle.
One impediment caused by the way Flickr API is
organized, is that it is relatively easy to estimate the
number of photos in the area, but getting the
attributes (shot time, date and precise location,
poster’s home location) of all the photos is
impractically slow due to the number of API calls
required. To solve this problem, sampling technique
is used.
Figure 1: Example statistics on the number of photos made
by Flickr users in St.Petersburg in 2015.
ICEIS 2016 - 18th International Conference on Enterprise Information Systems
254
3.2 Personalized Recommendations
Personalized recommendations account for user’s
preferences and potentially are more accurate,
however, they demand more information.
Particularly, user preferences should be defined in
some form. In the proposed service personalized
recommendations are represented by context-aware
collaborative filtering.
As TAIS application is targeted on the support of
tourists during trip, it is important to differentiate
between photos that are likely to be done during trip
from those that are done, for example, at the work,
after work and even during
3.2.1 Context-aware Collaborative Filtering
One of the promising directions to improve the
predictive quality of recommendation systems in
general (and collaborative filtering systems among
them) is context-awareness (Adomavicius et al.,
2011). The context describes conditions in which the
user rates an object or asks for recommendations.
In the proposed tourist attraction information
service the following context attributes are
distinguished:
a) time;
b) company in which the user visited the
attraction (alone, with a friend or with the family);
c) weather (sunny, rainy, etc).
Values are assigned to these attributes in mostly
automated fashion. For example, the user opens the
attraction evaluation screen being near to that
particular attraction (according to the mobile
device’s GPS sensor). In this case the time attribute
is filled in with the current time and current weather
is queried from the context service. However, there
is also a possibility to set the values of context
attributes manually in the evaluation screen of the
mobile application. It is convenient, for example, if a
user wants to rate the attractions seen during the day
upon returning to the hotel in the evening. To
facilitate deferred evaluation the proposed system
tracks attractions the user visits and shows unrated
visited attractions in a special screen. The user does
not have to assign values to each context attribute. If
a context attribute is not given a value, it is assumed
to have value “any”.
There are three general approaches to take
context into account in recommendation systems
(Adomavicius et al., 2011): (a) contextual pre-
filtering; (b) contextual post-filtering; (c) contextual
modelling.
The advantage of the contextual pre-filtering and
post-filtering approaches is that they are compatible
with classical (not context-aware) recommendation
algorithms. The context awareness in these
approaches comes true by transformation of either
input or output of the classical recommendation
algorithm. In the contextual pre-filtering approach,
the rating data that is not related to the context is
filtered out before applying the recommendation
algorithm. On the other hand, in the contextual post-
filtering approach the resulting list of
recommendations is ordered or filtered taking into
account context values.
In the contextual pre-filtering approach all the
ratings that are irrelevant to the context discarded
from the rating matrix before the recommendation
algorithm is applied. For example, if in some
attraction recommendation service the context
includes weather conditions, then making
recommendations in a rainy day should not use
ratings assigned in sunny days. This approach
aggravates the important problem inherent to
collaborative filtering systems – rating matrix
sparsity. The main goal pursued by contextual pre-
filtering methods is to take into account the context,
but not let rating matrix to become too sparse.
In the proposed system the context generalization
method (Adomavicius et al., 2005) (one of the
contextual pre-filtering methods) is used for taking
context into account. In this method, the rating
matrix is filtered not only by exact values of context
attributes, but also by its possible generalizations. To
use this method the context model has to support
context generalization. In most general form, it
means that at least one context attribute must be
defined on a set with a strict partial order relation of
generalization (). Let A be a set of attribute values
and a
i
, a
j
A. Then notation a
i
a
j
means that
value a
j
is a generalization of a
i
. A context is usually
represented by m attributes. Let c = (c
1
, …, c
m
) and
c’ = (c
1
, …, c
m
) are two contexts. We define с’ as a
generalization of c (c c’), iff there exists at least
one i {1,..,m}, such that c
i
c
i
. We call context с
incompatible with c’, iff neither c c’ nor c = c’. In
most cases, the generalization relation forms some
kind of a hierarchy (or multiple hierarchies).
In the proposed system, the context
generalization is enabled by following:
a) The set of Time attribute values includes not
only exact date and time values but also “any” value
and aggregate values for each season, day type
(working day or weekend) and time of day
(morning, afternoon, evening). The generalization
relation is defined naturally.
Tourist Attraction Recommendation Service: An Approach, Architecture and Case Study
255
b) The set of Company attribute values includes
values “alone”, “with friends”, “with family” and
“any”. “Any” value is defined to be a generalization
of any other value.
c) The set of Weather attribute values includes
values “sunny”, “rainy”, “cloudy”, “snowy” and
“any”. “Any” value like in (b) is defined to be a
generalization of any other value.
For example, the exact context could be (Time:
“July 31, 2013 17:30”; Company: “with family”;
Weather: “sunny”). This context can be generalized
to (Time: “summer”; Company: “with family”;
Weather: “sunny”) or even to (Time: “summer”;
Company: “any”; Weather: “any”).
It is obvious that a context can be generalized in
several ways and directions. In systems with many
attributes and many levels of granularity of
attributes, enumerating all possible context
generalizations is a problem and various heuristics
are used for picking appropriate generalizations
(Adomavicius et al., 2005). In the proposed system,
there are not so many possible generalizations, so all
of them are enumerated through implicit directed
graph traversal procedure. The nodes of this graph
are attribute values and the arcs are generalization
relations.
A user rates attractions on a five-point scale (1 –
bad, 5 – excellent). The rating obtained from the
user (raw rating) is normalized to reduce individual
bias in assessment: some users tend to put relatively
high ratings to all attractions, others in contrary tend
to put relatively low ratings. Normalized rating
uj
r
~
given by user u to attraction j is defined by formula:
+
+
=
u
Kk
uk
u
ujuj
r
K
rr 3
1
1
~
,
here, r
uj
is raw rating of the attraction j given by
user u, and K
u
is a set of all attractions rated by user
u. The idea of normalization is to shift from user-
oriented five-point scale to calculations-oriented
zero-centered scale. The sign of the normalized
rating corresponds to general attitude of the user
(whether it is positive or negative) and the absolute
value of the rating corresponds to the strength of that
attitude. The straightforward way to normalize
ratings is to subtract scale average (i.e. “3”) from
each rating. It would work nice if users normally
used all the range of five-point scale. However, most
users in fact rate items using some subset of the
scale, e.g., only “3”, “4” and “5”. In this case
subtracting scale average would result in non-
negative normalized ratings missing the fact that the
user definitely likes items he/her rated “5” and
probably doesn’t like items rated “3”. Hence, the
normalization procedure should capture not only the
scale characteristics but also the observed usage of
this scale. Therefore, a popular method of
normalization is subtracting average user rating from
all his/her ratings. This method works well in most
cases but have some subtle drawback which turns
out when there are only a few ratings. For example,
when the user rated only two items – both with “5” –
then normalization over the average user rating
would turn these ratings into zeroes. I.e. a priori
notion of five-point scale with “5” as the best mark
is lost in favor of adaptation to the observed usage of
this scale. To alleviate this drawback in the proposed
system we use slightly modified version of the
normalization over the average user rating. During
the normalization we add one fake rating of “3”
(scale average) to the set of user ratings having a
purpose to stick other ratings to the original notion
of the scale. This modification is significant when
there are a few ratings (in the example above two
“5” ratings become positive) but its contribution to
the normalized ratings vanishes as the number of
users’ ratings grows.
Attraction rating estimation for a given user is
performed in two steps:
1) a group of users with ratings similar to the
given user’s is determined;
2) rating of attraction is estimated based on
ratings of this attraction assigned by users of the
group.
While building the list of recommendations,
several possible generalizations of the context is
used. For each context generalization ratings
received in contexts incompatible with this
generalization are not taken in to account.
User group is determined by k-Nearest
Neighbours method (kNN). The similarity between
users u and v is calculated as a cosine measure
between normalized ratings vectors of users
according to the following formula:
=
uvuv
uv
Ii
vi
Ii
ui
Ii
viui
uv
rr
rr
s
22
~~
~
~
.
Here I
uv
is a set of attractions rated by both users
u and v.
Attraction rating estimation for the user is based
on ratings of that attraction assigned by other users
of the group with respect to their similarity to the
user. It is calculated as a weighted average of
normalized ratings among group members:
ICEIS 2016 - 18th International Conference on Enterprise Information Systems
256
=
Gv
uv
Gv
uvvj
uj
s
sr
r
~
*
,
here G is the group of the user.
3.2.2 Context-aware Knowledge-based
Recommendations
This recommendations module uses the attractions
data extracted from open internet services, tourist
type and context data. It is driven by a knowledge
base connecting tourist properties, attraction
properties and context parameters. The advantage of
this approach is that this module does not require
ratings history and therefore, it can be used
immediately after recommendation service
deployment.
Problems of tourist industry development have
received much attention in the scientific literature.
From the point of this paper, the most valuable are
attempts to build a tourist typology and link different
types of tourists to their preferred types of activities
during trip. One of the first papers proposing a
typology like that was (Cohen, 1972), with 4 types
of tourists. Later, other typologies either for all the
variety of tourists (Wickens, 2002; Gibson and
Yiannakis, 2002), or for some subset of them were
proposed (Mehmetoglu, 2007; McKercher and Du
Curos, 2003).
The knowledge-based recommendation module
uses typologies, proposed in (Gibson and Yiannakis,
2002; McKercher and Du Curos, 2003), as Gibson
and Yiannakis (2002) propose a typology with a
greater differentiation (15 roles), which allows to
specify preferences of each role more precisely.
McKercher and Du Curos (2003) propose a cultural
tourist typology, and cultural tourism is one of the
focuses of this paper.
To fill the knowledge base the results of several
scientific publications (Pearce and Packer, 2013;
Hannam et al., 2014; Park et el., 2012) were used
linking types of tourists and their preferred activities.
Fuzzy logic is used to represent the properties of the
tourist and of the situation. It is caused by the fact that
crisp classifications rarely can be applied to cultural
objects or people (Gibson and Yiannakis, 2002).
Linguistic variable is defined by a tuple (x, T, U,
G, M), where x is a name of the variable, T – term-
set, each element of which (a term) is represented as
a fuzzy set on the universe U; G – syntactical rules
of new terms construction, often in the form of a
grammar; M – semantic rules, defining membership
functions of fuzzy sets in T.
All the linguistic variables in the recommendation
module can be divided into three groups:
1) Variables that describe a tourist type,
according to (Gibson and Yiannakis, 2002;
McKercher and Du Curos, 2003). Their names are
synthesized as prefix “Type_” followed by a type
abbreviation (e.g., Type_SNL corresponds to “Sun
Lover” type from Gibson and Yiannakis (2002)).
Term-set for all these variables is a set T =
{“Definitely true”, “Likely true”, “Likely not true”,
“Definitely not true”}, and a universe – U = [0; 1].
2) Variable Weather, describing the weather in
fuzzy linguistic terms.
3) Output variable Recommend, having term-set
{“Definitely recommend”, “Recommend”, “Neither
recommend or not”, “Not recommend”, “Definitely
not recommend”}.
The recommendations are formed by a set of
fuzzy rules involving statements with linguistic
variables and crisp predicates using Mamdani-type
inference (Mamdani, 1974). For example:
IF (Type_EDT IS “Definitely true” OR
Type_PCT IS
“Definitely true”) AND
ObjectType IS Museum AND
FreeTime > 2 hours
THEN
Recommend IS “Definitely recommend”
3.3 Coordination Module
The goal of the coordination module is to merge
results obtained by various recommendation
modules based on their expected trustworthiness
(which is related to the availability of the
information crucial for the algorithm implemented
by that particular module). Major criteria taken into
account by the coordination module are:
- collaborative filtering module requires
significant amount of user-item ratings;
- to receive recommendations with the help of
collaborative filtering module , a user should express
her preferences by making several ratings;
- non-personalized recommendations module can
function only in the areas where social media stream
is fairly intensive.
Therefore, each recommendation module has its
own restrictions, and the coordination module assigns a
degree of belief to each of the modules, based on
evaluating these restrictions. Coordination module is
also based on fuzzy inference. Linguistic variables used
in its knowledge base can be divided into 4 groups:
1) User characteristics (a number of ratings set
by the user, the number of user’s “neighbours” in the
collaborative filtering module).
Tourist Attraction Recommendation Service: An Approach, Architecture and Case Study
257
2) Ratings database characteristics (RMSE –
Root mean squared error, expected error of rating
prediction by collaborative filtering module).
3) Context characteristics (photos in the region).
4) Output variable Belief.
Rule example:
IF RatingsByUser IS “Many” AND
NeighborsOfUser IS “Many” AND
RMSE IS NOT “High”
THEN
Belief IS “High”
Degree of belief to the recommendations
provided by a module is obtained by applying rules
to the module and defuzzification of the output
variable. After that, recommendations provided by
each of the modules are weighted according to the
degree of belief, ranked, and shown to the user.
Overall architecture of the recommendation service
is shown in Figure 2.
4 TAIS – MOBILE TOURIST
GUIDE
TAIS is a mobile travel guide application based on
Smart-M3 platform (Honkola et al., 2010)
implementing a smart space concept. That allows to
significantly simplify further development of the
system, to add information sources and services, and
to make the system highly scalable. The key idea of
this platform is that the formed smart space is
device, domain, and vendor independent. Smart-M3
assumes that devices and software entities can
publish their embedded information for other
devices and software entities through simple, shared
information brokers. Platform is open source and
accessible for download at Sourceforge.
Implementation of TAIS application has been
developed using Java KPI library. Mobile clients
have been implemented using Android Java
Development Kit. The application consists of a set
of services (Smirnov et al., 2014) that interact with
each other for providing the tourist
recommendations about attraction that is better to
see around. There are client application, attraction
information service, recommendation
service(described earlier in this paper), region
context service, ridesharing service (Smirnov et al.,
2012), and public transport service.
The main application screen is shown in Figure
3, left screenshot. The tourist can see images
extracted from accessible internet sources around,
Figure 2: Recommendation service architecture.
Attraction lists
Ratings
Geographic
coverage with
event statistics
Mobile application
Non-personalized
recommendations module
Context-aware collaborative
filtering module
Coordination module
Context-aware knowledge-
based recommendations
module
Preferences
collector module
Context processing
module
Recommendation modules
Collect preferences
Collect context
Show recommendations
Data storage
Social media data
collector
ICEIS 2016 - 18th International Conference on Enterprise Information Systems
258
Figure 3: Tourist guide screenshots: main screen, context menu with actions.
Figure 4: Tourist guide screenshots: attraction details and route to the attraction.
clickable map with his/her location, context situation
(weather), and the best attractions around ranked by
the recommendation service. When the tourist click
to an attraction the following context menu is
opened (see Figure 3, right screenshot). The tourist
can see detailed information about the chosen
attraction (Figure 4, left screenshot), browse
attraction reaching path that is proposed by the
system route to an attraction (Figure 4, right
screenshot), and/or estimate it (Figure 5, left
screenshot).
Detailed information about attraction contains a
list of images that is associated with this attraction
and it description. This information is extracted by
the attraction information service from different
internet sources (e.g., Wikipedia, Wikivoyage, and
Panoramio are currently used).
The tourist has possibility to rate images using
the following options: “like image”, “dislike image”,
“this image is not applicable” to the attraction (see
Figure 4, left screenshot). Based on these ratings the
recommendation service will re-order images for
this or another tourist next time.
The tourist can browse the attraction reaching
path by choosing “Show on the map” item in context
menu (see Figure 4, right screenshot). The routing
service that is responsible for path finding uses
OpenStreetMap-based web mapping service (Teslya,
List of images
Estimation options
Attraction description
Location Destination attraction
Path
List of images
Clickable
Map
Contex
t
Recommended
attractions
Location
Location on
the ma
p
Tourist Attraction Recommendation Service: An Approach, Architecture and Case Study
259
2014). Routing service provides the tourist
possibility to build pedestrian path, find fellow
travelers who go to the same direction (Smirnov et
al., 2012), and find public transport to reach chosen
attraction.
Tourist can browse information about the best
attractions around presented by the mobile tourist
guide in the main screen and click button “More” to
see more attractions (see left screenshot in Figure 5).
The tourist can estimate if an attraction is interesting
or not by looking through the names and thumbnail
images. If he/she would like to get more
information, it is possible to open description
window (Figure 4, left screenshot). Tourist guide
also calculates distance to every attraction (see
Figure 5, left screenshot).
The tourist can rate an attraction if he/she likes
or dislikes it (see Figure 5, right screenshot). For this
purposes he/she specify the context (company and
weather) and assign rating using five stars scale.
Pressing “menu” button allows to search
information for worldwide attractions by choosing
another area (country, region, and city) and to access
the settings page of the mobile tourist guide
application. In the status bar, the tourist can search
for attractions worldwide.
5 CONCLUSIONS
The paper proposes multi-model approach for
recommendation services for tourist domain, which
aims on dealing with paucity of input information
for recommendations. Its main idea is to create a
family of recommending modules, based on various
principles and requiring different input. To merge
and reconcile results obtained from these modules, a
special coordination module is introduced. It is
designed to be highly configurable and uses
declarative knowledge representation.
The proposed approach is implemented in the
recommendation service of “TAIS – Mobile Tourist
Guide” system, developed under the EU program for
cross-border e-tourism framework in Oulu Region
and the Republic of Karelia (Development of Cross-
Border e-Tourism Framework for the Program
Region – Smart e-Tourism (European Community –
Karelia ENPI CBC 2007-2013 Program, 2012-2014
– project KA322)).
Further work is aimed on implementation of new
recommendation modules and fine-tuning the
knowledge base of the coordination module, based
on the actual usage data.
ACKNOWLEDGEMENTS
The research was partially supported by grants # 14-
07-00345, # 15-07-08092, # 16-07-00463 of the
Russian Foundation for Basic Research and
project 213 (program I.5P) of the Presidium of the
Russian Academy of Sciences. This work was also
partially financially supported by the Government of
the Russian Federation, Grant 074-U01.
Figure 5: Tourist guide screenshots: all attractions around and estimation attraction interface.
Attraction image and
descri
p
tion
Distance to
an attraction
The tourist context
ICEIS 2016 - 18th International Conference on Enterprise Information Systems
260
REFERENCES
Adomavicius, G., Mobasher, B., Ricci, F., Tuzhilin, A.,
2011. “Context-aware recommender systems”, AI
Magazine, vol. 32(3), 2011, pp. 67–80.
Adomavicius, G., Sankaranarayanan, R., Sen, S., Tuzhilin,
A., 2005. “Incorporating contextual information in
recommender systems using a multidimensional
approach”, ACM Trans. Inf. Syst. vol. 23(1), Jan.
2005, pp. 103-145.
Adomavicius, G., Tuzhilin, A., 2005. Toward the next
generation of recommender systems: a survey of the
state-of-the-art and possible extensions // IEEE
Transactions on Knowledge and Data Engineering.
June 2005. vol. 17, no. 6, P. 734--749.
Berka, T. and Plößnig, M., 2004. Designing recommender
systems for tourism. In ENTER. Cairo. Available at:
http://195.130.87.21:8080/dspace/handle/123456789/5
83 [Accessed October 25, 2014].
Blanco-Fernández Y., Pazos-Arias J., Gil-Solla A.,
Ramos-Cabrer M., López-Nores M., García-Duque J.,
Fernández-Vilas A., Díaz-Redondo R., 2008.
Exploiting synergies between semantic reasoning and
personalization strategies in intelligent recommender
systems: A case study // The Journal of Systems and
Software, 81, 2008, 2371-2385.
Borràs J., Moreno A., Valls A., 2014. Intelligent tourism
recommender systems: A survey // Expert Syst. Appl.
2014. Т. 41. С. 7370–7389.
Cohen, E., 1972. Toward a sociology of international
tourism. Social Research 39, 1972, 164–172.
Crandall, D.J., Backstrom, L., Huttenlocher, D.,
Kleinberg, J., 2009. Mapping the world’s photos, in:
Proceedings of the 18th International Conference on
World wide web, WWW’09, ACM, New York, NY,
USA, ISBN: 978-1-60558-487-4, 2009, pp. 761–770.
http://dx.doi.org/10.1145/1526709.1526812.
Gibson, H., Yiannakis, A., 2002. Tourist Roles: Needs and
Lifecourse // Annals of Tourism Research, 2002, Vol.
29, No. 2, pp. 358-383.
Gretzel, U., 2011. Intelligent systems in tourism: A social
science perspective. Annals of Tourism Research,
38(3), 2011, 757–779.
Han J., Lee H., 2015. Adaptive landmark recommendations
for travel planning: Personalizing and clustering
landmarks using geo-tagged social media // Pervasive
Mob. Comput. 2015. Т. 18. С. 4–17.
Hannam, K., Butler, G., Paris, C.M., 2014. Developments
and key issues in tourism mobilities // Ann. Tour. Res.
2014. Т. 44. С. 171–185.
Honkola J., Laine H., Brown R., Tyrkko O., 2010. Smart-
M3 Information Sharing Platform // Proc. of ISCC
2010, IEEE Comp. Soc. Jun. 2010. Pp. 1041-1046.
Lu, X., Wang, C., Yang, J.-M., Pang, Y., Zhang, L., 2010.
Photo2trip: generating travel routes from geo-tagged
photos for trip planning, in: Proceedings of the
International Conference on Multimedia, MM’10,
ACM, New York, NY, USA, ISBN: 978-1-60558-933-6,
2010, pp. 143–152. http://dx.doi.org/10.1145/1873951
.1873972.
Mamdani, E. H., 1974. Application of fuzzy algorithms
for the control of a simple dynamic plant // In Proc
IEEE (1974), 121-159.
Marcus, M.S. Bernstein, O. Badar, D.R. Karger, S.
Madden, R.C. Miller, 2011. Twitinfo: aggregating and
visualizing microblogs for event exploration, in:
Proceedings of the 2011 Annual Conference on
Human factors in computing systems, CHI’11, ACM,
New York, NY, USA, ISBN: 978-1-4503-0228-9, 2011,
pp. 227–236.
McKercher, B., Du Cros, H., 2003. Testing a cultural
tourism typology // International Journal of Tourism
Research, 2003, 5(1), 45–58.
Mehmetoglu, M., 2007. Typologising Nature-Based
Toursits by Activity – Theoretical and Practical
Implications // Tourism Management, 2007, 28, pp.
651-660.
Park, H., Yoon, A., Kwon, H., 2012. Task Model and Task
Ontology for Intelligent Tourist Information Service //
2012. Т. 5. 2. С. 43–58.
Pearce, P.L., Packer, J., 2013. Minds On The Move: New
Links From Psychology To Tourism // Ann. Tour. Res.
2013. Т. 40. С. 386–411.
Smirnov A., Kashevnik A., Ponomarev A., Shilov N.,
Shchekotov M., Teslya N., 2014. Smart Space-Based
Intelligent Mobile Tourist Guide: Service-Based
Implementation, Proceedings of the 15th Conference
of Open Innovations Association FRUCT,
St.Petersburg, Russia, ITMO university publisher
house, 21-25 April 2014, 126-134.
Smirnov A., Shilov N., Kashevnik A., Teslya N., 2012.
Smart Logistic Service for Dynamic Ridesharing,
Internet of Things, Smart Spaces, and Next Generation
Networking, 12th International Conference, NEW2AN
2012, and 5th Conference, ruSMART 2012, St.
Petersburg, Russia, August 27-29, 2012, pp. 140-151.
Teslya N., 2014. Web Mapping Service for Mobile Tourist
Guide, Proceedings of the 15th Conference of Open
Innovations Association FRUCT, Saint-Petersburg,
Russia, ITMO university publisher house, 21-25 April
2014, pp. 135-143.
Wickens, E., 2002. The Sacred and the Profane: a Tourist
Typology // Annals of Tourism Research, 2002, Vol.
29, No. 3, pp. 834-851.
World Tourism Organization, 2015. UNWTO Tourism
Highlights 2015 Edition, URL: http://www.e-
unwto.org/doi/pdf/10.18111/9789284416899
[Accessed December 10, 2015]
Yin, H., Lu, X., Wang, C., Yu, N., Zhang, L., 2010.
Photo2trip: an interactive trip planning system based
on geo-tagged photos, in: Proceedings of the
International Conference on Multimedia, MM’10,
ACM, New York, NY, USA, ISBN: 978-1-60558-933-6,
2010,
pp. 1579–1582.
Tourist Attraction Recommendation Service: An Approach, Architecture and Case Study
261