CEO в Networkly app
· 23.06Вопрос
Можно ли сделать адекватную рекомендательную систему для малого количества элементов? Например, у нас есть IT мероприятия, и как бы их на самом деле не так уж и много. И как это персонализировать?
6 комментов
· 23.06
Когда совсем мало элементов, то их не нужно как-то особенно рекомендовать, лучше просто все доступные показать.
А так, любая рекомендательная система начинается с постановки задачи (какую задачу для кого решаем?) и построения метрик для измерения (как хорошо решаем? Лучше ли будет новое решение, чем старое? Можем ли мы это вообще измерить?)
Дальше уже можно думать над тем, как решить, постепенно усложняя или улучшая решение. Обычно в таком порядке по нарастанию сложности: 1. Собрать вручную, экспертно, можно собрать несколько списков для разных сегментов (например, подборка мероприятий по Python или подборка мероприятий для QA)
2. Ручной привод становится слишком муторным - делаем некоторые эвристики/бизнес правила. Например, автоматически фильтруем по профессии/стеку (тут как раз возникает вопрос с правильным хранением и заполнением данных), ранжируем по популярности или по рейтингу или по какой-то взвешенной сумме критериев. Можно добавить персональном и с помощью некоторых правил (вроде указал что ему интересны мероприятие по Python - ставим из выше, даже если они не самые популярные). Ну и не забывать давать пользователю всякие фильтры, если он сам хочет полистать.
3. Когда бизнес-правила и эвристики становятся слишком громоздкими (говорят, когда-то поиск Яндекса во многом существовал на очень разветвленном скрипте с if-ами), то можно начинать делать рекомендации, обучать какие-то простые модели. Но для них уже на предыдущих этапах должны быть готовы и быть в хорошем качестве данные и метрики. Сразу с ML-я начинать преждевременно. Тут уже много разных подходов может быть в зависимости от данных и целей, но тоже работает правило “сначала пробовать самое простое, наверняка оно решит задачу на достаточно неплохом уровне”.
0
ответить
коммент удалён
· 25.06
Спасибо за развернутый ответ. Какая задача - иметь функционал по критериям пользователя подсказать предстоящие мероприятия. Обычный фильтр есть.
В ручную собирать уже не так актуально, разве что подборку прошедших мероприятий которые мы можем рекомендовать, т.к. в среднем мероприятие анонсируется за пару недель (не считая крупных конференций, но там своя атмосфера)
Вот ранжирование уже интереснее. Пока что единственное к чему я прихожу в плане технической реализации это составлять embedden индекс по фильтрам пользователя и уже как-то сравнивать его по разным проекциям индексов мероприятия
0
ответить
ответ удалён
· 23.06
А что персонализировать то? Предлагать кому то мероприятия? Или что. Какая розница что мероприятий мало, главное больше одного, значит уже есть выбор.
0
ответить
коммент удалён
· 25.06
Делаю каталог айти мероприятий и платформу для организатора, и хочется как-то персонализировать опыт участника мероприятий
0
ответить
ответ удалён
· 23.06
- "похоже на то, что нравится вам"
- персонализированная сортировка/ранжирование
- учёт текущего карьернго контекста юзера
- недавние действия важнее давних
0
ответить
коммент удалён
· 02.07
Весовой подсчет по критериям с выводом приоритета рекомендаций. Быстро и удобно.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён