Sie sind auf Seite 1von 12

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/224041416

Turist@: Agent-based personalised recommendation of tourist activities

Article  in  Expert Systems with Applications · March 2012


DOI: 10.1016/j.eswa.2012.01.086

CITATIONS READS

49 497

5 authors, including:

Montserrat Batet Antonio Moreno


Universitat Oberta de Catalunya Universidad de Extremadura
57 PUBLICATIONS   1,308 CITATIONS    163 PUBLICATIONS   2,100 CITATIONS   

SEE PROFILE SEE PROFILE

David Sánchez David Isern


Universitat Rovira i Virgili Universitat Rovira i Virgili
154 PUBLICATIONS   2,825 CITATIONS    70 PUBLICATIONS   1,478 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Privacy protection View project

Breast image analysis View project

All content following this page was uploaded by David Sánchez on 26 February 2018.

The user has requested enhancement of the downloaded file.


Expert Systems with Applications 39 (2012) 7319–7329

Contents lists available at SciVerse ScienceDirect

Expert Systems with Applications


journal homepage: www.elsevier.com/locate/eswa

Turist@: Agent-based personalised recommendation of tourist activities


Montserrat Batet, Antonio Moreno, David Sánchez ⇑, David Isern, Aïda Valls
Departament d’Enginyeria Informàtica i Matemàtiques, Universitat Rovira i Virgili, Av. Països Catalans, 26. 43007 Tarragona, Catalonia, Spain

a r t i c l e i n f o a b s t r a c t

Keywords: Recommender systems in e-Tourism normally focus on helping tourists to select appropriate destina-
Multi-agent systems tions. A related problem that has been less explored in the literature is how to provide personalised rec-
Recommender systems ommendations of cultural and leisure activities when the tourist has already arrived at the destination.
Tourism This paper presents a novel recommendation system, Turist@, which addresses this issue. Its agent-based
modular design permits to model different kinds of activities in a flexible way, and allows the implemen-
tation of a location-aware front-end in the mobile device of the user. Special care has been put in the rec-
ommendation engine, implemented via a specialised Recommender Agent. It incorporates a mixture of
content-based and collaborative recommendation strategies, thus avoiding the drawbacks of each indi-
vidual method, and is able to perform recommendations in heterogeneous scenarios. Recommendations
take into account user profiles which are implicitly updated after the analysis of user actions (e.g., que-
ries, evaluations). The system has been successfully deployed and tested in the World Heritage-listed city
of Tarragona.
Ó 2012 Elsevier Ltd. All rights reserved.

1. Introduction of great importance for the user to be aware of the specific attrac-
tions that can be visited when he/she has already arrived at a
Tourism has experienced an enormous growth in recent years, particular destination. Information about points of interest and
motivated, in part, for the fast development of information and com- cultural and leisure activities is very dynamic and, in many cases,
munication technologies and the global spread of Internet (Alptekin difficult to retrieve, analyse and filter. On-site dynamic recommen-
& Büyüközkhan, 2011), which have eased the access to large dations play an important role both for the tourist, who is inter-
amounts of information about destinations, points of interest and ested in attractions that he/she may enjoy according to his/her
travelling plans to potential tourists all around the world. Nowadays, personal profile, and for the destination provider, who is interested
e-Tourism (Castillo et al., 2008) enjoys a great success both from an in increasing the visibility of the available attractions, especially in
economic and a social perspective. Many electronic sites and Web the case of low-profile activities in popular destinations, an impor-
portals offer up-to-date information which is massively used by tant aspect of the so called sustainable Tourism (Borrás et al., 2011).
tourists to select destinations and plan their trips. Due to the obvious In recent years, a scarce number of tourism recommender systems
interest of both tourists and destination providers in selecting enjoy- have focused on this aspect. Unlike the above-mentioned systems,
able destinations, and taking into account the overwhelming these approaches should face, in addition to the profile-based
amount of information available through the Web, many recom- recommendation task, other related issues such as the retrieval
mender systems have been developed to assist in the process of and appropriate consideration of the user’s constraints during the
choosing travel destinations and planning tourist trips (see an over- stay (e.g., in aspects like budget, accessibility, language or agenda),
view in Section 2). Considering that Tourism is an activity strongly the dynamic determination of the user’s position and its integra-
connected to personal preferences and interests (Garcia, Sebastia, tion in a location-aware recommendation process (i.e., geo-locali-
& Onaindia, 2011), recommender systems usually rely on ratings sation of the user and the points of interest), and the inclusion of
and opinions of previous users to suggest possible destinations. a desirable high degree of proactivity and dynamicity in order to
As will be shown in the related work section, most of the adapt the system’s suggestions to the behaviour of the user at
recommender systems that have been developed in the last years the destination (Castillo et al., 2008).
focus on the analysis and comparison of tourist destinations, to The system presented in this paper is framed in this context and
help the user to select the most appropriate one. However, it is also it has been designed with the following main goals in mind: (i) to
provide an easy and ubiquitous access to the desired information
⇑ Corresponding author. Tel.: +34 977256563; fax: +34 977559710.
about tourist attractions, (ii) to provide proactive recommenda-
E-mail addresses: montserrat.batet@urv.cat (M. Batet), antonio.moreno@urv.cat
(A. Moreno), david.sanchez@urv.cat (D. Sánchez), david.isern@urv.cat (D. Isern),
tions of attractions by means of a hybrid recommendation system
aida.valls@urv.cat (A. Valls). that considers elements such as the user profile and preferences,

0957-4174/$ - see front matter Ó 2012 Elsevier Ltd. All rights reserved.
doi:10.1016/j.eswa.2012.01.086
7320 M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329

