نماذج اللغة2014متوسط12 دقيقة قراءة

GloVe: متجهات شاملة لتمثيل الكلمات

GloVe: Global Vectors for Word Representation

Pennington, J. · Socher, R. · Manning, C. D. — EMNLP

المشكلة

حتى عام 2014 كان مجال الكلمات منقسماً إلى مدرستين، كل واحدة ترى نصف الصورة فقط. المدرسة الأولى — مدرسة العدّ مثل LSA — تبني جدولاً ضخماً يسجّل كم مرة ظهرت كل كلمتين معاً في المتن كلّه، ثم تضغطه بتجزئة المصفوفات. هذا يعطيها رؤية شاملة للإحصاءات، لكن متجهاتها كانت ضعيفة في اختبارات القياس مثل «ملك − رجل + امرأة». المدرسة الثانية — مدرسة التنبؤ مثل skip-gram في Word2Vec — تتدرّب على نوافذ سياق صغيرة وتتفوّق في هذه الاختبارات، لكنها لا ترى الصورة الكبيرة لأنماط . لم يكن هناك يجمع بين قوة الطرفين، ولم يفسّر أحد لماذا تنجح عملية «ملك − رجل + امرأة ≈ ملكة» من الأساس.

الإسهام

GloVe نموذج انحدار لوغاريتمي ثنائي الخطّية يتدرّب على الخانات غير الصفرية في التواجد المشترك بين الكلمات، باستخدام دالة هدف من نوع المربعات الصغرى الموزونة. الرؤية المحورية أن المعنى لا يكمن في الأعداد الخام، بل في نسب احتمالات التواجد المشترك. بناءً على ذلك، اشتقّت الورقة دالة هدف تعطي كل كلمة َين (للكلمة وللسياق)، ويكون بينهما مع حدود الانحياز مقارباً للوغاريتم عدد التواجد. دالة ترجيح ذكية تُخفّض أثر الأزواج النادرة وتكبح هيمنة الأزواج شديدة التكرار. المحصّلة: متجهات تُعبّر فروقاتها عن علاقات المعنى، وحققت 75% في اختبار القياس بالتشابه ونتائج رائدة في تشابه الكلمات والتعرّف على الكيانات المُسمّاة.

الأثر

على مدى نصف عقد، كان GloVe أحد الخيارين المعياريّين لتضمين الكلمات المُدرَّبة مسبقاً (مع Word2Vec) في معالجة اللغة الطبيعية. متجهاته المُدرَّبة (على 6 و42 و840 مليار رمز) لا تزال تُحمَّل ملايين المرات. لكن الأثر الأعمق هو أن GloVe أثبت أن العدّ والتنبؤ وجهان لعملة واحدة — skip-gram يُجزّئ ضمنياً مصفوفة PMI. هذا التوحيد رسم مسار أبحاث التضمين كلّها بعده: من FastText إلى ELMo، بل حتى طبقات التضمين داخل المحوِّلات تعود جذورها المفاهيمية إلى تحليل GloVe.

تخيّل فهرس بطاقات في مكتبة ضخمة: لكل كلمة بطاقة، وعلى كل بطاقة عدّاد يسجّل كم مرة ظهرت هذه الكلمة بجوار كل كلمة أخرى.

LSA يأخذ الفهرس كاملاً ويضغطه بمكبس (تفكيك القيمة المفردة SVD) — تحصل على ملخص مركّز لكن تضيع الحكايات الصغيرة عن جيران كل كلمة.

Word2Vec لا يفتح الفهرس أصلاً. يلعب لعبة تخمين: يُخفي كلمة ويحاول توقّع جيرانها من نافذة صغيرة. يتعلّم الأنماط حارة بحارة لكنه لا يملك خريطة المدينة.

GloVe يقرأ الفهرس كاملاً ويلعب لعبة التخمين معاً. يكتشف أن نسبة ظهور «جليد» مقابل «بخار» بجوار «صلب» تكشف المعنى أفضل من الأرقام الخام. ثم يضغط الفهرس في قوائم أرقام قصيرة — متجهات — فتصبح العمليات الحسابية على المتجهات مرآةً للعمليات الحسابية على المعاني.

