Upload
fabiola-kille
View
214
Download
1
Tags:
Embed Size (px)
Citation preview
Correlation-Based Content Adaptation
For Mobile Web Browsing
Iqbal Mohomed, Adin Scannell, Nilton Bila, Jin Zhang, Eyal de Lara
Department of Computer Science
University of Toronto
Middleware 2007
Need for Adaptation
Network
Connectivity
Time
(seconds)
1 Mbps (DSL) 5
3G (384Kbps) 12.5
GPRS (40Kbps) 120
Downloaded Data 600KB
Content must be customized!
Automatic Adaptation
Unmodified Content Server
Adaptation ProxyMobile Device
We Have The Mechanism But …
The Hard Problem is Policies!
Achieving Fine Grain Adaptation
• Usage and context both affect the customization that is needed
• Machines have a hard time distinguishing between good and bad adaptations
• People are better
Achieving Fine Grain Adaptation
• Usage and context both affect the customization that is needed
• Machines have a hard time distinguishing between good and bad adaptations
• People are better
Rely on a few users to adapt content for everyone!
Usage-awaRe Interactive Content Adaptation (URICA)
• Allow users to interactively refine system’s adaptation decision
• System learns from user modifications – Uses history for future adaptation predictions
• Applicable to a wide range of adaptation types, such as image fidelity and page layout
Prediction
10KB20KB
AdaptationProxy
Mobile 1
How it Works
Application
Server 2
Server 1Improve Fidelity
Mobile 2
Application
40KB
Predictions based on History
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
0102030405060708090
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
sers
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Predictions based on History
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
0102030405060708090
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
sers
0102030405060708090
100
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Challenge: When users have varying preferences, how do we pick an appropriate adaptation?
Varying Adaptation Preferences Leads To “Dirty” History
0
10
20
30
40
50
60
70
80
90
1 2 3 4 5 6 7 8 9 10
Image Fidelity
# o
f U
se
rs
Correlation-Based Content Adaptation
• Typically, web pages/sites contain multiple objects– e.g. images
• Use history to determine correlations in the adaptation requirements of different objects
• When a user provides corrective feedback for one object, update the adaptation prediction for all related objects!
Feedback!
How To Find Correlations Automatically?
• Boosted Decision Stumps– Mine data to create rules that capture relationships between the
adaptation requirements of objectsFor objects X and Y: IF X > 3 THEN Y=7
• Gaussian Mixture Model– History data is used to parameterize a set of Gaussian
distributions– Key parameter is # of distributions to consider– A user belongs to each distribution with some prior probability– As the user provides feedback to the system, these probabilities
are updated
Page Layout Adaptation Prototype• Intended for use on mobile devices with limited screen
real-estate• Allows users to increase or decrease the display size of
images on web pages• Key metric is # of user interactions required to reach
appropriate adaptation
Page Layout User Study
• User study– 3 simulated display sizes: Phone, PDA
and in-car browser– 4 web pages, 3 images per page– 30 participants
• No prediction during data collection• Traces used to run experiments
– Leave-one-out cross validation
Page Layout User Study
• User study– 3 simulated display sizes: Phone, PDA
and in-car browser– 4 web pages, 3 images per page– 30 participants
• No prediction during data collection• Traces used to run experiments
– Leave-one-out cross validation
Without CorrelationHistory-based predictions: 15 interactions, on average
With CorrelationsDecision Stumps: 5.1 interactions, on averageGaussian Mixture Model: 5.9 interactions, on average
Fidelity Adaptation Prototype
• Intended for bandwidth-limited environments
Fidelity Adaptation Prototype
• Intended for bandwidth-limited environments
Fidelity Adaptation Prototype
• Intended for bandwidth-limited environments
Fidelity Adaptation Prototype
• Intended for bandwidth-limited environments
Fidelity Adaptation Prototype (contd.)
• Two primary metrics of concern– Number of user interactions– Wasted bandwidth
• Users can only increase the fidelity of images– Users have little incentive to reduce the fidelity of an
image that they have already been served– Feedback is only one-sided, as opposed to the two-
sided feedback received in page layout adaptation
Fidelity Adaptation:Movie Posters Study
• User study– Users given 1 of 3 tasks– 9 web pages, 1 image of a movie poster per
page– 37 participants per task
• No prediction during data collection
• Traces used to run experiments– Leave-one-out cross validation
Results From Movie Posters Study
GMM (One-sided Feedback)
Results From Movie Posters Study
GMM (One-sided Feedback)
GMM (Perfect Feedback, Hypothetical)
Results From Movie Posters Study
GMM (One-sided Feedback)
GMM (Perfect Feedback, Hypothetical)
Gaussian Mixture Model and Decision Stumps Did Not Perform WellWhen Only One-Sided Feedback Is Available
Our Approach
• Run standard clustering algorithm
(K-Means) on adaptation history
• Custom algorithm (called all-in) to perform online classification
• Intuition: narrow down the possible clusters a user can belong to quickly
Operation of all-in Algorithm
1 8 8 9 3 2 4 8 7 8
2 8 7 9 3 1 3 8 8 9
3 8 7 9 2 2 3 5 4 6
4 3 2 4 9 8 9 1 1 1
Image avg, min, max avg, min, max avg, min, max
Clusters Found In History
Using history, precalculate clusters as well as range of fidelities (min,max) for each image
Operation of all-in Algorithm
1 8 8 8 9 3 2 4 8 7 8
2 8 8 7 9 3 1 3 8 8 9
3 8 8 7 9 2 2 3 5 4 6
4 3 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
When a user initially accesses the page, all clusters are valid
Operation of all-in Algorithm
1 8 4 8 8 9 3 2 4 8 7 8
2 8 3 8 7 9 3 1 3 8 8 9
3 8 3 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
For each image, serve the lowest maximum fidelity value from the valid clusters
Operation of all-in Algorithm
1 8 4 8 8 9 3 2 4 8 7 8
2 8 3 8 7 9 3 1 3 8 8 9
3 8 3 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
Operation of all-in Algorithm
1 8 4 8 8 9 3 2 4 8 7 8
2 8 3 8 7 9 3 1 3 8 8 9
3 8 3 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
If the user requests a higher fidelity for an image, we can eliminate a cluster
Operation of all-in Algorithm
1 8 4 8 8 9 3 2 4 8 7 8
2 8 3 8 7 9 3 1 3 8 8 9
3 8 3 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
If the user requests a higher fidelity for an image, we can eliminate a cluster
Operation of all-in Algorithm
1 8 8 8 8 9 3 2 4 8 7 8
2 8 9 8 7 9 3 1 3 8 8 9
3 8 6 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
Operation of all-in Algorithm
1 8 8 8 8 9 3 2 4 8 7 8
2 8 9 8 7 9 3 1 3 8 8 9
3 8 6 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
Operation of all-in Algorithm
1 8 8 8 8 9 3 2 4 8 7 8
2 8 9 8 7 9 3 1 3 8 8 9
3 8 6 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
Operation of all-in Algorithm
1 8 8 8 8 9 3 2 4 8 7 8
2 8 9 8 7 9 3 1 3 8 8 9
3 8 6 8 7 9 2 2 3 5 4 6
4 3 1 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
When only a single cluster remains, serve at the average
Operation of all-in Algorithm
1 8 8 8 8 9 3 2 4 8 7 8
2 8 9 8 7 9 3 1 3 8 8 9
3 8 8 8 7 9 2 2 3 5 4 6
4 3 3 3 2 4 9 8 9 1 1 1
Image
DesiredBy
User
ProvidedBy
System
avg, min, max avg, min, max avg, min, max
Clusters Found In History
When only a single cluster remains, serve at the average
Results From Movie Posters Study
GMM (One-sided Feedback)
GMM (Perfect Feedback, Hypothetical)
All-in
Fulfillment Time(Movie Posters Study)
Legend:
NA: No AdaptationDS: Decision StumpsGM: Gaussian MixtureAI: All-inOR: Hypothetical Oracle
Fulfillment Time = download time + time spent by user to provide feedback
Fulfillment Time(Movie Posters Study)
Legend:
NA: No AdaptationDS: Decision StumpsGM: Gaussian MixtureAI: All-inOR: Hypothetical Oracle
Fulfillment Time = download time + time spent by user to provide feedback
Fulfillment Time(Movie Posters Study)
Legend:
NA: No AdaptationDS: Decision StumpsGM: Gaussian MixtureAI: All-inOR: Hypothetical Oracle
Fulfillment Time = download time + time spent by user to provide feedback
Fulfillment Time(Movie Posters Study)
Legend:
NA: No AdaptationDS: Decision StumpsGM: Gaussian MixtureAI: All-inOR: Hypothetical Oracle
Fulfillment Time = download time + time spent by user to provide feedback
Fulfillment Time(Movie Posters Study)
Legend:
NA: No AdaptationDS: Decision StumpsGM: Gaussian MixtureAI: All-inOR: Hypothetical Oracle
Fulfillment Time = download time + time spent by user to provide feedback
Summary
• Correlation-based adaptation can be used to provide fine grain customization of content even when users have varying preferences
• Standard machine learning techniques work well when there is two-sided feedback (e.g. page layout adaptation)
• All-in algorithm performs well when only one-sided feedback is available (e.g. fidelity adaptation)– All-in behaves aggressively to quickly narrow down
the number of clusters to which a user can belong
Summary
• Correlation-based adaptation can be used to provide fine grain customization of content even when users have varying preferences
• Standard machine learning techniques work well when there is two-sided feedback (e.g. page layout adaptation)
• All-in algorithm performs well when only one-sided feedback is available (e.g. fidelity adaptation)– All-in behaves aggressively to quickly narrow down
the number of clusters to which a user can belong
http://adaptive.cs.toronto.edu/
Questions?