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

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

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

هذا ملف بتنسيق csv يحتوي على جدول من ثلاثة أعمدة: معرف الطالب ، اسم الحدث ، الوقت الذي حدث فيه. هذه الحقول الثلاثة كافية لتتبع تحركات العميل ، وبناء خريطة والحصول على سلسلة ماركوف أخيرًا.
تقوم المكتبة بإرجاع الرسوم البيانية التي تم إنشاؤها بتنسيق .dot أو .gexf. لتصور السابق ، يمكنك استخدام حزمة Graphviz المجانية (أداة gvedit) ، وقد عملنا مع .gexf و Gephi مجانًا أيضًا.
بعد ذلك ، أود أن أقدم مثالين على استخدام سلاسل ماركوف ، والتي سمحت لنا بإلقاء نظرة جديدة على أهدافنا والعمليات التعليمية ونظام Skyeng البيئي نفسه. حسنا ، إصلاح الخلل.
الحالة الأولى: تطبيق جوال
بادئ ذي بدء ، استكشفنا مسار الطالب من خلال منتجنا الأكثر شعبية ، العام. في تلك اللحظة ، كنت أعمل في قسم الأطفال في Skyeng وأردنا أن نرى مدى فعالية تطبيق الهاتف المحمول مع جمهور أطفالنا.
أخذ السجلات وتشغيلها من خلال البرنامج النصي ، حصلت على شيء مثل هذا:

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

في البداية شعرنا بالدهشة ، لكن ، مع التفكير ، أدركنا أن هذا تأثير طبيعي تمامًا. في وقت واحد ، درست الفرنسية بشكل مستقل باستخدام أداتين: تطبيق الهاتف المحمول ومحاضرات حول القواعد على موقع يوتيوب. في البداية ، قمت بتقسيم الوقت بينهما بنسبة تتراوح من 50 إلى 50. لكن التطبيق أكثر متعة ، فهناك لعب ، كل شيء بسيط وسريع ومفهوم ، لكن تحتاج إلى الخوض في المحاضرة ، وكتابة شيء ما ، والتمرين في دفتر ملاحظات. تدريجيا ، بدأت في قضاء المزيد من الوقت على الهاتف الذكي حتى نمت حصته إلى 100٪: إذا تم تعليقه لمدة ثلاث ساعات ، فسيخلق ذلك إحساسًا خاطئًا بالعمل المنجز ، لأنه لا توجد رغبة في الذهاب والاستماع إلى شيء ما.
لكن كيف ذلك؟ بعد كل شيء ، أنشأنا تطبيقًا خاصًا للهاتف المحمول ، تم
بناؤه في منحنى Ebbinghaus ، وقمنا بتجريبه ، وجعلناه جذابًا بحيث قضى الناس وقتًا فيه ، لكن اتضح أنه يصرف انتباههم؟ في الواقع ، السبب هو أن فريق تطبيقات الأجهزة المحمولة كان أداؤه جيدًا في مهامه ، ونتيجة لذلك أصبح منتجًا رائعًا مكتفًا ذاتيًا وبدأ في التراجع عن نظامنا البيئي.
نتيجة للدراسة ، أصبح من المفهوم أن تطبيق الهاتف المحمول يحتاج إلى تغيير بطريقة ما بحيث يكون أقل استخلاصًا من المسار الرئيسي للدراسة. علاوة على ذلك ، كل من الأطفال والبالغين. الآن هذا العمل جار.
الحالة الثانية: البق على متن الطائرة
Onboarding هو إجراء إضافي اختياري عند تسجيل طالب جديد ، مما يلغي المشاكل التقنية المحتملة في المستقبل. يعني السيناريو الأساسي أن الشخص المسجل على الصفحة المقصودة ، يمكنه الوصول إلى حسابه الشخصي ، والاتصال به وإجراء درس تمهيدي. في الوقت نفسه ، نلاحظ وجود نسبة كبيرة من الصعوبات التقنية أثناء الدرس التمهيدي: إصدار المتصفح الخاطئ ، الميكروفون أو الصوت لا يعمل ، لا يمكن للمدرس اقتراح حل فوري ، وكل هذا صعب للغاية عندما يتعلق الأمر بالأطفال. لذلك ، قمنا بتطوير تطبيق إضافي في حسابك الشخصي ، حيث يمكنك تنفيذ أربع خطوات بسيطة: تحقق من المستعرض والكاميرا والميكروفون الخاص بك وتأكد من أن الآباء سوف يكونون هناك خلال الدرس التمهيدي (بعد كل شيء ، يدفعون مقابل تعليم الأطفال).
وأظهرت هذه الصفحات القليلة من onboarding هذا القمع:
1: بدء كتلة مع ثلاثة أشكال مختلفة قليلاً (حسب العميل) تسجيل الدخول / كلمة المرور.
2: موافقة الغربان على إجراء إضافي للداخل.
2.1-2.3: التحقق من وجود الأصل ، إصدار Chrome والصوت.
3: كتلة النهائية.يبدو الأمر طبيعيًا للغاية: في أول خطوتين ، يدمج معظم الزوار ، ويدركون أن هناك شيئًا ما يجب ملؤه ، والتحقق منه ، ولكن ليس هناك وقت. إذا وصل العميل إلى الخطوة الثالثة ، فمن المؤكد أنه سيصل إلى النهاية. ليس هناك سبب واحد مرئي على القمع للاشتباه في شيء ما.
ومع ذلك ، قررنا تحليلنا على متن الطائرة ليس على قمع أحادي الأبعاد الكلاسيكي ، ولكن باستخدام سلسلة Markov. قمنا بتشغيل المزيد من الأحداث ، وقمنا بتشغيل البرنامج النصي وحصلنا على هذا:

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

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