flair.datasets.biomedical.HunerDataset#
- class flair.datasets.biomedical.HunerDataset(base_path=None, in_memory=True, sentence_splitter=None)View on GitHub#
Bases:
ColumnCorpus
,ABC
Base 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 ofSentenceSplitter
which 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
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.
to_internal
(data_folder)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.- 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#