Document Sample
					A Multi Agent Architecture for
             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.
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          GRSK role             Planner role           Finder role

                                                                   Represent the
                      Represent the    Represent the planning
Represent users                                                 information update
                  recommender system          system
         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:
                        Features                              Items to

                                    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
• 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
                   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                   Historical interaction
      profile                   of the user with the RS

  Personal and demographic           The set of items the
   information: the age, the
   gender, the family or the           user has been
            country                    recommended

  General preferences model:             The degree of
   types of items the user is
         interested in               satisfaction with the
                User Agent:
               1. User Profile
• Tasks involving the user
  – 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
       • 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
• Use case: Recommend
                 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
  – Using the list of selected
    and indifferent items
  – Use case: Plan Tourism
• 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
   – Specify which activities he has
      performed and the degree of
      satisfaction with the
   – 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
                  GRSK Agent
• Generalist:
   – Independent of the current catalog of items to
   – 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
      • The recommendations are based on the
        semantic matching between the user
        preferences and the item descriptions.
      GRSK Agent:
Recommendation Techniques
                   GRSK Agent:
             Recommendation Techniques
                                               General                Current
Demographic            Content-based         preferences            preferences
                                               filtering              filtering

 Classifies the user
        into a                                   Information         The preferences
   demographic                                     filtering           of the current
                         Computes a set of
      category                                    technique.          visit may differ
                           preferences by
  according to his           taking into          Obtains the        from his general
   profile details.      account the items     preferences that         preferences.
                          previously rated      match with the
                             by the user           main user
                              (historical     interests specified
                            interaction).      by the user in his
 Each demographic
    category is
  associated a list
  of 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                         Obtain the                      Selects the N best
                    Obtain a joint
constraint lists                     items that    Compute the      recommendations,
                       list of
  of each RS                         match the     items priority      (recommended
  technique                          constraints                     items to the user)
               GRSK Agent:
          Recommendation Process
1. Obtain the constraint lists of each RS
• 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
             GRSK Agent:
        Recommendation Process

2. Obtain a joint list of constraints
• From the lists returned by each RS agent
• 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
                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.
• e-Tourism: multi-agent system that generates
  personalized recommendations about tourist
  tours in the city of Valencia (Spain).
• Computes an agenda of recommended
  – Reflect the user's tastes
  – Takes into account the geographical distance
    between places and the opening hours of these
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
  – 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.
    Thank you

      Inma García
Universidad Politécnica de
     Valencia (Spain)

Shared By: