Automatically Personalizing User Interfaces Daniel Weld University of Washington

advertisement

Automatically Personalizing

User Interfaces

Daniel Weld

University of Washington

10-Apr-20

Acknowledgements

Corin Anderson

Oren Etzioni

Pedro Domingos

Krzysztof Gajos

Keith Golden

Cody Kwok

Tessa Lau

UW AI Group

NSF, ONR, NASA, DARPA, WRF

Daniel S. Weld / Univ. Washington 2

Two Interface Trends

Usage

10-Apr-20

4x

Variation

625x

Daniel S. Weld / Univ. Washington 3

“Steelcase-Inspired Software”

-- David Gelernter

Beyond inconsistent defaulting

Adapt to available devices, interaction modes

Adapt to user location, tasks & goals

Adapt to user calendar & current time

Adapt to network connectivity, …

Need Increased Customization

Beyond changing buttons on the toolbar

Overriding inappropriate adaptation

High-level functionality

Programming by demonstration

10-Apr-20 Daniel S. Weld / Univ. Washington 4

Adaptivity & Customization

Consistent Across Applications

Adaptation in every ‘dialog’

Bridging Applications

Data gathering

Transformations

Deep Deployment ~ OS layer

10-Apr-20 Daniel S. Weld / Univ. Washington 5

Outline

High-level

Customization

Motivation

Deliberative Software Agents

Programming by Demonstration

Adapting User Interfaces to

Screen Size

Pure

Adaptation

User Behavior

10-Apr-20 Daniel S. Weld / Univ. Washington 6

Genesis: Internet Softbots

[Etzioni & Weld CACM 94]

Interface Principles:

Goal-Oriented

Integrated

Balanced

Safe

User says what she wants

Agent determines when

& to achieve it how &

DT-lite: “Softbot must

 planning-based softbots information on its own with the nuisance of asking the

10-Apr-20 Daniel S. Weld / Univ. Washington 7

Rodney Specifying goals is bottleneck

Logical spec. language ?!$@#!

Forms interface

Simon

• Limited to anticipated use

BargainFinder

MetaCrawler

Grouper

• Not scalable

Info Manifold

Often easier to just do task!

• Except: data integration tasks

Ahoy

ShopBot

Occam Wrapper Induction

ILA

LSD

Razor

Natural language interfaces

[Popescu et al; Yates et al 03]

Tukwila

Piazza

Programming by demonstration

10-Apr-20 Daniel S. Weld / Univ. Washington

KnowItAll

Mulder

GLUE

8

Outline

High-level

Customization

Motivation

Deliberative Software Agents

Programming by Demonstration

Adapting User Interfaces to

Screen Size

Pure

Adaptation

User Behavior

10-Apr-20 Daniel S. Weld / Univ. Washington 9

Programming by Demonstration

[Lau & Weld IUI-99]

[Wolfman et al. IUI-01]

[Lau et al. ICML-01]

If it’s too hard for users to specify goals

Let’s watch them…

And try to help

Like plan recognition

Initial domains:

Email

Text editing

Cross domain

10-Apr-20 Daniel S. Weld / Univ. Washington 10

Objectives

Macro Record

On / Off Straight Ln Brittle

VBasic Programing Turing Cplt Robust

Previous PBD Little Varying Varying

SmartEdit

SmartPython

On / Off Loops,Cond Robust

None

None

Lots

Minimal

10-Apr-20 Daniel S. Weld / Univ. Washington 11

SmartEdit 1

[Lau et al. ICML-01]

10-Apr-20 Daniel S. Weld / Univ. Washington 12

2

10-Apr-20 Daniel S. Weld / Univ. Washington 13

3

10-Apr-20 Daniel S. Weld / Univ. Washington 14

4

10-Apr-20 Daniel S. Weld / Univ. Washington 15

5

10-Apr-20 Daniel S. Weld / Univ. Washington 16

6

10-Apr-20 Daniel S. Weld / Univ. Washington 17

PBD as a learning problem

Action is function : input state  output state

Editor state: text buffer, cursor position, etc.

Actions: move, select, delete, insert, cut, paste,…

Move to next

<!--

Delete to next

-->

Given a state sequence, infer actions

