Как работают рекомендации на сайте
Рекомендации - это подборки публикаций, которые показываются посетителю на основе тематики материала, его интересов и истории просмотров. Рекомендательная система отвечает за отбор публикаций, релевантных контексту показа, и порядок их отображения.
В рекомендациях могут быть:
- материалы, похожие по теме на текущую публикацию;
- материалы того же типа;
- материалы, похожие на недавно просмотренные;
- персональная подборка новых публикаций по интересам.
Блоки рекомендаций размещаются на разных страницах сайта. Примеры:
- страница материала (статья, новость, аналитика);
- персональная лента в личном кабинете пользователя.
Общая схема работы рекомендательной системы
- Подготовка данных. Каждая публикация, подключенная к системе рекомендаций, попадает в единый пул с заголовком, тегами и вычисленным вектором.
- Отбор кандидатов. Система находит материалы, похожие на текущий контекст по тегам, по вектору или по обоим признакам одновременно.
- Ранжирование. Найденные материалы получают оценку релевантности в зависимости от совпадения тегов, близости векторов и других параметров.
- Формирование выдачи. На основе оценок собирается финальный список с перемешиванием и отсечением по нужному количеству.
- Отображение. Пользователю показывается блок рекомендаций с ограниченным числом публикаций.
1-й этап: подготовка данных
Когда раздел сайта подключается к системе рекомендаций, все публикации этого раздела автоматически попадают в общий пул
Для каждой публикации в пуле сохраняется:
| Параметр | Описание |
|---|---|
| Заголовок | Название публикации |
| Теги | Набор характеристик материала: свой набор для каждого типа контента |
| Вектор | Цифровое представление смысла заголовка и тегов, формируется языковой моделью |
| Срок показа | Дата, до которой публикация может показываться в рекомендациях |
| Срок «свежести» | Дата, до которой материал считается приоритетным для показа |
| Дата публикации | Когда материал был опубликован |
Состав тегов зависит от типа публикации. Например:
- новости - специальности, название подрубрики, теги публикации, привязанные персоны и компании.
- аналитика - компания, проводившая исследование.
Срок показа и «свежести» тоже настраивается индивидуально. Например:
- новости и статьи показываются не более месяца;
- вебинары - до момента их начала;
2-й этап: отбор кандидатов
Отбор кандидатов происходит одним из двух способов.
По набору тегов
Теги текущей публикации сравниваются с тегами других материалов в пуле. Чем больше тегов совпадает - тем более похожим считается материал.
Такой способ применяется для материалов, где важны точные совпадения терминов, а не смысловая близость.
По вектору
Система ищет материалы с похожим по смыслу вектором.
При поиске по вектору дополнительно выполняется поиск и по тегам - так материал, найденный сразу двумя способами, получает более высокий приоритет.
3-й этап: ранжирование
Материалы, найденные по тегам и/или вектору, получают оценку релевантности. При расчёте учитывается:
- количество совпавших тегов;
- близость векторов (для смыслового поиска);
- совпадение и по тегам, и по вектору одновременно повышает приоритет материала;
- срок «свежести» публикации.
4-й этап: формирование выдачи
На странице материала
- Отбираются похожие публикации (по тегам и/или вектору в зависимости от типа материала).
- Список ранжируется по релевантности.
- Результат случайным образом перемешивается.
- Список обрезается до нужного количества.
Рекомендации на странице материала - фиксированные. Они не пересчитываются при каждом заходе на страницу и остаются прежними, пока не истечёт срок показа/свежести или не появится более подходящий материал, который займёт их место.
В личном кабинете пользователя
Рекомендации формируются индивидуально для каждого пользователя.
Раз в час для пользователя собирается набор тегов на основе:
- указанных специализаций;
- города;
- типа места работы (аптека, медучреждение и т.п.);
- должности;
- названия сети аптек в случае если пользователь работает в аптеке;
- города места работы;
- тегов последних 20 просмотренных материалов
На основе этого набора тегов формируется вектор, а затем по нему во всём пуле рекомендаций ищутся свежие материалы.
Из выборки исключаются:
- материалы, которые пользователь уже просмотрел;
- материалы, отмеченные как «не интересные».
Оставшиеся публикации сортируются по дате публикации: новые материалы оказываются в начале списка, постепенно вытесняя более старые.
Персональная лента обновляется 1 раз в час, в неё добавляется до 40 записей.
5-й этап: отображение
В зависимости от расположения блока рекомендаций (страница материала или личный кабинет) в выдачу попадает определённое количество публикаций, отобранных на предыдущих этапах. Система:
- отбирает нужное количество материалов из финального списка;
- загружает актуальные заголовки, описания и обложки;
- показывает блок рекомендаций пользователю.



























