تقنية

حشو دفعة النص: هل الموضع المضاف كلمة من الأصل؟

قائمتان معلنتان وقائمة حشو الأقصر ثم قناعها المختلف في الوظيفة.
مخطط تحريري لحقول رمزية؛ لا يعرض نتيجة نموذج.

تضم ورقة تجهيز مدخلات مساعد قائمتين مختلفتي الطول. بعد الحشو ظهر موضع إضافي في الأقصر؛ هل يدل على كلمة ثالثة كتبها صاحب النص؟ لا يكفي طول القائمة للإجابة. نقرأ دور الحشو وقناع الانتباه، ثم نقارن تمثيلين رمزيين دون تشغيل مرمز أو نموذج.

الخلاصة السريعة

الموضع المضاف للحشو جزء من التمثيل المجهز، لا كلمة جديدة ثبت وجودها في الأصل. احفظ معرف الحشو وقناعه وجانبه مع المصدر؛ الأرقام التعليمية ليست ترميزًا فعليًا لجملة عربية.

  • يستعمل pad_token لتوحيد أحجام قوائم الدفعة، ويمكن أن يكون الحشو يمينًا أو يسارًا بحسب الإعداد. [1] لا نعمم جانب المثال.
  • نفترض قائمتين 41 ، 42 و 51 ، وحشوًا يمينًا بمعرف 0 ؛ تصبح الثانية 51 ، 0 دون إضافة محتوى أصلي معلن.
  • في مثال BertTokenizer الموثق يشير 1 إلى موضع يراعى، و 0 إلى الحشو في attention_mask. [2] نعطي الثانية قناعًا 1 ، 0 ؛ معرف الحشو وقيمة القناع وظيفتان مختلفتان.
  • راجع الإعداد والحقول والأصل قبل استعمال الناتج؛ القناع لا يثبت صحة جواب أو أن كل العمليات حذفت الموضع، ولم نجرب توليدًا.

لماذا تغير طول القائمة؟

تصف الوثائق pad_token بأنه رمز لتوحيد أحجام قوائم الدفعة، وتتيح padding_side يمينًا أو يسارًا. [1]

نختار في الورقة دفعة من مدخلين فقط، ونفترض أن التجهيز المطلوب يجعل طول كل قائمة اثنين. هذه قيمة معلنة للمثال، وليست حدًا مناسبًا لكل نموذج. قد يكون للنص نفسه تمثيل مختلف مع مرمز آخر؛ لا نستخرج الكلمات الأصلية من طول قائمة مجهزة وحده.

موضعان لا كلمتان بالضرورة

قبل الحشو نعطي المدخل أ المعرفين 41 ، 42 ، ونعطي ب المعرف 51 وحده. نعلن معرف حشو 0 وجانبًا يمينيًا. فيصير أ كما كان، ويصير ب 51 ، 0. الأرقام رموز اخترعناها، ولم نربطها بكلمات عربية في مفردات نموذج.

عدد المواضع المعروضة بعد التجهيز أربعة، بينما عدد المعرفات الأصلية المعلنة ثلاثة. لا نحذف سجل المدخل ب لأن فيه صفرًا، ولا نصف الصفر بكلمة أضافها المستخدم. الذي تغير هو تمثيل الدفعة وفق فرضنا.

وفي فرع مستقل لو اخترنا الحشو يسارًا، نقترح تمثيل ب 0 ، 51 بدل 51 ، 0. لا ننقل موضع 51 من الفرع الأول إلى الثاني وكأن الجانبين متطابقان؛ نحتفظ بالإعداد مع القراءة.

اقرأ القناع بجانب المعرفات

يبين معجم المكتبة في مثال BertTokenizer أن attention_mask يميز المواضع التي يراعى محتواها:1 لها، و 0 للحشو. [2]

وفق هذا التمثيل التعليمي نعطي أ القناع 1 ، 1 ، وب القناع 1 ، 0. الصفر في قائمة المعرفات جاء من اختيار معرف الحشو، أما الصفر في القناع فيصف وظيفة الموضع. تطابق الرقمين هنا لا يجعلهما حقلًا واحدًا.

ولو اخترنا معرف حشو رمزيًا 8 مع ثبات بقية شروط الورقة، يصبح ب 51 ، 8 ، ويظل قناعه المعلن 1 ، 0. بذلك نفصل قيمة المعرف من معنى خانة القناع؛ لم نستخرج هذه القوائم من مكتبة أو نختبر سلوك نموذج.

حقل ب في الفرضقيمه بالترتيب
المعرفات بعد حشو 051 ، 0
قناع الانتباه1 ، 0
الأصل قبل الحشو51

ما الذي تحتاجه مراجعة المساعد؟

نقترح حفظ المدخل الأصلي واسم المرمز والإعداد ومعرف الحشو وجانبه، ثم الحقول المعادة فعلًا إن توفر سجلها. لا نقول إن الحشو تحسن معه الأداء أو إن القناع يمنع كل خطأ؛ لم نقارن إجابات.

كما لا نعمم من وصف القناع أن الموضع أزيل من كل حساب أو فقد أثره في كل بنية. نراجع العقد الموافق للنموذج والمهمة. غرض الورقة أن لا يسمي المساعد موضعًا أضيف لتجهيز الدفعة كلمة جديدة من النص، وأن لا يخلط طول المعرفات بعد التجهيز بطول المحتوى الأصلي.

المصادر ومتابعة القراءة

  1. Transformers Tokenizer padding fields (يفتح في نافذة جديدة)huggingface.co
  2. Transformers Glossary attention mask (يفتح في نافذة جديدة)huggingface.co

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.