Many actions may be consistent with one example

Challenge: Weak bias + low sample complexity

10-Apr-20 Daniel S. Weld / Univ. Washington 18

Version Space Algebra

Version space = set of complex functions

Define version space hierarchically

Algebraic operators for combing VSs

• Union  : analogous to set union

• Join : cross-product with consistency predicate

• Transform : convert functions to different types

Can factor a version space

10-Apr-20 Daniel S. Weld / Univ. Washington 19

SMARTedit's version space

10-Apr-20 Daniel S. Weld / Univ. Washington 20

Fast Consistency

Test consistency of example against entire version space

Quickly prune subtrees

Action

Move Paste

Insert

Copy

Select Cut

Delete

Innovations:

Independent join allows BSR representation

10-Apr-20 Daniel S. Weld / Univ. Washington 21

Preliminary User Study

6 undergrad CS majors

7 repetitive tasks with & later w/out SMARTedit

Tasks: 4 to 27 iterations, 1-5 min to complete

Evaluation metrics:

Time saved completing task with SMARTedit's help

% user actions (keyboard + mouse) saved

User feedback

10-Apr-20 Daniel S. Weld / Univ. Washington 22

Time saved using SMARTedit

300

250

200

150

100

50

0

- 50

- 100

- 150

- 200

1 2 3 4

X X

5 6

A

B

C

D

E

F

Six

Users

10-Apr-20 Daniel S. Weld / Univ. Washington 23

Action Savings with SMARTedit

100

80

60

40

20

0

- 20

- 40

- 60

1 2 3 4

X X

XXXX

5 6

D

E

A

B

C

F

Six

Users

10-Apr-20 Daniel S. Weld / Univ. Washington 24

Observations from PBD

Overhead of macro recorder UI is high

Most repetitive tasks short

How many shell scripts do you write / day?

Should focus on pure adaptivity

E.g., automatic segmentation

10-Apr-20 Daniel S. Weld / Univ. Washington 25

Outline

High-level

Customization

Motivation

Deliberative Software Agents

Programming by Demonstration

Adapting User Interfaces to

Screen Size

Pure

Adaptation

User Behavior

10-Apr-20 Daniel S. Weld / Univ. Washington 26

Early Adaptation: Mitchell,Maes

Predict: Email message priorities

Meeting locations, durations

Principle 1: Defaults minimize cost of errors

Principle 2: Allow users to adjust thresholds

10-Apr-20 Daniel S. Weld / Univ. Washington 27

Adaptation in Lookout: Horvitz

10-Apr-20 Daniel S. Weld / Univ. Washington Adapted from Horvitz 28

Resulting Principles

[Horvitz CHI-99]

Decision-Theoretic Framework

Graceful degradation of service precision

Use dialogs to disambiguate

(Considering cost of user time, attention)

10-Apr-20 Daniel S. Weld / Univ. Washington Adapted from Horvitz 29

Principles About Invocation

Allow efficient invocation & dismissal

Timeouts minimize cost of prediction errors

10-Apr-20 Daniel S. Weld / Univ. Washington 30

Adapting to Device Characteristics

Func

Interface

Spec

+ Device

Model

Custom

Interface

Rendering

Hierarchy of

State vars +

Methods

Screen size

Approaches:

•Templates

•Expert System

Optimization

10-Apr-20 Daniel S. Weld / Univ. Washington 31

Optimize Widgets & Layout

Available widgets = F(type(state-var))

E.g. for an integer

For hierarchy

Tabs, adjacent panes, …

10-Apr-20 Daniel S. Weld / Univ. Washington 32

SUPPLE

[Gajos & Weld, draft 2003]

Optimization methods

Branch & bound vs. local search

CSP: MRV, FC

Cost function = minimize user effort

Navigation + manipulation

Component importance (  trace data)

10-Apr-20 Daniel S. Weld / Univ. Washington 33

SUPPLE Output

10-Apr-20 Daniel S. Weld / Univ. Washington 34

SUPPLE Output

10-Apr-20 Daniel S. Weld / Univ. Washington 35

SUPPLE Output

260,000,000 possibilities

Simulated annealing fastest

Can improve with bin-packing methods

10-Apr-20 Daniel S. Weld / Univ. Washington 36

