من خلال هذا المنشور ، أقوم بفتح سلسلة حيث أخبرك مع زملائي كيف سيتم استخدام ML في بحث Mail.ru. اليوم سأشرح كيفية ترتيب الترتيب وكيف نستخدم المعلومات حول تفاعلات المستخدم مع محرك البحث الخاص بنا لجعل محرك البحث أفضل.
مهمة الترتيب
ما هو المقصود مهمة الترتيب؟ تخيل أنه في عينة التدريب ، توجد مجموعة من الاستعلامات التي يعرف ترتيب الوثائق حسب أهميتها. على سبيل المثال ، أنت تعرف أي مستند هو الأكثر صلة ، وهو ثاني الأكثر صلة ، إلخ. وتحتاج إلى استعادة هذا الطلب لجميع السكان. وهذا هو ، بالنسبة لجميع الطلبات المقدمة من عامة السكان ، يتم وضع المستند الأول الأكثر صلة بالموضوع ، والأخير - الأكثر أهمية.
دعونا نرى كيف يتم حل هذه المشاكل في محركات البحث الكبيرة.
لدينا فهرس بحث - هذه قاعدة بيانات تضم مليارات الوثائق. عند وصول الطلب ، نقوم أولاً بإنشاء قائمة المرشحين للترتيب النهائي باستخدام نماذج نصية بسيطة. الخيار الأسهل هو التقاط المستندات التي تحتوي ، من حيث المبدأ ، على كلمات من الطلب. لماذا هذه الخطوة ضرورية؟ والحقيقة هي أنه من المستحيل على جميع الوثائق المتاحة بناء علامات وتشكيل التنبؤ بالنموذج النهائي. بعد أن نحسب بالفعل علامات. ما علامات يمكن أن نتخذها؟ على سبيل المثال ، عدد مرات تواجد الكلمات من استعلام في مستند أو عدد النقرات على مستند معين. يمكنك استخدام العوامل المعقدة المدربة على الآلة: نحن في البحث باستخدام الشبكات العصبية تتنبأ بأهمية الوثيقة عند الطلب وإدراج هذا التنبؤ مع عمود جديد في مساحة الميزة الخاصة بنا.
لماذا نفعل كل هذا؟ نريد زيادة مقاييس المستخدم إلى الحد الأقصى حتى يتمكن المستخدمون من العثور على النتائج ذات الصلة في نتائجنا بأسرع ما يمكن والرجوع إلينا كلما كان ذلك ممكنًا.
يستخدم نموذجنا النهائي مجموعة من أشجار القرار المصممة باستخدام التدرج اللوني. هناك خياران لبناء مقياس مستهدف للتدريب:
- نحن نصنع قسمًا من المقيّمين - أشخاص مدربون تدريباً خاصاً نوجه إليهم استفسارات ونقول: "أيها الرجال ، قم بتقييم مدى ملاءمة إصدارنا". سوف يستجيبون بأرقام تقيس العلاقة. لماذا هذا النهج سيء؟ في هذه الحالة ، سنزيد النموذج إلى الحد الأقصى فيما يتعلق بآراء الأشخاص الذين ليسوا مستخدمين لنا. لن نقوم بتحسين القياس الذي نريد تحسينه حقًا.
- لهذا السبب ، نستخدم الطريقة الثانية للمتغير المستهدف: نعرض للمستخدمين النتائج ، وننظر في الوثائق التي يمررونها ، وتلك التي يتم تخطيها. ثم نستخدم هذه البيانات لتدريب النموذج النهائي.
كيف يتم حل مشكلة الترتيب؟
هناك ثلاث طرق لحل مشكلة الترتيب:
- بالإشارة إلى ذلك. سننظر إلى الأهمية كتدبير مطلق وسنقوم بتشكيل نموذج الفرق المطلق بين الأهمية المتوقعة والأخرى التي نعرفها من عينة التدريب. على سبيل المثال ، أعطى المقيِّم المستند تصنيفًا 3 ، وسنقول 2 ، لذلك نقوم بضبط النموذج بمقدار 1.
- الزوجي ، الزوجي. سنقوم بمقارنة المستندات مع بعضها البعض. على سبيل المثال ، يوجد في نموذج التدريب وثيقتان ، ونعرف أيهما أكثر صلة بهذا الطلب. ثم سنقوم بضبط النموذج إذا وضع التوقعات أقل من التوقعات الأقل أهمية ، أي أن الزوج تم ترتيبه بشكل غير صحيح.
- قائمة يعتمد أيضًا على الصلة النسبية ، ولكن ليس داخل الأزواج: نقوم بتصنيف المشكلة بالكامل حسب النموذج وتقييم النتيجة - إذا لم يكن المستند الأكثر صلة في المقام الأول ، فسنحصل على غرامة كبيرة.
ما الطريقة الأفضل لاستخدامها في المتغير المستهدف؟ للقيام بذلك ، يجدر مناقشة سؤال مهم: "هل يمكن استخدام النقرات كمقياس للأهمية المطلقة للمستند؟" هذا مستحيل ، لأنها تعتمد على موضع المستند في المشكلة. بعد تلقي هذه المشكلة ، من المرجح أن تقوم بالنقر فوق المستند الذي سيكون أعلى ، لأنه يبدو لك أن المستندات الأولى أكثر صلة.
كيف يمكن التحقق من هذه الفرضية؟ نأخذ وثيقتين في الجزء العلوي من القضية وتبادلها. إذا كانت النقرات مقياسًا مطلقًا للأهمية ، فسيعتمد عددهم فقط على المستند نفسه ، وليس على الموضع. لكن هذا ليس كذلك. المستند أعلاه يحصل دائمًا على المزيد من النقرات. لذلك ، لا يمكن مطلقًا استخدام النقرات كمقياس للأهمية المطلقة. لذلك ، يمكنك استخدام إما الزوج أو القائمة.
نحن نجمع مجموعة البيانات
الآن نحن استخراج البيانات لمجموعة التدريب. كان لدينا هذه الجلسة:
من بين الوثائق الأربعة ، كان هناك نقرة على الثاني والرابع. وكقاعدة عامة ، يشاهد الناس النتائج من أعلى إلى أسفل. نظرت إلى المستند الأول ، لم يعجبك ، نقرت على المستند الثاني. ثم عادوا إلى البحث ، ونظروا إلى الثالث ونقروا على الرابع. من الواضح أنك أعجبت الثانية أكثر من الأولى ، والرابعة أكثر من الأولى والثالثة. هذه هي الأزواج التي نولدها لجميع الطلبات ونستخدم نماذج للتدريب.
يبدو أن كل شيء على ما يرام ، ولكن هناك مشكلة واحدة: ينقر الأشخاص فقط على المستندات الموجودة في الجزء العلوي من المشكلة. لذلك ، إذا قمت بإجراء عينة التدريب بهذه الطريقة فقط ، فسيكون التوزيع فيها هو نفسه تمامًا كما هو الحال في نموذج الاختبار. من الضروري محاذاة التوزيع بطريقة أو بأخرى. نقوم بذلك عن طريق إضافة أمثلة سلبية: هذه مستندات كانت في أسفل الترتيب ، ومن المؤكد أن المستخدم لم يرها ، لكننا نعرف أنها سيئة.

