Saltar al contenido principal

TextClassificationTask

Task
DashAI.back.tasks.TextClassificationTask

Task for classifying a single text column into discrete categories.

Text classification takes one input column of type Text and maps it to one categorical output column. The task covers any NLP scenario where a raw or pre-processed text sequence must be assigned to one of a fixed set of labels, such as sentiment analysis, spam detection, topic labelling, and intent recognition. Compatible models consume the text directly and output a predicted class label for each sample.

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 ClassificationTask

Get the number of unique labels in the output column.

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) -> 'ndarray'

Defined on ClassificationTask

Process the predictions to return the class labels.

Parameters

dataset : DashAIDataset
Dataset used for training
predictions : np.ndarray
Predictions from the model (probabilities for each class)
output_column : str
Output column

Returns

np.ndarray
Processed predictions with class labels

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​