Ответ
На последнем проекте я разрабатывал рекомендательную систему для e-commerce платформы. Основной стек — Python, PySpark и FastAPI. Я использовал гибридный подход, сочетающий collaborative filtering на основе матричных разложений (ALS в PySpark) и контентные рекомендации, где эмбеддинги товаров получал с помощью предобученной модели Sentence-BERT.
Ключевые результаты:
- Удалось снизить RMSE на 15% по сравнению с baseline-моделью на основе SVD.
- В ходе A/B-тестирования гибридная система увеличила конверсию в покупки на 8%.
- Для оптимизации инференса в production перевел часть пайплайна на ONNX Runtime, что дало прирост скорости в 3 раза.
Пример реализации обучения ALS-модели:
from pyspark.ml.recommendation import ALS
als = ALS(
userCol="user_id",
itemCol="item_id",
ratingCol="rating",
rank=50,
maxIter=10,
regParam=0.01,
coldStartStrategy="drop"
)
model = als.fit(ratings_df)
Основной вывод: комбинация методов (collaborative + content-based) оказалась значительно эффективнее, чем использование любого из них по отдельности.
Видео-ответы
▶
▶
▶
▶
▶