لذلك ، حصلنا على مثل هذا المخطط لتصنيف التدريبات: فقد أظهروا للمستخدمين النتائج ، وجمعوا النقرات منهم ، وأضفوا أمثلة سلبية لمواءمة التوزيع ، وإعادة تدريب نموذج التصنيف. وبالتالي ، نحن نأخذ في الاعتبار رد فعل المستخدمين لتصنيفك الحالي ، ونأخذ الأخطاء في الاعتبار ونحسن التصنيف. نكرر هذه الإجراءات عدة مرات حتى التقارب. من المهم أن نلاحظ أننا لا نبحث فقط عن طريق الإنترنت ، ولكن أيضًا عن طريق الفيديو والصور عن طريق المخطط الموضح يعمل بشكل مثالي في أي نوع من أنواع البحث. نتيجة لذلك ، تنمو المقاييس السلوكية كثيرًا. في التكرار الثاني ، يكون أصغر قليلاً ، في التكرار الثالث أصغر ، ونتيجة لذلك يتحول إلى الأمثل المحلي.
دعونا نفكر في سبب تلاقينا في المستوى الأمثل المحلي وليس على المستوى العالمي.
افترض أنك من مشجعي كرة القدم وفي المساء لم يكن لديك وقت لمشاهدة مباراة فريقك المفضل. استيقظ في الصباح وأدخل اسم الفريق في شريط البحث لمعرفة نتيجة المباراة. انظر الوثائق الثلاث الأولى - هذه هي الصفحات الرسمية عن النادي ، لا توجد معلومات مفيدة. لن تستعرض المشكلة بأكملها ، ولن تلتقط طلبًا آخر. ربما تنقر فوق بعض المستندات غير ذات الصلة. لكن كنتيجة لذلك ، انزعج وأغلق SERP وافتح محرك بحث آخر.