عالَمان منفصلان: العدّ مقابل التنبؤ

قبل GloVe، كان عالم تضمين الكلمات منقسماً إلى معسكرين واضحين.

أساليب العدّ (مثل LSA وHAL) تبني مصفوفة ضخمة: الخانة في الصف ii والعمود jj تحفظ كم مرة ظهرت الكلمة ii قرب الكلمة jj في المتن كلّه. بعدها تُطبّق — غالباً SVD — لضغطها في متجهات كثيفة. الميزة أنها ترى المتن دفعة واحدة فتلتقط الإحصاءات الشاملة جيداً. المشكلة أن متجهاتها كانت ضعيفة في اختبار القياس بالتشابه (ملك − رجل + امرأة ≈ ملكة) الذي صار المعيار الذهبي.

الأساليب التنبؤية ( و في Word2Vec) لا تبني مصفوفة أصلاً. تُمرّر نافذة صغيرة على النص وتُدرّب ضحلة للتنبؤ بكلمات السياق من (أو العكس). تفوّقت في اختبارات القياس والتقطت انتظامات دلالية دقيقة، لكنها لا ترى إلا نوافذ محلية — ليس لديها وسيلة لاستثمار أنماط التواجد المشترك على المستوى الشامل.

السؤال الذي طرحه GloVe كان ببساطة: هل يمكن الجمع بين قوة الطرفين؟

افتح في المختبر
على اليسار: أساليب العدّ تبني مصفوفة التواجد المشترك كاملةً ثم تضغطها. على اليمين: الأساليب التنبؤية تتعلّم من نوافذ محلية. GloVe يدمج الطريقتين.
تستيقظ التجربة عند وصولك…

الفكرة المحورية: النسب لا الأعداد الخام

ينطلق GloVe من ملاحظة بسيطة لكنها بالغة القوة. خُذ كلمتين مستهدفتين — «جليد» و«بخار» — وراقب كيف تتصرّفان مع كلمات سياق مختلفة. الاحتمالات الخام وحدها مشوّشة: كلمة «ماء» تظهر مع كليهما، وكلمة «أزياء» لا تظهر مع أيّ منهما، فلا هذه ولا تلك تخبرك بشيء مفيد عن الفرق بين الجليد والبخار.

لكن حين تأخذ النسبة P(صلبجليد)/P(صلببخار)P(\text{صلب}|\text{جليد}) / P(\text{صلب}|\text{بخار})، تجدها كبيرة جداً (≫ 1)، لأن «صلب» مرتبطة بالجليد تحديداً. وبالعكس، P(غازجليد)/P(غازبخار)P(\text{غاز}|\text{جليد}) / P(\text{غاز}|\text{بخار}) صغيرة جداً (≪ 1)، لأن «غاز» مرتبطة بالبخار. أما كلمات مثل «ماء» و«أزياء» فنسبتها تدور حول 1 — لا تميّز شيئاً.

هذه النسبة هي مفتاح المعنى — و GloVe مبنية بحيث تلتقط فروقات المتجهات هذه النسب بالضبط.

افتح في المختبر
استكشف كيف تفصل نسب احتمالات التواجد المشترك كلمات السياق المميّزة عن غير المميّزة.
تستيقظ التجربة عند وصولك…

من النسب إلى المتجهات: اشتقاق دالة الهدف

يبدأ اشتقاق GloVe من مطلب واضح: نريد دالة FF تربط متجهات الكلمات بنسبة التواجد المشترك. بمعنى أنه للكلمتين ii وjj وكلمة السياق kk:

F(wiwj,w~k)=PikPjkF(w_i - w_j, \tilde{w}_k) = \frac{P_{ik}}{P_{jk}}

الفكرة أن الفرق wiwjw_i - w_j يعبّر عن بين الكلمتين، والدالة FF تحوّل هذا التباين (مع w~k\tilde{w}_k) إلى نسبة احتمالي تواجدهما. كأنك تسأل: ما الذي يميّز الكلمة ii عن jj من منظور السياق kk؟

