" كل شيء يخفي نمطًا يمثل جزءًا من الكون. تتميز بالتناغم والأناقة والجمال - وهي الصفات التي يفهمها كل فنان حقيقي يلتقط العالم. يمكن اكتشاف هذا النمط في تغيير الفصول ، وكيف يتدفق الرمل على طول المنحدر ، في الفروع المتشابكة لشجيرة الكريوزوت ، في نمط أوراقها.
نحن نحاول نسخ هذا النمط في حياتنا ومجتمعنا وبالتالي نحن نحب الإيقاع والغناء والرقص ، وأشكال مختلفة تجعلنا سعداء وراحة لنا. ومع ذلك ، يمكن للمرء أيضا أن يكتشف الخطر الذي يكمن في البحث عن الكمال المطلق ، لأنه من الواضح أن النموذج المثالي لم يتغير. ومع اقتراب الكمال ، كل شيء يذهب حتى الموت "- الكثيب (1965)
وأعتقد أن مفهوم حفلات الزفاف هي واحدة من أكثر الأفكار الرائعة في التعلم الآلي. إذا كنت قد استخدمت في أي وقت مضى Siri أو Google Assistant أو Alexa أو Google Translate أو حتى لوحة مفاتيح هاتف ذكي مع التنبؤ بالكلمة التالية ، فأنت قد عملت بالفعل مع نموذج معالجة اللغة الطبيعية المستند إلى المرفقات. على مدار العقود الماضية ، شهد هذا المفهوم تطوراً ملحوظاً للنماذج العصبية (تشمل التطورات الحديثة زخارف الكلمات ذات السياق في النماذج المتقدمة مثل
BERT و GPT2).
Word2vec هي طريقة فعالة لإنشاء الاستثمار تم تطويرها في عام 2013. بالإضافة إلى العمل مع الكلمات ، كانت بعض مفاهيمه فعالة في تطوير آليات التوصية وإعطاء معنى للبيانات حتى في المهام التجارية ، غير اللغوية. تم استخدام هذه التكنولوجيا من قبل شركات مثل
Airbnb و
Alibaba و
Spotify و
Anghami في محركات التوصية الخاصة بهم.
في هذه المقالة ، سوف نلقي نظرة على مفهوم وميكانيكا إنشاء المرفقات باستخدام word2vec. لنبدأ بمثال لتتعرف على كيفية تمثيل الكائنات في شكل متجه. هل تعرف كم يمكن لقائمة من خمسة أرقام (متجه) أن تقول عن شخصيتك؟
التخصيص: ما أنت؟
"أنا أعطيك الحرباء الصحراوية ؛ سوف تخبرك قدرته على الاندماج بالرمل بكل ما تحتاج لمعرفته حول جذور البيئة وأسباب الحفاظ على شخصيتك ". - أطفال الكثيب
على مقياس من 0 إلى 100 ، هل لديك نوع من أنواع الانطوائي أو المنفتح (حيث أن 0 هو أكثر أنواع الانطواء و 100 هو أكثر أنواع المنفتح)؟ هل سبق لك اجتياز اختبار الشخصية: على سبيل المثال ، MBTI ، أو الأفضل من ذلك
، الخمسة الكبار ؟ يتم إعطاؤك قائمة من الأسئلة ومن ثم يتم تقييمها على عدة محاور ، بما في ذلك الانطواء / الانبساط.
مثال على نتائج اختبار الخمسة الكبار. إنه يقول الكثير عن الشخصية ويمكنه التنبؤ بالنجاح الأكاديمي والشخصي والمهني . على سبيل المثال ، هنا يمكنك الذهاب من خلال ذلك.لنفترض أنني سجلت 38 من أصل 100 لتقييم الانطواء / الانبساط. يمكن تمثيل ذلك على النحو التالي:
أو على مقياس من to1 إلى +1:
إلى أي مدى نتعرف على شخص فقط من خلال هذا التقييم؟ ليس حقا البشر مخلوقات معقدة. لذلك ، نضيف بُعدًا واحدًا آخر: سمة أكثر من الاختبار.
يمكنك أن تتخيل هذين البعدين كنقطة على الرسم البياني ، أو حتى أفضل ، كمتجه من الأصل إلى هذه النقطة. هناك أدوات مكافحة ناقلات كبيرة تأتي في متناول اليد في وقت قريب جدا.لا أعرض سمات السمات التي نضعها على الرسم البياني حتى لا تصبح مرتبطًا بسمات محددة ، ولكن على الفور فهم التمثيل المتجه لشخصية الشخص ككل.
الآن يمكننا أن نقول أن هذا المتجه يعكس جزئيا شخصيتي. هذا وصف مفيد عند مقارنة أشخاص مختلفين. لنفترض أنني تعرضت لحافلة حمراء ، وتحتاج إلى استبدال لي بشخص مماثل. أي من الشخصين على الرسم البياني التالي يشبهني أكثر؟
عند العمل مع المتجهات ، عادةً ما يتم حساب التشابه بواسطة
معامل Otiai (المعامل الهندسي):
الشخص رقم 1 هو أكثر مثلي في الشخصية. المتجهات في اتجاه واحد (الطول مهم أيضًا) تعطي معامل Otiai أكبرمرة أخرى ، بعدان لا يكفيان لتقييم الناس. لقد أدت عقود من تطور العلوم النفسية إلى إنشاء اختبار لخمس خصائص شخصية أساسية (مع العديد من الخصائص الإضافية). لذلك ، دعونا نستخدم الأبعاد الخمسة:
المشكلة في الأبعاد الخمسة هي أنه لن يكون من الممكن رسم أسهم أنيقة في الأبعاد الثنائية. هذه مشكلة شائعة في التعلم الآلي ، حيث يتعين عليك غالبًا العمل في مساحة متعددة الأبعاد. من الجيد أن يعمل المعامل الهندسي مع أي عدد من القياسات:
يعمل المعامل الهندسي لأي عدد من القياسات. في خمسة أبعاد ، والنتيجة هي أكثر دقة بكثير.في نهاية هذا الفصل ، أود أن أكرر فكرتين رئيسيتين:
- يمكن تمثيل الأشخاص (والكائنات الأخرى) كنواقل عددية (وهو أمر عظيم للسيارات!).
- يمكننا بسهولة حساب مدى تشابه المتجهات.
كلمة التضمين
"هبة الكلمات هي هبة الخداع والوهم". - أطفال الكثيب
مع هذا الفهم ، سننتقل إلى تمثيلات الكلمات التي تم الحصول عليها نتيجة التدريب (تسمى أيضًا المرفقات) وننظر في خصائصها المثيرة للاهتمام.
هنا المرفق بكلمة "king" (متجه GloVe ، المدربة على Wikipedia):
[ 0.50451 , 0.68607 , -0.59517 , -0.022801, 0.60046 , -0.13498 , -0.08813 , 0.47377 , -0.61798 , -0.31012 , -0.076666, 1.493 , -0.034189, -0.98173 , 0.68229 , 0.81722 , -0.51874 , -0.31503 , -0.55809 , 0.66421 , 0.1961 , -0.13495 , -0.11476 , -0.30344 , 0.41177 , -2.223 , -1.0756 , -1.0783 , -0.34354 , 0.33505 , 1.9927 , -0.04234 , -0.64319 , 0.71125 , 0.49159 , 0.16754 , 0.34344 , -0.25663 , -0.8523 , 0.1661 , 0.40102 , 1.1685 , -1.0137 , -0.21585 , -0.15155 , 0.78321 , -0.91241 , -1.6106 , -0.64426 , -0.51042 ]
نرى قائمة تضم 50 رقمًا ، لكن من الصعب قول شيء ما. دعونا تصورهم للمقارنة مع ناقلات أخرى. ضع الأرقام في صف واحد:
قم بتلوين الخلايا حسب قيمها (الأحمر للاقتراب من 2 ، والأبيض للاقتراب من 0 ، والأزرق للاقتراب من −2):
الآن ننسى الأرقام ، وفقط بالألوان نقارن "الملك" بكلمات أخرى:
هل ترى أن "الرجل" و "المرأة" أقرب إلى بعضهما البعض من "الملك"؟ تقول شيئا. التقاط الصور المتجهات الكثير من المعلومات / المعنى / ارتباطات هذه الكلمات.
فيما يلي قائمة أخرى من الأمثلة (مقارنة الأعمدة بألوان مماثلة):
هناك العديد من الأشياء التي يجب ملاحظتها:
- من خلال كل الكلمات يذهب عمود واحد أحمر. بمعنى أن هذه الكلمات متشابهة في هذا البعد المحدد (ونحن لا نعرف ما هو المشفر فيها).
- يمكنك أن ترى أن "المرأة" و "الفتاة" متشابهان للغاية. نفس الشيء مع "الرجل" و "الصبي".
- "الولد" و "الفتاة" متشابهان في بعض الأبعاد ، لكنهما يختلفان عن "المرأة" و "الرجل". يمكن أن تكون هذه فكرة غامضة مشفرة من الشباب؟ ربما.
- كل شيء ما عدا الكلمة الأخيرة هو أفكار الناس. أضفت كائنًا (ماء) لإظهار الاختلافات بين الفئات. على سبيل المثال ، يمكنك رؤية كيف يتراجع العمود الأزرق ويتوقف أمام ناقل المياه.
- هناك أبعاد واضحة حيث يتشابه "الملك" و "الملكة" مع بعضهما البعض ومختلفان عن الآخرين. ربما يتم ترميز مفهوم غامض من الملوك هناك؟
القياس
"الكلمات تحمل أي عبء نتمنى. كل ما هو مطلوب هو اتفاق على التقاليد ، والتي بناء عليها المفاهيم ". - الله إمبراطور الكثيب
الأمثلة الشهيرة التي تظهر الخصائص المذهلة للاستثمارات هي مفهوم القياس. يمكننا إضافة وطرح متجهات الكلمات ، والحصول على نتائج مثيرة للاهتمام. المثال الأكثر شهرة هو صيغة "king - man + woman":
باستخدام مكتبة Gensim في بيثون ، يمكننا إضافة وطرح متجهات الكلمات ، وستجد المكتبة الكلمات الأقرب إلى المتجه الناتج. تعرض الصورة قائمة من أكثر الكلمات تشابهًا ، ولكل منها معامل التشابه الهندسينحن تصور هذا التشابه كما كان من قبل:
إن المتجه الناتج من حساب "king - man + woman" ليس مساوياً تمامًا لـ "queen" ، لكن هذه هي النتيجة الأقرب من 400000 كلمة مرفقة في مجموعة البياناتبعد النظر في إرفاق الكلمات ، دعونا نتعلم كيف يتم التعلم. ولكن قبل الانتقال إلى word2vec ، تحتاج إلى إلقاء نظرة على الجد المفاهيمي لتضمين الكلمة: نموذج اللغة العصبية.
نموذج اللغة
"النبي لا يخضع لأوهام الماضي أو الحاضر أو المستقبل. تحديد الأشكال اللغوية يحدد مثل هذه الاختلافات الخطية. الأنبياء يمسكون بمفتاح قفل اللسان. بالنسبة لهم ، تبقى الصورة الفعلية مجرد صورة مادية ولا أكثر.
كونهم لا يملك خصائص الكون الميكانيكي. يفترض المراقب تسلسل خطي للأحداث. السبب والنتيجة؟ إنها مسألة مختلفة تماما. النبي ينطق بكلمات مصيرية. ترى لمحة عن حدث يجب أن يحدث "وفقًا لمنطق الأشياء". لكن النبي يطلق على الفور طاقة القوة المعجزة اللانهائية. الكون يمر بتحول روحي. " - الله إمبراطور الكثيب
أحد أمثلة NLP (معالجة اللغات الطبيعية) هي وظيفة التنبؤ للكلمة التالية على لوحة مفاتيح الهاتف الذكي. مليارات الناس يستخدمونها مئات المرات في اليوم.
تعتبر التنبؤ بالكلمة التالية مهمة مناسبة
لنموذج اللغة . يمكنها أن تأخذ قائمة بالكلمات (قل كلمتين) وتحاول التنبؤ بما يلي.
في لقطة الشاشة أعلاه ، أخذ النموذج هاتين الكلمتين
thou shalt
(
thou shalt
)
thou shalt
قائمة بالخيارات (على الأرجح للكلمة
not
):
يمكننا أن نتخيل النموذج كمربع أسود:
ولكن في الممارسة العملية ، ينتج النموذج أكثر من كلمة واحدة. وهو يستمد تقديرا لاحتمال كل الكلمات المعروفة تقريبا (يختلف "قاموس" النموذج من عدة آلاف إلى أكثر من مليون كلمة). ثم يجد تطبيق لوحة المفاتيح الكلمات ذات أعلى الدرجات ويعرضها على المستخدم.
نموذج اللغة العصبية يعطي احتمال كل الكلمات المعروفة. نشير إلى الاحتمال كنسبة مئوية ، ولكن في المتجه الناتج 40٪ سيتم تمثيل 0.4بعد التدريب ،
حسبت النماذج العصبية الأولى (
بنجو 2003 ) التكهن في ثلاث مراحل:
الخطوة الأولى بالنسبة لنا هي الأكثر أهمية ، حيث نناقش الاستثمارات. نتيجة للتدريب ، يتم إنشاء مصفوفة مع مرفقات جميع الكلمات في قاموسنا. للحصول على النتيجة ، نحن نبحث ببساطة عن زخارف كلمات الإدخال ونعمل على التنبؤ:
الآن دعونا نلقي نظرة على عملية التعلم ومعرفة كيفية إنشاء هذه المصفوفة من الاستثمارات.
تدريب نموذج اللغة
"لا يمكن فهم العملية بإنهائها. يجب أن يتحرك الفهم مع العملية ، ودمجها مع التدفق والتدفق معها "- الكثيب
تتميز نماذج اللغة بميزة كبيرة على معظم نماذج التعلم الآلي الأخرى: يمكن تدريبهم على النصوص المتوفرة لدينا بوفرة. فكر في جميع الكتب والمقالات ومواد ويكيبيديا وغيرها من أشكال البيانات النصية التي لدينا. قارن مع نماذج التعلم الآلي الأخرى التي تحتاج إلى العمل اليدوي والبيانات التي تم جمعها بشكل خاص.
"يجب أن تتعلم كلمة شركته" - J. R. Furs
يتم حساب مرفقات الكلمات وفقًا للكلمات المحيطة ، والتي تظهر غالبًا في مكان قريب. الميكانيكا هي كما يلي:
- نحصل على الكثير من البيانات النصية (على سبيل المثال ، جميع مقالات ويكيبيديا)
- قم بتعيين نافذة (على سبيل المثال ، من ثلاث كلمات) يتم تمريرها عبر النص.
- تنشئ النافذة المنزلقة أنماطًا لتدريب نموذجنا.
عندما تنزلق هذه النافذة فوق النص ، نقوم (في الواقع) بإنشاء مجموعة بيانات ، نستخدمها بعد ذلك لتدريب النموذج. لفهم الأمر ، دعنا نرى كيف تتعامل النافذة المنزلق مع هذه العبارة:
"قد لا تصنع آلة وهبت بمظهر العقل البشري" - الكثيب
عندما نبدأ ، توجد النافذة في أول ثلاث كلمات من الجملة:
نأخذ أول كلمتين للعلامات ، والكلمة الثالثة للتسمية:
أنشأنا أول عينة في مجموعة بيانات يمكن استخدامها لاحقًا لتدريس نموذج اللغةثم ننقل النافذة إلى الموضع التالي وننشئ عينة ثانية:
وقريباً ، نقوم بتجميع مجموعة بيانات أكبر:
في الممارسة العملية ، يتم تدريب النماذج عادةً بشكل مباشر في عملية تحريك نافذة منزلقة. لكن من الناحية المنطقية ، فإن مرحلة "إنشاء مجموعة البيانات" منفصلة عن مرحلة التدريب. بالإضافة إلى مقاربات الشبكة العصبية ، غالبًا ما كانت طريقة N-gram تُستخدم في وقت سابق لتدريس نماذج اللغة (انظر الفصل الثالث من كتاب
"معالجة الكلام واللغة" ). لمعرفة الفرق عند التبديل من N-grams إلى الموديلات العصبية في المنتجات الحقيقية ،
إليك منشور لعام 2015 على مدونة Swiftkey ، مطور لوحة المفاتيح المفضلة لنظام Android ، والذي يقدم نموذج اللغة العصبية الخاص به ويقارنه بنموذج N-gram السابق. يعجبني هذا المثال لأنه يوضح كيف يمكن وصف الخصائص الحسابية للاستثمارات بلغة تسويقية.
نحن ننظر في كلا الاتجاهين
المفارقة هي علامة على أننا يجب أن نحاول النظر في ما يكمن وراءها. إذا كانت المفارقة تثير قلقك ، فهذا يعني أنك تسعى جاهدة لتحقيق المطلق. ينظر النسبيون للمفارقة على أنها مجرد فكرة مثيرة للاهتمام ، وربما مضحكة ، وأحيانًا مخيفة ، ولكنها فكرة مفيدة للغاية. " الإمبراطور إله الكثيب
بناءً على ما تقدم ، املأ الفراغ:
كسياق ، هناك خمس كلمات سابقة (وإشارة سابقة إلى "حافلة"). أنا متأكد من أن معظمكم خمن أنه يجب أن يكون هناك "حافلة". لكن إذا أعطيتك كلمة أخرى بعد الفراغ ، فهل هذا سيغير إجابتك؟
هذا يغير الوضع تماما: الآن الكلمة المفقودة هي على الأرجح "أحمر". من الواضح أن الكلمات لها قيمة إعلامية قبل وبعد المسافة. اتضح أن المحاسبة في كلا الاتجاهين (اليسار واليمين) تسمح لك بحساب استثمارات أفضل. دعونا نرى كيفية تكوين نموذج التدريب في مثل هذا الموقف.
تخطي غرام
"عندما يكون الخيار الذي لا لبس فيه على الإطلاق معروفًا ، يحصل العقل على فرصة للعمل مع بيانات محدودة في الساحة ، حيث لا تكون الأخطاء ممكنة فحسب بل ضرورية أيضًا." - كابيتول ديونز
بالإضافة إلى كلمتين قبل الهدف ، يمكنك مراعاة كلمتين أخريين بعد ذلك.
ثم ستبدو مجموعة البيانات للتدريب النموذجي كما يلي:
وهذا ما يسمى بنية CBOW (حقيبة الكلمات المستمرة) وهو موصوف في
إحدى مستندات word2vec [pdf]. هناك بنية أخرى ، والتي تظهر أيضًا نتائج ممتازة ، ولكنها مرتبة بشكل مختلف قليلاً: إنها تحاول تخمين الكلمات المجاورة بالكلمة الحالية. تبدو النافذة المنزلقة مثل هذا:
في الفتحة الخضراء ، توجد كلمة الإدخال ، ويمثل كل حقل وردي مخرجًا ممكنًاتتميز المستطيلات الوردية بظلال مختلفة لأن هذه النافذة المنزلقة تخلق أربعة أنماط منفصلة في مجموعة البيانات التدريبية:
تسمى هذه الطريقة بنية
skip-gram . يمكنك تصور نافذة منزلقة على النحو التالي:
تضاف العينات الأربعة التالية إلى مجموعة بيانات التدريب:
ثم ننقل النافذة إلى الموضع التالي:
الذي يولد أربعة أمثلة أخرى:
قريبا سيكون لدينا المزيد من العينات:
مراجعة التعلم
كان معادب متعلمًا سريعًا لأنه تعلم أساسًا كيفية التعلم. لكن الدرس الأول كان استيعاب الإيمان بأنه قادر على التعلم ، وهذا هو أساس كل شيء. إنه لأمر مدهش عدد الأشخاص الذين لا يعتقدون أنه يمكنهم التعلم والتعلم ، وعدد الأشخاص الذين يعتقدون أن التعلم صعب للغاية. " - الكثيب
الآن بعد أن أصبح لدينا مجموعة skip-gram ، نستخدمها لتدريب النموذج العصبي الأساسي للغة التي تتوقع كلمة مجاورة.
لنبدأ بالعينة الأولى في مجموعة البيانات الخاصة بنا. نأخذ العلامة ونرسلها إلى النموذج غير المدربين مع طلب التنبؤ بالكلمة التالية.
يمر النموذج بثلاث خطوات ويعرض متجه التنبؤ (مع احتمال لكل كلمة في القاموس). نظرًا لأن النموذج غير مدرب ، فمن المحتمل أن تكون توقعاته غير صحيحة في هذه المرحلة. لكن هذا لا شيء. نحن نعرف الكلمة التي تتوقعها - هذه هي الخلية الناتجة في الصف الذي نستخدمه حاليًا لتدريب النموذج:
"المتجه المستهدف" هو أحد الاحتمالات التي تحتوي فيها الكلمة المستهدفة على الاحتمال 1 ، وكل الاحتمالات الأخرى لها احتمال 0كيف الخطأ كان النموذج؟ اطرح الموجه المتوقع من الهدف واحصل على متجه الخطأ:
يمكن الآن استخدام متجه الخطأ هذا لتحديث النموذج ، وبالتالي من المحتمل أن يعطي في المرة القادمة نتيجة دقيقة على نفس بيانات الإدخال.
هنا تنتهي المرحلة الأولى من التدريب. نواصل القيام بنفس الشيء مع العينة التالية في مجموعة البيانات ، ثم مع النموذج التالي ، حتى نفحص جميع العينات. هذه هي نهاية الحقبة الأولى من التعلم. نكرر كل شيء مرارًا وتكرارًا لعدة عصور ، ونتيجة لذلك ، نحصل على نموذج مدرّب: يمكنك منه استخراج المصفوفة الاستثمارية واستخدامها في أي تطبيقات.
على الرغم من أننا تعلمنا الكثير ، ولكن حتى نفهم تمامًا كيف يتعلم word2vec حقًا ، هناك بضعة أفكار أساسية مفقودة.
اختيار سلبي
"محاولة فهم معاذ ديب دون فهم أعدائه المميتة - هاركونينوف - هي نفس محاولة فهم الحقيقة دون فهم ماهية الخطأ. هذه محاولة لمعرفة النور دون معرفة الظلام. هذا مستحيل. " - الكثيب
أذكر الخطوات الثلاث كيف يحسب النموذج العصبي التنبؤ:
الخطوة الثالثة مكلفة للغاية من وجهة نظر حسابية ، خاصةً إذا كنت تفعل ذلك لكل عينة في مجموعة البيانات (عشرات الملايين من المرات). من الضروري زيادة الإنتاجية بطريقة أو بأخرى.
طريقة واحدة لتقسيم الهدف إلى مرحلتين:
- قم بإنشاء مرفقات كلمات عالية الجودة (دون التنبؤ بالكلمة التالية).
- استخدم هذه الاستثمارات عالية الجودة لتدريس نموذج اللغة (للتنبؤ).
سوف تركز هذه المقالة على الخطوة الأولى. لزيادة الإنتاجية ، يمكنك الابتعاد عن التنبؤ بكلمة مجاورة ...
... وانتقل إلى نموذج يأخذ كلمات الإدخال والإخراج ويحسب احتمال قربها (من 0 إلى 1).
يحل هذا التحول البسيط محل الشبكة العصبية بنموذج الانحدار اللوجستي - وبالتالي تصبح الحسابات أبسط وأسرع بكثير.
في الوقت نفسه ، نحتاج إلى تحسين بنية مجموعة البيانات الخاصة بنا: أصبحت التسمية الآن عمودًا جديدًا بقيمة 0 أو 1. في جدولنا ، الوحدات موجودة في كل مكان ، لأننا أضفنا جيرانًا إليها.
يتم حساب هذا النموذج بسرعة مذهلة: ملايين العينات في دقائق. ولكن عليك أن تغلق ثغرة واحدة. إذا كانت جميع أمثلةنا إيجابية (الهدف: 1) ، فيمكن أن يتشكل نموذج صعب دائمًا ما يعيد 1 ، مما يدل على دقة 100 ٪ ، لكنه لا يتعلم شيئًا ويولد استثمارات ضخمة.
لحل هذه المشكلة ، تحتاج إلى إدخال
أنماط سلبية في مجموعة البيانات - الكلمات التي ليست بالتأكيد جيرانًا. بالنسبة لهم ، يجب أن يعود النموذج إلى 0. الآن سيتعين على النموذج أن يعمل بجد ، لكن الحسابات لا تزال تسير بسرعة كبيرة.
لكل عينة في مجموعة البيانات ، أضف الأمثلة السلبية المسمى 0ولكن ما لتقديم مثل الكلمات الإخراج؟ اختر الكلمات بشكل تعسفي:
ولدت هذه الفكرة تحت تأثير طريقة
مقارنة الضوضاء [pdf]. نطابق الإشارة الفعلية (أمثلة إيجابية للكلمات المجاورة) مع الضوضاء (كلمات تم اختيارها عشوائيًا وليست جارات). هذا يوفر حلا وسطا ممتازا بين الأداء والأداء الإحصائي.
تخطي غرام عينة سلبية (SGNS)
نظرنا إلى مفهومين رئيسيين لكلمة word2vec: وهما يطلقان عليهما معا "تخطي غرام مع أخذ العينات السلبية".
تعلم word2vec
"لا يمكن للآلة أن تتنبأ بكل مشكلة مهمة لشخص حي. هناك فرق كبير بين الفضاء المنفصل والتواصل المستمر. نحن نعيش في مكان واحد ، والآلات موجودة في مكان آخر. " - الله إمبراطور الكثيب
بعد فحص الأفكار الأساسية لتخطي غرام وأخذ العينات السلبية ، يمكننا المضي قدما في إلقاء نظرة فاحصة على عملية التعلم word2vec.
أولاً ، نقوم أولاً بمعالجة النص الذي ندرب عليه النموذج. حدد حجم القاموس (
vocab_size
عليه
vocab_size
) ، على سبيل المثال ، في 10000 مرفق ومعلمات الكلمات في القاموس.
في بداية التدريب ، نخلق مصففتين:
Embedding
Context
. يتم تخزين المرفقات لكل كلمة في هذه المصفوفات في قاموسنا (وبالتالي
vocab_size
هي واحدة من المعلمات الخاصة بهم). المعلمة الثانية هي البعد الخاص بالمرفق (عادةً ما
embedding_size
تعيين
embedding_size
على 300 ، ولكن في وقت سابق بحثنا في مثال به 50 بُعدًا).
أولاً ، نهيئ هذه المصفوفات بقيم عشوائية. ثم نبدأ عملية التعلم. في كل مرحلة ، نأخذ مثالًا واحدًا إيجابيًا والمثال السلبي المرتبط به. هذه هي مجموعتنا الأولى:
لدينا الآن أربع كلمات: كلمة الإدخال "
not
و "كلمات الإخراج / المحتوى السياقية" (جار حقيقي) ،
aaron
taco
(أمثلة سلبية). نبدأ البحث عن مرفقاتهم في المصفوفات
Embedding
(لكلمة الإدخال) و
Context
(لكلمات السياق) ، على الرغم من أن كلا المصفوفات تحتوي على مرفقات لجميع الكلمات من قاموسنا.
ثم نقوم بحساب المنتج القياسي لمرفق الإدخال باستخدام كل من المرفقات السياقية. في كل حالة ، يتم الحصول على رقم يشير إلى تشابه بيانات الإدخال والمرفقات السياقية.
الآن نحن بحاجة إلى طريقة لتحويل هذه التقديرات إلى نوع من الاحتمالات: يجب أن تكون جميعها أرقامًا موجبة بين 0 و 1. هذه مهمة ممتازة لمعادلات لوجستية
السيني .
يمكن اعتبار نتيجة حساب السيني كمخرج للنموذج لهذه العينات. كما ترون ،
taco
على أعلى الدرجات ، بينما لا يزال لدى
aaron
أدنى الدرجات ، قبل وبعد السيني.
عندما يقوم النموذج غير المدربين بتوقع وجود علامة هدف حقيقية للمقارنة ، فلنحسب عدد الأخطاء في نموذج التنبؤ. للقيام بذلك ، ببساطة طرح درجة السيني من التسميات الهدف.
error
= target
- sigmoid_scores
هذا هو المكان الذي تبدأ فيه مرحلة "التعلم" من مصطلح "التعلم الآلي". الآن يمكننا استخدام تقدير الخطأ هذا لضبط الاستثمارات ،
aaron
،
aaron
taco
، بحيث تكون النتيجة في المرة القادمة أقرب إلى التقديرات المستهدفة.
هذا يكمل مرحلة واحدة من التدريب. قمنا بتحسين ارتباط بضع كلمات قليلاً (
not
،
thou
،
aaron
taco
). ننتقل الآن إلى المرحلة التالية (العينة الإيجابية التالية والعينة السلبية المرتبطة بها) ونكرر العملية.
تستمر المرفقات في التحسن بينما ننتقل عبر مجموعة البيانات بأكملها عدة مرات. يمكنك بعد ذلك إيقاف العملية ، ووضع مصفوفة
Context
جانباً ، واستخدام مصفوفة
Embeddings
المدربة للمهمة التالية.
حجم النافذة وعدد العينات السالبة
في عملية تعلم word2vec ، اثنين من المعلمات الرئيسية هي حجم النافذة وعدد العينات السلبية.
أحجام النوافذ المختلفة مناسبة للمهام المختلفة.
لقد لوحظ أن أحجام النوافذ الأصغر (2-15) تولد مرفقات
قابلة للتبديل مع فهارس مماثلة (لاحظ أن المتضادات غالبًا ما تكون قابلة للتبديل عند النظر إلى الكلمات المحيطة: على سبيل المثال ، غالباً ما يتم ذكر الكلمات "جيدة" و "سيئة" في سياقات مماثلة). تقوم أحجام الإطارات الأكبر حجمًا (15–50 أو أكثر) بإنشاء مرفقات
ذات صلة مع مؤشرات مماثلة. في الممارسة العملية ، غالبًا ما يتعين عليك تقديم
تعليقات توضيحية لأوجه التشابه الدلالية المفيدة في مهمتك. في Gensim ، حجم الإطار الافتراضي هو 5 (كلمتين يسارًا ويمينًا ، بالإضافة إلى كلمة الإدخال نفسها).
عدد العينات السلبية هو عامل آخر في عملية التعلم. توصي الوثيقة الأصلية 5-20. تقول أيضًا أن 2-5 عينات تبدو كافية عندما يكون لديك مجموعة بيانات كبيرة بما فيه الكفاية. في Gensim ، القيمة الافتراضية هي 5 أنماط سلبية.استنتاج
"إذا كان سلوكك يتجاوز المعايير الخاصة بك ، فأنت شخص حي ، وليس آلية" - God-Imperor of Dune
أتمنى أن تفهم الآن تضمين الكلمات وجوهر خوارزمية word2vec. آمل أيضًا أن تصبح الآن أكثر دراية بالمقالات التي تذكر مفهوم "تخطي غرام مع أخذ العينات السلبية" (SGNS) ، كما هو الحال في أنظمة التوصية المذكورة أعلاه.مراجع ومزيد من القراءة