reactive crowdsourcing

42
REACTIVE CROWDSOURCING Alessandro Bozzon ab Marco Brambilla a Stefano Ceri a Andrea Mauri a a Politecnico di Milano Dipartimento di Elettronica, Informazione e BioIngegneria b Delft University Of Technology Department of Software And Computer Technology

Upload: alessandro-bozzon

Post on 10-May-2015

6.752 views

Category:

Technology


0 download

DESCRIPTION

Slides of the presentation given at the 22nd International Conference on the World Wide Web. URL: http://www2013.org/program/561-reactive-crowdsourcing/ More information on the Crowdsearcher project available at crowdsearcher.search-computing.com

TRANSCRIPT

Page 1: Reactive crowdsourcing

REACTIVE CROWDSOURCING

Alessandro Bozzonab

Marco Brambillaa

Stefano Ceria

Andrea Mauria

aPolitecnico di Milano

Dipartimento di Elettronica, Informazione e BioIngegneria

bDelft University Of Technology

Department of Software And Computer Technology

Page 2: Reactive crowdsourcing

2

Crowd Control is tough… • There are several aspects that makes crowd

engineering complicated • Task design, planning, assignment• Workers discovery, assessment, engagement

Wednesday, May 15 Reactive Crowdsourcing

http://xkcd.com/1060/

Page 3: Reactive crowdsourcing

3

Crowd Control is tough…

Wednesday, May 15 Reactive Crowdsourcing

• There are several aspects that makes crowd engineering complicated • Task design, planning, assignment• Workers discovery, assessment, engagement

• Goal: taming the crowd• Cost• Time• Quality

Page 4: Reactive crowdsourcing

4

Crowd Control is tough…

Wednesday, May 15 Reactive Crowdsourcing

• There are several aspects that makes crowd engineering complicated • Task design, planning, assignment• Workers discovery, assessment, engagement

• Goal: taming the crowd• Cost• Time• Quality• Motivation!

• Need for higher level abstractions and tools• CONTROL as first-class citizen

Page 5: Reactive crowdsourcing

5

Reactive Crowdsourcing• A conceptual framework for modeling crowdsourcing

computations and control requirements• Task Design• Reactive Control Design

• Active Rule programming framework• Declarative rule language

• A reactive execution environment for requirement enforcement and reactive execution• Based on the CrowdSearcher approach

Wednesday, May 15 Reactive Crowdsourcing

Page 6: Reactive crowdsourcing

6

Why Active Rules?• Crowdsourcing control typically focuses on task data

• Execution results, agreement on truth value, workers performance

• An active rule approach can provide• Ease of Use: control is easily expressible

• Simple control data structures • Familiar formalism

• Power: support to arbitrarily complex controls• Extensibility mechanisms

• Automation: most active rules can be system-generated• Well-defined semantic

• Flexibility: simple control variants have localized impact on the rules set• Control isolation

Wednesday, May 15 Reactive Crowdsourcing

Page 7: Reactive crowdsourcing

7

The CrowdSearcher Approach• Human-Enhanced data management with social networks

and Q&A systems as crowdsourcing platforms

• Example: search task (WWW2012)

Wednesday, May 15 Reactive Crowdsourcing

Human Interaction Management

Social Networks

HumanComputation

PlatformsQ&A

Data Management System

Human Access Interface

Remote Data Access

Local Data Access

Task

Human-EnhancedData

Query

Results

Page 8: Reactive crowdsourcing

8

• A simple abstract model• A task receives a list of input objects • Performers execute one or more operations upon them• The task produces a list of crowd-manipulated objects

• A simple task design and deployment process, based on specific data structures• created using model-driven transformations• driven by the task specification

The Design Process

Wednesday, May 15 Reactive Crowdsourcing

More in the paper

I O

Page 9: Reactive crowdsourcing

9

• A simple abstract model• A task receives a list of input objects • Performers execute one or more operations upon them• The task produces a list of crowd-manipulated objects

• A simple task design and deployment process, based on specific data structures• created using model-driven transformations• driven by the task specification

The Design Process

Task Specification Task Planning Control Specification

Wednesday, May 15 Reactive Crowdsourcing

• Task Spec: task operations, objects, and performers Dimension Tables

Page 10: Reactive crowdsourcing

10

• A simple abstract model• A task receives a list of input objects • Performers execute one or more operations upon them• The task produces a list of crowd-manipulated objects

• A simple task design and deployment process, based on specific data structures• created using model-driven transformations• driven by the task specification

The Design Process

Task Specification Task Planning Control Specification

Wednesday, May 15 Reactive Crowdsourcing

