Presentation on theme: "A Multi Agent Architecture for Tourism Recommendation"— Presentation transcript:
1A Multi Agent Architecture for Tourism Recommendation Inma GarcíaUniversidad Politécnica de Valencia
2The 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 placesOpening hours, etc.
3The 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.
4The 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.
5The e-Tourism Multi-Agent System The MAS architecture provides:FlexibilityOpennessAdaptabilityScalabilityto a tourism recommender and planning system.We focus on the system components and its functional behaviour.
6Recommender SystemsInformation 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.
7e-Tourism MAS Architecture: Agent Roles User roleRepresent usersGRSK roleRepresent the recommender systemPlanner roleRepresent the planning systemFinder roleRepresent the information update mechanismEl 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?
8e-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?
9e-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.
10e-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.
11e-Tourism MAS Architecture: Ontology FeaturesItems to recommendDegree of interest of the item under the featurePreference: (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
12User AgentThe 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).
13User Agent: 1. User Profile RecommendationprofilePersonal and demographic information: the age, the gender, the family or the countryGeneral preferences model: types of items the user is interested inHistorical interaction of the user with the RSThe set of items the user has been recommendedThe degree of satisfaction with the recommendation
14User Agent: 1. User Profile Tasks involving the user profile:Initialized: Set ProfileModified: Change ProfileConsulted: Get ProfileUse cases:Register UserUpdate User Profile¿Qué son los círculos? ¿Qué significa AContainE? ¿GTPursue, Aresponsible? ¿Es un estándar?Diferencia entre task y user case
15User 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?
16User Agent: 3. Visit DataEach 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 VisitUse case: Request Visit
17User 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
18User Agent: 5. AgendaThe user marks each activity in the list of recommendations as:AcceptedDiscardedIndifferentTask: Select Recommended Item.
19User Agent: 5. Agenda The Planner Agent construct the Current Plan Using the list of selected and indifferent itemsUse case: Plan Tourism Agenda.Current Plan: a list of activities joint with an specific start time and a duration (agenda).
20User 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.
21GRSK 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.
22GRSK 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.
24GRSK Agent: Recommendation Techniques DemographicClassifies the user into a demographic category according to his profile details.Each demographic category is associated a list of preferences.Content-basedComputes a set of preferences by taking into account the items previously rated by the user (historical interaction).General preferences filteringInformation filtering technique.Obtains the preferences that match with the main user interests specified by the user in his profile.Current preferences filteringThe preferences of the current visit may differ from his general preferences.
25GRSK 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.
26GRSK Agent: Recommendation Process Obtain the constraint lists of each RS techniqueObtain a joint list of constraintsObtain the items that match the constraintsCompute the items prioritySelects the N best recommendations, (recommended items to the user)
27GRSK Agent: Recommendation Process 1. Obtain the constraint lists of each RS techniqueEach RS agent returns a set of CPuExcept 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 constraintsA 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.
28GRSK Agent: Recommendation Process 2. Obtain a joint list of constraintsFrom 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’.
29GRSK Agent: Recommendation Process 3. Obtain the items that match the constraintsAn item I matches CP’ and CN’ if:I satisfies a positive constraintI does not satisfy any negative constraintI has not already been accepted by the user
30GRSK Agent: Recommendation Process 4. Compute the items priorityThe priority for each item in this list according to:The values ACiThe degree of interest associated in the ontologyThe estimated degree of interest calculated by the RS agentsThe list of items is ordered according to the computed priority.5. Selects the N best recommendations (set of recommended items to the user)
31Planner AgentComputes a plan from the list of activities recommended by the GRSK Agent and then filtered by the user.¿GTPursue?
32Planner 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.
33Planner 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 planWith the most satisfactory activities (as possible).Trying to minimize the time spent on going from one place to another.
34Conclusionse-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 tastesTakes into account the geographical distance between places and the opening hours of these places.
35ConclusionsThe main component is the GRSK Agent a Generalist Recommender System Kernel:RS based on the semantic description of the domainAllows the system to work with any domain defined through an ontology representation.Basic Recommendation TechniquesDemographicContent-basedGeneral preferences filteringCurrent preferences filteringRecommendations based on the user's tastes, his demographic classification, the places visited by the user in former trips and, finally, his current visit preferences.
36Further 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.
37Universidad Politécnica de Valencia (Spain) Thank youInma GarcíaUniversidad Politécnica de Valencia (Spain)