39
Task and Workflow Design II KSE 801 Uichin Lee

Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Embed Size (px)

Citation preview

Page 1: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Task and Workflow Design II

KSE 801Uichin Lee

Page 2: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Contents

• Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M-Turk

• TurKontrol: decision-theoretic approach for work-flow control (e.g., how many improve/vote tasks?)

• Turkalytics: monitoring workers’ behavior remotely

Page 3: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Turkomatic: Automatic Recursive Task and Workflow Design for Mechanical Turk

CHI'11 WIP

Page 4: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Turkomatic• Turkomatic interface accepts task requests

written in natural language• Subdivide phase:

– For each request, it posts a HIT to M-Turk, asking workers to break the task down into a set of logical subtasks

– Each subtask is then automatically reposted to M-Turk; subtask can be further broken down

• Merge phase: – Once all subtasks are completed, HITs are

posted asking workers to combine subtask solutions into a coherent whole

• The end result will then be delivered to the requester

Page 5: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Subdivide Phase

• Decomposition of tasks, and the creation of solution elements

Page 6: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Divide and Merge

Page 7: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Divide and Merge

Page 8: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Evaluation• Tasks:

– Producing a written essay in response to a prompt: “please write a five-paragraph essay on the topic of your choice”

– Solving an example SAT test “Please solve the 16-question SAT located at http://bit.ly/SATexam”

– Payment: $0.10 to $0.40 per HIT• Each “subdivide” or “merge” HIT received answers within 4

hours; solutions to the initial task were completed within 72 hours

• Essay: the final essay (about “university legacy admissions”) displayed a reasonably good understanding of a topic; yet the writing quality is often mixed

• SAT: the task was divided into 12 subtasks (containing 1-3 questions); the score was 12/17

Page 9: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Decision-Theoretic Control of Crowd-Sourced Workflows

Peng Dai, Mausam, Daniel S. WeldAAAI 2010

Page 10: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Motivation

• Iterative workflow (i.e., improve and vote) used in TurKit has the following problems: – What is the optimal number of iterations?– How many ballots (votes) should we use?– How do answers change if the workers are more/less

skilled?

Iterative workflow

Page 11: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

TurKontrol: Computation Model

• Text α is improved to text α’ (after improve task)• Given a pair (α, α’), a series of votes can be received

(bk ) to judge which one is better

Page 12: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

TurKontrol: Computation Model• Text α: quality density function: fQ(q) – prior• A worker x takes an improvement job and

submits α‘• Text α‘ done by worker x:

quality density function: fQ’|q,x(q’) – posterior • Quality density function of text α‘

Page 13: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

TurKontrol: Computation Model• Voting:

– A series of n votes: b = b1, b2, …, bn where bi {1, 0}∈– Posterior probability after n votes: fQ|b (q) and fQ’|b (q’)

• Difficulty: – Closer the two results the more difficult to judge– d(q, q’) = 1 - |q-q’|M where M is constant; and d [0, 1], ∈

• Accuracy (of a worker x) – ax(d) = ½ [1+(1-d)r] where r is a knob for controlling accuracy dist

If the i-th worker xi has accuracy axi (d),

Page 14: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

TurKontrol: Computation Model• For a given pair (α, α’), its posterior probabilities

(Q, Q’) are fQ|b(q) and fQ’|b(q)

where

α

Given that we don’t know the worker, an average worker is used

Page 15: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

TurKontrol: Computation Model

Improveα α‘

Cost: c_imp

Voteα

Cost: c_b

α'

fQ(q) fQ’(q’)

fQ|b (q)fQ’|b (q’)

fQ|b+1 (q)fQ’|b+1 (q’)

Utility function:

utilit

y

quality

Page 16: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

TurKontrol: Computation Model• Utility estimation of a pair (α, α’), for (1) improve and

(2) voting task– (2) utility of a vote task

– (1) utility of an improve task

• Decision making: – Three options: (a) vote, (b) improve, or(c) accept– k-step lookahead: evaluate all sequences of k decisions,

and find the sub-sequence with the highest utility

U: utility functioncb: vote cost

cimp: improve cost

Page 17: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Numerical Results• Convex utility function with max 1000• Fixed cost (improve, vote) = (30, 10) • Net utility: utility of submitted artifact –payment to workers• TurKit: performs as many iterations as possible (max allowance 400)• TurKontrol (2): lookahead of 2

cf: accuracy of workers ax(d) = ½[1+(1-d)r]

Page 18: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Turkalytics: Real-time Analytics for Human Computation

Paul Heymann and Hector Garcia-MolinaWWW'11

Page 19: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Basic Buyer human programming• A human program generates forms; advertised through a marketplace. • Workers look at posts, and then complete the forms for compensation.

