--- language: - fa library_name: sentence-transformers pipeline_tag: sentence-similarity tags: - sentence-transformers - sentence-similarity - feature-extraction - loss:CachedMultipleNegativesRankingLoss widget: - source_sentence: درنا از پرندگان مهاجر با پاهای بلند و گردن دراز است. sentences: - >- درناها با قامتی بلند و بال‌های پهن، از زیباترین پرندگان مهاجر به شمار می‌روند. - درناها پرندگانی کوچک با پاهای کوتاه هستند که مهاجرت نمی‌کنند. - ایران برای بار دیگر توانست به مدال طلا دست یابد. - source_sentence: در زمستان هوای تهران بسیار آلوده است. sentences: - تهران هوای پاکی در فصل زمستان دارد. - مشهد و تهران شلوغ‌ترین شهرهای ایران هستند. - در زمستان‌ها هوای تهران پاک نیست. - source_sentence: یادگیری زبان خارجی فرصت‌های شغلی را افزایش می‌دهد. sentences: - تسلط بر چند زبان، شانس استخدام در شرکت‌های بین‌المللی را بالا می‌برد. - دانستن زبان‌های خارجی تأثیری در موفقیت شغلی ندارد. - دمای هوا در قطب جنوب به پایین‌ترین حد خود در 50 سال اخیر رسید. - source_sentence: سفر کردن باعث گسترش دیدگاه‌های فرهنگی می‌شود. sentences: - بازدید از کشورهای مختلف به درک بهتر تنوع فرهنگی کمک می‌کند. - سفر کردن هیچ تأثیری بر دیدگاه‌های فرهنگی افراد ندارد - دمای هوا در قطب جنوب به پایین‌ترین حد خود در 50 سال اخیر رسید. base_model: - PartAI/TookaBERT-Base --- # Tooka-SBERT-V2-Small This model is a Sentence Transformers model trained for semantic textual similarity and embedding tasks. It maps sentences and paragraphs to a dense vector space, where semantically similar texts are close together. The model is trained in two sizes: [**Small**](https://huggingface.co/PartAI/Tooka-SBERT-V2-Small/) and [**Large**](https://huggingface.co/PartAI/Tooka-SBERT-V2-Large/) ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install sentence-transformers==3.4.1 ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("PartAI/Tooka-SBERT-V2-Small") # Run inference sentences = [ 'درنا از پرندگان مهاجر با پاهای بلند و گردن دراز است.', 'درناها با قامتی بلند و بال‌های پهن، از زیباترین پرندگان مهاجر به شمار می‌روند.', 'درناها پرندگانی کوچک با پاهای کوتاه هستند که مهاجرت نمی‌کنند.' ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 768] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] ``` ## 🛠️ Training Details The training is performed in two stages: 1. **Pretraining** on the *Targoman News* dataset 2. **Fine-tuning** on multiple synthetic datasets ### Stage 1: Pretraining - We use an **asymmetric** setup. - Input formatting: - Titles are prepended with `"سوال: "` - Texts are prepended with `"متن: "` - Loss function: `CachedMultipleNegativesRankingLoss` ### Stage 2: Fine-tuning - Loss functions: - `CachedMultipleNegativesRankingLoss` - `CoSENTLoss` - Used across multiple synthetic datasets # 📊 Evaluation We evaluate our model on the [**PTEB Benchmark**](https://huggingface.co/spaces/PartAI/pteb-leaderboard). Our model **outperforms mE5-Base on average across PTEB tasks**. For *Retrieval* and *Reranking* tasks, we follow the same asymmetric structure, prepending: - `"سوال: "` to queries - `"متن: "` to documents | Model | #Params | Pair-Classification-Avg | Classification-Avg | Retrieval-Avg | Reranking-Avg | CrossTasks-Avg | |--------------------------------------------------------------------------------|:-------:|-------------------------|--------------------|---------------|---------------|----------------| | [Tooka-SBERT-V2-Large](https://huggingface.co/PartAI/Tooka-SBERT-V2-Large) | 353M | 80.24 | 74.73 | 59.80 | 73.44 | **72.05** | | [Tooka-SBERT-V2-Small](https://huggingface.co/PartAI/Tooka-SBERT-V2-Small) | 123M | 75.69 | 72.16 | 61.24 | 73.40 | 70.62 | | [jina-embeddings-v3](https://huggingface.co/jinaai/jina-embeddings-v3) | 572M | 71.88 | **79.27** | **65.18** | 64.62 | 70.24 | | [multilingual-e5-base](https://huggingface.co/intfloat/multilingual-e5-base) | 278M | 70.76 | 69.71 | 63.90 | **76.01** | 70.09 | | [Tooka-SBERT-V1-Large](https://huggingface.co/PartAI/Tooka-SBERT) | 353M | **81.52** | 71.54 | 45.61 | 60.44 | 64.78 | ### Task-Specific Datasets in PTEB - **Pair-Classification**: - FarsTail - **Classification**: - MassiveIntentClassification - MassiveScenarioClassification - MultilingualSentimentClassification - PersianFoodSentimentClassification - **Retrieval**: - MIRACLRetrieval - NeuCLIR2023Retrieval - WikipediaRetrievalMultilingual - **Reranking**: - MIRACLReranking - WikipediaRerankingMultilingual ## Citation ### BibTeX #### Sentence Transformers ```bibtex @inproceedings{reimers-2019-sentence-bert, title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", author = "Reimers, Nils and Gurevych, Iryna", booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", month = "11", year = "2019", publisher = "Association for Computational Linguistics", url = "https://arxiv.org/abs/1908.10084", } ``` #### CachedMultipleNegativesRankingLoss ```bibtex @misc{gao2021scaling, title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup}, author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan}, year={2021}, eprint={2101.06983}, archivePrefix={arXiv}, primaryClass={cs.LG} } ```