على الرغم من أن هذه المشكلة لا توجد فقط في البحث ، إلا أنها ذات صلة هنا بشكل خاص. تخيل متجرًا على الإنترنت ، وهو شريط كبير واحد دون القدرة على تحديد فئة معينة من المنتجات التي تريد رؤيتها. هذا هو بالضبط ما يحدث مع نتائج البحث: بعد إرسال الطلب ، لم يعد بإمكانك شرح ما تحتاجه حقًا: معلومات عن فريق كرة القدم أو نتيجة المباراة الأخيرة.
تخيل أن رجلاً وحشياً ذهب إلى مثل هذا المتجر الغريب على الإنترنت ، والذي يتكون من شريط واحد من التوصيات ، وفي توصياته لا يرى سوى السلع النسائية عادةً. ربما ينقر حتى على بعض الملابس ، لأنه يرتديها على فتاة جميلة. سنرسل هذه النقرة إلى مجموعة التدريب ونقرر أن الرجل يحب هذا اللباس أكثر من الإسفنج. عندما يعود إلى نظامنا ، سيرى بالفعل بعض الفساتين. في البداية ، لم يكن لدينا منتجات صالحة للمستخدم ، لذلك لن يسمح لنا هذا النهج بإصلاح هذا الخطأ. كنا في الوضع الأمثل المحلي ، حيث لم يعد بإمكان الشخص الفقير إخبارنا أنه لا يحب الإسفنج أو الثياب. في كثير من الأحيان تسمى هذه المشكلة مشكلة ردود الفعل الإيجابية.
مزيد من التحسن
كيفية جعل محرك البحث أفضل؟ كيفية الخروج من الأمثل المحلي؟ عوامل جديدة تحتاج إلى أن تضاف. لنفترض أننا حققنا عاملاً جيدًا للغاية ، بناءً على طلب فريق كرة القدم ، سنقوم برفع وثيقة ذات صلة ، وهي نتائج المباراة الأخيرة. ماذا يمكن أن تكون المشكلة هنا؟ إذا قمت بتدريب النموذج على البيانات القديمة ، على البيانات غير المتصلة ، فاخذ مجموعة البيانات القديمة بنقرات وأضف هذه السمة إلى هناك. قد تكون ذات صلة ، لكنك لم تستخدمها في الترتيب من قبل ، وبالتالي لم ينقر المستخدمون على تلك المستندات التي تعد هذه السمة جيدة. لا يرتبط بالمتغير المستهدف ، لذلك لن يتم استخدامه ببساطة بواسطة النموذج.
في مثل هذه الحالات ، نستخدم هذا الحل غالبًا: بتجاوز النموذج النهائي ، نجبر ترتيبنا على استخدام هذه الميزة. نعرض بقوة نتيجة المباراة الأخيرة بناءً على الطلب مع اسم الفريق ، وإذا نقر المستخدم عليها ، فهذه هي المعلومات التي تتيح لنا أن نفهم أن العلامة جيدة.
لنلقِ نظرة على مثال. لقد قمنا مؤخرًا بصور جميلة لمستندات Instagram:

يبدو أن هذه الصور الجميلة يجب أن ترضي مستخدمينا قدر الإمكان. من الواضح أننا نحتاج إلى عمل إشارة إلى أن المستند يحتوي على مثل هذه الصورة. نضيف إلى مجموعة البيانات ، ونعيد تدريب نموذج التصنيف ونرى كيف يتم استخدام هذه الميزة. ثم نقوم بتحليل التغير في المقاييس السلوكية. لقد تحسنت بعض الشيء ، ولكن هل هذا هو الحل الأفضل؟
لا ، لأنه بالنسبة للعديد من الطلبات ، لا تظهر صورًا جميلة. أنت لم تمنح المستخدم الفرصة لإظهار كيف يحبهم. لحل هذه المشكلة ، بالنسبة لبعض الطلبات التي تتضمن عرض مستندات Instagram ، وتجاوز النموذج بالقوة عرضنا صورًا جميلة ونظرنا فيما إذا كانوا قد نقروا عليها. بمجرد تقدير المستخدمين للابتكار ، بدأوا في إعادة ضبط النموذج على مجموعات البيانات ، والتي أتيحت فيها للمستخدمين الفرصة لإظهار أهمية هذا العامل. بعد هذا الإجراء ، على مجموعة بيانات جديدة ، بدأ استخدام العامل عدة مرات أكثر وزاد بشكل كبير من مقاييس المستخدم.
لذلك ، قمنا بفحص بيان مشكلة الترتيب وناقشنا العثرات التي ستنتظرك عند تعلم آراء المستخدمين. الشيء الرئيسي الذي يجب عليك إخراجه من هذه المقالة: استخدام الملاحظات كهدف تدريب ، تذكر أنه لا يمكن للمستخدم ترك هذه التعليقات إلا إذا سمح له النموذج الحالي. يمكن أن تلعب هذه الملاحظات خدعة عليك عند محاولة بناء نموذج جديد لتعلم الآلة.