TextRepresentation
- class TextRepresentation(labels, max_id=None, shape=None, encoder=None, encoder_kwargs=None, missing_action='error', **kwargs)[source]
Bases:
RepresentationTextual representations using a text encoder on labels.
Example Usage:
Entity representations are obtained by encoding the labels with a Transformer model. The transformer model becomes part of the KGE model, and its parameters are trained jointly.
from pykeen.datasets import get_dataset from pykeen.nn.representation import TextRepresentation from pykeen.models import ERModel dataset = get_dataset(dataset="nations") entity_representations = TextRepresentation.from_dataset( dataset=dataset, encoder="transformer", ) model = ERModel( interaction="ermlp", entity_representations=entity_representations, relation_representations_kwargs=dict(shape=entity_representations.shape), )
Initialize the representation.
- Parameters:
labels (
Sequence[Optional[str]]) – an ordered, finite collection of labelsmax_id (
Optional[int]) – the number of representations. If provided, has to match the number of labelsshape (
Union[int,Sequence[int],None]) – The shape of an individual representation.encoder (
Union[str,TextEncoder,Type[TextEncoder],None]) – the text encoder, or a hint thereofencoder_kwargs (
Optional[Mapping[str,Any]]) – keyword-based parameters used to instantiate the text encodermissing_action (
Literal[‘blank’, ‘error’]) – Which policy for handling nones in the given labels. If “error”, raises an error on any nones. If “blank”, replaces nones with an empty string.kwargs – additional keyword-based parameters passed to
Representation.__init__()
- Raises:
ValueError – if the max_id does not match
Methods Summary
from_dataset(dataset, **kwargs)Prepare text representation with labels from a dataset.
from_triples_factory(triples_factory[, ...])Prepare a text representations with labels from a triples factory.
Methods Documentation
- classmethod from_dataset(dataset, **kwargs)[source]
Prepare text representation with labels from a dataset.
- Parameters:
dataset (
Dataset) – the datasetkwargs – additional keyword-based parameters passed to
TextRepresentation.from_triples_factory()
- Return type:
- Returns:
a text representation from the dataset
- Raises:
TypeError – if the dataset’s triples factory does not provide labels
- classmethod from_triples_factory(triples_factory, for_entities=True, **kwargs)[source]
Prepare a text representations with labels from a triples factory.
- Parameters:
triples_factory (
TriplesFactory) – the triples factoryfor_entities (
bool) – whether to create the initializer for entities (or relations)kwargs – additional keyword-based arguments passed to
TextRepresentation.__init__()
- Return type:
- Returns:
a text representation from the triples factory