Системы рекомендаций не нуждаются в представлении, они используются почти на каждой цифровой платформе и стали одним из основных инструментов набора инструментов для обработки и анализа данных. До 35% доходов Amazon приходится на их продвинутые системы рекомендаций [источник], и даже менее продвинутые системы могут легко претендовать на двузначные цифры воздействия. Более того, клиенты привыкли к удобству, которое эти системы обеспечивают при совершении покупок в Интернете, сокращая время, затрачиваемое на поиск нужных товаров.

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

Хорошо реализованный рекомендатель можно сравнить с луковицей в том смысле, что каждый уровень основывается на предыдущем, добавляя функциональность и повышая производительность по мере продвижения. Начиная с «сердцевины» луковицы, можно наблюдать следующие ключевые слои:

  1. Основной алгоритм. Базовый алгоритм, который оценивает различные продукты или элементы для конкретных пользователей. Совместная фильтрация является общепринятым золотым стандартом для основного алгоритма, хотя также используются контент-ориентированные или гибридные подходы. Это место, где находится настоящий интеллект — то есть, где происходит волшебство — и это место, где многие дата-гики любят проводить время за работой.
  2. Бизнес-правила: дополнительная логика, которая отдает предпочтение или исключает определенные типы рекомендаций. Часто опыт людей, которые управляли компанией, может быть бесценным при настройке алгоритма и оценке того, разумны ли рекомендации. Бизнес-логика может принимать различные формы и формы, но в наиболее общем виде она сводится к добавлению или исключению определенных рекомендаций для определенных типов клиентов. Примером этого является рекомендация только одежды, ориентированной на пол клиента. В качестве альтернативы, бизнес-правила также могут использоваться для предпочтения определенных продуктов, чтобы преодолеть проблему холодного запуска совместной фильтрации; например, рекомендуя новые фильмы клиентам, несмотря на незначительное количество просмотров, на которых можно основывать рекомендации.
  3. Отображение рекомендаций. Способ представления рекомендаций клиенту. Размещение рекомендаций в нужном месте, где клиент обратит на них внимание, а затем выбор правильной последовательности, в которой рекомендации будут представлены. Это также означает, что рекомендации должны иметь определенную степень разнообразия. Для такого приложения, как Netflix, это может означать представление фильмов из разных жанров, а не только из жанра, который больше всего нравится зрителю. Такие вещи особенно важны, когда вы обслуживаете семьи, и вы не можете с уверенностью знать, какой человек ориентируется в вашем выборе продуктов.
  4. Интеграция с клиентским опытом: выбор того, на каком этапе процесса клиенту будут представлены рекомендации. Рекомендации можно использовать на многих этапах пути клиента. Для клиентов розничной торговли модной одеждой рекомендации могут быть представлены во время просмотра веб-сайта, в электронных письмах, отправленных во время кампаний прямого маркетинга, в кампаниях электронной почты, направленных на людей, которые бросают свои тележки, или даже во время посещения магазина.

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

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

При построении этой системы крайне важно учитывать два правила:

Правило 1: Делайте это как можно проще (по крайней мере, в начале)

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

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

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

Правило 2: проверьте, чтобы убедиться, что вы не делаете хуже

Один из ключевых рисков при создании рекомендательной системы — ухудшение производительности за счет излишней сложности.

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

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

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