StefanH's picture
Update README.md
5a6e773
---
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]]
```