এইটা একটা ফান প্রোজেক্ট হিসেবে চিন্তাভাবনা করার জন্যে বানানো। প্রোজেক্টের নাম General purpose Anomaly detection and Alerting system । লেভেল ২ বা এর উপরে যারা আছ মূলত তাদের জন্য 🙂
বিভিন্ন কোম্পানিতে সিস্টেম অটোমেটিক মেইন্টেইন করার জন্য মনিটরিং দরকার হয়। বিভিন্ন রকমের মনিটরিং হতে পারে। যেমন Dhaka Stock Exchange সিস্টেমে প্রতি মিনিটে কতগুলো Transaction হচ্ছে, কোন পেমেন্ট সিস্টেম যেমন iPay তে প্রতি সেকেন্ডে কোন কারেন্সিতে কত টাকা ট্রান্সফার হচ্ছে, কোন অনলাইন কলিং সিস্টেম যেমন IPVision এর RingID এ প্রতি মিনিটে কয়টা ফোনকল হচ্ছে, FieldBuzz এর সিস্টেমে প্রতিঘণ্টায় কতগুলো এন্ট্রি সাবমিট হচ্ছে, গ্রামীণফোনের মত সিস্টেমে প্রতি ঘণ্টায় কয়টা FnF update রিকোয়েস্ট হচ্ছে, …… এরকম অনেক রকমের মনিটরিং।
তো এই মনিটরিং সিষ্টেমের একটা বিরাট অংশ হচ্ছে, কোন রকম ঝামেলা হলে যথাযথ মানুষকে Alert করা। Automated Alerting ব্যাপারটা খুব একটা সহজ কাজ নয়। Anomaly Detection করতে হবে। একজন ইঞ্জিনিয়ার হিসেবে এই ব্যাপারটা Automate করতে পারার কাজটা বেশ মজার। Anomaly হইল, একটা ডাটা সাধারণভাবে যেমন হওয়ার কথা, তেমন না থাকা। যেমন, কোন ডাটাবেজে প্রতি মিনিটে হয়ত ২০,০০০ টা Select query হইত, কিন্তু হঠাত করে সেটা কমে মিনিটে ৩৫টা হচ্ছে। নিশ্চয়ই কোন একটা গণ্ডগোল বেধেছে।
এইতো গেল, Anomaly’র ব্যাপার। এখন কাহিনী হইল, এরকম উল্টাপাল্টা ডাটা প্যাটার্ন Detect করার পর, সেটা যথাযথ মানুষকে জানাতে হবে। সেটা হতে পারে, sms পাঠিয়ে, email পাঠিয়ে বা অন্য কোনভাবে। বিভিন্ন Data’র জন্য আগে থেকে যারা Subscribe করে রাখবে, তারা Anomaly incident এ আলার্ট নোটিফিকেশন পাবে।
Anomaly Detection এর আর একটা চ্যালেঞ্জিং ব্যাপার আছে। জিনিসটা যে শুধু একটা নির্দিষ্ট ভ্যালু’র বেশী বা কম হলেই Anomaly, এরকম না। GrameenPhone e বিকাল ৪:৩০ এর সময় যত কল হয়, ভোর ৪:৩০টায় তত কল হয়না। এখন ভোরবেলা কল কম হচ্ছে বলে Alert দিয়ে মানুষজনকে শান্তির ঘুমে বারটা বাজানোটা ঠিক হবে না । কাকডাকা ভোরবেলায় কল কম হওয়াটাই স্বাভাবিক। এই ব্যাপারটা কে Daily Pattern বলে। এইরকম প্রতিদিন এর প্যাটার্ন থাকতে পারে, সাপ্তাহিক প্যাটার্ন থাকতে পারে। সিস্টেমের ইউজার কখন বেশী কখন কম, তার উপর নির্ভর করে Data’র প্যাটার্ন চেঞ্জ হয়। সেই জন্য একটা ভাল General purpose anomaly detection system এর এইধরনের pattern গুলো সামলাতে পারতে হবে।
মজার ব্যাপার হচ্ছে এই Anomaly Detection এর মত কাজ করতে গিয়ে দেখবা Low Pass Filter, Discrete Linear Convolution, Classification and Regression Trees, Machine learning কনসেপ্টগুলো কাজে লাগতেছে। তাই যারা এখনও একাডেমিক কোর্স গুলা পড়ার সময় চিন্তা কর যে “ধুর ছাই, এইগুলা পরে কে কবে জজ-ব্যারিস্টার হবে?” তাদের জন্য বলছি, আমাদের Undergraduate কোর্সগুলা স্যাররা খুব সুন্দর ভাবে ডিজাইন করছে। সময় থাকতে লাইনে আস, academic পড়াশুনার মজাটা হাতছাড়া হতে দিওনা :p
যাই হোক, অনেক বকবক করে ফেলসি। কেউ এই প্রোজেক্ট নিয়ে মাথা ঘামালে বা কোথাও আটকে গেলে আমাকে নক দিতে পার। অথবা আমাদের BSADD ( https://www.facebook.com/groups/bsadd/ ) গ্রুপেও প্রশ্ন দিতে পার, যেখানে আমাদের অন্যান্য অ্যালামনাইরা হেল্প করতে পারবে 🙂
1. https://msdn.microsoft.com/en-us/library/mt775197.aspx
2. https://medium.com/airbnb-engineering/anomaly-detection-for-airbnb-s-payment-platform-e3b0ec513199
3. https://blog.statsbot.co/time-series-anomaly-detection-algorithms-1cef5519aef2
4. https://www.datascience.com/blog/intro-to-anomaly-detection-learn-data-science-tutorials
5. https://hackernoon.com/anomaly-detection-of-time-series-data-using-machine-learning-deep-learning-c248061ea4f5
Leave a Reply