Page 20: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Game Maker human programming• The programmer writes a human program and a game. • The game implements features to make it fun and difficult to cheat. • The human program loads and dumps data from the game.

Page 21: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Human Processing programming

Page 22: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Human Processing programming• Task description:

– Input, output, web forms, human driver, other information– Human task instance

• Human drivers: interact with workers– Functions: initialization (forms, games), retrieving results – “Human Program” accesses workers via “human drivers”

• Recruiters: post task instances into the marketplaces, (by working with marketplace drivers)– Marketplace driver provides an interface to marketplaces

(description) (instance)

Page 23: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Turkalytics

• Challenge: collecting reliable data about the workers and the tasks they perform

• Why?– If a task is not being completed, is it because no workers

are seeing it? Is it because the task is currently being offered at too low a price?

– How does the task completion time break down? – Do workers spend more time previewing tasks or doing

them? – Do they take long breaks? – Which are the more “reliable” workers?

Page 24: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Interaction Model

• Search-Preview-Accept (SPA) model

Page 25: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Interaction Model• Search-Continue-RapidAccept-Accept-Preview (SCRAP)

Continue completing a task that was accepted but not submitted

Accept the next task in a HITGroup w/o previewing it

Page 26: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Turkalytics Data Models

Page 27: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Turkalytics ArchitectureClient-side javascript: ta.js Log Server

Client-side javascript: ta.js

ta.js

ta.js

Ajax: POST

Log messages (JSON )

Analysis Server

Log messages (JSON )

Page 28: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Implementation: client-side Javascript

• Requester embeds a Turkalytics script (ta.js) into a HIT (when designing a HIT)– Monitoring: Detect relevant worker data and actions.– Sending: Log events by making image requests to the

log server (ajax: POST)

Page 29: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Implementation: ta.js -- client-side JavaScript

• ta.js’s monitoring activities:– Client Information: Worker’s screen resolution? What

plugins are supported? Can ta.js set cookies?– DOM Events: Over the course of a page view, the

browser emits various events (e.g., load, submit, before unload, and unload events)

– Activity: listens on a second-by-second basis for the mousemove, scroll and keydown events to determine if the worker is active or inactive.

– Form Contents: examines forms on the page and their contents; logs initial form contents, incremental updates, and final state.

Page 30: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Implementation: log/analysis

• Log Server:– Simple web app built on Google’s App Engine. – Receives logging events from clients running ta.js and saves them

to a data store. • IP address, user agent, and referer, etc

• Analysis Server: – Periodically polls the log server to download any new events that

have been received – Event inserted into DB, considering the following:

• Time constraints: data availability to analysis server• Dependencies: if events are dependent on one another• Incomplete input: if all events are not received yet..• Unknown input: what if unexpected input is received?

Page 31: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Implementation: analysis

// what type of data (event) is sent // actual data for a given type

Detailed info about task

// session ID

Page 32: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Experiments• Tasks:

– Named Entity Recognition (NER): This task, posted in groups of 200 by a researcher in Natural Language Processing, asks workers to label words in a Wikipedia article if they correspond to people, organizations, locations, or demonyms. (2, 000 HITs, 1 HIT Type, more than 500 workers.)

– Turker Count (TC): This task, posted once a week by a professor of business at U.C. Berkeley, asks workers to push a button, and is designed just to gauge how many workers are present in the marketplace. (2 HITs, 1 HIT Type, more than 1, 000 workers each.)

– Create Diagram (CD): This task, posted by the authors, asked workers to draw diagrams for this paper based on hand drawn sketches

Page 33: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Experiments: origin of workers

• GeoLite City DB from MaxMind to geolocate all remote users by IP address

Page 34: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Experiments: worker characteristics

Page 35: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Experiments: states/actions

• RapidAccept is quite popular (Continue is rare)

Page 36: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Experiments: # previews• Artificial recency for NER/CD (keep making them near the top in the list):

NER and CD exhibit less severe drop as opposed to TC

ArtificialRecency

Page 37: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Experiments: activity vs. delay

• Average active and total seconds for each worker who completed the NER task (correlation 0.88)

Page 38: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Discussion

• Multi-tasking users? Activity vs. working time• Privacy??– We can collect as much as we can..– How about Google Analytics? Any web pages that we visit

can collect such information…

• False data injection?• How can we better utilize the dataset?– Re-designing existing tasks, pricing, etc. (or mining user

behavior?)

Page 39: Task and Workflow Design II KSE 801 Uichin Lee. Contents Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M- Turk TurKontrol:

Summary

• Turkomatic: divide and conquer strategy for performing more “challenging tasks” in M-Turk

• TurKontrol: decision-theoretic approach for work-flow control (e.g., how many improve/vote tasks?)

• Turkalytics: monitoring workers’ behavior remotely