partial_tagger.tagger module#

class partial_tagger.tagger.SequenceTagger(encoder: BaseEncoder, padding_index: int, start_states: tuple[bool, ...] | None = None, end_states: tuple[bool, ...] | None = None, transitions: tuple[tuple[bool, ...], ...] | None = None)[source]#

A sequence tagging model with a CRF layer.

Parameters:
  • encoder – An encoder module.

  • decoder – A decoder module.

encoder#

An encoder module.

crf#

A CRF layer.

decoder#

A decoder module.

forward(inputs: dict[str, torch.Tensor], mask: Tensor, constrain: bool = False) BaseCrfDistribution[source]#

Computes log potentials and tag sequence.

Parameters:
  • inputs – An inputs representing input data feeding into the encoder module.

  • mask – A [batch_size, sequence_length] boolean tensor.

Returns:

A pair of a [batch_size, sequence_length, num_tags, num_tags] float tensor and a [batch_size, sequence_length] integer tensor. The float tensor representing log potentials and the integer tensor representing tag sequence.