🧩 مدل Bi-Encoder مبتنی بر مدل پایه PartAI/Tooka-SBERT-V2-Large برای شباهت سنجی اسامی شرکت ها
این مدل یک Sentence Transformer است که از پایهی PartAI/Tooka-SBERT-V2-Large گرفته شده و بر روی دیتاست legal-names-bi-encoder-dataset با استفاده از کتابخانهی Sentence Transformers آموزش داده شده است. مدل برای محاسبهی شباهت معنایی میان جملات و پاراگرافها طراحی شده و خروجی آن یک بردار متراکم 1024بعدی است که میتواند در وظایفی مانند semantic search، paraphrase mining، text classification و clustering استفاده شود. برخلاف CrossEncoder که هر دو متن را همزمان پردازش میکند، این مدل از خانوادهی Bi-Encoder است؛ یعنی هر متن جداگانه به بردار تبدیل میشود و سپس شباهت میان بردارها با معیارهایی مثل Cosine Similarity محاسبه میگردد. این روش سرعت بالاتری دارد و برای جستجو و مقیاسهای بزرگ بسیار کارآمد است.
📌 جزئیات مدل
- نوع مدل: Sentence Transformer (Bi-Encoder)
- مدل پایه: PartAI/Tooka-SBERT-V2-Large
- حداکثر طول توالی: 512 توکن
- ابعاد خروجی: 1024 بعد
- تابع شباهت: Cosine Similarity
- زبان: فارسی
- دیتاست آموزشی: legal-names-bi-encoder-dataset
🚀 نحوه نصب و استفاده
pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("IRI2070/tooka-sbert-large-v2-legal-names-bi-encoder")
sentences = [
'دبیرستان معلم پارسیان',
'دبیرستان معلم پارسیانها',
'دبیرستان فرهنگ و معلم',
]
embeddings = model.encode(sentences)
print(embeddings)
# محاسبه شباهت میان جملات
from sentence_transformers.util import cos_sim
similarities = cos_sim(embeddings, embeddings)
print(similarities)
📊 ارزیابی مدل
مدل بر روی مجموعههای validation و test دیتاست مورد اشاره ارزیابی شده است.
| معیار | validation | test |
|---|---|---|
| cosine_accuracy | 0.9977 | 0.9987 |
امتیاز Cosine Accuracy نشاندهندهی توانایی مدل در تشخیص شباهت معنایی میان جملات است. مقادیر نزدیک به 1 بیانگر عملکرد بسیار دقیق مدل در این وظیفه هستند.
📂 دیتاست آموزشی
- حجم: 272,462 نمونه آموزشی
- ویژگیها:
- ستونها:
anchor،positive،negative - میانگین طول نمونهها: حدود 6–7 توکن
- نمونهها شامل نامهای حقوقی و سازمانی برای اعتبارسنجی و تشخیص شباهت معنایی هستند.
- ستونها:
- Loss Function: MultipleNegativesRankingLoss با پارامترهای:
scale = 20.0similarity_fct = cos_sim
⚙️ هایپرپارامترهای آموزش
batch_size: 100learning_rate: 2e-5num_train_epochs: 1warmup_ratio: 0.1bf16: True
🙌 تشکر
این پروژه بخشی از فعالیتهای آموزشی و پژوهشی در آکادمی همراه اول است و با هدف ارتقای دانش در حوزهی NLP و یادگیری عمیق منتشر شده است.
- Downloads last month
- -
Model tree for intai2070/tooka-sbert-large-v2-legal-names-bi-encoder
Dataset used to train intai2070/tooka-sbert-large-v2-legal-names-bi-encoder
Collection including intai2070/tooka-sbert-large-v2-legal-names-bi-encoder
Evaluation results
- Cosine Accuracy on all nli devself-reported0.998
- Cosine Accuracy on all nli testself-reported0.999