Brief #21 · Machine Learning
Movie Recommendation System
Hard⏱ 24-32 ঘণ্টাশীঘ্রই
বড় platform গুলোর মতো দুই ধাপের recommender: embedding দিয়ে লাখ লাখের মধ্যে থেকে কয়েকশো candidate আনো, দ্বিতীয় একটা model দিয়ে সাজাও, আর offline এ ঠিকভাবে মাপো।
Outline free · tracking সহ বানাতে Pro লাগবে
MBriefTeam এর পক্ষ থেকে
আমাদের video app সবাইকে একই 'trending' তালিকা দেখায়, আর মানুষ একটা video দেখেই চলে যায়। এমন personalised recommendation বানাও, যেটা ১০০ ms এর কম সময়ে দশ লাখ video র catalogue থেকে বাছতে পারে, একদম নতুন user আর video সামলায়, আর আসল experiment চালানোর আগেই offline এ প্রমাণ করে যে 'trending' এর চেয়ে ভালো।
যা বানাবে
- 1একটা public interaction dataset নাও (MovieLens বা এমন কিছু), সময় ধরে ভাগ করো, আর একটা 'সবচেয়ে জনপ্রিয়' baseline বানাও।
- 2একটা two-tower model train করো, যেটা user আর item কে একই space এ embed করে, আর Recall@100 দিয়ে retrieval মাপো।
- 3একটা approximate nearest-neighbour index থেকে retrieval চালাও, আর exact search এর সাথে latency আর recall মাপো।
- 4একটা ranking model যোগ করো, যেটা বেশি feature দিয়ে সেরা candidate গুলো আবার সাজায়, NDCG@10 দিয়ে মাপা।
- 5Cold start সামলাও: নতুন user রা পায় তাদের এলাকায় জনপ্রিয় item, নতুন video পায় content ভিত্তিক embedding।
ধাপে ধাপে walkthrough
Walkthrough শীঘ্রই আসছে
এই project এর ধাপে ধাপে walkthrough, প্রতিটা ধাপে আসল output সহ, এখনো লেখা হচ্ছে। ততক্ষণ brief পড়ে নিজে চেষ্টা করতে পারো; walkthrough তৈরি হলে tracking চালু হবে।
শেষ হবে যখন
- একটা metric এর table: popularity baseline, শুধু retrieval, retrieval সহ ranking, একই সময় ধরে ভাগ করা test set এ।
- দশ লাখ item এর catalogue এ শুরু থেকে শেষ recommendation p95 এ ১০০ ms এর কম।
- Approximate index exact search এর recall এর অন্তত ৯৫% ধরে রাখে।
- Cold-start user রা যুক্তিসঙ্গত ফল পায়, উদাহরণ সহ দেখানো।
আরো এগোতে চাইলে
- একটা diversity ধাপ যোগ করো, যাতে সেরা ১০টা একই show এর দশটা episode না হয়।
- Online A/B test design করো: metric, sample size আর কতদিন চালাবে।