Кросс-объекты Mahout, рекомендации с несколькими входами

У меня есть несколько логических наборов данных, например:

Books:

book_id   user_id
1         1
2         1
3         1
3         2
3         3

а также

Movies:

movie_id  user_id
1         1
1         2
1         3
2         5

Это означает, что user_id представляет один и тот же объект во всех наборах данных (идентификатор пользователя: 1 из книг — это тот же идентификатор пользователя: 1 из фильмов).

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

Нравиться:

input: [movie1_id, movie2_id, book1_id]
result: [user1_id, user5_id ..]

Идентификаторы сущностей (книг и фильмов) не уникальны, поэтому мы храним эти наборы данных отдельно (в таблицах БД, и я использую BooleanPref);

Понятно, как получить рекомендацию по объекту, например, GenericBooleanPrefItemBasedRecommender.

Можно ли справиться с этим с помощью Mahout (точнее, 0.9) и иметь такие рекомендации с несколькими входами?

Спасибо!


person There Are Four Lights    schedule 17.07.2014    source источник


Ответы (1)


Итак, вы рекомендуете пользователям фильмы. Фильмы — это «пользователи» в модели, а пользователи — это «элементы». Вы можете использовать любой алгоритм для решения такой проблемы с рекомендациями.

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

person Sean Owen    schedule 17.07.2014
comment
Спасибо, Шон, это именно то, что я имею в виду, и мне просто интересно, есть ли лучшие решения, предоставленные самим Mahout для этого. - person There Are Four Lights; 18.07.2014