--- 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 Bi-Encoder This is a [sentence-transformers](https://www.SBERT.net) 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 dual encoding 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 You can use the model like this: ```python >>> from sentence_transformers import SentenceTransformer, util as sbert_util >>> model = SentenceTransformer(model_name_or_path='claritylab/zero-shot-explicit-bi-encoder') >>> 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' >>> ] >>> text_embed = model.encode(text) >>> label_embeds = model.encode(labels) >>> scores = [sbert_util.cos_sim(text_embed, lb_embed).item() for lb_embed in label_embeds] >>> print(scores) [ 0.53502357006073, 0.051911696791648865, 0.0546676367521286, 0.5633962750434875, 0.28765711188316345, 0.17751818895339966, 0.18489906191825867 ] ```