Web Pages on Small Screens

10-Apr-20 Daniel S. Weld / Univ. Washington 37

Web Site Adaptation in Proteus

[Anderson et al. WWW-01]

Visitor Proteus Web server

Personalizing in two steps:

1. Learn model of visitor from access logs

2.

Transform content per learned model

Hill-climbing thru space of websites

Transforms: shortcuts & elision

Expected utility of candidate site =

• Sum of utility of each screen of each page

• Discounted by access difficulty (#links, scrolling)

10-Apr-20 Daniel S. Weld / Univ. Washington 38

Analysis of Proteus

 Why Proteus worked well

 Suggested useful shortcuts

 Elided mostly unnecessary content

 Why Proteus worked poorly

 Sometimes elided useful content

 Users didn’t find shortcut, tho it existed

 Flaws with implementation, not concept

10-Apr-20 Daniel S. Weld / Univ. Washington 39

Principles

 Eliminating features is dangerous

 Accurate prediction is crucial

 Saliency of new UI operations is crucial

 How name shortcuts?

 Must partition dynamicity

 Maintain separate dynamic & static “areas”

 Always allow previous navigational methods

 Duplicate functionality if necessary

10-Apr-20 Daniel S. Weld / Univ. Washington 40

Partitioned Dynamism

10-Apr-20 Daniel S. Weld / Univ. Washington 41

Partitioned Dynamism

10-Apr-20 Daniel S. Weld / Univ. Washington 42

Partitioning Failure

10-Apr-20 Daniel S. Weld / Univ. Washington 43

Principles

 Must partition dynamicity

 Accurate prediction also crucial

10-Apr-20 Daniel S. Weld / Univ. Washington 44

Predicting User Behavior

[Anderson et al. IJCAI-01]

Model as Sequential Process

Markov Models

# times s

 d was followed

P ( s

 d ) =

Total # visits to s

10-Apr-20

Mixtures of Markov Models

Second-Order…

Conditioning on Position in Trace

Etc.

Daniel S. Weld / Univ. Washington 45

Weakness of Markov Models

Each state is trained independently

Abundant training data at one state cannot improve prediction at another state

Large state models  vast training data

Problem: Web trace data is sparse

A single visitor views ~0% of any site

New & dynamic content not in training data

10-Apr-20 Daniel S. Weld / Univ. Washington 46

Reasoning about Uncertainty

PRM

Bayes Net DBN

DPRM

Sanghai et al.

Thurs 12:10

Cholula 3

RMM

10-Apr-20

Sequence

Markov Model

Daniel S. Weld / Univ. Washington 47

Relational Markov Models

[Anderson et al. KDD02]

Domains often contain relational structure

Each state is a tuple in relational DB sense

ProductPage

ProductName

Apple_iMac

Palm_m505

StockLevel in_stock backorder

Structure enables state generalization

Which allows learning from sparse data

10-Apr-20 Daniel S. Weld / Univ. Washington 48

Q : set of states

Pages in a web site

Each state ~ a relation

ProductPage(Apple_iMac, in_stock)

 p : init prob distribution

A : transition probability matrix

D : a set of hierarchical domains

R : a set of relations

10-Apr-20 Daniel S. Weld / Univ. Washington 49

Domain Hierarchies

ProductName

AllProducts

Instance of relation with leaf values is a state , e.g.

… AllComputers …

ProductPage(iMac, in_stock)

AllPDAs

AllDesktops

10-Apr-20

AppleDesktops … iMac …

Daniel S. Weld / Univ. Washington 50

Domain Hierarchies

ProductName

AllPDAs

AllProducts

AllComputers …

Instance of relation with non-leaf values is a set of states: an abstraction , eg

ProductPage(AllComputers, in_stock)

AllDesktops

10-Apr-20

AppleDesktops … iMac …

Daniel S. Weld / Univ. Washington 51

MainEntryPage() main.html

ProductPage(AllProducts,

AllStockLevels)

ProductPage(AllProducts, backorder) m505_backorder.html

CheckoutPage() checkout.html

10-Apr-20 instock) iMac_instock.html

dell4100_instock.html

Daniel S. Weld / Univ. Washington 52

