Summer Term 2010 Web Dynamics 7-1
Web Dynamics
Part 7 – Human Behaviour on the Web 7.1 Recommendation 7.2 Personalized Search
Web Dynamics Part 7 Human Behaviour on the Web 7.1 Recommendation - - PowerPoint PPT Presentation
Web Dynamics Part 7 Human Behaviour on the Web 7.1 Recommendation 7.2 Personalized Search Summer Term 2010 Web Dynamics 7-1 High-Level View of Recommendation Input : Collected data on behavior of users Items (books, dvds, cds,)
Summer Term 2010 Web Dynamics 7-1
Part 7 – Human Behaviour on the Web 7.1 Recommendation 7.2 Personalized Search
Summer Term 2010 Web Dynamics 7-2
Input: Collected data on behavior of users
⇒ build extensive user models
Summer Term 2010 Web Dynamics 7-3
Output: Items of potential interest to user
purchase/view/visit/…
Summer Term 2010 Web Dynamics 7-4
User-centric approach („nearest neighbors“): User A likes/buys/visits item X user B may like (model of ) user B similar to item X as well (model of) user A Item-centric approach: User A likes/buys/visits item X user A may like Item X similar to item Y item Y as well Static approach: Many people buy X
Summer Term 2010 Web Dynamics 7-5
Summer Term 2010 Web Dynamics 7-6
⇒ ⇒ ⇒ ⇒ item-centric approach, (seemingly) no user model used
Summer Term 2010 Web Dynamics 7-7
⇒ ⇒ ⇒ ⇒ static and item-centric approach
Summer Term 2010 Web Dynamics 7-8
Summer Term 2010 Web Dynamics 7-9
Summer Term 2010 Web Dynamics 7-10
Assume n users U, m items I. Model user-item relation as n x m – matrix V:
Both are very sparse! (Librarything: 1,000,000 users, 52 mio books, less than 200 books for most users ⇒0,0004% non-zero entries) „semantics“: vij seen as „vote“ of user i for item j
Summer Term 2010 Web Dynamics 7-11
Inputs:
Goal: predict votes of u for items in I\Iu (to identify the items with highest votes) ⇒ yields scalability problem (|I| is large!)
Summer Term 2010 Web Dynamics 7-12
Initial vote calibration (to remove bias): Predict vote of user u for item j as weighted average over the votes of all other users:
i ij ij
v v v − =
*
=
n i ij ui u uj
1 *
∈
=
i
I j ij i i
v I v | | 1
=
n i ui
1
similarity of users u and i
Summer Term 2010 Web Dynamics 7-13
∩ ∈
− − =
i a
I I j i ij a aj ai
v v v v C w ) )( ( 1
2
∈ ∈ ∈
=
I j I k ik ij I k ak aj ai
i a
v v v v w
2 2
2 / 1 2 2 2
) ( ) ( − − =
∑ ∑
∩ ∈ ∩ ∈
i a i a
I I j i ij I I j a aj
v v v v C
Unreliable results if
is small Remaining problem: high dimensionality (number of users and items)
Summer Term 2010 Web Dynamics 7-14
Replace V by rank-k approximation of V using SVD: A: user-concept similarity matrix (n×r) S: diagonal matrix of singular values (with r nonzero entries, where r=rank(V)), corresponding to topics BT: concept-item similarity (r×m) Additionally restrict to k largest singular values to further reduce dimensionality
T
Summer Term 2010 Web Dynamics 7-15
= 1 1 1 1 1 1 1 1 1 1 1 1 V
− − − × × − − − − − = 707 . 5 . 5 . 261 . 261 . 929 . 707 . 707 . 657 . 657 . 369 . 707 . 5 . 5 . 414 . 662 . 1 136 . 2 414 . 2 788 . 615 . 615 . 788 . 5 . 707 . 5 . 5 . 707 . 5 . 707 . 544 . 707 .
A BT S
Summer Term 2010 Web Dynamics 7-16
= 1 1 1 1 1 1 1 1 1 1 1 1 V
= × × ≈ 864 . 864 . 485 . 106 . 1 106 . 1 621 . 854 . 604 . 604 . 854 . 604 . 604 . 207 . 1 854 . 854 . 657 . 657 . 369 . 707 . 5 . 5 . 136 . 2 414 . 2 615 . 788 . 5 . 5 . 707 .
A BT S
Summer Term 2010 Web Dynamics 7-17
⇒ compute estimate v‘uj for each topic j
New issue: Maintaining the SVD when data changes
=
k j ji jj uj ui
1
SVD generates implicit clustering of items
Summer Term 2010 Web Dynamics 7-18
K clusters of similar users
– Assign user to one of the clusters – Compute „nearest neighbor“-prediction for clusters instead of users
users may belong to multiple clusters
∈
=
P u ui i
v P P c | | 1 ) (
Summer Term 2010 Web Dynamics 7-19
– difficult to precompute and maintain similarities – best recommendations based on items just bought
– needs to scan all users and their items – most users have ≤C1 items – few users (≤C2) have >C1 items – cost bounded by (n-C2)·C1 + C2·m=O(n+m) – n,m large
time (≤200ms)
Summer Term 2010 Web Dynamics 7-20
Observation: Relationships of items (i.e., correlation in purchases) a lot less dynamic than relationships of users
– information from yesterday still reasonably accurate today – not recommending new items tolerable
Predict vote of user u for item j as weighted average over the votes of user u for other items:
=
m i ui ji u uj
1 *
=
m i ui
1
similarity of items j and i
Requires only limited knowledge about the user
Summer Term 2010 Web Dynamics 7-21
using correlation-based or cosine similarity (similar to user-user similarity) Example: cosine similarity Computing similarities expensive (O(m2n)), but offline Computing predictions is cheap (O(m) if only constant number of items considered)
∈ ∈ ∈
=
U u U k ki ui U k kj uj ji
v v v v w
2 2
Summer Term 2010 Web Dynamics 7-22
Assume we can identify features of items (genre, actors, director, keywords, …)
user‘s items
recommend the results Problems:
Summer Term 2010 Web Dynamics 7-23
Consider joint probability distribution for m-dimensional set of items (binary preferences): P[v1…vm]: probability that random user has vote vector (v1,…vm) Predict unknown value vui as P[vi=1|vj=1 for j∈Iu] Impossible to maintain explicitly (2m parameters!) ⇒approximate through finite mixture: assume independence within each component:
] [ ] | ... [ ] ... [
1 1 1
k c P k c v v P v v P
m K k m
= ⋅ = ≈∑
=
=
= = =
m j j m
k c v P k c v v P
1 1
] | [ ] | ... [
Summer Term 2010 Web Dynamics 7-24
Goal: Out of several recommendation algorithms, determine which gives best recommendations. Required components of such a benchmark:
(known to the algorithm in advance)
(where the algorithm needs to predict rating)
– Can be offline (part of the data) or live user experiment
Summer Term 2010 Web Dynamics 7-25
– novelty vs. quality focus of recommendations – cost/benefit ratio of true/false positive/negatives – granularity of true user preferences (vs. ratings)
– Implicit or explicit ratings – scale & dimensions of ratings – history of ratings (timestamps) and recommendations
– density of rating set (overall & for test users) – size of data set
Summer Term 2010 Web Dynamics 7-26
actual votes made by the user
– low effort, can be done automatically – can be used to evaluate series of ratings (timestamps) – But: limited choice of predictions to evaluate
– understand if and why people like (or dislike) recommendations, interfaces, systems
Summer Term 2010 Web Dynamics 7-27
Widely used: measure accuracy of predictions by measuring the error of prediction and actual rating
– mean absolute error (MAE) – Root mean square error (RMSE; emphasises large errors) – precision/recall, rank accuracy metrics, …
N r p E
N i i i MAE
=
− =
1
| | | |
( )
N r p E
N i i i RMSE
=
− =
1 2
| | pi: prediction ri: recommendation N: # recommendations
Summer Term 2010 Web Dynamics 7-28
– Recommendations for how many items – How many items are actually recommended
– How fast recommendation quality increases with increased amount of training data
– Focus on items unknown to the user, but within its scope (e.g., new movie of favourite director)
– Surprising recommendations (e.g., new movie of new director that fits the user‘s taste)
Summer Term 2010 Web Dynamics 7-29
(480,000 users, 18,000 movies, 106 ratings
(RMSE: 0.9514)
1,000,000$ for the first 10% improvement in RMSE on test data (1.4 million user-movie pairs), 50,000$ intermediate progress award per year
Summer Term 2010 Web Dynamics 7-30
10% improvement reached on July 26, 2009
Summer Term 2010 Web Dynamics 7-31
Part 7 – Human Behaviour on the Web 7.1 Recommendation 7.2 Personalized Search
Summer Term 2010 Web Dynamics 7-32
Example 1: Search for „IR“ may return
Example 2: Search for „Java“ should return
global context
Summer Term 2010 Web Dynamics 7-33
Example 1: Search for „IR“ may return
Example 2: Search for „Java“ should return
global context
Summer Term 2010 Web Dynamics 7-34
Example 3: Search for „restaurant“ should return
Example 4: Search for „Saarbrücken“ should return
Search results may depend on current context (that is not constant and may change over time)
Summer Term 2010 Web Dynamics 7-35
– global: background of the user, long-term profile – session: set of queries following similar needs – query: use last query & actions
each only for searches, for all browser actions, or for (more/all) actions
– Service provider vs. Web server vs. local client
– modify query vs. rerank results
Summer Term 2010 Web Dynamics 7-36
– explicit feedback (buttons in the interface) – implicit feedback (clicks of the user)
– add new terms – drop some old terms – change weights of terms
Summer Term 2010 Web Dynamics 7-37
Give positive or negative feedback for results
Summer Term 2010 Web Dynamics 7-38
Summer Term 2010 Web Dynamics 7-39
Summer Term 2010 Web Dynamics 7-40
Summer Term 2010 Web Dynamics 7-41
General rules to collect implicit feedback:
– unless the user left that page immediately
– User may immediately rate them as nonrelevant (from the snippet) – User may already know the result (which may be relevant or nonrelevant) – User may not have looked at the result (was satisfied by other results)
Summer Term 2010 Web Dynamics 7-42
Modify browser to collect behavior data:
⇒ Yields better estimate of “relevance”
Summer Term 2010 Web Dynamics 7-43
Summer Term 2010 Web Dynamics 7-44
Summer Term 2010 Web Dynamics 7-45
Summer Term 2010 Web Dynamics 7-46
Summer Term 2010 Web Dynamics 7-47
Summer Term 2010 Web Dynamics 7-48
where q(t) weight of term t in the query rt number of relevant results with term t R number of relevant results nt number of nonrelevant results with term t N number of nonrelevant results
(also used as weight in query):
t t
Summer Term 2010 Web Dynamics 7-49
Idea: Push results with positive feedback up
– remember feedback for each user – promote results with feedback when query returns (approximately 30% of queries [Dou, WWW07])
– collect feedback for (frequent) queries – promote results with feedback from „most“ users – does not work well for ambigous queries
⇒ pure reranking approach
Summer Term 2010 Web Dynamics 7-50
Goal: Construct summary of the user‘s interests
– from the pages she accessed – from her documents, her mails, … (optional)
General approach:
term vector t(B):
∈
=
B p
p t B B t ) ( | | 1 ) (
Summer Term 2010 Web Dynamics 7-51
Long-term interests of user may differ from interest in current search session ⇒ maintain two profiles: persistent & session
– consider pages accessed in the current session only – Session boundaries by time or page coherence
– consider all pages ever visited by the user – lower weight for older pages (exponential decay)
Profile is mixture of session & persistent profiles
Summer Term 2010 Web Dynamics 7-52
Reranking of search result based on profile match:
profile vector (e.g., cosine)
Summer Term 2010 Web Dynamics 7-53
Problem: User profile often sparse (based on few pages) Approach: Predict missing term weights analogously to user-centric recommendation
weighted average over neighborhood
Summer Term 2010 Web Dynamics 7-54
Reranking cannot work when all results are similar (and nonrelevant to the query) Example:
– Query: windows (as built into houses) – Results: only about the operating system
Summer Term 2010 Web Dynamics 7-55
Exploit information about query sequences Example: windows → house windows → vinyl windows → windows xp → windows vista Approach: To get K results for reranking for query q, submit top-K/(k+1)-queries for k most frequent/diverse following queries of q in the log
Summer Term 2010 Web Dynamics 7-56
Data Mining and Knowledge Discovery 5,115-153, 2001
2nd ACM Conf. On Electronic Commerce, 2000
Collaborative Filtering, IEEE Internet Computing 7(1), 2003
Derived neighborhood Interpolation Weights, ICDM Conference, 2007
Systems, ACM Transactions on Information Systems 22, 2004
without any effort from users, WWW Conference, 2004
Science 4321, 2007
Strategies, WWW Conference, 2007.
Diversification, SIGIR Conference, 2006.