A Multi Agent Architecture for Tourism Recommendation Inma García Universidad Politécnica de...
-
Upload
joanna-gallant -
Category
Documents
-
view
215 -
download
1
Transcript of A Multi Agent Architecture for Tourism Recommendation Inma García Universidad Politécnica de...
A Multi Agent Architecture for Tourism
Recommendation
Inma GarcíaUniversidad Politécnica de Valencia
The e-Tourism Multi-Agent System • Web-based recommender
system that computes a user-adapted tourist plan for a single user.
• Recommends a list of activities to perform in a city (Valencia, Spain).
• Agenda of activities: time schedule for the list of activities taking into account:– Distances between places– Opening hours, etc.
The e-Tourism Multi-Agent System
• e-Tourism integrates agents that cooperate to:–Dynamically capture the user profile.–Obtain a list of activities for the user.–Computes the planned agenda.
The e-Tourism Multi-Agent System
• The e-Tourism requires a flexible architecture : – To implement multiple users:
• New users should be able to enter the system at any time.• Existing users should be able to leave the system.
– Tourism activities and information need to be updated.– Recommendations and planning techniques:
• Different planning and recommendation techniques.• New ones should be easily integrated.
– Cooperation scenarios should be created on demand depending on the tourism preferences of the user and the recommendation provided.
The e-Tourism Multi-Agent System
• The MAS architecture provides: – Flexibility– Openness– Adaptability– Scalability – to a tourism recommender and planning system.
• We focus on the system components and its functional behaviour.
Recommender Systems
• Information filtering technique that attempts to present information items that are likely of interest to the user.– Widely used in the internet for suggesting products,
activities, … • Give a recommendation for a user considering his/her
interests and tastes.– Infers the recommended items by analyzing the available
user data and information about the environment.• How much a particular user likes an item is represented
by a rating.– Recommends to the user the items with the highest
estimated ratings.
e-Tourism MAS Architecture: Agent Roles
User role
Represent users
GRSK role
Represent the recommender system
Planner role
Represent the planning system
Finder role
Represent the information update
mechanism
e-Tourism MAS Architecture: Use Cases
The four roles are in charge of six use cases: 1. Register User: When a user first enters the system, the first step is to
register and enter his personal details and general preferences. 2. Request Visit: Each time the user enters the system for a new visit he will
be requested to introduce his specific preferences for the current visit (date, time schedule, …).
e-Tourism MAS Architecture: Use Cases
3. Recommend Activities: When a user requests a visit, the GRSK is in charge of generating a list of activities that are likely of interest to the user.
4. Plan Tourist Agenda: From the list of recommended activities, the user selects those he is really interested in and discards those he does not want to be included in the final plan. The planning system schedules the activities according to the time restrictions of the user and the environment.
e-Tourism MAS Architecture: Use Cases
5. Update User Profile: When the user logs again in the system, he is asked to rate the activities in the last recommended plan. These ratings are used to improve the user profile.
6. Update Tourism Info: The Finder role is in charge of keeping updated tourism information and activities in the system.
e-Tourism MAS Architecture: Ontology
• Preference: (feature, d_interest) feature in the ontology and the value that represent the degree of interest of the user in the feature.
• Items are associated a value ACi (acceptance counter):– Represent how popular the item is among users.– Indicates how many times the item has been accepted when
recommended
Features Items to recommend
Degree of interest of the item under the feature
User Agent
• The User role is played and implemented by one or more User Agents.
• This agent represents a user of e-Tourism.• In charge of:
1. Store and handle the user profile.2. Obtain the general preference model.3. Obtain the visit data.4. Obtain the list of recommended items.5. Obtain the visit agenda.6. Obtain the items rating (feedback).
User Agent: 1. User Profile
Recommendation profile
Personal and demographic information: the age, the gender, the family or the
country
General preferences model: types of items the user is
interested in
Historical interaction of the user with the RS
The set of items the user has been
recommended
The degree of satisfaction with the
recommendation
User Agent: 1. User Profile
• Tasks involving the user profile:– Initialized: Set Profile– Modified: Change Profile– Consulted: Get Profile
• Use cases:– Register User– Update User Profile
User Agent: 2. General Preferences Model
• Description of the types of items (preferences) the user is interested in.
• Use case: Register User.• Tasks: – Set preferences.– Change preferences. – Inform preferences.– Get preferences.
User Agent: 3. Visit Data
• Each time the user enters the system for a new visit will be requested to introduce:– Specific preferences for the current
visit (Visit Preferences), which may differ from his general preferences. • For example, unlike other user trips, he
might not be traveling with children in the current visit.
– User current location, which is stored in the Current Status.
– Maximum number N of recommendations he desires.
• Task: Create Visit• Use case: Request Visit
User Agent: 4. List of Recommended Items
• The GRSK provides the User Agent the list of recommended items.
• The list is stored as the Current Recommendation.
• Use case: Recommend Activities
User Agent: 5. Agenda
• The user marks each activity in the list of recommendations as: –Accepted–Discarded– Indifferent
• Task: Select Recommended Item.
User Agent: 5. Agenda
• The Planner Agent construct the Current Plan– Using the list of selected
and indifferent items– Use case: Plan Tourism
Agenda. • Current Plan: a list of
activities joint with an specific start time and a duration (agenda).
User Agent: 6. Items Rating (Feedback)
• When the user logs again in the system:– Specify which activities he has
performed and the degree of satisfaction with the recommendation.
– Rates the items recommended in the previous interaction.
• Information crucial to improve future recommendations.
• Stored as Previous Visits.• Use case: Update User Profile.
GRSK Agent
• Generate the list of recommended items• Distributed architecture: –Every recommendation technique is
encapsulated into an agent.• New techniques can be easily added:–By means of a new agents compliant
with the interaction protocol. • Acts as response to a User Agent
request.
GRSK Agent• Generalist: – Independent of the current catalog of items to
recommend.– As long as the data of the domain are defined
through a taxonomy representation.• The ontology represent the user‘s likes and the
items to recommend.• Items are semantically described through an
ontology. • The recommendations are based on the
semantic matching between the user preferences and the item descriptions.
GRSK Agent: Recommendation Techniques
GRSK Agent: Recommendation Techniques
Demographic
Classifies the user into a
demographic category according
to his profile details.
Each demographic category is
associated a list of preferences.
Content-based
Computes a set of preferences by
taking into account the items
previously rated by the user (historical
interaction).
General preferences
filtering
Information filtering technique.
Obtains the preferences that match with the
main user interests specified by the
user in his profile.
Current preferences
filtering
The preferences of the current visit
may differ from his general
preferences.
GRSK Agent: Recommendation Process
• The RS agents derive a set of positive and negative constraints: – Positive constraints CP: preferences that the
recommended items must meet.– Negative constraints CN: preferences that the
recommended items must not fulfill. • The items that match these constraints are
recommended to the User Agent.
GRSK Agent: Recommendation Process
Obtain the constraint lists
of each RS technique
Obtain a joint list of
constraints
Obtain the items that match the constraints
Compute the items priority
Selects the N best recommendations,
(recommended items to the user)
GRSK Agent: Recommendation Process
1. Obtain the constraint lists of each RS technique• Each RS agent returns a set of CPu• Except the current preferences based filtering agent,
which returns both a set CPu and a set CNu. • These RS agents can obtain:• A different set of constraints• A different degree of interest for the same preference.
• They are autonomous: to decide whether the constraints are accurate enough to be considered to obtain the final recommendation.
GRSK Agent: Recommendation Process
2. Obtain a joint list of constraints• From the lists returned by each RS agent
(Mix(CP,CN))• For each feature fn included in a list of positive
constraints CPu, a pair (fn, rn) is added to the final list of positive constraints CP’, where rn is the average of the values associated to fn in all the positive constraints lists.
• The same process is applied to obtain CN’.
GRSK Agent: Recommendation Process
3. Obtain the items that match the constraints• An item I matches CP’ and CN’ if:• I satisfies a positive constraint• I does not satisfy any negative constraint• I has not already been accepted by the
user
GRSK Agent: Recommendation Process
4. Compute the items priority
• The priority for each item in this list according to:• The values ACi• The degree of interest associated in the ontology• The estimated degree of interest calculated by the RS agents
• The list of items is ordered according to the computed priority.
5. Selects the N best recommendations (set of recommended items to the user)
Planner Agent
Computes a plan from the list of activities recommended by the GRSK Agent and then filtered by the user.
Planner Agent
Manages three groups of data: – User Planning Preferences: the visit date, the user
available time, the current geographical location of the user, ...
– Activity Data: information about each activity: opening hours of each activity, address of the place where the activity takes place, duration of activity, …
– City Data: information about the city map.
Planner Agent
• Select which activities include in the plan:– The scheduling will depend on the user available time, his
temporal constraints and the time restrictions of the environment (i.e. opening hours of places).
• Partial Satisfaction Planning (PSP) problem. – In PSP problems the solution plan is not required to
achieve all the goals but instead achieve the best subset of goals given the resource limitations.
• Goal: is to obtain a plan– With the most satisfactory activities (as possible).– Trying to minimize the time spent on going from one place
to another.
Conclusions
• e-Tourism: multi-agent system that generates personalized recommendations about tourist tours in the city of Valencia (Spain).
• Computes an agenda of recommended activities: – Reflect the user's tastes– Takes into account the geographical distance
between places and the opening hours of these places.
Conclusions
The main component is the GRSK Agent a Generalist Recommender System Kernel:
– RS based on the semantic description of the domain • Allows the system to work with any domain defined through an
ontology representation.
– Basic Recommendation Techniques• Demographic• Content-based• General preferences filtering• Current preferences filtering
– Recommendations based on the user's tastes, his demographic classification, the places visited by the user in former trips and, finally, his current visit preferences.
Further Work
• Extension of e-Tourism to group recommendation: – Calculating the list of activities according to the global
or particular constraints rather than in terms of the group preferences.
– Innovative techniques to compute the group profile (Incremental Intersection Technique or Incremental Collaborative Intersection).
• Apply agreement technologies for group recommendation, in order to increase the reliability of electronic communities by introducing human social control mechanisms.