दोनों पहलुओं को अलग अलग संभालिए। नए items के लिए content features इस्तेमाल कीजिए (text, category, खुद item से निकाली गई embeddings) ताकि किसी interaction के बिना भी उन्हें score किया जा सके, और उन्हें exploration का बजट दीजिए। नए यूजर के लिए popularity या segment स्तर की सिफारिशों पर लौटिए, फिर session की शुरुआती signals इस्तेमाल कीजिए और पर्याप्त interactions जमा होते ही personalized collaborative signals पर चले जाइए।
इंटरव्यूअर यह क्यों पूछते हैं
प्रोडक्शन में शुद्ध collaborative filtering सबसे पहले cold start पर ही टूटता है, इसलिए इंटरव्यूअर इससे देखते हैं कि आपने कोई recommender ship किया है या सिर्फ स्थिर dataset पर ट्रेन किया है। उन्हें यूजर पहलू और item पहलू अलग अलग चाहिए, content और collaborative का मिलाजुला जवाब चाहिए, और exploration की कुछ समझ भी, क्योंकि जो सिस्टम नए items कभी दिखाता ही नहीं वह उनके बारे में कभी सीखता भी नहीं।
अपना जवाब कैसे स्ट्रक्चर करें
- समस्या को नए item और नए यूजर वाले हिस्सों में बांटें।
- बिना interaction history वाले items को score करने के लिए content features इस्तेमाल करें।
- बिल्कुल नए यूजर के लिए fallback की सीढ़ी बताएं।
- साफ exploration जोड़ें ताकि नए items signal जमा कर सकें।
उदाहरण जवाब
ये दो अलग समस्याएं हैं, इसलिए मैं इन्हें अलग अलग लेता हूं। नए items आसान आधा हिस्सा हैं: मैं two tower सेटअप इस्तेमाल करता हूं जहां item tower content features लेता है, यानी title का text, category, price band, description या thumbnail की embedding। इसका मतलब है कि अभी अभी अपलोड हुए item के पास पहले मिनट से एक काम का vector है, इससे पहले कि किसी ने उस पर क्लिक भी किया हो। नए यूजर के लिए एक सीढ़ी है। कुछ भी न हो तो popularity, और आदर्श रूप से उस संदर्भ के भीतर की popularity जो मुझे पता है, जैसे देश और device। जैसे ही वे दो चार बार interact करते हैं, मैं उन items से एक session आधारित representation बना सकता हूं, जो मेरे अनुभव में signup के किसी सवालनामे से मिली किसी भी चीज से ज्यादा कीमती है। फिर interaction count पार करते ही वे पूरे personalized रास्ते पर आ जाते हैं। जो हिस्सा लोग भूल जाते हैं वह exploration है। शुद्ध exploit करने वाला ranker नया item कभी सामने लाता ही नहीं, इसलिए उसे impressions नहीं मिलते, इसलिए signal नहीं मिलता, और catalogue चुपचाप जड़ हो जाता है। मैं feed में एक जगह upper confidence bound जैसे नियम से चुने गए candidate के लिए रखता हूं, और click rate के साथ साथ catalogue coverage को असली metric की तरह track करता हूं।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- live जाने से पहले किसी recommender का offline मूल्यांकन आप कैसे करेंगे?
- popularity bias क्या है और वह समय के साथ कैसे बढ़ता जाता है?
- कितना traffic exploration पर खर्च करना है, यह आप कैसे तय करेंगे?
मशीन लर्निंग इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें