File size: 2,816 Bytes
e34c175 492f0d3 e34c175 492f0d3 e34c175 8754692 2b8be98 541fde8 8754692 2b8be98 e34c175 01a12c9 e34c175 d0e2ffe e34c175 d0e2ffe 00ec0fb d0e2ffe 3b701ca ca82036 d0e2ffe dd77a1f d0e2ffe e34c175 d0e2ffe e34c175 d0e2ffe 01a12c9 492f0d3 7083fb5 492f0d3 0a5d6db 8f3acd4 b67847c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
---
language:
- he
pipeline_tag: zero-shot-classification
datasets:
- HeTree/MevakerConcTree
license: apache-2.0
widget:
- text: "בשבוע שעבר שדרגתי את גרסת הטלפון שלי ."
candidate_labels: "נייד לשיחות , חיוב חשבון , חולה על כדורגל"
multi_class: false
example_title: "שדרוג מכשיר"
---
# Hebrew Cross-Encoder Model
## Usage
```python
from sentence_transformers import CrossEncoder
model = CrossEncoder('HeTree/HeCross')
# Scores (already after sigmoid)
scores = model.predict([('כמה אנשים חיים בברלין?', 'ברלין מונה 3,520,031 תושבים רשומים בשטח של 891.82 קמ"ר.'),
('כמה אנשים חיים בברלין?', 'העיר ניו יורק מפורסמת בזכות מוזיאון המטרופוליטן לאומנות.')])
print(scores)
```
## Usage with Transformers AutoModel
You can use the model also directly with Transformers library (without SentenceTransformers library):
```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import numpy as np
# Function that applies sigmoid to a score
def sigmoid(x):
return 1 / (1 + np.exp(-x))
model = AutoModelForSequenceClassification.from_pretrained('HeTree/HeCross')
tokenizer = AutoTokenizer.from_pretrained('HeTree/HeCross')
features = tokenizer(['כמה אנשים חיים בברלין?', 'כמה אנשים חיים בברלין?'],
['ברלין מונה 3,520,031 תושבים רשומים בשטח של 891.82 קמ"ר.', 'העיר ניו יורק מפורסמת בזכות מוזיאון המטרופוליטן לאומנות.'],
padding=True, truncation=True, return_tensors="pt")
model.eval()
with torch.no_grad():
scores = sigmoid(model(**features).logits)
print(scores)
```
## Zero-Shot Classification
This model can also be used for zero-shot-classification:
```python
from transformers import pipeline
classifier = pipeline("zero-shot-classification", model='HeTree/HeCross')
sent = "בשבוע שעבר שדרגתי את גרסת הטלפון שלי ."
candidate_labels = ["נייד לשיחות", "אתר", "חיוב חשבון", "גישה לחשבון בנק"]
res = classifier(sent, candidate_labels)
print(res)
```
### Citing
If you use HeCross in your research, please cite [Mevaker: Conclusion Extraction and Allocation Resources for the Hebrew Language](https://arxiv.org/abs/2403.09719).
```
@article{shalumov2024mevaker,
title={Mevaker: Conclusion Extraction and Allocation Resources for the Hebrew Language},
author={Vitaly Shalumov and Harel Haskey and Yuval Solaz},
year={2024},
eprint={2403.09719},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
``` |