# BARThez

[BARThez](https://huggingface.co/papers/2010.12321) هو نموذج [BART](./bart) مصمّم لمهام اللغة الفرنسية. على عكس نماذج BERT الفرنسية الموجودة، يتضمن BARThez مُشفِّر-مُفكِّك مُسبَق التدريب، مما يتيح له توليد النص أيضًا. يتوفر هذا النموذج أيضًا كإصدار متعدد اللغات، mBARThez، من خلال مواصلة تدريب BART متعدد اللغات على مجموعة بيانات فرنسية.

يمكنك العثور على جميع نقاط التفتيش الأصلية لـ BARThez ضمن مجموعة [BARThez](https://huggingface.co/collections/dascim/barthez-670920b569a07aa53e3b6887).

> [!TIP]
> ساهم [moussakam](https://huggingface.co/moussakam) في هذا النموذج. راجع توثيق [BART](./bart) لمزيد من أمثلة الاستخدام.

يُبيّن المثال أدناه كيفية التنبؤ بالرمز `<mask>` باستخدام [Pipeline](/docs/transformers/main/ar/main_classes/pipelines#transformers.Pipeline) و[AutoModel](/docs/transformers/main/ar/model_doc/auto#transformers.AutoModel) ومن سطر الأوامر.

```python
from transformers import pipeline

pipeline = pipeline(
    task="fill-mask",
    model="moussaKam/barthez",
    device=0
)
pipeline("Les plantes produisent <mask> grâce à un processus appelé photosynthèse.")
```

```python
import torch

from transformers import AutoModelForMaskedLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained(
    "moussaKam/barthez",
)
model = AutoModelForMaskedLM.from_pretrained(
    "moussaKam/barthez",
    device_map="auto",
)
inputs = tokenizer("Les plantes produisent <mask> grâce à un processus appelé photosynthèse.", return_tensors="pt").to(model.device)

with torch.no_grad():
    outputs = model(**inputs)
    predictions = outputs.logits

masked_index = torch.where(inputs['input_ids'] == tokenizer.mask_token_id)[1]
predicted_token_id = predictions[0, masked_index].argmax(dim=-1)
predicted_token = tokenizer.decode(predicted_token_id)

print(f"The predicted token is: {predicted_token}")
```

## BarthezTokenizer[[transformers.BarthezTokenizer]]

#### transformers.BarthezTokenizer[[transformers.BarthezTokenizer]]

```python
transformers.BarthezTokenizer(vocab: str | dict | list | None = None, bos_token = '<s>', eos_token = '</s>', sep_token = '</s>', cls_token = '<s>', unk_token = '<unk>', pad_token = '<pad>', mask_token = '<mask>', add_prefix_space = True, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/barthez/tokenization_barthez.py#L32)

**المعاملات:**

bos_token (`str`، *اختياري*، القيمة الافتراضية `"<s>"`) : رمز بداية التسلسل الذي تم استخدامه أثناء التدريب المسبق. يمكن استخدامه كرمز مصنف التسلسل. عند بناء تسلسل باستخدام الرموز الخاصة، هذا ليس الرمز المستخدم لبداية التسلسل. الرمز المستخدم هو `cls_token`.

eos_token (`str`، *اختياري*، القيمة الافتراضية `"</s>"`) : رمز نهاية التسلسل. عند بناء تسلسل باستخدام الرموز الخاصة، هذا ليس الرمز المستخدم لنهاية التسلسل. الرمز المستخدم هو `sep_token`.

sep_token (`str`، *اختياري*، الافتراضي هو `"</s>"`) : رمز الفاصل، الذي يُستخدم عند بناء تسلسل من عدة تسلسلات، مثل تسلسلين لتصنيف التسلسلات، أو نص وسؤال للإجابة على الأسئلة. كما يُستخدم كآخر رمز في تسلسل مبني برموز خاصة.

cls_token (`str`، *اختياري*، القيمة الافتراضية `"<s>"`) : رمز التصنيف الذي يُستخدم عند إجراء تصنيف التسلسل (تصنيف التسلسل بأكمله بدلاً من تصنيف كل رمز على حدة). وهو الرمز الأول في التسلسل عند بناؤه باستخدام الرموز الخاصة.

unk_token (`str`، *اختياري*، القيمة الافتراضية `"<unk>"`) : رمز المجهول. الرمز غير الموجود في قاموس الكلمات لا يمكن تحويله إلى معرّف، لذا يُعيَّن هذا الرمز بدلاً منه.

pad_token (`str`، *اختياري*، القيمة الافتراضية هي `"<pad>"`) : الرمز المستخدم للتعبئة، على سبيل المثال عند تجميع تسلسلات ذات أطوال مختلفة.

mask_token (`str`، *اختياري*، القيمة الافتراضية `"<mask>"`) : الرمز المستخدم لإخفاء القيم. هذا هو الرمز المستخدم عند تدريب هذا النموذج باستخدام نمذجة اللغة المقنّعة. وهو الرمز الذي سيحاول النموذج التنبؤ به.

vocab_file (`str`، *اختياري*) : ملف [SentencePiece](https://github.com/google/sentencepiece) (يحمل عادةً امتداد *.spm*) يحتوي على المفردات اللازمة لإنشاء مُجزِّئ.

vocab (`str`، `dict` أو `list`، *اختياري*) : قاموس مفردات مخصص. إذا لم يُقدَّم، يتم تحميل المفردات من vocab_file.

add_prefix_space (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة مسافة أولية إلى المدخل أم لا. هذا يتيح التعامل مع الكلمة الأولى تمامًا مثل أي كلمة أخرى.

مُعدَّل من [CamembertTokenizer](/docs/transformers/main/ar/model_doc/camembert#transformers.CamembertTokenizer) و[BartTokenizer](/docs/transformers/main/ar/model_doc/led#transformers.RobertaTokenizer). يُنشئ مُجزِّئ BARThez «سريع». مبني على [SentencePiece](https://github.com/google/sentencepiece).

يرث هذا المُجزِّئ من [PreTrainedTokenizerFast](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend) التي تتضمن معظم الطرق الأساسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.

