flair.datasets.biomedical.HunerDataset#
- class flair.datasets.biomedical.HunerDataset(base_path=None, in_memory=True, sentence_splitter=None)View on GitHub#
Bases:
ColumnCorpus,ABCBase class for HUNER datasets.
- Every subclass has to implement the following methods:
“to_internal”, which reads the complete data set (incl. train, dev, test) and returns the corpus as InternalBioNerDataset
“split_url”, which returns the base url (i.e. without ‘.train’, ‘.dev’, ‘.test’) to the HUNER split files
- For further information see:
Weber et al.: ‘HUNER: improving biomedical NER with pretraining’ https://academic.oup.com/bioinformatics/article-abstract/36/1/295/5523847?redirectedFrom=fulltext
HUNER github repository: hu-ner/huner
- __init__(base_path=None, in_memory=True, sentence_splitter=None)View on GitHub#
Initialize the HUNER corpus.
- Parameters:
base_path (
Union[str,Path,None]) – Path to the corpus on your machinein_memory (
bool) – If True, keeps dataset in memory giving speedups in training.sentence_splitter (
Optional[SentenceSplitter]) – Custom implementation ofSentenceSplitterwhich segments the text into sentences and tokens (defaultSciSpacySentenceSplitter)
Methods
__init__([base_path, in_memory, ...])Initialize the HUNER corpus.
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.Return the pre-defined sentence splitter if defined, otherwise return None.
get_label_distribution()Counts occurrences of each label in the corpus and returns them as a dictionary object.
get_subset(dataset, split, split_dir)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
Dictionaryof 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.
to_internal(data_folder)Attributes
devThe dev split as a
torch.utils.data.Datasetobject.testThe test split as a
torch.utils.data.Datasetobject.trainThe training split as a
torch.utils.data.Datasetobject.- abstract to_internal(data_folder)View on GitHub#
- Return type:
- abstract static split_url()View on GitHub#
- Return type:
Union[str,list[str]]
- get_corpus_sentence_splitter()View on GitHub#
Return the pre-defined sentence splitter if defined, otherwise return None.
- Return type:
Optional[SentenceSplitter]
- get_subset(dataset, split, split_dir)View on GitHub#