Transformers documentation
BARTpho
نُشر هذا النموذج في أوراق HF في 2021-09-20 وسُهم به في Hugging Face Transformers في 2021-10-18.
BARTpho
BARTpho هو نموذج تسلسل إلى تسلسل كبير الحجم باللغة الفيتنامية. يتوفر منه إصداران: واحد مبني على الكلمات وآخر مبني على المقاطع الصوتية. بُني هذا النموذج على البنية الكبيرة BART مع تدريبه المسبق على إزالة الضوضاء.
يمكنك العثور على جميع نقاط التفتيش الأصلية تحت منظمة VinAI.
تمت مساهمة هذا النموذج من قِبل dqnguyen. اطلع على الشريط الجانبي الأيمن لمزيد من الأمثلة حول كيفية تطبيق BARTpho على مهام لغوية مختلفة.
يُظهر المثال أدناه كيفية تلخيص النص باستخدام Pipeline أو فئة AutoModel.
from transformers import AutoTokenizer, BartForConditionalGeneration
tokenizer = AutoTokenizer.from_pretrained(
"vinai/bartpho-word",
)
model = BartForConditionalGeneration.from_pretrained(
"vinai/bartpho-word",
device_map="auto",
)
text = """
Quang tổng hợp hay gọi tắt là quang hợp là quá trình thu nhận và chuyển hóa năng lượng ánh sáng Mặt trời của thực vật,
tảo và một số vi khuẩn để tạo ra hợp chất hữu cơ phục vụ bản thân cũng như làm nguồn thức ăn cho hầu hết các sinh vật
trên Trái Đất. Quang hợp trong thực vật thường liên quan đến chất tố diệp lục màu xanh lá cây và tạo ra oxy như một sản phẩm phụ
"""
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(inputs["input_ids"], num_beams=2, min_length=0, max_length=20)
tokenizer.batch_decode(outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]ملاحظات
- يستخدم BARTpho البنية الكبيرة لـ BART مع طبقة تطبيع إضافية فوق المُشفِّر والمُفكِّك. يجب استبدال الفئات الخاصة بـ BART بالفئات الخاصة بـ mBART.
- تعتمد هذه النسخة من التنفيذ على معالجة الترميز (Tokenization) عبر ملف
monolingual_vocab_fileفقط. وهو عبارة عن مجموعة فرعية خاصة باللغة الفيتنامية من أنواع الرموز المستمدة من ذلك المعجم متعدد اللغات. إذا كنت ترغب في استخدام هذا المرمِّز (Tokenizer) للغة أخرى، فاستبدلmonolingual_vocab_fileبملف مخصص للغة الهدف لديك.
BartphoTokenizer
فئة transformers.BartphoTokenizer
< source >( vocab_filemonolingual_vocab_filebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'sp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )
المعاملات
- vocab_file (
str) — مسار ملف المفردات. هذا المفردات هو نموذج SentencePiece المُدرَّب مسبقًا المتاح من نموذج multilingual XLM-RoBERTa، ويُستخدم أيضًا في mBART، ويتكون من 250 ألف نوع. - monolingual_vocab_file (
str) — مسار ملف المفردات أحادية اللغة. تتكون هذه المفردات أحادية اللغة من أنواع متخصصة في اللغة الفيتنامية مستخرجة من مفردات متعددة اللغات vocab_file المكونة من 250 ألف نوع. - bos_token (
str, اختياري, الافتراضي هو"<s>") — رمز بداية التسلسل الذي تم استخدامه أثناء التدريب المسبق. يمكن استخدامه كرمز لتصنيف التسلسل. عند بناء تسلسل باستخدام الرموز الخاصة، لا يُستخدم هذا الرمز لبداية التسلسل، بل يُستخدم رمز cls_token.عند بناء تسلسل باستخدام الرموز الخاصة، لا يُستخدم هذا الرمز لبدء التسلسل. الرمز المستخدم هو
cls_token. - eos_token (
str, اختياري, الافتراضي هو"</s>") — رمز نهاية التسلسل. عند بناء تسلسل باستخدام الرموز الخاصة، لا يُستخدم هذا الرمز لنهاية التسلسل، بل يُستخدم رمز الفاصل (sep_token) لهذا الغرض.عند بناء تسلسل باستخدام الرموز الخاصة، لا يُستخدم هذا الرمز لنهاية التسلسل. الرمز المستخدم هو
sep_token. - sep_token (
str، اختياري، القيمة الافتراضية"</s>") — رمز الفاصل، الذي يُستخدم عند بناء تسلسل من عدة تسلسلات، على سبيل المثال تسلسلان لتصنيف التسلسل أو نص وسؤال للإجابة على الأسئلة. كما يُستخدم كآخر رمز في تسلسل مبني باستخدام الرموز الخاصة. - cls_token (
str، اختياري، القيمة الافتراضية"<s>") — رمز التصنيف الذي يُستخدم عند إجراء تصنيف التسلسل (تصنيف التسلسل بأكمله بدلاً من التصنيف لكل رمز على حدة). وهو الرمز الأول في التسلسل عند بناؤه باستخدام الرموز الخاصة. - unk_token (
str، اختياري، القيمة الافتراضية"<unk>") — رمز المجهول. لا يمكن تحويل الرمز غير الموجود في المفردات إلى معرّف، لذا يُعيَّن هذا الرمز بدلاً منه. - pad_token (
str، اختياري، القيمة الافتراضية"<pad>") — الرمز المستخدم للتعبئة، على سبيل المثال عند تجميع تسلسلات ذات أطوال مختلفة. - mask_token (
str، اختياري، القيمة الافتراضية"<mask>") — الرمز المستخدم لإخفاء القيم. هذا هو الرمز المستخدم عند تدريب هذا النموذج باستخدام نمذجة اللغة المقنّعة. وهو الرمز الذي سيحاول النموذج التنبؤ به. - sp_model_kwargs (
dict, اختياري) — سيتم تمريره إلىSentencePieceProcessor.__init__()طريقة. يمكن استخدام الغلاف البرمجي بلغة بايثون لـ SentencePiece لأغراض أخرى، بما في ذلك ضبط:-
enable_sampling: تفعيل تنعيم الوحدات الفرعية. -
nbest_size: معلمات العينة أحادية الكلمة. غير صالحة لـ BPE-Dropout.nbest_size = {0,1}: لا يتم إجراء أي أخذ عينات.nbest_size > 1: يُجري أخذ عينات من نتائج nbest_size.nbest_size < 0: يُفترض أن nbest_size لا نهائية، ويتم أخذ العينات من جميع الفرضيات (الشبكة) باستخدام خوارزمية التصفية الأمامية والعينة الخلفية.
-
alpha: معامل التنعيم لعينة الأحادية، واحتمال إسقاط عمليات الدمج في BPE-dropout.
-
- sp_model (
SentencePieceProcessor) — معالج SentencePiece المستخدم لكل عملية تحويل (النص، الرموز والمعرّفات).
مُعدَّل من XLMRobertaTokenizer. مبني على SentencePiece.
يرث هذا المُجزِّئ من PreTrainedTokenizer الذي يحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.
build_inputs_with_special_tokens
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
المعاملات
- token_ids_0 (
list[int]) — قائمة بالمعرّفات التي ستُضاف إليها الرموز الخاصة. - token_ids_1 (
list[int]، اختياري) — قائمة اختيارية ثانية من المعرّفات لأزواج التسلسلات.
يعيد
list[int]
قائمة معرفات الإدخال مع الرموز الخاصة المناسبة.
إنشاء مدخلات النموذج من تسلسل أو زوج من التسلسلات لمهام تصنيف التسلسل عن طريق الربط وإضافة الرموز الخاصة. يتبع تسلسل BARTPho التنسيق التالي:
- تسلسل واحد:
<s> X </s> - زوج من التسلسلات:
<s> A </s></s> B </s>
create_token_type_ids_from_sequences
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
أنشئ قناعًا من التسلسلين المُمرَّرين لاستخدامه في مهمة تصنيف أزواج التسلسلات. لا يستخدم BARTPho معرّفات أنواع الرموز، لذلك يُعاد قائمة من الأصفار.
get_special_tokens_mask
< source >( token_ids_0: listtoken_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → list[int]
المعاملات
- token_ids_0 (
list[int]) — قائمة من المعرّفات. - token_ids_1 (
list[int]، اختياري) — قائمة اختيارية ثانية من المعرّفات لأزواج التسلسلات. - already_has_special_tokens (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كانت قائمة الرموز (tokens) منسّقة مسبقًا برموز خاصة للنموذج أم لا.
يعيد
list[int]
قائمة من الأعداد الصحيحة في المدى [0, 1]: 1 للرمز الخاص، و0 لرمز التسلسل.
استرجاع معرّفات التسلسل من قائمة الرموز التي لم تُضف إليها رموز خاصة. يُستدعى هذا الأسلوب عند إضافة الرموز الخاصة باستخدام أسلوب prepare_for_model في مُجزّئ النص.
التجاوز لاستخدام مفردات fairseq