A Multi Agent Architecture for Tourism Recommendation Inma García Universidad 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. ¿Qué es un cooperation scenario? Multiple general and particular tourism preferences. A negotiated planned agenda.
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 El rol finder no está asociado a ningún agente? ¿Cómo se ejecuta? ¿InChargeOf y AGOClientServer son alguna notación estándar? ¿Qué significa AGOClientServer?
e-Tourism MAS Architecture: Use Cases The four roles are in charge of six use cases: Register User: When a user first enters the system, the first step is to register and enter his personal details and general preferences. 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, …). ¿Qué es un Use Case?
e-Tourism MAS Architecture: Use Cases 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. 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 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. Update Tourism Info: The Finder role is in charge of keeping updated tourism information and activities in the system. La flecha de user a GRSK es sólo client server o AGOclientserver.
e-Tourism MAS Architecture: Ontology Features Items to recommend Degree of interest of the item under the feature 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
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: Store and handle the user profile. Obtain the general preference model. Obtain the visit data. Obtain the list of recommended items. Obtain the visit agenda. 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 ¿Qué son los círculos? ¿Qué significa AContainE? ¿GTPursue, Aresponsible? ¿Es un estándar? Diferencia entre task y user case
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. ¿Porqué es necesario un inform? ¿Qué significa? ¿A quien se informa?
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. ¿GTPursue?
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.
Universidad Politécnica de Valencia (Spain) Thank you Inma García Universidad Politécnica de Valencia (Spain) ingarcia@dsic.upv.es