2012-01-20 2 views
1

Я новичок в Mahout, поэтому, пожалуйста, извините меня, если я задаю что-то тривиальное. Я хотел бы реализовать рекомендации, но проблема, которую я пытаюсь решить, нелегкая. У меня есть элементы с рейтингами, принадлежащими к разным категориям (назовем их CATA, CATB ...). Пользователи могут получать рекомендации только для категории, в которой они находятся. Существуют тысячи категорий, но каждая категория имеет всего лишь сто элементов.Рекомендации Mahout с категориями

поэтому, если Пользователь1 дал 2-звездочную цену на элемент в CATA и 3 звезды в CATB, если User2 дал 3 звезды на одном и том же элементе в CATA, тогда, когда он в CATB, я хочу получить рекомендацию. Можно ли добиться этого легко? Может ли он работать в режиме реального времени или должен быть пакетной обработки?

ответ

0

Я не совсем уверен, что вы просите, но, я думаю, вы хотите просто запускать рекомендации как обычно и полностью игнорировать категорию. Затем, когда вы вызываете Recommender.recommend(), перейдите в реализацию Rescorer, которая возвращает NaN за все, кроме категории, которую вы хотите порекомендовать.

+0

Можно ли оптимизировать вещи, уменьшающие категории, на которые нужно смотреть? – Matroska

+0

Rescorer увеличит время вычисления? в то время как я хочу добиться обратного? Может быть, создать функцию подобия пользователя, которая считает пользователя подобным, если он уже купил что-то в той же категории? – Matroska

+0

Если вы реализуете 'IDRescorer.isFiltered()', вы увеличите производительность, так как он даже не заберет кандидатов, которые вы исключаете для начала. –

Смежные вопросы