flair.datasets.sequence_labeling.JsonlCorpus#

class flair.datasets.sequence_labeling.JsonlCorpus(data_folder, train_file=None, test_file=None, dev_file=None, encoding='utf-8', text_column_name='data', label_column_name='label', metadata_column_name='metadata', label_type='ner', autofind_splits=True, name=None, use_tokenizer=True, **corpusargs)View on GitHub#

Bases: MultiFileJsonlCorpus

__init__(data_folder, train_file=None, test_file=None, dev_file=None, encoding='utf-8', text_column_name='data', label_column_name='label', metadata_column_name='metadata', label_type='ner', autofind_splits=True, name=None, use_tokenizer=True, **corpusargs)View on GitHub#

Instantiates a JsonlCorpus with one file per Dataset (train, dev, and test).

Parameters:
  • data_folder (Union[str, Path]) – Path to the folder containing the JSONL corpus

  • train_file (Union[str, Path, None]) – the name of the train file

  • test_file (Union[str, Path, None]) – the name of the test file

  • dev_file (Union[str, Path, None]) – the name of the dev file, if None, dev data is sampled from train

  • encoding (str) – file encoding (default “utf-8”)

  • text_column_name (str) – Name of the text column inside the JSONL file.

  • label_column_name (str) – Name of the label column inside the JSONL file.

  • metadata_column_name (str) – Name of the metadata column inside the JSONL file.

  • label_type (str) – The type of label to predict (default “ner”)

  • autofind_splits (bool) – Whether train, test and dev file should be determined automatically

  • name (Optional[str]) – name of the Corpus see flair.data.Corpus

  • use_tokenizer (Union[bool, Tokenizer]) – Specify a custom tokenizer to split the text into tokens.

Methods

__init__(data_folder[, train_file, ...])

Instantiates a JsonlCorpus with one file per Dataset (train, dev, and test).

add_label_noise(label_type, labels[, ...])

Generates uniform label noise distribution in the chosen dataset split.

downsample([percentage, downsample_train, ...])

Randomly downsample the corpus to the given percentage (by removing data points).

filter_empty_sentences()

A method that filters all sentences consisting of 0 tokens.

filter_long_sentences(max_charlength)

A method that filters all sentences for which the plain text is longer than a specified number of characters.

get_all_sentences()

Returns all sentences (spanning all three splits) in the Corpus.

get_label_distribution()

Counts occurrences of each label in the corpus and returns them as a dictionary object.

make_label_dictionary(label_type[, ...])

Creates a dictionary of all labels assigned to the sentences in the corpus.

make_tag_dictionary(tag_type)

Create a tag dictionary of a given label type.

make_vocab_dictionary([max_tokens, min_freq])

Creates a Dictionary of all tokens contained in the corpus.

obtain_statistics([label_type, pretty_print])

Print statistics about the corpus, including the length of the sentences and the labels in the corpus.

Attributes

dev

The dev split as a torch.utils.data.Dataset object.

test

The test split as a torch.utils.data.Dataset object.

train

The training split as a torch.utils.data.Dataset object.