textflint.generation_layer.transformation.RE.swap_age

class textflint.generation_layer.transformation.RE.swap_age.SwapAge(**kwargs)[source]

Bases: textflint.generation_layer.transformation.transformation.Transformation

Entity position swap with paraphrase(age related)

class textflint.generation_layer.transformation.RE.swap_age.RESample(data, origin=None, sample_id=None)[source]

Bases: textflint.input_layer.component.sample.sample.Sample

transform and retrieve features of RESample

check_data(data)[source]

check whether type of data is correct

Parameters

data (dict) – data dict containing ‘x’, ‘subj’, ‘obj’ and ‘y’

Validate whether the sample is legal

get_sent_ids()[source]

Generate sentence ID

Returns

string: sentence ID

load(data)[source]

Convert data dict which contains essential information to SASample.

Params

dict data: contains ‘token’, ‘subj’ ,’obj’, ‘relation’ keys.

get_dp()[source]

get dependency parsing

Return Tuple(list, list)

dependency tag of sentence and head of sentence

get_en()[source]

get entity index

Return Tuple(int, int, int, int)

start index of subject entity, end index of subject entity, start index of object entity and end index of object entity

get_type()[source]

get entity type

Return Tuple(string, string)

entity type of subject and entity type of object

get_sent()[source]

get tokenized sentence

Return Tuple(list, string)

tokenized sentence and relation

delete_field_at_indices(field, indices)[source]

delete word of given indices in sentence

Parameters
  • field (string) – field to be operated on

  • indices (list) – a list of index to be deleted

Return dict

contains ‘token’, ‘subj’ ,’obj’ keys

insert_field_after_indices(field, indices, new_item)[source]

insert word before given indices in sentence

Parameters
  • field (string) – field to be operated on

  • indices (list) – a list of index to be inserted

  • new_item (list) – list of items to be inserted

Return dict

contains ‘token’, ‘subj’ ,’obj’ keys

insert_field_before_indices(field, indices, new_item)[source]

insert word after given indices in sentence

Parameters
  • field (string) – field to be operated on

  • indices (list) – a list of index to be inserted

  • new_item (list) – list of items to be inserted

Return dict

contains ‘token’, ‘subj’ ,’obj’ keys

replace_sample_fields(data)[source]

replace sample fields for RE transformation

Parameters

data (dict) – contains transformed x, subj, obj keys

Return RESample

transformed sample

stan_ner_transform()[source]

Generate ner list

Return list

ner tags

get_pos()[source]

get pos tagging of sentence

Return list

pos tags

dump()[source]

output data sample

Return dict

containing x, subj, obj, y and sample_id

class textflint.generation_layer.transformation.RE.swap_age.Transformation(**kwargs)[source]

Bases: abc.ABC

An abstract class for transforming a sequence of text to produce a list of potential adversarial example.

processor = <textflint.common.preprocess.en_processor.EnProcessor object>
transform(sample, n=1, field='x', **kwargs)[source]

Transform data sample to a list of Sample.

Parameters
  • sample (Sample) – Data sample for augmentation.

  • n (int) – Max number of unique augmented output, default is 5.

  • field (str|list) – Indicate which fields to apply transformations.

  • **kwargs (dict) –

    other auxiliary params.

Returns

list of Sample

classmethod sample_num(x, num)[source]

Get ‘num’ samples from x.

Parameters
  • x (list) – list to sample

  • num (int) – sample number

Returns

max ‘num’ unique samples.