metadata
language:
- en
license: mit
library_name: transformers
pipeline_tag: zero-shot-classification
tags:
- zero-shot
- multi-label
- text-classification
- pytorch
metrics:
- precision
- recall
- f1
base_model: bert-base-uncased
datasets:
- polodealvarado/zeroshot-classification
Zero-Shot Text Classification — biencoder
Shared BERT encoder with dot-product similarity and sigmoid activation.
This model encodes texts and candidate labels into a shared embedding space using BERT, enabling classification into arbitrary categories without retraining for new labels.
Training Details
| Parameter | Value |
|---|---|
| Base model | bert-base-uncased |
| Model variant | biencoder |
| Training steps | 1000 |
| Batch size | 2 |
| Learning rate | 2e-05 |
| Trainable params | 109,482,240 |
| Training time | 345.0s |
Dataset
Trained on polodealvarado/zeroshot-classification.
Evaluation Results
| Metric | Score |
|---|---|
| Precision | 0.9486 |
| Recall | 0.9660 |
| F1 Score | 0.9572 |
Usage
from models.base import BiEncoderModel
model = BiEncoderModel.from_pretrained("polodealvarado/biencoder")
predictions = model.predict(
texts=["The stock market crashed yesterday."],
labels=[["Finance", "Sports", "Biology", "Economy"]],
)
print(predictions)
# [{"text": "...", "scores": {"Finance": 0.98, "Economy": 0.85, ...}}]