Типы данных в рекомендательных системах

Есть два способа сбора данных для создания рекомендательных систем — явный и неявный. Мы поговорим об обоих типах данных, их характеристиках и проблемах с ними.

Явные наборы данных обратной связи

Словарное значение слова «явный» заключается в том, чтобы сформулировать четко и подробно. Явные данные обратной связи, как следует из названия, представляют собой точное число, которое пользователь дает продукту. Некоторыми примерами явной обратной связи являются рейтинги фильмов пользователями на Netflix, рейтинги продуктов пользователями на Amazon. Явная обратная связь учитывает мнение пользователя о том, понравился или не понравился продукт. Явные данные обратной связи поддаются количественной оценке.

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

Проблемы с явными данными обратной связи

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

Явные отзывы сложно получить, так как они требуют дополнительного ввода от пользователей. Им нужна отдельная система для сбора данных такого типа. Затем вы должны решить, следует ли вам использовать рейтинги или вариант «нравится / не нравится» для сбора отзывов. У каждого свои достоинства/недостатки.

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

Есть еще одна проблема с явными оценками. Люди оценивают фильмы/предметы по-разному. Некоторые снисходительны к своим рейтингам, в то время как другие тщательно относятся к тому, какие рейтинги они дают. Вы также должны позаботиться о предвзятости оценок пользователей.

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

Теперь мы понимаем явную обратную связь и некоторые связанные с ней проблемы. В рекомендательных системах существует еще один тип данных обратной связи — неявная обратная связь. Давайте поговорим о них.

Неявные наборы данных обратной связи

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

Примеры неявных наборов данных обратной связи включают историю просмотра, клики по ссылкам, подсчет количества воспроизведений песни, процент прокрутки веб-страницы — 25%, 50% или 75% или даже движение вашей мыши.

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

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

Давайте поговорим о некоторых уникальных характеристиках наборов данных неявной обратной связи:

  1. Отрицательные предпочтения не измеряются напрямую
    В отличие от явной обратной связи, когда пользователь дает плохую оценку элементу, который ему/ей не нравится, у нас нет прямого способа измерить интерес Пользователь. Повторное действие в пользу пункта — например. прослушивание Fix You от Coldplay дает нам уверенность в том, что пользователю нравится эта песня, и мы можем порекомендовать ему похожую песню. Однако отсутствие счетчика прослушиваний для песни не означает, что пользователю не нравится этот элемент — может быть, пользователь даже не знает о существовании песни. Таким образом, нет никакого способа измерить негативное предпочтение напрямую.
  2. Числовое значение неявной обратной связи означает уверенность в том, что элемент нравится пользователю. Например, если бы я слушал Coldplay большее количество раз, чем Pink Floyd на Youtube, система с большей уверенностью сделала бы вывод о моей симпатии к Coldplay.
  3. Очень много зашумленных данных, о которых нужно позаботиться
    Прежде чем вы действительно сможете получить стоящие данные для моделирования, вам нужно провести большую фильтрацию. То, что я купил вещь, не означает, что она мне понравилась — может быть, я купил ее для друга или, может быть, вещь мне вообще не понравилась после покупки. Чтобы справиться с такими проблемами, мы можем рассчитать достоверность, связанную с предпочтениями пользователей в отношении элементов. Прочтите эту прекрасную статью, чтобы получить представление о том, как включить уверенность в данные обратной связи — Совместная фильтрация наборов данных неявной обратной связи.
  4. Отсутствующие значения
    Наборы данных явных отзывов трудно собрать, поэтому многие значения отсутствуют, и мы приступаем к моделированию с любыми оставшимися оценками, которые у нас есть, игнорируя отсутствующие значения. В то время как в неявной обратной связи мы присваиваем отсутствующие значения как 0, указывающие на отсутствие действий со стороны пользователя — нет покупки или песня не прослушана.
  5. Оценка моделей неявной обратной связи требует соответствующих мер
    С явной обратной связью — например. рейтинги фильмов в данных Netflix, можно использовать RMSE (среднеквадратическую ошибку) в качестве метрики, чтобы увидеть, насколько прогнозируемые рейтинги далеки от наблюдаемых рейтингов в тестовом наборе данных. При неявной обратной связи такой показатель недоступен. Мы работаем с другими метриками, такими как показатели поддержки принятия решений на основе — точность, полнота или метрики на основе рангов, такие как MRR (средний обратный ранг), NDCG. (нормированный дисконтированный кумулятивный прирост), точность@k.

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

Итак, у нас есть типы данных, с которыми мы обычно имеем дело при построении рекомендательных систем. Позвольте мне знать ваши мысли!