شو يعني Tokenization (التقطيع)؟ كيف النص بيتحوّل لأرقام يفهمها النموذج
Tokenization تقطيع النص لقطع (توكنز) وترقيمها لأن النموذج يفهم أرقام مش حروف؛ الآلية BPE/subword، والعربي بياخد توكنز أكتر فيكلّف أكتر.
شو يعني Tokenization (التقطيع)؟ كيف النص بيتحوّل لأرقام يفهمها النموذج
بتكتب «مرحبا» لـ ChatGPT، بيرد عليك بلغة سليمة — بس السر إنه النموذج ما شاف كلمة «مرحبا» أبداً. شاف أرقام. النماذج اللغوية بتشتغل بالرياضيات بس، وما بتفهم حروف ولا كلمات مباشرة. فكيف بتوصل كلمتك من نص لأرقام؟ العملية اسمها Tokenization (التقطيع)، وهي أول خطوة بأي نموذج لغوي. بهالمقالة رح نفهم كيف بتشتغل — وليش العربي بيكلّف أكتر بسببها.
الجواب المختصر
Tokenization (التقطيع) هي عملية تقسيم النص لقطع صغيرة اسمها «توكنز» (tokens)، وبعدين إعطاء كل قطعة رقم من قاموس النموذج. لأن النموذج بيتعامل مع أرقام بس، لازم النص يمرّ بهالخطوة قبل أي إشي: نص ← قطع ← أرقام ← يشتغل عليها النموذج. وطريقة التقطيع بتحدّد كم «توكن» بتاخد جملتك — وهاد بيأثر على السرعة والكلفة.
ملاحظة: هالمقالة بتشرح آلية التقطيع. إذا بدك تفهم «شو هو التوكن» نفسه وحدوده وأسعاره، اقرا: شو يعني توكن (Token)؟
ليش بنحتاجه؟ لأن النموذج بيفهم أرقام مش حروف
الكمبيوتر بالنهاية بيشتغل بأرقام. النموذج اللغوي ما عنده مفهوم «حرف» أو «كلمة» — عنده قاموس (vocabulary) فيه عشرات الآلاف من القطع، كل وحدة إلها رقم (ID). فمهمة التقطيع: تحوّل نصك لسلسلة من هالأرقام، عشان النموذج يقدر يعالجها.
بعد التقطيع، الأرقام بتتحوّل لـمتجهات (Embeddings) — وهون بيبدأ «الفهم» الرياضي للمعنى. فالتقطيع هو الجسر بين لغتك ورياضيات النموذج.
كيف بيشتغل التقطيع؟ فكرة الـ Subword
أول ما تسمع «تقطيع»، بتتخيّل إنه بيقسّم النص لكلمات. بس الحقيقة أذكى: أغلب النماذج بتقطّع لـأجزاء كلمات (subwords)، مش كلمات كاملة.
- الكلمات الشائعة (زي «the» أو «و») بتصير توكن واحد.
- الكلمات النادرة أو الطويلة بتنكسر لأجزاء. مثلاً «playing» ممكن تصير «play» + «ing».
أشهر خوارزمية لهاد اسمها BPE (Byte-Pair Encoding): بتبدأ من الحروف المفردة، وبتدمج أكتر زوج أحرف بيتكرّر مرة ورا مرة، لحد ما تبني قاموس من القطع الشائعة. هيك النموذج بيقدر يمثّل أي كلمة — حتى لو ما شافها قبل — بتركيب قطع أصغر يعرفها.
مثال محسوس
خلّينا نقطّع «الذكاء الاصطناعي»:
- كلمة إنجليزية زي «AI» ممكن تكون توكن واحد (لأنها شائعة جداً بنصوص التدريب).
- بس «الذكاء الاصطناعي» بالعربي ممكن تنكسر لـ٦ توكنز أو أكتر (الـ + ذكاء + الاصط + ناعي + …).
نفس المعنى، بس العربي أخد قطع أكتر بكتير. ليش؟ لأن أغلب المقطّعات (tokenizers) اتدرّبت على نصوص إنجليزية بالأساس، فالكلمات العربية غريبة عليها نسبياً وبتنكسر لقطع أصغر وأكتر.
ليش هاد بيهمّك؟ (السرعة والكلفة)
عدد التوكنز مش تفصيل تقني — إله أثر مباشر:
- الكلفة: خدمات الـ AI بتحسب السعر بالتوكن. نص عربي بياخد توكنز أكتر = أغلى من نفس المعنى بالإنجليزي.
- حدود الطول: نافذة السياق (Context Window) بتتقاس بالتوكنز، فالعربي بيعبّيها أسرع.
- السرعة: توكنز أكتر = معالجة أطول شوي.
هاد مش «عيب دائم» بالعربي — التقطيع بيتحسّن مع مقطّعات أحدث مدرَّبة على عربي أكتر.
أخطاء وسوء فهم شائع
- «التوكن = كلمة»: لأ — غالباً جزء كلمة (subword). كلمة وحدة ممكن تصير عدة توكنز، وكلمة شائعة ممكن تكون توكن واحد.
- «النموذج بيقرا الحروف»: لأ — بيقرا أرقام. التقطيع بيحوّل الحروف لأرقام قبل ما يشوفها النموذج.
- «التقطيع نوع من الترجمة»: لأ — ما بيغيّر المعنى ولا اللغة، بس بيقسّم ويرقّم.
- «العربي دايماً بيتقطّع سيّئ»: بيتحسّن — كل ما المقطّع يتدرّب على عربي أكتر، بيصير أكفأ وبياخد توكنز أقل.
خلاصة سريعة
- Tokenization = تقطيع النص لقطع (توكنز) ثم ترقيمها — لأن النموذج بيفهم أرقام مش حروف.
- المسار: نص ← قطع (subwords) ← أرقام (IDs) ← متجهات ← النموذج.
- الآلية الشائعة BPE: بتبني قاموس من أكتر القطع تكراراً، فتمثّل أي كلمة بتركيب قطع.
- العربي بياخد توكنز أكتر لأن المقطّعات اتدرّبت على إنجليزي غالباً — فيكلّف أكتر ويعبّي السياق أسرع.
- عدد التوكنز بيأثر على الكلفة والسرعة وحدود الطول — وبيتحسّن مع مقطّعات أحدث.
أسئلة بتوصلنا كتير
- ما معنى Tokenization (التقطيع)؟ هي عملية تقسيم النص إلى قطع صغيرة (توكنز) ثم إعطاء كل قطعة رقماً من قاموس النموذج، لأن النماذج تتعامل مع الأرقام لا الحروف؛ فهي أول خطوة لمعالجة أي نص.
- كيف يتحوّل النص إلى أرقام في الذكاء الاصطناعي؟ يُقطّع النص إلى توكنز (غالباً أجزاء كلمات)، ثم يُعطى كل توكن رقماً (ID) من قاموس النموذج، ثم تتحوّل الأرقام إلى متجهات (embeddings) ليعالجها النموذج رياضياً.
- ما الفرق بين Token و Tokenization؟ التوكن (Token) هو القطعة نفسها (وحدة النص)، أما التوكنَة/التقطيع (Tokenization) فهي العملية التي تُنتج هذه القطع وترقّمها.
- What does Tokenization mean in Arabic? بالعربي «التقطيع» أو «التوكنَة» — عملية تقسيم النص إلى قطع صغيرة (tokens) وتحويلها إلى أرقام يفهمها نموذج الذكاء الاصطناعي، وهي أول خطوة قبل معالجة أي نص.
- لماذا يستهلك النص العربي توكنز أكثر؟ لأن معظم المقطّعات دُرّبت على نصوص إنجليزية بالأساس، فتنكسر الكلمة العربية إلى قطع أصغر وأكثر — ما يرفع الكلفة ويملأ نافذة السياق أسرع.
كمّل رحلتك من هون
- شو هو التوكن نفسه (حدوده وأسعاره)؟ شو يعني توكن (Token)؟
- الخطوة اللي بعده (الأرقام → معنى): شو يعني Embedding (التضمين)؟
- الدماغ اللي بيعالج التوكنز: شو يعني LLM؟
- المحرّك الرياضي: شو يعني شبكة عصبية؟
- مصطلح مش واضح؟ قاموس «شو يعني؟»
المصادر
- Byte-pair encoding (BPE) — الخوارزمية الشائعة للتقطيع
- Lexical tokenization — مدخل عام لتقطيع النص
- الرسم التوضيحي: من إعداد «شو في AI؟»