SlideShare a Scribd company logo
1 of 48
Download to read offline
Strategies for integrating people and
machine learning in online systems
Jason Laska Ph.D.
Machine Learning at Clara Labs
September 2017 | UC Berkeley RISE Seminar
presenting the work of
Michael Akilian, Briana Burgess, Joey Carmello, Matthew Ebeweber, David Gouldin, Evan Hadfield,
Amritha Jyanti, Olga Narvskaia, Maran Nelson, Jodi Nicolli, Emily Pitts, Gavin Schulz, Oliver Song
@claralabswww.claralabs.com @chappaquack
Scheduling assistant
Email Coordination
Scheduling assistant
Customer PreferencesEmail Coordination
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
SF PA PASF SFrecurring location:
“Let’s meet in Palo Alto for
coffee next week.”
next week:
Lunch
Lunch
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
next week:
Apply constraints:
Lunch
Lunch
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
next week:
Lunch
Lunch
Apply constraints:
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Location: Palo Alto
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
next week:
Lunch
Lunch
Apply constraints:
Coffee: 8am — Noon (preference)
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Location: Palo Alto
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
next week:
Lunch
Lunch
Apply constraints:
Max Daily Meetings: 3
Coffee: 8am — Noon
(preference)
(preference)
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Location: Palo Alto
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
next week:
Lunch
Lunch
?Apply constraints:
OOO: out of the office, what
does that mean in this context?
Apply NLP on calendar:
Max Daily Meetings: 3
Coffee: 8am — Noon
(preference)
(preference)
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Location: Palo Alto
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
next week:
Lunch
Lunch
?
?Apply constraints:
OOO: out of the office, what
does that mean in this context?
Lunch: can we schedule over
this or is it important?
Apply NLP on calendar:
Max Daily Meetings: 3
Coffee: 8am — Noon
(preference)
(preference)
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Location: Palo Alto
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
Max Daily Meetings: 3
next week:
OOO: out of the office, what
does that mean in this context?
Lunch: can we schedule over
this or is it important?
Apply NLP on calendar:
Lunch
Lunch
?
?Apply constraints:
Relax: can relax constraints if
there’s enough travel time?
?
Coffee: 8am — Noon
(preference)
(preference)
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Location: Palo Alto
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
recurring location:
Max Daily Meetings: 3
next week:
OOO: out of the office, what
does that mean in this context?
Lunch: can we schedule over
this or is it important?
Apply NLP on calendar:
Lunch
Lunch
?
?Apply constraints:
Relax: can relax constraints if
there’s enough travel time?
?
Coffee: 8am — Noon
(preference)
(preference)
?
“Let’s meet in Palo Alto for
coffee next week.”
SF PA PASF SF
Location: Palo Alto
Example: Suggesting times
M Tu W Th F
8a
5p
12
busy
OOO
busy
busy
busy
busy
Lunch
busy
busy busy
busy
Lunch
Lunch
Lunch
?
? ?
graceful and intuitive
edge-case handling
customers really want
SF PA PASF SF
How Clara handles this example
How Clara handles this example
How Clara handles this example
preference constraints
participant availabilities/unavailabilities
any accessible party calendars
integrated with calendar
Breaking work into tasks
Predict
Compute
Annotate
Review
Override
Task Type
“Let’s meet in Palo Alto
for coffee next week.”
location: Palo Alto
channel: coffee
time-pref: next week
intent: schedule
Breaking work into tasks
Predict
Compute
Annotate
Review
Override
Task Type
simple
high precision rules
(before feedback)
after feedback
detector
only
single parameter example
feedback loop to
machine learning
Breaking work into tasks
Predict
Compute
Annotate
Review
Override
Task Type
location: Palo Alto
channel: coffee
time-pref: next week
intent: schedule
state: new + action: suggest times
Breaking work into tasks
Predict
Compute
Annotate
Review
Override
Task Type
feedback loop to
product and engineering
Breaking work into tasks
Predict
Compute
Annotate
Review
Override
Task Type
Sessions
a sequence of completed tasks produce Clara’s output
task n
task 1
task 2
annotation tasks
task n+1
review tasks override tasks
task m
task m + 1predict
predict
predict
compute
Automation is a spectrum
tightly integrate worker-operations,
machine learning, and UX-design
leverage task differences
avg throughput by hour
feb mar apr
~1.4xall sessions
sessions with worker
~1.8x
1x
tasks fully to partially automated
match task difficulty with processing
skill (person or machine)
cost and speed gains without full
automation
requires
Distributing a knowledge-workforce
constraints (requirements) challenges
bounded processing time
bounded processing cost
people are naturally slow
at data entry tasks
people hours are more
expensive than cpu cycles/hr
workforce size learning the platform
people are naturally noisy at
data entry
high accuracy bar
“staffing on a dime”workforce elasticity
Worker lifecycle
self-directed program
build commitment to platform through promotion
as increase credentials
qualification sandbox beginner expert
candidate worker
sourcing
exit platform
• english
comprehension
• other testing
• hours practice
• exceeds
threshold
worker
support
customer
support
exit platform if accuracy drops
below threshold for too long
production
task
aggregate
&
compare
replicate
state
production
sandbox — “scheduling multiverse”
candidate 1 score
candidate 2 score
candidate n score
worker
candidates
submit
Sandbox environment
Task assignment
hardeasiesttasks automatable
pre-filled prediction/automation
easy to annotate & understand
very manual
low impact (customer experience) high impact
high leverage new annotation
a lot of context
to review
annotation, review judgement-call
low leverage
new annotation
high confidence less confidence
“A tutorial on active learning ” S. Dasgupta and J. Langford 2009
escalate escalate
expert
Task assignment
beginner
$$$$
hardeasiesttasks (most automated) (less automated)automatable
cost
worker
pool
queue
escalate escalate
expert
Task assignment
beginner
$$$$
hardeasiesttasks (most automated) (less automated)automatable
cost
worker
pool
queue
escalate escalate
expert
Task assignment
beginner
$$$$
hardeasiesttasks (most automated) (less automated)automatable
cost
worker
pool
queue
2nd escalate
easiest
1st escalate
Work recycling
recycle the first queue n times
beginners may escalate when unsure
(equivalent to “skip” in this case)
# of recycles = proxy to task difficulty
works well with incentive to avoid mistakes
2nd escalate
easiest
1st escalate
other good strategies
Work recycling
“Double or Nothing: Multiplicative Incentive Mechanisms
for Crowdsourcing” by N. Shah, D. Zhou, 2014.
recycle the first queue n times
beginners may escalate when unsure
(equivalent to “skip” in this case)
# of recycles = proxy to task difficulty
works well with incentive to avoid mistakes
allow worker to “skip” tasks
reward based on known-examples:
no pay for skipping
high penalty for incorrect labels
high reward for correct labels
incentivizes skipping if worker confidence is low
workforce size
Distributing a knowledge-workforce
constraints (requirements) challenges
bounded processing time
bounded processing cost
workforce elasticity
people are naturally slow
at data entry tasks
“staffing on a dime”
people hours are more
expensive than cpu cycles/hr
learning the platform
people are naturally noisy at
data entry
high accuracy bar
Incentives
competing incentives drive both throughput and accuracy
worker throughput worker accuracy
per-task payment
time preference
(by ranked accuracy*)
*workers must also maintain a minimum acuracy to remain on the platform
via turtlebot in community Slack channel
Staffing: Supply and demand
(workers) (customer requests)
(all potential weekly supply)
workers find out about “pick up” work
requested hours
predicted demand/hour
worker reliability
worker throughput
worker accuracy
when supply >> demand:
when supply << demand:
hour
assignments
Jodi’s 3-pass assignment algorithm
dynamically bias tasks toward
more accurate workers
e.g., higher accuracy implies
higher probability of picking
up a task
try to match supply with predicted demand
workers unhappy, not enough work
customers unhappy, quality of service goes down
pay-rate a function of
demand
(think: surge pricing)
Measuring accuracy: Mistake tracking
worker i’s task 1
task 3
worker k
worker k’s task 3
worker i task 1 accuracy
(review)
worker j’s task 2
worker j task 2 accuracy
previous tasks
Measuring accuracy: Mistake tracking
worker i’s task 1
task 3
(review)
worker j’s task 2
Worker Dashboard
Mistake Marking Component
previous tasks
Measuring accuracy: Compare N workers
task 3 replicate
workers
aggregate
worker i task 3 accuracy
task 3 estimate
worker j task 3 accuracy
worker k task 3 accuracy
“Quality Management on Amazon Mechanical Turk” by P. Ipeirotis, F. Provost, and J. Wang, 2010.
Cohen/Fleiss kappa:  := 1
1 pobserved agreement
1 pchance agreement
task 3
task 3
task 3
task 2
task 1
Inter-annotator agreement
Jointly estimate underlying value & annotator accuracy / bias (over many tasks)
“Spectral Methods Meet EM: A Provably Optimal Algorithm for Crowdsourcing”
by Y. Zhang, X. Chen, D. Zhou, and M. Jordan, 2014.
community Slack channel
we love the CRAs!!
Community is essential
community manager
runs worker support
builds platform documentation
community pulse surveys
promote the needs of the community
“Clara Remote Assistant” (CRA)
beta launches
CRAs love trying new tools before they roll out
we get amazing feedback
ask/answer questions, pictures of pets,
turtlebot, etc.
[realwaystoearnmoneyonline.com]
[workfromhomehappines.com]
Nice problems: Smart annotation
detect review annotate
recurrence intent
“Parsing Time: Learning to interpret time expressions” G. Angeli, C. Manning, D. Jurafsky 2012Inspiration from
detect review annotate
tag resolve1 pm on Friday
rnn tagger DAG composer
recurrence intent
F, (8/11/2017,), (13:00,)
HOUR
MERIDIEM
F_INTERSECT
DAY_OF_WEEK
prediction
reference timetoken
annotation
Nice problems: Smart annotation
“I prefer the call to be in the morning and I
usually finish gym around 8:30 am, shower and
breakfast may take another 40 minutes. My
meetings usually start after 11 am, so any time
in between for the morning would be great.”
(9:10,11:00), available
(11:00, 23:59), unavailable
Nice problems: Smart annotation
Nice problems: Smart annotation
b) select from ranked lista) binary label
weight
weak scoring function
time candidate
X
i
wisi(c)
outstanding suggestions
business/lunch hours
how far in the future
travel distance
can cluster meeting
score =
annotations
is range
interval score
range or start-time
1-3pm, W
1-1:30pm, Th
9:30-10am, Th
9-11am, M
6:30-7pm, M
0.987
0.782
0.72
0.63
0.51
Nice problems: Cascading reschedule
meeting
11am
8am
9am
10am
Noon
1pm
2pm
3pm
4pm
problem: meeting needs reschedule
person
11am
8am
9am
10am
Noon
1pm
2pm
3pm
4pm
reschedule?
requires rescheduling with 12 people
Nice problems: Cascading reschedule
11am
8am
9am
10am
Noon
1pm
2pm
3pm
4pm
reschedule?
requires rescheduling with 1 person
Nice problems: Cascading reschedule
11am
8am
9am
10am
Noon
1pm
2pm
3pm
4pm
person to reschedule with at 2pm is very densely connected over the day
Nice problems: Cascading reschedule
Additional References
“Calendar.help: Designing a workflow-based scheduling agent with humans in the loop”
J. Cranshaw, E. Elwany, T. Newman, R. Kocielnik, B. Yu, S. Soni, J. Teevan, A. Monrory-Hernández (Microsoft) 2017
“Building human-assisted AI applications”
A. Marcus (B12) 2016
@claralabswww.claralabs.com @chappaquack
“Real-world active learning: Applications and strategies for human-in-the-loop machine learning”
T. Cuzillo (CrowdFlower) 2015
“Language-independent discriminative parsing of temporal expressions”
G. Angeli, J. Uszkoreit 2013
“On scheduling events and tasks by an intelligent calendar assistant”
I. Refanidis and N. Yorke-Smith 2009
“A data quality metric: How to Estimate the Number of Undetected Errors in Data Sets”
Y. Chung, S. Krishnan, and T. Kraska 2017

