Regular Expressions (Regex)
Definition
طريقة لكتابة pattern للبحث عن نصوص
أمثلة:
/[a-z]/ أي حرف صغير
/[0-9]/ أي رقم
/d/ أي digit
Use cases
Search engines
Text editors (find & replace)
Lexical analysis
Tokenization
تقسيم النصوص إلى:
Words (word-based)
Characters (character-based)
Subwords (subword-based: مثل BPE, WordPiece)
Normalization
توحيد شكل النصوص
Lowercasing: تحويل كل الحروف لصغيرة
Removing punctuation: حذف علامات الترقيم
Stopwords Removal: حذف كلمات شائعة زي “the, and”
Stemming vs Lemmatization:
Stemming
إزالة النهايات للحصول على الجذر (غالبًا مش كلمة حقيقية).
مثال:
fishing → fish
policies → polici ❌
Lemmatization
يرجع الكلمة لشكلها القاموسي (كلمة حقيقية).
مثال:
am, are, is → be
better → good
Minimum Edit Distance
هو أقل عدد من التعديلات لتحويل string لـ string تانية.
العمليات:
Insertion (إضافة) = 1
Deletion (حذف) = 1
Substitution (استبدال) = 1 أو 2 حسب النوع.
Levenshtein Distance
شكل خاص من Edit Distance:
Insertion/Deletion cost = 1
Substitution cost = 1
مثال:
- intention → execution
Edit Distance = 5
Dynamic Programming for Edit Distance
بنبني جدول (matrix) D[i,j]:
كل خلية = أقل cost بين:
حذف (delete)
إضافة (insert)
استبدال (substitute)
النتيجة النهائية = D[n,m]
Algorithms
Porter Stemmer: سريع وبسيط، لكن ممكن يرجع كلمات مش حقيقية
Krovetz Stemmer: أبطأ لأنه بيستخدم قاموس، لكنه بيرجع كلمات حقيقية
BPE (Byte-Pair Encoding): يكسر الكلمات الكبيرة لقطع أصغر (subwords)
الزتونة النهائية
Regex → للبحث في النصوص.
Tokenization & Normalization → تجهيز النصوص للمعالجة.
Stemming & Lemmatization → تقليل الكلمات للجذور.
Edit Distance → قياس التشابه بين النصوص.
Dynamic Programming → الحل الأمثل لحساب edit distance.
Module 1 | Introduction to NLP
Module 3 | N-gram Language Models
Introduction (How to study DS483)
Module 1 | Introduction to NLP
Module 3 | N-gram Language Models
Module 4.1 | Text Classification: Naive Bayes and Logistic Regression Part I
Module 4.2 | Text Classification: Naive Bayes and Logistic Regression Part II
Module 5 | Vector Semantics and Embeddings
Module 6 | Neural Networks
Module 7 | RNNs and LSTMs
Module 8 | Transformers
Module 9 | Large LM & Masked LM
Module 10 | Sequence Labeling for Parts of Speech and Named Entities
Module 11 | Context-Free Grammars & Dependency Parsing
Module 12 | Machine Translation
Module 13 | Chatbots & Dialogue Systems
Midterm Revision
Final Revision