рекомендация mahout с 3 столбцами без предпочтений

Я должен рекомендовать видео пользователям. У меня есть файл csv, содержащий userId, videoId, productId. Под идентификатором продукта присутствует много похожих видео. Нравиться:

идентификатор пользователя, идентификатор видео, идентификатор продукта

1 2 1

1 3 1

1 5 2

2 7 2

2 8 1

2 2 1

для большей ясности я снова факторизую это:

отношения пользователя и видео:

идентификатор пользователя

1 2

1 3

1 5

2 7

2 8

2 2

рассмотрим пользователя и видео: как мы видим, пользователь 1 похож на пользователя 2 на основе видеоидентификатора 2, поэтому я рекомендую пользователю 1 посмотреть видео 7 и 8. просто :)

Но суть в том, что фактический продукт и видеоданные выглядят следующим образом:

идентификатор продукта

2 1

3 1

5 2

7 2

8 1

2 1

4 1

6 1

видео 4 и 6 также подпадают под productid 1. Подумайте, если пользователь 1 придет и увидит videoid 2, мне придется рекомендовать 7,8 (на основе похожего пользователя) и 4,6 (на основе похожего видео для того же продукта, но отсутствует в фактическом csv).

Мой вопрос:

  1. мне нужно факторизовать csv.

  2. какой лучший алгоритм для этого.

3. после получения видео результатов, как их ранжировать


person ricky    schedule 07.11.2014    source источник


Ответы (1)


Что вы хотите порекомендовать, продукт или видео? Выбери одно и выбрось другое, я не вижу в этом смысла. Рекомендации будут возвращены упорядоченными и с расчетным весом предпочтения.

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

Mahout 1.0 имеет совершенно другой механизм, который может рекомендовать анонимным или новым пользователям, если у вас есть некоторые данные о предпочтениях для них. Эти данные не обязательно должны быть в модели, построенной Mahout. Этот метод требует использования поисковой системы, такой как Solr или Elasticsearch.

Документы Mahout: http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html

Пресо, которое я собрал: http://www.slideshare.net/pferrel/unified-recommender-39986309

person pferrel    schedule 08.11.2014
comment
Хочу порекомендовать видео. - person ricky; 09.11.2014
comment
Тогда вам не нужен идентификатор продукта, верно? Используйте логический рекомендатель данных. Наличие данных означает, что пользователь выразил положительное предпочтение. - person pferrel; 10.11.2014