Presentation on theme: "A Multi Agent Architecture for Tourism Recommendation Inma García Universidad Politécnica de Valencia."— Presentation transcript:
A Multi Agent Architecture for Tourism Recommendation Inma García Universidad Politécnica de Valencia
The e-Tourism Multi-Agent System single user 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 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 agents that cooperate to e-Tourism integrates agents that cooperate to: capture – Dynamically capture the user profile. list of activities – Obtain a list of activities for the user. agenda – Computes the planned agenda.
The e-Tourism Multi-Agent System flexible architecture The e-Tourism requires a flexible architecture : multiple users – 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. updated – Tourism activities and information need to be updated. – Recommendationsplanning techniques: – Recommendations and planning techniques: Different planning and recommendation techniques. New ones should be easily integrated. – Cooperation scenarios – 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 MAS architecture The MAS architecture provides: – Flexibility – Openness – Adaptability – Scalability – to a tourism recommender and planning system. system components functional behaviour We focus on the system components and its functional behaviour.
Recommender Systems Information filtering technique 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, … interests tastes Give a recommendation for a user considering his/her interests and tastes. recommended items – Infers the recommended items by analyzing the available user data and information about the environment. rating How much a particular user likes an item is represented by a rating. highest – 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 six use cases The four roles are in charge of six use cases: 1.Register Use 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 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 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 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 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 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 Preference: (feature, d_interest) feature in the ontology and the value that represent the degree of interest of the user in the feature. ACiacceptance counter 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 User role The User role is played and implemented by one or more User Agents. user 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 Recommendationprofile demographic Personal and demographic information: the age, the gender, the family or the country General preferences model 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 Tasks involving the user profile: Set – Initialized: Set Profile Change – Modified: Change Profile Get – Consulted: Get Profile Use cases Use cases: – Register User – Update User Profile
User Agent: 2. General Preferences Model preferences Description of the types of items (preferences) the user is interested in. Use caseRegister User Use case: Register User. Tasks Tasks: – Set – Set preferences. – Change – Change preferences. – Inform – Inform preferences. – Get – Get preferences.
User Agent: 3. Visit Data new visit Each time the user enters the system for a new visit will be requested to introduce: – Specific preferences Visit Preferences – 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 Current Status – User current location, which is stored in the Current Status. – Maximum number N of recommendations – Maximum number N of recommendations he desires. TaskCreate Visit Task: Create Visit Use caseRequest Visit Use case: Request Visit
User Agent: 4. List of Recommended Items The GRSK provides the User Agent the list of recommended items. Current Recommendation The list is stored as the Current Recommendation. Use caseRecommend Activities Use case: Recommend Activities
User Agent: 5. Agenda marks activity The user marks each activity in the list of recommendations as: – Accepted – Discarded – Indifferent TaskSelect Recommended Item Task: Select Recommended Item.
User Agent: 5. Agenda Planner Agent Current Plan The Planner Agent construct the Current Plan – Using the list of selected and indifferent items Plan Tourism Agenda – Use case: Plan Tourism Agenda. Current Plan: 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 – Rates the items recommended in the previous interaction. Information crucial to improve future recommendations. Previous Visits Stored as Previous Visits. Use caseUpdate User Profile Use case: Update User Profile.
GRSK Agent list of recommended items Generate the list of recommended items Distributed architecture Distributed architecture: – Every recommendation technique is encapsulated into an agent. New techniques New techniques can be easily added: new agents – By means of a new agents compliant with the interaction protocol. User Agent Acts as response to a User Agent request.
GRSK Agent Generalist Generalist: – Independent of the current catalog of items to recommend. taxonomy – As long as the data of the domain are defined through a taxonomy representation. The ontology represent the users likes and the items to recommend. semantically Items are semantically described through an ontology. semantic matching The recommendations are based on the semantic matching between the user preferences and the item descriptions.
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 RS agents The RS agents derive a set of positive and negative constraints: – Positive constraints CP – Positive constraints CP: preferences that the recommended items must meet. – Negative constraints CN – Negative constraints CN: preferences that the recommended items must not fulfill. items User Agent 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 CPuEach RS agent returns a set of CPu CPuCNuExcept the current preferences based filtering agent, which returns both a set CPu and a set CNu. These RS agents can obtain: different set of constraintsA different set of constraints degree of interestA different degree of interest for the same preference. autonomousconstraintsThey 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 Mix(CP,CN)From the lists returned by each RS agent (Mix(CP,CN)) fn CPu(fn, rn) CPrn fnFor 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. CNThe same process is applied to obtain CN.
GRSK Agent: Recommendation Process 3. Obtain the items that match the constraints ICPCNAn item I matches CP and CN if: II satisfies a positive constraint II does not satisfy any negative constraint II has not already been accepted by the user
GRSK Agent: Recommendation Process 4. Compute the items priority priorityThe priority for each item in this list according to: ACiThe values ACi degree of interest ontologyThe degree of interest associated in the ontology estimated degree of interest RSThe estimated degree of interest calculated by the RS agents orderedThe 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 plan Computes a plan from the list of activities recommended by the GRSK Agent and then filtered by the user.
Planner Agent data Manages three groups of data: – User Planning Preferences – User Planning Preferences: the visit date, the user available time, the current geographical location of the user,... – Activity Data – 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 – City Data: information about the city map.
Planner Agent which activities 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) 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: 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 e-Tourism: multi-agent system that generates personalized recommendations about tourist tours in the city of Valencia (Spain). agenda 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 GRSK Agent The main component is the GRSK Agent a Generalist Recommender System Kernel: – RS based on the semantic description of the domain ontology 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 based on – 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 group recommendation 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). agreement technologies Apply agreement technologies for group recommendation, in order to increase the reliability of electronic communities by introducing human social control mechanisms.
Thank you Inma García Universidad Politécnica de Valencia (Spain) firstname.lastname@example.org