🚀 PhoRanker:越南语文本排序跨编码器模型
PhoRanker 是一个用于越南语文本排序的跨编码器模型,它能对文本进行高效分类和排序,在相关任务中表现出色,可基于不同库灵活使用。
🚀 快速开始
本项目提供了一个用于越南语文本排序的跨编码器模型,下面将详细介绍其安装、预处理和使用方法。
📦 安装指南
安装 VnCoreNLP
进行分词
pip install py_vncorenlp
安装 sentence-transformers
(推荐)
pip install sentence-transformers
安装 transformers
(可选)
pip install transformers
💻 使用示例
预处理
import py_vncorenlp
py_vncorenlp.download_model(save_dir='/absolute/path/to/vncorenlp')
rdrsegmenter = py_vncorenlp.VnCoreNLP(annotators=["wseg"], save_dir='/absolute/path/to/vncorenlp')
query = "Trường 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 = rdrsegmenter.word_segment(query)
tokenized_sentences = [rdrsegmenter.word_segment(sent) for sent in sentences]
tokenized_pairs = [[tokenized_query, sent] for sent in tokenized_sentences]
MODEL_ID = 'itdainb/PhoRanker'
MAX_LENGTH = 256
使用 sentence-transformers
from sentence_transformers import CrossEncoder
model = CrossEncoder(MODEL_ID, max_length=MAX_LENGTH)
model.model.half()
scores = model.predict(tokenized_pairs)
print(scores)
使用 transformers
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model = AutoModelForSequenceClassification.from_pretrained(MODEL_ID)
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model.half()
features = tokenizer(tokenized_pairs, padding=True, truncation="longest_first", return_tensors="pt", max_length=MAX_LENGTH)
model.eval()
with torch.no_grad():
model_predictions = model(**features, return_dict=True)
logits = model_predictions.logits
logits = torch.nn.Sigmoid()(logits)
scores = [logit[0] for logit in logits]
print(scores)
📚 详细文档
性能表现
以下表格展示了各种预训练的跨编码器在 MS MMarco Passage Reranking - Vi - Dev 数据集上的性能:
注意:运行时间是在配备 fp16 的 A100 GPU 上计算得出的。
支持项目
如果你觉得这个项目有用,并希望支持其持续开发,可以通过以下几种方式提供帮助:
- 给仓库加星:如果你认可这个项目,请给它加星。你的支持将鼓励项目持续发展和改进。
- 贡献代码:欢迎贡献代码!你可以通过报告问题、提交拉取请求或提出新功能建议来提供帮助。
- 分享项目:将这个项目分享给你的同事、朋友或社区。了解的人越多,项目就能吸引更多的反馈和贡献。
- 请我喝咖啡:如果你想提供资金支持,可以考虑进行捐赠。你可以通过以下方式捐赠:
- Momo:0948798843
- BIDV 银行:DAINB
- Paypal:0948798843
引用
请按以下格式引用本项目:
@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}},
}
📄 许可证
本项目采用 Apache-2.0 许可证。