"هل ستعيش القطة في منزلي؟ تساءلت قبل أن أحضر صديقي ذي الفراء من مأوى الحيوانات الأليفة. وقررت اختبار فرضيتي باستخدام Process Mining ، وهو اتجاه جديد نسبيًا ولكنه يتطور بنشاط لتحليل العملية. من بين منتجات البرامج في هذا المجال ، هناك عدد كافٍ من البدائل ، على وجه الخصوص: Celonis و Disco و ProM و Apramore. قررت تجربة مكتبة لغة Python - PM4PY (Process Mining for Python) ، والتي ظهرت النسخة الأولى منها على GitHubمنذ أكثر من عام بقليل ، في نهاية عام 2018. تكمن خصوصياته في أنه برنامج مجاني ، وليس له قيود من حيث كمية الملفات التي تم تنزيلها وعدد الأحداث التي تم أخذها في الاعتبار في السجل (سجل الأحداث). يحتوي PM4PY أيضًا على وثائق شاملة تصف الوظائف الأساسية - يمكن العثور على أمثلة التعليمات البرمجية والمعلومات المرجعية على الموقع الرسمي - pm4py.org .
بادئ ذي بدء - ... لا ، ليس الطائرات ، ولكن البيانات! يدعم PM4PY تنسيقات إدخال متعددة. من بينها: CSV (مفصولة بفواصل) و XES (دفق الأحداث القابل للإمتداد) والباركيه. أبسطها ، سواء من حيث الفهم أو من حيث الوظائف المتاحة ، هو تنسيق CSV.
في هذا التنسيق تم تقديم البيانات الخاصة بالروتين الصباحي ، والتي تم استخدامها بشكل أكبر في المثال المدروس للعملية. في سلسلة من الأحداث في الصباح مثل "الاستيقاظ" ، "الإفطار" ، "تنظيف أسنانك" ، إلخ. تمت إضافة خطوة جديدة مهمة مثل "إطعام القطة". تم إنشاء هذا المثال بشكل مصطنع في جدول MS Excel ثم تم حفظه في CSV (عدد أيام المحاكاة هو 39 ، والعدد الإجمالي للأحداث كان 250). يتم استيراد البيانات في سطرين من التعليمات البرمجية. في الأول ، يتم تحميل ما يسمى بمصنع الاستيراد (فئة Python المقابلة لهذه المكتبة) ، وفي الثانية ، يتم إدخال اسم ملف البيانات إلى مدخلات هذا "المصنع" وتعيينه إلى المتغير المطلوب.
يمكن تغذية السجل الذي تم تحميله من الخارج (بتنسيق أو آخر) إلى مدخلات "Miners" - الخوارزميات التي تحلل سجل الأحداث المحملة في الذاكرة وتحاول بناء نموذج مفترض للعملية في شكل شبكة بتري باستخدام بيانات الإدخال هذه. أمثلة من الخوارزميات المتوفرة في PM4PY: Alpha و IMDFb و Heuristic. ولكن ، إذا كنت تتذكر ، فأنا لم أكن مهتمًا بالرسم البياني النظري الأكاديمي الدقيق لنموذج العملية ، ولكن في السؤال العملي البحت عن بقاء القط.
وبالتالي ، فإننا ننتقل إلى تحليل عملي أكثر إثارة للاهتمام للعملية في شكل رسوم بيانية DFG (Directly-Follows Graph) ، حيث تكون رؤوس الرسم البياني هي أحداث سجل الأحداث التي قمنا بتحميلها ، والحواف الموجهة تربط أزواج الأحداث التي حدثت واحدًا تلو الآخر مرة واحدة على الأقل ... ميزة هذا العرض هي العرض التفصيلي لجميع الانتقالات الممكنة. الجانب السلبي هو الفوضى المفرطة للصورة بخطوط متصلة ، يزداد عددها بشكل حاد مع الزيادة في عدد الإجراءات في السجل وتعدد تباين الخطوات الفعلية التي حدثت في العملية الملاحظة.
يمكن ملاحظة أن العملية الصعبة بالفعل لروتين الصباح مع إضافة خطوة إضافية واحدة مع إطعام الحيوان الأليف أصبحت أكثر صعوبة. يمكن رسم DFG من حيث التردد ، أي كم عدد الانتقالات التي حدثت من رأس إلى آخر. ويمكنك البناء في سياق الكفاءة في الوقت المناسب ، واختيار متوسط قيمة الوقت بين الأحداث كمؤشر. يمكنك أيضًا اختيار الحد الأدنى للقيمة أو الحد الأقصى أو المتوسط كمؤشر.
لتكون قادرًا على تضييق منطقة البيانات قيد الدراسة ، يوفر PM4PY القدرة على العمل مع المرشحات (يمكنك ضبط المرشحات حسب الأعمدة بنفس الطريقة كما في مكتبة الباندا) ومع الخيارات (تسلسل نموذجي للخطوات) للسجل. على سبيل المثال ، في الأشكال أعلاه ، تم عرض DFGs مع جميع الخيارات ، دون قيود. ولكن يمكنك ، على سبيل المثال ، اختيار أكثر 3 تسلسلات للخطوات شيوعًا ، وبعد ذلك ستكون الصورة أبسط بكثير.
في الوقت نفسه ، يجب أن نتذكر أن البساطة في الصورة على اليمين ظهرت بسبب تجاهل المزيد من الخيارات النادرة ، والتي تحتوي إما على خيارات غير نمطية ، ولكنها مقبولة تمامًا ولا تهمنا ، وانحرافات مهمة عن العملية القياسية التي تهمنا للغاية.
نتيجة لذلك ، نرى أنه حتى في أكثر تسلسلات الأحداث شيوعًا ، فإن خطوة "إطعام القط" حدثت فقط في 4 من أصل 8 حالات ، وفي نصف الحالات (4) تم تخطي هذا الإجراء ولم يكن هناك عودة إليه. أولئك. في هذه الحالة ، من الأفضل عدم التسرع في الوقت الحالي ، ودون تحمل مسؤولية إضافية ، للعمل على انضباطك والتزامك ، وليس طمأنة الحيوان بعناية ، وهو ما لن يحدث في الواقع.