بطولة الموسم 2019 مفتوحة! ينطلق SNA Hackathon Ala ML Boot Camp 8


مرحبا

يعرف العديد من القراء بالفعل أننا نحاول إجراء بطولات مختلفة في تكنولوجيا المعلومات بشكل مستمر حول مجموعة متنوعة من الموضوعات. في العام الماضي وحده ، تم تنظيم أكثر من 10 مسابقات رئيسية مختلفة ( كأس AI الروسي ، و ML Boot Camp ، و Technocub وغيرها). شارك ما لا يقل عن 25000 شخص فيها ، ومنذ عام 2011 - أكثر من 150،000 شخص.

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



لذلك ، دعونا ننكب على العمل. اليوم ، 7 فبراير ، يسرنا أن نفتتح الموسم الجديد من بطولة 2019. وسنبدأ بمسابقة التعلم الآلي وتحليل البيانات الثامنة التي تقام على منصة ML Boot Camp المتخصصة (نظامنا التمثيلي Kaggle) - SNA Hackathon ، أو ML Boot Camp 8 (حسب الرغبة).

منظمو هذه البطولة هم Mail.ru Group و Odnoklassniki. نوصي بعد هذا المقال بقراءة تاريخ موجز للشريط الذكي ، حيث يتحدث ديمتري بوجايشينكو عن الخوارزميات لتصنيف الشريط في Odnoklassniki ، وهناك الكثير من المعلومات المفيدة.

والآن سوف نخبر آليات البطولة وجدولها الزمني ومهامها والبيانات المقترحة.

ميكانيكا البطولة


كل شيء بسيط. بعد افتتاح البطولة في ML Boot Camp ، تحتاج إلى:

  1. قراءة شروط المهام (وهي موجودة بالفعل في هذه المقالة) ؛
  2. اختر مهمة أو مهام ستحلها ؛
  3. تحميل البيانات
  4. البدء في بناء النماذج ووضع التنبؤات ؛
  5. قم بتحميل إجاباتك (ملف منتظم) إلى نظام الاختبار.

كل يوم يمكنك تحميل ملفات الإجابات الخاصة بك إلينا خمس مرات. سيقوم النظام بفحص الردود على 50٪ فقط من العينة (عامة) ، وبالتالي ستكون النتائج أولية. سيتم عرض النتائج النهائية على بقية العينة (خاصة) للمشاركين بعد انتهاء المسابقة بالفعل.

إذا لم تشارك مطلقًا في مثل هذه المسابقات ، فلا يوجد ما يدعو للقلق. اقرأ المقال وسوف تنجح :)

الجدول الزمني


تقام البطولة على مرحلتين:

  1. عبر الإنترنت - من 7 فبراير إلى 15 مارس ؛
  2. غير متصل بالإنترنت - من 30 مارس إلى 1 أبريل.

بعد 15 مارس ، سيتم تلخيص النتائج الوسيطة وسيتلقى 15 شخصًا من كبار القادة لكل مهمة دعوات إلى المرحلة الثانية ، والتي ستعقد في مكتب موسكو لمجموعة Mail.ru. بالإضافة إلى ذلك ، ستتلقى الدعوة إلى المرحلة النهائية ثلاثة أشخاص يتصدرون الترتيب في نهاية 23 فبراير.

وصف المهمة


للمنافسة SNA Hackathon ، تم جمع سجلات لإظهار المحتوى من المجموعات المفتوحة في موجز الأخبار المستخدم فبراير-مارس 2018. اختبرت مجموعة الاختبار الأسبوع الماضي ونصف مارس. يحتوي كل إدخال سجل على معلومات حول الجهة التي عُرضت ولمن تعرضها ، وكذلك كيفية تفاعل المستخدم مع هذا المحتوى: ضع "فئة" أو علق أو تجاهل أو أخفي عن الخلاصة.

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

عادة ما قدمنا ​​مهمة واحدة ، ولكن هذه المرة قررت إعطاء ثلاثة في وقت واحد. لا تحتاج إلى حلها جميعًا ، واحد فقط يكفي. نظرًا لأن موجز المستخدم يجمع بين أنواع مختلفة من المحتوى ، عند تصنيفه ، فإن المهارات من مناطق مختلفة مطلوبة - رؤية الكمبيوتر ، والعمل مع النصوص وأنظمة التوصية.

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

فقط في المرحلة الثانية ، عندما يجتمع الخبراء في مختلف المجالات ، سيتم الكشف عن مجموعة البيانات العامة ، مما يتيح لك العثور على نقاط لتآزر الطرق المختلفة.
بعد فتح البطولة على المنصة ، سترى وصفًا للمهام وستتاح لك الفرصة لتنزيل البيانات اللازمة للمشاركة.

وصف البيانات


يتم تقديم المعلومات بتنسيق Apache Parquet ، وهو العنصر الرئيسي لإطار Spark. للعمل بهذا التنسيق من Python ، نوصي باستخدام مكتبة Apache Arrow . لسهولة الفهم ، تم نشر خطوط الأساس في مستودع جيثب . استخدمه!

في مجموعة التدريب ، يتم وضع البيانات حسب اليوم ، وفي داخل اليوم يتم تقسيمها إلى 6 أجزاء بمعرف المستخدم (المستخدم نفسه يقع دائمًا في نفس الجزء). يتيح هذا التصميم للمشاركين تحليل ليس كل البيانات في وقت واحد ، ولكن قصر أنفسهم على أيام معينة و / أو مجموعات فرعية من المستخدمين.