بفرض سلسلة من القيود الرياضية — أبرزها أن تكون FF تشاكلاً يربط الجمع في بالضرب في فضاء الاحتمالات — يصل المؤلفون إلى أن الحل الوحيد هو:

wiTw~k=log(Xik)bib~kw_i^T \tilde{w}_k = \log(X_{ik}) - b_i - \tilde{b}_k

بكلام مباشر: الضرب النقطي بين متجه الكلمة ومتجه السياق يجب أن يقارب لوغاريتم عدد التواجد المشترك، بعد طرح حدود تمتص أثر تفاوت التكرار العام بين الكلمات.

J=i,j=1Vf(Xij)(wiTw~j+bi+b~jlogXij)2J = \sum_{i,j=1}^{V} f(X_{ij}) \left( w_i^T \tilde{w}_j + b_i + \tilde{b}_j - \log X_{ij} \right)^2
دالة هدف GloVe بالمربعات الصغرى الموزونة — دالة التكلفة الكاملةنجمع على كل أزواج الكلمات التي لوحِظ تواجدها معاً: نحسب مربع الفرق بين لوغاريتم التواجد الذي يتوقعه النموذج (الضرب النقطي + الانحيازات) ولوغاريتم التواجد الفعلي، ونُرجّح كل زوج بالدالة f(Xij)f(X_{ij}) التي تكبح الأزواج النادرة وفائقة التكرار معاً. VV حجم المفردات، XijX_{ij} عدد التواجد المشترك، wiw_i وw~j\tilde{w}_j متجها الكلمة والسياق، وbib_i وb~j\tilde{b}_j حدّا الانحياز.

دالة الترجيح: ترويض الأزواج النادرة والمتكررة

ليست كل أعداد التواجد المشترك متساوية في قيمتها. زوج كلمات ظهر مرة واحدة قد يكون مجرد ، وزوج ظهر مليون مرة (مثل «الـ» + «من») يطغى على إن أعطيناه الوزن نفسه. يعالج GloVe هذا بدالة ترجيح f(x)f(x) لها ثلاث خصائص:

  • f(0)=0f(0) = 0: إذا لم يتواجد الزوج أصلاً، لا يدخل في الحساب.
  • f(x)f(x) غير متناقصة: كلما زاد تكرار الزوج زاد وزنه، لكن إلى حدّ معيّن.
  • f(x)f(x) تتشبّع عند سقف xmaxx_{\max}: بعد هذه العتبة (عادةً 100) يثبت الوزن عند 1 — فلا تهيمن الأزواج فائقة التكرار.

الصيغة المختارة دالة مُجزَّأة: تحت xmaxx_{\max} ينمو الوزن وفق (x/xmax)α(x / x_{\max})^\alpha مع α=0.75\alpha = 0.75، وفوقها يُثبَّت عند 1. معنى الأس دون الخطّي أن مضاعفة عدد التواجد لا تضاعف الوزن بل ترفعه نحو 68% فقط — وهذا يكبح الكلمات شديدة الشيوع من احتكار .

