biencoder / README.md
polodealvarado's picture
Upload folder using huggingface_hub
2a2a0f8 verified
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, ...}}]