CrowdDB: Answering Queries with Crowdsourcing Michael - - PowerPoint PPT Presentation

crowddb answering queries with crowdsourcing
SMART_READER_LITE
LIVE PREVIEW

CrowdDB: Answering Queries with Crowdsourcing Michael - - PowerPoint PPT Presentation

CrowdDB: Answering Queries with Crowdsourcing Michael Franklin et al., SIGMOD11 Lianghong Xu CMU 15-799 course presentaJon Power to the People


slide-1
SLIDE 1

CrowdDB: ¡Answering ¡Queries ¡ with ¡Crowdsourcing ¡

Michael ¡Franklin ¡et ¡al., ¡SIGMOD’11 ¡ Lianghong ¡Xu ¡ CMU ¡15-­‑799 ¡course ¡presentaJon ¡

slide-2
SLIDE 2

Power ¡to ¡the ¡People ¡

  • Some ¡queries ¡cannot ¡be ¡easily ¡answered ¡by ¡

machines ¡

– “I.B.M.”, ¡“IBM”, ¡“I.B.N”, ¡“Big ¡Blue”, ¡etc. ¡ – Which ¡picture ¡shows ¡the ¡golden ¡bridge ¡beTer? ¡

  • Human ¡labor ¡can ¡be ¡beTer ¡and ¡cheaper ¡

– SomeJmes ¡humans ¡are ¡smarter ¡than ¡computers ¡ – Ability ¡to ¡find ¡new ¡data ¡in ¡the ¡open ¡world ¡

slide-3
SLIDE 3

CrowdDB: ¡IntuiJon ¡

  • Complement ¡tradiJonal ¡database ¡systems ¡

with ¡human ¡knowledge, ¡whenever ¡needed ¡

  • Leverage ¡the ¡best ¡from ¡both ¡sides ¡

– Human ¡power ¡for ¡comparing ¡and ¡finding ¡data ¡ – Machine ¡power ¡for ¡heavy-­‑liZing ¡computaJon ¡

  • Automate ¡task ¡assignment ¡