RMM generalization

Want to estimate P(s

d) … but no data!

Use shrinkage

10-Apr-20 s d

Daniel S. Weld / Univ. Washington 53

RMM generalization

Want to estimate P(s

d) … but no data!

Use shrinkage

Can do this with abstractions of d and s

Let  be an abstraction of s and  of d

10-Apr-20

 s d

Daniel S. Weld / Univ. Washington 54

RMM generalization

Want to estimate P(s

d) … but no data!

Use shrinkage

Can do this with abstractions of d and s

Let  be an abstraction of s and  of d

P (

| s ) P (

  

) P ( d |

) s s d d 

10-Apr-20 Daniel S. Weld / Univ. Washington 55

RMM generalization

Want to estimate P(s

d) … but no data!

Use shrinkage

Can do this with abstractions of d and s

Let  be an abstraction of s and  of d

P ( s

 d )

 

 

Abs ( s )

Abs (

 d )

P (

| s ) P (

  

) P ( d |

) s d

10-Apr-20 Daniel S. Weld / Univ. Washington 56

Calculating Shrinkage Weights

 Intuitively, the 

 should be large when

 Abstractions are more specific

 Training data is abundant

 Three methods for assigning weights

 Uniform

 Heuristic (Based on lattice depth, # of examples)

 EM (Data intensive)

10-Apr-20 Daniel S. Weld / Univ. Washington 57

8.5

8.0

7.5

7.0

6.5

6.0

5.5

5.0

4.5

4.0

3.5

10

Gazelle

10-Apr-20

100 1000 10000

Number training examples

Daniel S. Weld / Univ. Washington

RMM-uniform

RMM-rank

RMM-PET

PMM

100000 1000000

58

The Google Generation

Most WWW traces very short

Can’t beat |trace| = 2

Not true in desktop / mobile apps

Adapt to user behavior

Adapt to device characteristics

10-Apr-20 Daniel S. Weld / Univ. Washington 59

Striving for Duplex

10-Apr-20 Daniel S. Weld / Univ. Washington 60

Still Striving for Duplex

10-Apr-20 Daniel S. Weld / Univ. Washington 61

Finally!

10-Apr-20 Daniel S. Weld / Univ. Washington 62

Confirm (Twice!)

10-Apr-20 Daniel S. Weld / Univ. Washington 63

State machine (partial) main ok, cancel

^P printer, range, copies, frames, links properties ok, cancel print setup ok, cancel ok, cancel features services

Six clicks required!

ok, cancel

10-Apr-20 Daniel S. Weld / Univ. Washington color

64

Remember: Partitioned Dynamicity

 Proteus: Users didn’t find shortcuts!

 Saliency of new UI operations is crucial

 Must partition dynamicity

 Maintain separate dynamic & static “areas”

 Duplicate functionality

10-Apr-20 Daniel S. Weld / Univ. Washington 65

With Controlled Adaptation

Maintain

Stable

Navigation

Optimize

For

User

Behavior

10-Apr-20 Daniel S. Weld / Univ. Washington 66

Or Rather…

10-Apr-20

Curry to Boolean

Daniel S. Weld / Univ. Washington 67

Challenges for AI

Formalizing interface descriptions

Pebbles, iCrafter, XIML, …

Customization languages

Rec start/stop; shortcut; make default

Datamining the clickstream

Improved prediction;  dim +  data

Interface transformation algorithms

Complex constraint satisfaction

10-Apr-20 Daniel S. Weld / Univ. Washington 68

Conclusion

Goal-oriented softbots

Programming by demonstration

Adaptive interfaces / websites

High-level

Customization

Pure

Adaptation

Principles

Partitioned Dynamicity

Techniques

Version-Space Algebra

Relational Markov Models

10-Apr-20 Daniel S. Weld / Univ. Washington 69

The End

10-Apr-20 Daniel S. Weld / Univ. Washington 70

10-Apr-20

Abstract

Today’s computer interfaces are one size fits all. Users with little programming experience have very limited opportunities to customize an interface to their task and work habits.

Furthermore, the overhead induced by generic interfaces will be proportionately greater on small form-factor PDAs, embedded applications and wearable devices. Searching for a solution, researchers argue that productivity can be greatly enhanced if interfaces anticipated their users, adapted to their preferences, and reacted to high-level customization requests. But realizing these benefits is tricky, because there is an inherent tension between the dynamism implied by automatic interface adaptation and the stability required in order for the user to predict the computer’s behavior and maintain control. This talk will list challenges for the field, describe principles governing effective adaptation, and present new algorithms for data mining user action traces and dynamically transforming interfaces.

Daniel S. Weld / Univ. Washington 71

Gentle-Slope Systems

C

Click’nCreate

VBasic

Hypercard

Difficulty of use

10-Apr-20

Ideal

Sophistication of what can be created

Daniel S. Weld / Univ. Washington Adapted from Myers et al. 72

Learning programs from traces

Illustrated VS algebra with SMARTedit

Grand vision: cross-domain PBD

Learn an abstract programming language

SMARTpython: learn Python programs

Lau PhD thesis

Loops, conditionals, …

10-Apr-20 Daniel S. Weld / Univ. Washington 73

Req’s for Interface Representation

Same as Pebbles Project?

State variables

Typing

Commands

Hierarchical organization

10-Apr-20 Daniel S. Weld / Univ. Washington 74

Adaptation in Pebbles

See next talk…

10-Apr-20 Daniel S. Weld / Univ. Washington 75

State abstractions form lattice

ProductPage(AllProducts, AllStockLevels)

ProductPage(AllProducts, in_stock) ProductPage(AllComputers, AllStockLevels)

ProductPage(AllComputers, in_stock) ProductPage(AllDesktops, AllStockLevels)

ProductPage(AllDesktops, in_stock) ProductPage(AppleDesktops, AllStockLevels)

ProductPage(AppleDesktops, in_stock) ProductPage(iMac, AllStockLevels)

10-Apr-20

ProductPage(iMac, in_stock)

Daniel S. Weld / Univ. Washington 76

Guiding the Search

 Expected utility based on model of visitor

 Model learned by mining server access logs

 Sum value of each screen of each page

= p

 Discount by difficulty of reaching screen from p

 Depends on how many links followed and how much scrolling required

10-Apr-20 Daniel S. Weld / Univ. Washington 77

Specifics of Screen Evaluation

Expected utility of s ij

Similarity to past content

Frequency of past visits

E [ U ( s ij

)]

 sim sim ( s ij

)

  freq freq ( s ij

)

Intrinsic utility

P ( scroll

 links

[ P (

L k

L k

)

) ( E [ U ( s i , j

1

)]

( E [ U ( L k

.

dest )]

Probability

 

 

Expected utility

( scroll ))

( L k

))]

Cost of action taken of destination taking action

Extrinsic utility

10-Apr-20 Daniel S. Weld / Univ. Washington 78

Proteus Empirical Study

 Observe real users on the desktop

Info-seeking goals drawn from random distribution

 Personalize based on observations

 Measure performance on mobile device

Number of links and scrolls, amount of time

Compare unmodified and personalized sites

Half users did unmodified first, others vice versa

10-Apr-20 Daniel S. Weld / Univ. Washington 79

Average number links followed

5

Unmodified

Personalized

4

3

2

1

0

10-Apr-20 cs.washington.edu

finance.yahoo.com

ebay.com

Daniel S. Weld / Univ. Washington cnn.com cnet.com

80

RMM generalization

Want to estimate P(s

d)

Use shrinkage

Can do this with abstractions of d and s

Let  be an abstraction of s and  of d

P ( s

 d )

  

Abs ( s )

 

Abs ( s d

P (

  

)



)

P ( ( | | s s ) ) P ( (

 i

 

P ( i d

|

)

 j

 

P ( i

) ) P ( ( j )

| | ) )

10-Apr-20 Daniel S. Weld / Univ. Washington 81

Backup

Want to estimate P(s

d) … but no data!

Use shrinkage

Can do this with abstractions of d and s

Let  be an abstraction of s and  of d

P ( s

 d )

 

 

Abs ( s )

Abs (

 d )

( (

| | s s ) ) P ( ( ) ) P ( ( d | | ) ) s s d d 

10-Apr-20 Daniel S. Weld / Univ. Washington 82

Download