VKCup 2020 المرحلة الأولى - طريق طويل



سننظر اليوم في مسابقة VkCup 2020 ومهمة المرحلة التأهيلية الأولى. لقد وعد الرجال من Singer أنه سيكون صعبًا طوال جميع المراحل ، ولكنه مثير للاهتمام. وما الذي لا يزال مطلوبًا في الواقع؟

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

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

سننظر في VKCup 2020 ، بطولة تحليل البيانات من فكونتاكتي ، وهي مراحلها الثلاث ، مع المباراة النهائية في سان بطرسبرغ. لنبدأ بالمؤهل الأول. حسنًا ، هناك وقت ، وبرشلونة ، على الرغم من أنها عاصمة ثقافية ، إلا أنها لا تحب التأخير والعيوب. لذلك نحن نتطلع للتعامل مع الشؤون في أقرب وقت ممكن ، سيدي ، من غير المتوقع أن يكون رجل الكابينة موجودًا ، وبالتالي بعيدًا.



أعتقد أن العديد واجهوا بالفعل مهام البرمجة اللغوية العصبية. في هذه الحالة ، كانت مهمة المرحلة التأهيلية الأولى ، التي حددت نفسها مهمة اختيار 256 شخصًا مروا بالمرحلة الثانية ، تحليلًا لقضايا لعبة Clover ، أي التنبؤ بأي الأسئلة التي اقترحها المحررون المحترفون والتي كانت من قبل المستخدمين العاديين.

يبلغ حجم البيانات حوالي 40000 صف ، منها 10000 مجموعة بيانات اختبار يتم من خلالها تقدير جودة النموذج ، و 30.000 أخرى هي مجموعة البيانات المتبقية. مقياس الاختبار هو AUC ROC - المنطقة الواقعة تحت منحنى الخطأ.

بدت البيانات على النحو التالي ،



حيث ID هو معرف السؤال ، والجواب هو متغير ثنائي يجب توقع قيمته (1 - تم اقتراح السؤال من قبل المحرر ، صفر 0 - من قبل المستخدم). سؤال - السؤال نفسه.

يبدو أن المهمة بسيطة للغاية ، ولكن كل شيء بعيد عن الحالة. تنتج المناهج القياسية ، مثل Word2Vec و BERT وغيرها من نماذج NLP الجديدة ذات الجودة المتدنية ، جودة منخفضة نسبيًا ، حوالي 0.7 ، والتي لن تصل حتى إلى المائة الأولى. لذلك ، تذكر أن الشيطان ، مثل شعب LEGO ، يعيش في التفاصيل ، يفكر في مجموعة البيانات بمزيد من التفاصيل ويطور حلًا سيكون أكثر كفاءة نسبيًا.

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

لنبدأ بخط الأساس. باستخدام مقياس TF-IDF (تكرار المصطلح - تردد المستند المقلوب) ، نحصل على مصفوفة sparsematrix ، والتي نقوم بعدها بتغذية تعزيز التدرج.
تعريف واحد فقط ، TF-IDF هو مقياس إحصائي يستخدم لتقييم أهمية كلمة في سياق وثيقة تشكل جزءًا من مجموعة من المستندات أو مجموعة المستندات. يتناسب وزن الكلمة مع تواتر استخدام الكلمة في الوثيقة ويتناسب عكسًا مع تكرار استخدام الكلمة في جميع مستندات المجموعة.

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



يبدو جيدًا ، ومع ذلك ، يمكن ويجب أن يكون أفضل. هذا هو الجزء الأول من خط الأنابيب. في هذه الحالة ، "P" هو اختصار لـ "Public" ، وهو مؤشر يوضح مقدار تسجيل النموذج في الجزء المفتوح من عينة الاختبار. و "F" هي اختصار لـ "Final" ، وهي نتيجة على الجزء المخفي من البيانات المنشورة بعد نهاية المسابقة.

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



هذه الفكرة ، هذا سيف ذو حدين وأسئلة خلاف. إذا كنت تأخذ أسئلة من أي كتاب خاص ، فإن النموذج سيكون لديه تنافر. من ناحية ، فإن أسلوب الكتابة قريب من الافتتاحية ، من ناحية أخرى ، طالما قام المستخدمون الماكرون بتوجيه رسائل غير مرغوب فيها لهم برسائل خاصة للعبة العامة "Clover". لذلك ، لن نستخدمها ؛ سنحمي النموذج من الاضطراب الثنائي القطب في النمذجة.

كما قلت من قبل ، لدى المستخدمين بعض الإهمال في تنسيق أسئلتهم ، لذلك سنستخلصهم باستخدام التعبيرات العادية المنتظمة. سنكتب تعبيرات منتظمة للتحقق من وجود علامة استفهام ، لتحديد أنواع مختلفة من الاقتباسات ، للبحث عن الأحرف الكبيرة ،، ،. وسنعيد تدريب النموذج على هذه العلامات. علاوة على ذلك ، فإن التوقعات السابقة ستكون علامة إضافية. هذا سوف يساعد على تصحيح تنبؤات النموذج السابق.

وهكذا ، تم تنفيذ نموذج من مستويين حيث تم تعديل نتائج التعزيز على مصفوفة متفرق TF-IDF من خلال تعزيز الصفات الجدولية التي تم الحصول عليها باستخدام التعبيرات العادية.



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

→ الرمز الموجود في مستودع Github

All Articles