minicons.cwe module

class minicons.cwe.CWE(model_name: str, device: Optional[str] = 'cpu', pretrained: bool = True)

Bases: object

Implements the contextualized word embedding class to facilitate extraction of word representations form a given transformer model.

Parameters
  • model_name (str) – name of the model, should either be a path to a model (.pt or .bin file) stored locally, or a pretrained model stored on the Huggingface Model Hub.

  • device (str, optional) – device type that the model should be loaded on, options: cpu or cuda:{0, 1, …}

  • pretrained (bool) – whether to load the model with pretrained weights. loads a randomly initialized model if False. Default = True.

encode_text(text: Union[str, List[str]], layer: Optional[Union[int, List[int]]] = None) Tuple

Encodes batch of raw sentences using the model to return hidden states at a given layer.

Parameters
  • text (Union[str, List[str]]) – batch of raw sentences

  • layer (int) – layer from which the hidden states are extracted.

Returns

Tuple (input_ids, hidden_states)

extract_representation(sentence_words: Union[List[List[Union[str, Tuple[int, int]]]], List[Union[str, Tuple[int, int]]]], layer: Optional[Union[int, List[int]]] = None) Union[torch.Tensor, List[torch.Tensor]]

Extract representations from the model at a given layer.

Parameters
  • sentence_words (Union[List[List[Union[str, Union[Tuple(int, int), str]]]], List[Union[str, Union[Tuple(int, int), str]]]]) – Input consisting of [(sentence, word)], where sentence is an input sentence, and word is a word present in the sentence that will be masked out, or [(sentence, (start, end))], where (start, end) is a tuple consisting of the character span indices that form the word.

  • layer (Union[int, List[int]]) – layer(s) from which the hidden states are extracted.

Returns

torch tensors or list of torch tensors corresponding to word representations

extract_sentence_representation(sentences: Union[str, List[str]], layer: Union[int, List[int]], pooler: str = 'mean') Union[torch.Tensor, List[torch.Tensor]]

Extract representations of input sentences from one or more layers in the model.

Parameters
  • sentences (Union[str, List[str]]) – Input consisting of one or more sentences.

  • layer (Union[int, List[int]]) – one or more layer from which the representations are extracted.

  • pooler (str) – pooling logic (mean, max, min)

Returns

torch.Tensor

extract_paired_representations(sentence_words: Union[Tuple[str], List[Tuple[str]]], layer: Optional[int] = None) Tuple