1from sentence_transformers import CrossEncoder
2model = CrossEncoder('HeTree/HeCross')34# Scores (already after sigmoid)5scores = model.predict([('כמה אנשים חיים בברלין?','ברלין מונה 3,520,031 תושבים רשומים בשטח של 891.82 קמ"ר.'),6('כמה אנשים חיים בברלין?','העיר ניו יורק מפורסמת בזכות מוזיאון המטרופוליטן לאומנות.')])7print(scores)
Usage with Transformers AutoModel
You can use the model also directly with Transformers library (without SentenceTransformers library):
python
1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3import numpy as np
45# Function that applies sigmoid to a score6defsigmoid(x):7return1/(1+ np.exp(-x))89model = AutoModelForSequenceClassification.from_pretrained('HeTree/HeCross')10tokenizer = AutoTokenizer.from_pretrained('HeTree/HeCross')11features = tokenizer(['כמה אנשים חיים בברלין?','כמה אנשים חיים בברלין?'],12['ברלין מונה 3,520,031 תושבים רשומים בשטח של 891.82 קמ"ר.','העיר ניו יורק מפורסמת בזכות מוזיאון המטרופוליטן לאומנות.'],13 padding=True, truncation=True, return_tensors="pt")14model.eval()15with torch.no_grad():16 scores = sigmoid(model(**features).logits)17print(scores)
Zero-Shot Classification
This model can also be used for zero-shot-classification:
python
1from transformers import pipeline
2classifier = pipeline("zero-shot-classification", model='HeTree/HeCross')3sent ="בשבוע שעבר שדרגתי את גרסת הטלפון שלי ."4candidate_labels =["נייד לשיחות","אתר","חיוב חשבון","גישה לחשבון בנק"]5res = classifier(sent, candidate_labels)6print(res)
@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}
}