রিকমেন্ডশন ইঞ্জিন
মেশিন লার্নিং এর একটি আসাধারন অ্যাপ্লিক্যাশন হচ্ছে নির্দিষ্ট কোন সিস্টেম এর জন্য রিকমেন্ডশন ইঞ্জিন তৈরি করা। কোন ই-কমার্স সাইটে ইউজারকে প্রোডাক্ট রিকমেন্ডশন, অনলাইন বুক সাইটে বই রিকমেন্ডশন, এছাড়া সবচেয়ে জনপ্রিয় উদাহরণ হচ্ছে ইউটিউব এবং নেটফ্লিক্স এর ভিডিও রিকমেন্ডশন ইঞ্জিন যা ইউজারকে সাজেস্ট করে সে কোন ধরনের ভিডিও কনটেন্ট দেখতে পারে।
নেটফ্লিক্স ২০১০ সালে ১মিলিয়ন ডলার প্রাইজমানি অফার করে একটি কন্টেস্ট আয়োজন করে, যার উদ্দেশ্য ছিল নেটফ্লিক্সের রিকমেন্ডশন ইঞ্জিনকে মিনিমাম ১০% আপগ্রেড করা। BellKor’s Pragmatic Chaos টিম প্রাইজমানি জিতে নেয় নেটফ্লিক্সের অ্যালগরিদমটিকে আরও ১০.০৬% বেশি আপগ্রেড ও অ্যাকুরেট করে। রিকমেন্ডশন ইঞ্জিন মূলত ২ ধরনের টেকনিক অ্যাপ্লাই করে তৈরি করা যায়, Collaborative Filtering যা হল ইউজার-ইউজার correlation নির্ভর এবং Content Based Filtering যা হল ইউজার-কনটেন্ট correlation নির্ভর কিন্তু ইউটিউব ও নেটফ্লিক্স এর মত বড় কোম্পানিগুলো হাইব্রিড কমপ্লেক্স অ্যালগরিদম ব্যবহার করে।
Content Based Filtering অ্যালগরিদম অ্যাপ্লাই করে একটি মুভি রিকমেন্ডশন ইঞ্জিন তৈরি করা যায়, যেখানে একজন ইউজার তার দেখা মুভির ভিত্তিতে সেই ইউজারের জন্য পরবর্তী মুভি, এই ক্ষেত্রে মুভির নাম ও মুভির টাইপকে বিবেচনায় রেখে রিকমেন্ডশন ইঞ্জিনটি তৈরি করা হয়েছে।
প্রয়োজনীয় লাইব্রেরী এবং প্যাকেজ গুলো ইম্পোর্ট করে ডাটাসেট লোড করে নিতে হবে।
ডাটাসেটের প্রথম পাঁচটি ডাটা ক্ষেত্রে দেখা যাচ্ছে একটি আইডি এর সাপেক্ষে একটি মুভি ও তার জনরা (টাইপ) দেয়া আছে।
জনরাগুলো অ্যারে তে স্ট্রিং ডাটা হিসাবে স্টোর করা হল।
জনরাগুলো sklearn.feature_extraction লাইব্রেরীর ওয়ার্ড অ্যানালাইজারের মাধ্যমে ভেক্টরাইড করে জনরা টাইটেলগুলো ট্রান্সফর্ম করে ম্যাট্রিক্সে স্টোর করে এর সেপ-এ লক্ষ্য করলে দেখা যায় মোট 9742 টি মুভি ও 177 টি একক জনরা টাইপ আছে।
ট্রান্সফর্মড ম্যাট্রিক্সের এলিমেন্টগুলোর cosine_similarity নির্ণয় করতে নিতে হবে।
Cosine_similarity ভিত্তিতে genre_recommendations ফাংশনে কোন মুভির যদি টাইটেল পাস করা হয় তাহলে ফাংশনটি সেই জনরার কাছাকাছি মুভিগুলো রিকমেন্ড করবে।
যদি আমরা ফাংশনে ‘Heat’ টাইটেলের মুভি পাস করি, সেক্ষেত্রে ফাংশন cosine_similarity এর ক্রমে প্রথম পাঁচটি মুভির নাম রিটার্ন করবে।
অর্থাৎ কেউ যদি ‘Heat’ মুভিটি দেখে থাকে, তাহলে রিকমেন্ডশন ইঞ্জিন তাকে পরবর্তীতে দেখার জন্য এই পাঁচটি মুভি সাজেস্ট করবে।