the location of the tourist and the activities, and the opinions of On the other side, there is a scarcer number of approaches fo-
previous tourists, and (iii) to implement a high degree of dynamic- cused on recommending a list of attractions that the tourist can
ity and flexibility so that the system can easily adapt to changes in visit at the destination. From the user point of view, the recom-
the activities and incorporate new information transparently at mender will suggest places to visit in a certain geographical area
execution time. taking into account his/her profile, computing a tourist daily plan,
From a technological perspective, the system relies on agent with indications about the given timeframe and even instructions
technology to provide a solution fitting with the above-mentioned about how to go from one place to another. In order to recommend
goals. Agents and multi-agent systems (Wooldridge, 2009) allow satisfactory tourist attractions, it is important to ensure that their
modelling, at a very high level, heterogeneous and distributed sys- characteristics match with the travellers’ preferences (Huang &
tems and environments, and can act autonomously and proactively Bian, 2009). However, travel preferences are often hidden and are
while cooperating between them to solve a complex problem not explicitly known when users start to plan their trips, particu-
(Isern, Sánchez, & Moreno, 2011; Isern et al., 2011). Agent-based larly if visiting an unfamiliar place (Loh, Lorenzi, Saldana, &
systems offer added values thanks to features not found in classical Licthnow, 2003). Unlike the approaches mentioned above,
software engineering paradigms such as elaborated communica- attraction recommendations are typically performed on-line at
tive skills, which allow complex negotiation processes, and a high the destination place according to several dynamic criteria (e.g.,
degree of flexibility and modularity (Moreno, Isern, & Sánchez, user’s preferences, timetable, location, etc.). In this case, the main
2003; Sánchez, Isern, Rodríguez-Rozas, & Moreno, 2011). problem consists on considering and integrating these criteria to
Summarising, this paper presents an agent-based recommender propose a list of recommendations.
system called Turist@. The tourist interacts through a graphical User preferences can be obtained in different ways. Usually,
interface with a User Agent that may be running in the user’s mo- tourists are required to express them explicitly. For example, in
bile phone or PDA. There is a Recommender Agent that stores the City Trip Planner (Vansteenwegen, Souffriau, Berghe, & Oudheus-
preferences of each user. These preferences are initialised with a den, 2011) the system suggests points of interest after capturing
brief questionnaire, but are continuously refined and updated the tourist’s trip constraints and interests through a small ques-
through the analysis of the actions made by the user in the system tionnaire. These interests are used to predict a personal interest
(e.g., the queries he/she makes, or the evaluations performed after score for each point of interest. The system, however, is focused
visiting a particular attraction). Thus, a combination of explicit and on scheduling and location constraints, considering the GPS coordi-
implicit techniques is considered to manage the user profile. The nates and opening hours of the points of interest to propose a solu-
system provides proactive location-based recommendations, tion to the ‘‘tourist trip design problem’’, which is a difficult
warning the user when it is near an activity that may be interesting combinatorial optimisation problem.
for him/her. The items to be recommended are computed with a Another recent system focused on constraint satisfaction is
mixture of content-based and collaborative techniques. e-Tourism (Garcia et al., 2011; Sebastia, García, Onaindia, &
The rest of the paper is organised as follows. Section 2 discusses Guzman, 2009), which assists a user on the generation of a per-
related works proposing recommenders systems focused on the sonalised tourist plan for the city of Valencia in Spain. It also allows
Tourism field. Section 3 explains the design and architecture of for the arrangement and scheduling of the tourist activities by han-
the proposed solution, based on a multi-agent system. Section 4 dling different sources of information like opening times, distances
describes the management and update of user profiles. Section 5 between the places to visit or the time spent on each attraction.
describes the different strategies and methods used to implement Recommendations are provided by a group of tourists and are
the recommendation process according to the user’s preferences. aggregated by the system, which proposes new items based on
The final section discusses and summarises the main contributions group-based recommendations. Intrigue (Ardissono, Goy, Petrone,
of the work. Segnan, & Torasso, 2003) is another group-based recommender
system that organises tours and provides an interactive agenda
for scheduling the visits.
2. Related work In Büyüközkan and Ergün (2011) the authors propose a case-
based reasoning system that permits to search for activities in
As stated in Huang and Bian (2009), a travel plan typically con- which the visitor may be interested. It incorporates a function
sists of several steps, such as choosing the destinations, selecting called ‘‘search for inspiration’’, intended for the travellers who do
tourist attractions, choosing accommodations, deciding routes, not have a clear idea on the travel date, region to visit or precise
etc. Some of these elements are chosen before the tourists arrive accommodation. The most important drawback of this system is
at the destination (such as the place, accommodation, etc.) that it requires the creation of a wide product catalogue annotated
whereas others (such as concrete recreational activities) are com- with a set of preference criteria that should be determined a priori.
monly decided during the tourist stay. The approach by Huang and Bian (2009) uses an ontology to model
Most of the travel recommender systems developed in the past the information on tourist attractions. It uses a Bayesian network
(e.g, DieToRecs (Fesenmaier, Ricci, Schaumlechner, & Zanella, to match the user’s preferences to those of other travellers with
2003), ITR (Ricci, Arslan, Mirzadeh, & Venturini, 2002) or (Delgado similar tastes. Tourist attractions are ranked, spatially mapped
& Davidson, 2002)) have focused on the former issue. The main and presented to the user.
problem faced by this kind of systems regards the integration of Other recommenders try to capture implicitly the preferences of
heterogeneous sources of information (like Web resources associ- the tourists, by analysing their interaction with the system. For
ated to flight or hotel companies) in order to configure a trip that instance, the application developed in Castillo et al. (2008) dynam-
matches with the user’s constraints (e.g., budget, calendar) and ically builds a user profile according to his/her past behaviour, and
preferences (e.g., destination type). In many cases, information it recommends places visited by users with similar profiles, com-
extraction techniques and semantic technologies such as specially puted by means of a case-based reasoning mechanism and the
tailored ontologies are used to parse, interpret and integrate infor- K-Nearest Neighbour algorithm. An ontology is used to conceptual-
mation stored in heterogeneous sources (Ambite, Barish, Knoblock, ise the information of the user. The system has been implemented
Muslea, & Minton, 2002; Camacho, Aler, Borrajo, & Molina, 2005). as a multi-agent system, consisting of three main agents: user
Those systems store a set of preferences of the user that allows modelling and interface agent, case-based agent, and planning
them to rate a collection of destinations. agent. Another agent-based approach is proposed by Lee, Chang,
M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329 7321

