Rerank
Collection
1 item
•
Updated
•
1
sentence-transformers
transformers
Install pyvi
to word segment:
pip install pyvi
Install sentence-transformers
(recommend) - Usage:
pip install sentence-transformers
Install transformers
(optional) - Usage:
pip install transformers
from pyvi import ViTokenizer
query = "UIT là gì?"
sentences = [
"Trường Đại học Công nghệ Thông tin có tên tiếng Anh là University of Information Technology (viết tắt là UIT) là thành viên của Đại học Quốc Gia TP.HCM.",
"Trường Đại học Kinh tế – Luật (tiếng Anh: University of Economics and Law – UEL) là trường đại học đào tạo và nghiên cứu khối ngành kinh tế, kinh doanh và luật hàng đầu Việt Nam.",
"Quĩ uỷ thác đầu tư (tiếng Anh: Unit Investment Trusts; viết tắt: UIT) là một công ty đầu tư mua hoặc nắm giữ một danh mục đầu tư cố định"
]
tokenized_query = ViTokenizer.tokenize(query)
tokenized_sentences = [ViTokenizer.tokenize(sent) for sent in sentences]
tokenized_pairs = [[tokenized_query, sent] for sent in tokenized_sentences]
model_id = 'itdainb/PhoRanker'
from sentence_transformers import CrossEncoder
model = CrossEncoder(model_id, max_length=256)
# For fp16 usage
model.model.half()
scores = model.predict(tokenized_pairs)
from transformers import AutoTokenizer, AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)
# For fp16 usage
model.half()
features = tokenizer(tokenized_pairs, padding=True, truncation="longest_first", return_tensors="pt", max_length=256)
model.eval()
with torch.no_grad():
model_predictions = model(**features, return_dict=True)
logits = model_predictions.logits
scores = [score[0] for score in logits]
print(scores)
In the following table, we provide various pre-trained Cross-Encoders together with their performance on the MS MMarco Passage Reranking - Vi - Dev dataset.
Model-Name | NDCG@3 | MRR@3 | NDCG@5 | MRR@5 | NDCG@10 | MRR@10 | Docs / Sec |
---|---|---|---|---|---|---|---|
itdainb/PhoRanker | 0.6625 | 0.6458 | 0.7147 | 0.6731 | 0.7422 | 0.6830 | 15 |
amberoad/bert-multilingual-passage-reranking-msmarco | 0.4634 | 0.5233 | 0.5041 | 0.5383 | 0.5416 | 0.5523 | 22 |
kien-vu-uet/finetuned-phobert-passage-rerank-best-eval | 0.0963 | 0.0883 | 0.1396 | 0.1131 | 0.1681 | 0.1246 | 15 |
BAAI/bge-reranker-v2-m3 | 0.6087 | 0.5841 | 0.6513 | 0.6062 | 0.6872 | 0.62091 | 3.51 |
BAAI/bge-reranker-v2-gemma | 0.6088 | 0.5908 | 0.6446 | 0.6108 | 0.6785 | 0.6249 | 1.29 |
Note: Runtime was computed on a A100 GPU with fp16.
Please cite as
@misc{PhoRanker,
title={PhoRanker: A Cross-encoder Model for Vietnamese Text Ranking},
author={Dai Nguyen Ba ({ORCID:0009-0008-8559-3154})},
year={2024},
publisher={Huggingface},
journal={huggingface repository},
howpublished={\url{https://huggingface.co/itdainb/PhoRanker}},
}