هل تساءلت يومًا كيف يتعرف الطفل الصغير على أبيه وأمه عندما يراهما أو يسمع صوتيهما؟ وهل تساءلت لماذا يكف عن البكاء عندما تأتيه بشيء يطلبه؟ ولماذا يضحك عندما يرى شخصيته المحببة في قصته المصورة أو يرقص على أنغام أغنيته المحببة؟ ولماذا ينفر من طعام معين قبل أن يتذوقه، بينما ينتبه فور رؤيته للحلوى التي تعجبه؟
إنها القدرة الربانية التي خلق الله بها الإنسان ليتعرف على الأنماط من حوله. ولكن ما معنى “نمط”؟ وكيف يتم التعرف عليه؟ في هذا المقال نبسط لكم مجالًا بحثيًا يسمى علم التعرف على الأنماط Pattern recognition وهو مجال متفرع ومرتبط بمجالات علمية أخرى كتعليم الآلة Machine learning وإبصار الحاسب Computer vision والذكاء الاصطناعي Artificial Intelligence وغيرها من المجالات الأخرى.
ما معنى “نمط Pattern“؟
النمط هو كيان غامض التعريف يمكن إطلاق اسم عليه، فقد يكون بصمة إصبع، كلمة مكتوبة، وجه إنسان، صوت، أو حتى شريط الحمض النووي DNA.
وما معنى “التعرف على النمط“؟
هو اكتشاف الفئة أو الصنف “class” الذي ينتمي إليه هذا النمط.
بمعنى أنه عندما يكون ليك صورة لبرتقالة على سبيل المثال، وتستطيع أن تميز أن ما في الصورة ينتمي إلى فئة الفاكهة فقد قمت بعمل تصنيف classification لصورة النمط وإذا استطعت أن تعرف اسمها فقد قمت بالتعرف على النمط “recognition”
وعلم تمييز الأنماط ما هو إلا محاكاة حسابية لقدرات البشر في تمييز الأنماط لخدمة العديد من الأغراض ما بين خدمة الإنسان وتوفير وقته وجهده في الأعمال التي لا تستدعي تفكير إبداعي أو مهارات خاصة، وما بين تلافي الأخطاء البشرية في الأعمال التي تستلزم قدرًا كبيرًا من الصبر أو دقة بالغة في إتمامها.
والتطبيقات كثيرة جدًا نستخدمها كل يوم. فما بين نظم التأمين والحماية بالتعرف على بصمة الإصبع والوجه وبصمة العين لحماية المنشآت، ومطابقة التوقيع وبصمة الصوت في المعاملات المصرفية، وتطبيقات طبية كالتشخيص الذاتي للأمراض، وتطبيقات تقنية كمحركات البحث على الإنترنت واسترجاع المعلومات من المواقع الإلكترونية، وتطبيقات الفلك وتنبؤات الطقس والاستشعار عن بعد، والتطبيقات الصناعية كفرز المنتجات وتحديد العيوب، وصولًا إلى برمجيات للحاسب كالتعرف على خط اليد والحروف، وتطبيقات للهاتف للتعرف الذاتي على الصوت دون الحاجة لكتابة رسالة أو البحث في قائمة الاتصال لإجراء مكالمة.
كل ذلك ليس سحرًا! هو فقط نظام يقوم بتقطيع الإشارة الداخلة إليه كالصورة أو الصوت أو حتى مقطع الفيديو، إلى كيانات أصغر ويعتبرها أنماطًا جديدة، ويحاول التعرف عليها، ثم إعادة تركيبها كما كانت، أو يقوم باتخاذ قرار بناءً على تلك المعرفة.
فمثلًا هل جربت مرة أن تستخدم خاصية الصوت في هاتفك بأن تنطق باسم الشخص الذي تريد أن تحادثه فقام هاتفك المحمول بطلب الرقم؟ ماذا يحدث إذًا؟ ببساطة إن إشارة الصوت الصادرة منك إلى الهاتف يتم تقطيعها ومعالجتها بواسطة تطبيق على الهاتف، فتصبح عبارة عن سلسلة من أنماط صغيرة تمثل كل منها منطوقًا يوازي حرفًا من حروف اللغة، وبعد التعرف على تلك الحروف يتم تجميع الاسم، فيقوم التطبيق بالبحث في قائمة الاتصال وإجراء مكالمة مع الشخص المقصود ذاتيًا.
هل كان لديك مرة مجموعة من الأوراق لا تخصك وتريد أن تقوم بتعديل محتواها؟ أو كتبًا تريد أن تقوم بتلخيص محتواها؟ ماذا كنت تفعل حينها؟ في الغالب كنت تقوم بإعادة كتابتها على الحاسب حتى تستطيع تعديلها. ولكن هناك حل آخر. وهو أن تقوم بمسحها ضوئيًا على جهاز ماسح ضوئي (سكانر scanner)، الذي يقوم بإصدار ملف .pdf به صور للصفحات الممسوحة، ثم تستخدم برمجية التعرف على الحروف Optical character recognition OCR لتقوم بالتعرف على الكتابة المحتواة.
كيف يحدث ذلك؟
ببساطة إن صورة الكتابة التي صدرت عن الماسح يتم تقطيعها بواسطة تلك البرمجية، إلى فقرات وسطور وكلمات ثم حروف. وتقوم البرمجية بالتعرف على صور الحروف وبالتالي الكلمات، فتعيد كتابتها مرة أخرى في ملف يمكن تعديله .doc بصمتك يتم مطابقتها بقاعدة بيانات من البصمات للتعرف على سجلك الجنائي. صورة وجهك يتم التعرف عليها في المطار لمطابقتها مع صورتك على جواز السفر. صور الأشعة وأرقام التحاليل يتم مقارنتها بالصور الصحيحة والمعتلة لمعرفة إصابتك بمرض ما من عدمه، أو مدى تطور المرض لديك. كلماتك التي تكتبها على محركات البحث يتم مطابقتها بالكلمات داخل الملفات، والكتب المرفوعة على الإنترنت لاسترجاع البيانات التي تبحث عنها. صور المحاصيل الزراعية والصحراء وباطن الأرض التي يرسلها القمر الصناعي تعالج لمعرفة أماكن المعادن، ومناطق الجفاف، ومواقع آبار البترول والفحم. كذلك صور الغلاف الجوى تحلل للقيام بتنبؤات الطقس، وصور الكواكب والنجوم تستخدم لمعرفة طبيعة الكوكب وتكوينه الداخلي. سيارتك ونظام التموضع GPS لتعرف اتجاهاتك وقراءة أرقام اللوحة ذاتيًا في أماكن المبيت لحساب التكلفة، هاتفك وتطبيقاته وحتى احتياجاتك الترفيهية كالكاميرا الرقمية التي تحدد موقع الأشخاص قبل التصوير في مربعات، وحاسبك الذي يمكنه لعب الشطرنج معك.
ألا تطالعنا الأخبار كل يوم باختراع جديد عن سيارة ذاتية القيادة، ورجل آلي يفهم تعبيرات الوجه، ويرعى المسنين، ويلعب الكرة. إنه ليس سحرًا. فكل تلك الإمكانيات تعتمد في المقام الأول على تسجيل كل أنواع الإشارات الصوتية والضوئية والصور وتحليلها ببرمجيات ذكية، للتعرف على مختلف الأنماط والتصرف بحسب ما تم تدريب (تعليم) الآلة عليه حسب كل حالة.
ولكن كيف يتم تحديدًا التعرف على الأنماط؟
من خلال ما يسمى سمات features فإذا رجعنا لمثال البرتقالة، كيف تعرف أن ما بالصورة هو برتقالة؟ ببساطة إنها دائرية ولونها برتقالي.
كيف تعرف صديقك في الصورة؟ أنت تعلم مثلًا لون عينيه، ورسم وجهه، ولون جلده، وطوله وحجمه.
كيف تقرأ كلمة “قطة”؟ أنت تعلم أن حرف القاف هو دائرة متصلة بخط عرضي وعليها نقطتان “قـ”، وأن حرف الطاء هو حلقة مستعرضة يعلوها خط طولي “ط”، وأن التاء المربوطة هي خط طولي متصل بدائرة تعلوه نقطتان “ـة”. إذًا فإن قـ – ط – ـة هي “قطة”
ماذا نطلق على هذه الخصائص؟ نسميها “سمات” features. والسمات يمكن أن تكون أي شيء: لون، طول، عرض، وزن، أو أي شيء يمكن ترجمته إلى رقم.
ولكن هناك أشياء مثل شكل الوجه مثلًا، كيف نستخرج منها سمات مميزة؟ ببساطة هناك ما يسمى بالتحويلات Transforms، وهي دوال رياضية تعبر عن أشكال المنحنيات، فيتم تحليل الصور إلى مجموعة من خطوط الرسم، هذه الخطوط يرمز لها بتلك الدوال، ويتم اختيار نقاط محددة على هذه الخطوط، أو معاملات coefficients الدوال نفسها كـ”سمات”.
وماذا بعد؟ الفكرة ببساطة أن قيم هذه السمات يمكن رسمها كنقاط في فراغ ثنائي أو ثلاثي الأبعاد أو أكثر من ذلك، فتجد أن الأنماط المنتمية لصنف محدد تتقارب في مواقعها في ذلك الفراغ، بينما تتباعد عن تلك التي تنتمي لصنف آخر. وهنا يأتي دور المصنِّف classifier في أن يقوم بتقسيم هذا الفراغ بحيث يتم فصل كل صنف في حيز معين منه.
وما معنى ذلك؟ معناه أنه كلما جئنا بصورة جديدة أو صوت يمكننا أن نستخرج سماته، ونرى أين يقع في ذلك الفراغ، ونستطيع أن نتعرف عليه بمعرفة موقعه هذا بالنسبة لأقسام الفراغ الخاصة بكل صنف. فإن كان لدينا مجموعة من صور الوجوه مثلًا، وقمنا باستخراج سمات كلون الجلد، وحجم العين، والأنف. وقمنا بتمثيل الصور كلها في فراغ ثلاثي الأبعاد، تمثل كل صورة نقطة في ذلك الفراغ، فإنه يمكن للمصنّف أن يقوم بتقسيم هذا الفراغ إلى: وجوه آسيوية، ووجوه أفريقية، ووجوه أوروبية. كل قسم تتقارب نقاطه نظرًا لتقارب القيم الرقمية للسمات، بينما تتباعد عن القسم الآخر. وإذا حصلنا على صورة جديدة، نستطيع ببساطة معرفة إلى أي صنف ينتمي صاحب الصورة، نظرًا لموقع سمات الصورة في الفراغ الذي قام المصنّف بتقسيمه.
هذا المصنف ما هو إلا حل رياضي، بعدما قمنا بتحويل المشكلة الحقيقة إلى تمثيل رياضي، فأصبح الهدف المباشر هو حساب دوال رياضية، وسلاسل متعددة الحدودpolynomials بدرجات مختلفة؛ لنستطيع تقسيم الفراغ الخاص بتمثيل المشكلة. نفترضه في البداية، ثم نقوم بتعليمه وتشكيله على أمثلة محلولة فيصبح جاهزًا للاستخدام على عينات حقيقية مجهولة، والنتيجة مذهلة حقًا.
هذه المصنفات ربما سمعت عن أسمائها من قبل إن كنت مهندسًا أو متخصصًا بعلوم الحاسب، وأشهرها على الإطلاق الشبكات العصبية neural networks بأنواعها، وسلاسل ماركوف المخفية Hidden Markov models، وماكينات دعم الموجهات Support vector machines.
هذا العلم على الرغم من بساطة منطقه وفكرته إلا أن تطبيقاته المذهلة لا تتوقف. وعلى الرغم من صعوبة مشكلاته التقنية، إلا أن القدرات التي يمنحها لتغيير حياة البشر، تستحق ذلك العناء. والمتعمق في ذلك العلم يقف عاجزًا أحيانًا أمام مشكلة تقنية توازي مهارة بسيطة للغاية، يستطيع طفل على فطرة الله أن يقوم بها بمنتهى السهولة، بينما تستغرقه أيامًا وأسابيع لكي يستطيع أن يحاكيه في مهارته.
علم يريك العالم من منظور مختلف، وتدرك فيه قدرة الله في نعم نظنها من المسلمات، ولا تشعر بقيمتها إلا حين محاولتك أن تحاكيها. وقتها تدرك أننا ما أوتينا من العلم إلا قليلًا.