টুইটারের টুইট দিয়ে প্রাকৃতিক দুর্যোগের মেশিন লার্নিং মডেল-৫
Last updated
Last updated
বৃষ্টির আগে অনেক সময়েই আকাশের দিকে তাকিয়ে আমরা ফেসবুকে স্ট্যাটাস দেই - আকাশটা যেন অন্ধকারে ঢেকে গেছে। যে কোনো সময় ... ... ...। সাথে দিয়ে দেই আকাশের একটি ছবি। শুরু হয়ে লাইক কমেন্ট শেয়ার।
কিন্তু আপনি একজন মানুষ, আরেকজন মানুষের স্টেটাস যদি আপনি দেখেন - "আকাশটা যেন অন্ধকারে ঢেকে গেছে। যে কোনো সময় ... ... ..." তাহলে নিশ্চিত আপনি বুঝে নিবেন বৃষ্টি আসছে। কিন্তু একটি মেশিন কে যদি আপনি বলেন - "আকাশটা যেন অন্ধকারে ঢেকে গেছে যে কোনো সময় ... ... ..." মেশিন এই রূপক অর্থ ধরতে পারবে না। এখানেই মানুষ এবং মেশিনের পার্থক্য। আমার ধারণা খুব তাড়াতাড়ি মেশিন এই সীমাবদ্ধতা কাটিয়ে উঠবে।
এটুকু বুঝতে পেরেছেন ? তার মানে আপনি ডাটাসেটের ওভারভিউ বুঝে ফেলেছেন। দারুন !
এবার আসি কাজের কথায়। যে কোনো একটা দুর্ঘটনা ঘটলেই মানুষ ফেসবুকে অথবা টুইটারে এসে নিজের স্ট্যাটাস দেয়। আজকের এই ডাটাসেটটি একটি ন্যাচারাল ল্যাঙ্গুয়েজে প্রসেসিং এর ডাটাসেট যা কিনা টুইটার এর প্রায় ৮০০০ দুর্ঘটনা সম্পর্কিত টুইটের এর উপরে ভিত্তি করে তৈরী হয়েছে (টেকনিক্যাল ভাষায় এটিকে বলে ট্রেন ডাটাসেট- যেই ডাটাসেট দিয়ে মেশিনে কে ট্রেনিং দেওয়া হয় )
যেই ৮০০০ টুইট ডাটাসেটটি তে আছে, সেটির উপরে ভিত্তি করে মেশিন কে শিখানো- আসলেই কোনো প্রাকৃতিক দুর্যোগ ওখানে হয়েছে কি না। যেহেতু মানুষ মেশিন না এবং মানুষ, মানুষের মতো করেই কথা বলবে, সুতরাং এখানে মেশিন কে শিখাতে হবে, -"আকাশে বৃষ্টির ঘনঘটা " মানে বৃষ্টি আসছে। এরকম প্রায় ৮০০০ টুইটের ডাটাসেট কে দিয়ে মেশিন কে যেই মডেলের মাদ্ধমে শিখানো হবে - সেইটা মডেলটি বানানোই এই কম্পিটিশন এর কাজ। মডেল বানাবেন, ভুল কিনা শুদ্ধ জানবেন , কতটুকু শুদ্ধ সেটি বলে দিবে আপনার লিডারবোর্ড স্কোর - ক্যাগলের কম্পিটিশন এর এইটাই একটা মজা।
একটু স্টাডি করে বুঝতে পারলাম এই ডাটাসেট টি একটি NLP (Natural Language Processing) রিলেটেড একটি ডাটাসেট। আমি আগে যেই আরেকটি কম্পিটিশন এ পার্টিসিপেট করেছিলাম সেটাও NLP রিলেটেড ডাটাসেট ছিল। (এটি বুঝতে পারলাম এই টুইটার কম্পিটিশন এর জন্য স্টাডি করে, তার আগেই আমার মডেলের accuracy ৮৮% হয়ে যায় , তার মানে থিওরি পড়ার আগেই আমি প্রাকটিকাল গিয়ে, এক্সপেরিমেন্ট কমপ্লিট করে ১০০ তে ৮৮ পেয়ে গেছি, এখানে একটা হা হা এর ইমোজি হবে) : https://dataniyekotha.gitbook.io/undefined/undefined-3/undefined-2
তবে এবার একটু থিওরি আছে, একনজরে দেখে নেই : NLP - or Natural Language Processing - is shorthand for a wide array of techniques designed to help machines learn from text. Natural Language Processing powers everything from chatbots to search engines, and is used in diverse tasks like sentiment analysis and machine translation.
এতটুকু পরে যদি আগ্রহ জাগে কিভাবে NLP এর ডাটাসেট কে ডিল করতে আমাদের ভেক্টর এর কনসেপ্ট টা একটু পরিষ্কার করতে হবে তাদের জন্য এই লিংক : (খুব সহজ এবং সুন্দর করে বর্ণনা দেওয়া আছে, বিরক্ত লাগলে পড়ার দরকার নাই)
এইবার আসি আমার রিপোর্ট কার্ডে।
১২০০ জনের মধ্যে আমার অবস্থান ৬০৩,তাও প্রায় ৭৯% accuracy নিয়ে। মডেলিং করেছি জুলিয়াস দিয়ে।
যদি আমার লেখা পরে কেউ accuracy লেভেল ৯০% এ নিয়ে যেতে পারেন, জানাবেন। আমার কাজ হচ্ছে আগ্রহ সৃষ্টি করা, আগ্রহ থাকলে শিখা এমনিতেই হবে।
শেষ হলো আমার ফিফ্থ ক্যাগলের কম্পিটিশন।
কম্পিটিশন এর বিস্তারিত : https://www.kaggle.com/competitions/nlp-getting-started
যেভাবে জুলিয়াস দিয়ে মডেল তৈরী করেছি : https://julius.ai/s/dcc6af4f-8b27-4b31-8a25-d13e7741d9a6