Advanced Project Task Settings
In this page
- 1 Task Allocation Methods
- 2 Task Properties
- 2.1 Split Task
- 2.1.1 Audio Split
- 2.1.2 Image Split
- 2.1.3 Field Split
- 2.1.4 Field Value Split
- 2.2 Task Pre-processing
- 2.3 Task Post-processing
- 2.1 Split Task
- 3 Custom Code
Taskmonk offers the following advanced project task settings:
Task Allocation Methods: Enables you to specify how tasks must be routed to team members across levels in your project.
Task Properties: Enables you to specify how the tasks in your project must be split, and enables you to configure preprocessing and postprocessing steps that must be executed before and after the task is completed.
Custom Code: Enables you to create custom JavaScript code that must be run when specific events occur.
Task Allocation Methods
Field | Description | Example |
---|---|---|
Project Task | ||
Sort Field | Click to select the field that the application must use to sort tasks. | Product_ID |
User Affinity | Click to specify whether you want to enable automatic task routing to specific team members. Enabling automatic task routing can help you route related tasks to the same set of team members. This can ensure greater task execution speed and, over time, higher labeling accuracy as team members get familiar with the task domain. If you choose Enabled, the following additional fields appear. | Enabled |
Affinity Configuration | ||
Affinity Field | Click to select the field whose values must determine how the application routes tasks. | Brand |
Affinity Type | Select how you want the application to route tasks: Predefined AffinityRoutes tasks to specific users based on values associated with the Affinity Field that you chose above. If you choose this option, the Affinity Values field appears below the Applicable Levels field. Use the Affinity Values field to enter the values that must be used to route tasks to team members. Note To assign labelers to affinity values in a project, you must save your changes in the Task Allocation Methods tab, revert to the Projects page, and reopen the project for edit. You must then navigate to the Users tab, delete any users that you may have added earlier, and click Add to add new users. You can now assign specific tags to specific users. Click the Edit button adjacent to each tag to select the labeling users that you want to associate with the tag. Click Save to complete adding the user. Once you have added the labeling users you need, click Next to add users at the next level. Click Submit once done. The new labeling and QA users will now appear in the Users tab associated with the project. Random AffinityRoutes the first task at random. Then, routes all tasks that have the same value in the affinity field to the users to whom the task with that Affinity Field value was first assigned. If you choose this option, the Exclusive Affinity field appears below the Applicable Levels field. Click the Exclusive Affinity field to specify whether you want the random assignments to be exclusive.
| NA |
Applicable Levels | Click to select the user levels to whom the Affinity Type that you selected above should apply. This enables you to route tasks to team members across levels. Thus, only specific labelers or QA team members will work on tasks that meet specific criteria. | Analyst |
Task Properties
The Task Properties sub-tab enables you to specify the tasks in your project must be split, and enables you to configure preprocessing and postprocessing steps that must be executed before and after the task is completed.
The Task Properties sub-tab has the following tabs:
Split Task: Enables you to specify how--and if--you want your tasks to be split. This feature is especially useful if you are working with large files.
Task Pre-processing: Enables you to create and configure automatic processors that must process task data before they are passed on to labelers.
Task Post-processing: Enables you to create and configure automatic processors that must process task data after labeling.
Split Task
Click the Add button on the right side of the page to add a split task. Use the Add Split Task to specify the format of your tasks:
Audio Split
Image Split
Field Split
Field Value Split
Depending on your choice in this field, different options appear. Click each section below to view details on how to use these options.
Task Pre-processing
Use the Task Pre-processing tab to identify the automated processors through which tasks must pass before they can be assigned to labelers. These processors perform a range of tasks, preparing the incoming data for labeling.
To add a pre-processing tool:
Click the Add button on the right side of the page. A list of processors appears, organized into tabs. Click on each to access settings specific to it. For details on working with each tool, see List of Automated Processors.
You can add as many preprocessors as required using the Add button. Each of these appear in the Task Pre-processing tab. You can edit each specification using the Edit icon, and delete a specification using the Delete icon.
Task Post-processing
Use the Task Post-processing tab to identify the automated processors through which tasks must pass after labeling. These processors perform a range of tasks, preparing the labeled data for upload.
To add a post-processing tool:
Click the Add button on the right side of the page. A list of processors appears, organized into tabs. Click on each to access settings specific to it. For details on working with each tool, see List of Automated Processors.
You can add as many postprocessors as required using the Add button. Each of these appear in the Task Post-processing tab. You can edit each specification using the Edit icon, and delete a specification using the Delete icon.
Custom Code
Use the Custom Code tab to create input- and output-specific code that will automatically run when the following events occur. Each event is represented in the UI as a separate tab. Click on each to enter the code that must be run for that specific event.
On Load: Triggers the code to run when the task loads. This tab also lists out all the input and output fields available for the task. You can click on each to insert the field name into your code.
On Change: Triggers the code to run when the output value changes.
Validation: Triggers the code to run when the labeler needs to validate task-related fields during labeling.
On Save: Triggers the code to run when the labeler saves the work done.
Key Custom Code Functions
Variables
Use the following variables to retrieve specific values as listed below:
Task | Variable | Example |
---|---|---|
Access input data | inputValues[field_name] | inputValues[Brand_Name] |
Access output data | values[field_name] | values[updated_Description] |
User execution level | currentUserLevel | if (currentUserLevel == 1)
//To perform a validation only for Level 1 users |
For image or named-entity recognition annotation in JSON | annotations | if (annotations.length > 0)
//To check if the user has annotated at least one object |
Functions
Use the following functions to perform tasks as listed below:
Task | Function | Example |
---|---|---|
Enable an output field | this.enableField(field_name) | this.enableField(“Brand_Name”)
//Field names must be in double quotes |
Disable an output field | this.disableField(field_name) | this.disableField(Brand_Name) |
Make an output field mandatory or optional | this.mandatoryField(field_name, true) this.mandatoryField(field_name, false) | this.mandatoryField(Product_ID, true) this.mandatoryField(Product_ID, false) |
Write data to an output field | this.changeFormValue(field_name, value) | |
Write data to an input field | this.changeInputValue(field_name, value) | this.changeInputValue(Item_Number, “10”) |
Disallow task submission Allow task submission | this.disallowSubmit(true) this.disAllowSubmit(false) | NA |
Display error messages | this.displayErrors([msg1, msg2…]) |
|
Custom Code: Examples
Make at least one annotation mandatory in NER.
Allow only one object annotation in an image.
Validate if polygon annotations have at least four vertices.
Write duration of an audio transcription to an output field; disallow special characters.
© 2020 Taskmonk Technology Pvt. Ltd. All Rights Reserved .