• Task Spec: task operations, objects, and performers Dimension Tables• Task Planning: work distribution Execution Table for task monitoring

Page 11: Reactive crowdsourcing

11

• A simple abstract model• A task receives a list of input objects • Performers execute one or more operations upon them• The task produces a list of crowd-manipulated objects

• A simple task design and deployment process, based on specific data structures• created using model-driven transformations• driven by the task specification

The Design Process

Task Specification Task Planning Control Specification

Wednesday, May 15 Reactive Crowdsourcing

• Task Spec: task operations, objects, and performers Dimension Tables• Task Planning: work distribution Execution Table for task monitoring• Control Specification: task control policies Control Mart

Page 12: Reactive crowdsourcing

12

Task Specification_1/3

Wednesday, May 15 Reactive Crowdsourcing

• Operation Types: Choice, Like, Score, Tag, Classify, Order, …• Operation Parameters: e.g. classification classes

Task

tIDopType

categories

Task Specification Task Planning Control Specification

Task Configuration

t1Classify

Rep/Dem

Page 13: Reactive crowdsourcing

13

Task Specification_2/3

Wednesday, May 15 Reactive Crowdsourcing

Politician

classifiedParty

lastNamephoto

oID

• Input Objects Schema: typed attributes• Output Attributes (according to task type)

Task

tIDopType

categories

Task Specification Task Planning Control Specification

Task ConfigurationObject

Specification

o1 Obama http://…. ?????

Page 14: Reactive crowdsourcing

14

Task Specification_3/3

Wednesday, May 15 Reactive Crowdsourcing

Politician

classifiedParty

lastNamephoto

oID

Task ConfigurationObject

SpecificationPerformer

Specification

• Execution platform(s)• Qualifications, etc.

Task

tIDopType

categories PerformernamepID

platform

Task Specification Task Planning Control Specification

p1 Alessandro Facebook

Page 15: Reactive crowdsourcing

15

Task Planning_1/2

• Organize the task in MicroTasks, and allocate input objects• μTaskObjectExecution Designed for execution monitoring

• Track performers response

classifiedPartyplatform

μTaskObjectExecution

μtIDstartTs

endTsoIDpID

Wednesday, May 15 Reactive Crowdsourcing

Politician

classifiedParty

lastNamephoto

oID

Task

tIDopType

categories PerformernamepID

platform

Splitting

Task Specification Task Planning Control Specification

mt1 O1 … …

… …

Facebook

Page 16: Reactive crowdsourcing

16

Task Planning_2/2

• Assign performers to MicroTasks on platforms• Pull: dynamic assignment (First come - First served / Choice of the

performer)• Push: static assignment (Performers’ priority / Performer matching)

classifiedPartyplatform

μTaskObjectExecution

μtIDstartTs

endTsoIDpID

Wednesday, May 15 Reactive Crowdsourcing

Politician

classifiedParty

lastNamephoto

oID

Task

tIDopType

categories PerformernamepID

platform

Splitting Assignment

Task Specification Task Planning Control Specification

mt1 O1 P1 Republican

00:00:01 00:00:10 Facebook

Page 17: Reactive crowdsourcing

17

Control Specification_1/4

Wednesday, May 15 Reactive Crowdsourcing

Task Specification Task Planning Control Specification

• Status Variable: tracking task and performers status

classifiedPartyplatform

μTaskObjectExecution

μtIDstartTs

endTsoIDpID

Politician

classifiedParty

lastNamephoto

oID

PerformernamepID

statusplatformTask

tIDopType

categoriesstatus Trusted/SpammerCreated/Planned/Closed

Page 18: Reactive crowdsourcing

18

Control Specification_2/4

Wednesday, May 15 Reactive Crowdsourcing

Task Specification Task Planning Control Specification

• Object : tracking objects status

classifiedPartyplatform

μTaskObjectExecution

μtIDstartTs

endTsoIDpID

Politician

classifiedParty

lastNamephoto

oID

PerformernamepID

statusplatformTask

tIDopType

categoriesstatus

ObjectControl #dem

oID#eval

#rep

#curAnswer

Page 19: Reactive crowdsourcing

19

Control Specification_3/4

Wednesday, May 15 Reactive Crowdsourcing

Task Specification Task Planning Control Specification

• Object : tracking object responses• Performer: tracking performer behavior (e.g. spammers)

PerformerControl #right

pID#eval

#wrong

classifiedPartyplatform

μTaskObjectExecution

μtIDstartTs

endTsoIDpID

Politician

classifiedParty

lastNamephoto

oID

PerformernamepID

statusplatformTask

tIDopType

categoriesstatus

