Встречается на собеседованиях • сегодня

Как будешь выполнять задачу создания рекомендательной ленты для приложения

Для создания рекомендательной системы рассмотрю несколько подходов:

  1. Коллаборативная фильтрация (user-based или item-based):
python
from surprise import Dataset, KNNBasic

data = Dataset.load_builtin('ml-100k')
algo = KNNBasic(sim_options={'user_based': True})
algo.fit(data.build_full_trainset())
  1. Контентная фильтрация (TF-IDF + косинусная близость):
python
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

tfidf = TfidfVectorizer()
tfidf_matrix = tfidf.fit_transform(items['description'])
cosine_sim = cosine_similarity(tfidf_matrix)
  1. Гибридный подход (объединение методов) + возможно добавление:
  • Популярности контента
  • Времени публикации
  • Поведенческих факторов пользователя

Для production-решения рассмотрю:

  • A/B тестирование разных подходов
  • Оценку качества через precision@k, recall@k
  • Возможность онлайн-обучения модели
  • Мониторинг дрифта рекомендаций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы