Zero-Shot Classification
PyTorch
Transformers
sentence-transformers
English
zeroshot_classifier
bert
text-classification
Instructions to use claritylab/zero-shot-explicit-binary-bert with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use claritylab/zero-shot-explicit-binary-bert with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("zero-shot-classification", model="claritylab/zero-shot-explicit-binary-bert")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("claritylab/zero-shot-explicit-binary-bert") model = AutoModelForSequenceClassification.from_pretrained("claritylab/zero-shot-explicit-binary-bert", device_map="auto") - sentence-transformers
How to use claritylab/zero-shot-explicit-binary-bert with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("claritylab/zero-shot-explicit-binary-bert") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
| library_name: zeroshot_classifier | |
| tags: | |
| - transformers | |
| - sentence-transformers | |
| - zeroshot_classifier | |
| license: mit | |
| datasets: | |
| - claritylab/UTCD | |
| language: | |
| - en | |
| pipeline_tag: zero-shot-classification | |
| metrics: | |
| - accuracy | |
| # Zero-shot Explicit Binary BERT | |
| This is a BERT model. | |
| It was introduced in the Findings of ACL'23 Paper **Label Agnostic Pre-training for Zero-shot Text Classification** by ***Christopher Clarke, Yuzhao Heng, Yiping Kang, Krisztian Flautner, Lingjia Tang and Jason Mars***. | |
| The code for training and evaluating this model can be found [here](https://github.com/ChrisIsKing/zero-shot-text-classification/tree/master). | |
| ## Model description | |
| This model is intended for zero-shot text classification. | |
| It was trained under the binary classification framework via explicit training with the aspect-normalized [UTCD](https://huggingface.co/datasets/claritylab/UTCD) dataset. | |
| - **Finetuned from model:** [`bert-base-uncased`](https://huggingface.co/bert-base-uncased) | |
| ## Usage | |
| Install our [python package](https://pypi.org/project/zeroshot-classifier/): | |
| ```bash | |
| pip install zeroshot-classifier | |
| ``` | |
| Then, you can use the model like this: | |
| ```python | |
| >>> from zeroshot_classifier.models import BinaryBertCrossEncoder | |
| >>> model = BinaryBertCrossEncoder(model_name='claritylab/zero-shot-explicit-binary-bert') | |
| >>> text = "I'd like to have this track onto my Classical Relaxations playlist." | |
| >>> labels = [ | |
| >>> 'Add To Playlist', 'Book Restaurant', 'Get Weather', 'Play Music', 'Rate Book', 'Search Creative Work', | |
| >>> 'Search Screening Event' | |
| >>> ] | |
| >>> query = [[text, lb] for lb in labels] | |
| >>> logits = model.predict(query, apply_softmax=True) | |
| >>> print(logits) | |
| [[1.0987393e-03 9.9890125e-01] | |
| [9.9988937e-01 1.1059999e-04] | |
| [9.9986207e-01 1.3791372e-04] | |
| [1.6576477e-03 9.9834239e-01] | |
| [9.9990320e-01 9.6742726e-05] | |
| [9.9894422e-01 1.0557596e-03] | |
| [9.9959773e-01 4.0229000e-04]] | |
| ``` |