معالجة اللغات الطبيعية مبتدئ · Beginner 12 دقيقة

التقطيع

Tokenization

تقسيم النص إلى وحدات: الكلمات والحروف والوحدات الجزئية مثل BPE وWordPiece.

تقدّمك في المسار0%

مستويات التقطيع

المستوىمثال على «والمكتبات»المزاياالعيوب
الكلمةوالمكتباتبسيطمعجم ضخم، كلمات خارج المعجم
الحرفو ا ل م ك ت ب ا تلا توجد كلمات مجهولةتسلسلات طويلة
الوحدة الجزئيةوال ##مكتب ##ات (توضيحي)توازنيعتمد على بيانات التدريب

تقطيع بسيط بالكلمات

import re
text = "تعلّم الآلة (Machine Learning) فرعٌ مهم!"
tokens = re.findall(r"\w+|[^\w\s]", text)
print(tokens)

BPE باختصار

  1. ابدأ بمعجم من الحروف.
  2. عُدّ كل الأزواج المتجاورة في بيانات التدريب.
  3. ادمج الزوج الأكثر تكراراً وأضفه للمعجم.
  4. كرر حتى تصل إلى الحجم المطلوب.

مقطِّعات النماذج الجاهزة

from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("aubmindlab/bert-base-arabertv02")   # يُنزَّل عند أول استخدام
enc = tok("والمكتبات العامة مفتوحة للجميع")
print(tok.convert_ids_to_tokens(enc["input_ids"]))

يجب دائماً استخدام مقطِّع النموذج نفسه الذي دُرب معه.

ملاحظات عملية

  • عدد الرموز يحدد طول السياق والتكلفة الحسابية في النماذج الكبيرة.
  • مقطِّعات دُربت أساساً على نصوص إنجليزية قد تقسم العربية إلى رموز أكثر، فتصبح أكلف وأقل كفاءة.
  • مع العربية قد يفيد التقطيع الصرفي المسبق (فصل حروف العطف وأل التعريف والضمائر) قبل التقطيع الجزئي، وهذا ما تفعله بعض إصدارات AraBERT.

مصطلحات الدرس

الرمز Token
وحدة نصية ناتجة عن التقطيع، قد تكون كلمة أو جزء كلمة أو حرفاً.
الكلمة خارج المعجم Out-of-Vocabulary Word
كلمة لم تظهر في معجم النموذج فلا يملك لها تمثيلاً مباشراً.
ترميز أزواج البايت Byte-Pair Encoding
خوارزمية تبني معجم وحدات جزئية بدمج أكثر الأزواج تكراراً بشكل متكرر.

الملخص

التقطيع (Tokenization) هو تقسيم النص إلى وحدات تسمى رموزاً (tokens). التقطيع بالكلمات بسيط لكنه يعاني من الكلمات خارج المعجم، والتقطيع بالحروف ينتج تسلسلات طويلة. النماذج الحديثة تستخدم الوحدات الجزئية (subwords) مثل BPE وWordPiece وSentencePiece، التي توازن بين حجم المعجم وتغطية الكلمات النادرة، وتناسب اللغات غنية الصرف مثل العربية.

أسئلة مراجعة

  1. لماذا تناسب الوحدات الجزئية اللغة العربية؟

    لأن الكلمة الواحدة تحمل سوابق ولواحق كثيرة، والوحدات الجزئية تسمح بتمثيل الأشكال الجديدة من أجزاء معروفة.

  2. ما العلاقة بين عدد الرموز وتكلفة النماذج اللغوية؟

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

المصادر والمراجع

  1. Sennrich, Haddow & Birch (2015) Neural Machine Translation of Rare Words with Subword Units (BPE) — arXiv
  2. Kudo & Richardson (2018) SentencePiece — arXiv
  3. Hugging Face — Summary of the tokenizers

إكمال الدرس