В этом сообщении я опишу, как реализовать многофункциональную ленту действий, которая упростит реализацию релевантных и точных алгоритмов персонализации. Как мы уже выяснили в предыдущих сообщениях блога, персонализация приложений по своей сути связана с фидами активности и данными о взаимодействии пользователей; в большинстве случаев хорошо продуманная структура каналов предоставляет ценную информацию, которую можно использовать для создания качественного персонализированного контента.

Прежде чем наметить стратегию рекомендаций, вы должны задать себе следующие вопросы:

  • С какими типами объектов взаимодействуют пользователи?
  • Какие события можно трактовать как положительный (или отрицательный) отзыв?
  • Есть ли какие-то общие характеристики элементов, которые были бы полезны для составления обобщенных прогнозов?
  • Какие функции общие для пользователей, которые могут быть полезны для прогнозирования положительного взаимодействия?
  • Если у вас несколько каналов или представлений, должны ли алгоритмы персонализации быть контекстно-зависимыми?

Это хорошее место для начала, но, конечно, только строгий статистический анализ может доказать или опровергнуть, соответствует ли ваша интуиция реальности.

Шаг 1. Отслеживайте взаимодействия

В Stream мы часто сталкиваемся с приложениями, которые используют такие действия, как Поделиться, Комментарий или Голосовать за. Если ваше приложение уже отслеживает эти взаимодействия, вы уже на правильном пути. Вы также хотите убедиться, что отслеживаете неявные взаимодействия, они также очень важны для оценки взаимодействия с пользователем: клик, показ, время задержки, время регистрации, идентификатор сеанса.

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

Шаг 2. Храните значимую информацию об объектах и ​​пользователях

Спецификация потока активности довольно гибкая с точки зрения того, какие типы метаданных активности вы можете хранить. Чем больше значимых данных вы храните в своей системе, тем большую прогностическую силу вы можете дать своим алгоритмам персонализации. Одной из наиболее обсуждаемых особенностей рекомендателя Netflix является тот факт, что они могут создавать очень специфические поджанры (например, Cerebral Foreign Movies From 70-х или Gritty Independent Movies), это не волшебство: вам просто нужно использовать правильные данные для создания значимых скрытых функций.

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

Шаг 3. Обозначьте стратегию рекомендаций

Персонализация бывает разных видов, и в конечном итоге вы хотите иметь стратегию, которая работает для вашего приложения. Вот несколько полезных вещей, о которых следует помнить:

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

Спросите себя, должна ли новизна действий иметь большое влияние на рейтинг активности: не забудьте принять во внимание, как возраст действия может повлиять на то, актуально оно или нет.

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

Как вы должны справляться с проблемой холодного старта? Для новых пользователей показ популярного контента обычно является хорошей отправной точкой, но вы также можете использовать строго хронологический просмотр.

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

Хотите ли вы распределить взаимодействие между действиями или увеличить разнообразие фидов: возможно, ваш пользователь использует много драматического контента, но вы все равно хотите показывать другие типы контента в его ленте. Затем вам следует ограничить количество рекомендаций по жанрам или добавить уровень рандомизации в свой алгоритм персонализации.

Не стесняйтесь обращаться к нам, если вы хотите настроить пробную версию для Персонализации, мы можем помочь вам разработать идеальный алгоритм, особенно если вы хотите выйти за рамки обычного звездного рейтинга в стиле Netflix и добавить более полный алгоритм рекомендаций. в ваше приложение.

Изначально опубликовано The Stream Blog.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Автор: Дуайт Ганнинг
Дата публикации: 2 мая 2017 г.