More Related Content

Similar to How Clara Labs works behind the scenes (UC Berkeley 2017)

Leveraging ML: Improving Data Delivery
Leveraging ML: Improving Data DeliveryLeveraging ML: Improving Data Delivery
Leveraging ML: Improving Data DeliveryRoby Sherman
 
Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...
Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...
Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...Ontico
 
An Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task UnderstandingAn Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task UnderstandingYun-Nung (Vivian) Chen
 
Lecture 3: Semantic Role Labelling
Lecture 3: Semantic Role LabellingLecture 3: Semantic Role Labelling
Lecture 3: Semantic Role LabellingMarina Santini
 
Deep Learning Automated Helpdesk
Deep Learning Automated HelpdeskDeep Learning Automated Helpdesk
Deep Learning Automated HelpdeskPranav Sharma
 
An API Between US - LeanUX15 NYC
An API Between US - LeanUX15 NYCAn API Between US - LeanUX15 NYC
An API Between US - LeanUX15 NYCJessica DeVita
 
Text-mining and Automation
Text-mining and AutomationText-mining and Automation
Text-mining and Automationbenosteen
 
Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...
Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...
Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...Talis
 
BigData and Algorithms - LA Algorithmic Trading
BigData and Algorithms - LA Algorithmic TradingBigData and Algorithms - LA Algorithmic Trading
BigData and Algorithms - LA Algorithmic TradingTim Shea
 
