Advanced Project Task Settings

In this page

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

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 Affinity

Routes 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 Affinity

Routes 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.

  • If you set this field to True, all tasks that have a specific value in the Affinity Field will be routed to only one team member.

  • If you set this field to False, tasks that have a specific value in the Affinity Field will be shared with a specific set of team members.

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.

Audio Split

Field

Description

Example

Field

Description

Example

Specify the duration of each split

Enter the maximum number of seconds that each split in the audio file must contain.

Taskmonk splits the audio file using pauses in the audio around the duration value that you specify here. This ensures that there is no loss of audio data due to the split.

30

Please provide the path of audio file that needs to be split

Click to select the field that contains the link to the audio files required for the task.

audio

Please provide the path to store the split audio file

Click to select the field that must store the split audio files required for the task.

audioSplit

Split level

Click to specify the level at which the audio file must be split. This typically is the level at which your labelers operate.

Level 1

Merge level

Click to specify the level at which the split audio files must be merged. This typically is at the QA level.

If the second level does not exist, you can select either the Split Level or Merge Level, but not both.

Level 2

Add

Click to add these specifications to your project.

NA

 

Image Split

Field

Description

Example

Field

Description

Example

Specify the number of splits the image should be divided into

Enter the maximum number of splits into which you want to break images associated with a task.

4

Please provide the path of image file that needs to be split

Click to select the field that contains the link to the image files required for the task.

imageURL

Please provide the path of to store the sub images

Click to select the field that must store the split image files required for the task.

imageSplit

Split level

Click to specify the level at which the image file must be split. This typically is the level at which your labelers operate.

Level 1

Merge level

Click to specify the level at which the split audio files must be merged. This typically is at the QA level.

If the second level does not exist, you can select either the Split Level or Merge Level, but not both.

Level 2

Add

Click to add these specifications to your project.

NA

Field Split

 

Field

Description

Example

Field

Description

Example

Fields

Click to select the fields that must be used to split a task during labeling.

Product_URL

Split level

Click to specify the level at which the task must be split. This typically is the level at which your labelers operate.

Level 1

Merge level

Click to specify the level at which the split files must be merged. This typically is at the QA level.

Level 2

Add

Click to add these specifications to your project.

NA

Field Value Split

Field

Description

Example

Field

Description

Example

Fields

Click to select the fields whose values must be used to split a task during labeling.

ProductId

Split level

Click to specify the level at which the task must be split. This typically is the level at which your labelers operate.

Level 1

Merge level

Click to specify the level at which the split files must be merged. This typically is at the QA level.

Level 2

Add

Click to add these specifications to your project.

NA

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:

  1. 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.

     

  2. 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:

  1. 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.

     

  2. 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

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

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 .