Рекомендация в Mahout без отрицательных значений предпочтения

У меня вопрос о значении значений предпочтений в Mahout. Из книги Mahout в действии говорится, что:

Значение предпочтения может быть любым, главное, чтобы более высокие значения означали более сильные положительные предпочтения. Например, эти значения могут быть оценками по шкале от 1 до 5, где 1 указывает на элементы, которые пользователь не выносит, а 5 указывает на избранное.

Означает ли это, что рекомендатель всегда будет интерпретировать меньшие значения как отрицательные предпочтения (не симпатии)?

Я пытаюсь создать рекомендателя, где нет отрицательных предпочтений. Я имею в виду, что у меня вообще нет предпочтений, но я могу вывести их на основе различных взвешенных показателей (количество кликов/редактирований, объем редактирования, способ редактирования и т. д.). Однако в моей реализации, когда пользователь отредактировал какую-то страницу, это не означает, что пользователю эта страница не нравится, но в некоторой степени она ему нравится (и сила симпатии определяется, как я описал выше).

Я пытался использовать только логические предпочтения (логарифмическое правдоподобие и сходство Танимото), но они не работают хорошо, и в большинстве случаев они не могут дать рекомендацию (более 50%).

Я хочу воспользоваться имеющимися числами, чтобы вывести предпочтения, чтобы рекомендации были лучше, но я не уверен, как это сделать. Я попытался получить значения предпочтений, полученные, как указано выше, от 5 до 10, а затем каждый пользователь имел значение предпочтения 1 для искусственного предмета (что означает, что он ему не нравится). Однако я считаю, что это не очень хороший подход, поскольку это будет означать, что каждому пользователю не нравится один и тот же элемент.

Есть ли у кого-нибудь лучшее представление о том, как я могу применить некоторые алгоритмы на основе пользователей и элементов, имеющие только «положительные» (понравившиеся) значения предпочтений?


person Dragan Milcevski    schedule 25.06.2013    source источник
comment
вы можете попробовать пакеты рекомендаций в R.   -  person Swamy    schedule 25.06.2013
comment
Я не понял твоего предложения. каковы пакеты рекомендаций в R? Вы имеете в виду алгоритмы в пакете: org.apache.mahout.cf.taste.recommender?   -  person Dragan Milcevski    schedule 25.06.2013


Ответы (2)


Ты должен попытаться:

  • неявное предпочтение ParallelALSFactorizationJob (на основе Hadoop)
  • Или неявное предпочтение ALSWRFactorizer рядом с SVDRecommender (не основанное на хадупе) (я думаю, что этот вариант неявного предпочтения без хадупа доступен только в mahout-0.8),

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

Эта презентация (ссылка) должна дать вам приблизительное представление о том, что это происходит. Также в этой статье (ссылка) описывается вариант факторизаторов с неявной обратной связью. (они одинаковые, один просто предназначен для масштабирования с помощью Hadoop)

person Julian Ortega    schedule 25.06.2013
comment
Спасибо Юлиан за подсказку. Я обязательно попробую это. Не могли бы вы просто прислать мне ссылку на газету, о которой вы говорите? (В вашем ответе нет ссылки) - person Dragan Milcevski; 25.06.2013
comment
Кстати, что касается количества сгенерированных рекомендаций, как указал Шон, это, вероятно, результат слишком скудных данных, а не используемых значений. - person Julian Ortega; 25.06.2013
comment
Спасибо, я знаю эту газету. Думаю, он был опубликован до того, как BellKor получил приз NetFlix. В любом случае, я думал, что мне следует использовать SVD, но сначала я хотел попробовать более традиционные алгоритмы. - person Dragan Milcevski; 25.06.2013

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

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

Остальное я не уверен, что понимаю. Используемые значения зависят от вашего домена. Я бы сделал их пропорциональными их «силе» или ценности. Например, если просмотры видео происходят в 20 раз чаще, чем видео, вы можете сделать ценность видео как действия в 20 раз выше, чем клик. Это достойное место для начала.

person Sean Owen    schedule 25.06.2013
comment
Спасибо, Шон, я просто хотел узнать, интерпретирует ли Mahout наименьшее (или меньше среднего) значение предпочтения как неприязнь, а самое большое (или больше среднего) значение как избранное. Однако я не получил вашу последнюю часть. Вы говорите, что акции должны иметь больший вес, чем клики в этом примере при получении значений предпочтения? (если кликов больше, чем репостов)? Я думал наоборот. Если пользователь видел это движение больше раз, оно ему нравится больше, но если он поделился им только один раз (может быть, обмен не является хорошим примером для моего случая), сила в этом случае меньше. - person Dragan Milcevski; 25.06.2013
comment
Что ж, большие значения, конечно, должны означать более сильную или более положительную ассоциацию. Ни одно конкретное значение не имеет особого абсолютного значения. Много кликов может означать больше, чем один репост, да. Я предполагаю, что, например, одна акция означает больше, чем один клик. Это зависит от вас, чтобы смоделировать и оценить. - person Sean Owen; 25.06.2013
comment
Да, теперь я понимаю, что имею в виду. Большое спасибо :) - person Dragan Milcevski; 25.06.2013
comment
Я только что узнал о вашем недавнем проекте Muyrrix, и из того, что я читал, он больше подходит для моих нужд. Он работает только с положительными ассоциациями пользователя и элемента, а не со значениями предпочтений. Он основан на неявной обратной связи, а не на явных предпочтениях. (Ну, там сказано, что можно использовать и явные рейтинги, но мне нужна неявная обратная связь). И, как я вижу, некоторые мысли, которые Ю. Корен упоминает в своих статьях, соответствуют рекомендациям Джулиана. Большое спасибо за работу. Я очень ценю это. - person Dragan Milcevski; 04.07.2013