GloVe
GloVe (Global Vectors)
تضمينات من إحصاءات التواجد المشترك العامة: الفكرة والصيغة والمقارنة مع Word2Vec.
الفكرة
النسب بين احتمالات التواجد المشترك تحمل المعنى. مثلاً «جليد» يظهر مع «صلب» أكثر من «بخار»، و«بخار» يظهر مع «غاز» أكثر، بينما يظهر الاثنان بنسبة متقاربة مع «ماء». GloVe يصمم التضمينات بحيث تعكس هذه النسب.
دالة الهدف
$$J = \sum_{i,j} f(X_{ij})\left(\mathbf{w}_i^\top \tilde{\mathbf{w}}_j + b_i + \tilde{b}_j – \log X_{ij}\right)^2$$
حيث \(X_{ij}\) عدد مرات تواجد الكلمتين معاً، و\(f\) دالة وزن تحد من أثر الأزواج النادرة والشائعة جداً.
استخدام متجهات جاهزة
ملفات GloVe نصية: كل سطر كلمة متبوعة بقيم المتجه.
import numpy as np
def load_glove(path, limit=None):
vecs = {}
with open(path, encoding="utf-8") as f:
for i, line in enumerate(f):
if limit and i >= limit:
break
word, *vals = line.rstrip().split(" ")
vecs[word] = np.asarray(vals, dtype=np.float32)
return vecs
# glove = load_glove("glove.6B.100d.txt") # بعد تنزيله من صفحة المشروعالمتجهات الرسمية المنشورة إنجليزية. للعربية تتوفر متجهات fastText مدربة على ويكيبيديا وCommon Crawl بلغات كثيرة منها العربية، ويمكن أيضاً تدريب GloVe أو Word2Vec على مجموعة عربية خاصة.
مقارنة
| Word2Vec | GloVe | fastText | |
|---|---|---|---|
| المصدر | نوافذ محلية | إحصاءات عامة | نوافذ محلية + n-grams حرفية |
| الكلمات خارج المعجم | لا | لا | نعم (من أجزائها) |
| مناسبة للعربية | جيدة | جيدة | مناسبة جداً للصرف الغني |
الموقع اليوم
التضمينات الثابتة خفيفة وسريعة ومفيدة للموارد المحدودة، لكن التضمينات السياقية من المحوّلات تتفوق عليها في معظم مهام الفهم.
مصطلحات الدرس
- GloVe Global Vectors for Word Representation
- طريقة لتعلم تضمينات الكلمات بمطابقة الضرب النقطي للمتجهات مع لوغاريتم إحصاءات التواجد المشترك.
- مصفوفة التواجد المشترك Co-occurrence Matrix
- مصفوفة تسجل عدد مرات ظهور كل زوج من الكلمات معاً ضمن نافذة سياق في المجموعة النصية.
الملخص
GloVe الذي قدمه Pennington وSocher وManning عام 2014 يتعلم تضمينات الكلمات من مصفوفة التواجد المشترك العامة للمجموعة النصية، بحيث يقترب الضرب النقطي لمتجهي كلمتين من لوغاريتم عدد مرات تواجدهما معاً. يجمع بين مزايا طرق تحليل المصفوفات العامة وطرق النوافذ المحلية مثل Word2Vec، وتتوفر له متجهات مدربة مسبقاً على مجموعات إنجليزية كبيرة.
أسئلة مراجعة
-
ما الفرق الجوهري بين GloVe وWord2Vec؟
GloVe يتعلم من إحصاءات التواجد المشترك العامة المحسوبة مسبقاً، وWord2Vec يتعلم من نوافذ سياق محلية بالتنبؤ.
-
لماذا تُستخدم دالة وزن في هدف GloVe؟
لتقليل أثر الأزواج النادرة جداً المليئة بالضوضاء ومنع الأزواج الشائعة جداً من الهيمنة.
المصادر والمراجع
إكمال الدرس
أكملت كل دروس المسار! يمكنك الآن طلب شهادة إكمال المسار.
اطلب الشهادة