معكم في المساحات المفتوحة في Khabr ، اثنان من قادة فرق موظفي Rosneft الذين شاركوا في نهائي الماراثون Digital Breakthrough 2020 لتكنولوجيا المعلومات ولا يمكنهم الصمت حيال ذلك.
روسنفت ليست غير مبالية بأحداث تكنولوجيا المعلومات. لماذا ، تقوم الشركة نفسها سنويًا بإنشاء هاكاثونات وتحديات ( https://rn.digital/it2020 ) من أجل هز مجتمع تكنولوجيا المعلومات لحل المشكلات العاجلة من أجله. ومع ذلك ، لا يُسمح لموظفيها بالمشاركة في سباقات الهاكاثون الخاصة بشركة Rosneft - فهذا ليس أخلاقيًا تجاه المشاركين الخارجيين. لكنهم ، مطورو ومبرمجو برامج الشركات ذات التقنية العالية ، يريدون قياس أنفسهم مقابل القوة البطولية!
لذلك ، فإن مشاركة موظفي Rosneft في مختلف الهاكاثونات هي نوع من صيانة الفريق في حالة قتالية ، ومصدر للإلهام والأفكار ، وتشجيع تطوير مناهج غير قياسية لمهام تكنولوجيا المعلومات الشيء الرئيسي ليس على حساب العمل الرئيسي ، ولكن هذا واضح بالفعل. تهدف شركة النفط الرائدة إلى رقمنة العمليات التجارية واستبدال الواردات بتقنيات المعلومات في مجال إنتاج النفط والغاز ، وبالتالي فإن وجود روح تنافسية بين موظفي الشركة والاستعداد للمنافسة مع بقية العالم يعتبر شكلاً جيدًا.
في هذا المقال ، سيخبر موظفو RN-BashNIPIneft ، Chingiz Akhmetov و Maya Bikmetova ، بالألوان عن مسار فرقهم إلى ختام حدث تكنولوجيا المعلومات الرائع ، وتبادل الأفكار واختراقات الحياة.
جنكيز احمدوف وفريق "Inn BTG"
دعونا نقدم أنفسنا أولا. "Inn BTG" تعني: "Innovatively. ببراعة. من الناحية التكنولوجية. بشكل كبير ". وهم أيضا فلاديمير ريجيكوف ، ورادمير كريموف ، ومراد موسين ، وتشينغيز أحمدوف.
منذ أكثر من عام بقليل ، عندما وقعت إحدى مراحل اختراق Digital Breakthrough - 2019 hackathon في أوفا الأم ، شكلنا فريقًا للمشاركة فيه وانخرطنا في حل المشكلة. في ذلك الوقت الذي لا يُنسى ، وصلنا إلى النهائي الذي أقيم في كازان! لسوء الحظ ، لم يتمكن جميع أعضاء فريقنا من حضور الحدث في ذلك الوقت. لذلك ، في حالة الطوارئ ، كان على بقايا الفريق تشكيل "عصابة" جديدة من نفس المرتدين من مدن أخرى (انضم إلى أوفا لدينا تشيريبوفيتس وسانت بطرسبرغ). في النهائي ، للأسف ، لم ننجح في الفوز أو حتى الحصول على ترشيح. لذلك ، منذ هاكاثون العام الماضي ، لدينا فقط ما يميزنا على شكل بلوزات مشرقة جميلة مع رموز المسابقة وجشطالت مكشوفة للفوز بالنهائي ...
في هذا الصدد ، في عام 2020 ، قبل أسبوعين من بدء مركز Ural IT لماراثون الاختراق الرقمي - 2020 ، تم اتخاذ قرار قوي الإرادة لإنشاء فريق جديد لتحقيق انتصار رائع وغير مشروط ، أولاً على المستوى الإقليمي ، ثم في المرحلة النهائية من المسابقة.
مثل العام الماضي ، تم تشكيل العمود الفقري (3 مقاتلين) من زملاء من قسم واحد في معهدنا العلمي والتصميمي ، الذين يقومون الآن بتطوير حزمة برامج للنمذجة الجيولوجية لحقول النفط "RN-GEOSIM". أيضًا ، من أجل الموثوقية ، تم تزويد الفريق بموظف بنك ، ولكن ليس من أجل القروض والرهون العقارية ، ولكن نظرًا لأنه صديقنا في مقعد الطالب السابق وهو يعرف عمله. وبالتالي ، كان من الممكن جمع "الأربعة الرائعة" ، حيث كان لكل مشارك خبرة في مجالات معينة من البرمجة ، وكان بطريقة ما خبيرًا.
لقطة شاشة من البث أثناء إعلان الفائزين بالقضية.
كمشاركين ذوي خبرة ، نود أن نلاحظ زيادة في مستوى تنظيم الهاكاثون مما كان عليه في الماضي. هذا العام هناك المزيد من المهام ، وهي أكثر تنوعًا ، على سبيل المثال ، ظهرت المهام ليس فقط لخدمات الويب. هذه المرة ، يقام الهاكاثون عبر الإنترنت ، مما جعل الحياة أسهل للمشاركين وجعل من الممكن توفير تكاليف النقل. يتم بث الأخبار الرئيسية والمقابلات مع الأشخاص المثيرين للاهتمام ومختلف المسابقات والاختبارات على قناة YouTube. يتم نشر المعلومات الخاصة بالمشاركين على قنوات Telegram. في دردشة Telegram الرئيسية للمسابقة ، هناك تواصل مع الدعم بشأن الأسئلة العامة ، وتأتي الإجابات على الفور. هناك أيضًا قناة للعثور على الأعضاء والفرق. تم اختيار Discord للتواصل داخل الفريق (تم استخدامه أيضًا للتواصل مع خبراء الحالة عند نقاط التفتيش). باختصار ، كل شيء للناس!
بشكل منفصل ، نريد أن نضع علامة "plus" لحقيقة أنه لا يوجد الآن اتصال صارم بالمنطقة: فريقنا من Ufa ، لكننا كنا مشغولين في وقت واحد ولم نتمكن من المشاركة في Volga Hub ، لكننا تمكنا من المنافسة في الأورال. كان من دواعي سروري أن يتم نشر تسجيلات جميع عمليات البث وتدفق الحماية على قناة YouTube. شفافة وغنية بالمعلومات.
اختار فريقنا المشاركة في حل قضية "مسار الدراجات" من قسم المعلوماتية في منطقة تيومين: "تطوير برمجيات تسمح بتحليل الوضع الأولي لمعابر المشاة ومسارات الدراجات والمشي الفعلي وركوب الدراجات لسكان المدينة". لا يعني ذلك أننا معجبون بهذا الحجم. تم اختيار هذه المهمة لأنه تم وصفها بتفصيل كبير في مقابلة صاحب القضية ( https://www.youtube.com/watch؟v=hLPGCZ-5HRc ) ، وكان الهدف الرئيسي هو الحصول على بعض التقنيات والخوارزمية. هذا هو موضوعنا بالضبط.
أعطت الفرق القضايا الأولوية قبل البداية. أصبحت النسبة النهائية لعدد الفرق حسب الحالات في Ural Hub مرئية بعد البداية.
لقد فهمنا أنه من المهم جدًا اختيار الأدوات التي من شأنها أن تساعد في جعل MVP (الحد الأدنى من المنتج القابل للتطبيق ، أو في رأينا "منتجًا بحد أدنى من الوظائف ، ولكنه كافٍ لإرضاء المستهلكين الأوائل") بأسرع طريقة. بالنسبة لنا ، هم Python مع مكتباتها NetworkX (للعمل مع الرسوم البيانية) و OSMnx (لتمثيل بيانات OpenStreetMap كرسم بياني). أداء مثل هذا الحل يترك الكثير مما هو مرغوب فيه ، لأن بايثون نفسها بطيئة ، ولم تكن هناك خوارزميات متخصصة للعمل مع الرسوم البيانية للطرق في NetworkX. في نموذجنا الأولي ، بلغ وقت التشغيل للتكتل الصغير إلى حد ما عشرات الدقائق. من الواضح أن مثل هذا الوقت غير مقبول للمستخدم ، لكننا أظهرنا أن الفكرة تعمل. في المستقبل ، نحن نعتبرمن الأفضل إعادة كتابة النواة الحسابية إلى لغة مترجمة باستخدام خوارزميات متخصصة بالتوازي.
الجوهر المختصر للخوارزمية لدينا هو أن المدينة بأكملها (مخطط الخوارزمية ، يسار ، أعلى) مقسمة إلى أقسام. في كل قسم ، يتم تحديد درجة الطلب على مسارات الدراجات (مخطط الخوارزمية ، يمين ، أعلى). تمت تصفية الرسم البياني للطريق ، ولم يتبق سوى تلك الطرق التي يمكن إنشاء مسارات للدراجات فيها. ثم تتم مقارنة الرسم البياني المرشح بالمجموعة ، ولم يتبق سوى تلك الطرق التي تقع في الأقسام المطلوبة من الكتلة (مخطط الخوارزمية ، يسار ، أسفل). ترتبط الجزر الناتجة عن طريق خوارزمية أقصر المسارات بحيث يتم توصيل نظام مسارات الدراجات ، أي أن راكب الدراجة يمكنه القيادة من منطقة إلى أخرى (تعمل الخوارزمية ، يمينًا ، أسفل).
مخطط الخوارزمية.
تم تقسيمنا إلى مهام فرعية: أحدهما قام بجزء الحساب ، والثاني أحضر الخادم ، والثالث فعل التصور على صفحة الويب ، والرابع عرض سطح المكتب. تمكنا من إنجاز كل شيء تقريبًا. قررنا نقل الرسم البياني الناتج إلى العميل بالكامل والرسم من خلال OpenLayers ، على الرغم من أنه قد يكون من الأفضل نشر خادم التجانب الخاص بنا.
مخطط MVP المصمم (دون المستوى الأمثل).
النتائج النهائية
في نهاية مسابقة الاختراق الرقمي ، حصلنا على حالة من وزارة الطاقة "تطوير نظام لنمذجة اعتماد استهلاك الكهرباء والمؤشرات الاقتصادية للاتحاد الروسي حسب المناطق والصناعات. مقارنة بالمرحلة الإقليمية ، كانت المباراة النهائية أكثر طموحًا: زاد عدد الحالات (15 مقابل 9) ، وعدد الفرق في الحالة (26 مقابل 10). كما نما صندوق الجوائز للفائزين ، ويمكن رؤية الأرقام الدقيقة على موقع الويب https://leadersofdigital.ru .
في سياق العمل على المهمة واتباع نتائج المشاورات مع حاملي الحالات ، قررنا تنفيذ المشروع في Jupyter Notebook في Python ، واستخدام الاقتصاد القياسي للنمذجة. كان المتغير التابع للنموذج هو الحجم الفعلي لاستهلاك الطاقة ، وكان المتغير المستقل هو حجم التعدين والتصنيع. تم التنبؤ بالمتغير التابع وفقًا للخوارزمية التالية:
1. توقع الإنتاج الصناعي (بناء اتجاه خطي):
أ. يتم تمييز قسم الرسم البياني ، والذي يستخدم لحساب معاملات الاتجاه.
ب. يتم تحديد معاملات الاتجاه الخطي بطريقة المربعات الصغرى.
2. تم بناء نموذج لاعتماد اتجاه استهلاك الكهرباء على حجم الإنتاج الصناعي
3. يتم التنبؤ بحجم استهلاك الطاقة باستخدام النموذج المركب والنمذجة بطريقة SARIMA (المقالة https://habr.com/ru/company/ods/blog/327242/ ساعدتنا كثيرًا. ).
نتائج التنبؤ المتبقية.
لسوء الحظ ، كان النهج المختار أقل قليلاً من المراكز الثلاثة الأولى ، واحتلنا المركز 22. هل سنشارك في هاكاثونات مماثلة في المستقبل؟ بالطبع! يتيح لك حل المهام غير المتعلقة بالعمل النظر إلى مهام العمل بعين جديدة لاحقًا.
مايا بيكميتوفا و "NEII"
قبل أسابيع قليلة من Digital Breakthrough 2020 ، شاركت في هاكاثون آخر أصغر حجمًا ، وحصل فريقي على المركز الأول. ربما أثر هذا على قرار تجربة يده في المنافسة الروسية بالكامل.
لقد دعوت زملائي وأصدقائي مارينا سيميونوفا وجوزيل ونيل أكمورزين للانضمام إلى الفريق ، لأنه من الأسهل بكثير العمل في ضغوط الوقت مع الأصدقاء الذين أعرفهم. هذا لا يضيع الوقت في الطحن ، ويمكن تخصيص كل 30-36 ساعة من الهاكاثون لتطوير وإنشاء MVP. لقد دخلنا إلى Volga IT-Hub of Digital Breakthrough - 2020 كفريق من NEII. هذا الاسم كان معنا لفترة طويلة. نعتقد أنه يعكس جوهرنا بشكل أفضل: موظفو معهد أبحاث يشاركون في تطوير الأنظمة القائمة على الذكاء الاصطناعي (AI).
كما كتب زملائي (وهم متنافسون) أعلاه ، بسبب الوضع الوبائي المعقد ، تم عقد الهاكاثون عبر الإنترنت. كانت لدينا ثلاث نقاط تفتيش تحدثنا فيها مع الوسيط والخبير الفني وممثل صاحب الحالة. لقد استمعوا إلى أفكارنا ، وقدموا النصائح ، وشاهدوا ما قمنا به ، وقيّموا عرضنا.
تم تزويد جميع الفرق بقائمة من 10 حالات. عند التسجيل ، أعطينا الأولوية. وكانت إحدى الحالات الأكثر أولوية بالنسبة للفريق هي الذهاب إليها في الهاكاثون. بالإضافة إلى ذلك ، احتوت كل حالة على وصف عام للمشكلة ، ولم يتم تقديم وصف تفصيلي إلا في بداية المنافسة. لقد حصلنا على حالة كان من الضروري فيها تطوير نظام ذكي لأتمتة المعلومات وتقديم المزايا الاجتماعية للسكان. زبون هذه الحالة هو وزارة الشؤون الاجتماعية والديموغرافية والسياسة الأسرية في منطقة سمارة.
المخطط العام للحل المطور.
تحدثنا أيضًا على Discord لمناقشة المهام. ألقوا معًا أفكارًا لإيجاد حلول ، ووزعوا من سيفعل ماذا. كانت مارينا مسؤولة عن منطق الخادم - الواجهة الخلفية وقاعدة البيانات ، Guzel - للعرض التقديمي ، و Nail للواجهة الأمامية. لقد توليت تطوير نموذج التعلم الآلي وإدارة الفريق والتواصل مع صاحب الحالة.
نتيجة للعمل في المهمة ، قمنا بتنفيذ نماذج أولية لنظامين.
1. تطبيق ويب في شكل روبوت محادثة لإعلام السكان بفوائده.
في جانب العميل يصف المواطن حالة حياته. يتم إرسال الطلب الناتج إلى خدمة البرمجة اللغوية العصبية ، المسؤولة عن معالجة اللغة الطبيعية. تحت الغطاء ، يتم تحديد فئة طلب المستخدم باستخدام أساليب التعلم الآلي. بعبارة أخرى ، يتم حل مشكلة تصنيف النص. يتم إرسال توقع NLP للنموذج إلى قاعدة البيانات. يتم إرجاع المعلومات الضرورية حول الفوائد المتوقعة من قاعدة البيانات باستخدام المفتاح وتقديمها مرة أخرى إلى العميل.
يصل البرنامج النصي الرئيسي في الخلفية إلى خدمة البرمجة اللغوية العصبية وقاعدة البيانات.
في مربع الحوار ، يرى المستخدم المزايا التي يحق له الحصول عليها والمستندات التي يجب جمعها.
لقطة شاشة لنموذج أولي لـ chatbot لإعلام السكان بالمزايا.
2. خدمة التحقق من تحديث القوانين المعيارية والتشريعية.
في سياق التواصل مع ممثل صاحب الحالة ، اتضح أن الألم الكبير للعاملين في الضمان الاجتماعي هو الحاجة إلى مراجعة العديد من الوثائق التنظيمية بانتظام من أجل التعرف بسرعة على التغييرات في التشريعات. إذا كانت هناك تغييرات ، يقوم الموظف بتحديث قاعدة البيانات المحلية. وبطبيعة الحال ، فإن هذا يستغرق الكثير من الوقت والجهد ، ويكون لدى الموظفين وقت أقل للعمل مباشرة مع الناس. نحن مقتنعون بأن مثل هذا العمل الروتيني يمكن ويجب أن يكون آليًا.
كأول تقدير تقريبي لحل هذه المشكلة ، اقترحنا خدمة تقارن بشكل منتظم المستندات الموجودة في قاعدة بيانات الضمان الاجتماعي المحلية بنفس المستندات الموجودة في قاعدة بيانات بعض الخدمات عبر الإنترنت ، على سبيل المثال ، "Consultant Plus". إذا اكتشفت وجود اختلافات في المستندات ، ترسل الخدمة إشعارًا إلى عامل الضمان الاجتماعي مثل "كانت هناك تغييرات في المستند X. قم بتحديث قاعدة البيانات المحلية الخاصة بك. " وبالتالي ، يتحرر موظف الضمان الاجتماعي من الحاجة إلى جرف مجموعة من المستندات. ستكتشف الآلة التغييرات في القوانين بالنسبة له / لها أثناء عمله مع المواطنين.
إذا تحدثنا عن الجانب التقني للمسألة ، كخط أساس لحل مشكلة مقارنة النصوص ، فقد استخدمنا النهج الكلاسيكي ، وغالبًا ما يستخدم في استرجاع المعلومات ، - تمثيل المستندات في شكل متجهات رقمية ، متبوعًا بتقدير مسافة جيب التمام بينهما.
صيغة لحساب مسافة جيب التمام بين متجهات وثيقتين.
والآن زوجان من حيل البقاء على قيد الحياة في الهاكاثون. نوصي في البداية بالموافقة على قائمة وإصدارات المكتبات للعمل معها. سيؤدي هذا إلى تجنب المواقف التي لا يتم فيها إنشاء المشروع بسبب تعارضات الإصدار ، وتحتاج إلى إرسال التعليمات البرمجية الخاصة بك للمراجعة في غضون 10 دقائق. بالمناسبة من الأفضل نشر روابط للعرض التقديمي والحل قبل نصف ساعة من نهاية المسابقة ، وعدم تركها حتى اللحظة الأخيرة. في الهاكاثون ، كان الناس قلقين حقًا بشأن موقع تحطم قبل خمس دقائق من التسليم النهائي للمشروع بأكمله ... التقنيات المستخدمة: المصدر المفتوح طويل العمر
! الشيء الرئيسي هو تتبع إصدارات الإطارات.
من ناحية أخرى ، يعد الهاكاثون مسابقة بين المتخصصين التقنيين ، وتقوم لجنة التحكيم بتقييم الكود: قابلية القراءة ، وقابلية التشغيل ، وهندسة الحلول ، والتوثيق. من ناحية أخرى ، هناك صاحب حالة وممثلوه بعيدون عن عالم تكنولوجيا المعلومات. إنهم ، أولاً وقبل كل شيء ، يقدرون جمال واتساق ووضوح العرض التقديمي وتصميم الواجهة. بمعنى آخر ، من الأفضل أن يكون هناك شخص في الفريق يتعامل فقط مع العرض التقديمي ، الشخص الذي ، بمساعدته ، سوف "يبيع" الحل لصاحب الحالة.
النتائج النهائية
لسوء الحظ ، لم يكن هناك وقت للتحضير لنهائي الاختراق الرقمي - 2020. تقليديا ، هناك المزيد من العمل بحلول نهاية العام. لذلك اعتمدنا على الحظ وعلى بعضنا البعض!
في النهائي من الهاكاثون ، كنا في نفس المجموعة. هذه المرة صادفنا حالة من Sberbank: المهمة هي إنشاء حل من شأنه أن يساعد في تسريع العمل مع البريد. لقد اتضح أنها مشكلة كبيرة ، حيث يتعين على كبار المديرين التنفيذيين فرز 2000 رسالة بريد إلكتروني يوميًا ، وهو ما يستغرق 3 ساعات على الأقل!
عند نقطة التفتيش الأولى ، قيل لنا أن مطوري سبيربنك كانوا في حيرة بشأن هذه المشكلة لفترة طويلة ، لكنهم لم يتوصلوا بعد إلى حل ملموس - كانوا بحاجة إلى فكرة من شأنها أن تساعدهم في النهاية على الوصول إلى شيء ما.
وبدأنا نفكر. في غضون ساعتين ، أنشأنا العديد من الأفكار المختلفة والمثيرة للاهتمام (كان هذا هو الجزء الأكثر إبداعًا من الهاكاثون ، حيث اقترح أحدها ، وتم استكمال الآخر ، وتحولت هذه الفكرة إلى أداة مثالية من شأنها أن تحل محل البريد الإلكتروني العادي = D).
نتيجة لذلك ، وضعنا تصورًا لتطبيق عميل البريد الخاص بنا "Sber-secretary" ، والذي من شأنه تحويل المراسلات إلى دردشة ، وسيتم تجميع المحادثات حسب الموضوع في مجلدات ، وسيحدد النظام تلقائيًا أهمية المراسلات (الدردشة). في الدردشة ، يمكنك الاستماع إلى الرسائل غير المقروءة ، ويمكن إملاء نصوص الرسائل ، وإنشاء حرف جديد بأمر صوتي واحد ، وعلى النافذة الرئيسية ، بدلاً من مراسلة واحدة ، للإسراع ، يمكن عرض من 1 إلى 4 ، وبعض الميزات الإضافية.
تخطيط واجهة عميل البريد الإلكتروني
بعد ذلك ، قمنا بتعيين المسؤوليات: كنت مسؤولاً عن جانب الخادم في المشروع ، وكان Nail مسؤولاً عن جانب العميل ، ووضعت مارينا التصميم في figma ، وقام Guzel بعمل عرض تقديمي جميل وواسع وأعد للدفاع.
علمنا على الفور أنه لن يكون لدينا الوقت لتقديم طلب عملي ، لكننا كنا نأمل أن ينضج جزء العميل على الأقل. لقد اتضح أنه يتطلب الكثير من العمل ، ونتيجة لذلك ، أظهرنا في Figma الوظيفة التي يمكن أن يمتلكها عميل البريد لدينا ، ووصف بنية المشروع ، وحدد عددًا من مزايا هذا الحل ، وقمنا بإجراء مقارنة مع Outlook ، وتكلفة المشروع ومراحل التنفيذ.
أعتقد أنه يمكننا القول إن هيئة المحلفين أعجبت بقرارنا ، لأنه خلال إحدى نقاط التفتيش أظهر المتعقبون أننا نتحرك في الاتجاه الصحيح. لم ننجح في إنشاء تطبيق عملي ، لكننا دخلنا في المراكز الخمسة الأولى (المركز الخامس) من بين 11 فريقًا. ماذا يعني المركز الخامس بالنسبة لنا؟ هذا يعني أن لدينا الفرصة لإظهار أفضل نتيجة في المرة القادمة!
إذا كنت قد شاركت أيضًا في "Digital Breakthrough - 2020" ، فاكتب انطباعاتك وأفكارك في التعليقات!