Large-Scale Modeling
В этом материале мы рассмотрим одну из интересных научных статей с конференции RecSys 2021. Статья называется "Large-Scale Modeling of Mobile User Click Behaviors Using Deep Learning", первоисточник -- здесь.
Работа зацепила постановкой задачи. В рекомендациях чаще всего мы работаем с отбором контента внутри какого-то приложения, а в этой статье авторы из Google Research берут уровень выше и пытаются смоделировать пользовательское поведение на мобильных устройствах с привязкой скорее к форме интерфейса, а не к его содержанию.
Краткое содержание
Пользовательское поведение авторы рассматривают как сессии состоящие из последовательности кликов по управляющим элементам.
В подобных данных обычно есть две основные проблемы: много разных приложений и разнообразный UI. Предыдущие подходы рассматривали UI-элементы как токены для языковой модели, но элементы слишком разные и их сложно генерализовать. Вторая - юзеры могут постоянно прерываться на переключения в другие приложения, что затрудняет подготовку чистых сессий для обучения и ухудшает предсказания.
В предложенном в статье подходе не нужен словарь UI-элементов и есть возможность докидывать в модель другие важные фичи, описывающие состояние среды.
Для исследования авторы с помощью 4000+ добровольцев и специального ПО, собрали датасет на 20 млн кликов сделанных в 13000+ разных приложениях.
Архитектура предложенной модели представляет собой каскад трансформерных энкодеров, который сначала кодирует историю предыдущих кликов пользователя, а затем, конкатенируя их с фичами глобального контекста вроде времени, дня недели и др., подает ее на вход глобального энкодера последовательности. Выход энкодера последовательности подается на вход генератора указателя, который уже используется для предсказания кликов.
Для честного сравнения с предыдущими подходами авторы воспроизвели самые успешные методы для решения подобных задач и побили их результаты по точности с хорошим отрывом. По итогу получилось достичь 48% и 71% точности для топ-1 и топ-3 предсказаний. Распределение точности внутри приложений получилось довольно ровное, разве что по понятным причинам не удалось предсказывать клики по кнопкам в приложении Калькулятора.
Выводы
- Использовать эту модель можно напрямую, завернув ее в продукт. Среднее число последовательных переходов по управляющим элементам до нужного при голосовом управлении мобильным устройством составляет 9.04 перехода, а при использовании ранжирования вероятностей от этой модели можно снизить этот показатель до 2.61.
- Предсказания модели можно использовать опосредованно, например, для заблаговременной предзагрузки ресурсов, если есть большой шанс, что пользователь нажмет на соответствующий управляющий элемент.
Больше полезных материалов смотрите в моем блоге на Хабре.