autointent.modules.BiEncoderDescriptionScorer#
- class autointent.modules.BiEncoderDescriptionScorer(embedder_config=None, temperature=1.0, multilabel=False)#
Bases:
autointent.modules.scoring._description.base.BaseDescriptionScorer
Bi-encoder description scorer for zero-shot intent classification.
This scorer uses a bi-encoder architecture where utterances and intent descriptions are embedded separately using the same encoder model, then cosine similarity is computed between utterance embeddings and description embeddings. This is a zero-shot approach that doesn’t require training examples, only intent descriptions.
The bi-encoder approach is efficient for inference as descriptions are embedded once during fitting, and only utterances need to be embedded during prediction.
- Parameters:
embedder_config (autointent.configs.EmbedderConfig | str | dict[str, Any] | None) – Configuration for the embedder 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 BiEncoderDescriptionScorer # Initialize bi-encoder scorer scorer = BiEncoderDescriptionScorer( embedder_config="sentence-transformers/all-MiniLM-L6-v2", temperature=0.8 ) # 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_bi'#
Name of the module to reference in search space configuration.
- embedder_config#
- classmethod from_context(context, temperature=1.0, embedder_config=None)#
Create a BiEncoderDescriptionScorer instance using a Context object.
- Parameters:
context (autointent.Context) – Context containing configurations and utilities
temperature (pydantic.PositiveFloat) – Temperature parameter for scaling logits
embedder_config (autointent.configs.EmbedderConfig | str | None) – Config of the embedder model. If None, the best embedder is used
- Returns:
Initialized BiEncoderDescriptionScorer instance
- Return type:
- get_implicit_initialization_params()#
Get implicit initialization parameters for this scorer.
- clear_cache()#
Clear cached data in memory used by the embedder.
- Return type:
None