تخيل أنك كتبت برنامجاً لتصفية الرسائل المزعجة (spam) يعتمد على مجموعة من عبارات الشرط (if). إذا كان عنوان الرسالة يحتوي على كلمة FREE (مجاني)، فصنّفها كرسالة مزعجة. وإذا كان نطاق المرسل ينتهي بـ .ru، فصنّفها كرسالة مزعجة. وإذا احتوت الرسالة على عبارة wire transfer (تحويل بنكي)، فصنّفها كرسالة مزعجة.
يبدو الأمر جيداً لمدة أسبوع، ثم يبدأ أداء صندوق الوارد في التراجع؛ إذ تظهر عمليات احتيال جديدة تتجنب الكلمات المفتاحية التي حددتها، وتُصنّف رسائل عادية كرسائل مزعجة لمجرد أن زميلاً في العمل كتب عبارة “غداء مجاني” في دعوة لاجتماع. لا يوجد شيء “معطل” في صندوق البريد بالمعنى التقني الذي يؤدي إلى توقف البرنامج عن العمل؛ فالقواعد لا تزال تنفذ بالضبط ما كتبته، وهذه هي المشكلة بحد ذاتها.
مع فشل نظام التصفية القائم على القواعد، تتمثل الخطوة التالية في استخدام نظام تتغير مخرجاته بعد الاطلاع على ما تعتبره أنت تصنيفاً صحيحاً. يتعلم البرنامج عندما تقوم عملية “التدريب” بتعديل إعداداته الداخلية، بحيث تؤدي نفس الرسالة المدخلة إلى نتيجة أفضل (تصنيف دقيق للرسالة سواء كانت مزعجة أم لا) مقارنة بما كانت عليه قبل التدريب.
لتوضيح الفكرة عملياً، لنفترض وجود صندوق وارد مصغر، حيث تأتي كل رسالة مصحوبة بـ تصنيف (label)؛ وهو الإجابة الصحيحة التي تريد من البرنامج تقديمها، مثل spam (رسالة مزعجة) أو not_spam (رسالة غير مزعجة). تُعرف مجموعة الأمثلة هذه بـ البيانات (data)، وهي عبارة عن مدخلات مسجلة مقترنة بتصنيفاتها. لا يتعامل البرنامج مع الرسائل ككتل غامضة، بل يستخدم السمات (features)؛ وهي خصائص ملموسة يمكن قياسها أو رصدها في الرسالة، مثل “احتواء الرسالة على كلمة invoice (فاتورة)” أو "انتهاء نطاق المرسل بـ .biz".
لاحظ كيف يمكن لنفس الرسائل المصنفة أن تؤدي إلى نتائج مختلفة قبل التدريب وبعده.
تكمن الفكرة الجوهرية في أن عملية التدريب تُغيّر سلوك المُرشِّح (الفلتر) دون الحاجة إلى إضافة تعليمات شرطية (if statements) جديدة. إذ تستخدم عملية التدريب التصنيفات (أو “الأوسمة”) المرفقة بالبيانات لتعديل الإعدادات الداخلية، بحيث تتوافق المخرجات مع تلك التصنيفات بشكل أكبر؛ ونتيجة لذلك، تصبح الرسالة التي كانت تُصنَّف خطأً في السابق مُصنَّفة بشكل صحيح بعد إجراء التعديلات.
بمجرد أن يصبح المُرشِّح قادراً على تغيير سلوكه بناءً على الأمثلة، يبرز السؤال التالي: أي نوع من التغييرات يُعدُّ “تعلُّماً”؟ إذا اكتفى البرنامج بحفظ رسائل البريد الإلكتروني المستخدمة في التدريب نصياً كما هي، فقد يحقق نتائج مثالية مع تلك الأمثلة، لكنه سيفشل في كشف محاولة احتيال تالية إذا كانت صياغتها مختلفة.
عند التعامل مع رسالة بريد إلكتروني جديدة لم يسبق للمُرشِّح رؤيتها، ما الذي يمكن أن يستخدمه نظام يعتمد على الأنماط لتصنيفها دون الحاجة إلى برمجة يدوية لكل حيلة احتيالية جديدة؟ يمكن للنظام إعادة استخدام خصائص (سمات) غالباً ما ترتبط بالرسائل المزعجة (السبام) في مجموعة البيانات المُصنَّفة، مثل وجود كلمة “invoice” (فاتورة)، أو استخدام نطاقات مرسل غير معتادة، أو وجود عدم تطابق بين اسم المرسل والنطاق المستخدم.
قارن بين كيفية تعامل كل من نظام يعتمد على المطابقة التامة (الذاكرة)، ونظام تعلُّم يعتمد على الأنماط، ونظام يعتمد على قواعد ثابتة، مع رسالة بريد إلكتروني واحدة لم يسبق للنظام رؤيتها.