В моей последней статье я представил краткий обзор трех основных типов рекомендательных систем: методы, основанные на содержании, совместная фильтрация и гибридные модели. Я также представил недавнюю модель модной компании Lyst под названием Light FM, которая объединяет метаданные продукта, информацию о клиентах и ​​историю транзакций через скрытое пространство, чтобы предлагать рекомендации для клиентов.

Что мне понравилось в Light FM, так это то, что он использует всю доступную информацию от клиентов, продуктов и транзакций для выработки рекомендаций. Поскольку статья Lyst немного скрывает математику (если у вас нет математического образования), я думаю, что имеет смысл объяснить модель интуитивно.

Для простоты предположим, что мы хотим создать систему рекомендаций для фильмов (аналогичную Netflix). Модель Light FM требует от нас трех вещей:

  • информация о наших фильмах. Например, год выпуска, исполнитель главной роли или актриса, жанр.
  • информация о наших клиентах. Например, возраст, пол, гражданское положение.
  • информация о фильмах, которые смотрели заказчики. Салли смотрела мама!? »

Учитывая эти три части информации, Light FM может дать рекомендации. Основанная на содержании часть здесь связана с первыми двумя пунктами. Мы представляем фильмы и клиентов с набором отличительных черт. Мы используем эти функции для описания элементов, аналогично системе, основанной на содержании. Третий пункт - это компонент совместной фильтрации (CF). Модели CF, как правило, работают хорошо, даже если у нас нет информации о наших продуктах или клиентах, при условии, что у нас есть тонны данных о транзакциях. Но в случае нового веб-сайта транзакций всего несколько, и фильтры CF, как правило, работают плохо (то есть проблема холодного запуска).

Так как же модель Light FM объединяет эти три части информации?

В обычной модели CF мы «обнаруживаем» скрытые особенности, которые характеризуют каждый фильм, на основе взаимодействий между клиентом и фильмом (которые мы собираем в вектор, называемый m), и мы «обнаруживаем» сродство каждого клиента к каждой обнаруженной скрытой функции ( который мы собираем в вектор с названием c). Это делается с помощью процесса, называемого факторизацией неотрицательной матрицы (NMF). Оценка сопряжения, присвоенная паре «заказчик и фильм», измеряется просто как косинусное сходство (в основном перекрытие) между векторами m и c.

Процедура NMF является примером модели встраивания. Модель внедрения находит в данных скрытую (или скрытую) структуру. Итак, NMF может обнаружить, что Дэдпул на 30% состоит из боевика, на 30% из супергероя и на 40% из комедии, и что Салли нравится на 10% боевик, на 20% супергерой и на 70% комедия. Тогда оценка Салли-Дэдпул - это совпадение двух векторов. Рекомендации по фильмам для Салли можно получить, вычислив сходство скрытых функций Салли со всеми фильмами, а затем выбрав пять фильмов с наибольшим сходством.

В случае Light FM, вместо того, чтобы напрямую находить скрытые представления фильмов и клиентов, мы получаем скрытое представление каждой функции для каждого фильма и каждого клиента. Следуя этой идее, скрытое представление фильма - это просто сумма скрытых представлений его особенностей. Точно так же для клиентов мы просто добавляем скрытые представления характеристик клиента, чтобы получить скрытое представление для клиента. Оценка пары фильм-заказчик - это опять же косинусное сходство скрытых представлений фильма и покупателя.

Например, если мы определим только три функции для нашего набора фильмов, скажем пугливость, забавность и «драматичность» (которые измеряются от -1 до 1), модель Light FM * может * обнаружить скрытые особенности, которые (1) относятся к цветовому профилю фильма (скажем, -1 - монохромный, а 1 - супер красочный) и (2) относятся к количеству смертей в фильме (опять же, -1 для отсутствия смертей и 1 для многих смертей).

Предположим, что мы скармливаем модели данные, которые у нас есть, и ждем, пока она закончит работу. Затем модель может сделать вывод, что скрытое представление для пугливости составляет (-0,8, 0,9), поскольку в фильмах ужасов обычно очень приглушенные цвета и много смертей, для забавности (0,9, -0,7) и для драматичности (0,6, 0,9). .

Так, например, Before Sunrise с точки зрения его характеристик может быть дано представление (0, 0,5, 0,8). Итак, его скрытое представление в терминах Light FM - это взвешенная сумма скрытых векторов его характеристик. То есть 0 * (- 0,8, 0,9) + 0,5 * (0,9, -0,7) + 0,8 * (0,6, 0,9) = (0,93, 0,37). Таким образом, кажется, что, судя по нашим представлениям, Before Sunrise довольно красочны и не содержат много смертей.

Мы можем сделать то же самое для пользователей. Характеристики каждого пользователя представлены в виде скрытого вектора, который содержит близость пользователя к цвету и смерти. Затем пользователь представляется как сумма скрытых векторов каждой из его функций.

Таким образом, мы можем измерить близость пользователя к определенному фильму, получив косинусное сходство их скрытых представлений.

Первоначально опубликовано на сайте datameetsmedia.com 24 мая 2018 г.