and Wang (2009). Their context decision agent first finds concepts Concerning the profile of the users, there are two basic possibil-
of a specially tailored ontology that match the tourist’s require- ities. One of them is that each user keeps an internal hidden profile,
ments. After that, their travel route Recommender Agent uses fuz- created from information explicitly given by the user. In that case,
zy logic techniques to select and sort sites of interest. the system cannot access this information, and it cannot personal-
Recommender systems may be classified in three basic types, ise the recommendations; however, the user interface may filter
depending on the strategy followed to suggest recommendations: the recommended activities that suit the user preferences. This
content-based, collaborative and demographic approaches possibility imposes a heavy burden on the interface side, which
(Montaner, López, & Rosa, 2003). In a nutshell, in collaborative fil- could be continuously receiving information of hundreds of activ-
tering approaches (Kruszyk, Ganzha, Gawinecki, & Paprzycki, ities totally unrelated to the user interests. The other possibility,
2007), recommendations are made by matching users that have which is the one that has been adopted in Turist@, is to keep a cen-
similar preferences and suggesting items they like (e.g., the sys- tralised database with the profiles of all the users of the system.
tems (Castillo et al., 2008) and (Lee et al., 2009), mentioned above). Some of the advantages of this design are the following: the profile
This requires several ratings from the users before the system may may be dynamically managed by the system (updating it automat-
begin to make recommendations. This is known as the cold-start ically after analysing the actions of the user), the system filters the
problem (Montaner et al., 2003). Content-based approaches activities that are appropriate for each user (thereby removing this
(Pazzani & Billsus, 2007) recommend items by considering the work from all the user interfaces) and the system may compare the
content features of items that users have enjoyed previously. Only preferences and explicit event evaluations of different users, allow-
items closely related to those the user liked in the past are recom- ing the implementation of effective collaborative recommendation
mended. To perform this kind of recommendation, it is required to techniques.
build a user profile that stores the degree of interest (i.e., a score) Regarding the cultural and leisure activities, it is important to
on each of the different criteria that describe an activity. Such take into account that their number may be very large, and they
information can be extracted by fill-in forms but, as the set of char- may be generated dynamically by several organisations. Thus, it
acteristics can be quite large, it is known that this process is not may be complex to keep a centralised database with all the differ-
adequate because long questionnaires result in inconveniences ent events, and it might be computationally expensive to access
for the participants in a survey. Therefore, many systems do not such a database to answer the explicit queries of each user. One de-
only consider the explicit information offered by the users but also sign possibility that alleviates this problem is to keep small dat-
the implicit information given by their interaction with the system. abases focused on particular kinds of events (e.g., a database of
Demographic recommenders categorise users according to stereo- sportive events). Then, as the system will have several small repos-
typical classes and base the recommendations on general features itories, it is necessary to add an intermediate layer between the
related to those classes. Rough recommendations result from these user interface and these repositories that handles the queries of
approaches as individual preferences are not considered. the users and transforms them into queries to the appropriate
To overcome the limitations of these individual recommenda- databases.
tion schemas, some authors propose hybrid approaches (Burke, Another important design issue relates to the user interface. The
2000; Salter & Antonopoulus, 2006), aiming to incorporate the ben- intention is that the system is location-aware, i.e. the system
efits of these strategies. The most commonly combined schemas are knows which is the position of the user in the city (up to a certain
collaborative and content-based ones (Schiaffino & Amandi, 2009), precision) and it can suggest proactively events that are near and
even though there exist some examples combining demographic coincide with the user interests. Therefore, the user interface
and content-based recommendations (Garcia et al., 2011). For should be running in a mobile device (smart phone, PDA) with
example, in Schiaffino and Amandi (2009) the authors present some kind of embedded geo-localisation service (e.g., GPS, now
Traveller, an expert agent in the tourism and travel domain, which available virtually in all high-level phones) but, at the same time,
combines content-based user profiles, collaborative filtering, and it must be able to communicate the user inputs (queries, event
also demographic user profiles to make recommendations. How- evaluations) and receive the system outputs (recommendations)
ever, it is focused on the selection of holidays packages rather than to/from the rest of the system, which will be running in fixed com-
the suggestion of particular attractions at the destination. puters. Thus, it must clearly be a distributed system.
In conclusion, works proposing hybrid recommendation ap- Agent technology was chosen for the design and implementa-
proaches for dynamic, proactive and personalised tourist recom- tion of Turist@ because its main properties fit well with the system
mendations at the destination, like the one proposed in this requirements commented in the previous paragraphs:
paper, are scarce.
 Agent technology is especially appropriate for the development
of distributed systems.
3. Design and development of the recommender system
 Each user of the system may have a personal User Agent run-
ning in his/her mobile device, which may communicate with
This section provides a thorough description of Turist@. First,
the rest of the agents of the system.
we describe the design decisions that led to the adoption of agent
 It is possible to define several areas and keep a small database
technology for this application. After that, the agent-based archi-
with the events associated to each area, and provide a specific
tecture of Turist@ is presented, and the functionalities of each of
agent that controls the access to each of these repositories. This
the agents are explained in detail.
design also allows the easy addition or removal of an area.
 The recommendation techniques may be embedded in a specia-
3.1. Design considerations lised Recommender Agent, which may keep a database with all
the user profiles and update them dynamically by receiving
A system that aims to provide on-site dynamic recommenda- information from the user queries and evaluations. This agent
tions of activities needs to have information, on the one side, about may also provide proactive recommendations, as it may be con-
the preferences and interests of each user and, on the other side, tinuously aware of the location of the user. As it has the infor-
about all the activities and events that are available in the city. mation of all the users of the system, it can easily apply
Let us analyse these two aspects in detail. collaborative recommendation techniques.
7322 M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329

 It is possible to add to the system a Broker Agent that acts as a capabilities), so that the tourist can interact with it at any moment
gateway between the User Agents and the information of the from any point of the city. Its main aim is to provide an intuitive
activities stored in several databases, hiding the distributed graphical interface to the user to enable the search for activities
storage of the information from the rest of the system. and reception of recommendations. Moreover, the User Agent is
the gateway for the user with the rest of the agents in the system.
The next section describes in more detail the architecture of the When a new tourist wants to use the system and a new instance
system and the behaviour of each type of agent. of the User Agent is initialised, the first task is to show to the user a
brief questionnaire (see Fig. 2) requesting some personal and
3.2. Architecture and functionalities of Turist@ demographic data (e.g. age, spoken languages, nationality) and its
degree of interest in some areas. In order to ease this task and col-
Fig. 1 shows the architecture of Turist@. It has been designed lect the maximum amount of user information, the user prefer-
and implemented as a multi-agent system, with the following ences are represented through questions about specific areas
types of agents: such as History, Science, Music, Art, Sports, Cinema and Theatre.
As users are prefer expressing opinions using qualifiers than with
 User Agents–There is one User Agent for each tourist that wants continuous numerical values, preferences are expressed by means
