يا جماعة الخير، خلوني أحكي لكم قصة صارت معي قبل كم سنة. كنت أشتغل مع شركة ناشئة في مجال التكنولوجيا المالية (Fintech)، شركة طموحة وشغلها نظيف، لكن كان عندهم مشكلة “قد راسها”. المشكلة كانت في عملية تسجيل العملاء الجدد، أو ما يُعرف تقنياً بـ “اعرف عميلك” (Know Your Customer – KYC).
كان الوضع كالتالي: العميل الجديد يسجل، يرفع صورة هويته وصورة شخصية (سيلفي). بعدين، كان في فريق كامل من الموظفين، مساكين، شغلتهم من الصبح للمسا يفتحوا هالصور ويقارنوها يدوياً. صورة الهوية واضحة؟ لا والله فيها لمعة. طيب الاسم مطابق؟ اه مطابق. الصورة الشخصية هي نفس صورة الهوية؟ والله يا أبو عمر الزلمة حالق ذقنه بالصورة الجديدة، مش قادر أميّز!
كنت أشوف الإيميلات تتكدس عندهم: “عزيزي العميل، نرجو إرسال صورة أوضح لهويتك”، “عزيزي العميل، الصورة غير مقروءة”، “عزيزي العميل، جدّد هويتك بعدين ارجع لنا”. كان العميل ينتظر أيام عشان يتفعّل حسابه، وكثير منهم كان “يزهق” ويتركنا ويروح لمنافس ثاني. الفريق كان على وشك الانهيار من ضغط الشغل، والمدير كل يوم يصرخ “ليش عملية التسجيل بطيئة؟ بدنا نكبّر يا جماعة!”.
في يوم من الأيام، وأنا قاعد مع مدير العمليات وهو بيشرب فنجان قهوة وبيشكي لي، قلت له جملة غيّرت كل شيء: “يا خوي، هذا الشغل مش شغل بني آدمين، هذا شغل الآلة!”. من هنا، بدأت رحلتنا في إنقاذ الشركة من جحيم التحقق اليدوي.
ما هو “اعرف عميلك” (KYC) ولماذا كان كابوساً؟
قبل ما نغوص في الحلول التقنية، خلونا نفهم أصل المشكلة. عملية “اعرف عميلك” (KYC) هي مجموعة من الإجراءات اللي بتفرضها الجهات التنظيمية على البنوك والشركات المالية للتأكد من هوية عملائها. الهدف الأساسي هو مكافحة غسيل الأموال وتمويل الإرهاب (AML) والاحتيال.
العملية التقليدية، اللي كانت شركتنا (وكثير غيرها) غارقة فيها، كانت تسير كالتالي:
- العميل يرفع صورة من مستند رسمي (هوية، جواز سفر، رخصة قيادة).
- العميل يرفع صورة شخصية حديثة (Selfie).
- موظف بشري يقوم بالآتي:
- يتأكد أن المستند غير منتهي الصلاحية.
- يتحقق من أن الصورة واضحة ولا يوجد بها انعكاسات ضوئية أو تلاعب.
- يُدخل بيانات العميل (الاسم، الرقم الوطني، تاريخ الميلاد) يدوياً في النظام.
- يقارن بصرياً بين صورة العميل في المستند وصورته الشخصية.
هذه العملية كانت كارثية لعدة أسباب:
- بطيئة جداً: قد تستغرق من ساعات إلى أيام.
- مُكلفة: تتطلب فريقاً كبيراً من الموظفين.
- عرضة للخطأ البشري: الإرهاق والملل يؤديان إلى أخطاء فادحة.
- تجربة سيئة للعميل: لا أحد يحب الانتظار أو إعادة إرسال مستنداته.
مهمة الإنقاذ: كيف يعمل نظام التحقق الآلي؟
هنا يأتي دور الذكاء الاصطناعي وتعلم الآلة. الحل الذي قمنا ببنائه (والذي أصبح الآن معياراً في الصناعة) يعتمد على ثلاث ركائز أساسية تعمل معاً في ثوانٍ معدودة.
الخطوة الأولى: التعرف الضوئي على الحروف (OCR) للمستندات
أول شيء، نحتاج أن “تقرأ” الآلة المستند الذي أرسله العميل. هنا نستخدم تقنية اسمها Optical Character Recognition (OCR).
ببساطة، نموذج الـ OCR مُدرّب على آلاف أنواع المستندات من مختلف أنحاء العالم. عندما ترفع صورة هويتك، يقوم النموذج بالآتي:
- تحديد نوع المستند: هل هو جواز سفر أردني؟ بطاقة هوية مصرية؟ رخصة قيادة سعودية؟
- استخلاص البيانات: يقرأ النموذج الاسم، الرقم الوطني، تاريخ الميلاد، تاريخ انتهاء الصلاحية، وغيرها من الحقول الهامة ويحولها إلى نص مقروء آلياً.
- التحقق من جودة الصورة: يتأكد النموذج من عدم وجود ضبابية (Blur)، أو لمعان (Glare)، أو أن تكون الصورة مقصوصة.
نصيحة من أبو عمر: لا تحاول بناء نموذج OCR الخاص بك من الصفر! هذه “شغلانة” معقدة جداً وتتطلب بيانات هائلة. استخدم خدمات جاهزة وموثوقة مثل Amazon Textract, Google Vision AI, أو Microsoft Azure Cognitive Services. هذه الخدمات توفر نماذج مدربة مسبقاً وتدعم اللغة العربية بشكل جيد.
على سبيل المثال، باستخدام مكتبة بسيطة في بايثون مثل pytesseract (وهي واجهة لـ Tesseract OCR engine من جوجل)، يمكن استخلاص النص من صورة بشكل مبدئي. الكود الفعلي في نظام إنتاجي يستخدم واجهات برمجية (APIs) أكثر تقدماً.
# مثال توضيحي جداً باستخدام بايثون ومكتبة افتراضية
# في الواقع، ستستخدم واجهة برمجة تطبيقات (API) لخدمة متخصصة
import hypothetical_kyc_sdk as kyc
# المسار إلى صورة الهوية التي رفعها العميل
id_card_image = "path/to/customer_id.jpg"
try:
# استدعاء الـ SDK لتحليل المستند
document_data = kyc.extract_document_info(id_card_image)
print(f"نوع المستند: {document_data.type}")
print(f"الاسم: {document_data.full_name}")
print(f"الرقم الوطني: {document_data.national_id}")
print(f"تاريخ انتهاء الصلاحية: {document_data.expiry_date}")
if document_data.is_expired:
print("تحذير: المستند منتهي الصلاحية!")
except kyc.ImageQualityError as e:
print(f"فشل التحقق بسبب جودة الصورة: {e}")
الخطوة الثانية: التحقق من الوجه وكشف الحيوية (Face Verification & Liveness Detection)
بعد أن تأكدنا من المستند، ننتقل للخطوة الأهم: هل الشخص الذي يحمل الهاتف الآن هو نفس الشخص صاحب المستند؟
هنا نستخدم تقنيتين:
- التحقق من الوجه (Face Verification): هذه ليست “التعرف على الوجوه” التي تراها في أفلام هوليوود. نحن لا نسأل “من هو هذا الشخص؟”. نحن نسأل سؤالاً أبسط بكثير: “هل الوجه (أ) هو نفس الوجه (ب)؟”. يقوم النظام بتحويل كل من صورة الهوية وصورة السيلفي إلى بصمة رياضية (vector) ويقارن بينهما ليعطي درجة تشابه.
- كشف الحيوية (Liveness Detection): هذه هي الضربة القاضية للمحتالين. كيف نتأكد أن العميل لا يستخدم صورة شخص آخر أو حتى صورة من شاشة أخرى؟ نطلب منه القيام بحركة بسيطة، مثل الابتسام، أو تحريك رأسه يميناً ويساراً، أو النظر إلى نقطة معينة على الشاشة. تقوم النماذج بتحليل الفيديو القصير للتأكد من أنها تتعامل مع شخص حقيقي ثلاثي الأبعاد وليس صورة ثنائية الأبعاد.
الخطوة الثالثة: محرك القرار (Decision Engine)
الآن لدينا كل القطع. محرك القرار هو “العقل” الذي يجمع كل هذه المعلومات ويتخذ قراراً شبه فوري:
- هل بيانات الـ OCR سليمة والمستند صالح؟ (نعم/لا)
- هل درجة تطابق الوجه مع السيلفي أعلى من العتبة المحددة (مثلاً 95%)؟ (نعم/لا)
- هل نجح العميل في اختبار كشف الحيوية؟ (نعم/لا)
إذا كانت الإجابة على كل الأسئلة “نعم”، يتم قبول العميل وتفعيل حسابه فوراً. آلياً، في أقل من 30 ثانية.
إذا كانت إحدى الإجابات “لا” أو كانت درجة الثقة منخفضة، يتم تحويل الحالة تلقائياً إلى “طابور المراجعة اليدوية”، حيث يقوم موظف بشري بالتدقيق فيها. وهكذا، تحول عمل الفريق من مراجعة 100% من الحالات إلى مراجعة 5-10% فقط من الحالات المشبوهة أو المعقدة.
نصائح عملية من خبرة أبو عمر
بعد ما خضنا هذه التجربة، تعلمت شوية دروس بحب أشاركها معكم:
- تجربة المستخدم (UX) هي الأهم: النظام الآلي يجب أن يكون سهلاً. يجب أن توجه العميل بوضوح: “ضع الهوية داخل الإطار”، “تأكد من وجود إضاءة جيدة”، “قرّب وجهك من الكاميرا”. ردود الفعل الفورية (Real-time feedback) تصنع الفارق.
- لا تثق بالمدخلات أبداً: تعامل مع كل الصور والبيانات على أنها محاولة احتيال حتى يثبت العكس. استخدم كل التقنيات المتاحة لكشف التلاعب بالصور (Photoshop) أو استخدام الهويات المزورة.
- العنصر البشري لا يزال ضرورياً: الهدف ليس التخلص من الموظفين، بل تحويلهم من مدخلي بيانات إلى محققين أذكياء يركزون على الحالات الصعبة التي تحتاج إلى حكم بشري.
- الخصوصية والأمان أولاً: أنت تتعامل مع بيانات حساسة جداً. تأكد من تشفير كل شيء، والالتزام بقوانين حماية البيانات مثل GDPR، وكن شفافاً مع عميلك حول كيفية استخدام بياناته.
الخلاصة: من الجحيم اليدوي إلى الكفاءة الآلية ✅
التحول من التحقق اليدوي إلى الآلي لم يكن مجرد تحسين تقني، بل كان نقلة نوعية في طريقة تفكير الشركة بأكملها. انتقلنا من شركة تعتذر لعملائها عن التأخير، إلى شركة ترحب بهم بحساب مُفعّل في أقل من دقيقة. الموظفون تخلصوا من المهام المتكررة والمملة وركزوا على ما هو أهم، والعملاء حصلوا على التجربة السريعة والسلسة التي يتوقعونها في العصر الرقمي.
فيا صديقي المبرمج أو صاحب العمل، إذا كنت لا تزال غارقاً في أي عملية يدوية متكررة، اسأل نفسك سؤالي المفضل: “هل هذا شغل بني آدمين، أم شغل الآلة؟”. غالباً، ستجد أن الذكاء الاصطناعي لديه الجواب، ومهمتك هي أن تجد الأداة المناسبة لتسخيره. 🚀