Categorical Taxonomies
{
...
"taxonomies": {
"genre": {
"type": "category",
"description": "What genre does it belong to?",
"choices": ["Action", "Adventure", "Comedy", "Crime", "Drama"],
"allow_multiple": true
}
}
}
Each key-value defining a categorical taxonomy should have the following structure:
- key: a short string that serves as the identifier for the taxonomy.
- value: an object that should have the following keys:
description
: a human-readable string describing the taxonomy to a categorizer.choices
: a list of strings or objects of nested choices.type
: a string describing the type of taxonomy. Must becategory
for categorical taxonomies.allow_multiple
(optional): allow multiple categories to be chosen.condition
(optional): an object that specifies that the current taxonomy will only be present to workers if another taxonomy has certain answers.
Nested choices
There are often categorization tasks that have too many choices for a worker to efficiently sort through them all at once. In those cases, a solution is to use nested choices, where choices may have subchoices within them. A simple example illustrated in the example API call on the right is when selecting a movie genre. While there may be a large number of total choices, using subchoices a worker can first categorize a movie as adventure, and based on that choice select the specific type of adventure.
For example, for a choices array of ["Action", "Adventure"]
, you could instead add a nested choice by passing an array-like ["Action", { "choice": "Adventure", "subchoices": ["Anime", "Superhero"] }]
. Then, if a worker selected Adventure
, they would be further prompted to choose one of the corresponding subchoices.
These hierarchies can themselves be nested, so that the subchoices array may itself specify further nested choices.