Как правильно увеличить модель рекомендации по использованию? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть поток пар пользователь-элемент, я держу блок на основе последних 6M записей и обновляю его каждую минуту.Мне не нравится, что между этими перестройками некоторые важные данные могут быть не использованы.Например, новый пользователь присоединился к системе, но модель еще не знает о нем.Я нашел класс PlusAnonymousConcurrentUserDataModel , который позволяет добавить несколько записей в модель и получить более точные рекомендации.Документация предлагает еще более ограниченный сценарий использования: я должен:

  • выделить временного пользователя
  • добавить дополнительные данные
  • получить рекомендацию
  • изатем освободите пользователя и дополнительные данные

Можно ли использовать этот класс для итеративного сбора данных, пока модель не будет фактически перестроена по таймеру?Как правильно это сделать?Кажется, что PlusAnonymousConcurrentUserDataModel немного для разных целей.

1 Ответ

0 голосов
/ 17 ноября 2018

Эта часть Махута очень стара, и она устарела.Я думаю, что это даже не в сборке 0.14.0, вам придется строить из исходного кода.

Mahout теперь использует совершенно новую технологию для рекомендаций.Новый алгоритм называется Коррелированное перекрестное вхождение (CCO).Старый метод, который вы используете, не использует ввод в реальном времени, как вы обрисовали.CCO может рекомендовать анонимным пользователям, которые не были встроены в модель, при условии, что для них есть данные о поведении в той или иной форме.

Архитектура для реализации CCO требует хранилища данных в БД и механизма KNN (поисковая система) для выполнения запросов модели.Все они упакованы вместе в Apache PredictionIO + шаблон Universal Recommender .

Поддержка сообщества для самого Universal Recommender может быть найдена здесь: https://groups.google.com/forum/#!forum/actionml-userили в списках рассылки других проектов.

...