Python والوقت: خمس دوال لإيقاف كسر الكود على يوم الاثنين
إذا حاولت من قبل إطعام الشبكات العصبية ببيانات جُمعت من مصادر مختلفة، فأنت تعرف: الوقت هو أكثر أنواع البيانات خطورة وخداعاً. كل شيء يبدو بسيطاً، لكن يكفي أن…
معالج بواسطة الذكاء الاصطناعي من KDnuggets؛ بتحرير Hamidun News
إذا حاولت من قبل إطعام الشبكات العصبية ببيانات جُمعت من مصادر مختلفة، فأنت تعرف: الوقت هو أكثر أنواع البيانات خطورة وخداعاً. كل شيء يبدو بسيطاً، لكن يكفي أن يُصدر أحد الأنظمة تاريخاً بالصيغة الأمريكية وآخر بصيغة ISO، حتى يتحول خطك المضبوط بدقة إلى يقطينة. Python بهذا الخصوص هو صديق وفي قديم يتصرف أحياناً بطريقة غريبة. مكتبته القياسية datetime قوية، لكنها تتطلب الانضباط الذي لا تملكه البيانات الخام من الإنترنت ببساطة. نواجه باستمرار بيانات تصل على شكل نصوص مثل "قبل ساعتين" أو "15 من مارس"، وإجبار نموذج لغة كبير على تحليل هذا في الوقت الفعلي أمر مكلف جداً.
المشكلة الأولى التي تحلها وظائف التحليل الصحيحة هي التواريخ النسبية. تخيل أنك تجمع الأخبار لتدريب نموذج. النص "أمس" أو "قبل ثلاثة أيام" عديم الفائدة تماماً ما لم تربطه بنقطة محددة على محور الزمن. كتابة دالة تحول هذه التعبيرات إلى قيم مطلقة ليس مجرد سهولة—بل ضرورة للحفاظ على الدقة الزمنية لمجموعة بياناتك. بدون هذا، يخاطر نموذجك بالخلط بين السبب والنتيجة ببساطة لأن البيانات في "ذاكرته" اختلطت.
المشكلة الثانية هي حرب التنسيقات بين الولايات المتحدة وبقية العالم. الثاني عشر من يناير أم الأول من ديسمبر؟ إذا لم يكن لدى كودك منطق واضح للتعامل مع DD/MM و MM/DD مع الأخذ بعين الاعتبار سياق المصدر، ستواجه حتماً أخطاء يصعب جداً اكتشافها على أحجام بيانات كبيرة. إنشاء دالة غلاف تتحقق من صحة التواريخ وتحاول تخمين التنسيق بناءً على التكرار أو بيانات تعريف المصدر يوفر ساعات من التنظيف اليدوي للقاعدة. هذه حالة يمنع فيها قدر صغير من الأتمتة في المدخلات الكارثة في المخرجات.
ولا ننسَ المناطق الزمنية، ذلك "الزعيم النهائي" للبرمجة. يرتكب الكثير من المطورين خطأ تجاهل إزاحات UTC حتى يبدأ المشروع في التوسع. عندما تكون مصادر بيانات أو مستخدموك موزعين في جميع أنحاء العالم، فإن تخزين الوقت بطريقة "ساذجة"—بدون أي ربط بمنطقة زمنية—هو وصفة لخطأ سيظهر في أسوأ وقت ممكن. يجب أن تكون دالة مخصصة تفرض تحويل أي دفق بيانات وارد إلى UTC وتضيف علامة منطقة زمنية في ترسانة أي شخص يعمل مع التحليلات أو الذكاء الاصطناعي.
لماذا هذا حرج الآن؟ في عصر أنظمة RAG (الجيل المعزز بالاسترجاع)، تعتمد دقة استرجاع المعلومات على مدى حسن تنظيم بياناتك. إذا أرجع فهرسك البحثي مستند من 2022 بدلاً من 2024 بسبب خطأ في تحليل التاريخ، ستهلوس الشبكة العصبية بثقة. البيانات النظيفة في المدخل هي الطريقة الوحيدة للحصول على نتيجة مناسبة في المخرج. استخدام دوال DIY خفيفة الوزن بدلاً من المكتبات الثقيلة مثل Pandas حيث لا تكون ضرورية يسرّع أيضاً من برامجك النصية، وهو أمر حرج للأنظمة عالية الحمل.
في النهاية، العمل مع التواريخ مسألة نظافة الكود. يمكنك استخدام أكثر النماذج تقدماً مثل o1 أو Claude 3.5، لكن إذا أطعمتها القمامة، ستحصل على قمامة. خمس وظائف بسيطة لتطبيع التواريخ والتعامل مع الوقت النسبي وتوحيد المناطق الزمنية—ذلك هو الأساس الذي يُبنى عليه التعامل الموثوق مع البيانات. هذا ليس ابتكاراً، بل هو الحس السليم يُرتدي بضعة أسطر من Python.
النقطة الأساسية: لا تعتمد على أن البيانات ستصل دائماً بالتنسيق الصحيح. اكتب أدواتك الخاصة للتنظيف مرة واحدة، وستنسى مشاكل datetime للأبد.
هل تريد التوقف عن قراءة الذكاء الاصطناعي والبدء باستخدامه؟
AI News هو موجز منسق لأخبار الذكاء الاصطناعي. تعلمك Hamidun Academy استخدام الذكاء الاصطناعي في عملك.