Jeffrey Heer @jeffrey_heer
- U. Washington / Trifacta
Predictive Interaction Jeffrey Heer @jeffrey_heer U. Washington / - - PowerPoint PPT Presentation
Predictive Interaction Jeffrey Heer @jeffrey_heer U. Washington / Trifacta My software doesnt know what Im trying to do. What if it did? Spell / Grammar Checker Hints of Intelligent Interaction Type-ahead uses context and data to
Type-ahead uses context and data to predict search terms and preview results.
Search Engine Query
Search Engine Query
Textbox
Search Engine Query
Textbox Response
type
Search Engine Query
Textbox Response Suggestions
type predict
Search Engine Query
Textbox Query Response Suggestions
pick type predict
Search Engine Query
Textbox Query Response Suggestions
pick type predict
Search Engine Query
Textbox Query Response Suggestions
pick type
GUIDE
predict
Search Engine Query
Textbox Query Response Suggestions
pick type
GUIDE DECIDE
predict
Search Engine Query
Textbox Query Response Suggestions
pick type
GUIDE DECIDE
predict
Search Engine Query
Textbox Query Response Suggestions
pick type
GUIDE DECIDE
predict
Accelerate successful task completion. Scale to large data or batch repetition. Support discovery and ambiguous intent. Long-term learning and improvement.
Accelerate successful task completion. Scale to large data or batch repetition. Support discovery and ambiguous intent. Long-term learning and improvement.
Model user interface actions in a domain-specific language (DSL). Leverage the language to (1) predict potential actions, and (2) decouple UI from underlying runtime.
Accelerate successful task completion. Scale to large data or batch repetition. Support discovery and ambiguous intent. Long-term learning and improvement.
Model user interface actions in a domain-specific language (DSL). Leverage the language to (1) predict potential actions, and (2) decouple UI from underlying runtime.
Accelerate successful task completion. Scale to large data or batch repetition. Support discovery and ambiguous intent. Long-term learning and improvement.
Model user interface actions in a domain-specific language (DSL). Leverage the language to (1) predict potential actions, and (2) decouple UI from underlying runtime.
—> GROUP BY Category, Region, Segment
Operators: concatenation (+) cross product (x) nest (\) Operands: Ordinal fields Quantitative fields
Operators: concatenation (+) cross product (x) nest (\) Operands: Ordinal fields Quantitative fields The operators (+, x, \) and operands (O, Q) provide an algebra for tabular visualization. Algebraic statements are then compiled to: Queries: selection, projection, group-by… Visualizations: partitions, visual encodings Users make statements via drag-and-drop This specifies parameters, not operators! Operators inferred by data type (O, Q)
Domain Specific Language (DSL)
Data Vis
VizQL
Domain Specific Language (DSL)
Data Vis
VizQL
Visualization and Interaction
Schema Shelves
drag-and-drop
Domain Specific Language (DSL)
Data Vis
VizQL
Lift
Visualization and Interaction
Schema Shelves
drag-and-drop
Domain Specific Language (DSL)
Data Vis
VizQL
Lift
Visualization and Interaction
Schema Shelves
drag-and-drop
Ground
Domain Specific Language (DSL)
Data Vis
VizQL
Lift
Visualization and Interaction
Schema Shelves
drag-and-drop
Ground DSL = Lift ∘ Interact ∘ Ground
Domain Specific Language (DSL)
Data Vis
VizQL
Lift
Visualization and Interaction
Schema Shelves
drag-and-drop
Ground
Domain Specific Language (DSL)
Data Vis
VizQL
Lift
Visualization and Interaction
Schema Shelves
drag-and-drop
Ground
O + O? O x O?
Domain Specific Language (DSL)
Data Vis
VizQL
Lift
Visualization and Interaction
Schema Shelves
drag-and-drop
Ground
O + O? O x O?
DSL more expressive than UI
Wrangler: Interactive Visual Specification of Data Transformation Scripts Sean Kandel, Joseph M. Hellerstein, et al. CHI’11
Visualization and Interaction Data Transformation Code
Visualization and Interaction Data Transformation Code
User authors a draft transformation script
1.
Visualization and Interaction Data Transformation Code
User authors a draft transformation script User tests the script on a small amount of data
1. 2.
Visualization and Interaction Data Transformation Code
User authors a draft transformation script User tests the script on a small amount of data User inspects output data to assess effects
1. 2. 3.
Visualization and Interaction Data Transformation Code
Visualization and Interaction Data Transformation Code
Visualization and Interaction Data Transformation Code
User highlights features of a data visualization
1.
Visualization and Interaction Data Transformation Code
User highlights features of a data visualization Algorithms predict distribution over DSL statements
1. 2.
Visualization and Interaction Data Transformation Code
User highlights features of a data visualization Data previews allow user to choose, adjust and confirm Algorithms predict distribution over DSL statements
1. 3. 2.
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union …
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Text Selection Prepositions
from / to after / before
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Text Selection Prepositions
from / to after / before Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Text Selection Prepositions
from / to after / before Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Text Selection Prepositions
from / to after / before Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Text Selection Prepositions
from / to after / before Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Text Selection Prepositions
from / to after / before Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Text Selection Prepositions
from / to after / before Inference Procedure
vs.
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Inference Procedure
Transforms Split Extract Filter Derive Header Pivot Aggregate Join Union … Parameter Types Text Selection Column Selection Row Selection Formula Enumeration Number String Boolean Inference Procedure
Search Engine Query
Textbox Query Response Suggestions
pick type
GUIDE DECIDE
predict
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View Result
visualize interact
Lift Ground
compile
Domain Specific Language (DSL)
Data Output
write code, compile, run
Domain Specific Language (DSL)
Data Output
write code, compile, run visualize
Lift
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View
visualize
Lift
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View
visualize
Response
interact
Lift
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View
visualize
Response
interact predict
Lift
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View
visualize
Response
interact predict generate
Lift
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View
visualize
Response Preview
interact predict generate present
Lift
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View Result
visualize
Response Preview
pick interact predict generate present
Lift
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View Result
visualize compile
Response Preview
pick interact predict generate present
Lift Ground
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View Result
visualize compile
Response Preview
pick interact predict
GUIDE
generate present
Lift Ground
Domain Specific Language (DSL) Visualization and Interaction
Data Output
write code, compile, run
View Result
visualize compile
Response Preview
pick interact predict
GUIDE DECIDE
generate present
Lift Ground
Model the task (often as a sequence). Formalism for reasoning about actions. Provides means of learning from usage. Can be re-applied to new inputs. Cross-compile to different runtimes.
Necessary Components:
Problem domain fit. Nouns and verbs match domain understanding. Small surface area. Permits tractable inference, less for users to learn. Bootstrap ranking. Can the language model provide useful suggestions without extensive training data? Interfaces that learn. Improving prediction by observing user behavior.