Новые рекомендации

d

Архитектура ранжирующего движка

Алгоритм построен на модифицированном тензорном коллаборативном фильтре с интеграцией графовой сверточной сети (GCN). В отличие от линейных моделей типа ALS (Alternating Least Squares), используемых в предыдущей версии, новый подход учитывает неявные связи второго порядка между субъектами. Материал обучения — агрегированные временные ряды логов взаимодействий (клики, просмотры, длительность сессий) с частотой семплирования 2 Гц. Эмбеддинги объектов генерируются с размерностью 128 и хранятся в кластерной in-memory базе Redis с репликацией.

Спецификации и метрики скоринга

Функция качества построена на комбинации:

  1. Семантической близости векторных представлений (косинусное расстояние, порог отсечки 0.78).
  2. Временной дkay-функции (экспоненциальное затухание с коэффициентом λ=0.92 для снижения влияния событий старше 48 часов).
  3. Доверия к оператору (нормированное количество завершённых диалогов с подтверждением контакта).

Итоговый скор проходит через softmax-нормализацию. Частота полного пересчёта (бэтч-инференс) — каждые 20 минут. Для онлайн-запросов используется приближённый ближайший сосед (LSH-индексация) с точностью 95% при latency на инференс ≤30 мс.

Отличия от альтернативных реализаций

По сравнению с готовыми решениями (например, алгоритмы на базе Word2Vec или стандартного SVD) текущая версия исключает «шум популяризации» — объекты с высоким общим рейтингом, но низкой релевантностью конкретному субъекту. Вместо взвешенного среднего оценок (как в коллаборативной фильтрации Netflix Prize) используется градиентный бустинг на признаках, извлечённых из графа: количество общих соседей, коэффициент локальной кластеризации и авторитетность узла (PageRank с дампинг-фактором 0.85).

Производство и качество данных

Пайплайн обучения реализован на PyTorch с распределённым бэкендом NCCL. Обработка сырых логов (до 5 млн записей в час) выполняется на Spark Structured Streaming. Стандарты контроля:

Материалы обучения верифицируются по метке timestamp и идентификатору сессии: используется водораздельная фильтрация (TDigest) для исключения бот-трафика на основе межзапросной паузы. Версионирование модели осуществляется через MLflow: обязательны тесты на подвыборке (20% данных) с порогом отката при падении recall@20 более чем на 2%.

Спецификация частоты обновления

On-line слой подстройки (инкрементальное обучение) выполняется каждые 2 минуты — обновляются эмбеддинги для субъектов, совершивших новое действие. Полный ретренинг (off-line) запускается каждые 12 часов на датасете полного дня. Для обеспечения детерминизма при переключении версий применяется shadow-деплой (канареечное тестирование 5% трафика) с мониторингом CTR (click-through rate) и коэффициента отказов.

Добавлено: 08.05.2026