المستوى: مبتدئ · الدرس 2 من 14
أهداف الدرس
- أن تفهم كيف يتحوّل النص إلى أرقام.
- أن تعرف لماذا تكلّف العربية رموزاً أكثر أحياناً.
لا يقرأ النموذج حروفاً ولا كلمات، بل رموزاً: قطعاً يقسّم إليها النصَّ مقطِّعٌ تعلّم الأجزاء الأكثر تكراراً. ثم يتحوّل كل رمز إلى تضمين: قائمة أرقام تمثّل معناه، فتتقارب المعاني المتشابهة.
نقيس تقارب معنيين بـ«تشابه جيب التمام»: قريب من 1 للمعنيين المتشابهين، وأقل للمختلفين.
import numpy as np
def cosine(a, b):
return float(a @ b / (np.linalg.norm(a) * np.linalg.norm(b)))
# Toy 4-number "meanings"
teacher = np.array([0.9, 0.1, 0.8, 0.2])
lecturer = np.array([0.85, 0.15, 0.75, 0.3])
banana = np.array([0.1, 0.9, 0.05, 0.7])
print(round(cosine(teacher, lecturer), 2)) # 0.99 — similar meaning
print(round(cosine(teacher, banana), 2)) # 0.26 — unrelatedالنموذج الذي تدرّب على العربية قليلاً يقطّع الكلمة العربية إلى رموز كثيرة، فتصير الإجابة أبطأ وأغلى وأضعف. اختر نموذجاً يحسن العربية.
تمرين
لماذا نستعمل التضمينات في البحث بدل مطابقة الكلمات؟
الإجابة
لأنها تجد المعنى نفسه بكلمات مختلفة: «موعد التسجيل» تجد «متى يبدأ التسجيل».
Level: Beginner · Lesson 2 of 14
Lesson goals
- Understand how text becomes numbers.
- Know why Arabic sometimes costs more tokens.
A model reads neither letters nor words but tokens: pieces a tokenizer cuts text into, learned from the most frequent fragments. Each token then becomes an embedding: a list of numbers standing for its meaning, so similar meanings sit close together.
We measure how close two meanings are with «cosine similarity»: near 1 for similar meanings, lower for different ones.
import numpy as np
def cosine(a, b):
return float(a @ b / (np.linalg.norm(a) * np.linalg.norm(b)))
# Toy 4-number "meanings"
teacher = np.array([0.9, 0.1, 0.8, 0.2])
lecturer = np.array([0.85, 0.15, 0.75, 0.3])
banana = np.array([0.1, 0.9, 0.05, 0.7])
print(round(cosine(teacher, lecturer), 2)) # 0.99 — similar meaning
print(round(cosine(teacher, banana), 2)) # 0.26 — unrelatedA model trained on little Arabic cuts an Arabic word into many tokens, so answers get slower, costlier and weaker. Choose a model that is good at Arabic.
Exercise
Why use embeddings for search instead of matching words?
Answer
They find the same meaning in different words: «registration date» finds «when does registration start».
التعليقات / Comments
لا تعليقات بعد. كن أول من يسأل. / No comments yet. Be the first to ask.