Я ранее обсуждал принципы персонализации электронной коммерции, в рамках которых K-means описывался как способ предоставления целевых рекомендаций. K-means позволяет настраивать кластеры или микрокластеры на основе поведенческих данных. Для правильной настройки на веб-сайте требуется как интерфейс, так и серверная часть.
Различные веб-сайты предлагают конкретные страницы рекомендаций с использованием такого алгоритма, как K-means, для предоставления персонализированного контента на вашем веб-сайте.
Внешняя реализация
События будут отправляться в API, отслеживая информацию, такую как подробные просмотры страниц со связанной информацией о контенте, действия по добавлению в корзину, покупки и т. д. Эти события будут использоваться серверной частью для хранения и обработки различной информации. для выработки рекомендаций.
Либо эти события собираются индивидуально и сохраняются в профиле пользователя / сеанса на стороне сервера, а серверный API отвечает за выборку и вычисление требуемого назначения кластера.
Обычно это тип реализации, основанный на платформе профилей клиентов, такой как Unomi, которая позволяет долгосрочное хранение и извлечение информации для сегментации, централизованного управления профилями клиентов или персонализации. Одним из примеров того, как, например, Unomi может удовлетворить этот тип требований, является вызов API к конечной точке / profile / session.
Или эти события собираются в браузере пользователя и отправляются в API для агрегирования и назначения кластера. Сбор событий может происходить в браузере, как показано на приведенном выше изображении пути пользователя на витринах Adidas.nl.
Рекомендуемый контент должен предоставляться путем вызова конечной точки api, предоставляющей идентификатор кластера и метрику для оптимизации (например, лайки, просмотры / просмотры, рейтинги). После получения они должны отображаться на странице.
Подводя итог, необходимы вызовы API к трем конечным точкам: сбор событий, назначение кластера и рекомендуемый контент для включения персонализации K-средних. Чтобы полностью реализовать его во внешнем интерфейсе, также необходима возможность получать атрибуты содержимого для каждого из рекомендованных материалов.
Внутренняя реализация
Интерфейс
API отвечает за управление всеми различными вызовами к серверным системам, обработку таких задач, как сбор событий, назначение кластеров для данного пользователя, а также предоставление различных рекомендаций для пользователя.
Шаг обработки
У конвейера агрегации две функции: во-первых, агрегация событий в таблицу взаимодействий между пользователем и контентом (агрегация пользовательского контента), роль таблицы - в предоставлении способ поиска взаимодействий на уровне пользователя, другой - агрегирование событий в таблице взаимодействий на уровне пользователя (user agg), цель таблицы - служить входными данными для алгоритма кластеризации, как таковая, также отвечает за нормализацию некоторых входных данных, которые должны быть включены в алгоритм кластеризации.
Для эффективного повторного использования код, используемый для агрегирования событий (например, редуктор) на уровне пользователя, должен быть помещен в библиотеку, как для вычисления кластера для данного набора пользователей / события должны произойти в то же время, что и процесс агрегации.
Конвейер кластеризации также предназначен для предоставления двухуровневой информации: один предназначен для предоставления центров кластеров, полученных с помощью алгоритма K-средних, необходимых для привязки нового поведения пользователя к данному кластеру, второй - для предоставить прогноз на уровне пользователя для ассоциации кластера (прогноз пользовательского кластера), что необходимо для эффективного поиска исторического поведения кластера .
Выходные данные этого конвейера обычно получаются с помощью вызовов, аналогичных тем, которые были получены выше через scikit learn api. Вместо того, чтобы полагаться на центры кластеров, альтернативная реализация назначения кластера может быть выполнена путем травления обученной модели k-средних и применения метода прогнозирования к агрегированному пользовательскому событию.
Шаг вывода
Контроллер отвечает за взаимодействие с базовыми моделями данных. Он отвечает за выборку данных, вычисление назначений кластера, а также за предоставление данных, которые будут использоваться в рекомендации.
В зависимости от конкретной реализации, назначение кластера может быть получено либо путем: получения списка событий от внешнего интерфейса, сокращения их до набора данных пользователя / сеанса и вычисления назначения кластера, либо путем выборки события из хранилища данных и следуя аналогичным шагам, как описано выше.
Создается конкретное представление (представление содержимого кластера пользователей), чтобы сделать поиск исторического содержимого, предпочитаемого в различных кластерах, более эффективным. Именно через это представление принимаются во внимание запросы для получения, например, наиболее часто просматриваемого контента для данного кластера.
Подведение итогов
Реализация рекомендаций через K-средства с нуля требует сочетания навыков, начиная от знаний Javascript переднего плана для отправки событий и рендеринга контента, до обработки серверных сервисов, таких как конечная точка API, сервисы сбора событий, и заканчивая более типичными навыками работы с данными, такими как проектирование конвейера и обучение модели науки о данных и прогнозы.
Если вы хотите эффективно управлять прогнозом машинного обучения, который будет стимулировать ценность, в первую очередь необходимо убедиться, что существует правильный набор навыков, доступных для реализации. Недостаточно просто настроить модель поезда или прогноз. Ориентация на последнюю милю для данных, повышение уровня интеграции и производства, а также эффективное использование данных для достижения бизнес-результатов - вот что делает информационный продукт успешным.
Еще от меня о Хакерской аналитике: