Мы все знаем о подкастах, которые указаны в некоторых популярных приложениях, таких как Spotify, Apple podcast, google podcast и т. д. Прежде чем перейти непосредственно к теме, позвольте мне сказать, что такое подкаст, система рекомендаций.

Что такое подкаст:

Подкаст — это часть информации, в которой говорится о новостях, комедиях, бизнесе и т. д. Это эпизодическая серия цифровых аудиофайлов с произнесением слов, которые пользователь может загрузить на персональное устройство для удобного прослушивания. Потоковые приложения и службы подкастинга предоставляют удобный интегрированный способ управления личной очередью потребления на многих источниках подкастов и устройствах воспроизведения.

Что такое система рекомендаций?

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

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

Системы рекомендаций быстро становятся для пользователей основным способом ознакомления со всем цифровым миром посредством опыта, поведения, предпочтений и интересов. А в мире плотности информации и перегруженности продуктов механизм рекомендаций предоставляет компаниям эффективный способ предоставления потребителям персонализированной информации и решений.

Netflix, YouTube, Amazon, Spotify — примеры рекомендательных систем.

Небольшой словарный запас:

Рейтинг: это выражение предпочтений. Рейтинг бывает 2-х видов:

  • Явная оценка: существует явная оценка, которую пользователь формулирует (непосредственно от пользователя), т. е. явное выражение того, насколько пользователю нравится конкретная вещь и оценивает ее. Нетфликс тому пример.
  • Неявная оценка: когда человек начинает листинг подкаста в приложении и заканчивает его до того, как он завершится, и больше никогда не возвращается. Разумно было понять, что человеку не понравилось то, что он услышал. Основываясь на поведении людей, мы можем сделать вывод, насколько им нравится тот или иной подкаст в приложении. Например, Spotify.

Прогноз. Прогноз – это оценка предпочтений того, насколько, по нашему мнению, им понравятся товары. Обычно предметы, которые они не видели в прошлом. Чтобы рекомендовать другие элементы на основе предыдущих предпочтений.

Типы систем рекомендаций:

Существует 4 основных типа рекомендательных систем, а именно:

  • Рекомендация, основанная на знаниях
  • Контентная фильтрация
  • Совместная фильтрация
  • Смешанная рекомендация

Рекомендация, основанная на знаниях-

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

Контентная фильтрация-

Контентная фильтрация основана на взаимодействии отдельных пользователей и выборе предпочтений. Рекомендации даются по метаданным, собранным из пользовательской истории и взаимодействий. Контент — это атрибуты или текст в подкасте или о нем. Для новостной статьи это заголовок, название и синопсис.

Рассмотрим пример Spotify. Они сохраняют всю информацию, относящуюся к каждому пользователю, в векторной форме. Вектор содержит прошлое поведение пользователя, то есть тип подкаста, который он слушает в основном, например, TED Talks Daily, Modern Love, Sadhguru… и следит за ними. Этот вектор известен как вектор профиля. Вся информация, связанная с подкастом, хранится в векторе элементов. Вектор элемента содержит детали вектора профиля, скажем, TED Talks Daily, тогда вектор элемента — это спикер.

Косинусное сходство. Алгоритм фильтрации на основе контента находит косинус угла между вектором профиля и вектором элемента, т. е. косинусное сходство. Предположим, что A — вектор профиля, а B — вектор элемента, тогда сходство между ними можно рассчитать как:

Евклидово расстояние. Подобные элементы будут находиться в непосредственной близости друг от друга, если они нанесены на график в n-мерном пространстве. Таким образом, мы можем рассчитать расстояние между элементами и на основе этого расстояния рекомендовать элементы пользователю. Формула евклидова расстояния:

Корреляция Пирсона. Она говорит нам, насколько сильно коррелируют два элемента. Чем выше корреляция, тем больше будет сходство.

Совместная фильтрация —

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

