رحلة سبيربنك لمنظمة العفو الدولية. كيف علمنا شبكة عصبية لأداء امتحان

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



صورة

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



قليلا من الناحية النظرية


تطبيق الشبكات العصبية على أي مهام اليوم هو بالفعل قصة من هذه السلسلة: "لم يكن هناك شيء من هذا القبيل ، وهنا مرة أخرى." ولكن ما هي المهام الجديدة للشبكة العصبية التي ينبغي تطبيقها بالفعل؟


تاريخيا ، وضع المنظرون القدرات التالية في مفهوم الذكاء العام الاصطناعي:


  • صنع القرار في مواجهة عدم اليقين
  • التعلم الذاتي
  • تشغيل قاعدة المعرفة حول العالم
  • متعدد التخصصات ، معالجة مشتركة للمعلومات من مصادر مختلفة (نص ، صور ، صوت)

لقد حدد الاستعارة "الدماغ كجهاز كمبيوتر" هذه المتطلبات إلى حد كبير ، ولم يتم تنفيذ أحدها ، باستثناء التدريب ، بشكل كامل من قبل AI I \ (ツ) / ¯
في السنوات الأخيرة ، يمكنك ملاحظة المحاولات الأولى لإنشاء أنظمة أكثر تعقيدًا - على سبيل المثال ، أكمل Aristo من Allen Institute 90٪ اختبار المعرفة العامة للصف الثامن.


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


لاجتياز اللغة الروسية ، يجب على الطالب:


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

مع العلم أن أساليب البرمجة اللغوية العصبية الحديثة لا تزال قادرة على التعامل مع العديد من هذه المهام ، قررنا تجربتها.


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



لقطة شاشة من Yandex.Tutor


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


في فن إثارة الأسئلة ، كان المشرع غوراسيك مبدعًا حقيقيًا. لقد أجبر التلاميذ على سرد الوصايا العشر للرب أو عكسها:
- لودويك ، أجب بسرعة ، أيها الشرير ، ما هي الوصية في المرتبة الثالثة من النهاية ، قبل "ألا تقتل"؟
ياروسلاف هاسك ، "درس شريعة الله"


كيف تعاملنا مع هذا في الأساس؟


الإجابة: ¡ɯǝɓn̯ɔ ʞɐɯ و



نظرًا لعدم وجود أكثر من 27 نوعًا من المهام ، في بيانات التدريب ، أنشأنا محلل json الذي يختار الصياغة الدقيقة من نص المهمة بالكامل - ماذا وكيف يجب القيام به - وأنشأ في هذه الصيغ أبسط مصنف خطي على n-grams من الكلمات و SVM (أجهزة ناقل الدعم) ، التي تنبأت برقم الوظيفة ، وتلقى النظام تنسيق الوظيفة والاستجابة: https://github.com/sberbank-ai/ai-journey-2019 .


من المحتمل أن أرغب في تنفيذ آلية اهتمام أو شيء مشابه في هذا الجزء من الحل لإيجاد صلات بين الصيغ وأنواع الأسئلة. نأمل أن يقوم أحد المشاركين بتنفيذ هذا الحل.



تقييم القرار


عند تقييم مثل هذا الحل ، للمقارنة مع شخص ما ، لا يتم استخدام مقاييس التصنيف المعتادة (الدقة ، المقياس f.) ، ولكن يتم أخذ مقياس تقييم قدره 100 نقطة ، حيث يتم تلخيص نقاط المهام المكتملة بشكل صحيح.


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


تصميم خط الأساس


بعد تطبيق محلل json و مصنف الأسئلة ، تلقينا أنواعًا محددة من المهام. ينزلون إلى هذه القائمة:


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

باستخدام طريقة النظرة الإضافية ، قمنا بتقليل جميع أنواع المهام إلى طرق معالجة النصوص المعروفة.


يمبيدر (embedders)

يتم استخدام Embedders (word2vec ، fasttext ، GloVe) للحصول على تمثيلات متجهة للكلمات الفردية والجمل والنصوص. نحن نستخدم BERT على pytorch - محول عالمي ، يستخدم في أغلب الأحيان للحصول على خصائص الكلمات (من Google). يعطي هذا المحول نتائج عالية في المهام التي تحتاج فيها إلى فهم معنى كلمة متعددة القيم ، وتسليط الضوء على الجمل الأكثر معنى في النص ، إلخ. - يتم تقليل المهام إلى اختيار أقرب تضمين بواسطة مقياس جيب التمام.


