Choices
The Choices
tag is used to create a group of choices, with radio buttons or checkboxes. It can be used for single or multi-class classification. Also, it is used for advanced classification tasks where annotators can choose one or multiple answers.
Choices can have dynamic value to load labels from task. This task data should contain a list of options to create underlying <Choice>
s. All the parameters from options will be transferred to corresponding tags.
The Choices
tag can be used with any data types.
Parameters
Param | Type | Default | Description |
---|---|---|---|
name | string |
Name of the group of choices | |
toName | string |
Name of the data item that you want to label | |
[choice] | single | single-radio | multiple |
single |
Single or multi-class classification |
[showInline] | boolean |
false |
Show choices in the same visual line |
[required] | boolean |
false |
Validate whether a choice has been selected |
[requiredMessage] | string |
Show a message if validation fails | |
[visibleWhen] | region-selected | choice-selected | no-region-selected |
Control visibility of the choices. | |
[whenTagName] | string |
Use with visibleWhen. Narrow down visibility by name of the tag. For regions, use the name of the object tag, for choices, use the name of the choices tag | |
[whenLabelValue] | string |
Narrow down visibility by label value | |
[whenChoiceValue] | string |
Narrow down visibility by choice value | |
[perRegion] | boolean |
Use this tag to select a choice for a specific region instead of the entire task | |
[value] | string |
Task data field containing a list of dynamically loaded choices (see example below) | |
[allowNested] | boolean |
Allow to use children field in dynamic choices to nest them. Submitted result will contain array of arrays, every item is a list of values from topmost parent choice down to selected one. |
Example
Basic text classification labeling configuration
<View>
<Choices name="gender" toName="txt-1" choice="single-radio">
<Choice alias="M" value="Male" />
<Choice alias="F" value="Female" />
<Choice alias="NB" value="Nonbinary" />
<Choice alias="X" value="Other" />
</Choices>
<Text name="txt-1" value="John went to see Mary" />
</View>
Example (This config with dynamic labels)
Choice
s can be loaded dynamically from task data. It should be an array of objects with attributes.
html
can be used to show enriched content, it has higher priority than value
, however value
will be used in the exported result.
ff_dev_2007_dev_2008_dynamic_tag_children_250322_short should be enabled to use dynamic options.
ff_dev_2007_rework_choices_280322_short should be enabled to use html
attribute.
<View>
<Audio name="audio" value="$audio" />
<Choices name="transcription" toName="audio" value="$variants" />
</View>
<!-- {
"data": {
"variants": [
{ "value": "Do or doughnut. There is no try.", "html": "<img src='https://labelstud.io/images/logo.png'>" },
{ "value": "Do or do not. There is no trial.", "html": "<h1>You can use hypertext here</h2>" },
{ "value": "Do or do not. There is no try." },
{ "value": "Duo do not. There is no try." }
]
}
} -->
Example (is equivalent to this config)
<View>
<Audio name="audio" value="$audio" />
<Choices name="transcription" toName="audio" value="$variants">
<Choice value="Do or doughnut. There is no try." />
<Choice value="Do or do not. There is no trial." />
<Choice value="Do or do not. There is no try." />
<Choice value="Duo do not. There is no try." />
</Choices>
</View>