Механизм рекомендаций подкастов является примером совместной фильтрации с использованием неявных данных.

Совместная фильтрация пользователей-пользователей: -

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

Совместная фильтрация по элементам:

Он очень похож на предыдущий алгоритм, но вместо того, чтобы искать двойника клиента, мы пытаемся найти похожий товар. Когда у нас есть матрица сходства товаров, мы можем легко рекомендовать похожие товары покупателю, который прослушал любой товар в магазине. Этот алгоритм требует гораздо меньше ресурсов, чем совместная фильтрация пользователей. Следовательно, для нового клиента алгоритм занимает гораздо меньше времени, чем совместная работа пользователей, поскольку нам не нужны все оценки сходства между клиентами. Spotify использует этот подход в своем механизме рекомендаций, чтобы показывать связанные подкасты, которые могут их заинтересовать.

Гибридные системы рекомендаций:

Сочетание совместной и контентной рекомендации может быть более эффективным. Гибридные подходы могут быть реализованы путем раздельного создания прогнозов на основе контента и на основе сотрудничества, а затем их объединения. Кроме того, добавляя возможности на основе контента к подходу, основанному на сотрудничестве, и наоборот; или путем объединения подходов в одну модель.

Создание рекомендаций:

Вычисление рекомендаций в основном состоит из двух этапов. На первом этапе мы строим модель интересов пользователей на основе данных «неявной обратной связи», где мы наблюдаем только показатели взаимодействия пользователей с элементами (т. е. подписки). Мы представляем эти неявные данные обратной связи в виде двоичной матрицы. например, их прошлые подкасты или их любимые списки (те, кто не знаком с матрицами и линейной алгеброй, см., например, этот обзор). Модели обеспечивают векторное представление пользователей и элементов, а их внутренние продукты дают оценку уровня интереса пользователя к элементу (более высокие значения означают большую степень предполагаемого интереса). На втором этапе мы вычисляем рекомендации, находя набор элементов для каждого пользователя, который приблизительно максимизирует оценку интереса.

Модель пользователей и предметов можно использовать и по-другому, например, для поиска пользователей со схожими интересами, предметов, похожих с точки зрения «вкуса», предметов, которые дополняют друг друга и могут быть прослушаны и т. д. случай, когда пользователю понравился элемент (т. е. он подписался на него) или ноль, если нет. Нули не обязательно указывают на то, что пользователь не заинтересован в этом элементе, а только на то, что он до сих пор не проявлял интереса. Это может быть связано с незаинтересованностью или безразличием, или с тем, что пользователь еще не видел этот элемент во время просмотра. При выработке рекомендаций необходимо подогнать модель пользователей и элементов к данным.

Матричная факторизация:

Модели матричной факторизации заключаются в том, что сходство между пользователем и элементом объясняется низкоразмерной линейной моделью. Это означает, что каждый элемент и пользователь действительно соответствуют ненаблюдаемому реальному вектору некоторой малой размерности. Координаты пространства соответствуют скрытым характеристикам элементов (это может быть что-то вроде того, является ли элемент TED Talks Daily, был ли это Дин Фернесс и т. д.), элементы вектора пользователя описывают предпочтения пользователя. Мы можем объединить эти векторы в матрицы, одну для пользователей и одну для элементов, тогда наблюдаемые данные теоретически генерируются путем произведения этих двух неизвестных матриц и добавления шума:

Поэтому мы находим векторное представление для каждого пользователя и каждого элемента. Мы вычисляем эти векторы таким образом, что внутренний продукт между вектором пользователя и вектором элемента будет аппроксимировать наблюдаемое значение в неявной матрице обратной связи (т. е. он будет близок к единице в случае, если пользователь следует за этим элементом, и близок к нулю, если он этого не сделал). т)

Чередование метода наименьших квадратов:

