|
--- |
|
language: |
|
- en |
|
tags: |
|
- text-classification |
|
- zero-shot-classification |
|
pipeline_tag: zero-shot-classification |
|
library_name: transformers |
|
--- |
|
# deberta-v3-base-zeroshot-v1 |
|
|
|
## Model description |
|
The model is designed for zero-shot classification with the Hugging Face pipeline. |
|
The model should be substantially better at zero-shot classification than my other zero-shot models on the |
|
Hugging Face hub: https://huggingface.co/MoritzLaurer. |
|
|
|
The model can do one universal task: determine whether a hypothesis is `true` or `not_true` given a text. |
|
This task format is based on the Natural Language Inference task (NLI). |
|
This task is so universal that any classification task can be reformulated into this true vs. false task. |
|
|
|
The model was trained on a mixture of 27 tasks and 310 classes that have been reformatted into this universal format. |
|
1. 26 classification tasks with ~400k texts: |
|
['amazonpolarity', 'imdb', 'appreviews', 'yelpreviews', 'rottentomatoes', |
|
'emotiondair', 'emocontext', 'empathetic', |
|
'financialphrasebank', 'banking77', 'massive', |
|
'wikitoxic_toxicaggregated', 'wikitoxic_obscene', 'wikitoxic_threat', 'wikitoxic_insult', 'wikitoxic_identityhate', |
|
'hateoffensive', 'hatexplain', 'biasframes_offensive', 'biasframes_sex', 'biasframes_intent', |
|
'agnews', 'yahootopics', |
|
'trueteacher', 'spam', 'wellformedquery',] |
|
2. Five NLI datasets with ~885k texts: ["mnli", "anli", "fever", "wanli", "ling"] |
|
|
|
Note that compared to other NLI models, this model predicts two classes (true vs. not_true) as opposed to three classes (entailment/neutral/contradiction) |
|
|
|
|
|
### How to use the model |
|
#### Simple zero-shot classification pipeline |
|
```python |
|
from transformers import pipeline |
|
classifier = pipeline("zero-shot-classification", model="MoritzLaurer/deberta-v3-base-zeroshot-v1") |
|
sequence_to_classify = "Angela Merkel is a politician in Germany and leader of the CDU" |
|
candidate_labels = ["politics", "economy", "entertainment", "environment"] |
|
output = classifier(sequence_to_classify, candidate_labels, multi_label=False) |
|
print(output) |
|
``` |
|
|
|
### Details on data and training |
|
|
|
The code for preparing the data and training & evaluating the model is fully open-source here: https://github.com/MoritzLaurer/zeroshot-classifier/tree/main |
|
|
|
## Limitations and bias |
|
The model can only do text classification tasks. |
|
|
|
Please consult the original DeBERTa paper and the papers for the different datasets for potential biases. |
|
|
|
## Citation |
|
If you use this model, please cite: Laurer, Moritz, Wouter van Atteveldt, Andreu Salleras Casas, and Kasper Welbers. 2022. ‘Less Annotating, More Classifying – Addressing the Data Scarcity Issue of Supervised Machine Learning with Deep Transfer Learning and BERT - NLI’. Preprint, June. Open Science Framework. https://osf.io/74b8k. |
|
|
|
### Ideas for cooperation or questions? |
|
If you have questions or ideas for cooperation, contact me at m{dot}laurer{at}vu{dot}nl or [LinkedIn](https://www.linkedin.com/in/moritz-laurer/) |
|
|
|
### Debugging and issues |
|
Note that DeBERTa-v3 was released on 06.12.21 and older versions of HF Transformers seem to have issues running the model (e.g. resulting in an issue with the tokenizer). Using Transformers>=4.13 might solve some issues. |