🚀 引入 ARM-V1 | 阿拉伯语重排模型(版本1)
ARM-V1 是专门为阿拉伯语重排任务设计的模型,能够精准处理查询和段落,直接评估问题与文档之间的相似度并输出相关性得分,在识别最相关结果方面表现出色。
更多信息请参考此博客:ARM | 阿拉伯语重排模型。
✨ 主要特性
- 专为阿拉伯语重排任务量身定制,能精确处理查询和段落。
- 与嵌入模型不同,该重排器直接评估问题与文档的相似度,输出相关性得分。
- 通过正负查询 - 段落对组合进行训练,擅长识别最相关的结果。
- 输出分数可使用 sigmoid 函数转换到 [0, 1] 范围,提供清晰且可解释的相关性度量。
📚 详细文档
阿拉伯语 RAG 流程

💻 使用示例
基础用法
使用 sentence-transformers
库调用模型:
pip install sentence-transformers
from sentence_transformers import CrossEncoder
query = "تطبيقات الذكاء الاصطناعي تُستخدم في مختلف المجالات لتحسين الكفاءة."
candidates = [
"الذكاء الاصطناعي يساهم في تحسين الإنتاجية في الصناعات المختلفة.",
"نماذج التعلم الآلي يمكنها التعرف على الأنماط في مجموعات البيانات الكبيرة.",
"الذكاء الاصطناعي يساعد الأطباء في تحليل الصور الطبية بشكل أفضل.",
"تستخدم الحيوانات التمويه كوسيلة للهروب من الحيوانات المفترسة.",
]
query_candidate_pairs = [(query, candidate) for candidate in candidates]
scores = model.predict(query_candidate_pairs)
ranked_candidates = sorted(zip(candidates, scores), key=lambda x: x[1], reverse=True)
print("Ranked candidates based on relevance to the query:")
for i, (candidate, score) in enumerate(ranked_candidates, 1):
print(f"Rank {i}:")
print(f"Candidate: {candidate}")
print(f"Score: {score}\n")
🔧 技术细节
评估
数据集
- 规模:3000 个样本。
- 结构:
- 查询:代表用户问题的字符串。
- 候选文档:用于回答查询的候选段落。
- 相关性标签:二进制标签(相关为 1,不相关为 0)。
评估过程
- 查询分组:对查询进行分组,以评估模型为每个查询正确排序候选文档的能力。
- 模型预测:每个模型为与查询对应的所有候选文档预测相关性得分。
- 指标计算:计算指标以衡量模型将相关文档排在不相关文档之上的能力。
模型 |
MRR |
MAP |
nDCG@10 |
cross-encoder/ms - marco - MiniLM - L - 6 - v2 |
0.631 |
0.6313 |
0.725 |
cross-encoder/ms - marco - MiniLM - L - 12 - v2 |
0.664 |
0.664 |
0.750 |
BAAI/bge - reranker - v2 - m3 |
0.902 |
0.902 |
0.927 |
Omartificial - Intelligence - Space/ARA - Reranker - V1 |
0.934 |
0.9335 |
0.951 |
📄 许可证
本项目采用 Apache 2.0 许可证。
📖 致谢
作者感谢苏丹王子大学在本项目中提供的宝贵支持。他们的贡献和资源对这些模型的开发和微调起到了重要作用。
📚 引用
如果您使用了 ARM-V1 模型,请按以下方式引用:
@misc{nacar2025ARM,
title={ARM, Arabic Reranker Model},
author={Omer Nacar},
year={2025},
url={https://huggingface.co/Omartificial-Intelligence-Space/ARA-Reranker-V1},
}