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

Предисловие, почему и что из рекомендательных систем

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

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

Amazon Personalize стал одним из наиболее часто предлагаемых промышленных инструментов для создания систем рекомендаций. Тем не менее, это движок, на котором основан Amazon.com, но он также используется в различных типах электронной коммерции, от пищевой промышленности с Subway и Domino, до медиа-контента, такого как Warner Bros Discovery и Discovery Education, платформ электронного обучения, таких как Coursera. .com и, наконец, чемпионат по футболу, такой как Бундеслига.

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

Цель этой статьи — показать рекомендации по добавлению правильных данных в систему рекомендаций и реализовать все возможности Amazon Personalize, извлекая максимальную пользу.

Персонализация: краткое введение

Amazon Personalize — это полностью управляемая служба машинного обучения для создания систем рекомендаций, способных предоставлять персональные рекомендации в режиме реального времени. Он использует ту же технологию машинного обучения, что и Amazon.com.

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

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

Механизмы рекомендаций, созданные с помощью Amazon Personalize, предлагают широкий набор функций.

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

Если говорить более подробно о технических деталях, то эти механизмы рекомендаций можно легко интегрировать в большинство систем, таких как веб-сайты, приложения, SMS и системы электронного маркетинга, чтобы улучшить качество обслуживания клиентов. Базовая инфраструктура будет автоматически масштабироваться для удовлетворения растущих запросов. Развитие таких систем идет очень быстро. Настолько быстро, что вы можете создавать модели, как указано в документации AWS, за «дни, а не месяцы».

Что касается данных, Amazon Personalize также может создавать рекомендации для новых пользователей и продуктов, которые не имеют исторических данных для их поддержки.

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

Важность качества данных

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

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

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

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

Чтобы иметь дело с таким большим разнообразием данных, можно предложить подготовить и предварительно обработать эти данные с помощью конвейера ETL, гарантирующего их качество, прежде чем передавать их в Amazon Personalize.

AWS Glue — это правильный инструмент, когда вам нужно извлечь, преобразовать и загрузить (ETL) данные в модель. Мощь Glue Data Catalog и вычислительная мощность Glue Jobs могут быть хорошей поддержкой для аналитика данных, которому нужен этот тип работы.

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

Последнее, что нужно сделать перед передачей этих данных в Amazon Personalize, — это выбрать правильный набор функций для сервиса. Amazon Personalize создает рекомендации на основе концепции групп наборов данных. Домен группы наборов данных, более подходящий для розничной торговли, — «электронная коммерция». Эту группу наборов данных характеризуют три типа наборов данных:

  • Пользователи
  • Предметы
  • Взаимодействия

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

После настройки группы наборов данных Amazon Personalize может давать рекомендации как по историческим данным, так и по данным о событиях в реальном времени. На жаргоне персонализации событие определяется как действие пользователя с элементом. Затем действие записывается и отправляется в наборе данных взаимодействия. Эта непрерывная обратная связь в режиме реального времени изменяет поведение модели и позволяет предоставлять пользователю более персонализированный контент. Вы можете записать такое взаимодействие между пользователем и приложением с помощью Cognito Identity Pool в сочетании с AWS Amplify или с помощью простой функции Lambda, которая вызывает Amazon Personalize API.

Трекеры событий используются для направления данных о новых событиях в правильную группу наборов данных.

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

Компаниям, у которых этих данных нет, беспокоиться не о чем! Они также могут начать использовать Amazon Personalize. Сервис еще можно настроить и он начнет собирать данные, отправленные из различных источников, но пока не будет давать никаких рекомендаций. Через некоторое время, когда будет достигнуто минимальное пороговое значение объема данных, Amazon Personalize обучит модель и начнет давать рекомендации для улучшения качества обслуживания и лояльности клиентов.

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

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

  • Клиенты, которые просматривали X, также просматривали
  • Вместе с этим часто покупают
  • Бестселлеры
  • Наиболее просматриваемые
  • Рекомендуется для вас

Рекомендации также можно адаптировать к пользовательским бизнес-правилам с помощью фильтров. Фильтры могут исключать или включать элементы рекомендаций или пользователей, присутствующих в сегменте (например, группу сходств). Фильтры можно создавать с помощью текстовых выражений, подобных SQL. Эта операция может принести дополнительные подробные рекомендации, поскольку фильтрация может быть основана также на взаимодействии пользователя с историческими рекомендациями или рекомендациями в потоковом режиме. Кроме того, к рекомендациям в режиме реального времени можно применять фильтрацию с помощью AWS SDK, интерфейса командной строки или консоли.

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

Заворачивать

В этой статье мы описали мощь Amazon Personalize с точки зрения поля данных.

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

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

При этом необходимая обработка данных должна быть очень небольшой. Amazon Personalize позаботится обо всем, от базовой инфраструктуры до обучения модели и ее развертывания.

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

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

Еще две проблемы могут возникнуть при использовании рекомендательных движков:

Мы определяем первую как «Исходная проблема смещения». Даже если группа наборов данных помечена одной из категорий Amazon Personalize по умолчанию, что, в свою очередь, обеспечивает передачу данных в соответствующую и уместную модель, поначалу мы можем столкнуться с недостаточной точностью модели. Такое нежелательное поведение может быть вызвано тем, что наши данные плохо согласуются с априорной категоризацией группы данных, а предварительно обученная модель обобщает слишком широкие правила. Чтобы смягчить этот эффект, можно создать пользовательские группы наборов данных, которые, в свою очередь, будут использоваться моделью с меньшим влиянием на ее производительность.

Вторая проблема часто встречается при предложении персонализированного контента. Эффект пузырька фильтра – это цикл обратной связи, в котором пользователь постоянно вводит в модель данные, а последний использует эти данные, чтобы предложить то, что, по его мнению, является уместным контентом. Если пользователь принимает рекомендацию, даже если она не полностью удовлетворена, она поляризует модель, предоставляя контент, похожий на эту рекомендацию. Более того, даже если рекомендация актуальна, пул пользователей возможного контента будет ограничен «пузырем», который затрудняет изучение нового контента, отличающегося от его обычного поведения. Чтобы избежать этой проблемы, Amazon Personalize может помочь, используя показатель «Рекомендуется для вас», по которому рекомендуется новый контент, даже если он не похож на уже предложенный пользователю. С помощью этих параметров рекомендуемое пространство элементов может быть расширено, чтобы включить в него также некоторые менее важные элементы и посмотреть, нравятся они пользователю или нет, расширяя круг возможных вариантов выбора для конкретного клиента.

Вы тестировали Amazon Personalize? Помогло ли это улучшить ваш бизнес? Оставьте свой опыт в комментариях!

Это все на данный момент. Следите за нами, чтобы не пропустить другие статьи о машинном обучении в AWS.