Интернет-технологии привели нас в эпоху информационного взрыва, в условиях огромных объемов информации пользователям, с одной стороны, сложно быстро найти интересующую их информацию, а с другой стороны, «длинный хвост». информация не может быть раскрыта. Для решения этих проблем, как того требует время, появляются персонализированные рекомендательные системы. Meitu имеет большое количество пользователей и накопило большое количество изображений и видео.Благодаря системе рекомендаций эффективно устанавливается связь между пользователями и контентом, что значительно улучшает взаимодействие с пользователем продукта.
Обзор
Персональные рекомендации Meitu в основном используются в приложении Meipai.Сценарии применения следующие:
сцена первая:Прямая трансляция Meipai, онлайн персонализированная сортировка в режиме реального времени;
Сценарий второй:Meipai Popular (т. е. домашняя страница Meipai), типичный продукт потока новостей, пользователи могут прокручивать популярные потоки каналов, чтобы исследовать и потреблять контент, который может их заинтересовать;
Сценарий третий:Модуль «Угадай, что тебе нравится» на странице сведений о воспроизведении используется для рекомендации похожих видео.
Цель персонализированных рекомендаций — связать пользователей с контентом, улучшить взаимодействие с пользователем и оптимизировать экологию контента. Для достижения вышеуказанных целей алгоритм должен понимать контент и тот контент, который можно использовать для рекомендации на платформе; в то же время он также должен понимать пользователя и понимать его интересы и увлечения, чтобы дать точные рекомендации.
понять содержание
Понимание контента, т. е. извлечение признаков контента. Содержание приложения Meipai представляет собой короткое видео, и его характеристики можно разделить на четыре части:
основные характеристики, то есть основные свойства видео, такие как продолжительность, разрешение и метка;
визуальные особенности, то есть посредством визуального алгоритма идентифицируются пол, номинал, возраст, рост персонажа, а также место действия, объект и т.п. видеоролика;
текстовые функции, короткие видеоролики Meipai содержат текстовую информацию, такую как текст обложки, заголовок, комментарии и т. д., которую можно использовать для анализа текста для извлечения некоторых характеристик текста, таких как ключевые слова, темы и эмоциональная полярность;
интерактивные функции, который является продуктом поведенческого взаимодействия между пользователями и контентом. Пользователи могут лайкать, комментировать, делиться, воспроизводить и выполнять другие действия в отношении определенного контента, а также получать характеристики взаимодействия посредством статистического анализа этих данных о взаимодействии.
понимать пользователей
После определенного понимания контента необходимо дополнительно понять пользователя, чтобы связать пользователя и контент. Понимание пользователей — это то, что мы часто называем построением пользовательских портретов.Построение пользовательских портретов требует понимания естественных атрибутов пользователей, таких как пол, возраст и город пользователя, социальных атрибутов, таких как профессия, семейное положение и т. д., а также Наиболее важные атрибуты интересов, в дополнение к пониманию интересов и предпочтений Пользователей на платформе, также должны быть максимально изучены за пределами платформы (игра в игры, посещение Taobao и т. д.).
Процесс направления
На основе понимания контента и пользователей можно дать точные рекомендации. Процесс рекомендации Meitu разделен на следующие три этапа:
фаза отзыва
Суть рекомендации заключается в предоставлении разного рейтинга контента для разных пользователей. В приложении Meipai есть миллиарды коротких видеороликов, и, столкнувшись с такой огромной величиной, мы не можем рассчитать рейтинг всего контента для пользователей. Предварительные рекомендательные результаты могут быть получены после уменьшения порядка величины содержания до нескольких тысяч или нескольких сотен с помощью статистического отзыва, простой модели, графического расчета и других методов проверки;
Этап оценки
Использование моделей машинного обучения в сочетании со сверхвысокоразмерными и уточненными функциями, совместно смоделированными с тремя измерениями «элемент пользовательского контекста», для получения модели прогнозирования, а затем оценки различных целей;
этап сортировки
После оценки цели необходимо ранжировать контент, чтобы определить ранжирование, которое может достичь пользователь. На этапе сортировки три аспекта новизны, разнообразия и точности будут объединены для комплексной сортировки, и, наконец, пользователю будут представлены рекомендуемые результаты.
На этапе отзыва мы внедрили ряд методов отзыва, основанных на популярности, тенденциях, совместной фильтрации, портретах пользователей, содержании, контексте и социальных отношениях, а также методы отзыва, основанные на глубоком обучении. На этапе прогнозирования более зрелые из них включают крупномасштабные автономные функции + LR, непрерывные функции + GBDT, а также практикуются модели прогнозирования глубокого обучения, такие как NFM и DCN.
На основе приведенного выше процесса рекомендации рекомендуемая общая архитектура показана на рисунке:
OFFLINE
В основном это автономный процесс обработки, сбор данных и запуск данных для очистки данных, маркировки данных, разработки функций, обучения модели, оценки модели и, наконец, создания автономных функций, автономных моделей отзыва и автономных моделей сортировки;
NEARLINE
Он в основном обрабатывает потоки данных в реальном времени.Получение журналов в реальном времени, статистика, мониторинг эффектов, обработка против мошенничества, обновление функций и инкрементное обучение моделей выполняются для потоков данных, а также модель отзыва в реальном времени и модель сортировки. наконец получены;
ONLINE
То есть часть механизма, которая вызывает, объединяет и сортирует трафик и, наконец, возвращает рекомендуемые результаты в приложение.
Индивидуальные рекомендации
Своевременность рекомендации
Пользовательский интерфейс. Количество пользователей Meitu постепенно увеличивается, и точки интереса каждого пользователя также меняются синхронно со сценой и временем. На платформе есть постоянный поток нового контента, и хороший продукт, основанный на контенте, часто не пропускает ни одной горячей точки. В связи с изменениями в общей среде особенно важна своевременность рекомендации, а также есть много возможностей для оптимизации, чтобы улучшить эффект рекомендации.
Своевременность отзыва
Как показано на рис. 7, сначала устанавливается обновляемый в реальном времени индекс похожих видео (I2I); когда пользователь воспроизводит видео или проявляет эффективное поведение в отношении него, индекс используется для получения похожих видео соответствующего видео для повторного вызова. В то же время, собирая и анализируя поведение пользователей в реальном времени, вычисляя предпочтения пользователей в реальном времени для различных типов контента и получая содержимое списка соответствующих типов предпочтений пользователя в режиме реального времени, чтобы получать результаты отзыва в реальном времени;
В двигательной части будут интегрированы, оценены и отсортированы отзывы в реальном времени и не в реальном времени, и, наконец, результаты рекомендаций будут всесторонне представлены пользователям.
Расчетная своевременность
Если предположить, что оценочная модель не обновлялась в течение нескольких дней, изменение эффекта ее автономной оценки показано на рисунке выше. Понятно, что модель прогнозирования имеет большое падение полезности со второго дня примерно до 66% примерно за неделю. Из этой диаграммы видно, что расчетная своевременность будет быстро снижаться с течением времени, поэтому есть много возможностей для оптимизации расчетной своевременности.
Чтобы оптимизировать предполагаемую своевременность, мы выбрали онлайн-обучение. Как показано на рисунке 9, на примере обучения модели LR в левом верхнем углу представлены уравнение прогнозирования и функция потерь модели LR.В сложной онлайн-среде ввод выборки является случайным, то есть направление и размер шага будущих вычислений также является случайным. , для достижения онлайн-обучения вы можете просто использовать метод онлайн-градиентного спуска, но выбор этого простого метода оптимизации вызовет нестабильность обновления модели и нестабильность полезности модели; в то же время, простой градиент метод обновления заставит модель учиться на старых образцах, чтобы действительная информация была забыта.
FTRL — это метод обновления для генерации аналитических решений. См. подробности в уравнении в левом нижнем углу. Имеется четыре члена. Первый член гарантирует, что параметры обновляются в направлении градиента, второй член обеспечивает стабильность модели, поэтому что каждый раз обновленные результаты не будут далеки от предыдущих результатов, третий и четвертый термины являются общими ограничениями регуляризации L1 и L2, как показано в правой части рисунка выше, это псевдокод процесса обновления.
Как показано на рисунке ниже, на основе вышеупомянутого метода онлайн-обучения FTRL мы разработали процесс и архитектуру функций в реальном времени и онлайн-обучения. После того, как Arachnia собирает журналы, FeatureServer получает журналы в реальном времени через компонент Kafka и выполняет расчет функций в реальном времени и обновление функций. TrainServer также собирает журналы различных поведений пользователей, разделяет положительные и отрицательные образцы для получения исходных образцов, а затем взаимодействует с FeatureServer для индексации соответствующих списков функций и собирает их для обучения модели.Образцы можно напрямую применять для обновления модели.
Мы разрабатываем обновление модели на основе архитектуры сервера параметров.На этапе обновления модели параметры модели получаются с сервера параметров, оцениваются выборки, параметры обновляются, а результаты обновления возвращаются на сервер параметров. В сложной онлайн-среде журналы разного поведения могут иметь разную степень задержки, например, положительные образцы или отрицательные образцы за короткий промежуток времени, в этом случае будет нанесен ущерб стабильности онлайн-обучения. Поэтому мы разработали Balance Cache для управления скоростью использования различных журналов поведения, чтобы поддерживать стабильное положительное и отрицательное соотношение образцов. Благодаря этой архитектуре обновления как модели, так и обновления функций обновляются на втором уровне.
Рекомендуется холодный запуск
Проблема холодного запуска делится на холодный запуск пользователя и холодный запуск контента. Холодный запуск пользователя, как следует из названия, означает, что когда новый пользователь приходит на платформу, нет соответствующего исторического поведения, а все традиционные алгоритмы рекомендаций используют модели, основанные на поведении, поэтому они не могут давать эффективные рекомендации. Точно так же холодный запуск контента означает, что когда новый контент генерируется, он еще не прошел эффективную проверку трафика на платформе, и точное распространение нового контента также является вопросом, достойным обсуждения.
Холодный запуск пользователя
Целью холодного старта пользователей контент-платформы является преобразование новых пользователей в пользователей-потребителей, а затем в постоянных пользователей. Чтобы превратить нового пользователя в пользователя-потребителя, необходимо соответствовать типу интересов пользователя, а затем рекомендовать связанный контент, а рекомендуемый контент должен иметь возможность привлекать внимание, чтобы пользователь мог потреблять на содержание.
При привлечении пользователей к потреблению контента рекомендуемый контент должен иметь определенное качество, которое позволяет пользователям взаимодействовать с контентом и распознавать потребляемый контент, тем самым превращая его в удержанных пользователей.
Для проблемы холодного запуска пользователя также требуется оптимизация на двух этапах отзыва и оценки. На этапе отзыва мы разработали многоуровневый отзыв комбинации функций.По определению, при холодном запуске пользователя отсутствует историческое поведение пользователя, но мы всегда можем получить определенную базовую информацию о пользователе посредством настройки механизма продукта и внешнего сотрудничества;Контекст объединяет эти функции и сопоставляет наборы кандидатов контента различных комбинаций функций для получения предварительных и эффективных результатов отзыва.
На этапе оценки используйте журналы сервера, информацию о клиенте и сторонние данные для разработки функций для извлечения пользовательских характеристик (таких как пол, возраст, профессия), контекстных характеристик (таких как время, местоположение, сеть) и характеристик видео (таких как теги, жанр, музыка). Основываясь на этих характеристиках и соответствующих сгенерированных образцах, а затем выполняя обучение модели, наше обучение модели оценит три цели, а именно частоту кликов, продолжительность и коэффициент удержания, и создаст нелинейную комбинацию, всесторонне отсортирует контент и, наконец, представит его пользователю. . Основываясь на двух вышеупомянутых этапах оптимизации, уровень удержания новых пользователей был значительно улучшен.
Холодный запуск контента
Холодный запуск контента также является классической проблемой E&E (исследование и эксплуатация), то есть как выбрать и взвесить новый контент и старый контент. При составлении точных рекомендаций это процесс эффективного извлечения старого контента, но для нового контента, если он не будет раскрыт эффективным способом, наш алгоритм не сможет добывать новый высококачественный контент и не сможет формировать новый контент Экология здорового контента.
Для нового контента изменения функций полезности, таких как коэффициент конверсии и рейтинг кликов, относительно нестабильны, поэтому его апостериорная дисперсия будет относительно большой, в то время как для старого контента его оценка относительно стабильна, и его апостериорная дисперсия сравнивается Низкая. Другими словами, оценочное отклонение полезности нового контента относительно велико, тогда как оценка старого контента относительно стабильна и разумна. Как выбрать между таким новым и старым контентом? Это классическая проблема E&E, проблема многорукого бандита (MAB).
UCB
Предполагая, что вероятность выигрыша каждого игрового автомата подчиняется биномиальному распределению, каждый раз, когда выбирается игровой автомат, выполняется проверка гипотезы о вероятности выигрыша и получается доверительный интервал, а затем игровой автомат с наивысшей верхней границей вероятности выигрыша. выбирается доверительный интервал;
Выборка Томпсона
Предполагая, что вероятность выигрыша каждого игрового автомата подчиняется β-распределению, подогнать β-распределение к вероятности выигрыша каждого игрового автомата во время выбора, а затем случайным образом выбрать точку из β-распределения в качестве предполагаемой оценки этого игрового автомата и, наконец, выберите предварительно один из самых рейтинговых игровых автоматов.
Чтобы решить проблему холодного запуска контента, трафик платформы можно разделить на три части: Random Explore, Personalized Explore и Personalized Explore. Среди них большую часть составляют персонализированные эксплойты, то есть с помощью различных моделей рекомендаций эффективная и точная рекомендация контента. Случайное исследование и персонализированное исследование — это поиск нового контента. Здесь нужно обратить внимание на два момента: во-первых, нам нужно спроектировать разумное соотношение трафика в соответствии со сценарием и бизнесом; во-вторых, нам нужно количественно оценить полезность трафика для бизнеса в сочетании с бизнес-целями, такими как клики. скорость, целостность воспроизведения, продолжительность и т. д.
Когда создается новый контент, он рассчитывается с помощью MAB Score, а затем фильтруется в определенной степени. Когда он попадает в пул кандидатов на исследование, он вызывается случайным образом. После успешного отзыва будет произведена соответствующая сортировка и отображение. Когда открывается новый контент, ему необходимо собрать отзывы о поведении пользователей, чтобы обновить оценку MAB. В процессе будет отфильтрован контент с определенным верхним пределом воздействия (мы думаем, что это уже старый контент), а также будет отфильтрован контент с более низким MAB Score, таким образом образуя замкнутый цикл всего случайного исследования.
По сравнению со случайным исследованием, когда создается новый контент, персонализированное исследование сначала использует визуальные алгоритмы для классификации контента.Визуальная классификация заключается в извлечении основных характеристик нового контента и его классификации по определенному списку категорий. Затем динамический список категорий поддерживается путем объединения визуальной классификации и оценки MAB, и, наконец, отзыв на основе контента объединяется со списком категорий и предпочтениями пользователей в реальном времени. Точно так же после отзыва собранные отзывы о поведении пользователей используются для обновления рейтинга MAB и списка категорий. Это персонализированный процесс исследования, основанный на отзыве контента.
разнообразие контента
Разнообразие, точность и новизна — три очень важных показателя для измерения эффективности рекомендательных систем. Одновременная максимизация этих трех показателей, чтобы удивить пользователей и удержать их на платформе, является конечной целью рекомендательной системы. Однако в практических ситуациях эти три показателя часто требуют компромиссов, например, в большинстве случаев при повышении точности показатель разнообразия рекомендаций может уменьшаться. Поэтому мы упрощаем задачу и переделываем многокритериальную задачу, чтобы максимизировать точность рекомендаций, сохраняя при этом определенные ограничения разнообразия и новизны.
Итак, как обеспечить разнообразие рекомендаций? Прежде всего, мы должны определить, какое содержание одинаково, чтобы знать, какое содержание отличается. Мы можем пометить видео с помощью операций и выполнить визуальную классификацию с помощью визуальных алгоритмов.Все вышеперечисленные методы основаны на априорной системе категорий и часто не могут точно соответствовать точным точкам интереса пользователей, которые время от времени меняются. Одной из важных особенностей платформы UGC является быстрое обновление форм контента.Есть различные идеи, которые будут развиваться в нишевую категорию, а затем быстро развиваться из нишевой категории в новую категорию.Затем этот контролируемый метод, основанный на опыте. невозможно своевременно реагировать на изменения, поэтому рассмотрите возможность использования последовательности поведения пользователя для кластеризации контента.
Кластеризация контента
При кластеризации контента на основе последовательности поведения пользователя предполагается, что пользователи будут генерировать свои последовательности поведения для точек интереса.Предположим, что пользователю нравится маленькое свежее мясо и танцы, а затем, основываясь на этой точке интереса, он будет смотреть больше маленьких танцев свежего мяса. видео. Эту задачу можно сравнить с проблемой «Тематическая модель» в текстовом поле: когда автор пишет статью, ему необходимо сначала определить тему статьи, а затем определить слова, используемые в статье, исходя из темы.
Чтобы смоделировать интересы пользователей, мы используем метод LDA, чтобы сравнить пользователя со статьей и контент в последовательности поведения пользователя со словами в статье.Затем контент может быть напрямую кластеризован с использованием модели LDA для соответствия пользователю. . Исходя из этого предположения, word2Vec можно использовать для кластеризации векторов генерации контента или же векторы генерации контента можно генерировать на основе модели DSSM расширенной версии LDA. Как показано в правой части рисунка 19, это схема структуры сети метода DSSM.
Перспектива
В будущем Meitu надеется изучить больше сценариев и предоставить пользователям более персонализированные услуги, чтобы всесторонне улучшить взаимодействие с продуктом. Мы также надеемся, что сможем сделать выводы с помощью персонализированной итерации и экологических изменений контента, чтобы более всесторонне оптимизировать экологию контента и в то же время построить более глубокую модель для точных рекомендаций, перейти от обучения модели контролируемого обучения к методам обучения с подкреплением, а затем оцените ожидаемый доход от алгоритма рекомендаций и значительно улучшите взаимодействие с пользователем.