| --- |
| 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 — convmatch |
|
|
| Multi-scale CNN encoder over pretrained embeddings (no transformer at inference). |
|
|
| 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 | `convmatch` | |
| | Training steps | 1000 | |
| | Batch size | 2 | |
| | Learning rate | 2e-05 | |
| | Trainable params | 24,948,992 | |
| | Training time | 84.1s | |
|
|
| ## Dataset |
|
|
| Trained on [polodealvarado/zeroshot-classification](https://huggingface.co/datasets/polodealvarado/zeroshot-classification). |
|
|
| ## Evaluation Results |
|
|
| | Metric | Score | |
| |--------|-------| |
| | Precision | 0.7531 | |
| | Recall | 0.9922 | |
| | F1 Score | 0.8563 | |
|
|
| ## Usage |
|
|
| ```python |
| from models.convmatch import ConvMatchModel |
| |
| model = ConvMatchModel.from_pretrained("polodealvarado/convmatch") |
| |
| predictions = model.predict( |
| texts=["The stock market crashed yesterday."], |
| labels=[["Finance", "Sports", "Biology", "Economy"]], |
| ) |
| print(predictions) |
| # [{"text": "...", "scores": {"Finance": 0.98, "Economy": 0.85, ...}}] |
| ``` |
|
|