An online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short textAn online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short textJay Kumarr
 
University Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic AlgortihmsUniversity Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic AlgortihmsHalil Kaşkavalcı
 
Data-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCDData-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCDFrank Lynam
 

Similar to How Clara Labs works behind the scenes (UC Berkeley 2017) (20)

Leveraging ML: Improving Data Delivery
Leveraging ML: Improving Data DeliveryLeveraging ML: Improving Data Delivery
Leveraging ML: Improving Data Delivery
 
Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...
Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...
Efficient cluster resource management by using Cook and Mesos / Li Jin (Two S...
 
An Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task UnderstandingAn Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task Understanding
 
Developing software 2013
Developing software 2013Developing software 2013
Developing software 2013
 
Lecture 3: Semantic Role Labelling
Lecture 3: Semantic Role LabellingLecture 3: Semantic Role Labelling
Lecture 3: Semantic Role Labelling
 
Deep Learning Automated Helpdesk
Deep Learning Automated HelpdeskDeep Learning Automated Helpdesk
Deep Learning Automated Helpdesk
 
Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"
Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"
Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"
 
An API Between US - LeanUX15 NYC
An API Between US - LeanUX15 NYCAn API Between US - LeanUX15 NYC
An API Between US - LeanUX15 NYC
 
Text-mining and Automation
Text-mining and AutomationText-mining and Automation
Text-mining and Automation
 
KBART update ER&L 2009
KBART update ER&L 2009KBART update ER&L 2009
KBART update ER&L 2009
 
ER&L KBART Update
ER&L KBART UpdateER&L KBART Update
ER&L KBART Update
 
TRAINUP #3: How can you strategically select candidates to reach your lab's g...
TRAINUP #3: How can you strategically select candidates to reach your lab's g...TRAINUP #3: How can you strategically select candidates to reach your lab's g...
TRAINUP #3: How can you strategically select candidates to reach your lab's g...
 
Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...
Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...
Talis Insight Asia-Pacific 2018 - Craig Milne and Kelly Johson, Griffith Univ...
 
Natural Language Processing using Java
Natural Language Processing using JavaNatural Language Processing using Java
Natural Language Processing using Java
 
Turning Information chaos into reliable data
Turning Information chaos into reliable dataTurning Information chaos into reliable data
Turning Information chaos into reliable data
 
BigData and Algorithms - LA Algorithmic Trading
BigData and Algorithms - LA Algorithmic TradingBigData and Algorithms - LA Algorithmic Trading
BigData and Algorithms - LA Algorithmic Trading
 
An online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short textAn online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short text
 
University Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic AlgortihmsUniversity Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic Algortihms
 
Data-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCDData-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCD
 
2014 aus-agta
2014 aus-agta2014 aus-agta
2014 aus-agta
 

Recently uploaded

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 

Recently uploaded (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

How Clara Labs works behind the scenes (UC Berkeley 2017)

  • 1. Strategies for integrating people and machine learning in online systems Jason Laska Ph.D. Machine Learning at Clara Labs September 2017 | UC Berkeley RISE Seminar presenting the work of Michael Akilian, Briana Burgess, Joey Carmello, Matthew Ebeweber, David Gouldin, Evan Hadfield, Amritha Jyanti, Olga Narvskaia, Maran Nelson, Jodi Nicolli, Emily Pitts, Gavin Schulz, Oliver Song @claralabswww.claralabs.com @chappaquack
  • 4. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch SF PA PASF SFrecurring location: “Let’s meet in Palo Alto for coffee next week.” next week: Lunch Lunch
  • 5. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: next week: Apply constraints: Lunch Lunch “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF
  • 6. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: next week: Lunch Lunch Apply constraints: “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF Location: Palo Alto
  • 7. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: next week: Lunch Lunch Apply constraints: Coffee: 8am — Noon (preference) “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF Location: Palo Alto
  • 8. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: next week: Lunch Lunch Apply constraints: Max Daily Meetings: 3 Coffee: 8am — Noon (preference) (preference) “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF Location: Palo Alto
  • 9. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: next week: Lunch Lunch ?Apply constraints: OOO: out of the office, what does that mean in this context? Apply NLP on calendar: Max Daily Meetings: 3 Coffee: 8am — Noon (preference) (preference) “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF Location: Palo Alto
  • 10. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: next week: Lunch Lunch ? ?Apply constraints: OOO: out of the office, what does that mean in this context? Lunch: can we schedule over this or is it important? Apply NLP on calendar: Max Daily Meetings: 3 Coffee: 8am — Noon (preference) (preference) “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF Location: Palo Alto
  • 11. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: Max Daily Meetings: 3 next week: OOO: out of the office, what does that mean in this context? Lunch: can we schedule over this or is it important? Apply NLP on calendar: Lunch Lunch ? ?Apply constraints: Relax: can relax constraints if there’s enough travel time? ? Coffee: 8am — Noon (preference) (preference) “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF Location: Palo Alto
  • 12. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch recurring location: Max Daily Meetings: 3 next week: OOO: out of the office, what does that mean in this context? Lunch: can we schedule over this or is it important? Apply NLP on calendar: Lunch Lunch ? ?Apply constraints: Relax: can relax constraints if there’s enough travel time? ? Coffee: 8am — Noon (preference) (preference) ? “Let’s meet in Palo Alto for coffee next week.” SF PA PASF SF Location: Palo Alto
  • 13. Example: Suggesting times M Tu W Th F 8a 5p 12 busy OOO busy busy busy busy Lunch busy busy busy busy Lunch Lunch Lunch ? ? ? graceful and intuitive edge-case handling customers really want SF PA PASF SF
  • 14. How Clara handles this example
  • 15. How Clara handles this example
  • 16. How Clara handles this example preference constraints participant availabilities/unavailabilities any accessible party calendars integrated with calendar
  • 17. Breaking work into tasks Predict Compute Annotate Review Override Task Type “Let’s meet in Palo Alto for coffee next week.” location: Palo Alto channel: coffee time-pref: next week intent: schedule
  • 18. Breaking work into tasks Predict Compute Annotate Review Override Task Type simple high precision rules (before feedback) after feedback detector only single parameter example feedback loop to machine learning
  • 19. Breaking work into tasks Predict Compute Annotate Review Override Task Type location: Palo Alto channel: coffee time-pref: next week intent: schedule state: new + action: suggest times
  • 20. Breaking work into tasks Predict Compute Annotate Review Override Task Type feedback loop to product and engineering
  • 21. Breaking work into tasks Predict Compute Annotate Review Override Task Type
  • 22. Sessions a sequence of completed tasks produce Clara’s output task n task 1 task 2 annotation tasks task n+1 review tasks override tasks task m task m + 1predict predict predict compute
  • 23. Automation is a spectrum tightly integrate worker-operations, machine learning, and UX-design leverage task differences avg throughput by hour feb mar apr ~1.4xall sessions sessions with worker ~1.8x 1x tasks fully to partially automated match task difficulty with processing skill (person or machine) cost and speed gains without full automation requires
  • 24. Distributing a knowledge-workforce constraints (requirements) challenges bounded processing time bounded processing cost people are naturally slow at data entry tasks people hours are more expensive than cpu cycles/hr workforce size learning the platform people are naturally noisy at data entry high accuracy bar “staffing on a dime”workforce elasticity
  • 25. Worker lifecycle self-directed program build commitment to platform through promotion as increase credentials qualification sandbox beginner expert candidate worker sourcing exit platform • english comprehension • other testing • hours practice • exceeds threshold worker support customer support exit platform if accuracy drops below threshold for too long production
  • 26. task aggregate & compare replicate state production sandbox — “scheduling multiverse” candidate 1 score candidate 2 score candidate n score worker candidates submit Sandbox environment
  • 27. Task assignment hardeasiesttasks automatable pre-filled prediction/automation easy to annotate & understand very manual low impact (customer experience) high impact high leverage new annotation a lot of context to review annotation, review judgement-call low leverage new annotation high confidence less confidence “A tutorial on active learning ” S. Dasgupta and J. Langford 2009
  • 28. escalate escalate expert Task assignment beginner $$$$ hardeasiesttasks (most automated) (less automated)automatable cost worker pool queue
  • 29. escalate escalate expert Task assignment beginner $$$$ hardeasiesttasks (most automated) (less automated)automatable cost worker pool queue
  • 30. escalate escalate expert Task assignment beginner $$$$ hardeasiesttasks (most automated) (less automated)automatable cost worker pool queue
  • 31. 2nd escalate easiest 1st escalate Work recycling recycle the first queue n times beginners may escalate when unsure (equivalent to “skip” in this case) # of recycles = proxy to task difficulty works well with incentive to avoid mistakes
  • 32. 2nd escalate easiest 1st escalate other good strategies Work recycling “Double or Nothing: Multiplicative Incentive Mechanisms for Crowdsourcing” by N. Shah, D. Zhou, 2014. recycle the first queue n times beginners may escalate when unsure (equivalent to “skip” in this case) # of recycles = proxy to task difficulty works well with incentive to avoid mistakes allow worker to “skip” tasks reward based on known-examples: no pay for skipping high penalty for incorrect labels high reward for correct labels incentivizes skipping if worker confidence is low
  • 33. workforce size Distributing a knowledge-workforce constraints (requirements) challenges bounded processing time bounded processing cost workforce elasticity people are naturally slow at data entry tasks “staffing on a dime” people hours are more expensive than cpu cycles/hr learning the platform people are naturally noisy at data entry high accuracy bar
  • 34. Incentives competing incentives drive both throughput and accuracy worker throughput worker accuracy per-task payment time preference (by ranked accuracy*) *workers must also maintain a minimum acuracy to remain on the platform
  • 35. via turtlebot in community Slack channel Staffing: Supply and demand (workers) (customer requests) (all potential weekly supply) workers find out about “pick up” work requested hours predicted demand/hour worker reliability worker throughput worker accuracy when supply >> demand: when supply << demand: hour assignments Jodi’s 3-pass assignment algorithm dynamically bias tasks toward more accurate workers e.g., higher accuracy implies higher probability of picking up a task try to match supply with predicted demand workers unhappy, not enough work customers unhappy, quality of service goes down pay-rate a function of demand (think: surge pricing)
  • 36. Measuring accuracy: Mistake tracking worker i’s task 1 task 3 worker k worker k’s task 3 worker i task 1 accuracy (review) worker j’s task 2 worker j task 2 accuracy previous tasks
  • 37. Measuring accuracy: Mistake tracking worker i’s task 1 task 3 (review) worker j’s task 2 Worker Dashboard Mistake Marking Component previous tasks
  • 38. Measuring accuracy: Compare N workers task 3 replicate workers aggregate worker i task 3 accuracy task 3 estimate worker j task 3 accuracy worker k task 3 accuracy “Quality Management on Amazon Mechanical Turk” by P. Ipeirotis, F. Provost, and J. Wang, 2010. Cohen/Fleiss kappa:  := 1 1 pobserved agreement 1 pchance agreement task 3 task 3 task 3 task 2 task 1 Inter-annotator agreement Jointly estimate underlying value & annotator accuracy / bias (over many tasks) “Spectral Methods Meet EM: A Provably Optimal Algorithm for Crowdsourcing” by Y. Zhang, X. Chen, D. Zhou, and M. Jordan, 2014.
  • 39. community Slack channel we love the CRAs!! Community is essential community manager runs worker support builds platform documentation community pulse surveys promote the needs of the community “Clara Remote Assistant” (CRA) beta launches CRAs love trying new tools before they roll out we get amazing feedback ask/answer questions, pictures of pets, turtlebot, etc. [realwaystoearnmoneyonline.com] [workfromhomehappines.com]
  • 40. Nice problems: Smart annotation detect review annotate recurrence intent
  • 41. “Parsing Time: Learning to interpret time expressions” G. Angeli, C. Manning, D. Jurafsky 2012Inspiration from detect review annotate tag resolve1 pm on Friday rnn tagger DAG composer recurrence intent F, (8/11/2017,), (13:00,) HOUR MERIDIEM F_INTERSECT DAY_OF_WEEK prediction reference timetoken annotation Nice problems: Smart annotation
  • 42. “I prefer the call to be in the morning and I usually finish gym around 8:30 am, shower and breakfast may take another 40 minutes. My meetings usually start after 11 am, so any time in between for the morning would be great.” (9:10,11:00), available (11:00, 23:59), unavailable Nice problems: Smart annotation
  • 43. Nice problems: Smart annotation b) select from ranked lista) binary label weight weak scoring function time candidate X i wisi(c) outstanding suggestions business/lunch hours how far in the future travel distance can cluster meeting score = annotations is range interval score range or start-time 1-3pm, W 1-1:30pm, Th 9:30-10am, Th 9-11am, M 6:30-7pm, M 0.987 0.782 0.72 0.63 0.51
  • 44. Nice problems: Cascading reschedule meeting 11am 8am 9am 10am Noon 1pm 2pm 3pm 4pm problem: meeting needs reschedule person
  • 47. 11am 8am 9am 10am Noon 1pm 2pm 3pm 4pm person to reschedule with at 2pm is very densely connected over the day Nice problems: Cascading reschedule
  • 48. Additional References “Calendar.help: Designing a workflow-based scheduling agent with humans in the loop” J. Cranshaw, E. Elwany, T. Newman, R. Kocielnik, B. Yu, S. Soni, J. Teevan, A. Monrory-Hernández (Microsoft) 2017 “Building human-assisted AI applications” A. Marcus (B12) 2016 @claralabswww.claralabs.com @chappaquack “Real-world active learning: Applications and strategies for human-in-the-loop machine learning” T. Cuzillo (CrowdFlower) 2015 “Language-independent discriminative parsing of temporal expressions” G. Angeli, J. Uszkoreit 2013 “On scheduling events and tasks by an intelligent calendar assistant” I. Refanidis and N. Yorke-Smith 2009 “A data quality metric: How to Estimate the Number of Undetected Errors in Data Sets” Y. Chung, S. Krishnan, and T. Kraska 2017