autointent.modules.scoring.CrossEncoderDescriptionScorer#
- class autointent.modules.scoring.CrossEncoderDescriptionScorer(cross_encoder_config=None, temperature=1.0, multilabel=False)#
Bases:
autointent.modules.scoring._description.base.BaseDescriptionScorer
Cross-encoder description scorer for zero-shot intent classification.
This scorer uses a cross-encoder architecture that directly computes similarity scores between each utterance-description pair by passing them together through a transformer model. Unlike bi-encoders that embed texts separately, cross-encoders can capture more complex interactions between utterances and descriptions, often leading to higher accuracy at the cost of computational efficiency.
This is a zero-shot approach that doesn’t require training examples, only intent descriptions. The cross-encoder processes each utterance-description pair separately during inference, making it more computationally intensive but potentially more accurate.
- Parameters:
cross_encoder_config (autointent.configs.CrossEncoderConfig | str | dict[str, Any] | None) – Configuration for the cross-encoder model (HuggingFace model name or config)
temperature (pydantic.PositiveFloat) – Temperature parameter for scaling logits before softmax/sigmoid (default: 1.0)
multilabel (bool) – Flag indicating classification task type
Example:#
from autointent.modules.scoring import CrossEncoderDescriptionScorer # Initialize cross-encoder scorer scorer = CrossEncoderDescriptionScorer( cross_encoder_config="cross-encoder/ms-marco-MiniLM-L-6-v2", temperature=1.2 ) # Zero-shot classification with intent descriptions descriptions = [ "User wants to book or reserve transportation like flights, trains, or hotels", "User wants to cancel an existing booking or reservation", "User asks about weather conditions or forecasts" ] # Fit using descriptions only (zero-shot approach) scorer.fit([], [], descriptions) # Make predictions on new utterances test_utterances = ["Reserve a hotel room", "Delete my booking"] probabilities = scorer.predict(test_utterances)
- name = 'description_cross'#
Name of the module to reference in search space configuration.
- cross_encoder_config#
- classmethod from_context(context, temperature=1.0, cross_encoder_config=None)#
Create a CrossEncoderDescriptionScorer instance using a Context object.
- Parameters:
context (autointent.Context) – Context containing configurations and utilities
temperature (pydantic.PositiveFloat) – Temperature parameter for scaling logits
cross_encoder_config (autointent.configs.CrossEncoderConfig | str | None) – Config of the cross-encoder model. If None, the default config is used
- Returns:
Initialized CrossEncoderDescriptionScorer instance
- Return type:
- get_implicit_initialization_params()#
Get implicit initialization parameters for this scorer.
- clear_cache()#
Clear cached data in memory used by the cross-encoder.
- Return type:
None