Discussion Notes
Jan 29, 2001
(courtesy Rob Capra with some help from Saverio Perugini's notes)
Ways of Targeting
Individual | Topic | Location
--------------+----------+------------
single | single | single
| |
group | group | group
| |
all | all | all
Some examples:
- individual, group: amazon.com (probably, from what we know)
- location, group: pizza hut, movie listings that are
routed based on zip code
Why Target Users?
- cross-sell (i.e. sell beer to diaper buyers)
- up-sell (i.e. just $2 more for two extra)
- fleece-sell (i.e. sell tires cheap, but charge a lot to install them)
- turn browsers into buyers
Business people may be referring to "versioning" when they talk about targeting.
Versioning has to do with selling different versions of the same basic product
(i.e. hardcover, softcover, and eventually bargin books).
One approach to targeting is to think of recommendation as filling in missing
values to a people-artifacts matrix; this gives rise to the functional
modeling viewpoint. An alternative viewpoint is:
Data Mining
- Looking for things that go together
- It is sometimes difficult to find the causality - may find that
beer and diapers are purchased together, but is it beer->diapers or
diapers->beer?
- Interpreting results of data mining can be tricky
- Useless info: `taxicabs return a lot of brake pads'
- Obvious info: `everyone who gives birth is female'
- Suspicious info: `people good at knitting tend not to have the
Y chromosome'
- Dangerous info: incorrect inferences (see coffee and tea example below)
Need to make sure we have all the information before drawing
conclusions
Example about coffee and tea (from Brin, Motwani, and Silverstein)
| drinks coffee | no coffee | sub-totals
----------------+-------------------+--------------+--------------
drinks tea | 20 | 5 | 25
----------------+-------------------+--------------+--------------
no tea | 70 | 5 | 75
----------------+-------------------+--------------+--------------
sub-totals | 90 | 10 | 100
80% of tea drinkers also drink coffee, but the apriori probability
of being a coffee drinker is 90%.
So being a tea drinker actually
decreases the chances that a person is a coffee drinker when compared to the
prior probability of being a coffee drinker.
Rather than target tea drinkers for a coffee promotion, we could have
done better by not targeting at all.
Moral of the story: we need to look at all the information.
Caution in making constructive inductions
Complex relationships/meta-information -- the at least two example:
beer chips diapers | salsa
----------------------------+------------
1 0 1 | 1
1 1 0 | 1
0 1 1 | 1
1 0 0 | 0
Q: What predicts purchasing salsa?
A: Purchasing at least two of {beer, chips, diapers}
Computers are not good at this type of meta-reasoning.
They typically only look for what they are told.
If they are not told to look for a type of relationship,
they will probably not find it.
Example from biology: Crick and Watson looking at how combinations
from 4 base pairs
form 20 amino acids (which then go on to encode protiens).
They correctly inferred that there must be at least 3 base pairs to
get 20 > 16 combinations, but incorrectly inferred other aspects of the
encodings. Considered a challenge problem for constructive induction.
Are there RS designs that work for all ways of targeting?
(Can we design an RS independently of a (decided) way of targeting?)
- Is this desirable, first of all?
- Note: This doesn't imply that we don't think of the user (or
user class)
- Is there such a system out there? Is there a system that can work
at multiple levels of the `populace'?
- Observation: It is hard to design a system without thinking of (and centering
the design around)
a specific user class.
- Enumerate all the scenarios ("ensemble", "voting") -
this allows the user to identify themselves. Examples include
the VT web site (for students, for faculty, etc.) and the Dell computer
web site (for Home users, for Business users, etc.).
- Non-mutually exclusive classes: To really achieve this,
we need the ability to put something in multiple clusters at the same time.
The clustering algorithm used should allow for one thing to truly be in
more than one cluster, simultaneously.
- Roles: users may use the system in many different roles at
different
times. They may be working in an "individual single" role at one point, but then change
to being in a "topic group" role at a later point. Determining what
role the user is in at a particular time can be challenging.
- Dynamic: the system needs to be able to dynamically adapt to new
information. For example, the system may start out with the user in
an all category and then move the user into a "group" after gaining
more information.
- Context: using context can help determine what role the user is
in for the current interaction.
- It appears that
if you are not doing enumeration, you need these last four (ability to
put something in multiple clusters, roles, dynamic, and context).