Исходная матрица R размера u x i с нашими пользователями, элементами и некоторыми типами данных обратной связи. Матрица с пользователями размера u x f и скрытыми функциями размера f x i. В U и V у нас есть веса для того, как каждый пользователь/элемент относится к каждой функции. Мы вычисляем U и V так, чтобы их произведение максимально приближало R: R ≈ U x V.

Случайным образом назначая значения U и V и итеративно используя метод наименьших квадратов, мы можем прийти к тому, какие веса дают наилучшее приближение R. Метод наименьших квадратов в его основных формах означает подгонку некоторой линии к данным, измеряя сумму квадратов расстояний. от всех точек до линии и пытаясь получить оптимальное соответствие, минимизируя это значение.

В методе чередующихся наименьших квадратов мы используем ту же идею, но итеративно чередуем оптимизацию U и фиксацию V и наоборот. Мы делаем это для каждой итерации, чтобы приблизиться к R = U x V.

Мы принимаем отсутствующие значения как отрицательное предпочтение с низким значением достоверности, а существующие значения — как положительное предпочтение, но с высоким значением достоверности. Мы можем использовать что-то вроде количества игр, времени, проведенного на странице, или какую-либо другую форму взаимодействия в качестве основы для расчета нашей уверенности.

Пуй является предпочтительным бинарным представлением данных обратной связи r.

Cui — это достоверность, рассчитанная с использованием величины r. Скорость, с которой увеличивается наша уверенность, устанавливается с помощью коэффициента линейного масштабирования α. Мы также добавляем 1, чтобы иметь минимальную уверенность, даже если α x r равно нулю.

Чтобы найти вектор для каждого пользователя (xu) и элемента (yi) в измерениях объектов, это означает, что мы хотим минимизировать следующую функцию потерь:

Для вычисления сходства используется скалярное произведение

Чтобы рассчитать рекомендательный балл для каждого пользовательского элемента:

С какими общими проблемами сталкивается система рекомендаций?

  1. Разреженность данных. Наборы данных заполнены строками и строками значений, которые содержат пробелы или нулевые значения. Поэтому поиск способов использования более плотных частей набора данных и тех, которые содержат информацию, имеет решающее значение.

2. Масштабируемость. Традиционный подход перегружен множеством продуктов и клиентов. Это становится проблемой по мере расширения наборов данных и может привести к снижению производительности.

Преимущества системы рекомендаций по продуктам:

Есть два основных преимущества использования рекомендательного механизма: доход и удовлетворенность клиентов.

Доход. Доход зависит от удовлетворенности клиентов, например, когда клиенту нравится элемент, он просматривает больше элементов, связанных с этим подкастом, благодаря чему доход может увеличиться.

Удовлетворенность клиентов. Часто клиенты обращают внимание на рекомендацию подкаста с момента последнего просмотра. В основном потому, что они думают, что найдут для себя лучшие возможности для просмотра подкаста. Когда они покидают приложение и возвращаются позже; было бы полезно, если бы их данные просмотра из предыдущего сеанса были доступны. Этот тип удовлетворенности клиентов приводит к их удержанию.

Открытие. Например, функция «Гениальные рекомендации» в iTunes, «Часто покупаемые вместе» на Amazon.com дает неожиданные рекомендации, похожие на то, что нам уже нравится. Людям обычно нравится, когда им рекомендуют то, что им нравится, и когда они используют сайт, который может очень точно соответствовать его / ее выбору, тогда он / она обязательно посетит этот сайт снова.

Предоставление отчетов. Предоставляет информацию о том, какие типы подкастов интересуют клиента и сколько похожих типов подкастов они проверили (наименее рассматриваемые элементы).

В настоящее время Spotify, подкасты Apple являются самыми популярными.

Предложения приветствуются. Не стесняйтесь хлопать. Это способ поощрения за написание блогов.

Ссылки:

https://medium.com/radon-dev/als-implicit-collaborative-filtering-5ed653ba39fe

https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guide-recommendation-engine-python/