ObjectControl #dem

oID#eval

#rep

#curAnswer

Page 20: Reactive crowdsourcing

20

Control Specification_4/4

• Object : tracking object responses• Performer: tracking performer behavior (e.g. spammers)• Task: tracking task status: closing @completion, re-plan

Wednesday, May 15 Reactive Crowdsourcing

TaskControl#compObj

tID#compExec

PerformerControl #right

pID#eval

#wrong

classifiedPartyplatform

μTaskObjectExecution

μtIDstartTs

endTsoIDpID

Politician

classifiedParty

lastNamephoto

oID

PerformernamepID

statusplatformTask

tIDopType

categoriesstatus

ObjectControl #dem

oID#eval

#rep

#curAnswer

Task Specification Task Planning Control Specification

Page 21: Reactive crowdsourcing

21

Active Rules Language• Active rules are expressed on the previous data structures• Event-Condition-Action paradigm

Wednesday, May 15 Reactive Crowdsourcing

Page 22: Reactive crowdsourcing

22

Active Rules Language• Active rules are expressed on the previous data structures• Event-Condition-Action paradigm

• Events: data updates / timer• ROW-level granularity

• OLD before state of a row• NEW after state of a row

Wednesday, May 15 Reactive Crowdsourcing

e: UPDATE FOR μTaskObjectExecution[ClassifiedParty]

Page 23: Reactive crowdsourcing

23

Active Rules Language• Active rules are expressed on the previous data structures• Event-Condition-Action paradigm

• Events: data updates / timer• ROW-level granularity

• OLD before state of a row• NEW after state of a row

• Condition: a predicate that must be satisfied (e.g. conditions on control mart attributes)

Wednesday, May 15 Reactive Crowdsourcing

e: UPDATE FOR μTaskObjectExecution[ClassifiedParty]

c: NEW.ClassifiedParty == ’Republican’

Page 24: Reactive crowdsourcing

24

Active Rules Language• Active rules are expressed on the previous data structures• Event-Condition-Action paradigm

• Events: data updates / timer• ROW-level granularity

• OLD before state of a row• NEW after state of a row

• Condition: a predicate that must be satisfied (e.g. conditions on control mart attributes)

• Actions: updates on data structures (e.g. change attribute value, create new instances), special functions (e.g. replan)

Wednesday, May 15 Reactive Crowdsourcing

e: UPDATE FOR μTaskObjectExecution[ClassifiedParty]

c: NEW.ClassifiedParty == ’Republican’

a: SET ObjectControl[oID == NEW.oID].#Eval+= 1

More in the paper

Page 25: Reactive crowdsourcing

25Wednesday, May 15 Reactive Crowdsourcing

e: UPDATE FOR ObjectControl

c: (NEW.Rep== 2) or (NEW.Dem == 2)

a: SET Politician[oid==NEW.oid].classifiedParty = NEW.CurAnswer,

SET TaskControl[tID==NEW.tID].compObj += 1

Rule Example

TaskControl#compObj

tID PerformerControl

μTaskObjectExecution

Politician classifiedPartyoID

PerformerTask

ObjectControl #dem

oID

#rep

#evaltIDEvent

Page 26: Reactive crowdsourcing

26Wednesday, May 15 Reactive Crowdsourcing

e: UPDATE FOR ObjectControl

c: (NEW.Rep== 2) or (NEW.Dem == 2)

a: SET Politician[oid==NEW.oid].classifiedParty = NEW.CurAnswer,

SET TaskControl[tID==NEW.tID].compObj += 1

Rule Example

TaskControl#compObj

tID PerformerControl

μTaskObjectExecution

Politician classifiedPartyoID

PerformerTask

ObjectControl #dem

oID

#rep

#evaltID

Condition

Page 27: Reactive crowdsourcing

27Wednesday, May 15 Reactive Crowdsourcing

e: UPDATE FOR ObjectControl

c: (NEW.Rep== 2) or (NEW.Dem == 2)

a: SET Politician[oid==NEW.oid].classifiedParty = NEW.CurAnswer,

SET TaskControl[tID==NEW.tID].compObj += 1

Rule Example

TaskControl#compObj

tID PerformerControl

μTaskObjectExecution

Politician classifiedPartyoID

PerformerTask

ObjectControl #dem

oID

#rep

#evaltID

Action

Page 28: Reactive crowdsourcing

28Wednesday, May 15 Reactive Crowdsourcing

e: UPDATE FOR ObjectControl

c: (NEW.Rep== 2) or (NEW.Dem == 2)

a: SET Politician[oid==NEW.oid].classifiedParty = NEW.CurAnswer,