to access the system. It provides a graphical interface that offers of five linguistic labels (Very Low, Low, Medium, High and Very
several services, such as receiving personalised recommenda- High), which are internally translated to numerical values (0,
tions, searching for activities with particular characteristics or 0.25, 0.5, 0.75 and 1, respectively). This information is sent to the
updating the profile. Recommender Agent, and it provides an initial rough picture of
 Activity Agents–There is one agent of this kind for each type of the preferences of the user, that can be used to guide the persona-
activity considered in the system. In the prototype that has been lised recommendations of the system. However, as will be detailed
implemented, the activities that have been included are Sights, in Section 4, the user profile is not static, but it is dynamically up-
Museums, Itineraries, Exhibitions, Conferences, Concerts, dated after each interaction of the tourist with the system.
Sports, Cinemas and Theatres. Thanks to the system modularity The interface provided by the User Agent allows the tourist to
and the flexibility of multi-agent systems, it is possible to add/ search for activities that satisfy a given set of constraints. As shown
remove activity types at runtime, adapting the system to partic- in Fig. 3, the parameters that may be specified in a search are the
ular cities, areas or daily changes. kind of activity, the accessibility of the activity for handicapped
 Broker Agent - Provides a gateway between the User Agents and people, the possibility of having guided visits, the languages in
the Activity Agents. which the activity is performed, the date in which the activity is
 Recommender Agent–Its main aim is the recommendation of held, the recommended age for the activity, and the availability
