Разработчики социальной сети Pinterest сказал в корпоративном блоге о том, как создавалась система обучения Pinnability, предназначенная для составления новостной ленты пользователя в зависимости от актуальности контента.
В разделе Growth Hacks — перевод заметки.
В настоящее время в социальной сети Pinterest опубликовано более 30 миллиардов изображений.
Десятки миллионов «пиннеров» (пользователей) ежедневно посещают ресурс и используют его в различных целях.
Например, для просмотра или поиска изображений.
Основная лента состоит из «пинов» (постов) от друзей, различных подборок (досок), а также индивидуальных рекомендаций.
Например, раздел «Выбрано для вас» — сюда разработчики вкладывают много времени и сил.
Посетители ресурса получают новый контент из основной ленты.
Однако расположение «штифтов» в нем не идеально и вызывает вопросы.
Пользователи склонны подписываться сразу на большое количество источников, а это значит, что страница может захламляться.
Кроме того, не вся информация актуальна для пиннера.
Чтобы улучшить ситуацию с релевантностью новостей, Pinterest придумал Pinnability. Pinnability — это общее название алгоритма обучения, который был разработан, чтобы помочь пользователям находить интересный контент в своей ленте.
Преимущества возможности закрепления
До запуска Pinnability весь контент в ленте располагался в хронологическом порядке, без учета того, что может быть больше всего интересно пользователю.Другими словами, новых публикаций было больше, чем тех, что появлялись ранее.
Такое расположение было простым и понятным, но, несмотря на это, соответствующие «штифты» могли теряться.
Основная лента перед применением возможности закрепления.
Цвета отражают актуальность контента.
Использование Pinnability определяет, какие контакты интересны пользователю.
Таким образом, контент в ленте упорядочивается в зависимости от его релевантности «пиннеру».
Основная лента после применения Pinnability. Контент сортируется по значимости для пользователя.
Алгоритмы обучения в Pinnability
Для наиболее точного определения сценариев поведения пользователей мы использовали передовые технологии в области моделей обучения, например, логическая регрессия (ЛР), Машина опорных векторов (СВМ), Древо решений (ГБДТ) и сверточная нейронная сеть (Си-эн-эн).Мы протестировали тысячи различных элементов, которые полезны при определении релевантности.
Перед запуском A/B-тестирования работа алгоритмов в офлайн-режиме была тщательно изучена и протестирована на основе имеющихся данных.
На рисунке ниже показаны все компоненты, необходимые для работы Pinnability: выбор сценария, выбор модели Pinnability и организация основного фида.
Как работает модель Pinnability
Выбор сценария
Pinnability выбирает данные на основе истории взаимодействий пиннера с публикациями из основного фида.Например, после просмотра «пинов» пользователь может поставить лайк некоторым из них, опубликовать их на своей странице, оставить комментарий или сделать что-то еще.
Все возможные действия делятся на «позитивные» и «негативные», а также определяются как соответствующие сценарии.
Как правило, общее количество публикаций значительно превышает количество тех, по которым были предприняты какие-либо действия.
Поэтому это было предусмотрено при разделении на категории.
Вся работа Pinnability с большими наборами данных постоянно контролируется сотрудниками, поэтому вероятность ошибки крайне низка.
Их можно разделить на три основные категории: особенности публикаций, особенности пользователей и особенности взаимодействия.
- К особенностям публикаций относятся такие показатели, как качество изображения, популярность, актуальность и так далее.
- Характеристики пользователя раскрывают информацию, например, о том, насколько активен пиннер или его пол.
- Особенности взаимодействий рассказывают о последних действиях пользователя.
Для решения задачи была использована модель распределенных вычислений.
С его помощью нам удалось создать большое количество сценариев, каждый из которых представляет собой конкретное взаимодействие пользователя с публикацией и содержит три типа информации.
- Метаданные (идентификатор публикации, идентификатор пользователя, источник информации и т. д.) для группировки информации, проверки и анализа модели Pinnability.
- Целевые значения используются для определения того, какие публикации вызвали «положительный» ответ.
- Информация, которая прогнозирует взаимодействие пользователя с системой.
Выбор модели возможности закрепления
Для тестирования моделей Pinnability мы использовали область под Кривая ROC (AUC), индикатор линейной регрессии R-квадрат И Средняя квадратическая ошибка .Использование площади под кривой обусловлено не только тем, что этот показатель широко используется в системах прогнозирования, но и тем, что мы наблюдали большую положительную динамику.
корреляция между AUC, A/B-тестированием оффлайн и онлайн.
Тестирование проводилось с использованием различных алгоритмов обучения, включая LR, GBDT, SVM и CNN. Кроме того, мы использовали показатели AUC для десятикратной перекрестной проверки и сплит-тестирования, чтобы оценить производительность выбранной модели.
В результате мы заметили, что в большинстве случаев лучшие результаты по Pinnability показали LR и GBDT. Среди большого количества элементов, отобранных для исследования, мы оставили только те, которые значительно увеличили показатели AUC в качестве кандидатов для онлайн-A/B-тестирования.
Таким образом, в итоговом A/B-тестировании было проведено сравнение «пиннеров», использующих старые и новые функции.
В случае положительных результатов перед добавлением функций в модель Pinnability оценивалось влияние нововведений на наши серверы.
Кроме того, для определения производительности новых функций была сохранена небольшая группа пользователей, на которых Pinnability не повлияла.
На сегодняшний день для улучшения и тестирования Pinnability использовались только пакеты офлайн-данных.
Именно поэтому изменения в модель вносятся не сразу.
С другой стороны, нам удалось выяснить, что результаты тестирования на последних данных не сильно отличаются от результатов, полученных на данных некоторое время назад, поэтому целесообразность онлайн-тестирования необходимо проверить.
Мы также ищем способы научить наш алгоритм онлайн-обучению, чтобы система автоматически калибровала себя по мере получения новых данных об активности пользователей.
Основная кормовая организация
Основная лента основана на внутренних новостях инфраструктура .Например, когда пользователь повторно публикует новую публикацию, система отправляет запрос на серверы Pinnability, чтобы определить релевантность пина и других публикаций, которые понравились пользователю.
Когда пользователь авторизуется или обновляет страницу, умная система поиска новостей загружает новый контент из разных источников, учитывая релевантность каждого из них, и строит «пиннер»-ленту в соответствии с релевантностью того или иного поста.
Отправлять собственные кейсы, в результате которых вам удалось существенно улучшить (или, наоборот, ухудшить) производительность проекта.
Интересные эксперименты обязательно попадут на страницы раздела Growth Hacks.
-
Запуск Ракеты Стига
19 Oct, 24 -
Получение Докторской Степени В Австралии
19 Oct, 24 -
Хороший Разговор О Борьбе С Прокрастинацией
19 Oct, 24 -
Wimax На Macbook
19 Oct, 24