SET TaskControl[tID==NEW.tID].compObj += 1

Rule Example

TaskControl#compObj

tID PerformerControl

μTaskObjectExecution

Politician classifiedPartyoID

PerformerTask

ObjectControl #dem

oID

#rep

#evaltID

Action

Page 29: Reactive crowdsourcing

29

Rule Programming Best Practice• We define three classes of rules

Wednesday, May 15 Reactive Crowdsourcing

μTaskObjectExecution

PerformerControl

ObjectControl

TaskControl

Politician Performer Task

Page 30: Reactive crowdsourcing

30

Rule Programming Best Practice

Wednesday, May 15 Reactive Crowdsourcing

• We define three classes of rules• Control rules: modifying the control tables;

μTaskObjectExecution

PerformerControl

ObjectControl

TaskControl

Politician Performer Task

Page 31: Reactive crowdsourcing

31

Rule Programming Best Practice

Wednesday, May 15 Reactive Crowdsourcing

• We define three classes of rules• Control rules: modifying the control tables; • Result rules: modifying the dimension tables (object, performer, task);

μTaskObjectExecution

PerformerControl

ObjectControl

TaskControl

Politician Performer Task

Page 32: Reactive crowdsourcing

32

Rule Programming Best Practice

Wednesday, May 15 Reactive Crowdsourcing

• Top-to-bottom, left-to-right, evaluation• Guaranteed termination

• We define three classes of rules• Control rules: modifying the control tables; • Result rules: modifying the dimension tables (object, performer, task);

μTaskObjectExecution

PerformerControl

ObjectControl

TaskControl

Politician Performer Task

Page 33: Reactive crowdsourcing

33

Rule Programming Best Practice• We define three classes of rules

• Control rules: modifying the control tables; • Result rules: modifying the dimension tables (object, performer, task); • Execution rules: modifying the execution table, either directly or through re-planning

Wednesday, May 15 Reactive Crowdsourcing

μTaskObjectExecution

PerformerControl

ObjectControl

TaskControl

Politician Performer Task

• Termination must be proven (Rule precedence graph has cycles)

Page 34: Reactive crowdsourcing

34

Experimental Evaluation

• GOAL: demonstrate the flexibility and expressive power of reactive crowdsourcing

• 3 experiments, focused on Italian politicians• Parties: Human Computation affiliation classification• Law: Game With a Purpose guess the convicted politician• Order: Pure Game hot or not

• 1 week (November 2012)• 284 distinct performers

• Recruited through public mailing lists and social networks announcements

• 3500 Micro Tasks

Wednesday, May 15 Reactive Crowdsourcing

Page 35: Reactive crowdsourcing

35

Politician Affiliation• Given the picture and name of a politician, specify his/her political

affiliation• No time limit• Performers are encouraged to look up online

• 2 set of rules• Majority Evaluation• Spammer Detection

Wednesday, May 15 Reactive Crowdsourcing

Page 36: Reactive crowdsourcing

36

Results – Majority Evaluation_1/3

Wednesday, May 15 Reactive Crowdsourcing

30 object; object redundancy = 9;

Final object classification as simple majority after 7 evaluations

Page 37: Reactive crowdsourcing

37

Results - Majority Evaluation_2/3

Wednesday, May 15 Reactive Crowdsourcing

Final object classification as total majority after 3 evaluations

Otherwise, re-plan of 4 additional evaluations. Then simple majority at 7

Page 38: Reactive crowdsourcing

38

Results - Majority Evaluation_3/3

Wednesday, May 15 Reactive Crowdsourcing

Final object classification as total majority after 3 evaluations

Otherwise, simple majority at 5 or at 7 (with replan)

Page 39: Reactive crowdsourcing

39

Results – Spammer Detection_1/2

Wednesday, May 15 Reactive Crowdsourcing

New rule for spammer detection without ground truth

Performer correctness on final majority. Spammer if > 50% wrong classifications

Page 40: Reactive crowdsourcing

40

A Short CrowdSearcher Demo

Wednesday, May 15 Reactive Crowdsourcing

Page 41: Reactive crowdsourcing

41

Summary• Results

• An integrated framework for crowdsourcing task design and control• Well-structured control rules with some guarantees of termination• Support for cross-platform crowd interoperability• A working prototype crowdsearcher.search-computing.org

• Forthcoming• Exploitation of interoperability• Expertise finding• Dynamic planning• Integration with other social-networks and human computation

platforms

Wednesday, May 15 Reactive Crowdsourcing

Page 42: Reactive crowdsourcing

42

QUESTIONS?

Wednesday, May 15 Reactive Crowdsourcing