Skip to main content

TranslationTask

Task
DashAI.back.tasks.TranslationTask

Task for sequence-to-sequence machine translation between languages.

Translation tasks take a single Text input column (source language) and produce a single Text output column (target language). The compatible metrics are BLEU, CHRF, and TER, which measure n-gram overlap, character-level F-score, and translation edit rate against reference translations respectively.

Methods​

check_role_names(self, roles: Mapping[str, Any]) -> None

Defined on BaseTask

Refuse columns for a role this task does not declare.

column_roles(cls) -> Tuple[DashAI.back.tasks.column_roles.ColumnRole, ...]

Defined on BaseTask

The roles this task's columns can play, in the order it declares.

Returns

tuple of ColumnRole
The declared roles.

get_metadata(cls) -> Dict[str, Any]

Defined on BaseTask

Return serialisable metadata for the current task.

Parameters

cls : type
The task class (injected automatically by Python for classmethods).

Returns

Dict[str, Any]
Dictionary with keys "inputs_types", "outputs_types", "inputs_cardinality", "outputs_cardinality", "column_roles", "io_roles" and "requires_target".

io_columns(self, roles: Mapping[str, Sequence]) -> DashAI.back.tasks.column_roles.IOColumns

Defined on BaseTask

Translate a session's roles into a model's inputs and outputs.

Parameters

roles : mapping
Role name to the role's columns, as names or as column refs.

Returns

IOColumns
The entries that feed the model as x and as y.

io_roles(cls) -> Dict[str, List[str]]

Defined on BaseTask

Which roles feed a model's inputs and which its outputs.

Returns

dict
{"inputs": [role names], "outputs": [role names]}.

num_labels(self, dataset: 'DashAIDataset', output_column: str) -> int | None

Defined on SupervisedTask

Return the number of unique labels in the output column for supervised tasks.

Parameters

dataset : DashAIDataset
Dataset used for training
output_column : str
Output column

Returns

int | None
Number of unique labels or None if not applicable

prepare_for_task(self, dataset: Union[ForwardRef('DatasetDict'), ForwardRef('DashAIDataset')], input_columns: List[str], output_columns: Optional[List[str]] = None) -> 'DashAIDataset'

Defined on BaseTask

Prepare and validate a dataset for this task.

Parameters

dataset : DatasetDict or DashAIDataset
The dataset to prepare. If a DatasetDict is supplied it is converted to DashAIDataset automatically.
input_columns : list of str
Names of columns to use as model inputs.
output_columns : list of str, optional
Names of columns to use as model outputs/targets. Tasks without targets, such as clustering, can omit this argument.

Returns

DashAIDataset
The validated dataset, ready to be passed to a model.

process_manual_input(self, manual_input: List[dict], dataset_path: str) -> 'DashAIDataset'

Defined on BaseTask

Process manual input data into a DashAIDataset with type validation.

Parameters

manual_input : List[dict]
List of dictionaries representing manual input data.
dataset_path : str
Path to the training dataset (used to get column specs for validation)

Returns

DashAIDataset
Processed DashAIDataset from manual input.

process_predictions(self, dataset: 'DashAIDataset', predictions: 'ndarray', output_column: str)

Defined on SupervisedTask

Process the predictions. Return predictions unchanged unless a supervised task specializes them.

Parameters

dataset : DashAIDataset
Dataset used for training
predictions : np.ndarray
Predictions from the model
output_column : str
Output column

Returns

Processed predictions

roles_from_io(self, input_columns: Sequence, output_columns: Sequence) -> Dict[str, list]

Defined on BaseTask

Translate a model's inputs and outputs back into roles.

Parameters

input_columns, output_columns : sequence
The columns fed to the model as x and as y.

Returns

dict
Role name to the role's columns.

validate_dataset_for_task(self, dataset: 'DashAIDataset', dataset_name: str, input_columns: List[str], output_columns: Optional[List[str]]) -> None

Defined on BaseTask

Validate a dataset for the current task.

Parameters

dataset : DashAIDataset
Dataset to be validated
dataset_name : str
Dataset name
input_columns : list of str
Names of the columns selected as inputs.
output_columns : list of str
Names of the columns selected as outputs.

validate_estimated_role(self, role_name: str, columns: Sequence[Tuple[Optional[str], Optional[int]]]) -> None

Defined on BaseTask

Check one role against the columns a preprocessing chain will give it.

Parameters

role_name : str
A declared role.
columns : sequence of (type name, count)
One entry per estimated output: the name of its type, or None when unknown, and how many columns it holds, or None when unknown. An unknown count is taken as at least one, and only the role's minimum is checked then.

validate_role(self, role_name: str, columns: Sequence[str], types: Mapping[str, Any]) -> None

Defined on BaseTask

Check one role's columns against its types and cardinality.

Parameters

role_name : str
A declared role.
columns : sequence of str
The names of the role's columns.
types : mapping
The dataset's column types, keyed by column name.

validate_roles(self, roles: Mapping[str, Sequence[str]], types: Mapping[str, Any]) -> None

Defined on BaseTask

Check a session's columns, role by role, against the declaration.

Parameters

roles : mapping
Role name to the names of the role's columns.
types : mapping
The dataset's column types, keyed by column name.

Compatible with​