f(x)={(x/xmax)αif x<xmax1otherwisef(x) = \begin{cases} (x / x_{\max})^\alpha & \text{if } x < x_{\max} \\ 1 & \text{otherwise} \end{cases}
دالة الترجيح — منحنى دون خطّي بسقف ثابتتحت xmaxx_{\max} (عادةً 100) يتصاعد الوزن بشكل دون خطّي (α=0.75\alpha = 0.75). فوق xmaxx_{\max} يثبت عند 1. الهدف منع أزواج مثل («الـ»، «من») من الهيمنة على دالة الهدف.
افتح في المختبر
حرّك شريط α لترى كيف يتغيّر منحنى الترجيح. عند α = 0.75، الأزواج الشائعة تُخفَّض بلطف مقارنةً بالمنحنى الخطّي.
تستيقظ التجربة عند وصولك…

بناء مصفوفة التواجد المشترك

قبل أن يبدأ التدريب، يحتاج GloVe لبناء المصفوفة الشاملة XX. الطريقة: نُمرّر نافذة بحجم LL (عادةً 10 كلمات على كل جانب) على المتن بأكمله. لكل كلمة مركزية، كل كلمة سياق داخل النافذة تضيف إلى XijX_{ij} — لكن بحيلة ذكية: الكلمات الأبعد تُساهم بأقل. كلمة على بُعد dd مواضع تُضيف 1/d1/d فقط، فالجار المباشر يُضيف 1، والذي يليه يُضيف 0.5، وهكذا.

هذا الترجيح بالمسافة يجعل المصفوفة لا تسجّل فقط هل ظهرت كلمتان معاً، بل ما مدى قربهما حين ظهرتا. المصفوفة الناتجة متناظرة (Xij=XjiX_{ij} = X_{ji}) ومُتناثرة — معظم أزواج الكلمات لا تلتقي أبداً، فلا نخزّن ولا نعالج إلا الخانات غير الصفرية. هذا يمنح GloVe ميزة سرعة واضحة مقارنةً بأساليب تمرّ على كل خلية أو كل .

افتح في المختبر
شاهد كيف تمتلئ مصفوفة التواجد المشترك بينما تنزلق النافذة على جملة نموذجية. الكلمات الأقرب تحصل على أعداد أعلى.
تستيقظ التجربة عند وصولك…

التدريب: نزول التدرُّج العشوائي على المصفوفة

بعد بناء المصفوفة، يصبح التدريب مباشراً. لكل كلمة في نُخصّص متجه كلمة wiw_i وانحياز bib_i، إضافةً إلى متجه سياق منفصل w~j\tilde{w}_j وانحياز b~j\tilde{b}_j. يسحب النموذج عيّنات عشوائية من الخانات غير الصفرية في XX ويحدّث بـ على خسارة المربعات الصغرى الموزونة.

نقطة لافتة: GloVe يحتفظ بـمجموعتين من المتجهات — واحدة للكلمات وواحدة للسياق. بعد التدريب، كلتاهما تحملان معلومات مفيدة. التضمين النهائي هو مجموعهما: wi+w~iw_i + \tilde{w}_i. هذا المجموع يتفوّق دائماً على أيّ مجموعة وحدها، لأن متجهَي الكلمة والسياق يلتقطان منظورين مختلفين قليلاً — وجمعهما يُنعّم الضجيج ويعطي أغنى.

التعقيد الحسابي يتناسب مع O(C0.8)O(|C|^{0.8}) حيث C|C| حجم المتن — أفضل من أسوأ الحالات ومنافس للأساليب القائمة على النوافذ.

لماذا ملك − رجل + امرأة = ملكة؟

أشهر ما يميّز هو القياس بالتشابه: wملكwرجل+wامرأةwملكةw_{\text{ملك}} - w_{\text{رجل}} + w_{\text{امرأة}} \approx w_{\text{ملكة}}. GloVe لا يكتفي بإظهار هذه الخاصية، بل يفسّر لماذا تحدث.

بما أن wiTw~klogP(ki)w_i^T \tilde{w}_k \approx \log P(k|i)، فإن: wملكTw~kwرجلTw~klogP(kملك)P(kرجل)w_{\text{ملك}}^T \tilde{w}_k - w_{\text{رجل}}^T \tilde{w}_k \approx \log\frac{P(k|\text{ملك})}{P(k|\text{رجل})}. هذه النسبة تعزل مكوّن «المُلك». حين نضيف wامرأةw_{\text{امرأة}} نُعيد مكوّن «الأنوثة». النتيجة متجه أقرب ما يكون إلى «ملكة»، لأن ملكة = مُلك + أنوثة.

الفكرة الجوهرية: الحساب على المتجهات ينجح لأن دالة الهدف هي أصلاً لوغاريتم نسب الاحتمالات، واللوغاريتم يحوّل القسمة إلى طرح. القياس بالتشابه ليس صدفة سعيدة — هو نتيجة حتمية للدالة نفسها.

افتح في المختبر
جرّب استعلامات قياس مختلفة. المتجهات تشفّر العلاقات كاتجاهات في الفضاء: اتجاه «الجنس»، اتجاه «العاصمة»، إلخ.
تستيقظ التجربة عند وصولك…

التوحيد: نموذج التخطّي تجزئة ضمنية للمصفوفات

لعلّ أعمق ما قدّمه GloVe هو إثباته أن أساليب العدّ والأساليب التنبؤية ليست مختلفة في جوهرها. تُبيّن الورقة أن نموذج التخطّي مع (SGNS) يُجزّئ ضمنياً مصفوفة كلمة-سياق عناصرها هي المُزاحة:

wiTw~jPMI(i,j)logkw_i^T \tilde{w}_j \approx \text{PMI}(i,j) - \log k

حيث kk عدد . GloVe يجعل هذه التجزئة صريحة ويستبدل التدريب العشوائي المشوّش في التخطّي بانحدار مربعات صغرى موزون ومنضبط على المصفوفة الكاملة.

أثر هذا التوحيد كان كبيراً: أصبح بإمكان الباحثين تحليل العائلتين بالأدوات الرياضية ذاتها. لاحقاً عمّق ليفي وغولدبرغ (2014) هذا الرابط، وأظهرا أن كثيراً من الفروقات الظاهرية بين الأساليب ترجع إلى اختيارات لا إلى اختلافات بنيوية حقيقية.

النتائج: القياس بالتشابه والتشابه اللفظي والتعرّف على الكيانات

اختُبر GloVe على ثلاثة معايير قياسية:

  • القياس بالتشابه (مجموعة Google، 19,544 سؤالاً): حقّق GloVe دقة 75% بمتجهات من 300 بُعد مُدرَّبة على 42 مليار رمز — أفضل نتيجة وقتها، متفوّقاً على skip-gram وCBOW والأساليب القائمة على SVD.
  • تشابه الكلمات (WordSim-353 وMEN وغيرها): طابقَ GloVe الأساليب السائدة أو تجاوزها، مما يؤكد أن متجهاته تلتقط التشابه الدلالي بكفاءة.
  • التعرّف على الكيانات المُسمّاة (CoNLL-2003): حين استُخدمت متجهات GloVe كمدخلات لنظام CRF، تحسّنت درجة F1 — دليل عملي على أن المتجهات تنقل معلومات مفيدة للمهام التطبيقية وليس فقط للاختبارات الذاتية.

درس المؤلفون كذلك أثر المعاملات الفوقية: المتون الأكبر، والمتجهات الأطول (حتى 300 بُعد)، والنوافذ المتناظرة كلها رفعت الأداء. واختيار بيانات التدريب مهم: الجمع بين ويكيبيديا وGigaword أعطى نتائج أفضل من أيّ منهما وحده.

افتح في المختبر
قارن أداء GloVe مع نموذج التخطّي وتفكيك القيمة المفردة عبر ثلاث فئات معيارية.
تستيقظ التجربة عند وصولك…

استخدام متجهات GloVe عملياً

تحميل متجهات GloVe المُدرَّبة مسبقاً واختبار القياس بالتشابهpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import numpy as np
# تحميل متجهات GloVe المُدرَّبة (50 بُعداً للتوضيح) def load_glove(path):
    """قراءة ملف glove.6B.50d.txt في قاموس {كلمة: متجه}."""
    vectors = {}
    with open(path, encoding='utf-8') as f:
        for line in f:
            parts = line.split()
            word = parts[0]
            vec = np.array(parts[1:], dtype=np.float32)
            vectors[word] = vec
    return vectors

glove = load_glove('glove.6B.50d.txt')
# القياس: ملك - رجل + امرأة ≈ ؟ def analogy(a, b, c, vecs, top_k=5):
    """حل: a بالنسبة لـ b كـ c بالنسبة لـ ؟"""
    query = vecs[b] - vecs[a] + vecs[c]
    # تشابه جيب التمام مع كل كلمة
    scores = {w: np.dot(query, v) / (np.linalg.norm(query) * np.linalg.norm(v))
              for w, v in vecs.items() if w not in {a, b, c}}
    return sorted(scores, key=scores.get, reverse=True)[:top_k]

print(analogy('man', 'king', 'woman', glove)) # المتوقع: ['queen', 'princess', 'monarch', ...]

الإرث والأثر

أرسى GloVe مبدأين بقي أثرهما. الأول: تجزئة المصفوفات الصريحة والتنبؤ العصبي الضمني يصلان إلى النتيجة الرياضية نفسها — توحيد أوضح مجال الدلالات التوزيعية بأكمله. الثاني: النموذج البسيط مع دالة هدف محكَمة يستطيع منافسة البنى المعقدة أو التفوّق عليها — تذكيرٌ بأن الانحياز الاستقرائي أهم من تعقيد النموذج.

من 2014 إلى 2018، كانت متجهات GloVe المُدرَّبة مسبقاً هي التهيئة الافتراضية لمعظم نماذج معالجة اللغة الطبيعية، قبل أن تحلّ التضمينات السياقية (ELMo وBERT) محلّ المتجهات الثابتة. ومع ذلك، البصمة الفكرية لـ GloVe لا تزال حاضرة: طبقات التضمين في تتعلّم تجزئة مشابهة، وأنظمة الاسترجاع الحديثة لا تزال تعتمد على تشابه الضرب النقطي الذي أسّسه GloVe.

  1. 2013

    Word2Vec

    قدّم ميكولوف وزملاؤه نموذج التخطّي وكيس الكلمات المستمر — تضمينات تنبؤية نشرت فكرة القياس بالتشابه والحساب الدلالي على المتجهات.

  2. 2014

    نشر GloVe

    وحّد بنينغتون وسوشر ومانينغ بين مدرستَي العدّ والتنبؤ. متجهات مُدرَّبة على 6 و42 و840 مليار رمز أصبحت معياراً أساسياً في معالجة اللغة الطبيعية.

  3. 2014

    تحليل ليفي وغولدبرغ

    أثبتا رسمياً العلاقة بين نموذج التخطّي وتجزئة مصفوفة المعلومات المتبادلة النقطية، ودعما فرضية التوحيد التي طرحها GloVe ببراهين رياضية صارمة.

  4. 2016

    FastText

    طوّر Word2Vec بتمثيل كل كلمة كمجموعة من n-gram على مستوى الأحرف، فتعامَل مع مشكلات الصرف والكلمات الجديدة خارج المفردات، لكنه بقي يعتمد متجهات ثابتة كـ GloVe.

  5. 2018

    ELMo — تضمينات سياقية

    أثبت بيترز وزملاؤه أن الكلمة الواحدة تحتاج متجهات مختلفة حسب سياقها. بنى ELMo شبكات LSTM عميقة ثنائية الاتجاه على مستوى الأحرف، فدخلت المتجهات الثابتة (GloVe وWord2Vec) مرحلة الإرث.

  6. 2025

    إصدار متجهات GloVe 2024

    أصدرت ستانفورد متجهات GloVe محدَّثة مُدرَّبة على متن Dolma (220 مليار رمز)، دليل على أن النموذج لا يزال صالحاً بعد عقد كامل حين يُراد تمثيلات كلمات خفيفة وقابلة للتفسير.

لنصف عقد كامل، كانت متجهات GloVe المُدرَّبة مسبقاً الركيزة الصامتة لمعالجة اللغة الطبيعية. كل ، وكل نظام ، وكل بين 2014 و2018 كان يبدأ غالباً بتضمينات GloVe أو Word2Vec. عصر المتجهات الثابتة ربما مضى، لكن الرؤية الرياضية — أن نسب التواجد المشترك تشفّر المعنى، وأن العدّ والتنبؤ هما الشيء نفسه — لا تزال أساساً يُبنى عليه.

المرجعPennington, J., Socher, R., & Manning, C. D.. GloVe: Global Vectors for Word Representation. EMNLP, 2014.

مصطلحات هذه الورقة