Presentation on theme: "Intelligent Profiling by Example From: “Intelligent profiling by Example”, Sybil Sherin, Henry Lieberman"— Presentation transcript:
Intelligent Profiling by Example From: “Intelligent profiling by Example”, Sybil Sherin, Henry Lieberman (MIT media lab) “The FindMe Approach to Assisted Browsing,” IEEE Expert, pp , 1997 Presented by Marko Puljic
Motivation + need for storing, representing, segmenting, organizing, and distributing an individual’s personal data in a single electronic profile + the best profile is the user herself. User knows her interests, likes, and dislikes the best. + agent can learn interests from the user’s interactions + this agent would do well with complex objects like homes, computers, vacation plans, mutual funds
Problem + In complex domain spaces, people give minimal/incomplete/incorrect descriptions of what they want. Why? They don't know what they really want They forgot some crucial piece of information or level of detail They lack information that an agent could give them + Most profiles require considerable user effort in filling out forms, (entering the preferences separately at each site each time..). + Computer programs attempt to solve this problem, but they often fail. Why? They require decisions before the user has the information to make them They often don't incorporate knowledge about the domain in a way that is accessible to the user. They don't learn much about the users' choices or preferences Why a profiling agent?
Agent/user behavior User: “ I would like to rent a two bedroom apartment in Somerville for about $1000.” Agent: “I’ve got two bedroom in Davis Square for $1200, but it has no yard; and nice one-bedroom for $1300 in Porter Square that has a finished basement you could use as a second bedroom.” (wait for the user) (user might react in many ways not limited by answer to explicit question).
What The Apt Decision Agent Does Goal: Build a profile of user preferences (find the list of the apartments that user likes) + exposes the knowledge inherent in a domain + learns the user’s preferences in that domain + builds a profile without redundant effort Helps the user make decisions in a complex domain space (real estate) Helps the user learn about the domain and recall details about choices Learns from the user's behavior by observing interactions with the system Provides the user with a familiar style of interface which has 'extra' capabilities
Assumptions: + Iterative process of browsing (agent learns by example) + user feedback (direct input from user to agent) + domain modeling built-in knowledge about the domain: standard apartment features (21) how people choose apartment (statistics) base weight for each feature (from statistics or adjusted by user or learning)
How it works 1)user enters minimal information to start, enough to generate a list of potential apartments, (e.g. number of bedrooms, city and price) 2) user chooses desirable or undesirable attribute values from the apartments shown. 3) agent, using its knowledge of the real estate domain, learns the user's preferences, and offers suggestions based on those preferences. Preferences are stored in a profile. 4) through successive iterations, the agent adjusts the user's profile with increasing certainty. The profile can be saved.
user enters minimal information to start (agent is triggered) enough to generate a list of potential apartments, (e.g. number of bedrooms, city and price) + the price entered by the user is considered to be upper bound; apartments having that price or less are returned + apartments form all neighborhoods in the location specified are returned if there are no apartments matching the location. + if there are fewer than three matches, the agent offers the four choices: remove the last feature chosen, or backtrack to an earlier version of the profile
user chooses desirable or undesirable attribute values Apartment listApt. featurevalue Apt 1 Bedroom Price City Pets. 2 $ Memphis no Apt2 Bedroom Price City pets. 3 $ Memphis yes... 6 Pets/crucial 5 Price/crucial Bedroom/not crucial profile feature has a base weight, which is established as part of the domain modeling. The user reacts to a feature giving the weight value. The resulting profile entry combines the user’s opinions.
the agent adjusts the user's profile The profile can be saved. When the user chooses between the apartments the agent derives new profile information by examining the current profile and the apartment chosen. + finds the features that are unique to the chosen to the new apartment but not currently present in the profile, (new items are added in the profile) + the information contained in the profile provides a context for the future searches + interactive learning users actions have some meaning each feature has weight which can change crucial features are weighted more heavily
Conclusion + agent relaxes the constraints on order and feedback in the hopes of learning preferences more quickly, (this restores some of the flexibility that people find attractive in dealing with humans). + agent learns from each interaction with the user. assumptions - actions have meaning. reinforcement learning algorithm changes the weightings on the features each feature has base weight, (can change by user directly or indirectly) crucial features are weighted more heavily features added automatically are weighted less heavily + agent works with small and precise amount of data. + if at some point there are no apartments that match the profile, the agent can offer the recourse of backtracking to a prior point in the interaction.
properties of an agent Property Meaning reactive (sensing and acting) responds in a timely fashion to changes in the environment autonomousexercises control over its own actions goal-oriented pro-active purposeful does not simply act in response to the environment temporally continuous is a continuously running process communicativesocially ablecommunicates with other agents, perhaps including people learningadaptivechanges its behavior based on its previous experience mobileable to transport itself from one machine to another flexibleactions are not scripted