نماذج اللغة

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


محللات التشكل وبناء الجملة

لتحديد جزء الكلام والحالات والأرقام والجنس والشكل العادي للكلمة والروابط بين الكلمات ، استخدمنا pymorphy2 و UDPipe.


المصنفات

يمكن تقليل مهام علامات الترقيم إلى التصنيف - ضع فاصلة في مكان معين أم لا ، وفقًا للقاعدة التي تم تعيين شرطة ، إلخ.


لقد حللنا نوعين من المهام مع الأنواع التالية من البنى:


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


يتلقى مصنف CatBoost نافذة إدخال لعلامات جزء من الكلام بطول 6 (من النموذج "NOUN VERB NOUN ADJ NOUN NOUN") وتقرر ما إذا كنت تريد وضع فاصلة في المنتصف أم لا.


قواعد المعرفة

ما يحتاج الطلاب إلى تذكره وتعلمه ، جمعناه من مصادر مفتوحة:


1 قاموس تقويم العظام (الإجهاد) - كما هو الحال في المناهج المدرسية.


2 قاموس tropes - الوسائل الأدبية: المترادفات والمتضادات ، والأسماء المترجمة ، والوحدات اللغوية ، وما إلى ذلك ، التي تم جمعها من المواقع على الأدب.


3 مجموعة من المقالات المدرسية حول الأدب - لمواصلة التعليم من النموذج التوليدي.


نماذج التكوين

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



لقد حللنا هذه المهام الفرعية كما يلي:


  • LDA + أعدت العبارة الأولى . يتم تجميع الإصدارات المجمعة من المقالات المدرسية على أساس الكلمة n-gram في 30 موضوعًا قمنا بترجمتها. تبين أن كل موضوع من الموضوعات يرتبط بعمل كاتب أو اثنين حول موضوع ذي صلة - أعمال عن مصير روسيا ، وعن وضع الناس ، وعن أعمال دوستويفسكي ، وعن أعمال أ. أخماتوفا وأهميتها بالنسبة للثقافة الروسية في القرن العشرين ، إلخ.
  • TextRank + القوالب . تقوم خوارزمية التلخيص بسحب أكثر الجمل 2-3 معنى من النص المحدد ، ويتم إدراج هذه الجمل في مجموعة من القوالب التي تؤطر اقتباسات مع موضع المؤلف.

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


فيما يلي مثال على التكوين النموذجي الذي حصلنا عليه في مثل هذا النموذج (النماذج مكتوبة بخط مائل ، والعبارة الأولى من النموذج المواضيعي مكتوبة بخط غامق).


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

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

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

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

بنية الأساس الناتجة


الحل النهائي له المنطق التالي:


  1. تتم كتابة المهمة الواردة بواسطة المصنف - تحصل على نوع من 1 إلى 27.
  2. كل مهمة من المهام الـ 27 لها محلل خاص بها - برنامج نصي يحتوي على تحليلات مهمة للمهمة ، والذي يتلقى المعلومات الضرورية من مجموعة نماذج ML المتاحة وقواعد المعرفة ويصدر الإجابة بالتنسيق الصحيح.

تجمع النماذج والقواعد المعرفية لجميع المعالجات أمر شائع ، ويتم تحميلها في الذاكرة مرة واحدة.



ما هي النتيجة؟


يعطي الخط الأساسي (حتى الآن دون التحقق من المقالات) 27 نقطة من أصل 100 - استفاد أكثر من 60 فريقًا من الحل الأساسي. وفقًا لمعايير الامتحان النهائي ، للحصول على شهادة ، يجب أن تحصل على 24 نقطة ، ولكن لتقديم مستندات إلى الجامعة تحتاج إلى 36 نقطة على الأقل. لقد تجاوزت هذه العلامة الآن أفضل فريقين.




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


سيقام نهائي المسابقة يومي 8 و 9 نوفمبر في مؤتمر رحلة منظمة العفو الدولية في موسكو. سجل للمنافسة والمؤتمر هنا .

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


All Articles