flair.datasets.ocr.OcrCorpus#

class flair.datasets.ocr.OcrCorpus(train_path=None, dev_path=None, test_path=None, encoding='utf-8', label_type='ner', in_memory=True, load_images=False, normalize_coords_to_thousands=True, label_name_map=None, **corpusargs)View on GitHub#

Bases: Corpus

__init__(train_path=None, dev_path=None, test_path=None, encoding='utf-8', label_type='ner', in_memory=True, load_images=False, normalize_coords_to_thousands=True, label_name_map=None, **corpusargs)View on GitHub#

Instantiates a Corpus from a OCR-Json format.

Parameters:
  • train_path (Optional[Path]) – the folder for the training data

  • dev_path (Optional[Path]) – the folder for the dev data

  • test_path (Optional[Path]) – the folder for the test data

  • path_to_split_directory – base folder with the task data

  • label_type (str) – the label_type to add the ocr labels to

  • encoding (str) – the encoding to load the .json files with

  • load_images (bool) – if True, the pillow images will be added as metadata

  • normalize_coords_to_thousands (bool) – if True, the coordinates will be ranged from 0 to 1000

  • in_memory (bool) – If set to True, the dataset is kept in memory as Sentence objects, otherwise does disk reads

  • label_name_map (Optional[dict[str, str]]) – Optionally map tag names to different schema.

Returns:

a Corpus with Sentences that contain OCR information

Methods

__init__([train_path, dev_path, test_path, ...])

Instantiates a Corpus from a OCR-Json format.

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.