slide-4
SLIDE 4
  • Crowdsourcing ¡pla[orm ¡
  • CrowdSQL ¡
  • User ¡interface ¡
  • Query ¡processing ¡
  • EvaluaJon ¡
slide-5
SLIDE 5

Crowdsourcing ¡pla[orm: ¡AMT ¡

  • Amazon ¡Mechanical ¡Turk ¡
  • Basic ¡concepts ¡

– HIT: ¡Human ¡Intelligent ¡Task. ¡Smallest ¡enJty ¡of ¡work ¡ – Assignment: ¡1 ¡HIT ¡replicated ¡to ¡N ¡assignments ¡ – HIT ¡group: ¡similar ¡HITs ¡

  • Mechanical ¡Turk ¡APIs ¡

– Requester: ¡createHIT(), ¡approve/rejectAssignment() ¡ – Worker: ¡getAssignmentForHIT() ¡

slide-6
SLIDE 6

Design ¡ConsideraJons ¡

  • Performance ¡and ¡variability ¡

– Difference ¡in ¡worker ¡producJvity ¡

  • Task ¡design ¡and ¡ambiguity ¡

– Need ¡user-­‑friendly ¡interface ¡

  • Affinity ¡and ¡learning ¡

– Workers ¡learn ¡and ¡become ¡more ¡experienced ¡ ¡

  • RelaJvely ¡small ¡worker ¡pool ¡
  • Open ¡vs. ¡closed ¡world ¡
slide-7
SLIDE 7
  • Crowdsourcing ¡pla[orm ¡
  • CrowdSQL ¡
  • User ¡interface ¡
  • Query ¡processing ¡
  • EvaluaJon ¡
slide-8
SLIDE 8

CrowdSQL ¡

  • Superset ¡of ¡SQL ¡

– With ¡minimal ¡extension ¡to ¡support ¡crowdsourcing ¡ – Expressive ¡semanJcs ¡

  • Incomplete ¡data ¡

– Crowdsource ¡new ¡column/record ¡if ¡not ¡exist ¡

  • SubjecJve ¡comparisons ¡

– Compare/order ¡values ¡

slide-9
SLIDE 9

Example: ¡Crowdsourced ¡Column ¡

CREATE ¡TABLE ¡Department ¡( ¡ ¡ ¡university ¡STRING, ¡ ¡ ¡name ¡STRING, ¡ ¡ ¡url ¡CROWD ¡STRING, ¡ ¡ ¡phone ¡STRING, ¡ ¡ ¡PRIMARY ¡KEY ¡(university, ¡name) ¡); ¡ SELECT ¡url ¡FROM ¡Department ¡WHERE ¡ name ¡= ¡"Math"; ¡

slide-10
SLIDE 10

Example: ¡CROWDORDER ¡

CREATE ¡TABLE ¡picture ¡( ¡ ¡ ¡p ¡IMAGE, ¡ ¡subject ¡STRING); ¡ ¡ SELECT ¡p ¡FROM ¡picture ¡ ¡ WHERE ¡subject ¡= ¡"Golden ¡Gate ¡Bridge” ¡ ORDER ¡BY ¡CROWDORDER(p, ¡ ¡ "Which ¡picture ¡visualizes ¡beTer ¡%subject"); ¡

slide-11
SLIDE 11

PotenJal ¡issues ¡in ¡CrowdSQL ¡

  • Unbounded ¡cost ¡and ¡latency ¡

– #items ¡to ¡be ¡crowdsourced ¡is ¡unclear ¡ – Can ¡be ¡miJgated ¡by ¡senng ¡query ¡“budget” ¡

  • Lineage ¡

– Track ¡source ¡of ¡data ¡to ¡take ¡acJons ¡

  • Cleansing ¡of ¡crowdsourced ¡data ¡

– Reduce ¡data ¡redundancy ¡due ¡to ¡human ¡input ¡

slide-12
SLIDE 12
  • Crowdsourcing ¡pla[orm ¡
  • CrowdSQL ¡
  • User ¡interface ¡
  • Query ¡processing ¡
  • EvaluaJon ¡
slide-13
SLIDE 13

User ¡interface ¡ ¡

  • Create ¡templates ¡in ¡compile-­‑Jme ¡
  • AutomaJcally ¡instanJate ¡user ¡interface ¡

templates ¡in ¡the ¡runJme ¡

  • Can ¡be ¡edited ¡for ¡customized ¡instrucJons ¡
slide-14
SLIDE 14

Basic ¡Interface ¡

slide-15
SLIDE 15

MulJ-­‑RelaJonal ¡Interfaces ¡

slide-16
SLIDE 16

Possible ¡OpJmizaJons ¡

  • Batch ¡tuples ¡

– The ¡same ¡person ¡for ¡many ¡similar ¡tasks ¡

  • Prefetch ¡aTributes ¡

– Crowdsource ¡more ¡than ¡needed ¡for ¡future ¡use ¡

slide-17
SLIDE 17
  • Crowdsourcing ¡pla[orm ¡
  • CrowdSQL ¡
  • User ¡interface ¡
  • Query ¡processing ¡
  • EvaluaJon ¡
slide-18
SLIDE 18

Query ¡Processing ¡ ¡

  • Extended ¡operators ¡to ¡support ¡CrowdSQL ¡

– CrowdProbe, ¡CrowdJoin, ¡CrowdCompare ¡

  • Create ¡HIT ¡(group) ¡using ¡AMT ¡APIs ¡
  • Parse ¡crowdsourced ¡results ¡

– Perform ¡majority-­‑based ¡quality ¡control ¡

  • Rule-­‑based ¡opJmizer ¡

– Basic ¡parameter ¡senng ¡(e.g., ¡price, ¡batching ¡size) ¡ – BeTer ¡candidate: ¡cost-­‑based ¡opJmizer ¡

slide-19
SLIDE 19
  • Crowdsourcing ¡pla[orm ¡
  • CrowdSQL ¡
  • User ¡interface ¡
  • Query ¡processing ¡
  • EvaluaJon ¡
slide-20
SLIDE 20

Response ¡Time ¡

slide-21
SLIDE 21

CompleJon ¡with ¡Varied ¡Reward ¡

slide-22
SLIDE 22

HITs/Quality ¡by ¡Worker ¡

slide-23
SLIDE 23

InteresJng ¡ObservaJons ¡

  • Crowdsourcing ¡involves ¡long-­‑term ¡relaJonship ¡

– Keep ¡the ¡workers ¡happy ¡

  • Interface ¡design ¡maTers ¡

– A ¡good ¡interface ¡improves ¡result ¡quality ¡and ¡worker ¡ efficiency ¡

  • Need ¡of ¡data ¡independence ¡

– Free ¡applicaJon ¡writers ¡from ¡worrying ¡about ¡changing ¡ environment ¡