Как работают рекомендации на сайте

Рекомендации - это подборки публикаций, которые показываются посетителю на основе тематики материала, его интересов и истории просмотров. Рекомендательная система отвечает за отбор публикаций, релевантных контексту показа, и порядок их отображения.

В рекомендациях могут быть:

  • материалы, похожие по теме на текущую публикацию;
  • материалы того же типа;
  • материалы, похожие на недавно просмотренные;
  • персональная подборка новых публикаций по интересам.

Блоки рекомендаций размещаются на разных страницах сайта. Примеры:

  • страница материала (статья, новость, аналитика);
  • персональная лента в личном кабинете пользователя.

Общая схема работы рекомендательной системы

  1. Подготовка данных. Каждая публикация, подключенная к системе рекомендаций, попадает в единый пул с заголовком, тегами и вычисленным вектором.
  2. Отбор кандидатов. Система находит материалы, похожие на текущий контекст по тегам, по вектору или по обоим признакам одновременно.
  3. Ранжирование. Найденные материалы получают оценку релевантности в зависимости от совпадения тегов, близости векторов и других параметров.
  4. Формирование выдачи. На основе оценок собирается финальный список с перемешиванием и отсечением по нужному количеству.
  5. Отображение. Пользователю показывается блок рекомендаций с ограниченным числом публикаций.

1-й этап: подготовка данных

Когда раздел сайта подключается к системе рекомендаций, все публикации этого раздела автоматически попадают в общий пул

Для каждой публикации в пуле сохраняется:

Параметр Описание
Заголовок Название публикации
Теги Набор характеристик материала: свой набор для каждого типа контента
Вектор Цифровое представление смысла заголовка и тегов, формируется языковой моделью
Срок показа Дата, до которой публикация может показываться в рекомендациях
Срок «свежести» Дата, до которой материал считается приоритетным для показа
Дата публикации Когда материал был опубликован

Состав тегов зависит от типа публикации. Например:

  • новости - специальности, название подрубрики, теги публикации, привязанные персоны и компании.
  • аналитика - компания, проводившая исследование.

Срок показа и «свежести» тоже настраивается индивидуально. Например:

  • новости и статьи показываются не более месяца;
  • вебинары - до момента их начала;

2-й этап: отбор кандидатов

Отбор кандидатов происходит одним из двух способов.

По набору тегов

Теги текущей публикации сравниваются с тегами других материалов в пуле. Чем больше тегов совпадает - тем более похожим считается материал.

Такой способ применяется для материалов, где важны точные совпадения терминов, а не смысловая близость.

По вектору

Система ищет материалы с похожим по смыслу вектором. 

При поиске по вектору дополнительно выполняется поиск и по тегам - так материал, найденный сразу двумя способами, получает более высокий приоритет.


3-й этап: ранжирование

Материалы, найденные по тегам и/или вектору, получают оценку релевантности. При расчёте учитывается:

  • количество совпавших тегов;
  • близость векторов (для смыслового поиска);
  • совпадение и по тегам, и по вектору одновременно повышает приоритет материала;
  • срок «свежести» публикации.

4-й этап: формирование выдачи

На странице материала

  1. Отбираются похожие публикации (по тегам и/или вектору в зависимости от типа материала).
  2. Список ранжируется по релевантности.
  3. Результат случайным образом перемешивается.
  4. Список обрезается до нужного количества.

Рекомендации на странице материала - фиксированные. Они не пересчитываются при каждом заходе на страницу и остаются прежними, пока не истечёт срок показа/свежести или не появится более подходящий материал, который займёт их место.

В личном кабинете пользователя

Рекомендации формируются индивидуально для каждого пользователя.

Раз в час для пользователя собирается набор тегов на основе:

  • указанных специализаций;
  • города;
  • типа места работы (аптека, медучреждение и т.п.);
  • должности;
  • названия сети аптек в случае если пользователь работает в аптеке;
  • города места работы;
  • тегов последних 20 просмотренных материалов

На основе этого набора тегов формируется вектор, а затем по нему во всём пуле рекомендаций ищутся свежие материалы.

Из выборки исключаются:

  • материалы, которые пользователь уже просмотрел;
  • материалы, отмеченные как «не интересные».

Оставшиеся публикации сортируются по дате публикации: новые материалы оказываются в начале списка, постепенно вытесняя более старые.

Персональная лента обновляется 1 раз в час, в неё добавляется до 40 записей.


5-й этап: отображение

В зависимости от расположения блока рекомендаций (страница материала или личный кабинет) в выдачу попадает определённое количество публикаций, отобранных на предыдущих этапах. Система:

  1. отбирает нужное количество материалов из финального списка;
  2. загружает актуальные заголовки, описания и обложки;
  3. показывает блок рекомендаций пользователю.

Воспроизведение материалов допускается только при соблюдении ограничений, установленных Правообладателем, при указании автора используемых материалов и ссылки на портал Pharmvestnik.ru как на источник заимствования с обязательной гиперссылкой на сайт pharmvestnik.ru