تنقسم مجموعات التدريب إلى ثلاث مجموعات منفصلة: مع النصوص والصور مع الميزات التعاونية. في كل مجموعة ، تحتوي البيانات على الحقول التالية:

  • instanceId_userId - معرف المستخدم (مجهول الهوية) ؛
  • instanceId_objectType - نوع الكائن ؛
  • instanceId_objectId - معرف الكائن (مجهول الهوية) ؛
  • feedback - صفيف يحتوي على أنواع من ردود فعل المستخدم (يشير وجود رمز مميز أعجبني في الصفيف إلى أن الكائن تلقى "فئة" من المستخدم) ؛
  • audit_clientType - نوع النظام الأساسي الذي قام المستخدم بتسجيل الدخول إليه ؛
  • audit_timestamp - وقت إنشاء الشريط ؛
  • metadata_ownerId - مؤلف الكائن المعروض (مجهول الهوية) ؛
  • metadata_createdAt - تاريخ إنشاء الكائن المعروض.

الكائنات ذات الصلة بتنسيق Apache Parquet يتم توفيرها بشكل إضافي للكائنات من مجموعة نص التدريب:

  • objectId - معرف الكائن ؛
  • lang النص - lang (بناءً على كاشف اللغة Odnoklassniki) ؛
  • text - text الخام المرتبط بالكائن ؛
  • preprocessed - مجموعة من الرموز التي تم الحصول عليها بعد تصفية علامات الترقيم والوقف.

تحتوي بيانات الترتيب حسب الصور بالإضافة إلى ImageId صفيف ImageId مع تجزئة MD5 المرتبطة بكائنات الصورة. يتم ترتيب أجسام الصور في ملفات tar منفصلة ، اعتمادًا على الحرف الأول من التجزئة.

في المجموعة ذات الخصائص التعاونية ، يتم تقديم مجموعة متنوعة من المعلومات الإضافية:

  • audit_* - معلومات موسعة حول سياق بناء الشريط ؛
  • metadata_* - معلومات موسعة حول الكائن نفسه ؛
  • userOwnerCounters_* - معلومات حول التفاعلات السابقة بين المستخدم ومؤلف المحتوى ؛
  • ownerUserCounters_* - معلومات حول التفاعلات السابقة بين مؤلف المحتوى والمستخدم ؛
  • membership_* - معلومات حول عضوية المستخدم في المجموعة التي يتم نشر المحتوى فيها ؛
  • user_* - معلومات مفصلة عن المستخدم ؛
  • auditweights_* - عدد كبير من سمات وقت التشغيل التي يسترجعها النظام الحالي.

هياكل مجموعات الاختبار مكافئة لهيكل مجموعات التدريب ، ولكن لا يتم تحديدها حسب اليوم ولا تحتوي على حقول feedback .

النتيجة


يجب على المشاركين في البطولة فرز الشريط بحيث تكون الكائنات ذات الاحتمال الكبير "للفئة" في الأعلى. يتم الفرز بشكل فردي لكل مستخدم ، وبعد ذلك يتم تشكيل نص إرسال النموذج التالي (التنسيق يتوافق مع التصدير من إطار بيانات Pandas مع أعمدة من النوع int و int[]

 User_id_1,"[object_id_1_1, object_id_1_2]" User_id_2,"[object_id_2_1, object_id_2_2, object_id_2_3]" 

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

عند تقييم الإرسال لكل مستخدم ، سيتم حساب ROC-AUC الشخصي الخاص به ، وبعد ذلك سيتم حساب المتوسط ​​لجميع المستخدمين وضربه في 100.

هدايا


ستعقد المرحلة الثانية في شكل فريق ، وسيحصل الفائزون على هدايا قيمة وحزم ملصقات وجوائز أخرى:

  • 300000 روبل للفريق الذي فاز بالمركز الأول ؛
  • 200000 روبل للفريق المركز الثاني.
  • 100000 روبل للفريق الذي حصل على المركز الثالث ؛
  • 100،000 روبل للفريق الذي اقترح الحل مع أفضل احتمالات التنفيذ حيز التنفيذ ، وفقا للجنة التحكيم.

بالإضافة إلى ذلك ، سيتلقى الفائزون في المرحلة عبر الإنترنت (أعلى 33 من القادة لكل مهمة) قمصانًا رائعة.

مكافأة! سيحصل أفضل المشاركين وأكثرهم نشاطًا في المرحلة عبر الإنترنت على PlayStation / XBox للاختيار من بينها. المعايير بسيطة - هناك الكثير من الرسوم البيانية في حالة الدردشة ، وعمليات الاحتيال المثيرة للاهتمام لأعلى / لأسفل ، وشيء آخر. سيتم انتخاب الفائز بالاقتراع الشعبي.

التسجيل والمجتمع


ليس من الضروري التسجيل خصيصا للمشاركة في المسابقة. يكفي أن تكون مسجلاً على المنصة مرة واحدة وستتاح لك على الفور جميع المسابقات وصناديق الرمال في البطولات السابقة.

لا تضيع وقتك. المجتمع ينتظر أبطال جدد. اهلا وسهلا

Source: https://habr.com/ru/post/ar439392/


All Articles