An Agent Based Recommendation System for Tourism

An Agent Based Recommendation
System for Tourism
João Laranjeira, João Carneiro, Goreti Marreiros, Ricardo Santos,
Carlos Ramos
August 17, 2010, Lisbon
Overview
2
Motivation
Objectives
Tourist Profile
Tourist Recommendation
Presented Architecture
Reasoning Agents
Conclusions and Future Work
Motivation
3
Understanding factors that influence the tourist
motivations
Help the tourist in his decisions
Economic
Social
Psychological
Cultural
Political
Help the tourist to choose his destination
Help the tourist to plan his activities
Help the tourist to choose his points of interest
Simulate the tourists in a virtual world
Objectives
4
Know the tourist’s preferences and define his
type
Advise the tourist according to:
his
preferences (type)
his history
Travels
Activities
Points
history
of interest
of same type tourists
Evolution of tourist over time
Tourist Profile
5
The tourists will be divided according to their
age, gender and preferences, following Gibson
and Yiannakis (2002) criteria
The objective is to:
Organize
the tourists in groups
Qualify him as to the type of tourist
Thus, it’s possible to reduce the potential types
of tourists and classify the tourist’s type more
accurately
Gibson and Yiannakis’ Model (I)
6
Tourist’s Type
Preferences
Sun Lover
Home and Family, Personal Goals, Control, Health,
Breaks from routine, Comfort, Love and Afection
Action Seeker
Interaction, Sexual Needs, Home and Family,
Personal Goals, Control, Health, Breaks from
routine
Anthropologist
Interaction, Roots, Comfort, Intellectual growth,
Self-actualization, Security, Integrity
Archaeologist
Roots, Intellectual growth, Self-actualization,
Security, Integrity
Organized Mass Tourist
Interaction, Social class, Roots, Companionship
needs, Intelectual growth, Self-actualization,
Security, Integrity
Thrill Seeker
Home and Family, Personal Goals, Control, Health,
Breaks from routine, Self-satisfaction
Explorer
Home and Family, Personal Goals, Control, Health,
Breaks from routine, Creativity, Companionship
needs
Jetsetter
Independence, Interaction, Sexual needs,
Creativity, Social Class, Comfort, Financial
Security, Love and Afection, Self-satisfaction
Female
Male
Both
7
Gibson and Yiannakis’ Model
(II)
Tourist’s Type
Preferences
Seeker
Independence, Sexual needs, Creativity, Social
Class, Comfort, Intelectual Growth, Selfactualization, Financial Security, Love and
Afection, Self-satisfaction
Independent Mass Tourist
Independence, Sexual Needs, Control, Creativity,
Social Class, Financial Security, Love and Afection,
Self-satisfaction
High Class Tourist
Social Class, Roots, Intellectual Growth, Self-actualization, Security, Integrity
Drifter
Independence, Interaction, Home and Family,
Personal goals, Control, Health, Breaks from
routine, Companionship needs
Escapist
Independence, Sexual Needs, Breaks from routine,
Privacy, Creativity, Social Class, Comfort, Financial
Security, Love and Afection, Self-satisfaction
Sport Tourist
Home and Family, Personal Goals, Control, Health,
Breaks from routine, Comfort
Educational Tourist
Interaction, Personal Goals, Social Class, Roots,
Intellectual Growth, Self-actualization, Security,
Integrity, Self-expression
Female
Male
Both
Classification of tourist with
Decision Tree
8
Decision Tree Algorithm uses 4 steps to find the
type of tourist and classify him:
1st - Obtains age and gender of tourist
2nd - Attributes a possible(s) group(s) to the tourist
according to his age and gender
3rd – If there are 2 or 3 possibles groups then
compares the tourit’s preferences with the
preferences of group I, group II and group III, else go
to next step
4th - Selects the type of tourist that matches more
preferences of the tourist from the list of types of
chosen group
Analysis of the tourist profile
9
Gende
r
Male
Female
Age
17 - 21
Group
I
More Tourist
Type X
Preferences
Tourist Type
X
Age
34-45
>55
Group
II
Tourist Type
Y
46-55
22-33
Group
I & III
Group
II & III
Group
I, II &
III
Group
I
Group
II
More group III
preferences
Group
III
Tourist Type
Z
More Tourist
Type Z
Preferences
Tourist Type
X
Tourist Type
Y
Tourist Type
Z
Tourist Recommendation
10
In this proposed system the tourist can enjoy
of two different recommendations:
Recommendation
based on tourist ‘s preferences
(utility function)
Recommendation based on trips of other tourists
of the same type (case-based reasoning)
Tourist Recommendation – Utility
function
11
ri × w
f (r , w) = ∑i =1
n
n
r – rating of a preference of analyzed city or
point of interest
w – weight of preference assigned by the tourist
n – number of preferences
Tourist Recommendation – Utility
function example
12
w is constant (0,25)
Preference
1
Preference 2
Preference 3
Preference 4
Score
City 1
2
4
3
5
0,875
City 2
5
4
2
2
0,8125
City 3
3
5
5
2
0,9375
Tourist Recommendation – CaseBased Reasoning
13
The objective is to recommend the best cities
visited by other tourists of the same tourist
type
This algorithm has 5 steps:
Step
1 : Search tourists of the same type
Step 2 : List the cities visited by tourists of the
same type
Step 3 : Delete cities already visited by tourist
Step 4 : Join cities visited more than once
Step 5 : Find the best classified city
Presented Architecture
14
AgtAdviser
AgtTourist
AgtApp
Applicational
Component
Internet
Tourist
Web Page
Presented Architecture – Agent
Tourist
15
This agent is responsible for representing the
tourist in the virtual world, after being shaped
with the tourist’s personality
AgtTourist saves all information about visited
places, activities performed or points of
interest visited by tourist
This agent has incorporated an evolutionary
module that is composed by two components:
Evolution
of personality
Consulted travel destinations
Presented Architecture – Agent
Tourist (Continuation)
16
The evolution of personality is a component
that enables the agent to evolve according to
the tourists with same personality
The consultation of travel destinations allows
the agent to collect information from other
agents that have similar characteristics, i.e.,
with same personality
Presented Architecture – Agent
Adviser
17
This agent is responsible for suggesting
possible cities, activities or points of interest to
be visited by tourists
The recommendations are made using the
following techniques:
Utility
function
Case-based reasoning
Reasoning Agents
18
Creating Agents
Agent Adviser Process
Communication Process between Agents
Tourists
Reasoning Agents – Creating
Agents
19
After the tourist registration in the web page is created an
agent tourist with his personality
The Applicational Component identifies the tourist’s profile
After this, data is sent to AgtApp that will create a new agent
Reasoning Agents – Agent Adviser
Process
20
Tourists have the possibility to classify the trip held at
a given scale
Agent Adviser analyzes a set of classifications
Whenever a tourist returns from a trip and logs in the
system
If the number of classifications is relevant throws a notice
to the community of agents with a warning that there is a
new information for a particular profile of tourist
The consequences of these actions are:
The agents of that particular profile can learn from the
other tourists’ new experiences
To make this happen each agent “talks” to all the other
agents with the same profile
Reasoning Agents – Agent Adviser
Process (Continuation)
21
22
Reasoning Agents –
Communication Process between
Agents Tourists
Agents Similarity
23
After an Agent Tourist knows which agents can
contribute to the process of choosing the destiny of
his trip, the target agent calculates the similarity of
his ratings with the ratings assigned by the other
agents
d
euclidean
=
∑
d
(
ai
−
bi
)
i =1
2
Agents Similarity - Example
24
New
York
London
Paris
Rio
Janeiro
Distance
Classification
of target tourist
2
1
4
5
------------
Classification
of tourist 1
1
3
1
4
3,87
Classification
of tourist 2
2
4
1
5
4,24
Classification
of tourist 3
4
1
2
3
3,46
Agents Belief
25
Now that we know the similarity of agents we
can calculate the agents’ belief
The formula is:
If
the total number of trips made by the agent that
is used as a comparative element is >= 5
Travel Identical Travel Identical
Travel Identical 2
×
=
Travel Performed
Travel Sum
Travel Performed × Travel Sum
If
the total number of trips made by the tourist that
is used as a comparative element is < 5:
Travel Identical Travel Identical 2
Travel Identical 3
×
=
Travel Performed
Travel Sum
Travel Performed × Travel Sum
Agents Belief - Example
26
Travel Sum = 200
Travel
Identical
Travel
Performed
Belief
Tourist 1
5
10
0.0125
Tourist 2
5
5
0.0250
Tourist 3
5
50
0.0025
Final Agents Similarity
27
Firstly, it calculated the distance between the
agents’ preferences
Secondly, it calculated the confidence (belief)
of the agents
Now, it will calculate the final similarity
between agents. For this, will be used the
x ij
following
formulas:
b=
max
min
d=
x ij
,
,
maximize the belief
minimize the distance
total (b, d ) = kb + kd
Utility function
28
Final Agents Similarity Example
Belief
Distance
Total
Tourist 1
0.0125
3.87
0.697
Tourist 2
0.0250
4.24
0.908
Tourist 3
0.0025
3,46
0.550
Conclusions
29
This proposed system uses techniques that
are still underdeveloped in this area
The tourist is classified with his attributes and
his preferences
The application of agents is very useful
because it’s possible to represent the tourist in
the system
The system allows evolution of user (tourist)
so it’s possible to keep the he’s information
updated
Future Work
30
Improve the existing prototype because it’s in
an initial phase
Test the refered prototype with existing data
from the internet
Thus it’ll be possible to validate the system
Thanks