متى تستخدم ماذا
| المهمة | المعالجة المسبقة |
|---|---|
| BERT/Transformers | استخدم مُقطّعها فقط |
| TF-IDF + ML الكلاسيكي | تحويل لأحرف صغيرة، إزالة الكلمات الشائعة، الليمة |
| FastText | الحد الأدنى (يتعامل مع الكلمات الفرعية) |
| العربية | تطبيع الألف/الهمزة، إزالة التشكيل |
| الفرنسية | معالجة اللكنات والإدغامات (l', d') |
خط أنابيب عام
import re
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer
def preprocess(text, language='english'):
text = text.lower().strip()
text = re.sub(r'http\S+', '', text) # Remove URLs
text = re.sub(r'[^a-zA-Z0-9\s]', '', text) # Remove special chars
tokens = word_tokenize(text)
lemmatizer = WordNetLemmatizer()
tokens = [lemmatizer.lemmatize(t) for t in tokens if len(t) > 2]
return ' '.join(tokens)
لـ BERT: ثِق بالمُقطّع
يتعامل WordPiece في BERT مع حالة الأحرف والكلمات الفرعية والرموز الخاصة. لا تطبّق معالجة مسبقة مخصصة — فذلك يضر بالأداء.