--- 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 Implicit 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 implicit 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-implicit-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' >>> ] >>> aspect = 'intent' >>> aspect_sep_token = model.tokenizer.additional_special_tokens[0] >>> text = f'{aspect} {aspect_sep_token} {text}' >>> query = [[text, lb] for lb in labels] >>> logits = model.predict(query, apply_softmax=True) >>> print(logits) [[7.3497969e-04 9.9926502e-01] [9.9988127e-01 1.1870124e-04] [9.9988961e-01 1.1033980e-04] [1.9227572e-03 9.9807727e-01] [9.9985313e-01 1.4685343e-04] [9.9938977e-01 6.1021477e-04] [9.9838030e-01 1.6197052e-03]] ```