|
--- |
|
language: |
|
- fa |
|
library_name: sentence-transformers |
|
tags: |
|
- sentence-transformers |
|
- sentence-similarity |
|
- feature-extraction |
|
- generated_from_trainer |
|
- dataset_size:96546 |
|
- loss:SoftmaxLoss |
|
base_model: HooshvareLab/bert-base-parsbert-uncased |
|
datasets: |
|
- Gholamreza/pquad |
|
widget: |
|
- source_sentence: اسبهای سنگین با اندامی عضلانی را چه مینامند؟ |
|
sentences: |
|
- >- |
|
بیتلز با فروش تخمینی ۶۰۰ میلیون نسخه از کارهایشان در سراسر جهان پرفروش ترین |
|
هنرمند موسیقی در تمام دورانهاست. این گروه در سال ۱۹۸۸ به تالار مشاهیر راک |
|
اند رول وارد شد و هر چهار عضو اصلی نیز بین سالهای ۱۹۹۴ تا ۲۰۱۵ به صورت |
|
جداگانه به تالار وارد شدند. این گروه هفت جایزه گرمی، چهار جایزه بریت، یک |
|
جایزه اسکار (جایزه اسکار بهترین موسیقی فیلم برای فیلم بگذار باشد (۱۹۷۰)) و |
|
پانزده جایزه آیور نوولو دریافت کرد. مجله تایم آنها را در میان ۱۰۰ شخصیت |
|
برجسته قرن بیستم و رولینگ استون آنها را در لیست ۱۰۰ هنرمند برتر خود در رتبه |
|
اول قرار داد. |
|
- >- |
|
اسبهای سنگین با اندامی عضلانی را به عنوان «اسبهای خونسرد» میشناسند. |
|
آنها را به دلیل توان ماهیچهای و خوی آرام و صبورشان پرورش میدهند. مردم |
|
با کمک آنها بارهای سنگین را جابجا میکردند. گاهی به این اسبهای «غولهای |
|
نجیب» هم گفته میشود. از جمله اسبهای باری میتوان به نژاد بلژیکی و |
|
کلایدزدیل اشاره کرد. برخی از این اسبها مانند پرچرون سبکتر و چابک ترند و |
|
درکشیدن بار یا شخم زدن زمین در اقلیم خشک به کار میآیند. دیگران مانند شایر |
|
آرامتر و نیرومندترند و برای شخم زدن خاکهای رسی کاربرد دارند. برخی اسبچهها |
|
هم در دستهٔ خونسردها جای میگیرند. |
|
- >- |
|
بدنهٔ اسکلتی یا خرپا (Truss) در هواپیماهای اولیه تا جنگ جهانی اول بسیار |
|
استفاده میشد. هماکنون در هواپیماهای دستساز و نیز هواپیماهای مدل از این |
|
نوع بدنه استفاده زیادی میشود چرا که ساده، سبک و مقاوم بوده و با تیرکهای |
|
چوبی قابل ساخت هستند. در این نوع بدنه اغلب نیروها و تنشهای وارده توسط سازه |
|
اصلی تحمل شده و از پوسته برای ایجاد شکل آیرودینامیکی به سازه استفاده |
|
میشود. سازهٔ اصلی از تیرکهای طولی، تیرکهای مورب، قابهای عرضی و کابلهای |
|
نگهدارنده تشکیل شدهاست. برادران رایت که اولین هواپیماهای قابل کنترل را |
|
ساختند از این حالت در ساختار بدنهٔ هواپیماهایشان استفاده میکردند. |
|
pipeline_tag: sentence-similarity |
|
license: apache-2.0 |
|
--- |
|
|
|
# SentenceTransformer based on HooshvareLab/bert-base-parsbert-uncased |
|
|
|
This [sentence-transformers](https://www.SBERT.net) model is finetuned from [HooshvareLab/bert-base-parsbert-uncased](https://huggingface.co/HooshvareLab/bert-base-parsbert-uncased) with a focus on enhancing Retrieval-Augmented Generation (RAG) systems. It maps sentences and paragraphs to a 768-dimensional dense vector space, making it highly effective for retrieving contextually relevant information to generate accurate and coherent responses in various applications such as QA systems, chatbots, and content generation. |
|
|
|
## Model Details |
|
|
|
### Model Description |
|
- **Model Type:** Sentence Transformer |
|
- **Base model:** [HooshvareLab/bert-base-parsbert-uncased](https://huggingface.co/HooshvareLab/bert-base-parsbert-uncased) <!-- at revision d73a0e2c7492c33bd5819bcdb23eba207404dd19 --> |
|
- **Maximum Sequence Length:** 512 tokens |
|
- **Output Dimensionality:** 768 tokens |
|
- **Similarity Function:** Cosine Similarity |
|
|
|
### Full Model Architecture |
|
|
|
``` |
|
SentenceTransformer( |
|
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel |
|
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) |
|
) |
|
``` |
|
|
|
## Usage |
|
|
|
### Direct Usage (Sentence Transformers) |
|
|
|
First install the Sentence Transformers library: |
|
|
|
```bash |
|
pip install -U sentence-transformers |
|
``` |
|
|
|
Then you can load this model and run inference. |
|
```python |
|
from sentence_transformers import SentenceTransformer |
|
|
|
# Download from the 🤗 Hub |
|
model = SentenceTransformer("myrkur/sentence-transformer-parsbert-fa") |
|
# Run inference |
|
sentences = [ |
|
'پرتغالی، در وطن اصلی خود، پرتغال، تقریباً توسط ۱۰ میلیون نفر جمعیت صحبت می\u200cشود. پرتغالی همچنین به عنوان زبان رسمی برزیل، بیش از ۲۰۰ میلیون نفر در آن کشور و همچنین کشورهای همسایه، در شرق پاراگوئه و در شمال اروگوئه، سخنگو دارد، که کمی بیش از نیمی از جمعیت آمریکای جنوبی را تشکیل می\u200cدهند؛ بنابراین پرتغالی پرسخنگوترین زبان رسمی رومی در یک کشور واحد است. این زبان در شش کشور آفریقایی زبان رسمی است (آنگولا، دماغه سبز، گینه بیسائو، موزامبیک، گینه استوایی و سائوتومه و پرنسیپ) و توسط ۳۰ میلیون نفر از ساکنان آن قاره به عنوان زبان نخست گویش می\u200cشود. در آسیا، پرتغالی با سایر زبان\u200cها در تیمور شرقی و ماکائو رسمی است، در حالی که بیشتر پرتغالی\u200cزبانان در آسیا - حدود ۴۰۰٫۰۰۰ نفر - به دلیل بازگشت مهاجرت ژاپنی\u200cهای برزیل ساکن ژاپن هستند. در آمریکای شمالی ۱٫۰۰۰٫۰۰۰ نفر به پرتغالی به عنوان زبان نخست خود صحبت می\u200cکنند. پرتغالی در اقیانوسیه به دلیل شمار سخنگویانش در تیمور شرقی، پس از فرانسوی، دومین زبان رومی است که بیش از همه گویش می\u200cشود. نزدیکترین خویشاوند آن، گالیسی، دارای وضعیت رسمی در جامعه خودمختار گالیسیا در اسپانیا، همراه با اسپانیایی است.', |
|
'در حدود اواخر کدام قرن پیش از میلاد سکاهای کوچ\u200cنشین در مرزهای شرقی اشکانیان پیشروی کردند؟', |
|
'عباس جدیدی که بود؟', |
|
] |
|
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] |
|
``` |
|
### Usage in Retrieval-Augmented Generation (RAG) Systems |
|
Retrieval-Augmented Generation (RAG) systems leverage a combination of retrieval and generation techniques to enhance the quality and accuracy of generated responses. This model can be effectively used to retrieve relevant information from a large corpus, which can then be used to generate more informed and contextually accurate responses. Here's how you can integrate this model into a RAG system: |
|
|
|
Install Necessary Libraries: |
|
Ensure you have the required libraries: |
|
|
|
```bash |
|
pip install -U sentence-transformers transformers |
|
``` |
|
|
|
```python |
|
from sentence_transformers import SentenceTransformer, util |
|
import torch |
|
|
|
# Load the model |
|
model = SentenceTransformer("myrkur/sentence-transformer-parsbert-fa") |
|
|
|
# Example corpus |
|
corpus = [ |
|
'پرتغالی، در وطن اصلی خود، پرتغال، تقریباً توسط ۱۰ میلیون نفر جمعیت صحبت میشود...', |
|
'اشکانیان حدود دو قرن بر ایران حکومت کردند...', |
|
'عباس جدیدی، کشتیگیر سابق ایرانی است...', |
|
# ... (more documents) |
|
] |
|
|
|
# Encode the corpus |
|
corpus_embeddings = model.encode(corpus, convert_to_tensor=True) |
|
``` |
|
|
|
Retrieve Relevant Information: |
|
Given a user query, retrieve the most relevant documents from the corpus: |
|
|
|
```python |
|
# User query |
|
query = "عباس جدیدی که بود؟" |
|
query_embedding = model.encode(query, convert_to_tensor=True) |
|
|
|
# Retrieve the top-k most similar documents |
|
top_k = 5 |
|
hits = util.semantic_search(query_embedding, corpus_embeddings, top_k=top_k) |
|
hits = hits[0] |
|
|
|
# Print the retrieved documents |
|
for hit in hits: |
|
print(f"Score: {hit['score']:.4f}") |
|
print(corpus[hit['corpus_id']]) |
|
``` |
|
## Conclusion |
|
This sentence-transformer model is a powerful tool for various NLP applications, particularly in retrieval-augmented generation systems, enabling more accurate and contextually relevant information retrieval and generation. |
|
|
|
## Contact |
|
For questions or further information, please contact: |
|
|
|
- Amir Masoud Ahmadi: [amirmasoud.ahkol@gmail.com](mailto:amirmasoud.ahkol@gmail.com) |
|
|