К слову о системе рекомендаций
Проще говоря, рекомендательная система — это система фильтрации информации, которая оценивает элементы и контент, которые в настоящее время интересуют пользователя, на основе исторического поведения пользователя, социальных отношений и точек интереса.
В соответствии с различными целевыми определениями это также приведет к различным результатам рекомендаций.Рассматривается с учетом рассмотренных показателей, включая удовлетворенность пользователей, точность прогнозирования, охват, разнообразие, новизну, четкость, режим реального времени, своевременность контента, качество контента, коммерческие цели и т. д. .
1. Общие показатели оценки
-
удовлетворенность клиентов: Пользователи являются очень важными участниками рекомендательной системы, и их удовлетворенность напрямую определяет качество рекомендательной системы.Однако индекс удовлетворенности пользователей не может быть рассчитан в офлайн-режиме, а может быть получен только с помощью опросов пользователей или онлайн-экспериментов.Поведенческая статистика, в том числе рейтинг покупок (CVR), рейтинг кликов (CTR), время удержания пользователя, коэффициент конверсии и многое другое.
-
точность предсказания: Точность прогнозирования используется для измерения фактического поведения пользователей и точности результатов прогнозирования системы рекомендаций. Этот индекс является наиболее важным индексом автономной оценки, поскольку его можно получить с помощью автономного расчета. Ниже приведены два наиболее часто используемых показатели точности предсказания.
-
Прогнозирование рейтинга: прогнозирование поведения пользователя при оценке элементов. Точность прогнозирования этой модели рейтинга обычно использует среднеквадратичную ошибку (RMSE) и среднюю абсолютную ошибку (MAE). из которых пользователи, вещь, фактический балл, прогнозируемый счет. Тогда соответствующие RMSE и MAE:
-
Рекомендация TopN: рекомендуя элементы пользователям, система рекомендаций часто предоставляет пользователям список рекомендуемых элементов.Рекомендация в этом сценарии — это рекомендация TopN.Наиболее часто используемый показатель точности прогнозирования для этого метода рекомендации, как правило, точность и полнота. вдля рекомендуемого списка,представляет собой список фактических действий.
Иногда, чтобы оценить рекомендацию TopN более всесторонне, обычно выбирают разную длину списка рекомендаций для расчета коэффициента точности и коэффициента отзыва для нескольких групп, а затем соответственно строятся кривая коэффициента точности и кривая коэффициента отзыва.Следует отметить, что это не кривая PR Заинтересованные Вы можете узнать о знаниях, связанных с кривой PR.
-
-
покрытие: Описывает способность рекомендательной системы обнаруживать длинный хвост элементов. Простым определением может быть:Отношение количества товарных наборов, рекомендованных рекомендательной системой, к общему количеству товарных наборов, Однако, если количество продуктов слишком сконцентрировано в нескольких наборах продуктов, это не сработает.Вы можете описать способность рекомендательной системы добывать длинные хвосты, изучая распределение количества раз появления товаров в рекомендации. список. Если распределение относительно плоское, уровень охвата рекомендательной системы относительно высок. , а если распределение относительно крутое, это означает, что охват рекомендательной системы относительно низок. Следующие варианты использования соответственноИнформационная энтропияиКоэффициент Джинидля определения охвата.
-
Информационная энтропия определяет охват: гдеэто предметпопулярности разделить на сумму популярности всех предметов
-
Коэффициент Джини определяет охват: гдеявляется первым элементом в списке элементов, отсортированных по популярности элемента p от меньшего к большемуПредметы
-
-
разнообразие: Измерьте несходство между всеми элементами в списке рекомендаций. Сходство продуктов в списке рекомендаций можно измерить с помощью различных функций сходства, таких как сходство продуктов на основе контента и сходство на основе совместной фильтрации, чтобы можно было получить разнообразие под разными углами. сделать функциюдля пунктаи предметысходства, то разнообразие списков рекомендаций пользователей можно определить как:
Общее разнообразие рекомендательной системы можно определить как среднее разнообразие всех списков рекомендаций пользователей:
-
новизна: Самый простой способ удовлетворить новизну рекомендации — рекомендовать пользователям элементы, которые они раньше не видели, но количество элементов, которые не видел каждый пользователь, очень велико, поэтому обычно рассчитывается средняя популярность рекомендуемых элементов. , Чем ниже элемент, тем больше вероятность того, что пользователь почувствует себя новым. Поэтому, если средняя популярность элементов в результате рекомендации относительно низкая, это означает, что рекомендуемый результат может быть более новым.
-
Кривая AUC:AUC (площадь под кривой), площадь, ограниченная осью координат под кривой ROC.
Две основные задачи рекомендации описаны ниже: отзыв и сортировка.
Как показано на рисунке выше, генерация кандидатов — это этап отзыва, а ранжирование — этап сортировки.
2. Вспомнить
2.1 Положение и роль уровня отзыва в рекомендательной системе
Слой отзыва и уровень сортировки являются двумя основными модулями в рекомендательной системе.Процесс рекомендации делится на уровень отзыва и уровень сортировки в основном на основе технических соображений.Этап отзыва отвечает за быстрое сокращение массивного набора кандидатов до масштаба от десятков до тысяч, а уровень сортировки отвечает за точную сортировку сокращенного набора кандидатов..
- отзыватьэтап часто используетсянесколько функцийипростая модельна больших наборах данныхбыстрый фильтр.
- существуетСортироватьслои обычно используютсябольше возможностейи большесложная модельпровестиТочная сортировка.
Особенности слоя отзыва и слоя сортировки:
- **Слой отзыва: **Рассчитываемый набор кандидатов велик, скорость вычислений высокая, модель проста, а функций мало.Постарайтесь сделать так, чтобы элементы, представляющие интерес для пользователя, быстро вызывались на этом этапе. , то есть обеспечить скорость отзыва связанных предметов
- **Слой сортировки**. Основная цель — получение точных результатов сортировки. Количество обрабатываемых элементов невелико, можно использовать больше функций и использовать более сложные модели.
2.2 Стратегия многоканального отзыва
При разработке слоя отзыва «скорость расчета» и «коэффициент отзыва" являются двумя противоречивыми показателями. В случае одновременного учета этих двух показателей основной метод отзыва в отрасли заключается в использовании суперпозиции несколько простых стратегий. Road Recall Strategy».
Так называемая стратегия «многостороннего отзыва» относится к использованию различных стратегий, функций или простых моделей для вызова части набора кандидатов, а затем смешивания наборов кандидатов для последующей модели сортировки. Можно ясно видеть, что « «Стратегия многостороннего отзыва» является результатом компромисса между «скоростью вычислений» и «отзывом». Среди них различные простые стратегии обеспечивают быстрый отзыв наборов кандидатов, а стратегии, разработанные с разных точек зрения, гарантируют, что скорость отзыва близка к идеальному состоянию и не повредит эффекту сортировки.
Стратегия множественных отзывов на самом деле тесно связана с бизнесом., такие как рекомендация видео, правила отзыва могут быть «горячее видео», «отзыв режиссера», «отзыв актера», «недавно выпущенный», «популярный тренд», «отзыв жанра» и так далее.
2.3 Встраивание отзыва
Встраивание на самом деле является идеей, основная цель - преобразовать представление разреженного вектора (например, горячего кодирования) в плотный вектор.
Текущие стратегии встраивания делятся на три типа:
-
text embedding: В настоящее время наиболее используемая технология встраивания, эта технология может использоваться непосредственно для текстовых функций,Для нетекстовых функций идентификатора вы можете сначала преобразовать их в последовательности идентификаторов, а затем использовать технологию встраивания текста для получения внедрений идентификаторов, а затем вызвать их..
- Статические векторы: word2vec, fasttext, glove.
- Динамические векторы: ELMO, GPT, BERT
- image embedding: Основываясь на функциях изображения или видео, используйте предварительно обученную модель (извлеките векторные функции изображения или видео), а затем используйте ее для вызова.
-
graph embedding: Как правило, это рекомендация, связанная с социальными сетями. Существует естественная связь между пользователем, который рекомендует, и пользователем или между продуктами, и существует сложная структура графа. Как использовать взаимосвязь между узлами в графе? очень важно. В этом сценарии как встраивания текста на основе последовательности, так и встраивания изображений на основе модели свертки недостаточно. В этом контексте встраивание графа постепенно становится популярным в рекомендательных системах.
- Некоторые модели включают встраивание графиков Deep Walk, Node2Vec, LINE и Ali EGES.
2.4 Общие модели отзыва
- Отзыв на основе содержания: используйте сходство между элементами, чтобы рекомендовать элементы, похожие на элементы, которые нравятся пользователям.
- Совместная фильтрация: используйте сходство между запросом и элементом, чтобы одновременно давать рекомендации.
- Напомним, на основе модели FM: FM — это рекомендательный алгоритм, основанный на матричной декомпозиции, и его ядром является комбинация признаков второго порядка.
- Отзыв модели на основе DNN: используйте глубокую нейронную сеть для создания соответствующих наборов кандидатов.
2.4.1 Отзыв на основе содержания
Также называется отзывом тега, как показано на рисунке ниже, например рекомендация фильма, в первую очередь на основе предыдущей исторической информации о поведении пользователя (например, клики, комментарии, просмотры и т. д.). CB будет использовать функции, связанные с элементом, для рекомендовать элементы, похожие на предыдущий любимый элемент пользователя.
Преимущество отзыва контента заключается в том, что он не требует никаких данных от других пользователей, поскольку рекомендация предназначена для этого пользователя. Это упрощает масштабирование для большого количества пользователей. И модель может отражать конкретные интересы пользователей. Но недостатком этого метода является то, что этот метод требует больших знаний предметной области, поскольку представления элементов элементов в некоторой степени разрабатываются вручную. Таким образом, модель в значительной степени зависит от качества элементов, разработанных вручную. И модель может только давать рекомендации на основе существующих интересов пользователя. Другими словами, модель имеет ограниченные возможности для расширения существующих интересов пользователя.
2.4.2 Совместная фильтрация
Совместная фильтрация заключается в том, чтобы рекомендовать элементы пользователям на основе предыдущих предпочтений и выбора пользователей со схожими интересами, только на основе данных о поведении пользователей (оценка, покупка, загрузка и т. д.), возраст, пол и т. д.).
- User-Based CF: следует учитывать сходство между пользователями.Пока вы узнаете, какие элементы нравятся похожим пользователям, и прогнозируете рейтинг целевого пользователя для соответствующих элементов, вы можете найти несколько элементов с самыми высокими оценками и порекомендовать их пользователю.
- Item-Based CF: Следует учитывать сходство между элементом и элементом.Только когда найдена оценка целевого пользователя для некоторых элементов, тогда мы можем предсказать похожие элементы с высоким сходством и рекомендовать пользователю несколько похожих элементов с самыми высокими оценками.
- Model-Based CF: В настоящее время это самый распространенный тип совместной фильтрации. Существует множество алгоритмов, таких как разложение матрицы, алгоритм ассоциации, алгоритм кластеризации, глубокое обучение, графовая модель и так далее.
Преимущества совместной фильтрации:
- Знание домена не требуется: Не требуется никаких соответствующих знаний предметной области, поскольку встраивание изучается автоматически.
- Узнайте об интересах пользователей: эта модель может помочь пользователям открыть для себя новые достопримечательности. Система может не знать интереса пользователя к данному элементу, но модель все равно будет рекомендовать его ему, потому что похожие пользователи имеют такой же интерес.
- хорошая начальная модель: В определенной степени этому методу требуется только матрица обратной связи для обучения модели матричной факторизации. И метод не требует контекстных особенностей. Фактически метод можно использовать как одну из нескольких очередей отзыва.
недостаток:
-
проблема с холодным запуском: Результат предсказания модели является скалярным произведением данного (пользователя, элемента) соответствующего внедрения. Следовательно, если элемент никогда не появляется в обучающих данных, система не может вычислить его внедрение и получить соответствующий результат прогнозирования. Эту проблему часто называют проблемой холодного запуска. В настоящее время доступны следующие методы решения проблемы холодного пуска:
- Прогнозирование с использованием WALS.
- Эвристически создавать вложения для новых элементов
-
Дополнительные функции, которые сложно включить в запрос/элемент.
2.4.3 Отзыв на основе модели факторизационной машины (FM)
Ядро алгоритма FM заключается в комбинировании функций, чтобы уменьшить ручное участие в работе по комбинированию функций. Для FM его преимущества можно разделить на следующие три пункта:
- FM может работать с очень разреженными сценариями данных, SVM не может;
- FM имеет линейную вычислительную сложность, тогда как SVM полагается на опорные векторы.
- FM может работать с произвольными действительными собственными векторами.
Среди них при воспоминании используется минималистская модель ФМ, то есть не учитываются контекстуальные особенности. Запросите встраивание функции, соответствующее пользователю в автономной fm, а затем аккумулируйте n векторов встраивания функций, соответствующих пользователю, чтобы сформировать вектор интереса пользователя U, который совпадает со степенью и размерностью каждой функции. Точно так же вы также можете запросить вектор внедрения функций, соответствующий автономной модели FM, для функций самого элемента и каждого элемента, а затем внедрить функции самих m элементов и суммировать, чтобы сформировать вектор внедрения функций подмножества элементов в накапливаются, чтобы сформировать вектор элемента l.
Затем для каждого пользователя и элемента вы можете использовать метод, полученный на шаге 1, для расчета вектора интереса каждого пользователя в автономном режиме, сохранения его в онлайн-базе данных, такой как Redis (идентификатор пользователя и его соответствующее встраивание), и вычислить вектор интереса. элементы в автономном режиме один за другим. Что ж, сохраните его в базе данных Faiss (Facebook с открытым исходным кодом, встраивающей эффективную библиотеку сопоставления), выполните индекс knn, а затем эффективно извлеките его.
Затем, когда пользователь входит в систему или обновляет страницу, соответствующее встраивание вектора интереса может быть извлечено в соответствии с идентификатором пользователя, а затем вычисляется внутренний продукт с вложением материала, хранящимся в Faiss, и материалом с наивысшим показателем K. возвращается в соответствии со счетом от большего к меньшему в качестве результата отзыва.
2.4.4 Матричная факторизация
Можно считать, что FM — это матричная факторизация (MF) с дополнительными функциями.Первоначально на стороне пользователя и элемента была только одна функция id.Теперь на стороне пользователя добавлены такие функции, как возраст, пол, образование и На стороне элемента добавлены такие функции, как категория и магазин, а затем и другие. После интеграции в модель FM он преобразует все функции во встраивание низкоразмерных векторных представлений, а затем разбивает функции на стороне пользователя и функции на стороне элемента на две части. матрицы, то есть внутренний продукт двух вложений признаков, чтобы получить вес комбинации признаков.
2.4.5 На основе DNN
Некоторые ограничения матричной факторизации включают:
- Сложность с дополнительными функциями (т. е. функциями, отличными от queryID/itemID). Поэтому можно рекомендовать только пользователей или элементы, существующие в обучающем наборе.
- Рекомендуемая релевантность. Как описано выше, существует тенденция рекомендовать всем популярные товары, особенно при использовании скалярного произведения в качестве меры сходства. Трудно охарактеризовать конкретные интересы пользователей.
Модели глубоких нейронных сетей (DNN) могут устранить эти ограничения матричной факторизации. DNN может легко включать функции запроса и функции элементов (благодаря гибкости сетевого входного слоя), что может помочь выявить конкретные интересы пользователей и повысить актуальность рекомендаций.
Теперь модель DNN выведет последний слой с помощью softmax, превратив проблему в проблему с несколькими классификациями.
3. Сортировать
Сортировка — это второй этап рекомендательной системы. Небольшое количество продуктов получается на этапе отзыва и передается на этап сортировки. Этап сортировки может включать в себя больше функций и использовать сложные модели для точного предоставления персонализированных рекомендаций. При ранжировании подчеркивается быстрота и точность, быстрота относится к эффективным результатам обратной связи, а точность относится к высокой точности рекомендуемых результатов.
Рекомендательная система может иметь несколько очередей отзыва, использующих разные источники, например:
- Элементы, относящиеся к модели матричной факторизации.
- По пользовательским элементам под разными тегами.
- "Местные" и "неместные" элементы, то есть с учетом географической информации.
- Популярные или популярные предметы.
- Социальная сеть, то есть товары, которые понравились или порекомендовали друзья.
Система объединяет эти разрозненные источники в общий пул кандидатов, которые затем оцениваются по единой модели и ранжируются в соответствии с этой оценкой.
3.1 Цели моделирования
3.1.1 точечный, попарный, списочный
Чтобы решить общую проблему сортировки, сортировка теперь перешла от одного индикатора к многокритериальной сортировке. Текущая структура алгоритма сортировки имеет три категории: точечная, попарная и списочная.
На приведенном выше рисунке x1, x2, ... представляют собой характеристики обучающих выборок 1, 2, ..., а y1, y2, s1, ... и т. д. - это метки (значения целевой функции) обучающего набора. . Pointwise изучает одну выборку. Если конечной целью прогноза является действительное значение, это проблема регрессии. Если целью является прогноз вероятности, это проблема классификации, такая как прогноз CTR. Попарно и по спискам изучаются выборочные признаки пары упорядоченных пар и упорядоченной последовательности, соответственно, которые рассматриваются более точно. Точечный метод обычно используется в рекомендательных системах для сортировки, он более интуитивен, понятен и прост.
3.1.2 Многоцелевая сортировка
Трудность в многоцелевом моделировании заключается в том, как сбалансировать взаимосвязь между несколькими целями моделирования. В настоящее время общепринятой практикой является взвешивание или умножение нескольких q, таких как Prob(click) * watch_time, то есть формулировка правил вручную. Этот метод является быстрым. , простой, быстрый и понятный. Но очень фатальная проблема заключается в том, что искусственные правила не могут выбрать оптимальное решение. Во-вторых, при изменении одного из факторов, например при изменении диапазона значений, общая формула становится недействительной. Систематическое решение этих двух проблем является основным и трудным моментом в многоцелевом моделировании.
В статье, опубликованной Google в 2019 году, в которой обсуждается проблема ранжирования YouTube, она предложила крупномасштабную многоцелевую структуру ранжирования для рекомендации видео на YouTube, представила MMoE для решения многоцелевого обучения и решила проблему предвзятости выбора в неявной обратной связи пользователей. .
3.2 Примеры функций
Соответствующие образцы и функции являются очень важной подготовительной работой перед выбором модели.С одной стороны, пространство образцов должно соответствовать распределению реальных данных и соответствовать логике вывода бизнеса. И работа на стороне функций — это проектирование функций, очистка данных и ETL, хорошо выполненная работа, пересечение функций и так далее. Хорошая разработка функций может сделать больше с меньшими затратами.
3.2.1 Общие базовые функции
Характеристики со стороны пользователя, такие как пол пользователя, возраст, регион, покупательная способность и состав семьи.
Особенности со стороны товара, такие как описание товара, цена, этикетка и т. д.
Характеристики контекста и сцены, такие как местоположение, страница, выходные или праздничные дни и т. д.
Функции пересечения, такие как пересечение функций на стороне пользователя и функций на стороне товара и т. д.
Характеристики поведения пользователей, такие как клики пользователей, избранное, покупки, просмотры и т. д.
3.3 Общие модели
Сортировка рекомендательной системы на ранней стадии была lr, а позже эволюционировала в метод gbdt + lr, а затем в dnn, fm, wide&deep и т. д. С точки зрения целей сортировки текущая отрасль в основном точечная.
3.3.1 LR
lr — это относительно простая линейная модель, которая строит оценки CTR, изучая поведение пользователей при кликах. Используйте логистическую регрессию для построения модели алгоритма рекомендаций Конкретная модель выглядит следующим образом:
в,вероятность того, что объект понравится пользователю;это вес, который является параметром модели, который необходимо изучить;характернозначение . Мы можем рассчитать рекомендуемое значение цели по приведенной выше формуле.ценность. Наконец мы можем следоватьОтсортируйте список отозванных объектов в порядке убывания ценности.
3.3.2 LR + GBDT
GBDT (Gradient Boosting Decision Tree) — это алгоритм дерева решений, основанный на итеративных идеях. Этот алгоритм будет генерировать несколько деревьев решений в практических задачах и суммировать результаты всех деревьев для получения окончательного ответа. Он эффективно сочетается с идеей ансамбля, а точность прогнозирования повышается за счет модернизации слабого ученика до ансамблевого метода сильного ученика. GBDT — это своего рода алгоритм обучения с сильной способностью к обобщению.
В 2014 году Facebook опубликовал документ, в котором рассказывается об использовании модели GBDT+LR (логистическая регрессия) для предсказания CTR рекламы, что открыло прецедент использования модели GBDT в поисковых, рекомендательных и рекламных сервисах. Как обычная древовидная модель, GBDT может естественным образом выполнять разделение функций, их комбинацию и выбор функций на исходных функциях, а также получать атрибуты функций высокого порядка и нелинейное отображение. Следовательно, модель GBDT можно абстрагировать в обработчик признаков, а новые признаки, более подходящие для LR-анализа, можно получить путем анализа исходных признаков GBDT.Это также основная идея модели GBDT+LR — использование новые функции, созданные GBDT для обучения модели LR.
3.3.3 Wide&Deep
Модель Wide&deep впервые была предложена Google и использовалась для рекомендательного ранжирования приложений в магазине мобильных приложений Android. В настоящее время алгоритм получил широкое распространение во многих отечественных интернет-компаниях и дает хорошие результаты. Эта модель сочетает в себе традиционные модели и модели глубокого обучения. Широкая часть (традиционные модели, такие как логистическая регрессия) играет роль памяти (запоминания), то есть корреляция между элементами или признаками находится по историческим данным, а глубокая часть (модель глубокого обучения) играет роль обобщения (обобщение), то есть передача корреляций, обнаружение новых комбинаций признаков, которые редко или вовсе не появляются в исторических данных, и поиск новых предпочтений для пользователей. Комбинируя эти две модели, можно достичь лучшего баланса между историческими интересами пользователей и изучением новых интересных мест.
3.3.4 DeepFM
Структура DeepFM на самом деле очень проста:Возьмите широкую и глубокую структуру, разница в том, что LR в части Wide заменяется наFM, так что перекрестное произведение признаков второго порядка создается автоматически, а не вручную. Среди них ввод DeepFM может состоять из непрерывных переменных и категориальных переменных, а категориальные переменные должны быть кодированы одним горячим способом. А из-за кодирования One-Hot входные функции становятся многомерными и разреженными. Контрмеры таковы: для многомерных разреженных входных признаков метод встраивания слов word2vec используется для сопоставления многомерного разреженного вектора с относительно низкоразмерным пространственным вектором, где ни один из элементов вектора не равен нулю. Как видно из приведенной выше схемы структуры сети, DeepFM включает в себя две части: FM и DNN, поэтому конечный результат модели также состоит из этих двух частей:
3.4 Оценка эффекта ранжирования модели
Оценка результатов сортировки в основном состоит из двух этапов:
Шаг 1: Оценка в автономном режиме
Выполните проверку данных на наборе проверки, подготовленном в автономном режиме. Если эффект лучше, чем данные предыдущей модели, перейдите ко второму шагу. Здесь эффект включает в себя несколько показателей, таких как точность, охват, разнообразие и т. д., с упором на разные этапы. Показатели могут быть разными, это то, что должен контролировать и определять продакт-менеджер, на чем должна сосредоточиться текущая стадия продукта или как выбрать и сбалансировать.
Шаг 2. Онлайн-эксперимент
Непосредственно проведите эксперимент с ведром AB для онлайн-пользователей, сначала поэкспериментируйте с небольшим трафиком в течение определенного периода времени, обычно от 10 дней до половины месяца, и сравните данные экспериментальной группы и контрольной группы; если экспериментальные данные положительные, они будут переданы большему количеству пользователей; если данные останутся стабильными, они будут переданы всем пользователям.
Справочная статья:
-
(Углубленное понимание рекомендательных систем: вспомнить) [zhuanlan.zhihu.com/p/115690499].
-
(Углубленное понимание рекомендательных систем: сортировка) [zhuanlan.zhihu.com/p/138235048].
-
(Обзор рекомендательных систем)[GitHub.com/кит данных супер…]