يطلب مدير عمليات الدعم عرضاً أسبوعياً لشكاوى العملاء مصنفة حسب “الفئة” (category) و"السبب" (reason)، وموزعة حسب “القناة” (channel)، وذلك للربع الأول من عام 2025. تتلقى ملفاً بصيغة CSV (باسم complaints.csv) يحتوي على 48,219 صفاً تغطي الفترة من 1 يناير 2025 إلى 31 مارس 2025. يتضمن الملف تنسيقات تواريخ مختلطة في حقل “تاريخ الإنشاء” (created_at)، وقِيماً فارغة في حقل “السبب”، ومعرفات تذاكر (ticket_id) مكررة ناتجة عن عمليات إعادة المحاولة في النظام، وتسميات غير متسقة للفئات (مثل Billing وbilling وBILLING).
إن ما تقدمه ليس مجرد ملف مُنظَّف، بل هو جدول جاهز للتحليل مرفق بسجل تدقيق يوضح بدقة التغييرات التي أُجريت وأسبابها. وفي حال كان قرار التنظيف خاطئاً، يتحمل المحلل مسؤولية الخطأ المترتب على ذلك في تقارير مؤشرات الأداء الرئيسية (KPIs)، أو النموذج التحليلي، أو القرار المتخذ بناءً على البيانات. يمكن للذكاء الاصطناعي تسريع صياغة عمليات تحويل البيانات، لكنه لا يتحمل مسؤولية العواقب؛ لذا يجب توضيح كل قاعدة مقترحة واعتمادها من قبلك شخصياً.
ألقِ نظرة على شكل مجموعة البيانات هذه قبل عملية التنظيف وبعدها.
يُعد LLM (النموذج اللغوي الكبير) نموذجاً يولد نصوصاً استناداً إلى أنماط موجودة في بيانات التدريب الخاصة به وفي المدخلات التي تقدمها أنت. وفي سياق عمليات تنظيف البيانات، يقوم النموذج بتوليد قواعد وأكواد برمجية مقترحة، ولكنه لا يدرك طبيعة سير العمل في مؤسستك؛ لذا قد يطرح افتراضات تبدو منطقية ولكنها غير صحيحة حول دلالة القيم الفارغة (null) أو السجلات المكررة.
تُعرف المطالبة (Prompt) بأنها التعليمات التي ترسلها إلى النموذج اللغوي الكبير. وعملياً، تمثل هذه المطالبة “مواصفات” للعمل المطلوب؛ فإذا لم تحدد الثوابت أو الشروط الأساسية —مثل احتمالية تغير عدد الصفوف— سيعتمد الذكاء الاصطناعي إعدادات افتراضية ضمنية، وستصبح أنت ملزماً بتلك الإعدادات.
تشير نافذة السياق (Context window) إلى كمية النص المحدودة التي يمكن للنموذج اللغوي الكبير معالجتها في آن واحد. فإذا قمت بتزويد النموذج بعينة فقط من الصفوف، فقد يغفل عن الحالات الاستثنائية التي تقع خارج نطاق تلك العينة، مثل قيم حقل created_at (تاريخ الإنشاء) التي لا تظهر إلا في نهاية الشهر.
يُقصد بـ الهلوسة (Hallucination) توليد محتوى لا يستند إلى بياناتك أو تعليماتك. وفي عمليات تنظيف البيانات، تظهر الهلوسة عادةً في صور مثل: اختلاق خرائط تصنيف (category mappings)، أو تخمين أسباب غياب القيم، أو الادعاء بثقة بأنه يمكن حذف السجلات المكررة دون مخاطر. ويمكنك تجنب ذلك من خلال اشتراط تقديم أدلة ملموسة، مثل إجراء فحوصات يمكنك تنفيذها ومخرجات يمكنك مقارنتها (diff) للتحقق من صحتها.
تعرّف على كيفية ارتباط هذه المصطلحات بأنماط محددة لفشل عمليات تنظيف البيانات.
ابدأ بمرحلة “توصيف البيانات” (Profiling)، إذ لا يمكنك اختيار قواعد دون قياس البيانات أولاً. توفر هذه المرحلة معلومات مثل عدد القيم الفارغة (nulls) في كل عمود، وقوائم القيم الفريدة لحقل category (الفئة)، ومعدلات التكرار لحقل ticket_id (معرف التذكرة)، ومعدلات قابلية التحليل لحقل created_at (تاريخ الإنشاء). يمكن للذكاء الاصطناعي تلخيص تقرير التوصيف، لكنك أنت من يحدد أي الحالات الشاذة تُعد أخطاءً وأيها يمثل تبايناً حقيقياً في طبيعة العمل.
بعد ذلك، حدد القواعد قبل كتابة الكود البرمجي. على سبيل المثال، تُعد عبارة “توحيد تنسيق حقل category ليتبع نمط الأحرف الكبيرة في بداية الكلمات (Title Case) باستخدام جدول تعيين صريح” قاعدةً محددة. وكذلك عبارة "حذف السجلات المكررة في حقل ticket_id مع الاحتفاظ بالسجل الأقدم بناءً على حقل created_at" تُعد قاعدة أيضاً. فالكود البرمجي هو مجرد وسيلة للتنفيذ، بينما تظل أنت صاحب القاعدة ومسؤولاً عنها.
ثم قم بإنشاء عمليات التحويل (transforms). يمكن للذكاء الاصطناعي صياغة نص برمجي (script) باستخدام مكتبة pandas، ولكن يجب عليك التحقق من صحة الأداء من خلال اختبارات حتمية (deterministic checks). ويعني التحقق هنا التأكد من ثبات خصائص معينة — مثل عدد الصفوف، وقيود التفرد، وقيود نطاق القيم — وإيقاف العملية (أو اعتبارها فاشلة) في حال انتهاك أي من هذه الشروط.
وأخيراً، قم بالتوثيق. يُعد “سجل التدقيق” (audit trail) بمثابة سجل للتغييرات يوثق ما تم تغييره، وما تم حذفه، والافتراضات التي طُبقت، وذلك بصيغة تتيح لمحلل بيانات مستقبلي إعادة تنفيذ الخطوات ذاتها.
تعرّف على كيفية ترابط مخرجات سير العمل ببعضها البعض، بدءاً من مرحلة توصيف البيانات ووصولاً إلى التوثيق.