Local Turk implements Amazon's Mechanical Turk API on your own machine.
It's handy if you want to:
You could use it, for instance, to generate test and training data for a Machine Learning algorithm.
npm install -g localturk
cd localturk/sample localturk --static_dir . transcribe.html tasks.csv outputs.csv
Then visit http://localhost:4321/ to start Turking.
Using Local Turk is just like using Amazon's Mechanical Turk. You create:
For example, say you wanted to record whether some images contained a red ball. You would make a CSV file containing the URLs for each image:
image_url http://example.com/image_with_red_ball.png http://example.com/image_without_red_ball.png
Then you'd make an HTML template for the task:
Has a red ballDoes not have a red ball
Finally, you'd start up the Local Turk server:
$ localturk path/to/template.html path/to/tasks.csv path/to/output.csv
Now you can visit http://localhost:4321/ to complete each task. When you're done, the output.csv file will contain
image_url,has_button http://example.com/image_with_red_ball.png,yes http://example.com/image_without_red_ball.png,no
The use case described above (classifying images) is an extremely common one.
To expedite this, localturk provides a separate script for doing image classification. The example above could be written as:
classify-images --labels 'Has a red ball,Does not have a red ball' *.png
This will bring up a web server with a UI for assigning one of those two labels
to each image on your local file system. The results will go in
For more details, run