Введение
Рекомендательные системы в отрасли обычно имеют двухэтапную архитектуру: отзыв + ранжирование. Фаза отзыва отвечает за сопоставление, эффективное извлечение элементов, связанных с TopK, из сверхкрупномасштабного набора кандидатов, а фаза сортировки отвечает за ранг и выполняет персонализированную сортировку отозванных элементов в соответствии с потребностями бизнеса, как правило, включая грубую сортировку, точную сортировку. сортировка и слияние. В рекомендациях по информационному потоку статей может быть порядка десятков миллионов.После отзыва матча статьи от тысяч до десятков тысяч отсеиваются и передаются по обратной ссылке для ранжирования, как показано на рисунке 1. -1.
Стадия отзыва обычно представляет собой многоканальный отзыв, включая традиционный явный отзыв на основе тегов и неявный отзыв на основе встраивания элементов. Первый связывает пользователей и элементы через теги, которые строго совпадают, имеют высокую точность и имеют значительный эффект, логика молнии делает это более реальным, что может ускорить холодный старт новых статей, второй обычно использует глубокие сети для изучить функции, Взаимодействие между ними, особенно взаимодействие функций высокого порядка, получает плотный вектор пользователя и элемента посредством обучения представлению и опирается на сходство векторов для поиска похожих элементов, которые обладают хорошей способностью к обобщению.
В этой статье рассказывается о некоторых попытках ИТ-команды явного отзыва, а неявный отзыв мы рассмотрим в следующих статьях.
Явный отзыв включает в себя как базовую стратегию отзыва на основе информации, так и стратегию отзыва рекомендаций на основе контента (рекомендации на основе контента, рекомендации CB). Первый опирается на географическое положение, атрибуты толпы, модели, списки приложений и т. д., чтобы ассоциировать пользователей со статьями; последний в основном рекомендует пользователям коллекции контента, связанные с этими достопримечательностями, на основе выражений интереса к портретам пользователей.
2. Система маркировки и перевернутый индекс
В Yidian мы создали полную систему тегов для тонкой настройки пользователей и контента. И построил систему инвертированного индекса, чтобы быстро получить контент, соответствующий тегу.
2.1, система маркировки
Описание контента, профилирование пользователей или явный отзыв в значительной степени зависят от систем тегов. Определение метки — это бизнес-задача, которую необходимо согласовывать с общей ситуацией, чтобы соответствовать степени точности, степени охвата, дифференциации и т. д., что очень важно для уточненных операций. Полная система маркировки обычно включает систему маркировки контента и систему маркировки пользователей: первая описывает контент всесторонне и дифференцированно по различным уровням, размерам, стилям и т. д. Метки общих статей включают, помимо прочего, размер, показанный на рисунке. 2-1. Классы, теги, ключевые слова, сущности и т. д., последние включают в себя основные атрибуты пользователя, активность и т. д., а также теги интересов.
2.2. Моделирование интересов пользователей
Данные пользовательского тега получаются на основе их поведения в ответах на клики, таких как клики, просмотры, просмотры, комментарии, избранное и лайки к статьям. Собирайте данные о поведении пользователей по этим тегам статей, чтобы создавать портреты интересов пользователей. Моделирование интересов пользователей может рассчитать распределение интереса пользователей на основе исторического поведения пользователей к статьям. Согласно длине статистического временного окна, оно включает в себя долгосрочный интерес, краткосрочный интерес и динамические характеристики, а его временное окно и стабильность процентной ставки постепенно уменьшаются. Общая форма выражения заинтересованности пользователя: (метка, вес), где метка представляет точку интереса, а вес представляет интерес пользователя к метке. На рис. 2-2 показана часть выражения интереса пользователя.
2.3. Перевернутый индекс
Как быстро получить статьи TopK, связанные с тегами в базе данных статей из десятков миллионов? В инженерной практике структура данных инвертированного индекса обычно используется для помощи в расчетах, а инвертированный индекс «тег-> контент» обычно устанавливается с помощью базы данных KV, такой как HBase, Redis и т. д. Для новых статей их можно ассоциировать с тегами при построении инвертированного индекса, а затем показывать пользователям через явный отзыв, поэтому отзыв CB может способствовать запуску новых ресурсов. Вот почему явный отзыв, о котором мы упоминали ранее, происходит в реальном времени. Как показано на Рисунке 2-3, когда статья помещается в библиотеку, группа понимания контента сначала классифицирует и маркирует ее в соответствии с системой меток, а затем связывает ее с меткой в определенном порядке с помощью сортировки по молниям. .
2.4. Отзыв на основе меток
Путем построения индекса среднего уровня статьи, сопоставления с портретной информацией для отзыва и установления связи между пользователем и контентом с использованием метки в качестве посредника, то есть сначала получения метки интереса пользователя и ее силы, а также затем запрос соответствующего контента в соответствии с меткой интереса, как показано на рис. 2-4. В рекомендуемом сценарии это, как правило, двухэтапное выполнение, т. е. от пользователя к метке интереса (например, к бренду, ярлыку) и от метки интереса к элементу. Например, мы оптимизируем User в Interest-tag для формирования различных стратегий сопоставления или сортировки, а затем оптимизируем Interest-tag в Doc для формирования инвертированного индекса.
3. Достопримечательности
Явный отзыв на основе контента, основная работа включает создание меток, накопление портретов, сортировку по застежке-молнии и отзыв контента. Вот введение в то, как небольшое количество информации реализует выбор точек интереса при воспроизведении контента. содержание точек интереса следует рекомендовать в режиме реального времени? Что касается более интересных тегов, поведение пользователя заключается в том, чтобы нажимать больше новостей и уделять больше внимания и времени нашему ПРИЛОЖЕНИЮ; с точки зрения бизнес-данных, это частота кликов, количество кликов на душу населения, время пребывания и другие показатели. Исходя из этого, мы абстрагируем выбор точки интереса пользователя как проблему оценки точки интереса и направляем ее на улучшение бизнес-показателей, таких как количество кликов на душу населения.
3.1 Многоцелевое моделирование
Прогнозирование точек интереса основано на обширных данных журнала поведения пользователей и использует глубокие сети для создания связей между функциями пользователя и точками интереса. В сочетании с рис. 3-1 кратко опишите наше техническое решение:
-
Цель: увеличить количество кликов на душу населения и время пребывания
-
Модель: Многоцелевое моделирование, многозадачное совместное обучение.
Единая цель отражает, соответствует ли контент потребностям пользователей на одном уровне. Только оптимизация рейтинга кликов может привести к чрезмерному показу заголовков статей о вечеринках; только оптимизация времени пребывания, длинные видео или длинные статьи с большей вероятностью будут вспоминаться. Ход исследований рекомендательных систем в отрасли также показывает, что модель скорости кликов, модель продолжительности и модель скорости завершения являются обычными практиками для продуктов с информационными потоками. При этом многие задачи связаны между собой, например, CTR и CVR. Когда несколько задач имеют определенную корреляцию, многозадачное совместное обучение лучше, чем однозадачное независимое обучение, потому что в центре внимания многозадачного обучения (MTL) находится обмен знаниями и совместное обучение между несколькими задачами. Исходя из этого, мы выбираем метод MTL для оценки процентной ставки. С точки зрения структуры модели, в MTL принята модель с общим дном.Разные задачи разделяют нижнюю часть модели, которая выделяется только на плотном слое.Разные задачи образуют разные башни, а затем функции потерь соединяются соответственно. Башня каждой задачи использует структуру модели Wide&Deep.
-
Образец: Используйте статью как мост для получения отношения между пользователями и тегами, то есть (пользователь, документ) — портрет статьи —> (пользователь, тег), где тег — это тег документа. Задача клика — это проблема двух категорий: пользователь щелкает как положительный образец, а экспозиция не щелкает как отрицательный образец. Задача времени пребывания является задачей регрессии, и реальное время пребывания берется, а затем усекается и преобразуется.
-
Особенности: Особенности дизайна для описания пользователя, метки, контекстных свойств, в том числе:
Пользователь: атрибуты населения, такие как возраст, пол и т. д.; долгосрочный профиль: долгосрочное накопление относительно стабильных точек интереса; краткосрочный профиль: краткосрочные интересы, накопленные на основе поведения пользователя за последние N дней.
Теги: в настоящее время используется функция идентификатора тега
Функция соответствия: сила сигнала тега статьи на портрете пользователя, которая указывает на интерес пользователя к тегу, прикрепленному к статье.
Функции контекста: функции контекста, например, в каком пакете находится пользователь, где отображается статья и т. д.Башня каждой задачи использует структуру модели Wide&Deep. Вход широкой части — это функция сопоставления, полученная из портрета пользователя и метки статьи, которая отвечает за память, а вход глубокой части — векторизованные функции пользователя, метки и контекста. потенциальные закономерности анализируются для улучшения способности модели к обобщению.
-
Потери: Ctr Task — это задача классификации с использованием логарифмических потерь; Dwell Task — это задача регрессии, представляющая собой среднеквадратичную ошибку потерь; Потери двух задач объединяются в многозадачные потери.
-
Обслуживание: во время онлайн-прогнозирования теги извлекаются из портретов пользователей, и выбираются TopN точек интереса с прогнозируемыми оценками модели, а N будет корректироваться в соответствии с детализацией тегов; вероятность прогнозирования задачи Ctr * прогнозное значение задачи Dwell используется для характеристики текущей оценки точки интереса, комбинация прогнозируемых значений двух задач может быть скорректирована в соответствии с потребностями бизнеса.
Ссылка на онлайн-обслуживание может отражать преимущества явного отзыва, точного сопоставления, прямого и эффективного: во время оценки в реальном времени набор точек интереса-кандидатов исходит из портрета пользователя, а точки интереса в портрете пользователя получаются из портрета пользователя. поведение пользователя при нажатии, которое имеет определенную степень уверенности. , и мы напрямую ищем связанные статьи по интересующим вопросам. А явный отзыв может четко объяснить, почему пользователь перешел к статье.
Вышеупомянутые шесть частей могут быть скорректированы и оптимизированы в соответствии с бизнесом.Далее мы поделимся нашими попытками баланса потерь в многозадачном режиме.
3.2 Сбалансированная многоцелевая потеря
В области MTL есть много отличных работ по итеративным и инновационным аспектам сетевой структуры, таким как ESMM[1], MMOE[2], DUPN[3], PLE[4] и т. д. В то же время, оптимизация многозадачного обучения Потеря — это тоже то, что мы можем сделать Исследуйте направление, чтобы попробовать. Проще всего напрямую суммировать Потери разных задач, однако величина Потери разных задач может быть разной, в результате чего весь тренировочный процесс будет доминировать над определенной задачей, далее взвешенное суммирование Потери разных задач задач также означает, что веса остаются неизменными на протяжении всего тренировочного процесса. На самом деле разные задачи имеют разную степень сложности и могут находиться на разных этапах обучения.
Следовательно, лучший комбинированный метод должен динамически корректироваться в соответствии с этапами обучения различных задач, сложностью обучения и даже эффектом обучения.
В этом отношении многие исследователи также предпринимали попытки. Chen Z и др. [5] предложили идею нормализации градиента, чтобы разные задачи обучались с одинаковой скоростью. В частности, в дополнение к потере самой задачи также определяется потеря градиента, которая регулирует скорость обновления градиента задачи в соответствии со скоростью обучения каждой задачи, а скорость обновления градиента зависит от веса потери, поэтому в процесс оптимизации Gradient Loss Вес каждой задачи Loss можно динамически регулировать. Лю С [6] надеется, что разные задачи можно изучать с одинаковой скоростью, а скорость обучения представлена скоростью изменения потерь, а вес потерь разных задач определяется как монотонная функция скорости обучения. Guo M[7] надеется, что потеря задач, которые труднее выучить, имеет более высокий вес, а сложность задачи определяется в соответствии с показателем точности, а вес потери положительно связан со сложностью обучения задачи. задача. Sener O[8] рассматривает задачу MTL как многокритериальную оптимизационную задачу, ища оптимальное по Парето решение. Kendall A и Gal Y [9] корректируют весовые параметры в функции потерь по неопределенности (неопределенности), чтобы величина Loss в каждой задаче была близкой. Один из ее авторов, профессор Ярин Галь, обладает глубокими знаниями в области байесовского глубокого обучения.
Мы используем многозадачный метод взвешивания потерь при неопределенности задачи и добавляем механизм динамического взвешивания в онлайн-многокритериальную модель.
Неопределенность здесь относится к неопределенности, зависящей от задачи. Например, у нас есть данные, которые включают время проверки учащимися, промежуточные оценки и итоговые оценки.Две задачи прогнозирования итоговых оценок на основе промежуточных оценок и прогнозирования итоговых оценок на основе времени проверки имеют разные уровни сложности, то есть различные неопределенности. Итак, как измерить эту неопределенность. Предположим по даннымdучебная задачаtМодельf, когда входxКогда соответствующий выход модели равенf(x); после рассмотрения неопределенности задачи выход модели {f(x) ,σ^2 } ,это одля данныхdДисперсия, которая приходит с ним, используется для описания неопределенности модели в данных. Модель будет изучать эту дисперсию в режиме обучения без присмотра.
После вывода [9] мы можем получить функцию потерь:
Как видно, параметр шума будет изучен в функции потерь для каждой задачи. И этот метод может принимать несколько задач (либо регрессию, либо классификацию) и унифицировать шкалу разных потерь. Таким образом, мы можем напрямую добавить его, чтобы получить общую потерю, и получить:
Многозадачные потери, взвешенные по неопределенности задачи, путем деления исходных потерь наσ^2, в определенной степени устраняется неопределенность, вызванная задачей. и журнал (σ ^ 2)Он действует как регуляризатор, чтобы предотвратить использование сетьюопрогнозируется очень большим. После добавления этого аналогичного члена регуляризации, только когда первоначальный убыток достаточно велик,означение увеличится. Таким образом, сеть имеет возможность изучить неопределенность задачи. Интуитивно,оЧем больше неопределенность задачи, тем меньше вес задачи, то есть вес задачи шумной и сложной для обучения станет меньше.
Этот метод добавляет только однозначные параметры для обучения и не вводит дополнительные гиперпараметры веса. При этом добиться этого можно только переписав в модели функцию Loss.
В оценке точки интереса MTL мы пробуем метод взвешивания многозадачной потери с неопределенностью задачи. Практика показывает, что это может помочь модели лучше совместно оптимизировать задачу Ctr и задачу Dwell, а также принести положительную пользу в бизнес-показателях (клики на душу населения, время задержки).
4. Перспективы
Вышеупомянутое является частью работы, которую мы проделали при выборе точек интереса.Благодаря многоцелевому совместному обучению в сочетании с многозадачным методом баланса потерь мы добились значительного улучшения количества кликов и времени пребывания на душу населения.
Чтобы лучше обслуживать пользователей, понимать, уважать и удовлетворять их потребности, а также предоставлять пользователям «интересный и полезный» опыт чтения, мы также предпримем новые попытки. Например, с точки зрения алгоритмов мы можем предпринять новые попытки в структуре модели, построении выборки и многоцелевой совместной оптимизации; с точки зрения бизнес-показателей мы можем улучшить глубину потребления, удивление и удовлетворенность пользователей.
Использованная литература:
[1] Ma X , Zhao L , Huang G , et al. Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate[C]// The 41st International ACM SIGIR Conference. ACM, 2018.
[2] Ma J , Zhe Z , Yi X , et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts. ACM, 2018.
[3] Ni Y , Ou D , Liu S , et al. Perceive Your Users in Depth: Learning Universal User Representations from Multiple E-commerce Tasks[J]. the 24th ACM SIGKDD International Conference, 2018.
[4] Tang H , J Liu, Zhao M , et al. Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations[C]// RecSys '20: Fourteenth ACM Conference on Recommender Systems. ACM, 2020.
[5] Chen Z , Badrinarayanan V , Lee C Y , et al. GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks[J]. 2017.
[6] Liu S , Johns E , Davison A J . End-to-End Multi-Task Learning with Attention[J]. 2018.
[7] Guo M , Haque A , Huang D A , et al. Dynamic Task Prioritization for Multitask Learning[M]. Springer, Cham, 2018.
[8] Sener O , Koltun V . Multi-Task Learning as Multi-Objective Optimization[J]. 2018.
[9] Kendall A , Gal Y , Cipolla R . Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics[J]. IEEE, 2018.
Статья подготовлена командой Yidian Information Algorithm Team.