activities according to the user’s preferences. In addition, this of reduced prices for special users (e.g. an activity may be free
agent keeps and updates the information about the interests for senior people, children or University students). The user can
of each user on the different classes of activities. also specify in the search a maximum fee he/she is willing to pay
to attend an activity. All this information is sent to the Broker
The following paragraphs describe in more detail the function- Agent, which manages the search appropriately as will be detailed
ality of each type of agent and its interactions with the other in Section 3.2.3.
agents of the system, whereas Sections 4 and 5 will focus on the The User Agent interface also allows the tourist to request
management of the user profile and the personalised recommen- explicitly personalised recommendations. In that case, the request
dation processes. is sent to the Recommender Agent, which will match the user pro-
file with the characteristics of all the events available in the city
3.2.1. User Agent (content-based recommendation) and/or it will select those activ-
The User Agent associated to each user may be running in a mo- ities that other users with similar profiles have previously enjoyed
bile device (smart phone or PDA, preferably with geo-positioning (collaborative recommendation). This procedure will be detailed in

Fig. 1. Architecture of the Turist@ system.


M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329 7323

Fig. 2. Initial user’s profile.

Fig. 3. Search criteria for activity retrieval.


7324 M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329

Fig. 4. Recommended activities shown (circled) according to user’s location.

Section 5. The activities that are more suitable to the user are sent activity search or a recommendation is requested. In particular,
to the User Agent, who shows them to the tourist as a list in the only the specific information required to filter activities is sent to
graphical interface (see Fig. 4). Then, the tourist can select any of those agents (e.g. type of activity or if it offers guided visits or not).
the recommended items to have more detailed information (e.g.
picture, address, opening times). 3.2.3. Broker Agent
The Broker Agent is a facilitator of the communication between
3.2.2. Activity Agent the User Agents and the Activity Agents. When it receives a query
Activity Agents are generic entities that manage the informa- from the user, it can search in its local database (for each activity,
tion of particular attractions (e.g, Exhibitions, Museums, Cinema, only the information associated to search parameters is stored),
Theatre, Sports, etc.). Each one has a local database in which it which are the activities that fulfil the required conditions. After
stores the information about specific events of a certain type that having solved the search, it requests to the involved Activity
are going to take place in the city (e.g., the Exhibitions Agent has Agents all the additional information associated to each of the
information about all the exhibitions currently available in the city query results. For instance, if one of the results is an exhibition,
and those that are scheduled for the near future). In the current it requests to the Exhibition Agent the complete data of that event
prototype, these local databases are fed with the information pro- (address, time, name of the artist, etc.). In that way, it can show to
vided by the local Tourism office, through the graphical interfaces the user the complete information of all the results of the search.
provided by these agents. This agent is also involved in the implicit profile user update
The generic design of these Activity Agents allows modifications (widely explained in Section 4.2).
to tailor the design to specific circumstances. For example, in the
current prototype, due to the information provided by each mu- 3.2.4. Recommender Agent
seum is much more complex than the data associated to a single The main aim of this agent is to perform recommendations to
event, it was decided to have one particular Museum Agent for users according to their profiles. These profiles, as will be detailed
each museum in town. Each museum has the responsibility of in Section 4, store the preferences of the users in relation to the se-
updating the information available about the museum activities ven areas mentioned above. The initial preferences are given di-
in the local database of its corresponding Museum Agent. All the rectly by the user in the initial questionnaire (see Fig. 2);
Museum Agents are connected to a Museum Coordinator Agent, however, they are dynamically updated by the Recommender
which is their gateway with the rest of the agents of the system. Agent through the analysis of the information provided by the
Specially tailored agents derived from the generic design of Activ- interaction of the user with the system. In particular, as will be
ity Agents improve the flexibility of the system. seen in Section 4, the profile is updated implicitly taking into
When an event is added to the system (see Fig. 5, with the inter- account the results of the queries made by the user and his/her
face to add a new itinerary), the complete description of the event explicit evaluation of attended events.
is saved into the database that is managed by the corresponding The Recommender Agent also keeps a database with some
Activity Agent. Moreover, in order to make the system more effi- items about the activities available in the city in order to have a
cient, a subset of this information is sent both to the Broker Agent quick access to their main features. In that way, when an explicit
and to the Recommender Agent. As a result, these agents have a or implicit recommendation process is needed, it can easily com-
cache of activities from which they can make quick searches, pare the interests of the user with the characteristics of the avail-
avoiding the time-consuming process of making queries to all able events. In addition, when a recommendation is requested, a
the Activity Agents about all of their activities every time an filtering process is executed over the available activities. When it
M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329 7325

Fig. 5. Adding a new Itinerary to the activity database.

has discovered which are the activities that fit better with the pref- instance, a conference about the most relevant sportive and musi-
erences of the user, it can request to the appropriate Activity cal events in Tarragona during the Roman Empire could have high
Agents their full information. These data are sent to the User Agent values in the History, Music and Sport categories, but low values in
that shows it to the user in its graphical interface. Art, Science, Cinema and Theatre. In addition, according to this ini-
tial profile, Turist@ classifies each new user into a group of tourists
4. Dynamic management of the user profile with similar preferences. In this way, the system is able to make
recommendations in which the preferences and previous experi-
In order to assess which are the activities more suitable for the ences of those similar users can be considered.
user, it is necessary to keep a profile with updated information One of the most interesting aspects of Turist@ is its ability to
about his/her preferences. In this section, we describe which infor- keep refining the knowledge about the user preferences as it
mation is stored in the user profile and how it is continuously receives information from the actions performed by the user in
updated as a result of the analysis of the interaction of the user the system. Turist@ includes mechanisms that allow an automatic
with the system. After that, in the next section we explain how update of the user profile in two moments in an implicit and in an
the system can provide both content-based and collaborative pro- explicit way (Moukas, 1997): after the user evaluates explicitly an
active recommendations. event that he/she has attended, and after the user makes a query.
As described in Section 3.2.1, the user profile stores some basic These updating methods are described in the following
demographic data (birth date, nationality, level of studies, spoken subsections.
languages, kind of travel group, disabilities), start and end date of
the trip, and a level of interest in seven areas (Art, History, Science, 4.1. Profile update after an explicit evaluation
Music, Sport, Cinema, Theatre). The demographic data, travel dates
and an initial assessment of the interest level in the seven catego- In explicit profile updating, the system requires that the user
ries are obtained with a brief questionnaire filled by the user when evaluates the recommended activities by indicating how interest-
the corresponding User Agent is initialised (recall Fig. 2). As ex- ing or relevant an item is for him/her (see Fig. 6). There are differ-
plained in Section 3.2.1, the interest levels are represented with ent approaches to update the user profile according to the method
qualitative labels (Very Low, Low, Medium, High and Very High), used to get the relevance feedback (Montaner et al., 2003). Like/
which are internally represented with values between 0 and 1. dislike approaches require that the user judges items in a binary
Thus, the information on the user preferences is finally represented scale. Rating approaches require that the user provides judgements
by 7 numerical values. It is important to know that the system also in a discrete scale (numeric or symbolic using linguistic labels
keeps, for each individual activity available in the city, the degree mapped to a numeric scale). Finally, textual approaches gather
of relevance of that activity for the seven chosen areas or features comments and present them to the user. In this work, the explicit
(also represented by a numerical value between 0 and 1). So, for profile update is done by means of a rating approach. In addition,
7326 M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329

After having answered a query from the user, the Broker Agent
informs the Recommender Agent about the results of the query
made by the user. These events are potentially interesting for the
user, since they satisfy the requirements of a specific query pro-
vided by him/her. Thus, this information can be very valuable to
refine automatically the knowledge about the interests of the user.
A query may be conceptualised as an implicit description of the
preferences of the user. For example, if the user requests for the-
Fig. 6. The system requests the user to give his/her opinion on a previous activity.
atre plays available on the city for the next weekend, it is implicitly
telling us that he/she is interested in events related to the Theatre
feature (which may not be just theatre plays, but other events like
Table 1 conferences or exhibitions related to theatrical aspects, like a con-
Modifying factors of the user profile after an explicit
evaluation.
ference on Hamlet or an exhibition on Shakespeare’s life). More-
over, queries also provide negative information, on the features
Qualitative evaluation Adding factor in which the user is not interested. For instance, if all the events
Very Bad v2 sent to the user as results of his/her requests are unrelated to
Bad v1 Sports, it seems reasonable to infer a lack of interest in sportive
Good 0
Very Good v1
activities. These intuitions are formalised as follows. Let us take
Excellent v2 an activity a that is the result of a query of the user. The activity
a is represented by a vector of 7 values between 0 and 1 that de-
note the relationship of that event with the seven defined areas
(Art, History, Science, Music, Sport, Cinema, Theatre), so that
we can distinguish between positive feedback (items liked by the a = (a1, a2,. . ., an), with n = 7. Let us also consider the user profile
user) and negative feedback (items that the user did not like). u = (u1, u2,. . .un), where each component on the vector profile rep-
In more detail, in our proposal, the user can indicate which of resents the user’s degree of preference in the same n areas. Then,
the recommended activities he/she is interested in attending. The the update of each of the seven components of the user profile is
Recommender Agent stores this information. Daily, the Recom- modulated by a threshold d and two fixed values v1 and v2 as
mender Agent checks which are the activities that were held the follows, where 1 < = i <= 7:
day before and were attended by the user and it requests to the
corresponding User Agent to ask the user about his/her opinion  If ai  ui > d then ui = ui + v1
on the event. This evaluation is qualitative using linguistic terms:  If d > ai  ui > 0 then ui = ui + v2
{Very Bad, Bad, Good, Very Good, Excellent}. This information is  If d > ui  ai > 0 then ui = ui  v2
sent to the Recommender Agent to update the user profile.  If ui  ai > d then ui = ui  v1
The idea is to increase/decrease the degrees of preference on the
features relevant for the evaluated activity, depending on the These expressions increase or decrease the degree of interest of
degree of user’s interest on it. For instance, taking the conference the user for each of the areas, depending on the current value of
example proposed above, a positive evaluation should increase interest and the difference between this value and the relevance
the interest on History, Music and Sport, whereas a negative eval- of that area for the activity a. The idea is that v1 > v2, so that the
uation should decrease the interest on these three features. In par- change in the user profile is bigger in the first and the last cases,
ticular, some authors claim that negative evaluations usually when the difference has a value exceeding a given threshold. The
produce an improvement in the system’s performance (Montaner three parameters d, v1 and v2 can be customised to define a hard
et al., 2003). Note that the preferences on the other items (e.g. Cin- or soft update policy.
ema) should not be affected by the evaluation of this conference.
The degree of change on the preference depends on the strength
of the positive/negative feedback; this is done using the values 5. Personalised recommendations
shown in Table 1.
So, for instance, if the user evaluates as ‘‘Very Good’’ the previ- The main feature of Turist@ is its ability to provide personalised
ous conference, his/her preference levels on History, Sports and recommendations of activities to the tourists that visit a city. The
Music will be increased in v1. If the evaluation was ‘‘Very Bad’’, main idea is to use the information stored in the user profile in or-
each of the preference levels on these three areas in the user profile der to assess which are the events interesting for each particular
would be decreased by v2. It is checked that the updated prefer- tourist may be interested, avoiding an over-recommendation of
ence value is still in the [0, 1] interval. activities. Turist@ is a hybrid recommender system, as it combines
content-based and collaborative recommendations. In both cases,
4.2. Implicit profile update the activities to be recommended are filtered according to their
type of activity, language, date of performance, recommended
In implicit profile updating, the system automatically infers the age and price before showing them to the user.
user’s preferences by monitoring his/her actions (Rich, 1979). A In our system, we consider that recommendations can be done
clear example of implicit feedback can be found in Web pages. on demand and proactively. The former are explicitly requested by
We can obtain feedback by analysing the links followed by the the user, through an option available in the graphical interface pro-
user, the navigation history, or the time spent on a particular vided by the User Agent. The latter are directly provided by the
Web page (Velásquez & Parade, 2007). Other applications can con- Recommender Agent (without an explicit user request) when it
sider other aspects of the user’s behaviour such as if a document notices that the user is near an activity that may be interesting
has been saved or printed, or monitoring the scrolling or the resiz- for him/her. The system is always aware of the position of the user
ing of the window. In our prototype we have designed a way to within the city (through the information provided by GPS), and it
implicitly update the user profile considering the results obtained also knows the geographical location of each activity, so it can pro-
when the user searches for activities. vide this location-aware proactive recommendations on the fly.
M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329 7327

In order to decide which activities suit better the taste of the Other kinds of functions have been considered. In particular, the
user, there must be a way of comparing the preferences of the user, minimum distance between each pair of interests of the user and
stored in the user profile, with the characteristics of the activity. the features of the activity.
Recall that both elements are stored with the same representation:
a vector of seven numerical values that represent the preferences d¼u8iiPr Minjui  ai j ð3Þ
of the user (or the relevance of an activity) for each of the seven This function can be extended by requesting a minimum num-
features defined in the system. ber of features m in which the interest of the user has to be ui P r.
The system also allows computing the distance between user
5.1. Content-based recommendations preferences and activity features, by counting the number of com-
ponents in which the user preference is above a threshold r1 and,
This kind of recommendations evaluates the relationship be- at the same time, the activity punctuation is above a threshold r2.
tween a single user and the descriptions of the available activities.
This strategy is used by the system when the number of users is Counti ððui > r1 Þ ^ ðai > r2 ÞÞ
s¼1 ð4Þ
low and it is not yet possible to use a collaborative approach. n
This approach requires some matching technique between the Finally, we propose a more general comparison expression that
user profile and the set of evaluated items (i.e. activities). Every evaluates two aspects: the adequacy of the activity to the user
item is represented by a feature vector. In our case, due to both preferences (measured with one of the proposals for d), and the
the user profile and the characteristics of an event are repre- global interest of the activity in all the features considered in the
sented by n-dimensional vectors, u and a respectively, this match- application. The assumption is that those activities that are highly
ing can be done by applying a distance function over the vectors valued with respect to most of the activity features should be of
u and a. A variety of distance measures between feature vectors interest to most users. The weight of the two aspects may be tuned
may be used to compute the similarity of two items. The system with two parameters a and b, as shown in the following equation:
allows the designer to choose between different distance
functions. X
n
d0 ¼ a ai þ bðdðai ; ui ÞÞ ð5Þ
The most basic one is the normalised Euclidean distance:
i¼1
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
Pn 2
i¼1 ðui  ai Þ
The activity would be recommended if ui P r 2 [0,1] where r is
d¼ pffiffiffi ð1Þ a user preference threshold and d0 2 [0, U ], and U is the distance
n
value above which the activities would be recommended.
This distance provides a value between 0 and 1. In particular, The Turist@ system allows the designer to customise the rec-
the system allows the definition of a threshold U below which ommendations by choosing the most appropriate distance mea-
the activities a are considered close enough to the user profile u sure and its parameters, as shown in the following Fig. 7.
(i.e., those events that are located at a distance lower than the
given threshold). So, those activities with a distance to the user 5.2. Collaborative recommendations
profile in d 2 [0, U ] would be the ones recommended to the user.
One of the main problems of this distance is that it considers all The idea of collaborative recommendation techniques is to sug-
the information of the activities, even the features in which the gest to the user activities that have been positively evaluated by
user is not interested. So, an activity could be not recommended other users with similar preferences. In collaborative filtering pro-
because a few features have extremely different values with re- posing a recommendation consists on finding similar users, select-
spect to the user preferences even though the user is not interested ing those users with a high proximity (creating a neighbourhood)
on these features. Notice that if a user is interested only in History and, finally, selecting the set of items to be recommended.
and Art, we should probably focus on activities that are very re- Therefore, the first step is to discover tourists with similar char-
lated to these two aspects, without considering the other activity acteristics. In collaborative recommenders, one of the most com-
features defined in the application. mon techniques used to group similar users is clustering (Everitt,
A possibility to avoid this problem is to restrict the features con- Landau, Leese, & Stahl, 2011). As a result, tourists are classified into
sidered during the computation of the Euclidean distance by eval- different classes (clusters). However, the clustering process re-
uating only those features in which the user is highly interested quires a minimum number of users to be applicable (e.g., 50) so
(e.g., those with an interest over 0.75). Even though the formula that the resulting classes can be representative enough.
would be the same than (1), only the features with uiPr will be In our system, the clustering process is dynamically repeated
included, where r 2 [0, 1]. (e.g., every time 10 new users have entered the system), in order
If one considers the Euclidean distance, all features would be to update the description of the classes of individuals that are using
equally important. However, human judgment of similarity be- Turist@. Note that the clustering process has a relatively high com-
tween two items often gives different weights to different attri- putational cost, so it is not very advisable to apply it with each new
butes. So, a better approach to user’s judgments is based on a user.
weighted linear combination of the differences between each The clustering algorithm that has been employed is ClusDM
feature (Debnath, Ganguly, & Mitra, 2008). Thus, we propose to (Valls, 2003; Valls, Batet, & López, 2009), which generates a crisp
introduce a weight for each component representing a feature, partition. It uses an agglomerative hierarchical clustering tech-
so that the features that are more relevant for the user will play nique, and it takes into account both the interests of the users
a more important role in the computation of the distance. The and their demographic data (country of origin, age, level of studies,
idea is to use the degree of preference of the user for each activity etc). The system includes different distance functions that may be
feature (ui) as the weight for the ith component of the distance (in used to assess the similarity between users (Manhattan, Canberra,
this case the Euclidean distance), as shown in the following Minkowski, Mean Character Difference, etc).
formula: The concrete implementation of the clustering algorithm has
ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
sP
n 2 been embedded in an autonomous agent, called ClusDMA (ClusDM
i¼1 ½ðui  ai Þ  ui  Agent) (Valls, Moreno, & Sánchez, 2002). This agent receives as
d¼ Pn ð2Þ
i¼1 ui input the information of the users, and it performs a classification
7328 M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329

Fig. 7. Different recommendation techniques offered by Turist@.

in clusters (the hierarchical tree generated by the algorithm is cut Several tests have been conducted with real data from the
at an appropriate level to generate the appropriate number of World Heritage-listed city of Tarragona (Spain) incorporating
classes). information of dozens of activities (location, price, timetable, top-
After that it is needed to create the neighbourhood of users (i.e. to ics, etc.), which have been modelled via the described agents. Users
find users with higher proximity). ClusDMA receives the informa- have tested the system using portable devices and exploiting the
tion of a particular user and it creates a list of the classes, ranked geo-localisation capabilities of modern smart phones and data ex-
and labelled according to the degree of similarity between the user change with the server via GPRS/UMTS. The different types of rec-
and all the members of each class. The labels that have been consid- ommendation strategies have been tested via explicit and implicit
ered are the following: {‘‘Worst’’, ‘‘Terrible’’, ‘‘VeryBad’’, ‘‘Bad’’, ratings performed by the testers. The system has been developed in
‘‘NotRecommendable’’, ‘‘Inappropriate’’, ‘‘Borderline’’, ‘‘Acceptable’’, the course of four years and it has been demonstrated in several
‘‘Adequate’’, ‘‘Recommendable’’, ‘‘FairlyGood’’, ‘‘Good’’, ‘‘VeryGood’’, scientific events. It has also been awarded two prizes by the Cata-
‘‘Excellent’’, ‘‘Optimum’’}. Then, if there is not any class above the lan Association for Artificial Intelligence.
‘‘Acceptable’’ level, it is considered that is not possible to make Turning to the main conclusions it can be argued, on the one
any collaborative recommendation because there is not any class hand, that agent technology has brought several benefits to both
similar enough to the user. Otherwise, we can create the neighbour- the design and execution of the proposed system. First, multi-agent
hood by taking the users contained in the cluster whose tag is the systems allow a more realistic modelling of the involved entities
closest one to ‘‘Optimum’’ (e.g. if the clustering results provides 7 thanks to the modularisation capabilities and the high level com-
clusters labelled as ‘‘Excellent’’, ‘‘Good’’, ‘‘Recommendable’’, ‘‘Not- munication skills. In this manner, the system can be easily split
Recommendable’’, ‘‘Terrible’’, ‘‘VeryBad’’ and ‘‘Bad’’, the users of in several parts to be executed on the server or client sides, mini-
the cluster ‘‘Excellent’’ would be selected). mising the load in lightweight devices such as smart phones. This
The final step is the recommendation of activities. The system modularisation also adds a great degree of flexibility because new
considers all the items recommended to the set of users contained agents with new activities can be added dynamically at runtime.
in the selected cluster. Then, the system proposes to the current Changes and suppressions of running agents are also supported
user those items that can be recommended to all the other users and integrated seamlessly within the execution of the platform,
in the same cluster, following the content-based recommendation improving the robustness of the system. The fact that agents are al-
process defined above. ways running at the client side, continuously monitoring the ac-
tions of the users, adds a desirable degree of proactivity to the
6. Discussion and Conclusions recommendations, considering both the users’ preferences and
restrictions (such as their location).
The described system has been implemented in Java using the On the other hand, the different types of recommendation strat-
JADE (Bellifemine, Caire, & Greenwood, 2007) framework to sup- egies implemented in the system cover many diverse situations,
port the development and execution of the multi-agent system. ranging from new users who explicitly introduce their profile to
The JADE-Leap extension has been used to enable the execution those who have already enjoyed and rated past activities. This over-
of agents in portable devices with limited hardware such as smart comes the limitations imposed by individual recommendation
phones or PDAs. schemas (i.e., collaborative and content-based) that either require
M. Batet et al. / Expert Systems with Applications 39 (2012) 7319–7329 7329

several ratings before proposing recommendations or are limited to Fesenmaier, D. R., Ricci, F., Schaumlechner, E., Woeber, K., & Zanella, C. (2003).
Dietorecs: Travel advisory for multiple decision styles. In Information and
activities similar to those enjoyed by the user in the past. The infor-
communication technologies in tourism (pp. 232–241).
mation about the user is captured in implicit and explicit ways, rep- Garcia, I., Sebastia, L., & Onaindia, E. (2011). On the design of individual and group
resenting the user’s interests in his/her profile and allowing the recommender systems for tourism. Expert Systems with Applications, 38,
automatic management of dynamic changes in the user’s behaviour 7683–7692.
Huang, Y., & Bian, L. (2009). A Bayesian network and analytic hierarchy process
or preferences that can be inferred from previous experiences and based personalized recommendations for tourist attractions over the Internet.
transparently incorporated into the recommendation process. Expert Systems with Applications, 36, 933–943.
Isern, D., Sánchez, D., & Moreno, A. (2011). Organizational structures supported by
agent-oriented methodologies. Journal of Systems and Software, 84, 169–184.
Acknowledgements Isern, D., Moreno, A., Sánchez, D., Hajnal, A., Pedone, G., & Varga, L. Z. (2011). Agent-
based execution of personalised home care treatments. Applied Intelligence,
34(2), 155–180.
This work was supported by the Universitat Rovira i Virgili Kruszyk, M., Ganzha, M., Gawinecki, M., & Paprzycki, M. (2007). Introducing
(2009AIRE-04), the Spanish Ministry of Science and Innovation collaborative filtering into an agent-based travel support system. In IEEE/WIC/ACM
(DAMASK project, Data mining algorithms with semantic knowl- international conferences on web intelligence and intelligent agent technology
Silicon Valley, California, USA (pp. 439–443).
edge, TIN2009-11005) and the Spanish Government (PlanE, Span- Lee, C.-S., Chang, Y.-C., & Wang, M.-H. (2009). Ontological recommendation multi-
ish Economy and Employment Stimulation Plan). The initial agent for Taiwan City travel. Expert Systems with Applications, 36, 6740–6753.
version of the system was funded by an internal grant of the Agent- Loh, S., Lorenzi, F., Saldana, R., & Licthnow, D. (2003). A tourism recommendation
system based on collaboration and text analysis. Information Technology &
Cities.NET European project. The authors would also like to thank Tourism, 5, 157–165.
the contribution to Turist@ of several students during the course Montaner, M., López, B., & Rosa, J. L. (2003). A taxonomy of recommender agents on
of its development (Alexandre Viejo, Marc Redondo and Pilar the internet. Artificial Intelligence Review, 19, 54–88.
Moreno, A., Isern, D., & Sánchez, D. (2003). Provision of agent-based health care
Zapata). services. AI Communications, 16(3), 167–178.
Moukas, A. (1997). Amalthaea: Information Filtering and Discovery using a
Multiagent Evolving System. Journal of Applied Artificial Intelligence, 11,
References 437–457.
Pazzani, M. J., & Billsus, D. (2007). Content-based recommendation systems. In The
Alptekin, G. I., & Büyüközkhan, G. (2011). An integrated case-based reasoning and Adaptive Web: Methods and Strategies of Web Personalization (pp. 325–341):
MCDM system for Web based tourism destination planning. Expert Systems with Springer Verlag.
Applications, 38, 2125–2132. Ricci, F., Arslan, B., Mirzadeh, N., & Venturini, A. (2002). ITR: A case-based travel
Ambite, J. L., Barish, G., Knoblock, C. A., Muslea, M., & Minton, S. (2002). Getting from advisory system. In 6th European Conference on Advances in case-based reasoning.
here to there: interactive planning and agent execution for optimizing travel. In (pp. 613–627).
14th innovative applications of artificial intelligence conference. Edmonton, Alberta, Rich, E. (1979). User modeling via stereotypes. Cognitive Science, 3, 329–354.
Canada. Salter, J., & Antonopoulus, N. (2006). CinemaScreen recommender agent: Combining
Ardissono, L., Goy, A., Petrone, G., Segnan, M., & Torasso, P. (2003). Intrigue: collaborative filtering and content-based filtering. IEEE Intelligent Systems, 21,
Personalized recommendation of tosurist attractions for desktop and handset 35–41.
devices. Applied Artificial Intelligence, 17, 687–714. Sánchez, D., Isern, D., Rodríguez-Rozas, A., & Moreno, A. (2011). Agent-based
Bellifemine, F., Caire, G., & Greenwood, D. (2007). Developing multi-agent systems platform to support the execution of parallel tasks. Expert Systems with
with JADE. Chichester, England: John Wiley and Sons. Applications, 38, 6644–6656.
Borrás, J., Flor, J. D. L., Pérez, Y., Moreno, A., Valls, A., Isern, D., Orellana, A., Russo, A., Schiaffino, S., & Amandi, A. (2009). Building an expert travel agent as a software
& Anton-Clavé, S. (2011). SigTur/E-Destination: a system for the management of agent. Expert Systems with Applications, 36, 1291–1299.
complex tourist regions. In 18th International Conference on Information Sebastia, L., García, I., Onaindia, E., & Guzman, C. (2009). E-tourism: A tourist
Technology and Travel and Tourism. Innsbruck, Austria. recommendation and planning application. International Journal on Artificial
Burke, R. (2000). Knowledge-based recommender systems. Encyclopedia of Library Intelligence Tools, 18, 717–738.
and Information Systems, 69. Valls, A. (2003). Thesis: ClusDM: a multiple criteria decision method for
Büyüközkan, G., & Ergün, B. (2011). Intelligent system applications in electronic heterogenous data sets. AI Communications, 16, 129–130.
tourism. Expert Systems with Applications, 38(6), 6586–6598. Valls, A., Batet, M., & López, E. M. (2009). Using expert’s rules as background
Camacho, D., Aler, R., Borrajo, D., & Molina, J. M. (2005). A multi-agent architecture knowledge in the ClusDM methodology. European Journal of Operational
for intelligent gathering systems. AI Communications, 18, 15–32. Research, 195, 864–875.
Castillo, L., Armengol, E., Onaindía, E., Sebastiá, L., González-Boticario, J., Rodríguez, Valls, A., Moreno, A., & Sánchez, D. (2002). A multi-criteria decision aid agent
A., et al. (2008). SAMAP: A user-oriented adaptive system for planning tourist applied to the selection of the best receiver in a transplant. In 4th international
visits. Expert Systems with Applications, 34, 1318–1332. conference on enterprise information systems Ciudad Real, Spain (pp. 431–438).
Debnath, S., Ganguly, N., & Mitra, P. (2008). Feature weighting in content based Vansteenwegen, P., Souffriau, W., Berghe, G. V., & Oudheusden, D. V. (2011). The city
recommendation system using social network analysis. In 17th international trip planner: An expert system for tourists. Expert Systems with Applications, 38,
conference on World Wide Web (pp. 1041–1042). 6540–6546.
Delgado, J., & Davidson, R. (2002). Knowledge bases and user profiling in travel and Velásquez, J. D., & Parade, V. (2007). Building a knowledge base for implementing a
hospitality recommender systems. In K. W. Wöber, A. J. Frew, & M. Hitz (Eds.), web-based computerized recommendation system. International Journal on
9th international conference on information technologies in tourism, ENTER 2002 Artificial Intelligence Tools, 16, 793–828.
(pp. 1–16). Heidelberg, Innsbruck, Austria: Springer. Wooldridge, M. (2009). An introduction to multiagent systems. John Wiley.
Everitt, B., Landau, S., Leese, M., & Stahl, D. (2011). Cluster analysis (5th ed.): Wiley.

View publication stats

Das könnte Ihnen auch gefallen