Views
No views yet
zero-shot-classification pipeline like so:1from transformers import pipeline
2classifier = pipeline("zero-shot-classification",
3 model="mjwong/multilingual-e5-base-xnli")1sequence_to_classify = "Angela Merkel ist eine Politikerin in Deutschland und Vorsitzende der CDU"
2candidate_labels = ["politics", "economy", "entertainment", "environment"]
3classifier(sequence_to_classify, candidate_labels)multi_class=True to calculate each class independently:1candidate_labels = ["politics", "economy", "entertainment", "environment"]
2classifier(sequence_to_classify, candidate_labels, multi_label=True)1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
4# device = "cuda:0" or "cpu"
5device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
6
7model_name = "mjwong/multilingual-e5-base-xnli"
8tokenizer = AutoTokenizer.from_pretrained(model_name)
9model = AutoModelForSequenceClassification.from_pretrained(model_name)
10
11premise = "But I thought you'd sworn off coffee."
12hypothesis = "I thought that you vowed to drink more coffee."
13
14input = tokenizer(premise, hypothesis, truncation=True, return_tensors="pt")
15output = model(input["input_ids"].to(device))
16prediction = torch.softmax(output["logits"][0], -1).tolist()
17label_names = ["entailment", "neutral", "contradiction"]
18prediction = {name: round(float(pred) * 100, 2) for pred, name in zip(prediction, label_names)}
19print(prediction)| Datasets | en | ar | bg | de | el | es | fr | hi | ru | sw | th | tr | ur | vi | zh |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| multilingual-e5-base-xnli | 0.849 | 0.768 | 0.803 | 0.800 | 0.792 | 0.809 | 0.805 | 0.738 | 0.782 | 0.728 | 0.756 | 0.766 | 0.713 | 0.787 | 0.785 |
| multilingual-e5-base-xnli-anli | 0.811 | 0.711 | 0.751 | 0.759 | 0.746 | 0.778 | 0.765 | 0.685 | 0.728 | 0.662 | 0.705 | 0.716 | 0.683 | 0.736 | 0.740 |
| multilingual-e5-large-xnli | 0.867 | 0.791 | 0.832 | 0.825 | 0.823 | 0.837 | 0.824 | 0.778 | 0.806 | 0.749 | 0.787 | 0.793 | 0.738 | 0.813 | 0.808 |
| multilingual-e5-large-xnli-anli | 0.865 | 0.765 | 0.811 | 0.811 | 0.795 | 0.823 | 0.816 | 0.743 | 0.785 | 0.713 | 0.765 | 0.774 | 0.706 | 0.788 | 0.787 |
| multilingual-e5-large-instruct-xnli | 0.864 | 0.793 | 0.839 | 0.821 | 0.824 | 0.837 | 0.823 | 0.770 | 0.810 | 0.744 | 0.784 | 0.791 | 0.716 | 0.807 | 0.807 |
| multilingual-e5-large-instruct-xnli-anli | 0.861 | 0.780 | 0.816 | 0.808 | 0.806 | 0.825 | 0.816 | 0.758 | 0.799 | 0.727 | 0.775 | 0.780 | 0.721 | 0.787 | 0.795 |
| Datasets | mnli_dev_m | mnli_dev_mm | anli_test_r1 | anli_test_r2 | anli_test_r3 |
|---|---|---|---|---|---|
| multilingual-e5-base-xnli | 0.835 | 0.837 | 0.287 | 0.276 | 0.301 |
| multilingual-e5-base-xnli-anli | 0.814 | 0.811 | 0.588 | 0.437 | 0.439 |
| multilingual-e5-large-xnli | 0.865 | 0.865 | 0.312 | 0.316 | 0.300 |
| multilingual-e5-large-xnli-anli | 0.863 | 0.863 | 0.623 | 0.456 | 0.455 |
| multilingual-e5-large-instruct-xnli | 0.867 | 0.866 | 0.341 | 0.330 | 0.323 |
| multilingual-e5-large-instruct-xnli-anli | 0.862 | 0.862 | 0.615 | 0.459 | 0.462 |